Update to newest dev version - fixes #92

This commit is contained in:
SIMULATAN
2022-01-06 16:41:43 +01:00
committed by Cloudburst
parent b1fa434a9c
commit 502b2c2738
11 changed files with 89 additions and 57 deletions

View File

@@ -1,46 +1,18 @@
package anticope.rejects.mixin.meteor;
import anticope.rejects.utils.ConfigModifier;
import anticope.rejects.utils.RejectsConfig;
import meteordevelopment.meteorclient.gui.tabs.builtin.ConfigTab;
import meteordevelopment.meteorclient.settings.*;
import meteordevelopment.meteorclient.systems.modules.Module;
import java.util.Arrays;
import java.util.List;
import org.spongepowered.asm.mixin.*;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ConfigTab.class)
public class ConfigTabMixin {
@Shadow(remap = false)
@Final
private static Settings settings;
private static final SettingGroup sgRejects = settings.createGroup("Rejects");
private static final Setting<RejectsConfig.HttpAllowed> httpAllowed = sgRejects.add(new EnumSetting.Builder<RejectsConfig.HttpAllowed>()
.name("http-allowed")
.description("Changes what api endpoints can be reached.")
.defaultValue(RejectsConfig.get().httpAllowed)
.onChanged(v -> RejectsConfig.get().httpAllowed = v)
.build()
);
private final Setting<List<Module>> hiddenModules = sgRejects.add(new ModuleListSetting.Builder()
.name("hidden-modules")
.description("Which modules to hide.")
.defaultValue(Arrays.asList())
.defaultValue(RejectsConfig.get().getHiddenModules())
.onChanged(v -> RejectsConfig.get().setHiddenModules(v))
.build()
);
// No idea why CallbackInfoReturnable, but fabric crashes otherwise lol
@Inject(method = "createScreen", at=@At("HEAD"), remap = false)
private void onCreateScreen(CallbackInfoReturnable<?> cir) {
hiddenModules.set(RejectsConfig.get().getHiddenModules());
}
}
// No idea why CallbackInfoReturnable, but fabric crashes otherwise lol
@Inject(method = "createScreen", at=@At("HEAD"), remap = false)
private void onCreateScreen(CallbackInfoReturnable<?> cir) {
ConfigModifier.INSTANCE.hiddenModules.set(RejectsConfig.get().getHiddenModules());
}
}

View File

@@ -0,0 +1,17 @@
package anticope.rejects.mixin.meteor;
import anticope.rejects.utils.ConfigModifier;
import meteordevelopment.meteorclient.systems.Systems;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(Systems.class)
public class SystemsMixin {
@Inject(method = "init", at = @At(value = "INVOKE", target = "Lmeteordevelopment/meteorclient/systems/System;load()V"), remap = false)
private static void onInitializeConfig(CallbackInfo ci) {
// adds the reject settings
new ConfigModifier();
}
}