From f9c84206dbfccd345b8ab9564d816beb7b7048f7 Mon Sep 17 00:00:00 2001 From: sisyphussy Date: Sat, 16 May 2026 08:39:44 +0200 Subject: [PATCH 1/3] Optimize Walrus --- .../client/render/ItemWalrusRender.java | 9 +----- .../client/render/RenderBlockWalrus.java | 9 +----- .../github/client/render/WalrusRenderer.java | 28 +++++++++++++++++++ .../glodblock/github/loader/RenderLoader.java | 2 ++ .../glodblock/github/proxy/ClientProxy.java | 8 ------ 5 files changed, 32 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/glodblock/github/client/render/WalrusRenderer.java diff --git a/src/main/java/com/glodblock/github/client/render/ItemWalrusRender.java b/src/main/java/com/glodblock/github/client/render/ItemWalrusRender.java index 7697b8928..5ca415597 100644 --- a/src/main/java/com/glodblock/github/client/render/ItemWalrusRender.java +++ b/src/main/java/com/glodblock/github/client/render/ItemWalrusRender.java @@ -1,25 +1,19 @@ package com.glodblock.github.client.render; -import net.minecraft.client.Minecraft; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.MinecraftForgeClient; import org.lwjgl.opengl.GL11; -import com.glodblock.github.FluidCraft; import com.glodblock.github.common.tile.TileWalrus; import com.glodblock.github.loader.ItemAndBlockHolder; -import com.glodblock.github.proxy.ClientProxy; import cpw.mods.fml.client.registry.ClientRegistry; public class ItemWalrusRender implements IItemRenderer { - ResourceLocation textureWalrus = FluidCraft.resource("textures/blocks/walrus.png"); - public ItemWalrusRender() { ClientRegistry.bindTileEntitySpecialRenderer(TileWalrus.class, new RenderBlockWalrus()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ItemAndBlockHolder.WALRUS), this); @@ -32,7 +26,6 @@ public boolean handleRenderType(ItemStack item, ItemRenderType type) { @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - Minecraft.getMinecraft().renderEngine.bindTexture(this.textureWalrus); GL11.glPushMatrix(); switch (type) { case EQUIPPED_FIRST_PERSON -> { @@ -42,7 +35,7 @@ public void renderItem(ItemRenderType type, ItemStack item, Object... data) { case INVENTORY -> GL11.glTranslatef(-0.5F, -0.5F, -0.1F); default -> {} } - ClientProxy.getWalrusModel().renderAll(); + WalrusRenderer.render(); GL11.glPopMatrix(); } diff --git a/src/main/java/com/glodblock/github/client/render/RenderBlockWalrus.java b/src/main/java/com/glodblock/github/client/render/RenderBlockWalrus.java index 146a58d69..06a7694f7 100644 --- a/src/main/java/com/glodblock/github/client/render/RenderBlockWalrus.java +++ b/src/main/java/com/glodblock/github/client/render/RenderBlockWalrus.java @@ -1,23 +1,16 @@ package com.glodblock.github.client.render; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; -import com.glodblock.github.FluidCraft; import com.glodblock.github.common.tile.TileWalrus; -import com.glodblock.github.proxy.ClientProxy; public class RenderBlockWalrus extends TileEntitySpecialRenderer { - ResourceLocation textureWalrus = FluidCraft.resource("textures/blocks/walrus.png"); - @Override public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float partialTickTime) { - Minecraft.getMinecraft().renderEngine.bindTexture(this.textureWalrus); if (!(tileentity instanceof TileWalrus Tile)) return; float scale = Tile.getWalrusScale(); GL11.glPushMatrix(); @@ -40,7 +33,7 @@ public void renderTileEntityAt(TileEntity tileentity, double x, double y, double break; } GL11.glScalef(scale, scale, scale); - ClientProxy.getWalrusModel().renderAll(); + WalrusRenderer.render(); GL11.glPopMatrix(); } } diff --git a/src/main/java/com/glodblock/github/client/render/WalrusRenderer.java b/src/main/java/com/glodblock/github/client/render/WalrusRenderer.java new file mode 100644 index 000000000..d7ff621e7 --- /dev/null +++ b/src/main/java/com/glodblock/github/client/render/WalrusRenderer.java @@ -0,0 +1,28 @@ +package com.glodblock.github.client.render; + +import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.glodblock.github.FluidCraft; +import com.gtnewhorizon.gtnhlib.client.model.wavefront.WavefrontVBOBuilder; +import com.gtnewhorizon.gtnhlib.client.renderer.vao.IVertexArrayObject; + +public final class WalrusRenderer { + + private static IVertexArrayObject walrus; + private static final ResourceLocation textureWalrus = FluidCraft.resource("textures/blocks/walrus.png"); + + public static void load() { + walrus = WavefrontVBOBuilder.compileToVBO(FluidCraft.resource("models/walrus.obj")); + } + + public static void render() { + Minecraft.getMinecraft().renderEngine.bindTexture(textureWalrus); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + walrus.render(); + } +} diff --git a/src/main/java/com/glodblock/github/loader/RenderLoader.java b/src/main/java/com/glodblock/github/loader/RenderLoader.java index 125dc248a..8c01023f0 100644 --- a/src/main/java/com/glodblock/github/loader/RenderLoader.java +++ b/src/main/java/com/glodblock/github/loader/RenderLoader.java @@ -4,11 +4,13 @@ import com.glodblock.github.client.render.ItemDropRender; import com.glodblock.github.client.render.ItemPacketRender; import com.glodblock.github.client.render.ItemWalrusRender; +import com.glodblock.github.client.render.WalrusRenderer; public class RenderLoader implements Runnable { @Override public void run() { + WalrusRenderer.load(); new ItemDropRender(); new ItemPacketRender(); new ItemWalrusRender(); diff --git a/src/main/java/com/glodblock/github/proxy/ClientProxy.java b/src/main/java/com/glodblock/github/proxy/ClientProxy.java index 5176f8e7e..71fdce5ad 100644 --- a/src/main/java/com/glodblock/github/proxy/ClientProxy.java +++ b/src/main/java/com/glodblock/github/proxy/ClientProxy.java @@ -4,8 +4,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; import org.apache.commons.lang3.tuple.ImmutablePair; @@ -29,7 +27,6 @@ public class ClientProxy extends CommonProxy { private static final Minecraft mc = Minecraft.getMinecraft(); private static long refreshTick = System.currentTimeMillis(); - private static IModelCustom modelWalrus; @Override public void preInit(FMLPreInitializationEvent event) { @@ -42,7 +39,6 @@ public void init(FMLInitializationEvent event) { (new ListenerLoader()).run(); (new RenderLoader()).run(); (new KeybindLoader()).run(); - modelWalrus = AdvancedModelLoader.loadModel(FluidCraft.resource("models/walrus.obj")); } @Override @@ -69,8 +65,4 @@ public void tickEvent(TickEvent.PlayerTickEvent e) { refreshTick = System.currentTimeMillis(); } } - - public static IModelCustom getWalrusModel() { - return modelWalrus; - } } From 1726b38417e3d38eedb31fae75858677c1140f60 Mon Sep 17 00:00:00 2001 From: sisyphussy Date: Sun, 17 May 2026 11:44:50 +0200 Subject: [PATCH 2/3] update deps --- dependencies.gradle | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 9ef4bd6fc..7fe886777 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -34,28 +34,28 @@ * For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph */ dependencies { - api('com.github.GTNewHorizons:NotEnoughItems:2.8.96-GTNH:dev') - api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-929-GTNH:dev') - api('com.github.GTNewHorizons:waila:1.19.25:dev') - api("com.github.GTNewHorizons:GTNHLib:0.9.62:dev") + api('com.github.GTNewHorizons:NotEnoughItems:2.8.98-GTNH:dev') + api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-938-GTNH:dev') + api('com.github.GTNewHorizons:waila:1.19.28:dev') + api("com.github.GTNewHorizons:GTNHLib:0.9.68:dev") - implementation("com.github.GTNewHorizons:WirelessCraftingTerminal:1.12.15:dev") { + implementation("com.github.GTNewHorizons:WirelessCraftingTerminal:1.12.16:dev") { exclude group: 'com.github.GTNewHorizons', module: 'Applied-Energistics-2-Unofficial' } - compileOnly('com.github.GTNewHorizons:Baubles-Expanded:2.2.14-GTNH:dev') + compileOnly('com.github.GTNewHorizons:Baubles-Expanded:2.2.17-GTNH:dev') compileOnly('com.github.GTNewHorizons:ExtraCells2:2.5.35:dev') { transitive = false } - compileOnly('com.github.GTNewHorizons:ForestryMC:4.11.19:dev') + compileOnly('com.github.GTNewHorizons:ForestryMC:4.11.23:dev') compileOnly('com.github.GTNewHorizons:EnderIO:5.2.62:dev') - compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.495:dev') { + compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.522:dev') { exclude group: 'com.github.GTNewHorizons', module: 'AE2FluidCraft-Rework' exclude group: 'com.github.GTNewHorizons', module: 'Applied-Energistics-2-Unofficial' } compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') compileOnly('com.gregoriust.gregtech:gregtech_1.7.10:6.14.23:dev') { transitive = false } - compileOnly('com.github.GTNewHorizons:OpenComputers:1.12.39-GTNH:dev') { transitive = false } - compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.7.48-GTNH:dev') { transitive = false } + compileOnly('com.github.GTNewHorizons:OpenComputers:1.12.40-GTNH:dev') { transitive = false } + compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.7.50-GTNH:dev') { transitive = false } runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.4.2:dev") } From f3fbd7f09d656fd9335f8d7a9563f104dcfd55e3 Mon Sep 17 00:00:00 2001 From: sisyphussy Date: Tue, 19 May 2026 18:53:41 +0200 Subject: [PATCH 3/3] update gtnhlib --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 7164f2a8c..a1e662caf 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -37,7 +37,7 @@ dependencies { api('com.github.GTNewHorizons:NotEnoughItems:2.8.96-GTNH:dev') api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-936-GTNH:dev') api('com.github.GTNewHorizons:waila:1.19.25:dev') - api("com.github.GTNewHorizons:GTNHLib:0.9.62:dev") + api("com.github.GTNewHorizons:GTNHLib:0.10.0:dev") compileOnly('com.github.GTNewHorizons:Baubles-Expanded:2.2.14-GTNH:dev') compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.57:dev') {transitive = false}