From 4905b9400a6ae3b04ec2cc29ab458248aff4f1fe Mon Sep 17 00:00:00 2001 From: Kam Date: Wed, 12 Feb 2025 16:46:42 -0500 Subject: [PATCH] Complete Candle Texture + Lantern 2D Texture --- .../java/noppes/npcs/blocks/BlockCandle.java | 45 +++--- .../java/noppes/npcs/blocks/BlockLantern.java | 9 +- .../model/blocks/candle/ModelCandle.java | 55 +++++++ .../blocks/candle/ModelCandleCeiling.java | 145 ++++++++++++++++++ .../model/blocks/candle/ModelCandleWall.java | 70 +++++++++ .../ModelLegacyCandle.java} | 16 +- .../ModelLegacyCandleCeiling.java} | 42 ++--- .../ModelLegacyCandleWall.java} | 24 +-- .../renderer/blocks/BlockCandleRenderer.java | 89 ++++++++--- .../renderer/blocks/BlockLanternRenderer.java | 2 +- .../java/noppes/npcs/config/ConfigClient.java | 2 + .../customnpcs/textures/blocks/candle.png | Bin 0 -> 284 bytes .../customnpcs/textures/blocks/lantern.png | Bin 0 -> 397 bytes .../customnpcs/textures/models/candle.png | Bin 0 -> 676 bytes .../textures/models/{ => legacy}/Candle.png | Bin 15 files changed, 413 insertions(+), 86 deletions(-) create mode 100644 src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandle.java create mode 100644 src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandleCeiling.java create mode 100644 src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandleWall.java rename src/main/java/noppes/npcs/client/model/blocks/{ModelCandle.java => legacy/ModelLegacyCandle.java} (91%) rename src/main/java/noppes/npcs/client/model/blocks/{ModelCandleCeiling.java => legacy/ModelLegacyCandleCeiling.java} (95%) rename src/main/java/noppes/npcs/client/model/blocks/{ModelCandleWall.java => legacy/ModelLegacyCandleWall.java} (93%) create mode 100644 src/main/resources/assets/customnpcs/textures/blocks/candle.png create mode 100644 src/main/resources/assets/customnpcs/textures/blocks/lantern.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/candle.png rename src/main/resources/assets/customnpcs/textures/models/{ => legacy}/Candle.png (100%) diff --git a/src/main/java/noppes/npcs/blocks/BlockCandle.java b/src/main/java/noppes/npcs/blocks/BlockCandle.java index 8cc57d7d9..57b5cafa2 100644 --- a/src/main/java/noppes/npcs/blocks/BlockCandle.java +++ b/src/main/java/noppes/npcs/blocks/BlockCandle.java @@ -3,6 +3,7 @@ package noppes.npcs.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; @@ -15,18 +16,18 @@ import noppes.npcs.blocks.tiles.TileColorable; import java.util.Random; public class BlockCandle extends BlockLightable{ - + public BlockCandle(boolean lit) { - super(Blocks.planks, lit); + super(Blocks.stone, lit); setBlockBounds(0.3f, 0, 0.3f, 0.7f, 0.5f, 0.7f); - } - + } + @Override public int maxRotation(){ return 8; } - - @Override + + @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z){ TileEntity tileentity = world.getTileEntity(x, y, z); if(!(tileentity instanceof TileColorable)){ @@ -45,23 +46,23 @@ public class BlockCandle extends BlockLightable{ xOffset = 0.2f; else if(tile.rotation == 2) xOffset = -0.2f; - + setBlockBounds(0.2f + xOffset, 0.4f, 0.2f + yOffset, 0.8f + xOffset, 0.9f, 0.8f + yOffset); } else if(tile.color == 1) setBlockBounds(0.1f, 0.1f, 0.1f, 0.9f, 0.8f, 0.9f); else setBlockBounds(0.3f, 0, 0.3f, 0.7f, 0.5f, 0.7f); - + } - @Override + @Override public int onBlockPlaced(World world, int x, int y, int z, int side, float p_149660_6_, float p_149660_7_, float p_149660_8_, int meta){ return side; } - - @Override + + @Override public void onPostBlockPlaced(World world, int x, int y, int z, int meta) { TileCandle tile = (TileCandle) world.getTileEntity(x, y, z); if(meta == 1) @@ -81,10 +82,16 @@ public class BlockCandle extends BlockLightable{ } world.setBlockMetadataWithNotify(x, y, z, 0, 4); } + @SideOnly(Side.CLIENT) + @Override + public void registerBlockIcons(IIconRegister par1IconRegister){ + this.blockIcon = par1IconRegister.registerIcon(this.getTextureName()); + } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int p_149691_1_, int meta){ - return Blocks.soul_sand.getIcon(p_149691_1_, meta); + return this.blockIcon; } @Override @@ -97,18 +104,18 @@ public class BlockCandle extends BlockLightable{ if(this == unlitBlock()) return; TileCandle tile = (TileCandle) world.getTileEntity(x, y, z); - + if(tile.color == 1){ if(tile.rotation % 2 == 0){ world.spawnParticle("smoke", x + 0.5f, y + 0.66f, z + 0.13f, 0.0D, 0.0D, 0.0D); world.spawnParticle("flame", x + 0.5f, y + 0.65f, z + 0.13f, 0.0D, 0.0D, 0.0D); - + world.spawnParticle("smoke", x + 0.5f, y + 0.66f, z + 0.87f, 0.0D, 0.0D, 0.0D); world.spawnParticle("flame", x + 0.5f, y + 0.65f, z + 0.87f, 0.0D, 0.0D, 0.0D); - + world.spawnParticle("smoke", x + 0.13f, y + 0.66f, z + 0.5f, 0.0D, 0.0D, 0.0D); world.spawnParticle("flame", x + 0.13f, y + 0.65f, z + 0.5f, 0.0D, 0.0D, 0.0D); - + world.spawnParticle("smoke", x + 0.87f, y + 0.66f, z + 0.5f, 0.0D, 0.0D, 0.0D); world.spawnParticle("flame", x + 0.87f, y + 0.65f, z + 0.5f, 0.0D, 0.0D, 0.0D); } @@ -125,11 +132,11 @@ public class BlockCandle extends BlockLightable{ world.spawnParticle("smoke", x + 0.76f, y + 0.66f, z + 0.24f, 0.0D, 0.0D, 0.0D); world.spawnParticle("flame", x + 0.76f, y + 0.65f, z + 0.24f, 0.0D, 0.0D, 0.0D); } - + } else{ float xOffset = 0.5f, yOffset = 0.45f, zOffset = 0.5f; - + if(tile.color == 2){ yOffset = 1.05f; if(tile.rotation == 0) @@ -144,7 +151,7 @@ public class BlockCandle extends BlockLightable{ double d0 = (double)((float)x + xOffset); double d1 = (double)((float)y + yOffset); double d2 = (double)((float)z + zOffset); - + world.spawnParticle("smoke", d0, d1, d2, 0.0D, 0.0D, 0.0D); world.spawnParticle("flame", d0, d1, d2, 0.0D, 0.0D, 0.0D); } diff --git a/src/main/java/noppes/npcs/blocks/BlockLantern.java b/src/main/java/noppes/npcs/blocks/BlockLantern.java index 515243d13..6c1cd7b85 100644 --- a/src/main/java/noppes/npcs/blocks/BlockLantern.java +++ b/src/main/java/noppes/npcs/blocks/BlockLantern.java @@ -3,6 +3,7 @@ package noppes.npcs.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; @@ -77,10 +78,16 @@ public class BlockLantern extends BlockLightable{ world.setBlockMetadataWithNotify(x, y, z, 0, 4); } + @SideOnly(Side.CLIENT) + @Override + public void registerBlockIcons(IIconRegister par1IconRegister){ + this.blockIcon = par1IconRegister.registerIcon(this.getTextureName()); + } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int p_149691_1_, int meta){ - return Blocks.soul_sand.getIcon(p_149691_1_, meta); + return this.blockIcon; } @Override diff --git a/src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandle.java b/src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandle.java new file mode 100644 index 000000000..6f09f0cfb --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandle.java @@ -0,0 +1,55 @@ +package noppes.npcs.client.model.blocks.candle; + +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 ModelCandle extends ModelBase { + public final ModelRenderer Candle; + private final ModelRenderer cube_r1; + private final ModelRenderer cube_r2; + public final ModelRenderer Holder; + + public ModelCandle() { + textureWidth = 64; + textureHeight = 32; + + Candle = new ModelRenderer(this); + Candle.setRotationPoint(0.0F, 23.0F, 0.0F); + Candle.cubeList.add(new ModelBox(Candle, 28, 1, -1.0F, -5.0F, -1.0F, 2, 5, 2, 0.0F)); + + cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(0.0F, -5.5F, 0.0F); + Candle.addChild(cube_r1); + setRotationAngle(cube_r1, 0.0F, 2.3562F, 0.0F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r2 = new ModelRenderer(this); + cube_r2.setRotationPoint(0.0F, -5.5F, 0.0F); + Candle.addChild(cube_r2); + setRotationAngle(cube_r2, 0.0F, 0.7854F, 0.0F); + cube_r2.cubeList.add(new ModelBox(cube_r2, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + Holder = new ModelRenderer(this); + Holder.setRotationPoint(0.0F, 24.0F, 0.0F); + Holder.cubeList.add(new ModelBox(Holder, 12, 0, -2.0F, -1.0F, -2.0F, 4, 1, 4, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 36, 0, 2.0F, -2.0F, -3.0F, 1, 1, 6, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 36, 0, -3.0F, -2.0F, -3.0F, 1, 1, 6, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 36, 7, -2.0F, -2.0F, -3.0F, 4, 1, 1, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 36, 7, -2.0F, -2.0F, 2.0F, 4, 1, 1, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 12, 11, 2.0F, -4.0F, 0.0F, 3, 3, 0, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + Candle.render(f5); + Holder.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/candle/ModelCandleCeiling.java b/src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandleCeiling.java new file mode 100644 index 000000000..9c7de379c --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandleCeiling.java @@ -0,0 +1,145 @@ +package noppes.npcs.client.model.blocks.candle; + +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 ModelCandleCeiling extends ModelBase { + public final ModelRenderer Candle; + private final ModelRenderer cube_r1; + private final ModelRenderer cube_r2; + private final ModelRenderer cube_r3; + private final ModelRenderer cube_r4; + private final ModelRenderer cube_r5; + private final ModelRenderer cube_r6; + private final ModelRenderer cube_r7; + private final ModelRenderer cube_r8; + public final ModelRenderer Holder; + public final ModelRenderer Base; + private final ModelRenderer cube_r9; + private final ModelRenderer cube_r10; + private final ModelRenderer cube_r11; + public final ModelRenderer Chain; + private final ModelRenderer cube_r12; + private final ModelRenderer cube_r13; + + public ModelCandleCeiling() { + textureWidth = 64; + textureHeight = 32; + + Candle = new ModelRenderer(this); + Candle.setRotationPoint(0.0F, 23.0F, 0.0F); + Candle.cubeList.add(new ModelBox(Candle, 28, 1, -1.0F, -9.0F, 5.0F, 2, 5, 2, 0.0F)); + Candle.cubeList.add(new ModelBox(Candle, 28, 1, -7.0F, -9.0F, -1.0F, 2, 5, 2, 0.0F)); + Candle.cubeList.add(new ModelBox(Candle, 28, 1, 5.0F, -9.0F, -1.0F, 2, 5, 2, 0.0F)); + Candle.cubeList.add(new ModelBox(Candle, 28, 1, -1.0F, -9.0F, -7.0F, 2, 5, 2, 0.0F)); + + cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(0.0F, -9.5F, -6.0F); + Candle.addChild(cube_r1); + setRotationAngle(cube_r1, 0.0F, 2.3562F, 0.0F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r2 = new ModelRenderer(this); + cube_r2.setRotationPoint(0.0F, -9.5F, -6.0F); + Candle.addChild(cube_r2); + setRotationAngle(cube_r2, 0.0F, 0.7854F, 0.0F); + cube_r2.cubeList.add(new ModelBox(cube_r2, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r3 = new ModelRenderer(this); + cube_r3.setRotationPoint(6.0F, -9.5F, 0.0F); + Candle.addChild(cube_r3); + setRotationAngle(cube_r3, 0.0F, 2.3562F, 0.0F); + cube_r3.cubeList.add(new ModelBox(cube_r3, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r4 = new ModelRenderer(this); + cube_r4.setRotationPoint(6.0F, -9.5F, 0.0F); + Candle.addChild(cube_r4); + setRotationAngle(cube_r4, 0.0F, 0.7854F, 0.0F); + cube_r4.cubeList.add(new ModelBox(cube_r4, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r5 = new ModelRenderer(this); + cube_r5.setRotationPoint(-6.0F, -9.5F, 0.0F); + Candle.addChild(cube_r5); + setRotationAngle(cube_r5, 0.0F, 2.3562F, 0.0F); + cube_r5.cubeList.add(new ModelBox(cube_r5, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r6 = new ModelRenderer(this); + cube_r6.setRotationPoint(-6.0F, -9.5F, 0.0F); + Candle.addChild(cube_r6); + setRotationAngle(cube_r6, 0.0F, 0.7854F, 0.0F); + cube_r6.cubeList.add(new ModelBox(cube_r6, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r7 = new ModelRenderer(this); + cube_r7.setRotationPoint(0.0F, -9.5F, 6.0F); + Candle.addChild(cube_r7); + setRotationAngle(cube_r7, 0.0F, 2.3562F, 0.0F); + cube_r7.cubeList.add(new ModelBox(cube_r7, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r8 = new ModelRenderer(this); + cube_r8.setRotationPoint(0.0F, -9.5F, 6.0F); + Candle.addChild(cube_r8); + setRotationAngle(cube_r8, 0.0F, 0.7854F, 0.0F); + cube_r8.cubeList.add(new ModelBox(cube_r8, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + Holder = new ModelRenderer(this); + Holder.setRotationPoint(0.0F, 24.0F, 0.0F); + Holder.cubeList.add(new ModelBox(Holder, 12, 0, -2.0F, -5.0F, 4.0F, 4, 1, 4, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 12, 0, -8.0F, -5.0F, -2.0F, 4, 1, 4, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 12, 0, 4.0F, -5.0F, -2.0F, 4, 1, 4, 0.0F)); + Holder.cubeList.add(new ModelBox(Holder, 12, 0, -2.0F, -5.0F, -8.0F, 4, 1, 4, 0.0F)); + + Base = new ModelRenderer(this); + Base.setRotationPoint(0.0F, 24.0F, 0.0F); + Base.cubeList.add(new ModelBox(Base, 12, 0, -2.0F, -2.0F, -2.0F, 4, 1, 4, 0.0F)); + Base.cubeList.add(new ModelBox(Base, 12, 0, 0.0F, -4.0F, 2.0F, 0, 3, 5, 0.0F)); + + cube_r9 = new ModelRenderer(this); + cube_r9.setRotationPoint(4.5F, -2.5F, 0.0F); + Base.addChild(cube_r9); + setRotationAngle(cube_r9, 0.0F, 1.5708F, 0.0F); + cube_r9.cubeList.add(new ModelBox(cube_r9, 12, 0, 0.0F, -1.5F, -2.5F, 0, 3, 5, 0.0F)); + + cube_r10 = new ModelRenderer(this); + cube_r10.setRotationPoint(-7.0F, -2.5F, 0.0F); + Base.addChild(cube_r10); + setRotationAngle(cube_r10, 0.0F, -1.5708F, 0.0F); + cube_r10.cubeList.add(new ModelBox(cube_r10, 12, 0, 0.0F, -1.5F, -5.0F, 0, 3, 5, 0.0F)); + + cube_r11 = new ModelRenderer(this); + cube_r11.setRotationPoint(0.0F, -2.5F, -4.5F); + Base.addChild(cube_r11); + setRotationAngle(cube_r11, 0.0F, 3.1416F, 0.0F); + cube_r11.cubeList.add(new ModelBox(cube_r11, 12, 0, 0.0F, -1.5F, -2.5F, 0, 3, 5, 0.0F)); + + Chain = new ModelRenderer(this); + Chain.setRotationPoint(0.0F, 18.0F, 0.0F); + + + cube_r12 = new ModelRenderer(this); + cube_r12.setRotationPoint(0.0F, -3.0F, 0.0F); + Chain.addChild(cube_r12); + setRotationAngle(cube_r12, 0.0F, 0.7854F, 0.0F); + cube_r12.cubeList.add(new ModelBox(cube_r12, 6, -1, 0.0F, -7.0F, -1.5F, 0, 14, 3, 0.0F)); + + cube_r13 = new ModelRenderer(this); + cube_r13.setRotationPoint(0.0F, -3.0F, 0.0F); + Chain.addChild(cube_r13); + setRotationAngle(cube_r13, 0.0F, -0.7854F, 0.0F); + cube_r13.cubeList.add(new ModelBox(cube_r13, 0, -1, 0.0F, -7.0F, -1.5F, 0, 14, 3, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + Candle.render(f5); + Holder.render(f5); + Base.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/candle/ModelCandleWall.java b/src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandleWall.java new file mode 100644 index 000000000..850674143 --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/candle/ModelCandleWall.java @@ -0,0 +1,70 @@ +package noppes.npcs.client.model.blocks.candle; + +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 ModelCandleWall extends ModelBase { + private final ModelRenderer Candle; + private final ModelRenderer cube_r1; + private final ModelRenderer cube_r2; + private final ModelRenderer Holder; + private final ModelRenderer bb_main; + private final ModelRenderer cube_r3; + private final ModelRenderer cube_r4; + + public ModelCandleWall() { + textureWidth = 64; + textureHeight = 32; + + Candle = new ModelRenderer(this); + Candle.setRotationPoint(0.0F, 23.0F, 0.0F); + Candle.cubeList.add(new ModelBox(Candle, 28, 1, -1.0F, -12.0F, 2.0F, 2, 5, 2, 0.0F)); + + cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(0.0F, -12.5F, 3.0F); + Candle.addChild(cube_r1); + setRotationAngle(cube_r1, 0.0F, 2.3562F, 0.0F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + cube_r2 = new ModelRenderer(this); + cube_r2.setRotationPoint(0.0F, -12.5F, 3.0F); + Candle.addChild(cube_r2); + setRotationAngle(cube_r2, 0.0F, 0.7854F, 0.0F); + cube_r2.cubeList.add(new ModelBox(cube_r2, 31, -1, 0.0F, -0.5F, -0.5F, 0, 1, 1, 0.0F)); + + Holder = new ModelRenderer(this); + Holder.setRotationPoint(0.0F, 24.0F, 0.0F); + Holder.cubeList.add(new ModelBox(Holder, 12, 0, -2.0F, -8.0F, 1.0F, 4, 1, 4, 0.0F)); + + bb_main = new ModelRenderer(this); + bb_main.setRotationPoint(0.0F, 24.0F, 0.0F); + + + cube_r3 = new ModelRenderer(this); + cube_r3.setRotationPoint(0.0F, -5.5F, 4.5F); + bb_main.addChild(cube_r3); + setRotationAngle(cube_r3, 0.0F, 3.1416F, 0.0F); + cube_r3.cubeList.add(new ModelBox(cube_r3, 12, 3, 0.0F, -1.5F, -2.5F, 0, 3, 5, 0.0F)); + + cube_r4 = new ModelRenderer(this); + cube_r4.setRotationPoint(0.0F, -4.5F, 9.0F); + bb_main.addChild(cube_r4); + setRotationAngle(cube_r4, 1.5708F, 0.0F, 0.0F); + cube_r4.cubeList.add(new ModelBox(cube_r4, 12, 0, -2.0F, -2.0F, -1.5F, 4, 1, 4, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + Candle.render(f5); + Holder.render(f5); + bb_main.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/ModelCandle.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandle.java similarity index 91% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCandle.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandle.java index df74be964..a92f5db62 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCandle.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandle.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 ModelCandle extends ModelBase { +public class ModelLegacyCandle extends ModelBase { // fields ModelRenderer Base; ModelRenderer Bar1; @@ -13,27 +13,27 @@ public class ModelCandle extends ModelBase { ModelRenderer Bar4; ModelRenderer Wax; - public ModelCandle() { + public ModelLegacyCandle() { Base = new ModelRenderer(this, 0, 0); Base.addBox(0F, 0F, 0F, 4, 1, 4); Base.setRotationPoint(-2F, 23F, -2F); - + Bar1 = new ModelRenderer(this, 0, 0); Bar1.addBox(0F, 0F, 0F, 1, 1, 6); Bar1.setRotationPoint(-3F, 22F, -3F); - + Bar2 = new ModelRenderer(this, 0, 0); Bar2.addBox(0F, 0F, 0F, 1, 1, 6); Bar2.setRotationPoint(2F, 22F, -3F); - + Bar3 = new ModelRenderer(this, 0, 0); Bar3.addBox(0F, 0F, 0F, 4, 1, 1); Bar3.setRotationPoint(-2F, 22F, -3F); - + Bar4 = new ModelRenderer(this, 0, 0); Bar4.addBox(0F, 0F, 0F, 4, 1, 1); Bar4.setRotationPoint(-2F, 22F, 2F); - + Wax = new ModelRenderer(this, 16, 0); Wax.addBox(0F, 0F, 0F, 2, 4, 2); Wax.setRotationPoint(-1F, 19F, -1F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCandleCeiling.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandleCeiling.java similarity index 95% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCandleCeiling.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandleCeiling.java index 5913c6bad..2dff35173 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCandleCeiling.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandleCeiling.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 ModelCandleCeiling extends ModelBase { +public class ModelLegacyCandleCeiling extends ModelBase { ModelRenderer Wax1; ModelRenderer Wax2; ModelRenderer Wax3; @@ -25,85 +25,85 @@ public class ModelCandleCeiling extends ModelBase { ModelRenderer BottomBar2; ModelRenderer BottomBar4; - public ModelCandleCeiling() { + public ModelLegacyCandleCeiling() { Wax1 = new ModelRenderer(this, 16, 0); Wax1.addBox(0F, 0F, 0F, 2, 4, 2); Wax1.setRotationPoint(-1F, 15.5F, 5F); - + Wax2 = new ModelRenderer(this, 16, 0); Wax2.addBox(0F, 0F, 0F, 2, 4, 2); Wax2.setRotationPoint(7F, 15.5F, 1F); setRotation(Wax2, 0F, 3.141593F, 0F); - + Wax3 = new ModelRenderer(this, 16, 0); Wax3.addBox(0F, 0F, 0F, 2, 4, 2); Wax3.setRotationPoint(-7F, 15.5F, -1F); - + Wax4 = new ModelRenderer(this, 16, 0); Wax4.addBox(0F, 0F, 0F, 2, 4, 2); Wax4.setRotationPoint(1F, 15.5F, -5F); setRotation(Wax4, 0F, 3.141593F, 0F); - + TippyTop1 = new ModelRenderer(this, 0, 0); TippyTop1.addBox(0F, 0F, 0F, 4, 1, 4); TippyTop1.setRotationPoint(-2.8F, 7.5F, 0F); setRotation(TippyTop1, 0F, 0.7853982F, 0F); - + TippyTop2 = new ModelRenderer(this, 0, 0); TippyTop2.addBox(0F, 0F, 0F, 3, 1, 3); TippyTop2.setRotationPoint(-2.1F, 8F, 0F); setRotation(TippyTop2, 0F, 0.7853982F, 0F); - + Middle = new ModelRenderer(this, 0, 0); Middle.addBox(0F, 0F, 0F, 1, 13, 1); Middle.setRotationPoint(-0.5F, 9F, -0.5F); - + BottomBar1 = new ModelRenderer(this, 0, 4); BottomBar1.addBox(0F, 0F, 0F, 1, 1, 5); BottomBar1.setRotationPoint(-0.5F, 21F, 0.5F); - + Rod1 = new ModelRenderer(this, 0, 0); Rod1.addBox(0F, 0F, 0F, 1, 2, 1); Rod1.setRotationPoint(-0.5F, 20F, 5.5F); - + Rod2 = new ModelRenderer(this, 0, 0); Rod2.addBox(0F, 0F, 0F, 1, 2, 1); Rod2.setRotationPoint(5.5F, 20F, -0.5F); - + Rod3 = new ModelRenderer(this, 0, 0); Rod3.addBox(0F, 0F, 0F, 1, 2, 1); Rod3.setRotationPoint(-6.5F, 20F, -0.5F); - + Rod4 = new ModelRenderer(this, 0, 0); Rod4.addBox(0F, 0F, 0F, 1, 2, 1); Rod4.setRotationPoint(-0.5F, 20F, -6.5F); - + Base1 = new ModelRenderer(this, 0, 0); Base1.addBox(0F, 0F, 0F, 4, 1, 4); Base1.setRotationPoint(-2F, 19F, 4F); - + Base2 = new ModelRenderer(this, 0, 0); Base2.addBox(0F, 0F, 0F, 4, 1, 4); Base2.setRotationPoint(4F, 19F, -2F); - + Base3 = new ModelRenderer(this, 0, 0); Base3.addBox(0F, 0F, 0F, 4, 1, 4); Base3.setRotationPoint(-8F, 19F, -2F); - + Base4 = new ModelRenderer(this, 0, 0); Base4.addBox(0F, 0F, 0F, 4, 1, 4); Base4.setRotationPoint(-2F, 19F, -8F); - + BottomBar3 = new ModelRenderer(this, 0, 4); BottomBar3.addBox(0F, 0F, 0F, 1, 1, 5); BottomBar3.setRotationPoint(-0.5F, 21F, -0.5F); setRotation(BottomBar3, 0F, -1.570796F, 0F); - + BottomBar2 = new ModelRenderer(this, 0, 4); BottomBar2.addBox(0F, 0F, 0F, 1, 1, 5); BottomBar2.setRotationPoint(0.5F, 21F, 0.5F); setRotation(BottomBar2, 0F, 1.570796F, 0F); - + BottomBar4 = new ModelRenderer(this, 0, 4); BottomBar4.addBox(0F, 0F, 0F, 1, 1, 5); BottomBar4.setRotationPoint(0.4F, 21F, -0.5F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCandleWall.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandleWall.java similarity index 93% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCandleWall.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandleWall.java index ec7591700..d71a31875 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCandleWall.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyCandleWall.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 ModelCandleWall extends ModelBase { +public class ModelLegacyCandleWall extends ModelBase { ModelRenderer Base; ModelRenderer Bar1; ModelRenderer Bar2; @@ -16,45 +16,45 @@ public class ModelCandleWall extends ModelBase { ModelRenderer Bar5; ModelRenderer Bar6; - public ModelCandleWall() { + public ModelLegacyCandleWall() { Base = new ModelRenderer(this, 0, 0); Base.addBox(0F, 0F, 0F, 4, 1, 4); Base.setRotationPoint(-2F, 13F, -4F); - + Bar1 = new ModelRenderer(this, 0, 0); Bar1.addBox(0F, 0F, 0F, 1, 1, 6); Bar1.setRotationPoint(-3F, 12F, -5F); - + Bar2 = new ModelRenderer(this, 0, 0); Bar2.addBox(0F, 0F, 0F, 1, 1, 6); Bar2.setRotationPoint(2F, 12F, -5F); - + Bar3 = new ModelRenderer(this, 0, 0); Bar3.addBox(0F, 0F, 0F, 4, 1, 1); Bar3.setRotationPoint(-2F, 12F, -5F); - + Bar4 = new ModelRenderer(this, 0, 0); Bar4.addBox(0F, 0F, 0F, 4, 1, 1); Bar4.setRotationPoint(-2F, 12F, 0F); - + Wax = new ModelRenderer(this, 16, 0); Wax.addBox(0F, 0F, 0F, 2, 4, 2); Wax.setRotationPoint(-1F, 9F, -3F); - + Wall2 = new ModelRenderer(this, 0, 0); Wall2.addBox(0F, 0F, 0F, 3, 3, 1); Wall2.setRotationPoint(0F, 13.7F, -7.5F); setRotation(Wall2, 0F, 0F, 0.7853982F); - + Wall1 = new ModelRenderer(this, 0, 0); Wall1.addBox(0F, 0F, 0F, 4, 4, 1); Wall1.setRotationPoint(0F, 13F, -8F); setRotation(Wall1, 0F, 0F, 0.7853982F); - + Bar5 = new ModelRenderer(this, 0, 0); Bar5.addBox(0F, 0F, 0F, 1, 2, 1); Bar5.setRotationPoint(-0.5F, 13.5F, -2.5F); - + Bar6 = new ModelRenderer(this, 0, 0); Bar6.addBox(0F, 0F, 0F, 1, 1, 5); Bar6.setRotationPoint(-0.5F, 15.5F, -6.5F); diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCandleRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCandleRenderer.java index 32fb6fbeb..8d2aa36e2 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCandleRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCandleRenderer.java @@ -12,19 +12,30 @@ import net.minecraft.world.IBlockAccess; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockCandle; import noppes.npcs.blocks.tiles.TileCandle; -import noppes.npcs.client.model.blocks.ModelCandle; -import noppes.npcs.client.model.blocks.ModelCandleCeiling; -import noppes.npcs.client.model.blocks.ModelCandleWall; +import noppes.npcs.client.model.blocks.candle.ModelCandle; +import noppes.npcs.client.model.blocks.candle.ModelCandleCeiling; +import noppes.npcs.client.model.blocks.candle.ModelCandleWall; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyCandle; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyCandleCeiling; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyCandleWall; +import noppes.npcs.config.ConfigClient; +import noppes.npcs.config.legacy.LegacyConfig; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class BlockCandleRenderer extends TileEntitySpecialRenderer implements ISimpleBlockRenderingHandler{ - private final ModelCandle model = new ModelCandle(); - private final ModelCandleWall modelWall = new ModelCandleWall(); - private final ModelCandleCeiling modelCeiling = new ModelCandleCeiling(); - private static final ResourceLocation resource1 = new ResourceLocation("customnpcs","textures/models/Candle.png"); - + private final ModelLegacyCandle legacyCandle = new ModelLegacyCandle(); + private final ModelLegacyCandleWall legacyCandleWall = new ModelLegacyCandleWall(); + private final ModelLegacyCandleCeiling legacyCandleCeiling = new ModelLegacyCandleCeiling(); + + private final ModelCandle candle = new ModelCandle(); + private final ModelCandleWall candleWall = new ModelCandleWall(); + private final ModelCandleCeiling candleCeiling = new ModelCandleCeiling(); + + private static final ResourceLocation legacy = new ResourceLocation("customnpcs","textures/models/legacy/Candle.png"); + private static final ResourceLocation texture = new ResourceLocation("customnpcs","textures/models/candle.png"); + public BlockCandleRenderer(){ ((BlockCandle)CustomItems.candle).renderId = RenderingRegistry.getNextAvailableRenderId(); ((BlockCandle)CustomItems.candle_unlit).renderId = ((BlockCandle)CustomItems.candle).renderId; @@ -40,19 +51,43 @@ public class BlockCandleRenderer extends TileEntitySpecialRenderer implements IS GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.5f, (float)var6 + 0.5f); //GL11.glScalef(0.95f, 0.95f, 0.95f); GL11.glRotatef(180, 0, 0, 1); - GL11.glRotatef(45 * tile.rotation, 0, 1, 0); - GL11.glColor3f(1, 1, 1); - - Minecraft.getMinecraft().getTextureManager().bindTexture(resource1); - if(tile.color == 0) - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - else if(tile.color == 1) - modelCeiling.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - else{ - GL11.glRotatef(180, 0, 1, 0); - modelWall.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - } + GL11.glEnable(GL11.GL_ALPHA_TEST); + if(ConfigClient.LegacyCandle){ + GL11.glRotatef(45 * tile.rotation, 0, 1, 0); + GL11.glColor3f(1, 1, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(legacy); + if(tile.color == 0) + legacyCandle.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + else if(tile.color == 1) + legacyCandleCeiling.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + else{ + GL11.glRotatef(180, 0, 1, 0); + legacyCandleWall.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + } else { + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + if(tile.color == 0){ + GL11.glRotatef(45 * tile.rotation, 0, 1, 0); + GL11.glColor3f(1, 1, 1); + candle.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + else if(tile.color == 1){ + GL11.glPushMatrix(); + GL11.glColor3f(1, 1, 1); + GL11.glRotatef( 90, 0, 1, 0); + candleCeiling.Chain.render(0.0625F); + GL11.glPopMatrix(); + GL11.glRotatef(45 * tile.rotation, 0, 1, 0); + candleCeiling.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + else{ + GL11.glRotatef(45 * tile.rotation, 0, 1, 0); + GL11.glColor3f(1, 1, 1); + candleWall.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + } + GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glPopMatrix(); } @@ -65,9 +100,15 @@ public class BlockCandleRenderer extends TileEntitySpecialRenderer implements IS GL11.glRotatef(180, 0, 0, 1); GL11.glRotatef(180, 0, 1, 0); - Minecraft.getMinecraft().getTextureManager().bindTexture(resource1); - GL11.glColor3f(1, 1, 1); - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + if(ConfigClient.LegacyCandle){ + Minecraft.getMinecraft().getTextureManager().bindTexture(legacy); + GL11.glColor3f(1, 1, 1); + legacyCandle.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } else { + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + GL11.glColor3f(1, 1, 1); + candle.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } GL11.glPopMatrix(); } @@ -82,7 +123,7 @@ public class BlockCandleRenderer extends TileEntitySpecialRenderer implements IS @Override public boolean shouldRender3DInInventory(int modelId) { - return true; + return ConfigClient.LegacyCandle; } diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockLanternRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockLanternRenderer.java index c1a990135..1a46aec55 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockLanternRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockLanternRenderer.java @@ -120,7 +120,7 @@ public class BlockLanternRenderer extends TileEntitySpecialRenderer implements I @Override public boolean shouldRender3DInInventory(int modelId) { - return true; + return ConfigClient.LegacyLantern; } diff --git a/src/main/java/noppes/npcs/config/ConfigClient.java b/src/main/java/noppes/npcs/config/ConfigClient.java index 6580de605..cc82fb7a9 100644 --- a/src/main/java/noppes/npcs/config/ConfigClient.java +++ b/src/main/java/noppes/npcs/config/ConfigClient.java @@ -91,6 +91,7 @@ public class ConfigClient public static boolean LegacyBarrel = false; public static boolean LegacyCarpentryBench = false; public static boolean LegacyLantern = false; + public static boolean LegacyCandle = false; public static void init(File configFile) { @@ -159,6 +160,7 @@ public class ConfigClient LegacyTable = config.get(MODEL, "Legacy Table Model", false).getBoolean(false); LegacyCarpentryBench = config.get(MODEL, "Legacy Carpentry Bench Model", false).getBoolean(false); LegacyLantern = config.get(MODEL, "Legacy Lantern Model", false).getBoolean(false); + LegacyCandle = config.get(MODEL, "Legacy Candle Model", false).getBoolean(false); // Convert to Legacy if(CustomNpcs.legacyExist){ diff --git a/src/main/resources/assets/customnpcs/textures/blocks/candle.png b/src/main/resources/assets/customnpcs/textures/blocks/candle.png new file mode 100644 index 0000000000000000000000000000000000000000..2b673645be2e0f62ab195cb496683585f086df1a GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|_ISEDhFJ6_ zCrGeb9Bkcs@_+A_;D77a8U6R4_N@N?{D0vA20#CQ|CqI>&ETQ&i+2x;*xUrQ_e^_e z_Taa2$FukS9_A0e-PA5{o_FuQ?=o%)35kF8wN2s1am)#3`)fZ4xWB!+w-o#`*Jz|#nC;Oi?u&Mvp)d&QRK~6mne|CrSY+o;vb|j0z zykB6>|F5U5*+3v=qjh=S0n=oOhO_-I7$S{B85ml6{pH^aZdeHP2VZK0XPU1sgBFm@ V0mLA1DR?r7@^tlcS?83{1OOtQZ>0bL literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/blocks/lantern.png b/src/main/resources/assets/customnpcs/textures/blocks/lantern.png new file mode 100644 index 0000000000000000000000000000000000000000..54f848b59a9432812fbd17fff148555d802a4237 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%zbv<1iLo9l) zPTuIvlqhkmUR_A$oY{{-T|Z5aG?v$0zj(vAw&wn4yZ4{>*~tH?)=1?4xky*&mKejk9H-Tl;-{u6 z?XFizd2YWjW^HHD)^FJ#XRWQdDE3}{e#)iWYx*ACWpxi+)MeY!d8C=|*WL7`_gka0 z-6L9=8Q#senqz)nq`~Lbx85hhA9lsfd&9YULwD8-h6sn}-ooMi>%A^S`fL)PlPGlc zLZ^J%%@eT;q^!;vXf8g*dge+;P_2(nSmMr_1tIdu%iJz9y~|-bko4-3!Sj$c*?s=; z88eE-g0CO{xM7=1!|ZPkFLR%{IQ_nPdM5MQZw|ALT#z{-Fta&S@PN3A!!P-Lj4GMM o37(<(dx4?Imm1-j=IhI#1!QvoF$i1=o(!TqUHx3vIVCg!0N4PeNdN!< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/candle.png b/src/main/resources/assets/customnpcs/textures/models/candle.png new file mode 100644 index 0000000000000000000000000000000000000000..b4659bf5deac900cb1d1310314bcf1b3191f2756 GIT binary patch literal 676 zcmV;V0$crwP)Px%L`g(JRA_R9DdNLtAj&btp!Z2-k@IZDy3L`)230DeOJL; zMbIl2s8(-~dI+_8{7+h?j&3jU=lXYIP97)I?%zL>^J*R9ck^}!<4>j{$VJm+=rluq zwhmJxU@vTnMOy2u7#A|#4*}>6nVLI=8GtFt#=hEmm0$HCE{KK zXw{4>zNrhCm^THU8Z&nRV6wISPl~IEN;RCg;PACp*9F*NIb!7E_-tSYOXYw#&nwlC zO67p$y1{dsvU5>H+Ep0P7s0h#xk_YpWz{!p)%qB#skXysm(vDbZQ6iMW4s74FC`Kz z7K_DVu~;k?i{(Y}7qKRRNU%DGLI3~&4rN$LW=%~1DgXcg2mk;800000(o>TF0000< KMNUMnLSTXl#xJJ; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/Candle.png b/src/main/resources/assets/customnpcs/textures/models/legacy/Candle.png similarity index 100% rename from src/main/resources/assets/customnpcs/textures/models/Candle.png rename to src/main/resources/assets/customnpcs/textures/models/legacy/Candle.png