From b8528db858ab6f62c072623d0fd25cd31f65138b Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Sun, 4 Aug 2024 12:08:15 -0700 Subject: [PATCH 1/3] Switch to GTNHLib 0.4.0+ for VBO instead of Angelica --- dependencies.gradle | 3 +-- gradle.properties | 13 ++++++++++++- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 2 +- .../amazingtrophies/AmazingTrophies.java | 6 ++---- .../amazingtrophies/model/ModelWrapper.java | 7 +++---- .../complex/ComplexTrophyModelHandler.java | 6 +----- ...lperAngelica.java => RenderHelperVBO.java} | 19 +++++++++---------- 8 files changed, 30 insertions(+), 28 deletions(-) rename src/main/java/glowredman/amazingtrophies/model/complex/{RenderHelperAngelica.java => RenderHelperVBO.java} (87%) diff --git a/dependencies.gradle b/dependencies.gradle index 36e780d..af3fe42 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,4 +1,3 @@ dependencies { - compileOnly("com.github.GTNewHorizons:Angelica:1.0.0-alpha28:dev") - implementation("com.github.GTNewHorizons:GTNHLib:0.2.4:dev") + implementation("com.github.GTNewHorizons:GTNHLib:0.4.0:dev") } diff --git a/gradle.properties b/gradle.properties index 3df9838..337941f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -85,6 +85,11 @@ accessTransformersFile = amazingtrophies_at.cfg # Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled! usesMixins = false +# Set to a non-empty string to configure mixins in a separate source set under src/VALUE, instead of src/main. +# This can speed up compile times thanks to not running the mixin annotation processor on all input sources. +# Mixin classes will have access to "main" classes, but not the other way around. +separateMixinSourceSet = + # Adds some debug arguments like verbose output and class export. usesMixinDebug = false @@ -117,9 +122,15 @@ minimizeShadowedDependencies = true # If disabled, won't rename the shadowed classes. relocateShadowedDependencies = true -# Adds the GTNH maven, CurseMaven, IC2/Player maven, and some more well-known 1.7.10 repositories. +# Adds CurseMaven, Modrinth, and some more well-known 1.7.10 repositories. includeWellKnownRepositories = true +# A list of repositories to exclude from the includeWellKnownRepositories setting. Should be a space separated +# list of strings, with the acceptable keys being(case does not matter): +# cursemaven +# modrinth +excludeWellKnownRepositories = + # Change these to your Maven coordinates if you want to publish to a custom Maven repository instead of the default GTNH Maven. # Authenticate with the MAVEN_USER and MAVEN_PASSWORD environment variables. # If you need a more complex setup disable maven publishing here and add a publishing repository to addon.gradle. diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22c..09523c0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle b/settings.gradle index 16a5b4c..242692e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.14' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.26' } diff --git a/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java b/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java index 1725056..8352aff 100644 --- a/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java +++ b/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java @@ -41,7 +41,7 @@ @Mod( acceptedMinecraftVersions = "[1.7.10]", - dependencies = "required-after:gtnhlib@[0.0.10,);after:angelica", + dependencies = "required-after:gtnhlib@[0.4.0,);after:angelica@[1.0.0-beta4,)", modid = AmazingTrophies.MODID, name = AmazingTrophies.MODNAME, version = AmazingTrophies.VERSION) @@ -52,7 +52,7 @@ public class AmazingTrophies { public static final String VERSION = Reference.VERSION; public static final Logger LOGGER = LogManager.getLogger(MODNAME); public static final Path CONFIG_DIR = getConfigDir(); - public static boolean isAngelicaLoaded = false; + public static final boolean enableVBO = !Boolean.parseBoolean(System.getProperty("amazingtrophies.disableVBO", "false")); @EventHandler public static void construct(FMLConstructionEvent event) { @@ -64,8 +64,6 @@ public static void construct(FMLConstructionEvent event) { @EventHandler public static void preInit(FMLPreInitializationEvent event) { - isAngelicaLoaded = Loader.isModLoaded("angelica"); - registerConditionHandlers(); Block blockTrophy = new BlockTrophy(); diff --git a/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java b/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java index 1ddb8d6..4684e02 100644 --- a/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java +++ b/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java @@ -1,12 +1,11 @@ package glowredman.amazingtrophies.model; +import com.gtnewhorizon.gtnhlib.client.renderer.vbo.IModelCustomExt; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; import net.minecraftforge.client.model.ModelFormatException; -import com.gtnewhorizons.angelica.config.AngelicaConfig; -import com.gtnewhorizons.angelica.mixins.interfaces.IModelCustomExt; import glowredman.amazingtrophies.AmazingTrophies; @@ -18,7 +17,7 @@ public abstract class ModelWrapper { public static ModelWrapper get(ResourceLocation resource) throws IllegalArgumentException, ModelFormatException { - if (AmazingTrophies.isAngelicaLoaded && AngelicaConfig.enableVBO) { + if (AmazingTrophies.enableVBO) { return new ModelCustomWrapperExt(resource); } return new ModelCustomWrapper(resource); @@ -44,7 +43,7 @@ private ModelCustomWrapperExt(ResourceLocation resource) throws IllegalArgumentE @Override public void renderAll() { - if (AngelicaConfig.enableVBO) { + if (AmazingTrophies.enableVBO) { this.model.renderAllVBO(); } else { this.model.renderAll(); diff --git a/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java b/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java index 69be4ca..a02a4b4 100644 --- a/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java +++ b/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java @@ -155,11 +155,7 @@ public void render(double x, double y, double z, int rotation, @Nullable String GL11.glRotatef(-90, 0.0f, 1.0f, 0.0f); GL11.glRotatef(22.5f * rotation, 0.0f, 1.0f, 0.0f); - if (AmazingTrophies.isAngelicaLoaded) { - RenderHelperAngelica.renderModel(model); - } else { - RenderHelper.renderModel(model); - } + RenderHelperVBO.renderModel(model); GL11.glPopAttrib(); GL11.glPopMatrix(); diff --git a/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperAngelica.java b/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperVBO.java similarity index 87% rename from src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperAngelica.java rename to src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperVBO.java index 7a98f65..d01b6cb 100644 --- a/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperAngelica.java +++ b/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperVBO.java @@ -1,5 +1,12 @@ package glowredman.amazingtrophies.model.complex; +import com.gtnewhorizon.gtnhlib.client.renderer.CapturingTessellator; +import com.gtnewhorizon.gtnhlib.client.renderer.TessellatorManager; +import com.gtnewhorizon.gtnhlib.client.renderer.vbo.VBOManager; +import com.gtnewhorizon.gtnhlib.client.renderer.vbo.VertexBuffer; +import com.gtnewhorizon.gtnhlib.client.renderer.vertex.DefaultVertexFormat; +import com.gtnewhorizon.gtnhlib.client.renderer.vertex.VertexFormat; +import glowredman.amazingtrophies.AmazingTrophies; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.TextureMap; @@ -8,15 +15,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import com.gtnewhorizons.angelica.client.renderer.CapturingTessellator; -import com.gtnewhorizons.angelica.compat.mojang.DefaultVertexFormat; -import com.gtnewhorizons.angelica.compat.mojang.VertexBuffer; -import com.gtnewhorizons.angelica.compat.mojang.VertexFormat; -import com.gtnewhorizons.angelica.config.AngelicaConfig; -import com.gtnewhorizons.angelica.glsm.TessellatorManager; -import com.gtnewhorizons.angelica.glsm.VBOManager; - -public class RenderHelperAngelica { +public class RenderHelperVBO { private static void centreModel(BaseModelStructure model) { @@ -95,7 +94,7 @@ public static void renderModel(final BaseModelStructure model) { if (model == null) return; - if (!AngelicaConfig.enableVBO) { + if (!AmazingTrophies.enableVBO) { RenderHelper.renderModel(model); return; } From 43a6934f7bbf52f6d7e1edbe8ae5041364536d4f Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Sun, 4 Aug 2024 12:20:21 -0700 Subject: [PATCH 2/3] switch --- src/main/java/glowredman/amazingtrophies/AmazingTrophies.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java b/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java index 8352aff..cf546c4 100644 --- a/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java +++ b/src/main/java/glowredman/amazingtrophies/AmazingTrophies.java @@ -52,7 +52,7 @@ public class AmazingTrophies { public static final String VERSION = Reference.VERSION; public static final Logger LOGGER = LogManager.getLogger(MODNAME); public static final Path CONFIG_DIR = getConfigDir(); - public static final boolean enableVBO = !Boolean.parseBoolean(System.getProperty("amazingtrophies.disableVBO", "false")); + public static final boolean enableVBO = !Boolean.getBoolean("amazingtrophies.disableVBO"); @EventHandler public static void construct(FMLConstructionEvent event) { From 799ab6bddb4cf287dcfe8a6c2520bcd70a7d6bf5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 15:39:58 -0700 Subject: [PATCH 3/3] spotlessApply (#9) --- .../amazingtrophies/model/ModelWrapper.java | 2 +- .../model/complex/ComplexTrophyModelHandler.java | 1 - .../model/complex/RenderHelperVBO.java | 16 +++++++++------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java b/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java index 4684e02..394f7e8 100644 --- a/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java +++ b/src/main/java/glowredman/amazingtrophies/model/ModelWrapper.java @@ -1,11 +1,11 @@ package glowredman.amazingtrophies.model; -import com.gtnewhorizon.gtnhlib.client.renderer.vbo.IModelCustomExt; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; import net.minecraftforge.client.model.ModelFormatException; +import com.gtnewhorizon.gtnhlib.client.renderer.vbo.IModelCustomExt; import glowredman.amazingtrophies.AmazingTrophies; diff --git a/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java b/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java index a02a4b4..5d72b20 100644 --- a/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java +++ b/src/main/java/glowredman/amazingtrophies/model/complex/ComplexTrophyModelHandler.java @@ -18,7 +18,6 @@ import com.google.gson.JsonSyntaxException; import cpw.mods.fml.common.registry.GameData; -import glowredman.amazingtrophies.AmazingTrophies; import glowredman.amazingtrophies.ConfigHandler; import glowredman.amazingtrophies.model.PedestalTrophyModelHandler; diff --git a/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperVBO.java b/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperVBO.java index d01b6cb..59ea7b3 100644 --- a/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperVBO.java +++ b/src/main/java/glowredman/amazingtrophies/model/complex/RenderHelperVBO.java @@ -1,12 +1,5 @@ package glowredman.amazingtrophies.model.complex; -import com.gtnewhorizon.gtnhlib.client.renderer.CapturingTessellator; -import com.gtnewhorizon.gtnhlib.client.renderer.TessellatorManager; -import com.gtnewhorizon.gtnhlib.client.renderer.vbo.VBOManager; -import com.gtnewhorizon.gtnhlib.client.renderer.vbo.VertexBuffer; -import com.gtnewhorizon.gtnhlib.client.renderer.vertex.DefaultVertexFormat; -import com.gtnewhorizon.gtnhlib.client.renderer.vertex.VertexFormat; -import glowredman.amazingtrophies.AmazingTrophies; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.TextureMap; @@ -15,6 +8,15 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import com.gtnewhorizon.gtnhlib.client.renderer.CapturingTessellator; +import com.gtnewhorizon.gtnhlib.client.renderer.TessellatorManager; +import com.gtnewhorizon.gtnhlib.client.renderer.vbo.VBOManager; +import com.gtnewhorizon.gtnhlib.client.renderer.vbo.VertexBuffer; +import com.gtnewhorizon.gtnhlib.client.renderer.vertex.DefaultVertexFormat; +import com.gtnewhorizon.gtnhlib.client.renderer.vertex.VertexFormat; + +import glowredman.amazingtrophies.AmazingTrophies; + public class RenderHelperVBO { private static void centreModel(BaseModelStructure model) {