diff options
9 files changed, 8 insertions, 192 deletions
diff --git a/build.gradle b/build.gradle index 72432203..c28bd1b5 100644 --- a/build.gradle +++ b/build.gradle @@ -29,9 +29,7 @@ repositories { } maven { url "https://repo.codemc.io/repository/maven-public/" } // For Occlusion Culling library maven { url "https://repo.nea.moe/releases" } // For neu repoparser - maven { url "https://oss.sonatype.org/content/repositories/snapshots" } //For YACL - maven { url "https://maven.quiltmc.org/repository/release" } //For YACL - maven {url "https://jitpack.io"} + maven { url "https://jitpack.io" } } dependencies { diff --git a/gradle.properties b/gradle.properties index 6c364898..ad21639d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,7 +13,7 @@ fabric_api_version=0.89.1+1.20.2 # Minecraft Mods ## YACL (https://github.com/isXander/YetAnotherConfigLib) -yacl_version=3.2.1+1.20.2 +yacl_version=3.3.0-beta.1+1.20.2 ## Mod Menu (https://modrinth.com/mod/modmenu/versions) mod_menu_version = 8.0.0 ## REI (https://modrinth.com/mod/rei/versions?l=fabric) diff --git a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java index 2475d0d3..7820dfa4 100644 --- a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java +++ b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java @@ -1,20 +1,15 @@ package de.hysky.skyblocker.compatibility; -import java.util.List; -import java.util.Set; - +import net.fabricmc.loader.api.FabricLoader; import org.objectweb.asm.tree.ClassNode; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; import org.spongepowered.asm.mixin.extensibility.IMixinInfo; -import net.fabricmc.loader.api.FabricLoader; +import java.util.List; +import java.util.Set; public class MixinPlugin implements IMixinConfigPlugin { - private static final Logger LOGGER = LoggerFactory.getLogger(MixinPlugin.class); private static final boolean OPTIFABRIC_LOADED = FabricLoader.getInstance().isModLoaded("optifabric"); - private static final String YACL_VERSION = FabricLoader.getInstance().getModContainer("yet_another_config_lib_v3").get().getMetadata().getVersion().getFriendlyString(); @Override public void onLoad(String mixinPackage) { @@ -29,21 +24,8 @@ public class MixinPlugin implements IMixinConfigPlugin { @Override public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { //OptiFabric Compatibility - if (mixinClassName.endsWith("WorldRendererMixin") && OPTIFABRIC_LOADED) return false; - - //YACL#103 Patch - if (mixinClassName.endsWith("DoubleFieldControllerMixin") || mixinClassName.endsWith("FloatFieldControllerMixin") || mixinClassName.endsWith("IntegerFieldControllerMixin") || mixinClassName.endsWith("LongFieldControllerMixin") || mixinClassName.endsWith("NumberFieldControllerMixin")) { - if (YACL_VERSION.equals("3.2.1+1.20.2")) { - LOGGER.info("[Skyblocker] Applying patch for " + targetClassName + " from " + mixinClassName); - } else { - LOGGER.info("[Skyblocker] Skipping patch on " + targetClassName + " due to an Unknown YACL version being found! Version: {}", YACL_VERSION); - - return false; - } - } - - return true; - } + return !mixinClassName.endsWith("WorldRendererMixin") || !OPTIFABRIC_LOADED; + } @Override public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) { diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/DoubleFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/DoubleFieldControllerMixin.java deleted file mode 100644 index ac24c09f..00000000 --- a/src/main/java/de/hysky/skyblocker/mixin/yacl/DoubleFieldControllerMixin.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.hysky.skyblocker.mixin.yacl; - -import java.text.NumberFormat; -import java.util.function.Function; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; - -import dev.isxander.yacl3.api.Option; -import dev.isxander.yacl3.gui.controllers.string.number.DoubleFieldController; -import dev.isxander.yacl3.gui.controllers.string.number.NumberFieldController; -import net.minecraft.text.Text; - -@Mixin(value = DoubleFieldController.class, remap = false) -public abstract class DoubleFieldControllerMixin extends NumberFieldController<Double> { - private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance(); - - - public DoubleFieldControllerMixin(Option<Double> option, Function<Double, Text> displayFormatter) { - super(option, displayFormatter); - } - - @Overwrite - public String getString() { - return NUMBER_FORMAT.format(option().pendingValue()); - } -} diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java deleted file mode 100644 index 3a82c92a..00000000 --- a/src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.hysky.skyblocker.mixin.yacl; - -import java.text.NumberFormat; -import java.util.function.Function; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; - -import dev.isxander.yacl3.api.Option; -import dev.isxander.yacl3.gui.controllers.string.number.FloatFieldController; -import dev.isxander.yacl3.gui.controllers.string.number.NumberFieldController; -import net.minecraft.text.Text; - -@Mixin(value = FloatFieldController.class, remap = false) -public abstract class FloatFieldControllerMixin extends NumberFieldController<Float> { - private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance(); - - - public FloatFieldControllerMixin(Option<Float> option, Function<Float, Text> displayFormatter) { - super(option, displayFormatter); - } - - @Overwrite - public String getString() { - return NUMBER_FORMAT.format(option().pendingValue()); - } -} diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java deleted file mode 100644 index 51dd4890..00000000 --- a/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.hysky.skyblocker.mixin.yacl; - -import java.text.NumberFormat; -import java.util.function.Function; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; - -import dev.isxander.yacl3.api.Option; -import dev.isxander.yacl3.gui.controllers.string.number.IntegerFieldController; -import dev.isxander.yacl3.gui.controllers.string.number.NumberFieldController; -import net.minecraft.text.Text; - -@Mixin(value = IntegerFieldController.class, remap = false) -public abstract class IntegerFieldControllerMixin extends NumberFieldController<Integer> { - private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance(); - - public IntegerFieldControllerMixin(Option<Integer> option, Function<Integer, Text> displayFormatter) { - super(option, displayFormatter); - } - - @Overwrite - public String getString() { - return NUMBER_FORMAT.format(option().pendingValue()); - } - - @Overwrite - public boolean isInputValid(String input) { - return super.isInputValid(input); - } -} diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java deleted file mode 100644 index f744c310..00000000 --- a/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.hysky.skyblocker.mixin.yacl; - -import java.text.NumberFormat; -import java.util.function.Function; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; - -import dev.isxander.yacl3.api.Option; -import dev.isxander.yacl3.gui.controllers.string.number.LongFieldController; -import dev.isxander.yacl3.gui.controllers.string.number.NumberFieldController; -import net.minecraft.text.Text; - -@Mixin(value = LongFieldController.class, remap = false) -public abstract class LongFieldControllerMixin extends NumberFieldController<Long> { - private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance(); - - public LongFieldControllerMixin(Option<Long> option, Function<Long, Text> displayFormatter) { - super(option, displayFormatter); - } - - @Overwrite - public String getString() { - return NUMBER_FORMAT.format(option().pendingValue()); - } - - @Overwrite - public boolean isInputValid(String input) { - return super.isInputValid(input); - } -} diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java deleted file mode 100644 index 010f9a26..00000000 --- a/src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java +++ /dev/null @@ -1,43 +0,0 @@ -package de.hysky.skyblocker.mixin.yacl; - -import java.text.DecimalFormatSymbols; -import java.text.NumberFormat; -import java.text.ParseException; -import java.text.ParsePosition; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; - -import dev.isxander.yacl3.gui.controllers.slider.ISliderController; -import dev.isxander.yacl3.gui.controllers.string.number.NumberFieldController; -import dev.isxander.yacl3.impl.utils.YACLConstants; -import net.minecraft.util.math.MathHelper; - -@Mixin(value = NumberFieldController.class, remap = false) -public abstract class NumberFieldControllerMixin<T extends Number> implements ISliderController<T> { - private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance(); - private static final DecimalFormatSymbols DECIMAL_FORMAT_SYMBOLS = DecimalFormatSymbols.getInstance(); - - @Overwrite - public void setFromString(String value) { - try { - setPendingValue(MathHelper.clamp(NUMBER_FORMAT.parse(value).doubleValue(), min(), max())); - } catch (ParseException ignore) { - YACLConstants.LOGGER.warn("Failed to parse number: {}", value); - } - } - - @Overwrite - public boolean isInputValid(String input) { - input = input.replace(DECIMAL_FORMAT_SYMBOLS.getGroupingSeparator() + "", ""); - ParsePosition parsePosition = new ParsePosition(0); - NUMBER_FORMAT.parse(input, parsePosition); - - return parsePosition.getIndex() == input.length(); - } - - @Overwrite - protected String cleanupNumberString(String number) { - throw new UnsupportedOperationException("This method should no longer be called."); - } -} diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json index 5bafb324..4e7bfe16 100644 --- a/src/main/resources/skyblocker.mixins.json +++ b/src/main/resources/skyblocker.mixins.json @@ -36,12 +36,7 @@ "accessor.PlayerListHudAccessor", "accessor.RecipeBookWidgetAccessor", "accessor.ScreenAccessor", - "accessor.WorldRendererAccessor", - "yacl.DoubleFieldControllerMixin", - "yacl.FloatFieldControllerMixin", - "yacl.IntegerFieldControllerMixin", - "yacl.LongFieldControllerMixin", - "yacl.NumberFieldControllerMixin" + "accessor.WorldRendererAccessor" ], "injectors": { "defaultRequire": 1 |