From 37d74294b1560931fedef794a045b491d3d605ff Mon Sep 17 00:00:00 2001 From: JFronny <6260391-JFronny@users.noreply.gitlab.com> Date: Sat, 29 May 2021 22:48:51 +0200 Subject: [PATCH] Update to 1.17 and remove LibCD support --- README.md | 6 +--- build.gradle | 12 +++---- gradle.properties | 6 ++-- .../respackopts/integration/LibCDCompat.java | 33 ------------------- .../respackopts/mixin/OptionsScreenMixin.java | 4 +-- .../mixin/ResourcePackEntryMixin.java | 11 ++++--- src/main/resources/fabric.mod.json | 3 -- 7 files changed, 16 insertions(+), 59 deletions(-) delete mode 100644 src/main/java/io/gitlab/jfronny/respackopts/integration/LibCDCompat.java diff --git a/README.md b/README.md index 895fc42..533b7e5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Respackopts Respackopts provides resource packs with config menus\ -By default it integrates with frex (canvas shaders, currently requires the latest development release) and libcd (use this as reference)\ +By default it integrates with frex (canvas shaders, currently requires the latest development release) and provides a custom system for conditional resources\ An example for the frex/canvas integration can be found [here](https://gitlab.com/jfmods/respackopts/-/tree/master/run/resourcepacks/lumi) # Using Respackopts @@ -38,10 +38,6 @@ You can always check whether it was properly loaded by checking if `respackopts_ Values can be accessed with `{packId}_{entryId}` for basic elements.\ Enum values can be accessed with `{packId}_{entryId}_{enumKey}`.\ Examples of using these are available [here](https://gitlab.com/jfmods/respackopts/-/tree/master/run/resourcepacks/lumi) -### LibCD -The LibCD integration defines a condition named `respackopts:cfg` that takes a string describing the location of a bool as `{packId}:{entryId}` - -There have been issues with LibCD in development, so it might be smart not to use it. ### Conditional resources Respackopts allows creating conditional resources by creating a file named `{targetFile}.rpo`.\ This file is a json file that contains an array named "conditions". The resource will be ignored if any of the conditions are not met.\ diff --git a/build.gradle b/build.gradle index 8677e72..3b254ac 100644 --- a/build.gradle +++ b/build.gradle @@ -16,16 +16,12 @@ dependencies { modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" // Fabric API. This is technically optional, but you probably want it anyway. - modImplementation "net.fabricmc.fabric-api:fabric-api:0.34.2+1.16" + modImplementation "net.fabricmc.fabric-api:fabric-api:0.34.8+1.17" - modImplementation "com.terraformersmc:modmenu:1.16.9" + modImplementation "com.terraformersmc:modmenu:2.0.0-beta.5" - modApi("me.shedaniel.cloth:cloth-config-fabric:4.+") - - modApi "io.github.cottonmc:LibCD:3.0.3+1.16.3" - - modImplementation("grondag:canvas-mc116:+") { - exclude(group: "io.github.prospector") + modApi("me.shedaniel.cloth:cloth-config-fabric:5.+") + modImplementation("grondag:canvas-mc117-1.17:+") { exclude(group: "me.shedaniel.cloth") } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a44e6dd..bcb7040 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.16.5 -yarn_mappings=1.16.5+build.6 +minecraft_version=1.17-pre1 +yarn_mappings=1.17-pre1+build.6 loader_version=0.11.3 # Mod Properties mod_version=1.4.2 @@ -11,7 +11,7 @@ maven_group=io.gitlab.jfronny archives_base_name=respackopts modrinth_id=TiF5QWZY -modrinth_required_dependencies=Gz5wa6j2 +modrinth_required_dependencies=EDbIonje modrinth_optional_dependencies= curseforge_id=430090 curseforge_required_dependencies=cloth-config, modmenu diff --git a/src/main/java/io/gitlab/jfronny/respackopts/integration/LibCDCompat.java b/src/main/java/io/gitlab/jfronny/respackopts/integration/LibCDCompat.java deleted file mode 100644 index c3cd746..0000000 --- a/src/main/java/io/gitlab/jfronny/respackopts/integration/LibCDCompat.java +++ /dev/null @@ -1,33 +0,0 @@ -package io.gitlab.jfronny.respackopts.integration; - -import com.google.gson.JsonElement; -import io.github.cottonmc.libcd.api.CDSyntaxError; -import io.github.cottonmc.libcd.api.condition.ConditionManager; -import io.github.cottonmc.libcd.api.init.ConditionInitializer; -import io.gitlab.jfronny.respackopts.Respackopts; -import io.gitlab.jfronny.respackopts.filters.conditions.ConditionEvaluator; -import net.minecraft.util.Identifier; - -public class LibCDCompat implements ConditionInitializer { - @Override - public void initConditions(ConditionManager conditionManager) { - conditionManager.registerCondition(new Identifier(Respackopts.ID, "cfg"), q -> { - if (q instanceof String) { - try { - return ConditionEvaluator.evaluate((String) q); - } catch (Throwable error) { - throw new CDSyntaxError(error.getMessage()); - } - } - else if (q instanceof JsonElement) { - try { - return ConditionEvaluator.evaluate((JsonElement) q); - } catch (Throwable error) { - throw new CDSyntaxError(error.getMessage()); - } - } - else - throw new CDSyntaxError("Expected Json element or string for rpo libcd conditions"); - }); - } -} diff --git a/src/main/java/io/gitlab/jfronny/respackopts/mixin/OptionsScreenMixin.java b/src/main/java/io/gitlab/jfronny/respackopts/mixin/OptionsScreenMixin.java index ecbde56..4652b96 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/mixin/OptionsScreenMixin.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/mixin/OptionsScreenMixin.java @@ -1,8 +1,8 @@ package io.gitlab.jfronny.respackopts.mixin; import io.gitlab.jfronny.respackopts.Respackopts; -import net.minecraft.client.gui.screen.options.OptionsScreen; -import net.minecraft.client.options.GameOptions; +import net.minecraft.client.gui.screen.option.OptionsScreen; +import net.minecraft.client.option.GameOptions; import net.minecraft.resource.ResourcePackManager; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java b/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java index 08b4ddc..be31040 100644 --- a/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java +++ b/src/main/java/io/gitlab/jfronny/respackopts/mixin/ResourcePackEntryMixin.java @@ -17,9 +17,10 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + @Mixin(PackListWidget.ResourcePackEntry.class) public abstract class ResourcePackEntryMixin extends AlwaysSelectedEntryListWidget.Entry { - @Shadow private PackListWidget widget; + @Final @Shadow private PackListWidget widget; @Shadow protected abstract boolean isSelectable(); @@ -54,15 +55,15 @@ public abstract class ResourcePackEntryMixin extends AlwaysSelectedEntryListWidg } private void respackopts$renderButton(MatrixStack matrices, boolean hovered, Identifier texture, int x, int y, int width, int height, int u, int v, int uWidth, int vHeight) { - MinecraftClient client = MinecraftClient.getInstance(); - client.getTextureManager().bindTexture(texture); - RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.setShaderColor(1, 1, 1, 1f); + RenderSystem.setShaderTexture(0, texture); RenderSystem.disableDepthTest(); int adjustedV = v; if (hovered) { adjustedV += height; } - DrawableHelper.drawTexture(matrices, x, y, u, (float)adjustedV, width, height, uWidth, vHeight); + + DrawableHelper.drawTexture(matrices, x, y, u, adjustedV, width, height, uWidth, vHeight); RenderSystem.enableDepthTest(); } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 309c49b..8d78d1d 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -18,9 +18,6 @@ "modmenu": [ "io.gitlab.jfronny.respackopts.integration.ModMenuCompat" ], - "libcd:conditions": [ - "io.gitlab.jfronny.respackopts.integration.LibCDCompat" - ], "frex": [ "io.gitlab.jfronny.respackopts.integration.FrexCompat" ]