diff options
5 files changed, 30 insertions, 57 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java b/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java index e3b3b16..86b339b 100644 --- a/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java +++ b/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java @@ -2,7 +2,6 @@ package cc.polyfrost.oneconfig.config.elements; import java.lang.reflect.Field; import java.util.ArrayList; -import java.util.HashMap; import java.util.function.Supplier; @SuppressWarnings({"unused"}) @@ -17,8 +16,6 @@ public abstract class BasicOption { private final ArrayList<Runnable> listeners = new ArrayList<>(); private final ArrayList<Supplier<Boolean>> hideConditions = new ArrayList<>(); - private static final HashMap<Field, BasicOption> options = new HashMap<>(); - /** * Initialize option * @@ -34,10 +31,7 @@ public abstract class BasicOption { this.size = size; this.category = category; this.subcategory = subcategory; - if (field != null) { - field.setAccessible(true); - options.put(field, this); - } + if (field != null) field.setAccessible(true); } /** @@ -134,8 +128,4 @@ public abstract class BasicOption { public void addHideCondition(Supplier<Boolean> supplier) { this.hideConditions.add(supplier); } - - public static BasicOption getOption(Field field) { - return options.get(field); - } } diff --git a/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java b/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java index 013debb..4a1a765 100644 --- a/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java +++ b/src/main/java/cc/polyfrost/oneconfig/hud/TextHud.java @@ -2,9 +2,7 @@ package cc.polyfrost.oneconfig.hud; import cc.polyfrost.oneconfig.config.annotations.Color; import cc.polyfrost.oneconfig.config.annotations.Dropdown; -import cc.polyfrost.oneconfig.config.annotations.Switch; import cc.polyfrost.oneconfig.config.core.OneColor; -import cc.polyfrost.oneconfig.config.elements.BasicOption; import cc.polyfrost.oneconfig.events.EventManager; import cc.polyfrost.oneconfig.events.event.Stage; import cc.polyfrost.oneconfig.events.event.TickEvent; @@ -12,7 +10,6 @@ import cc.polyfrost.oneconfig.internal.hud.HudCore; import cc.polyfrost.oneconfig.libs.eventbus.Subscribe; import cc.polyfrost.oneconfig.libs.universal.UMinecraft; import cc.polyfrost.oneconfig.renderer.RenderManager; -import cc.polyfrost.oneconfig.utils.TickDelay; import java.util.ArrayList; import java.util.List; @@ -33,37 +30,13 @@ public abstract class TextHud extends Hud { ) public int textType = 0; - @Switch( - name = "Cache Text" - ) - public boolean cacheText; - - public TextHud(boolean enabled, int x, int y, boolean caching) { + public TextHud(boolean enabled, int x, int y) { super(enabled, x, y); - cacheText = caching; - new TickDelay(() -> { - try { - BasicOption option = BasicOption.getOption(getClass().getField("cacheText")); - option.addHideCondition(() -> !caching); - } catch (NoSuchFieldException e) { - e.printStackTrace(); - } - }, 3); - if (caching) { - EventManager.INSTANCE.register(new TickHandler()); - } - } - - public TextHud() { - this(true); + EventManager.INSTANCE.register(new TickHandler()); } public TextHud(boolean enabled) { - this(enabled, true); - } - - public TextHud(boolean enabled, boolean caching) { - this(enabled, 0, 0, caching); + this(enabled, 0, 0); } /** @@ -74,6 +47,15 @@ public abstract class TextHud extends Hud { protected abstract void getLines(List<String> lines); /** + * This function is called every frame + * + * @param lines The current lines of the hud + */ + protected void getLinesFrequent(List<String> lines) { + + } + + /** * This function is called every tick in the move GUI * * @param lines The current lines of the hud @@ -82,9 +64,21 @@ public abstract class TextHud extends Hud { getLines(lines); } + /** + * This function is called every frame in the move GUI + * + * @param lines The current lines of the hud + */ + protected void getExampleLinesFrequent(List<String> lines) { + getLinesFrequent(lines); + } + @Override public void draw(int x, int y, float scale) { -// todo + if (!HudCore.editing) getLinesFrequent(lines); + else getExampleLinesFrequent(lines); + if (lines == null) return; + int textY = y; width = 0; for (String line : lines) { @@ -109,7 +103,6 @@ public abstract class TextHud extends Hud { @Subscribe private void onTick(TickEvent event) { if (event.stage != Stage.START) return; - lines.clear(); if (!HudCore.editing) getLines(lines); else getExampleLines(lines); } diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java b/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java index 1f70815..3d924ac 100644 --- a/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java +++ b/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java @@ -1,11 +1,15 @@ package cc.polyfrost.oneconfig.internal.init; +import net.minecraft.launchwrapper.Launch; +import org.spongepowered.asm.launch.MixinBootstrap; import org.spongepowered.asm.mixin.Mixins; @SuppressWarnings("unused") public class OneConfigInit { public static void initialize(String[] args) { + Launch.blackboard.put("oneconfig.initialized", true); + MixinBootstrap.init(); Mixins.addConfiguration("mixins.oneconfig.json"); } } diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/plugin/asm/OneConfigTweaker.java b/src/main/java/cc/polyfrost/oneconfig/internal/plugin/asm/OneConfigTweaker.java index d302b9d..8b822de 100644 --- a/src/main/java/cc/polyfrost/oneconfig/internal/plugin/asm/OneConfigTweaker.java +++ b/src/main/java/cc/polyfrost/oneconfig/internal/plugin/asm/OneConfigTweaker.java @@ -71,7 +71,6 @@ public class OneConfigTweaker implements ITweaker { @Override public void acceptOptions(List<String> args, File gameDir, File assetsDir, String profile) { - MixinBootstrap.init(); boolean captureNext = false; for (String arg : args) { if (captureNext) { diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/holder/Holder.java b/src/main/java/cc/polyfrost/oneconfig/utils/holder/Holder.java deleted file mode 100644 index 9488d4b..0000000 --- a/src/main/java/cc/polyfrost/oneconfig/utils/holder/Holder.java +++ /dev/null @@ -1,13 +0,0 @@ -package cc.polyfrost.oneconfig.utils.holder; - -public abstract class Holder<T> { - protected T holder; - public Holder(T holder) { - this.holder = holder; - } - - - public abstract T getHolder() throws UnsupportedOperationException; - - public abstract void setHolder() throws UnsupportedOperationException; -} |