From 758485b4d0b0eff6527ce59817f5ccef734c0df3 Mon Sep 17 00:00:00 2001 From: Kam Date: Sun, 2 Mar 2025 22:28:28 -0500 Subject: [PATCH] Mailbox Remodel --- .../client/model/blocks/ModelMailbox.java | 37 ++++++++++++++++++ .../ModelLegacyMailboxUS.java} | 30 +++++++------- .../renderer/blocks/BlockMailboxRenderer.java | 32 +++++++++++---- .../java/noppes/npcs/config/ConfigClient.java | 2 + .../textures/models/{ => legacy}/mailbox1.png | Bin .../customnpcs/textures/models/mailbox.png | Bin 0 -> 1097 bytes 6 files changed, 78 insertions(+), 23 deletions(-) create mode 100644 src/main/java/noppes/npcs/client/model/blocks/ModelMailbox.java rename src/main/java/noppes/npcs/client/model/blocks/{ModelMailboxUS.java => legacy/ModelLegacyMailboxUS.java} (94%) rename src/main/resources/assets/customnpcs/textures/models/{ => legacy}/mailbox1.png (100%) create mode 100644 src/main/resources/assets/customnpcs/textures/models/mailbox.png diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelMailbox.java b/src/main/java/noppes/npcs/client/model/blocks/ModelMailbox.java new file mode 100644 index 000000000..7e0e0d27d --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/ModelMailbox.java @@ -0,0 +1,37 @@ +package noppes.npcs.client.model.blocks;// Made with Blockbench 4.12.2 +// Exported for Minecraft version 1.7 - 1.12 +// Paste this class into your mod and generate all required imports + + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelMailbox extends ModelBase { + private final ModelRenderer mailbox; + + public ModelMailbox() { + textureWidth = 64; + textureHeight = 64; + + mailbox = new ModelRenderer(this); + mailbox.setRotationPoint(0.0F, 24.0F, 0.0F); + mailbox.cubeList.add(new ModelBox(mailbox, 0, 0, -8.0F, -24.0F, -8.0F, 16, 20, 16, 0.0F)); + mailbox.cubeList.add(new ModelBox(mailbox, 0, 36, -8.0F, -4.0F, 6.0F, 2, 4, 2, 0.0F)); + mailbox.cubeList.add(new ModelBox(mailbox, 0, 36, 6.0F, -4.0F, 6.0F, 2, 4, 2, 0.0F)); + mailbox.cubeList.add(new ModelBox(mailbox, 0, 36, 6.0F, -4.0F, -8.0F, 2, 4, 2, 0.0F)); + mailbox.cubeList.add(new ModelBox(mailbox, 0, 36, -8.0F, -4.0F, -8.0F, 2, 4, 2, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + mailbox.render(f5); + } + + public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelMailboxUS.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyMailboxUS.java similarity index 94% rename from src/main/java/noppes/npcs/client/model/blocks/ModelMailboxUS.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyMailboxUS.java index 522e8cf5e..ebe986822 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelMailboxUS.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyMailboxUS.java @@ -1,10 +1,10 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelMailboxUS extends ModelBase { +public class ModelLegacyMailboxUS extends ModelBase { // fields ModelRenderer Shape1; ModelRenderer Shape2; @@ -20,58 +20,58 @@ public class ModelMailboxUS extends ModelBase { ModelRenderer Shape12; ModelRenderer Shape13; - public ModelMailboxUS() { + public ModelLegacyMailboxUS() { textureWidth = 64; textureHeight = 128; Shape1 = new ModelRenderer(this, 0, 48); Shape1.addBox(0F, 0F, 0F, 16, 14, 16); Shape1.setRotationPoint(-8F, 8F, -8F); - + Shape2 = new ModelRenderer(this, 0, 79); Shape2.addBox(0F, 0F, 0F, 1, 2, 1); Shape2.setRotationPoint(-8F, 22F, -8F); - + Shape3 = new ModelRenderer(this, 5, 79); Shape3.addBox(0F, 0F, 0F, 1, 2, 1); Shape3.setRotationPoint(-8F, 22F, 7F); - + Shape4 = new ModelRenderer(this, 10, 79); Shape4.addBox(0F, 0F, 0F, 1, 2, 1); Shape4.setRotationPoint(7F, 22F, -8F); - + Shape5 = new ModelRenderer(this, 15, 79); Shape5.addBox(0F, 0F, 0F, 1, 2, 1); Shape5.setRotationPoint(7F, 22F, 7F); - + Shape6 = new ModelRenderer(this, 0, 14); Shape6.addBox(0F, 0F, 0F, 16, 3, 7); Shape6.setRotationPoint(-8F, 5F, 0F); - + Shape7 = new ModelRenderer(this, 0, 6); Shape7.addBox(0F, 0F, 0F, 16, 2, 6); Shape7.setRotationPoint(-8F, 3F, 0F); - + Shape8 = new ModelRenderer(this, 0, 0); Shape8.addBox(0F, 0F, 0F, 16, 1, 5); Shape8.setRotationPoint(-8F, 2F, 0F); - + Shape9 = new ModelRenderer(this, 0, 37); Shape9.addBox(0F, 0F, 0F, 1, 3, 7); Shape9.setRotationPoint(-8F, 5F, -7F); - + Shape10 = new ModelRenderer(this, 16, 37); Shape10.addBox(0F, 0F, 0F, 1, 3, 7); Shape10.setRotationPoint(7F, 5F, -7F); - + Shape11 = new ModelRenderer(this, 0, 29); Shape11.addBox(0F, 0F, 0F, 1, 2, 6); Shape11.setRotationPoint(-8F, 3F, -6F); - + Shape12 = new ModelRenderer(this, 14, 29); Shape12.addBox(0F, 0F, 0F, 1, 2, 6); Shape12.setRotationPoint(7F, 3F, -6F); - + Shape13 = new ModelRenderer(this, 0, 25); Shape13.addBox(0F, 0F, 0F, 16, 1, 3); Shape13.setRotationPoint(-8F, 2F, -3F); diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockMailboxRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockMailboxRenderer.java index 6a93b68f6..87a25b902 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockMailboxRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockMailboxRenderer.java @@ -10,18 +10,23 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.IBlockAccess; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockMailbox; -import noppes.npcs.client.model.blocks.ModelMailboxUS; +import noppes.npcs.client.model.blocks.ModelMailbox; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyMailboxUS; import noppes.npcs.client.model.blocks.ModelMailboxWow; +import noppes.npcs.config.ConfigClient; import org.lwjgl.opengl.GL11; public class BlockMailboxRenderer extends TileEntitySpecialRenderer implements ISimpleBlockRenderingHandler{ - private final ModelMailboxUS model = new ModelMailboxUS(); + private final ModelMailbox mailbox = new ModelMailbox(); + private static final ResourceLocation mailbox_texture = new ResourceLocation("customnpcs","textures/models/mailbox.png"); + + private final ModelLegacyMailboxUS model = new ModelLegacyMailboxUS(); private final ModelMailboxWow model2 = new ModelMailboxWow(); - private static final ResourceLocation text1 = new ResourceLocation("customnpcs","textures/models/mailbox1.png"); + private static final ResourceLocation text1 = new ResourceLocation("customnpcs","textures/models/legacy/mailbox1.png"); private static final ResourceLocation text2 = new ResourceLocation("customnpcs","textures/models/mailbox2.png"); - + public BlockMailboxRenderer(){ ((BlockMailbox)CustomItems.mailbox).renderId = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(this); @@ -35,8 +40,14 @@ public class BlockMailboxRenderer extends TileEntitySpecialRenderer implements I GL11.glRotatef(180, 0, 0, 1); GL11.glRotatef(90 * meta, 0, 1, 0); if(type == 0){ - this.bindTexture(text1); - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + if(ConfigClient.LegacyMailbox){ + this.bindTexture(text1); + model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } else { + GL11.glScalef(0.99f, 1f, 0.99f); + this.bindTexture(mailbox_texture); + mailbox.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } } if(type == 1){ this.bindTexture(text2); @@ -54,8 +65,13 @@ public class BlockMailboxRenderer extends TileEntitySpecialRenderer implements I GL11.glRotatef(180, 0, 0, 1); GL11.glRotatef(180, 0, 1, 0); if(metadata == 0){ - this.bindTexture(text1); - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + if(ConfigClient.LegacyMailbox){ + this.bindTexture(text1); + model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } else { + this.bindTexture(mailbox_texture); + mailbox.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } } if(metadata == 1){ this.bindTexture(text2); diff --git a/src/main/java/noppes/npcs/config/ConfigClient.java b/src/main/java/noppes/npcs/config/ConfigClient.java index 96fc12067..8417827c1 100644 --- a/src/main/java/noppes/npcs/config/ConfigClient.java +++ b/src/main/java/noppes/npcs/config/ConfigClient.java @@ -114,6 +114,7 @@ public class ConfigClient public static boolean LegacyCandle = false; public static boolean LegacyTallLamp = false; public static boolean LegacyPedestal = false; + public static boolean LegacyMailbox = false; public static void init(File configFile) { @@ -239,6 +240,7 @@ public class ConfigClient LegacyCandle = config.get(MODEL, "Legacy Candle Model", false).getBoolean(false); LegacyTallLamp = config.get(MODEL, "Legacy Tall Lamp Model", false).getBoolean(false); LegacyPedestal = config.get(MODEL, "Legacy Pedestal Model", false).getBoolean(false); + LegacyMailbox = config.get(MODEL, "Legacy Mailbox Model", false).getBoolean(false); // Convert to Legacy if(CustomNpcs.legacyExist){ diff --git a/src/main/resources/assets/customnpcs/textures/models/mailbox1.png b/src/main/resources/assets/customnpcs/textures/models/legacy/mailbox1.png similarity index 100% rename from src/main/resources/assets/customnpcs/textures/models/mailbox1.png rename to src/main/resources/assets/customnpcs/textures/models/legacy/mailbox1.png diff --git a/src/main/resources/assets/customnpcs/textures/models/mailbox.png b/src/main/resources/assets/customnpcs/textures/models/mailbox.png new file mode 100644 index 0000000000000000000000000000000000000000..1676d6dfe75c67be5cbc8af5f7ad504964357e28 GIT binary patch literal 1097 zcmV-P1h)H$P)Px(14%?dRCt{2TFq_~F%X`FDiU=rkye{S;Q&$<9)KG{z?}!-&I|AYybX7R5DyVW zY7aDrU8RIWTvgoz9FlQnXU9JqZ`EzeQZpk| zA9vb@ZiC=v-RM)}No}|BSsHs6h<5>I%2Z&R;M7{~8qs-x-mI+xPxBMgF3ROz2|Y@R zq7}e*k_s*L7v-`(w~XZ=4xOjMMY*gAN!zr)FX${4&ZnnP77Np+&%B*aPrD);jZR}g zTfyi_&{b~V7SS%C_3EG_O>fq{2!;c^&r6_L8wyE}GkURUd#u^!Q#$w@qNqdb5e*lR zvNkTf?V0<%4f*ucxt89n>+V5#@+pHV4tV~--T_sBFI|;(nD&*$A~*)%Sew;IjB-Ay zBDkg6*2Q;9&rGc%CSuEiE>|4lk#{7IVLt~2?PxkKQP%3a2Lj};vP2(aX z_&)_te0-H18ttd~iI^KmalpJ2s!eTzFba-yj`*UsNgT+0Q7(-VUcCHh-bp}V%VJRz zo-4v-aVWSi7VtD&q65Ad(02DZK_6`M!D9tBi}j`9K-?AQI%9xMc!`kKb2vYnd;NP~ z27ljJlUo5l4Sb;17z(2RSH(7jpi(n)3b-w!o-!Z8G&g@51byqFl2O6lOi(g?+hqql zX3hPQuM0j~FyAiir`3uqJk%$s{5TLR`H!7+d*CF1VtxzVcVizIJH25i^XQ1<}LUxXTkZET(A6+FqZ z*I%%+s;;1_u3$7eW|M{u!AGN~P~BVu0Knh%1yt1~034fja1E_jP*qpEImf&9b}WvO z)~#-?LF-k67hJ0@*dH%_oVR_xgz9GdzY2FMjJqafUY=@=>(e-GE0r~h6`}tr2;tp_ z!L#QdtR=Bl1UE%+VYAKH+oo^+U-S0e*M9(DiW;&1y}2*w{KLq7!vJ^QhMzw^KWIxB z@~=6ruR9MB#syrTvK}&q@Q8&^NJvOXNJvOXNJvOXNJvOXNJvOXcx?C&E9)6F7+ef6 P00000NkvXXu0mjfzs>cV literal 0 HcmV?d00001