From 4aa0a96f1fb88105288d15a0f4c86b876d4a71e4 Mon Sep 17 00:00:00 2001 From: Kam Date: Sun, 26 Jan 2025 15:47:04 -0500 Subject: [PATCH] Banner Upgrade WIP --- .../model/blocks/banner/ModelBannerFloor.java | 69 ++++++++++++++++++ .../blocks/banner/ModelBannerFloorFlag.java | 30 ++++++++ .../ModelLegacyBanner.java} | 30 ++++---- .../ModelLegacyBannerFlag.java} | 14 ++-- .../ModelLegacyWallBanner.java} | 14 ++-- .../ModelLegacyWallBannerFlag.java} | 6 +- .../renderer/blocks/BlockBannerRenderer.java | 65 +++++++++++++---- .../blocks/BlockWallBannerRenderer.java | 14 ++-- .../java/noppes/npcs/config/ConfigClient.java | 2 + .../models/banner/BannerFloorDiamond.png | Bin 0 -> 1465 bytes .../models/banner/BannerFloorGold.png | Bin 0 -> 1368 bytes .../models/banner/BannerFloorIron.png | Bin 0 -> 797 bytes .../models/banner/BannerFloorStone.png | Bin 0 -> 843 bytes .../models/banner/BannerFloorWood.png | Bin 0 -> 776 bytes .../models/banner/flag/BannerFlag1.png | Bin 0 -> 270 bytes .../models/banner/flag/BannerFlag2.png | Bin 0 -> 282 bytes .../models/banner/flag/BannerFlag3.png | Bin 0 -> 297 bytes .../models/banner/flag/BannerFlag4.png | Bin 0 -> 407 bytes .../models/banner/flag/BannerFlag5.png | Bin 0 -> 270 bytes 19 files changed, 190 insertions(+), 54 deletions(-) create mode 100644 src/main/java/noppes/npcs/client/model/blocks/banner/ModelBannerFloor.java create mode 100644 src/main/java/noppes/npcs/client/model/blocks/banner/ModelBannerFloorFlag.java rename src/main/java/noppes/npcs/client/model/blocks/{ModelBanner.java => legacy/ModelLegacyBanner.java} (93%) rename src/main/java/noppes/npcs/client/model/blocks/{ModelBannerFlag.java => legacy/ModelLegacyBannerFlag.java} (83%) rename src/main/java/noppes/npcs/client/model/blocks/{ModelWallBanner.java => legacy/ModelLegacyWallBanner.java} (91%) rename src/main/java/noppes/npcs/client/model/blocks/{ModelWallBannerFlag.java => legacy/ModelLegacyWallBannerFlag.java} (78%) create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorDiamond.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorGold.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorIron.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorStone.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorWood.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag1.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag2.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag3.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag4.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag5.png diff --git a/src/main/java/noppes/npcs/client/model/blocks/banner/ModelBannerFloor.java b/src/main/java/noppes/npcs/client/model/blocks/banner/ModelBannerFloor.java new file mode 100644 index 000000000..b58c134a1 --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/banner/ModelBannerFloor.java @@ -0,0 +1,69 @@ +package noppes.npcs.client.model.blocks.banner; + +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 ModelBannerFloor extends ModelBase { + private final ModelRenderer FloorBanner; + private final ModelRenderer Leg4_r1; + private final ModelRenderer Leg3_r1; + private final ModelRenderer Leg2_r1; + private final ModelRenderer Leg1_r1; + private final ModelRenderer Point1_r1; + + public ModelBannerFloor() { + textureWidth = 64; + textureHeight = 64; + + FloorBanner = new ModelRenderer(this); + FloorBanner.setRotationPoint(0.0F, 24.0F, 0.0F); + FloorBanner.cubeList.add(new ModelBox(FloorBanner, 0, 0, -8.0F, -32.0F, -1.0F, 16, 3, 3, 0.0F)); + FloorBanner.cubeList.add(new ModelBox(FloorBanner, 0, 8, -6.0F, -36.0F, 0.5F, 4, 4, 0, 0.0F)); + FloorBanner.cubeList.add(new ModelBox(FloorBanner, 0, 13, -1.0F, -29.0F, -0.5F, 2, 26, 2, 0.0F)); + FloorBanner.cubeList.add(new ModelBox(FloorBanner, 18, 28, -6.0F, -2.0F, -5.0F, 12, 2, 11, 0.0F)); + FloorBanner.cubeList.add(new ModelBox(FloorBanner, 26, 19, -4.0F, -4.0F, -3.0F, 8, 2, 7, 0.0F)); + + Leg4_r1 = new ModelRenderer(this); + Leg4_r1.setRotationPoint(-3.5F, -2.1F, 0.5F); + FloorBanner.addChild(Leg4_r1); + setRotationAngle(Leg4_r1, 0.0F, 0.0F, 1.1781F); + Leg4_r1.cubeList.add(new ModelBox(Leg4_r1, 10, 29, -1.0F, -3.0F, -1.0F, 2, 6, 2, 0.0F)); + + Leg3_r1 = new ModelRenderer(this); + Leg3_r1.setRotationPoint(0.0F, -2.1F, 4.0F); + FloorBanner.addChild(Leg3_r1); + setRotationAngle(Leg3_r1, 1.1781F, 0.0F, 0.0F); + Leg3_r1.cubeList.add(new ModelBox(Leg3_r1, 10, 29, -1.0F, -3.0F, -1.0F, 2, 6, 2, 0.0F)); + + Leg2_r1 = new ModelRenderer(this); + Leg2_r1.setRotationPoint(0.0F, -2.1F, -3.0F); + FloorBanner.addChild(Leg2_r1); + setRotationAngle(Leg2_r1, -1.1781F, 0.0F, 0.0F); + Leg2_r1.cubeList.add(new ModelBox(Leg2_r1, 10, 29, -1.0F, -3.0F, -1.0F, 2, 6, 2, 0.0F)); + + Leg1_r1 = new ModelRenderer(this); + Leg1_r1.setRotationPoint(3.5F, -2.1F, 0.5F); + FloorBanner.addChild(Leg1_r1); + setRotationAngle(Leg1_r1, 0.0F, 0.0F, -1.1781F); + Leg1_r1.cubeList.add(new ModelBox(Leg1_r1, 10, 29, -1.0F, -3.0F, -1.0F, 2, 6, 2, 0.0F)); + + Point1_r1 = new ModelRenderer(this); + Point1_r1.setRotationPoint(4.0F, -34.0F, 0.5F); + FloorBanner.addChild(Point1_r1); + setRotationAngle(Point1_r1, 0.0F, 3.1416F, 0.0F); + Point1_r1.cubeList.add(new ModelBox(Point1_r1, 0, 8, -2.0F, -2.0F, 0.0F, 4, 4, 0, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + FloorBanner.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/banner/ModelBannerFloorFlag.java b/src/main/java/noppes/npcs/client/model/blocks/banner/ModelBannerFloorFlag.java new file mode 100644 index 000000000..25adeb70d --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/banner/ModelBannerFloorFlag.java @@ -0,0 +1,30 @@ +package noppes.npcs.client.model.blocks.banner; + +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 ModelBannerFloorFlag extends ModelBase { + private final ModelRenderer BannerFlag; + + public ModelBannerFloorFlag() { + textureWidth = 32; + textureHeight = 32; + + BannerFlag = new ModelRenderer(this); + BannerFlag.setRotationPoint(0.0F, -8.0F, 5.0F); + BannerFlag.cubeList.add(new ModelBox(BannerFlag, 0, 0, -8.0F, 0.0F, -6.05F, 16, 32, 0, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + BannerFlag.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/ModelBanner.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBanner.java similarity index 93% rename from src/main/java/noppes/npcs/client/model/blocks/ModelBanner.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBanner.java index 4f9bde1f8..086e27b65 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelBanner.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBanner.java @@ -1,11 +1,11 @@ -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 ModelBanner extends ModelBase +public class ModelLegacyBanner extends ModelBase { //fields ModelRenderer Base; @@ -18,50 +18,50 @@ public class ModelBanner extends ModelBase ModelRenderer BaseDeco2; ModelRenderer BaseDeco3; ModelRenderer BaseDeco4; - - public ModelBanner() + + public ModelLegacyBanner() { Base = new ModelRenderer(this, 3, 1); Base.addBox(-7F, 0F, -7F, 14, 1, 14); Base.setRotationPoint(0F, 23F, 0F); - + MiddleStick = new ModelRenderer(this, 12, 2); MiddleStick.addBox(-1F, 0F, -1F, 2, 32, 2); MiddleStick.setRotationPoint(0F, -9F, 0F); - + StickDecoration = new ModelRenderer(this, 11, 12); StickDecoration.addBox(0F, 0F, 0F, 16, 3, 3); StickDecoration.setRotationPoint(-8F, -7.5F, -1.5F); - + TopDecoration = new ModelRenderer(this, 45, 19); TopDecoration.addBox(0F, 0F, 0F, 1, 1, 1); TopDecoration.setRotationPoint(-0.5F, -10F, -0.5F); - + FlagPole1 = new ModelRenderer(this, 45, 19); FlagPole1.addBox(0F, 0F, 0F, 1, 1, 1); FlagPole1.setRotationPoint(-7F, -6.5F, -2.5F); - + FlagPole2 = new ModelRenderer(this, 45, 19); FlagPole2.addBox(0F, 0F, 0F, 1, 1, 1); FlagPole2.setRotationPoint(6F, -6.5F, -2.5F); - + BaseDeco1 = new ModelRenderer(this, 1, 14); BaseDeco1.addBox(0F, 0F, 0F, 12, 1, 1); BaseDeco1.setRotationPoint(-6F, 23F, -8F); - + BaseDeco2 = new ModelRenderer(this, 1, 14); BaseDeco2.addBox(0F, 0F, 0F, 12, 1, 1); BaseDeco2.setRotationPoint(-6F, 23F, 7F); - + BaseDeco3 = new ModelRenderer(this, 2, 2); BaseDeco3.addBox(0F, 0F, 0F, 1, 1, 12); BaseDeco3.setRotationPoint(-8F, 23F, -6F); - + BaseDeco4 = new ModelRenderer(this, 2, 2); BaseDeco4.addBox(0F, 0F, 0F, 1, 1, 12); BaseDeco4.setRotationPoint(7F, 23F, -6F); } - + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); @@ -76,7 +76,7 @@ public class ModelBanner extends ModelBase BaseDeco3.render(f5); BaseDeco4.render(f5); } - + private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelBannerFlag.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBannerFlag.java similarity index 83% rename from src/main/java/noppes/npcs/client/model/blocks/ModelBannerFlag.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBannerFlag.java index bc3ea2656..b6830ad7a 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelBannerFlag.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBannerFlag.java @@ -1,31 +1,31 @@ -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 ModelBannerFlag extends ModelBase +public class ModelLegacyBannerFlag extends ModelBase { ModelRenderer Flag; - - public ModelBannerFlag() + + public ModelLegacyBannerFlag() { textureWidth = 32; textureHeight = 32; - + Flag = new ModelRenderer(this, 0, 0); Flag.addBox(0F, 0F, 0F, 15, 27, 0); Flag.setRotationPoint(-7.5F, -7F, -2F); Flag.setTextureSize(32, 32); } - + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); Flag.render(f5); } - + private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelWallBanner.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyWallBanner.java similarity index 91% rename from src/main/java/noppes/npcs/client/model/blocks/ModelWallBanner.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyWallBanner.java index a4f9610a5..851201603 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelWallBanner.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyWallBanner.java @@ -4,13 +4,13 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX -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 ModelWallBanner extends ModelBase { +public class ModelLegacyWallBanner extends ModelBase { // fields ModelRenderer MiddleStick; ModelRenderer StickDecoration; @@ -18,24 +18,24 @@ public class ModelWallBanner extends ModelBase { ModelRenderer FlagPole1; ModelRenderer FlagPole2; - public ModelWallBanner() { + public ModelLegacyWallBanner() { MiddleStick = new ModelRenderer(this, 56, 0); MiddleStick.addBox(-1F, 0F, -1F, 2, 3, 2); MiddleStick.setRotationPoint(0F, -9F, 6.5F); - + StickDecoration = new ModelRenderer(this, 11, 12); StickDecoration.addBox(0F, 0F, 0F, 16, 3, 3); StickDecoration.setRotationPoint(-8F, -7.5F, 5F); - + TopDecoration = new ModelRenderer(this, 45, 19); TopDecoration.addBox(0F, 0F, 0F, 1, 1, 1); TopDecoration.setRotationPoint(-0.5F, -10F, 6F); - + FlagPole1 = new ModelRenderer(this, 45, 19); FlagPole1.addBox(0F, 0F, 0F, 1, 1, 1); FlagPole1.setRotationPoint(-7F, -6.5F, 4F); - + FlagPole2 = new ModelRenderer(this, 45, 19); FlagPole2.addBox(0F, 0F, 0F, 1, 1, 1); FlagPole2.setRotationPoint(6F, -6.5F, 4F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelWallBannerFlag.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyWallBannerFlag.java similarity index 78% rename from src/main/java/noppes/npcs/client/model/blocks/ModelWallBannerFlag.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyWallBannerFlag.java index a32a5fed6..17e152f3a 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelWallBannerFlag.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyWallBannerFlag.java @@ -1,13 +1,13 @@ -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 ModelWallBannerFlag extends ModelBase { +public class ModelLegacyWallBannerFlag extends ModelBase { ModelRenderer Flag; - public ModelWallBannerFlag() { + public ModelLegacyWallBannerFlag() { textureWidth = 32; textureHeight = 32; Flag = new ModelRenderer(this, 0, 0); diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockBannerRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockBannerRenderer.java index 163428087..f428c0372 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockBannerRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockBannerRenderer.java @@ -14,19 +14,31 @@ import net.minecraft.util.ResourceLocation; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockBanner; import noppes.npcs.blocks.tiles.TileBanner; -import noppes.npcs.client.model.blocks.ModelBanner; -import noppes.npcs.client.model.blocks.ModelBannerFlag; +import noppes.npcs.client.model.blocks.banner.ModelBannerFloor; +import noppes.npcs.client.model.blocks.banner.ModelBannerFloorFlag; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyBanner; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyBannerFlag; +import noppes.npcs.config.ConfigClient; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class BlockBannerRenderer extends BlockRendererInterface{ - private final ModelBanner model = new ModelBanner(); - private final ModelBannerFlag flag = new ModelBannerFlag(); + private final ModelLegacyBanner legacyBanner = new ModelLegacyBanner(); + private final ModelLegacyBannerFlag legacyFlag = new ModelLegacyBannerFlag(); - public static final ResourceLocation resourceFlag = new ResourceLocation("customnpcs","textures/models/BannerFlag.png"); + private final ModelBannerFloor banner = new ModelBannerFloor(); + private final ModelBannerFloorFlag flag = new ModelBannerFloorFlag(); + public static final ResourceLocation legacyFlagResource = new ResourceLocation("customnpcs","textures/models/BannerFlag.png"); + public static final ResourceLocation flagResource = new ResourceLocation("customnpcs","textures/models/banner/flag/BannerFlag1.png"); + + protected static final ResourceLocation BannerWood = new ResourceLocation("customnpcs","textures/models/banner/BannerFloorWood.png"); + protected static final ResourceLocation BannerStone = new ResourceLocation("customnpcs","textures/models/banner/BannerFloorStone.png"); + protected static final ResourceLocation BannerIron = new ResourceLocation("customnpcs","textures/models/banner/BannerFloorIron.png"); + protected static final ResourceLocation BannerGold = new ResourceLocation("customnpcs","textures/models/banner/BannerFloorGold.png"); + protected static final ResourceLocation BannerDiamond = new ResourceLocation("customnpcs","textures/models/banner/BannerFloorDiamond.png"); public BlockBannerRenderer(){ ((BlockBanner)CustomItems.banner).renderId = RenderingRegistry.getNextAvailableRenderId(); @@ -46,13 +58,24 @@ public class BlockBannerRenderer extends BlockRendererInterface{ GL11.glRotatef(90 * tile.rotation, 0, 1, 0); GL11.glColor3f(1, 1, 1); - setMaterialTexture(var1.getBlockMetadata()); - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + if(ConfigClient.LegacyBanner){ + setMaterialTexture(var1.getBlockMetadata()); + legacyBanner.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - this.bindTexture(resourceFlag); - float[] color = colorTable[tile.color]; - GL11.glColor3f(color[0], color[1], color[2]); - flag.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + this.bindTexture(legacyFlagResource); + float[] color = colorTable[tile.color]; + GL11.glColor3f(color[0], color[1], color[2]); + legacyFlag.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + else { + setBannerMaterial(var1.getBlockMetadata()); + banner.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + + this.bindTexture(flagResource); + float[] color = colorTable[tile.color]; + GL11.glColor3f(color[0], color[1], color[2]); + flag.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } GL11.glPopMatrix(); GL11.glColor3f(1, 1, 1); @@ -135,12 +158,12 @@ public class BlockBannerRenderer extends BlockRendererInterface{ setMaterialTexture(metadata); GL11.glColor3f(1, 1, 1); - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + legacyBanner.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - this.bindTexture(resourceFlag); + this.bindTexture(legacyFlagResource); float[] color = colorTable[15 - metadata]; GL11.glColor3f(color[0], color[1], color[2]); - flag.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + legacyFlag.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); GL11.glPopMatrix(); } @@ -152,4 +175,18 @@ public class BlockBannerRenderer extends BlockRendererInterface{ public int specialRenderDistance(){ return 26; } + + public void setBannerMaterial(int meta){ + TextureManager manager = Minecraft.getMinecraft().getTextureManager(); + if(meta == 1) + manager.bindTexture(BannerStone); + else if(meta == 2) + manager.bindTexture(BannerIron); + else if(meta == 3) + manager.bindTexture(BannerGold); + else if(meta == 4) + manager.bindTexture(BannerDiamond); + else + manager.bindTexture(BannerWood); + } } diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockWallBannerRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockWallBannerRenderer.java index d76e72669..0b83c9fa3 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockWallBannerRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockWallBannerRenderer.java @@ -2,8 +2,6 @@ package noppes.npcs.client.renderer.blocks; import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.Block; -import net.minecraft.block.BlockColored; -import net.minecraft.block.material.MapColor; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderBlocks; @@ -17,15 +15,15 @@ import net.minecraft.util.ResourceLocation; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockWallBanner; import noppes.npcs.blocks.tiles.TileWallBanner; -import noppes.npcs.client.model.blocks.ModelWallBanner; -import noppes.npcs.client.model.blocks.ModelWallBannerFlag; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyWallBanner; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyWallBannerFlag; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class BlockWallBannerRenderer extends BlockRendererInterface{ - private final ModelWallBanner model = new ModelWallBanner(); - private final ModelWallBannerFlag flag = new ModelWallBannerFlag(); + private final ModelLegacyWallBanner model = new ModelLegacyWallBanner(); + private final ModelLegacyWallBannerFlag flag = new ModelLegacyWallBannerFlag(); public BlockWallBannerRenderer(){ ((BlockWallBanner)CustomItems.wallBanner).renderId = RenderingRegistry.getNextAvailableRenderId(); @@ -48,7 +46,7 @@ public class BlockWallBannerRenderer extends BlockRendererInterface{ GL11.glColor3f(1, 1, 1); model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - this.bindTexture(BlockBannerRenderer.resourceFlag); + this.bindTexture(BlockBannerRenderer.legacyFlagResource); float[] color = BlockBannerRenderer.colorTable[tile.color]; GL11.glColor3f(color[0], color[1], color[2]); flag.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); @@ -154,7 +152,7 @@ public class BlockWallBannerRenderer extends BlockRendererInterface{ GL11.glColor3f(1, 1, 1); model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - this.bindTexture(BlockBannerRenderer.resourceFlag); + this.bindTexture(BlockBannerRenderer.legacyFlagResource); float[] color = BlockBannerRenderer.colorTable[15 - metadata]; GL11.glColor3f(color[0], color[1], color[2]); flag.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); diff --git a/src/main/java/noppes/npcs/config/ConfigClient.java b/src/main/java/noppes/npcs/config/ConfigClient.java index 06333ac60..3824f8e9b 100644 --- a/src/main/java/noppes/npcs/config/ConfigClient.java +++ b/src/main/java/noppes/npcs/config/ConfigClient.java @@ -77,6 +77,7 @@ public class ConfigClient * Model Properties **/ public static boolean LegacyCampfire = false; + public static boolean LegacyBanner = false; public static boolean LegacyChair = false; public static boolean LegacyBarrel = false; public static boolean LegacyCarpentryBench = false; @@ -138,6 +139,7 @@ public class ConfigClient BannerAlerts = BannerAlertsProperty.getBoolean(true); LegacyCampfire = config.get(MODEL, "Legacy Campfire Model", false).getBoolean(false); + LegacyBanner = config.get(MODEL, "Legacy Banner Model", false).getBoolean(false); LegacyBarrel = config.get(MODEL, "Legacy Barrel Model", false).getBoolean(false); LegacyChair = config.get(MODEL, "Legacy Chair Model", false).getBoolean(false); LegacyCarpentryBench = config.get(MODEL, "Legacy Carpentry Bench Model", false).getBoolean(false); diff --git a/src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorDiamond.png b/src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorDiamond.png new file mode 100644 index 0000000000000000000000000000000000000000..e55449a68934b636848eb47ace05287084dce32c GIT binary patch literal 1465 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 bQ(^u9JtmjdZcEJD00000NkvXXu0mjfSZryy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorStone.png b/src/main/resources/assets/customnpcs/textures/models/banner/BannerFloorStone.png new file mode 100644 index 0000000000000000000000000000000000000000..ae032ed57a564216f56f127f790260bf13f9c378 GIT binary patch literal 843 zcmV-R1GM~!P)Px&1xZ9fRCt{2n$K&~P#nNNje&$_Yqh1I2M?8=Cy36AI|%B@v+Oo+`v(M%vZJtn zU^l%DkFwJgWb7a+3{(UUWj%OUp)|AY5)$Z$hxR>RW4g`57Mi@zDam^z`Tly}_x&aX z6xLUlB5{2E?oAr?5?im{1K`*e0G(a{z?0R7G+TXsfByl%z#jrIUo-)z-&>$sad@-w z4uD$O2EYqK03JVmK-cy7w!J5x|7>Hozy)KfC!JnE(Hgx&qh12wYQ>S`1Aj=ZY)c^; z^%7e<9*%8E#lUF%cEzFD>Ql4|QhD=5Q!1$0>eHx~v7mS2F0rJV-(Nvf)FnV@xzE(+2-{z|Wn(E*!s?5LS58N#WFN^=Z5Da5{esKa6O* zo_wfk;ltkXgyq|=$Ns?)1Ai#p-wz`>Cw?!-wq$HqD-HvH$o|0*ZP$~}acqmKqL{dc zX*3#*Mx!}5`QllZ3}fYQ~;gHjAXjF>N)6Q!yktuD<)lKU)>7y<)-m<#tuC_r>#@`!ss zdGYDm4Px%!bwCyRCt{2nz4)1P#niU4Z(!=N}+dwx}DqYVkd8KIBpa-w=TlrCD*fUUR9Q$~83keWoNYwD0@N@ArQ1_e)whoE+`v z=J?g;pTv_XcdmB<=!5|P@k|5o@#_`h$&~vC0{{|r20*v%1Mu|q7_Aa+53d3c^+Etr zodNLjLxNTb_YSVv|9^P;rp21^-II8xX$SK;#FP012mOH^Pt+MvFC^6&@nnit3FB#( zP8e9jKxjn*w1bv4UbpRA13?0gK~!dKzgGO>g=H~w(XL@SVXzRC*n3>T<~Z8!6FZ)h z>Woxps4OSyg?8MWt4vb`{-e7$@~9UQ&ooglTs);M`1Bndmv@D@nCqQzey=g$;hqQV z0Py_nH=^x6H+O$nLmuvV#IvoX@zV#lau!BkS2+0XptW$za3S{JUAXvLMyz4b@7QBE zoDAb>dd>qc8((EP<7sMR@PAym_*+JdRtYhXsGZVq(&`H_z;5@PhY5lp2!e2F*qw@7 z2vJdCQUzYs6R4Wj@n~qDyxGCITiD0X-qqR@e4OpBsmN9pK6S)~Koi84ajqYL)75E$ zQ9PC9bld(?scNXIOS4WIp9M-oAW>(HaDR*eOedy^csOa#r6~sSOuxR2-;LFUr8S@l zf{S>j16#J}t+P8@6-#L_p6N!2cJWy8^c$51S*-dOc|CPJ8s=`*xarm6U#CIy2B;mh zYOz(ma27Zo4fA4|9Q8s@j`s6ZXB+DYzAM@YGeV07DOQPfs2V*pdGp>+WjXG(y5n=f zEa1j_G4?lkE%42vRz^{n`3z>&`6g0Y4zHr<6?F&^+Y~MP^26O1JbCecBUkx9VYk9= z-fv1NjI_iG`+#EJZ(?~Y2!bF8f*=TjAP9mW2!bF8HRcz&i+dx7-4_A?0000ygM1AJ9M0{3{@ZgeUD52SFX!`S;TO{sV{e%WGGenT zjAPdnYMcbATDT!HPfBx{Dx$=lh?bUwn;LQ)p=gm@0N-qBG zdce+Vx8@>^u2Y921P!ga*}G-F-4vYkc7bP*rC9!#4GVTL-!Wpl%2UQ226P64r>mdK II;Vst0AmPV<^TWy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag2.png b/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag2.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3b68322c77c2ecf27210bea5f6529b448c1b83 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}S3F%DLn2z= zPB-K`tia=HAE?HErz^Nvn?LR{=My$91&gdJpWKB%&X-MY>^79M=$!d*Z~id`g_Z|h z4;soC6c!~dR990nzQ@pzTh;FQ_RO5qvyF06^_3FRq#M4(XD^#?@+sH*_Ep}s3j6Lc zb3c$|2xsd$D&RDW*>msQTswBRei6aOj=E$K{RY+z4D%R2Twi>Hv0>k=?FuE&Hiv)W znV{gNm5}(4?E-gVX5VK`4#gcINwHb7n@#i?Oj`1c()JzQ!^LnlMrqRK{fGCglz1Fi ey+<$d6{|{Yxpz$NEeW9i7(8A5T-G@yGywpaNoi#O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag3.png b/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag3.png new file mode 100644 index 0000000000000000000000000000000000000000..6639685fd308503f930cec00dbe66d62a651399a GIT binary patch literal 297 zcmV+^0oMMBP)Px#<4Ht8R9J=WmoW~*APhx+P$mz#6(``hT*$Krujx`pQInJ;I4Y|6qe1wA;R_Er z=NTUo5lqumi~&H5ao7YeXaoQv+6)^n9km8cOSU=q=*Pa^dDB-0XjejXak^GE4Czi z@yD%LRhKV!&Us$XdEAQE$?^XCdmVWZfSGrjjTqy=%+CTaGg3;2olZ*09by4c)vw9d v5T4}-BC@G@Np>eZUP8dl2D7#)?J~Up9659R9hV%u00000NkvXXu0mjfi5hgO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag4.png b/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag4.png new file mode 100644 index 0000000000000000000000000000000000000000..221b9c757a41a85cde975ccd401fa61f2b2a7fe5 GIT binary patch literal 407 zcmV;I0cie-P)Px$QAtEWR9J=WS241MAPig_s}$7lF4UZWb8-SMWSt_dzsei+;Yc)ge;a2I+)W4@ z46U^l2QV{YjF)2okaG?{g9gk1Ktw+;M#evP>2cq?8^-e8kMm-}GvPXVELU zh=7@01WYl;9r+oy>CQO^UH4c31`COZpat7nTdxG01OPxvDU1|Vt<{YjdI~TYl_#;n zbPC=OG2w-@ng!gcW)BmB`ha3I3!XkOk9fclL$(D9bU2;s(hX~^>zxm|b;CP8;EA0NSc>ZvE4JVj zD_)kRd-Ls$c@!YFr$9tdO1ZohiHM5p}nk002ovPDHLkV1ja2 Bsh|J= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag5.png b/src/main/resources/assets/customnpcs/textures/models/banner/flag/BannerFlag5.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ad436b759ea003ac80c5093229354609198eb6 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Cp=voLn2z= zPPgVeV!+`NzbHgxU#Q>P=)enU+F|!Zm)ug~&?_6k0zja9yTXy)$f7wgq}gg*Y@ zS<+C>u_H-CP_5;6!{Zkz?Y|G)jQ4U8nD~FgBasPAK?kf^mWVDFweRFRuw6O7b>><< z#kZD>(SmV|{!cnXzb@bZ_JZrA$D$d5*>j(DcX4YhZ4u1p%4pqk|KbtO