From 1613235dd74a1b6a9232e2773367a81a5ed4194d Mon Sep 17 00:00:00 2001 From: KoblizekXD Date: Sun, 26 Nov 2023 15:17:12 +0100 Subject: [PATCH] feat: move all doors into new item rendering api --- src/main/java/com/hbm/main/ClientProxy.java | 10 +- .../com/hbm/render/item/ItemRenderBase.java | 6 ++ .../hbm/render/item/ItemRenderLibrary.java | 93 ------------------- .../item/block/ItemRenderSlidingSealDoor.java | 33 ------- .../door/ItemRenderLargeVehicleDoor.java | 22 +++++ .../block/door/ItemRenderQeContainment.java | 24 +++++ .../block/door/ItemRenderQeSlidingDoor.java | 22 +++++ .../door/ItemRenderRoundAirlockDoor.java | 22 +++++ .../door/ItemRenderSecureAccessDoor.java | 22 +++++ .../block/door/ItemRenderSlidingSealDoor.java | 21 +++++ .../item/block/door/ItemRenderWaterDoor.java | 22 +++++ 11 files changed, 169 insertions(+), 128 deletions(-) delete mode 100644 src/main/java/com/hbm/render/item/block/ItemRenderSlidingSealDoor.java create mode 100644 src/main/java/com/hbm/render/item/block/door/ItemRenderLargeVehicleDoor.java create mode 100644 src/main/java/com/hbm/render/item/block/door/ItemRenderQeContainment.java create mode 100644 src/main/java/com/hbm/render/item/block/door/ItemRenderQeSlidingDoor.java create mode 100644 src/main/java/com/hbm/render/item/block/door/ItemRenderRoundAirlockDoor.java create mode 100644 src/main/java/com/hbm/render/item/block/door/ItemRenderSecureAccessDoor.java create mode 100644 src/main/java/com/hbm/render/item/block/door/ItemRenderSlidingSealDoor.java create mode 100644 src/main/java/com/hbm/render/item/block/door/ItemRenderWaterDoor.java diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index d4c4b05d3..12263d9b2 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1,5 +1,6 @@ package com.hbm.main; +import com.hbm.render.item.block.door.*; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -458,8 +459,13 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.chainsaw, new ItemRenderChainsaw()); MinecraftForgeClient.registerItemRenderer(ModItems.boltgun, new ItemRenderBoltgun()); // 1.12.2 Doors - ItemRenderSlidingSealDoor door = new ItemRenderSlidingSealDoor(); - MinecraftForgeClient.registerItemRenderer(door.getItemForRenderer(), door.getRenderer()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.sliding_seal_door), new ItemRenderSlidingSealDoor()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.water_door), new ItemRenderWaterDoor()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.secure_access_door), new ItemRenderSecureAccessDoor()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.round_airlock_door), new ItemRenderRoundAirlockDoor()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.qe_sliding_door), new ItemRenderQeSlidingDoor()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.qe_containment), new ItemRenderQeContainment()); + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.large_vehicle_door), new ItemRenderLargeVehicleDoor()); //guns MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg, new ItemRenderRpg()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_karl, new ItemRenderRpg()); diff --git a/src/main/java/com/hbm/render/item/ItemRenderBase.java b/src/main/java/com/hbm/render/item/ItemRenderBase.java index 11524676f..6d50b0f8d 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderBase.java +++ b/src/main/java/com/hbm/render/item/ItemRenderBase.java @@ -1,5 +1,7 @@ package com.hbm.render.item; +import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import net.minecraft.client.renderer.RenderHelper; @@ -62,4 +64,8 @@ public abstract class ItemRenderBase implements IItemRenderer { public void renderInventory() { } public void renderCommon() { } public void renderCommonWithStack(ItemStack item) { } + + public final void bindTexture(ResourceLocation res) { + Minecraft.getMinecraft().renderEngine.bindTexture(res); + } } diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index a6760025c..440b04eed 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -727,95 +727,6 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.vault_cog_tex); ResourceManager.vault_cog.renderAll(); bindTexture(ResourceManager.vault_label_101_tex); ResourceManager.vault_label.renderAll(); }}); - renderers.put(Item.getItemFromBlock(ModBlocks.secure_access_door), new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -4, 0); - GL11.glScaled(2.4, 2.4, 2.4); - } - public void renderCommon() { - bindTexture(ResourceManager.secure_access_door_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.secure_access_door.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - }); - - renderers.put(Item.getItemFromBlock(ModBlocks.large_vehicle_door), new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -4, 0); - GL11.glScaled(1.8, 1.8, 1.8); - } - public void renderCommon() { - bindTexture(ResourceManager.large_vehicle_door_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.large_vehicle_door.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - }); - renderers.put(Item.getItemFromBlock(ModBlocks.water_door), new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -4, 0); - GL11.glScaled(4, 4, 4); - } - public void renderCommon() { - bindTexture(ResourceManager.water_door_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.water_door.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - }); - renderers.put(Item.getItemFromBlock(ModBlocks.qe_containment), new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -3.5, 0); - GL11.glScaled(3.8, 3.8, 3.8); - } - public void renderCommon() { - bindTexture(ResourceManager.qe_containment_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.qe_containment.renderAllExcept("decal"); - bindTexture(ResourceManager.qe_containment_decal); - ResourceManager.qe_containment.renderPart("decal"); - GL11.glShadeModel(GL11.GL_FLAT); - } - }); - renderers.put(Item.getItemFromBlock(ModBlocks.qe_sliding_door), new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -3.5, 0); - GL11.glScaled(6, 6, 6); - } - public void renderCommon() { - bindTexture(ResourceManager.qe_sliding_door_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.qe_sliding_door.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - }); - - renderers.put(Item.getItemFromBlock(ModBlocks.round_airlock_door), new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -4, 0); - GL11.glScaled(3, 3, 3); - } - public void renderCommon() { - bindTexture(ResourceManager.round_airlock_door_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.round_airlock_door.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - }); - -/* renderers.put(Item.getItemFromBlock(ModBlocks.sliding_seal_door), new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -5, 0); - GL11.glScaled(7, 7, 7); - } - public void renderCommon() { - bindTexture(ResourceManager.sliding_seal_door_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.sliding_seal_door.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - });*/ renderers.put(Item.getItemFromBlock(ModBlocks.blast_door), new ItemRenderBase() { public void renderInventory() { @@ -1425,8 +1336,4 @@ public class ItemRenderLibrary { //hi there! it seems you are trying to register a new item renderer, most likely for a tile entity. //please refer to the comment at the start of the file on how to do this without adding to this gigantic pile of feces. } - - private static void bindTexture(ResourceLocation res) { - Minecraft.getMinecraft().renderEngine.bindTexture(res); - } } diff --git a/src/main/java/com/hbm/render/item/block/ItemRenderSlidingSealDoor.java b/src/main/java/com/hbm/render/item/block/ItemRenderSlidingSealDoor.java deleted file mode 100644 index a22cf0153..000000000 --- a/src/main/java/com/hbm/render/item/block/ItemRenderSlidingSealDoor.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hbm.render.item.block; - -import com.hbm.blocks.ModBlocks; -import com.hbm.main.ResourceManager; -import com.hbm.render.item.ItemRenderBase; -import com.hbm.render.tileentity.IItemRendererProvider; -import net.minecraft.client.Minecraft; -import net.minecraft.item.Item; -import net.minecraftforge.client.IItemRenderer; -import org.lwjgl.opengl.GL11; - -public class ItemRenderSlidingSealDoor implements IItemRendererProvider { - @Override - public Item getItemForRenderer() { - return Item.getItemFromBlock(ModBlocks.sliding_seal_door); - } - - @Override - public IItemRenderer getRenderer() { - return new ItemRenderBase(){ - public void renderInventory() { - GL11.glTranslated(0, -5, 0); - GL11.glScaled(7, 7, 7); - } - public void renderCommon() { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.sliding_seal_door_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.sliding_seal_door.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - }; - } -} diff --git a/src/main/java/com/hbm/render/item/block/door/ItemRenderLargeVehicleDoor.java b/src/main/java/com/hbm/render/item/block/door/ItemRenderLargeVehicleDoor.java new file mode 100644 index 000000000..1f1128a94 --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/door/ItemRenderLargeVehicleDoor.java @@ -0,0 +1,22 @@ +package com.hbm.render.item.block.door; + +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import org.lwjgl.opengl.GL11; + +public class ItemRenderLargeVehicleDoor extends ItemRenderBase { + + @Override + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(1.8, 1.8, 1.8); + } + + @Override + public void renderCommon() { + bindTexture(ResourceManager.large_vehicle_door_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.large_vehicle_door.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/block/door/ItemRenderQeContainment.java b/src/main/java/com/hbm/render/item/block/door/ItemRenderQeContainment.java new file mode 100644 index 000000000..37550c47a --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/door/ItemRenderQeContainment.java @@ -0,0 +1,24 @@ +package com.hbm.render.item.block.door; + +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import org.lwjgl.opengl.GL11; + +public class ItemRenderQeContainment extends ItemRenderBase { + + @Override + public void renderInventory() { + GL11.glTranslated(0, -3.5, 0); + GL11.glScaled(3.8, 3.8, 3.8); + } + + @Override + public void renderCommon() { + bindTexture(ResourceManager.qe_containment_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.qe_containment.renderAllExcept("decal"); + bindTexture(ResourceManager.qe_containment_decal); + ResourceManager.qe_containment.renderPart("decal"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/block/door/ItemRenderQeSlidingDoor.java b/src/main/java/com/hbm/render/item/block/door/ItemRenderQeSlidingDoor.java new file mode 100644 index 000000000..971a46c71 --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/door/ItemRenderQeSlidingDoor.java @@ -0,0 +1,22 @@ +package com.hbm.render.item.block.door; + +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import org.lwjgl.opengl.GL11; + +public class ItemRenderQeSlidingDoor extends ItemRenderBase { + + @Override + public void renderInventory() { + GL11.glTranslated(0, -3.5, 0); + GL11.glScaled(6, 6, 6); + } + + @Override + public void renderCommon() { + bindTexture(ResourceManager.qe_sliding_door_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.qe_sliding_door.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/block/door/ItemRenderRoundAirlockDoor.java b/src/main/java/com/hbm/render/item/block/door/ItemRenderRoundAirlockDoor.java new file mode 100644 index 000000000..b6af7c072 --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/door/ItemRenderRoundAirlockDoor.java @@ -0,0 +1,22 @@ +package com.hbm.render.item.block.door; + +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import org.lwjgl.opengl.GL11; + +public class ItemRenderRoundAirlockDoor extends ItemRenderBase { + + @Override + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(3, 3, 3); + } + + @Override + public void renderCommon() { + bindTexture(ResourceManager.round_airlock_door_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.round_airlock_door.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/block/door/ItemRenderSecureAccessDoor.java b/src/main/java/com/hbm/render/item/block/door/ItemRenderSecureAccessDoor.java new file mode 100644 index 000000000..35ee0d5b2 --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/door/ItemRenderSecureAccessDoor.java @@ -0,0 +1,22 @@ +package com.hbm.render.item.block.door; + +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import org.lwjgl.opengl.GL11; + +public class ItemRenderSecureAccessDoor extends ItemRenderBase { + + @Override + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(2.4, 2.4, 2.4); + } + + @Override + public void renderCommon() { + bindTexture(ResourceManager.secure_access_door_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.secure_access_door.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/block/door/ItemRenderSlidingSealDoor.java b/src/main/java/com/hbm/render/item/block/door/ItemRenderSlidingSealDoor.java new file mode 100644 index 000000000..2a35a4cf1 --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/door/ItemRenderSlidingSealDoor.java @@ -0,0 +1,21 @@ +package com.hbm.render.item.block.door; + +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import org.lwjgl.opengl.GL11; + +public class ItemRenderSlidingSealDoor extends ItemRenderBase { + @Override + public void renderInventory() { + GL11.glTranslated(0, -5, 0); + GL11.glScaled(7, 7, 7); + } + + @Override + public void renderCommon() { + bindTexture(ResourceManager.sliding_seal_door_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.sliding_seal_door.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/block/door/ItemRenderWaterDoor.java b/src/main/java/com/hbm/render/item/block/door/ItemRenderWaterDoor.java new file mode 100644 index 000000000..0fc25474f --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/door/ItemRenderWaterDoor.java @@ -0,0 +1,22 @@ +package com.hbm.render.item.block.door; + +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import org.lwjgl.opengl.GL11; + +public class ItemRenderWaterDoor extends ItemRenderBase { + + @Override + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(4, 4, 4); + } + + @Override + public void renderCommon() { + bindTexture(ResourceManager.water_door_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.water_door.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +}