Some of my closed PRs (#172)

* update

* fix

* make duplicateModuleNames default False
This commit is contained in:
SodaXwX
2022-11-07 15:59:17 +08:00
committed by GitHub
parent a27f383b06
commit bb7c6f016f
7 changed files with 112 additions and 22 deletions

View File

@@ -1,13 +1,9 @@
package anticope.rejects.utils;
import meteordevelopment.meteorclient.settings.EnumSetting;
import meteordevelopment.meteorclient.settings.ModuleListSetting;
import meteordevelopment.meteorclient.settings.Setting;
import meteordevelopment.meteorclient.settings.SettingGroup;
import meteordevelopment.meteorclient.settings.*;
import meteordevelopment.meteorclient.systems.config.Config;
import meteordevelopment.meteorclient.systems.modules.Module;
import java.util.Arrays;
import java.util.List;
public class ConfigModifier {
@@ -27,12 +23,30 @@ public class ConfigModifier {
public final Setting<List<Module>> hiddenModules = sgRejects.add(new ModuleListSetting.Builder()
.name("hidden-modules")
.description("Which modules to hide.")
.defaultValue(Arrays.asList())
.defaultValue(List.of())
.defaultValue(RejectsConfig.get().getHiddenModules())
.onChanged(v -> RejectsConfig.get().setHiddenModules(v))
.build()
);
public final Setting<Boolean> loadSystemFonts = sgRejects.add(new BoolSetting.Builder()
.name("load-system-fonts")
.description("Disabling this for faster launch. You can put font into meteor-client/fonts folder. Restart to take effect.")
.defaultValue(true)
.defaultValue(RejectsConfig.get().loadSystemFonts)
.onChanged(v -> RejectsConfig.get().loadSystemFonts = v)
.build()
);
public final Setting<Boolean> duplicateModuleNames = sgRejects.add(new BoolSetting.Builder()
.name("duplicate-module-names")
.description("Allow duplicate module names. Best for addon compatibility.")
.defaultValue(false)
.defaultValue(RejectsConfig.get().duplicateModuleNames)
.onChanged(v -> RejectsConfig.get().duplicateModuleNames = v)
.build()
);
public static ConfigModifier get() {
if (INSTANCE == null) INSTANCE = new ConfigModifier();
return INSTANCE;

View File

@@ -1,22 +1,20 @@
package anticope.rejects.utils;
import meteordevelopment.meteorclient.MeteorClient;
import meteordevelopment.meteorclient.systems.System;
import meteordevelopment.meteorclient.systems.modules.Module;
import meteordevelopment.meteorclient.systems.modules.Modules;
import meteordevelopment.meteorclient.MeteorClient;
import meteordevelopment.meteorclient.utils.render.prompts.OkPrompt;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.nbt.NbtList;
import net.minecraft.nbt.NbtString;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class RejectsConfig extends System<RejectsConfig> {
private static final RejectsConfig INSTANCE = new RejectsConfig();
@@ -28,7 +26,9 @@ public class RejectsConfig extends System<RejectsConfig> {
}
public HttpAllowed httpAllowed = HttpAllowed.Everything;
public Set<String> hiddenModules = new HashSet<String>();
public Set<String> hiddenModules = new HashSet<>();
public boolean loadSystemFonts = true;
public boolean duplicateModuleNames = false;
public RejectsConfig() {
super("rejects-config");
@@ -43,10 +43,10 @@ public class RejectsConfig extends System<RejectsConfig> {
public void setHiddenModules(List<Module> newList) {
if (newList.size() < hiddenModules.size()) {
OkPrompt.create()
.title("Hidden Modules")
.message("In order to see the modules you have removed from the list you need to restart Minecraft.")
.id("hidden-modules-unhide")
.show();
.title("Hidden Modules")
.message("In order to see the modules you have removed from the list you need to restart Minecraft.")
.id("hidden-modules-unhide")
.show();
}
hiddenModules.clear();
for (Module module : newList) {
@@ -58,7 +58,7 @@ public class RejectsConfig extends System<RejectsConfig> {
public List<Module> getHiddenModules() {
Modules modules = Modules.get();
if (modules == null) return Arrays.asList();
if (modules == null) return List.of();
return hiddenModules.stream().map(modules::get).collect(Collectors.toList());
}
@@ -66,6 +66,8 @@ public class RejectsConfig extends System<RejectsConfig> {
public NbtCompound toTag() {
NbtCompound tag = new NbtCompound();
tag.putString("httpAllowed", httpAllowed.toString());
tag.putBoolean("loadSystemFonts", loadSystemFonts);
tag.putBoolean("duplicateModuleNames", duplicateModuleNames);
NbtList modulesTag = new NbtList();
for (String module : hiddenModules) modulesTag.add(NbtString.of(module));
@@ -77,6 +79,8 @@ public class RejectsConfig extends System<RejectsConfig> {
@Override
public RejectsConfig fromTag(NbtCompound tag) {
httpAllowed = HttpAllowed.valueOf(tag.getString("httpAllowed"));
loadSystemFonts = tag.getBoolean("loadSystemFonts");
duplicateModuleNames = tag.getBoolean("duplicateModuleNames");
NbtList valueTag = tag.getList("hiddenModules", 8);
for (NbtElement tagI : valueTag) {

View File

@@ -2,6 +2,8 @@ package anticope.rejects.utils;
import anticope.rejects.utils.seeds.Seeds;
import meteordevelopment.meteorclient.MeteorClient;
import meteordevelopment.meteorclient.systems.modules.Module;
import meteordevelopment.meteorclient.systems.modules.Modules;
import meteordevelopment.meteorclient.utils.PostInit;
public class RejectsUtils {
@@ -13,4 +15,15 @@ public class RejectsUtils {
Seeds.get().save(MeteorClient.FOLDER);
}));
}
public static String getModuleName(String name) {
int dupe = 0;
for (Module module : Modules.get().getAll()) {
if (module.name.equals(name)) {
dupe++;
break;
}
}
return dupe == 0 ? name : getModuleName(name + "*".repeat(dupe));
}
}