From db9ac7f7c44effffda0fc85fcc229e78bc672301 Mon Sep 17 00:00:00 2001 From: Kam Date: Sat, 25 Jan 2025 19:41:54 -0500 Subject: [PATCH] Upgraded Barrel & Campfire Models --- .../noppes/npcs/blocks/BlockCampfire.java | 27 ++-- .../model/blocks/barrel/BarrelCore.java | 69 ---------- .../model/blocks/barrel/BarrelTrim.java | 47 ------- .../model/blocks/barrel/ModelBarrel.java | 80 +++++++++++ .../blocks/campfire/ModelCampfireFlame.java | 57 ++++++++ .../blocks/campfire/ModelCampfireLog.java | 51 +++++++ .../blocks/campfire/ModelCampfireStone.java | 57 ++++++++ .../ModelLegacyBarrel.java} | 38 +++--- .../ModelLegacyBarrelLid.java} | 16 +-- .../renderer/blocks/BlockBarrelRenderer.java | 125 +++++++++++++----- .../blocks/BlockCampfireRenderer.java | 59 +++++++-- .../blocks/BlockRendererInterface.java | 15 +-- .../java/noppes/npcs/config/ConfigClient.java | 14 ++ .../customnpcs/textures/models/BarrelTrim.png | Bin 405 -> 0 bytes .../textures/models/barrel/oak_lid.png | Bin 0 -> 511 bytes .../textures/models/barrel/trim.png | Bin 0 -> 269 bytes .../customnpcs/textures/models/flame.png | Bin 0 -> 1693 bytes .../textures/models/flame.png.mcmeta | 17 +++ .../textures/models/flame_single.png | Bin 0 -> 387 bytes 19 files changed, 466 insertions(+), 206 deletions(-) delete mode 100644 src/main/java/noppes/npcs/client/model/blocks/barrel/BarrelCore.java delete mode 100644 src/main/java/noppes/npcs/client/model/blocks/barrel/BarrelTrim.java create mode 100644 src/main/java/noppes/npcs/client/model/blocks/barrel/ModelBarrel.java create mode 100644 src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireFlame.java create mode 100644 src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireLog.java create mode 100644 src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireStone.java rename src/main/java/noppes/npcs/client/model/blocks/{ModelBarrel.java => legacy/ModelLegacyBarrel.java} (94%) rename src/main/java/noppes/npcs/client/model/blocks/{ModelBarrelLit.java => legacy/ModelLegacyBarrelLid.java} (85%) delete mode 100644 src/main/resources/assets/customnpcs/textures/models/BarrelTrim.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/barrel/oak_lid.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/barrel/trim.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/flame.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/flame.png.mcmeta create mode 100644 src/main/resources/assets/customnpcs/textures/models/flame_single.png diff --git a/src/main/java/noppes/npcs/blocks/BlockCampfire.java b/src/main/java/noppes/npcs/blocks/BlockCampfire.java index 12019ee2a..a00d5fc3e 100644 --- a/src/main/java/noppes/npcs/blocks/BlockCampfire.java +++ b/src/main/java/noppes/npcs/blocks/BlockCampfire.java @@ -14,6 +14,7 @@ import noppes.npcs.CustomItems; import noppes.npcs.CustomNpcs; import noppes.npcs.NoppesUtilServer; import noppes.npcs.blocks.tiles.TileCampfire; +import noppes.npcs.config.ConfigClient; import org.lwjgl.opengl.GL11; import java.util.Random; @@ -31,14 +32,14 @@ public class BlockCampfire extends BlockLightable{ public TileEntity createNewTileEntity(World var1, int var2) { return new TileCampfire(); } - - @Override + + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ ItemStack item = player.inventory.getCurrentItem(); if(item == null) return true; int meta = world.getBlockMetadata(x, y, z); - + if((item.getItem() == Items.flint || item.getItem() == Items.flint_and_steel) && unlitBlock() == this){ if(world.rand.nextInt(3) == 0 && !world.isRemote) super.onBlockActivated(world, x, y, z, player, par6, par7, par8, par9); @@ -49,11 +50,11 @@ public class BlockCampfire extends BlockLightable{ item.damageItem(1, player); return true; } - + if(item.getItem() == Item.getItemFromBlock(Blocks.sand) && litBlock() == this){ super.onBlockActivated(world, x, y, z, player, par6, par7, par8, par9); } - + return true; } @@ -68,23 +69,25 @@ public class BlockCampfire extends BlockLightable{ int meta = world.getBlockMetadata(x, y, z); if(meta == 1) return; - + if(random.nextInt(36) == 0){ world.playSound(x + 0.5F, y + 0.5F, z + 0.5F, "fire.fire", 1.0F + random.nextFloat(), 0.3F + random.nextFloat() * 0.7f , false); } - + TileCampfire tile = (TileCampfire) world.getTileEntity(x, y, z); - + float xOffset = 0.5f, yOffset = 0.7f, zOffset = 0.5f; double d0 = (double)((float)x + xOffset); double d1 = (double)((float)y + yOffset); double d2 = (double)((float)z + zOffset); - + GL11.glPushMatrix(); - - CustomNpcs.proxy.spawnParticle("largesmoke", d0, d1, d2, 0.0D, 0.0D, 0.0D, 2); - CustomNpcs.proxy.spawnParticle("flame", d0, d1, d2, 0.0D, 0.0D, 0.0D, 4); + + if(ConfigClient.LegacyCampfire){ + CustomNpcs.proxy.spawnParticle("largesmoke", d0, d1, d2, 0.0D, 0.0D, 0.0D, 2); + CustomNpcs.proxy.spawnParticle("flame", d0, d1, d2, 0.0D, 0.0D, 0.0D, 4); + } GL11.glPopMatrix(); } diff --git a/src/main/java/noppes/npcs/client/model/blocks/barrel/BarrelCore.java b/src/main/java/noppes/npcs/client/model/blocks/barrel/BarrelCore.java deleted file mode 100644 index fb3aa099a..000000000 --- a/src/main/java/noppes/npcs/client/model/blocks/barrel/BarrelCore.java +++ /dev/null @@ -1,69 +0,0 @@ -package noppes.npcs.client.model.blocks.barrel; - -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 BarrelCore extends ModelBase { - private final ModelRenderer bb_main; - 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; - - public BarrelCore() { - textureWidth = 64; - textureHeight = 32; - - bb_main = new ModelRenderer(this); - bb_main.setRotationPoint(0.0F, 24.0F, 0.0F); - - cube_r1 = new ModelRenderer(this); - cube_r1.setRotationPoint(0.0F, 0.0F, 0.0F); - bb_main.addChild(cube_r1); - setRotationAngle(cube_r1, 1.5708F, 0.0F, -1.5708F); - cube_r1.cubeList.add(new ModelBox(cube_r1, 6, -6, 0.0F, -5.0F, -5.0F, 0, 10, 10, 0.0F)); - - cube_r2 = new ModelRenderer(this); - cube_r2.setRotationPoint(0.0F, -14.5F, 0.0F); - bb_main.addChild(cube_r2); - setRotationAngle(cube_r2, 0.0F, 0.0F, 1.5708F); - cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 2, 2.5F, -5.5F, 5.5F, 8, 11, 0, 0.0F)); - cube_r2.cubeList.add(new ModelBox(cube_r2, 8, 2, 2.5F, -5.5F, -5.5F, 8, 11, 0, 0.0F)); - cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 3, -1.5F, -5.0F, -5.0F, 16, 10, 0, 0.0F)); - - cube_r3 = new ModelRenderer(this); - cube_r3.setRotationPoint(0.0F, -14.5F, 0.0F); - bb_main.addChild(cube_r3); - setRotationAngle(cube_r3, 1.5708F, 0.0F, 1.5708F); - cube_r3.cubeList.add(new ModelBox(cube_r3, 8, 2, 2.5F, -5.5F, -5.5F, 8, 11, 0, 0.0F)); - cube_r3.cubeList.add(new ModelBox(cube_r3, 0, 2, 2.5F, -5.5F, 5.5F, 8, 11, 0, 0.0F)); - cube_r3.cubeList.add(new ModelBox(cube_r3, 6, -5, -1.5F, -5.0F, -5.0F, 0, 10, 10, 0.0F)); - cube_r3.cubeList.add(new ModelBox(cube_r3, 0, 5, -1.5F, -5.0F, -5.0F, 16, 10, 0, 0.0F)); - - cube_r4 = new ModelRenderer(this); - cube_r4.setRotationPoint(0.0F, -14.5F, 0.0F); - bb_main.addChild(cube_r4); - setRotationAngle(cube_r4, -1.5708F, 0.0F, 1.5708F); - cube_r4.cubeList.add(new ModelBox(cube_r4, 0, 4, -1.5F, -5.0F, -5.0F, 16, 10, 0, 0.0F)); - - cube_r5 = new ModelRenderer(this); - cube_r5.setRotationPoint(0.0F, -8.0F, 5.0F); - bb_main.addChild(cube_r5); - setRotationAngle(cube_r5, 3.1416F, 0.0F, 1.5708F); - cube_r5.cubeList.add(new ModelBox(cube_r5, 0, 3, -8.0F, -5.0F, 0.0F, 16, 10, 0, 0.0F)); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float 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/barrel/BarrelTrim.java b/src/main/java/noppes/npcs/client/model/blocks/barrel/BarrelTrim.java deleted file mode 100644 index b5404428e..000000000 --- a/src/main/java/noppes/npcs/client/model/blocks/barrel/BarrelTrim.java +++ /dev/null @@ -1,47 +0,0 @@ -package noppes.npcs.client.model.blocks.barrel;// Made with Blockbench 4.9.4 -// 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 BarrelTrim extends ModelBase { - private final ModelRenderer bb_main; - private final ModelRenderer cube_r1; - private final ModelRenderer cube_r2; - - public BarrelTrim() { - textureWidth = 32; - textureHeight = 32; - - bb_main = new ModelRenderer(this); - bb_main.setRotationPoint(0.0F, 24.0F, 0.0F); - bb_main.cubeList.add(new ModelBox(bb_main, 0, 7, 0.0F, -16.5F, -4.0F, 2, 1, 2, 0.0F)); - - cube_r1 = new ModelRenderer(this); - cube_r1.setRotationPoint(0.0F, -8.0F, 0.0F); - bb_main.addChild(cube_r1); - setRotationAngle(cube_r1, -1.5708F, 0.0F, 1.5708F); - cube_r1.cubeList.add(new ModelBox(cube_r1, 0, 0, -6.0F, -6.0F, -6.0F, 2, 12, 12, 0.0F)); - - cube_r2 = new ModelRenderer(this); - cube_r2.setRotationPoint(0.0F, -3.0F, 0.0F); - bb_main.addChild(cube_r2); - setRotationAngle(cube_r2, 1.5708F, 0.0F, 1.5708F); - cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 0, -1.0F, -6.0F, -6.0F, 2, 12, 12, 0.0F)); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float 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/barrel/ModelBarrel.java b/src/main/java/noppes/npcs/client/model/blocks/barrel/ModelBarrel.java new file mode 100644 index 000000000..6c1a2692f --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/barrel/ModelBarrel.java @@ -0,0 +1,80 @@ +package noppes.npcs.client.model.blocks.barrel; + +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 ModelBarrel extends ModelBase { + private final ModelRenderer Wall; + private final ModelRenderer cube_r1; + private final ModelRenderer cube_r2; + private final ModelRenderer cube_r3; + private final ModelRenderer Trim; + private final ModelRenderer Base; + + public ModelBarrel() { + textureWidth = 64; + textureHeight = 32; + + Wall = new ModelRenderer(this); + Wall.setRotationPoint(0.0F, 24.0F, 0.0F); + Wall.cubeList.add(new ModelBox(Wall, 0, 0, 5.0F, -16.0F, 5.0F, 1, 16, 1, 0.0F)); + Wall.cubeList.add(new ModelBox(Wall, 0, 0, 5.0F, -16.0F, -6.0F, 1, 16, 1, 0.0F)); + Wall.cubeList.add(new ModelBox(Wall, 0, 0, -6.0F, -16.0F, -6.0F, 1, 16, 1, 0.0F)); + Wall.cubeList.add(new ModelBox(Wall, 0, 0, -6.0F, -16.0F, 5.0F, 1, 16, 1, 0.0F)); + + cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(-6.5F, -8.0F, 0.0F); + Wall.addChild(cube_r1); + setRotationAngle(cube_r1, 1.5708F, 0.0F, 0.0F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 0, 0, -0.5F, -6.0F, -8.0F, 1, 12, 16, 0.0F)); + + cube_r2 = new ModelRenderer(this); + cube_r2.setRotationPoint(0.0F, -8.0F, 6.5F); + Wall.addChild(cube_r2); + setRotationAngle(cube_r2, 0.0F, 0.0F, 1.5708F); + cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 14, -8.0F, -6.0F, -0.5F, 16, 12, 1, 0.0F)); + cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 14, -8.0F, -6.0F, -13.5F, 16, 12, 1, 0.0F)); + + cube_r3 = new ModelRenderer(this); + cube_r3.setRotationPoint(6.5F, -8.0F, 0.0F); + Wall.addChild(cube_r3); + setRotationAngle(cube_r3, -1.5708F, 0.0F, 0.0F); + cube_r3.cubeList.add(new ModelBox(cube_r3, 0, 0, -0.5F, -6.0F, -8.0F, 1, 12, 16, 0.0F)); + + Trim = new ModelRenderer(this); + Trim.setRotationPoint(0.0F, 24.0F, 0.0F); + Trim.cubeList.add(new ModelBox(Trim, 4, 28, -6.5F, -5.0F, 5.5F, 13, 2, 2, 0.0F)); + Trim.cubeList.add(new ModelBox(Trim, 34, 17, 5.5F, -5.0F, -6.5F, 2, 2, 13, 0.0F)); + Trim.cubeList.add(new ModelBox(Trim, 4, 28, -6.5F, -5.0F, -7.5F, 13, 2, 2, 0.0F)); + Trim.cubeList.add(new ModelBox(Trim, 34, 17, -7.5F, -5.0F, -6.5F, 2, 2, 13, 0.0F)); + Trim.cubeList.add(new ModelBox(Trim, 4, 28, -6.5F, -13.0F, -7.5F, 13, 2, 2, 0.0F)); + Trim.cubeList.add(new ModelBox(Trim, 4, 28, -6.5F, -13.0F, 5.5F, 13, 2, 2, 0.0F)); + Trim.cubeList.add(new ModelBox(Trim, 34, 17, -7.5F, -13.0F, -6.5F, 2, 2, 13, 0.0F)); + Trim.cubeList.add(new ModelBox(Trim, 34, 17, 5.5F, -13.0F, -6.5F, 2, 2, 13, 0.0F)); + + Base = new ModelRenderer(this); + Base.setRotationPoint(0.0F, 24.0F, 0.0F); + Base.cubeList.add(new ModelBox(Base, 16, 2, -6.0F, -15.0F, -6.0F, 12, 1, 12, 0.0F)); + Base.cubeList.add(new ModelBox(Base, 16, 2, -6.0F, -2.0F, -6.0F, 12, 1, 12, 0.0F)); + } + + public void renderBase(float f5){ + Base.render(f5); + } + + public void renderTrim(float f5){ + Trim.render(f5); + } + + public void renderWall(float f5){ + Wall.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/campfire/ModelCampfireFlame.java b/src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireFlame.java new file mode 100644 index 000000000..23b20b30a --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireFlame.java @@ -0,0 +1,57 @@ +package noppes.npcs.client.model.blocks.campfire; + +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 ModelCampfireFlame extends ModelBase { + private final ModelRenderer[] frames; + private static int frameDuration = 2; + + public ModelCampfireFlame() { + textureWidth = 16; + textureHeight = 144; + + frames = new ModelRenderer[9]; + + // Create frames and add them to the array + frames[0] = new ModelRenderer(this); + frames[0].setRotationPoint(0.0F, 16.5F, 0.0F); + frames[0].cubeList.add(new ModelBox(frames[0], 0, 0, -8.0F, -8.5F, 0.0F, 16, 16, 0, 0.0F)); + + ModelRenderer cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(0.0F, 0.0F, 0.0F); + frames[0].addChild(cube_r1); + setRotationAngle(cube_r1, 0.0F, -1.5708F, 0.0F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 0, 0, -8.0F, -8.5F, 0.0F, 16, 16, 0, 0.0F)); + + // Repeat the above for all frames, incrementing texture offsets for each frame + for (int i = 1; i < 9; i++) { + frames[i] = new ModelRenderer(this); + frames[i].setRotationPoint(0.0F, 16.5F, 0.0F); + frames[i].cubeList.add(new ModelBox(frames[i], 0, i * 16 + 1, -8.0F, -8.5F, 0.0F, 16, 16, 0, 0.0F)); + + ModelRenderer cube_r = new ModelRenderer(this); + cube_r.setRotationPoint(0.0F, 0.0F, 0.0F); + frames[i].addChild(cube_r); + setRotationAngle(cube_r, 0.0F, -1.5708F, 0.0F); + cube_r.cubeList.add(new ModelBox(cube_r, 0, i * 16 + 1, -8.0F, -8.5F, 0.0F, 16, 16, 0, 0.0F)); + } + } + + @Override + public void render(Entity entity, float world_time, float f1, float f2, float f3, float f4, float f5) { + // Calculate the current frame directly using modulo arithmetic + int frameIndex = ((int) world_time / frameDuration) % frames.length; + + // Render only the current frame + frames[frameIndex].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/campfire/ModelCampfireLog.java b/src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireLog.java new file mode 100644 index 000000000..20acf6bfc --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireLog.java @@ -0,0 +1,51 @@ +package noppes.npcs.client.model.blocks.campfire; + +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 ModelCampfireLog extends ModelBase { + private final ModelRenderer bb_main; + private final ModelRenderer cube_r1; + private final ModelRenderer cube_r2; + private final ModelRenderer cube_r3; + + public ModelCampfireLog() { + textureWidth = 16; + textureHeight = 16; + + bb_main = new ModelRenderer(this); + bb_main.setRotationPoint(0.0F, 24.0F, 0.0F); + + + cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(1.25F, -6.3F, 1.25F); + bb_main.addChild(cube_r1); + setRotationAngle(cube_r1, 0.5449F, -1.0854F, -0.744F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 0, 0, -1.0F, -4.0F, -1.0F, 3, 10, 3, 0.0F)); + + cube_r2 = new ModelRenderer(this); + cube_r2.setRotationPoint(-1.5F, -6.0F, -0.25F); + bb_main.addChild(cube_r2); + setRotationAngle(cube_r2, 0.0F, 0.0F, 0.3927F); + cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 0, -2.0F, -4.0F, -1.0F, 3, 10, 3, 0.0F)); + + cube_r3 = new ModelRenderer(this); + cube_r3.setRotationPoint(1.5F, -6.0F, -2.25F); + bb_main.addChild(cube_r3); + setRotationAngle(cube_r3, -0.3295F, 0.7268F, -0.4754F); + cube_r3.cubeList.add(new ModelBox(cube_r3, 0, 0, -2.0F, -4.5F, -1.0F, 3, 10, 3, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float 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/campfire/ModelCampfireStone.java b/src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireStone.java new file mode 100644 index 000000000..feded698a --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/campfire/ModelCampfireStone.java @@ -0,0 +1,57 @@ +package noppes.npcs.client.model.blocks.campfire; + +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 ModelCampfireStone extends ModelBase { + private final ModelRenderer bb_main; + private final ModelRenderer cube_r1; + private final ModelRenderer cube_r2; + private final ModelRenderer cube_r3; + + public ModelCampfireStone() { + textureWidth = 16; + textureHeight = 16; + + bb_main = new ModelRenderer(this); + bb_main.setRotationPoint(0.0F, 24.0F, 0.0F); + bb_main.cubeList.add(new ModelBox(bb_main, 18, 5, 4.0F, -2.0F, 1.0F, 3, 2, 4, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 18, 2, -4.0F, -3.0F, -7.0F, 4, 3, 3, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 17, 0, -3.0F, -3.0F, 5.0F, 4, 3, 3, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 18, 2, -8.0F, -3.0F, -1.0F, 3, 3, 4, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 18, 11, -6.0F, -2.0F, 3.0F, 3, 2, 3, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 16, 0, -7.0F, -2.0F, -5.0F, 3, 2, 4, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 18, 11, 4.0F, -2.0F, -6.0F, 3, 2, 3, 0.0F)); + + cube_r1 = new ModelRenderer(this); + cube_r1.setRotationPoint(6.5F, -1.5F, -1.0F); + bb_main.addChild(cube_r1); + setRotationAngle(cube_r1, 0.0F, -1.5708F, 0.0F); + cube_r1.cubeList.add(new ModelBox(cube_r1, 18, 2, -2.0F, -1.5F, -1.5F, 4, 3, 3, 0.0F)); + + cube_r2 = new ModelRenderer(this); + cube_r2.setRotationPoint(2.5F, -1.5F, -6.0F); + bb_main.addChild(cube_r2); + setRotationAngle(cube_r2, 0.0F, 1.5708F, 0.0F); + cube_r2.cubeList.add(new ModelBox(cube_r2, 18, 5, -1.0F, -0.5F, -2.5F, 3, 2, 4, 0.0F)); + + cube_r3 = new ModelRenderer(this); + cube_r3.setRotationPoint(3.5F, -1.5F, 5.5F); + bb_main.addChild(cube_r3); + setRotationAngle(cube_r3, 0.0F, -1.5708F, 0.0F); + cube_r3.cubeList.add(new ModelBox(cube_r3, 20, 1, -0.5F, -0.5F, -1.5F, 2, 2, 4, 0.0F)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float 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/ModelBarrel.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBarrel.java similarity index 94% rename from src/main/java/noppes/npcs/client/model/blocks/ModelBarrel.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBarrel.java index acf209070..19ca1d92c 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelBarrel.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBarrel.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 ModelBarrel extends ModelBase +public class ModelLegacyBarrel extends ModelBase { ModelRenderer Plank1; ModelRenderer Plank2; @@ -18,70 +18,70 @@ public class ModelBarrel extends ModelBase ModelRenderer Plank10; ModelRenderer Plank11; ModelRenderer Plank12; - - public ModelBarrel() - { + + public ModelLegacyBarrel() + { Plank1 = new ModelRenderer(this, 10, 0); Plank1.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank1.setRotationPoint(0F, 7.01F, 0F); setRotation(Plank1, 0F, 0F, 1.570796F); - + Plank2 = new ModelRenderer(this, 10, 8); Plank2.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank2.setRotationPoint(0F, 7F, 0F); setRotation(Plank2, 0F, 0.5235988F, 1.570796F); - + Plank3 = new ModelRenderer(this, 10, 0); Plank3.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank3.setRotationPoint(0F, 7.01F, 0F); setRotation(Plank3, 0F, 1.047198F, 1.570796F); - + Plank4 = new ModelRenderer(this, 10, 8); Plank4.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank4.setRotationPoint(0F, 7F, 0F); setRotation(Plank4, 0F, 1.570796F, 1.570796F); - + Plank5 = new ModelRenderer(this, 10, 0); Plank5.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank5.setRotationPoint(0F, 7.01F, 0F); setRotation(Plank5, 0F, 2.094395F, 1.570796F); - + Plank6 = new ModelRenderer(this, 10, 8); Plank6.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank6.setRotationPoint(0F, 7F, 0F); setRotation(Plank6, 0F, 2.617994F, 1.570796F); - + Plank7 = new ModelRenderer(this, 10, 0); Plank7.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank7.setRotationPoint(0F, 7.01F, 0F); setRotation(Plank7, 0F, 3.150901F, 1.570796F); - + Plank8 = new ModelRenderer(this, 10, 8); Plank8.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank8.setRotationPoint(0F, 7F, 0F); setRotation(Plank8, 0F, -2.617994F, 1.570796F); - + Plank9 = new ModelRenderer(this, 10, 0); Plank9.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank9.setRotationPoint(0F, 7.01F, 0F); setRotation(Plank9, 0F, -2.094395F, 1.570796F); - + Plank10 = new ModelRenderer(this, 10, 8); Plank10.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank10.setRotationPoint(0F, 7F, 0F); setRotation(Plank10, 0F, -1.570796F, 1.570796F); - + Plank11 = new ModelRenderer(this, 10, 0); Plank11.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank11.setRotationPoint(0F, 7.01F, 0F); setRotation(Plank11, 0F, -1.047198F, 1.570796F); - + Plank12 = new ModelRenderer(this, 10, 0); Plank12.addBox(0F, 6.5F, -2F, 17, 1, 4); Plank12.setRotationPoint(0F, 7F, 0F); setRotation(Plank12, 0F, -0.5235988F, 1.570796F); } - + 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); @@ -98,13 +98,13 @@ public class ModelBarrel extends ModelBase Plank11.render(f5); Plank12.render(f5); } - + private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = y; model.rotateAngleY = x; model.rotateAngleZ = z; } - + } diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelBarrelLit.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBarrelLid.java similarity index 85% rename from src/main/java/noppes/npcs/client/model/blocks/ModelBarrelLit.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBarrelLid.java index 00db785bc..b8efe0a8f 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelBarrelLit.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/ModelLegacyBarrelLid.java @@ -1,38 +1,38 @@ -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 ModelBarrelLit extends ModelBase +public class ModelLegacyBarrelLid extends ModelBase { ModelRenderer Top; ModelRenderer Bottom; - - public ModelBarrelLit() + + public ModelLegacyBarrelLid() { Top = new ModelRenderer(this, 0, 0); Top.addBox(0F, 0F, 0F, 16, 0, 16); Top.setRotationPoint(-8F, 9F, -8F); - + Bottom = new ModelRenderer(this, 0, 0); Bottom.addBox(0F, 0F, 0F, 16, 0, 16); Bottom.setRotationPoint(-8F, 23F, -8F); } - + 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); Bottom.render(f5); Top.render(f5); } - + private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = y; model.rotateAngleY = x; model.rotateAngleZ = z; } - + } diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockBarrelRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockBarrelRenderer.java index e90dd504f..71c66c9c8 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockBarrelRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockBarrelRenderer.java @@ -4,28 +4,37 @@ import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockBarrel; import noppes.npcs.blocks.tiles.TileColorable; -import noppes.npcs.client.model.blocks.ModelBarrel; -import noppes.npcs.client.model.blocks.ModelBarrelLit; -import noppes.npcs.client.model.blocks.barrel.BarrelCore; -import noppes.npcs.client.model.blocks.barrel.BarrelTrim; +import noppes.npcs.client.model.blocks.barrel.ModelBarrel; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyBarrel; +import noppes.npcs.client.model.blocks.legacy.ModelLegacyBarrelLid; +import noppes.npcs.config.ConfigClient; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class BlockBarrelRenderer extends BlockRendererInterface{ - private final ModelBarrel model = new ModelBarrel(); - private final ModelBarrelLit modelLit = new ModelBarrelLit(); - private static final ResourceLocation resource1 = new ResourceLocation("customnpcs","textures/models/Barrel.png"); + // Legacy + private final ModelLegacyBarrel legacyModel = new ModelLegacyBarrel(); + private final ModelLegacyBarrelLid legacyLid = new ModelLegacyBarrelLid(); + private static final ResourceLocation legacy_texture = new ResourceLocation("customnpcs","textures/models/Barrel.png"); - private final BarrelCore core = new BarrelCore(); - private final BarrelTrim trim = new BarrelTrim(); - private static final ResourceLocation trimTexture = new ResourceLocation("customnpcs","textures/models/BarrelTrim.png"); + // Modern + private final ModelBarrel barrel = new ModelBarrel(); + private static final ResourceLocation trimTexture = new ResourceLocation("customnpcs","textures/models/barrel/trim.png"); + + private static final ResourceLocation oak_lid = new ResourceLocation("customnpcs","textures/models/barrel/oak_lid.png"); + private static final ResourceLocation spruce_lid = new ResourceLocation("customnpcs","textures/models/barrel/oak_lid.png"); + private static final ResourceLocation birch_lid = new ResourceLocation("customnpcs","textures/models/barrel/oak_lid.png"); + private static final ResourceLocation jungle_lid = new ResourceLocation("customnpcs","textures/models/barrel/oak_lid.png"); + private static final ResourceLocation acacia_lid = new ResourceLocation("customnpcs","textures/models/barrel/oak_lid.png"); + private static final ResourceLocation dark_oak_lid = new ResourceLocation("customnpcs","textures/models/barrel/oak_lid.png"); public BlockBarrelRenderer(){ ((BlockBarrel)CustomItems.barrel).renderId = RenderingRegistry.getNextAvailableRenderId(); @@ -39,17 +48,38 @@ public class BlockBarrelRenderer extends BlockRendererInterface{ GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glPushMatrix(); - GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.42f, (float)var6 + 0.5f); - GL11.glScalef(1.2f, 0.94f,1.2f); - GL11.glRotatef(180, 0, 0, 1); - GL11.glRotatef(45 * tile.rotation, 0, 1, 0); - GL11.glColor3f(1, 1, 1); - GL11.glEnable(GL11.GL_CULL_FACE); - setWoodTexture(var1.getBlockMetadata()); - core.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - Minecraft.getMinecraft().getTextureManager().bindTexture(trimTexture); - trim.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + + if(ConfigClient.LegacyBarrel){ + GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.42f, (float)var6 + 0.5f); + GL11.glScalef(1.2f, 0.94f,1.2f); + GL11.glRotatef(180, 0, 0, 1); + GL11.glRotatef(45 * tile.rotation, 0, 1, 0); + GL11.glColor3f(1, 1, 1); + + GL11.glEnable(GL11.GL_CULL_FACE); + + setWoodTexture(var1.getBlockMetadata()); + legacyModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + Minecraft.getMinecraft().getTextureManager().bindTexture(legacy_texture); + legacyLid.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + else { + GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.5f, (float)var6 + 0.5f); + GL11.glScalef(1.0f, 1.0f,1.0f); + GL11.glRotatef(180, 0, 0, 1); + GL11.glRotatef(45 * tile.rotation, 0, 1, 0); + GL11.glColor3f(1, 1, 1); + + GL11.glEnable(GL11.GL_CULL_FACE); + + setWoodTexture(var1.getBlockMetadata()); + barrel.renderWall(0.0625F); + Minecraft.getMinecraft().getTextureManager().bindTexture(trimTexture); + barrel.renderTrim(0.0625F); + setLidTexture(var1.getBlockMetadata()); + barrel.renderBase(0.0625F); + } GL11.glPopMatrix(); } @@ -58,20 +88,55 @@ public class BlockBarrelRenderer extends BlockRendererInterface{ public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { GL11.glPushMatrix(); - GL11.glTranslatef(0, 1.05f, 0); - GL11.glScalef(1f, 1f, 1f); - GL11.glRotatef(180, 0, 0, 1); - GL11.glRotatef(180, 0, 1, 0); + if(ConfigClient.LegacyBarrel){ + GL11.glTranslatef(0, 0.75f, 0); + GL11.glScalef(0.7f, 0.7f, 0.7f); + GL11.glRotatef(180, 0, 0, 1); + GL11.glRotatef(180, 0, 1, 0); + + setWoodTexture(metadata); + GL11.glColor3f(1, 1, 1); + legacyModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + + Minecraft.getMinecraft().getTextureManager().bindTexture(legacy_texture); + legacyLid.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + else { + GL11.glTranslatef(0, 0.9f, 0); + GL11.glScalef(0.9f, 0.9f, 0.9f); + GL11.glRotatef(180, 0, 0, 1); + GL11.glRotatef(180, 0, 1, 0); + + setWoodTexture(metadata); + GL11.glColor3f(1, 1, 1); + barrel.renderWall(0.0625F); + Minecraft.getMinecraft().getTextureManager().bindTexture(trimTexture); + barrel.renderTrim(0.0625F); + setLidTexture(metadata); + barrel.renderBase(0.0625F); + } - setWoodTexture(metadata); - GL11.glColor3f(1, 1, 1); - core.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - Minecraft.getMinecraft().getTextureManager().bindTexture(trimTexture); - trim.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); GL11.glPopMatrix(); } - @Override + public void setLidTexture(int meta){ + TextureManager manager = Minecraft.getMinecraft().getTextureManager(); + if(meta == 1) + manager.bindTexture(oak_lid); + else if(meta == 2) + manager.bindTexture(oak_lid); + else if(meta == 3) + manager.bindTexture(oak_lid); + else if(meta == 4) + manager.bindTexture(oak_lid); + else if(meta == 5) + manager.bindTexture(oak_lid); + else + manager.bindTexture(oak_lid); + } + + + @Override public int getRenderId() { return CustomItems.barrel.getRenderType(); } diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCampfireRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCampfireRenderer.java index 9c451f0ca..5e51f1d49 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCampfireRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCampfireRenderer.java @@ -5,17 +5,29 @@ import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockRotated; import noppes.npcs.blocks.tiles.TileColorable; import noppes.npcs.client.model.blocks.ModelCampfire; +import noppes.npcs.client.model.blocks.campfire.ModelCampfireFlame; +import noppes.npcs.client.model.blocks.campfire.ModelCampfireLog; +import noppes.npcs.client.model.blocks.campfire.ModelCampfireStone; +import noppes.npcs.config.ConfigClient; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class BlockCampfireRenderer extends BlockRendererInterface{ - private final ModelCampfire model = new ModelCampfire(); - + // Legacy + private final ModelCampfire legacy_model = new ModelCampfire(); + + // Modern + private final ModelCampfireFlame flameModel = new ModelCampfireFlame(); + private final ModelCampfireLog logsModel = new ModelCampfireLog(); + private final ModelCampfireStone stonesModel = new ModelCampfireStone(); + + public BlockCampfireRenderer(){ ((BlockRotated)CustomItems.campfire).renderId = RenderingRegistry.getNextAvailableRenderId(); ((BlockRotated)CustomItems.campfire_unlit).renderId = ((BlockRotated)CustomItems.campfire).renderId; @@ -29,15 +41,29 @@ public class BlockCampfireRenderer extends BlockRendererInterface{ GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPushMatrix(); 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(PlanksOak); - model.renderLog(0.0625F); - Minecraft.getMinecraft().getTextureManager().bindTexture(Stone); - model.renderRock(0.0625F); + + if(ConfigClient.LegacyCampfire){ + Minecraft.getMinecraft().getTextureManager().bindTexture(PlanksOak); + legacy_model.renderLog(0.0625F); + Minecraft.getMinecraft().getTextureManager().bindTexture(Stone); + legacy_model.renderRock(0.0625F); + } + else { + Block block = tile.getBlockType(); + + Minecraft.getMinecraft().getTextureManager().bindTexture(Logs); + logsModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + Minecraft.getMinecraft().getTextureManager().bindTexture(Cobble); + stonesModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + if(block == CustomItems.campfire){ + Minecraft.getMinecraft().getTextureManager().bindTexture(Flame); + flameModel.render(null, tile.getWorldObj().getWorldTime(), 0, 0, 0, 0.0F, 0.0625F); + } + } GL11.glPopMatrix(); } @@ -51,10 +77,19 @@ public class BlockCampfireRenderer extends BlockRendererInterface{ GL11.glRotatef(180, 0, 0, 1); GL11.glRotatef(180, 0, 1, 0); GL11.glColor3f(1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(PlanksOak); - model.renderLog(0.0625F); - Minecraft.getMinecraft().getTextureManager().bindTexture(Stone); - model.renderRock(0.0625F); + + if(ConfigClient.LegacyCampfire){ + Minecraft.getMinecraft().getTextureManager().bindTexture(PlanksOak); + legacy_model.renderLog(0.0625F); + Minecraft.getMinecraft().getTextureManager().bindTexture(Stone); + legacy_model.renderRock(0.0625F); + } + else { + Minecraft.getMinecraft().getTextureManager().bindTexture(Logs); + logsModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + Minecraft.getMinecraft().getTextureManager().bindTexture(Cobble); + stonesModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } GL11.glPopMatrix(); } diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java index 9327b4627..2f203ea3f 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java @@ -24,16 +24,13 @@ public abstract class BlockRendererInterface extends TileEntitySpecialRenderer i protected static final ResourceLocation PlanksAcacia = new ResourceLocation("customnpcs","textures/cache/planks_acacia.png"); protected static final ResourceLocation PlanksJungle = new ResourceLocation("customnpcs","textures/cache/planks_jungle.png"); - - protected static final ResourceLocation MCPlanksOak = new ResourceLocation("customnpcs","textures/cache/planks_oak.png"); - protected static final ResourceLocation MCPlanksBigOak = new ResourceLocation("customnpcs","textures/cache/planks_big_oak.png"); - protected static final ResourceLocation MCPlanksSpruce = new ResourceLocation("customnpcs","textures/cache/planks_spruce.png"); - protected static final ResourceLocation MCPlanksBirch = new ResourceLocation("customnpcs","textures/cache/planks_birch.png"); - protected static final ResourceLocation MCPlanksAcacia = new ResourceLocation("customnpcs","textures/cache/planks_acacia.png"); - protected static final ResourceLocation MCPlanksJungle = new ResourceLocation("customnpcs","textures/cache/planks_jungle.png"); - protected static final ResourceLocation Steel = new ResourceLocation("customnpcs","textures/models/Steel.png"); - protected static final RenderItem renderer = new RenderItem(); + + protected static final ResourceLocation Logs = new ResourceLocation("textures/blocks/log_oak.png"); + protected static final ResourceLocation Cobble = new ResourceLocation("textures/blocks/cobblestone.png"); + protected static final ResourceLocation Flame = new ResourceLocation("customnpcs","textures/models/flame.png"); + + protected static final RenderItem renderer = new RenderItem(); public static float colorTable[][] = { { diff --git a/src/main/java/noppes/npcs/config/ConfigClient.java b/src/main/java/noppes/npcs/config/ConfigClient.java index 3b4b7d1b2..06333ac60 100644 --- a/src/main/java/noppes/npcs/config/ConfigClient.java +++ b/src/main/java/noppes/npcs/config/ConfigClient.java @@ -16,6 +16,7 @@ public class ConfigClient public final static String GENERAL = "General"; public final static String VISUAL = "Visual"; public final static String QUESTING = "Questing"; + public final static String MODEL = "Model"; /** @@ -72,6 +73,14 @@ public class ConfigClient public static Property BannerAlertsProperty; public static boolean BannerAlerts = true; + /** + * Model Properties + **/ + public static boolean LegacyCampfire = false; + public static boolean LegacyChair = false; + public static boolean LegacyBarrel = false; + public static boolean LegacyCarpentryBench = false; + public static void init(File configFile) { config = new Configuration(configFile); @@ -128,6 +137,11 @@ public class ConfigClient BannerAlertsProperty = config.get(VISUAL, "All Banner Alerts", true, "Universal enable/disable for Banner Alerts"); BannerAlerts = BannerAlertsProperty.getBoolean(true); + LegacyCampfire = config.get(MODEL, "Legacy Campfire 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); + // Convert to Legacy if(CustomNpcs.legacyExist){ EnableChatBubbles = LegacyConfig.EnableChatBubbles; diff --git a/src/main/resources/assets/customnpcs/textures/models/BarrelTrim.png b/src/main/resources/assets/customnpcs/textures/models/BarrelTrim.png deleted file mode 100644 index 6269af2a12e68a6d7b00d554cf5402db372f9962..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 405 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFgkgHcQKNkg>34Q7=;4w-&#D>wL~h=l1Bv$BiW8Cp zZ|pYo=vAL@s>D@5~2Dwnveul-R-Y52RFVIOYw25Lc zKgblM6vkLstGINF6Nko928Ptgs@tpA{o5tB?2?NEN2ASocKs)-S|hwN867mQzLBeN zV|n4$wEC|UW9`Csi}UtR=}_g}T<%z+!^Le=p0*{gXtt0k>-QC_u07zqyEFUq=b}tk zn>ck&yK~PSGjGWAUE3>PC9wBxnHYoF?cC?F0bD^!|11T9t_J%%%wK=wbL@o1l`NbO ztQcd%>Jzu{&tJcQqu^})^qcH~6Btez{gW4Zx9=bC{PhwH_x#m=7vEue(UbPw^24kG wZXgK$!S>pvQYRqe@&RC=@})+2ruq6ZXaU(AKnwzxf+vG0Pgg&ebxsLQ0HiRV2><{9 diff --git a/src/main/resources/assets/customnpcs/textures/models/barrel/oak_lid.png b/src/main/resources/assets/customnpcs/textures/models/barrel/oak_lid.png new file mode 100644 index 0000000000000000000000000000000000000000..6a15e03678685c57a46e50b4347c2169c5376d0b GIT binary patch literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0XB4ude`@%$AjKn+toT^vI)oZn76=y%9Lpsjt9Q*f?F$Bl~b zj9;F4FK~aXT=C7(<`c)U#d})BAH~KUm>}VtyMmjwFm3m0QK`c*VnWZo|D7rMt^W4S zxiaoU_RG^28L!j#`|T*u5XAMUjK$N;xV$c4mCZJmzWv`nl;mCN{oqsLrTs;bXO=;g zZ-N2WE@#p5m#$HX&f0nJlP~rj>WQ#F!1TGw^J*R6Idz32S5+2G;9~MPmR#X4G*>ut z*_IUsNmu<!KHYk5PRHl`181K`+8_G%w_7Cq$K^e<+Lspp+5WwM_kUgu zsrTDgaI7xf@$c--Q!F=Xy*Ih+Xg{rW_-pZvAoe#PCj|$e*rb{EC4=8Be`Q$LbL*4O zO5RQ0QKxrKz2V&F9}B+T-Swr|S?P`GQ9id{jE{cp%vs7D_TAXgRiG@D^ERW5z4&wC xfCn$Pt<%ck=T`Rh31p4gufWlSKq1T@SgriH+F9pY%K#&d!PC{xWt~$(699@i+t~mB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/barrel/trim.png b/src/main/resources/assets/customnpcs/textures/models/barrel/trim.png new file mode 100644 index 0000000000000000000000000000000000000000..f3db64fb9d030fc521adbca8728310fb11bce681 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1``2&1HTx}g3^b8EV{r$sZVt`_f4TT_zwIs+d_&*RZ{NBbF3>4rj@Q5sC zVBk9p!i>lBSEK+1%RF5iLp;3SPITmJFyLSjfA#;q&WW|EcnRS3Ax_p03PV3iVo zy+QQZ!~0skKKWL{@#dpe0^j+C%E{A|zKaBZ5Sl3aYL9G0ll|LcKo>B0y85}Sb4q9e E0Jp?gRR910 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/flame.png b/src/main/resources/assets/customnpcs/textures/models/flame.png new file mode 100644 index 0000000000000000000000000000000000000000..35a37eaef0511c8b44e0719aa8c7f2fcbe901055 GIT binary patch literal 1693 zcmV;O24eY%P)Px*S4l)cRA_NfiEctO{M>LP$ukpu)|9U?CWeZ3JpvDTOS2jSGQFAA$S> z;r@X@IF|+&Y8(_7cIDQfW;qfL76fiw2m}&qL`ZQW@shp5dXqOlc6P&Y$N63(kF@jV z&Fp;NeD95c|Ez__PI}ozn)lofrY|qMNWEbnP2Umi!Vbb?C#8;r&^#NRvg(i#XS;jxp}gN8O8$-(m*l$KF~I9!SEDy;#Yy*h_C>`UKg zt^tisR<8B1nNLJCe0?+rmtCa($Q2{=C>GZ*Ok>Fos51a;<`a}_J*@*@CjgM*iNlpx zJOFsOzY@Py+a27VUDzX7MhR}uF0h$Tq=$Ihx&~zH*;H!p?2WOWP2mmus0R(Z1A2f) z-OMNW^x;T2j!qYL2lT*tHWjb$=H*-IwX>>|-;Z;P&i7+r~x*YN&)vl^=}`F1tvZz9SxfxW7WV))P+RaHa8q5lozoe*fi1 zF$I%p4&rcyKYsmLw4c2?N2N7DJ!s@}qCawt3#AfFrUQC?&t9ENd`JXydv;;x#ATGg zV*9Y*Ek00_jx5uF!8t)y=eclJ35D;x zLU5*V<8UP)Ot}J?HG<$IDbZ*gjXQf|Au?2{qfLSGB?6O4@@G2W^CcslyqQn1o=xpy zn{xqKr8SW92CLYP!xiFiB@n2d&>ZGQ2gEkCfDiXq*vu!Qy`D|;`Jf&&1nxKU32t7# z6>SrxN$-?4i9d2tZFfYTpjshn|JTeK3hg=*hzi@?*cD3Mq}q*M@5XMrd$cI=2 z1Nx*LXv$iQgu?5JMCDE2F;bi6;BM@uBrJICfNvtsO4<~n(}mbL-Pea&_MWSio4$i; zy9007$Ijju$WW+82b{*h&PE=(dV)(1NL+CAVapMf)<8@#(*ez2t!8FbFN|vdL%L5T z(cFANt*25!ws5`>oh}3?5+m*GjfLb}&!+jWk#fg}`zyhP6u}eV0~6Z5iw|~>76K%u zj;8Od$pA^;5UW&OePaZ?Bb`FD@&xPL0tDYo-Voa~uy5Q0S_IE;P~z{JaKN!qC}XL% zI|2{H3DtH7{>UwMI-A5cSXm^~0XLOYsBHz4dObi`AUJbw$eaR{jGddQFsV^mJ!nYy zFV}if+nVyIaNW!&l1BQj`vn@6*5e6q!9QXj-yceOf=MT2W+6p#g-i>No%C+(rXSxQ zO4*9(S?$7-?iD$3IF(t^7@Q;}P8ziL>p?@v92HDPMxx6J0q1SjUJr7TZ?GLloy)bJ zm`)t7G&oBw^+$fcPz6wJ!;Z#fln6#55YcCr%+aPmmvr1XwW)++JXqGVDXP+4>o-17 z6E7npapM);LiNOYfNcfqF$!Dp;s0(XEl{{HN#v0SWus9El(>LoPnOit7>4)&?7Ezi za(b2gh}YoE_kz3sC^Ee5et2}el8W=1z@U-5VPCuHL*CIw^%JfU2w2{*k7~Q4)mbz3 zLAln$!~K&}jWHoe~ODIYFaA00000NkvXXu0mjf^VuUv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/flame.png.mcmeta b/src/main/resources/assets/customnpcs/textures/models/flame.png.mcmeta new file mode 100644 index 000000000..503173546 --- /dev/null +++ b/src/main/resources/assets/customnpcs/textures/models/flame.png.mcmeta @@ -0,0 +1,17 @@ +{ + "animation": { + "frametime": 2, + "interpolate": true, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + } +} diff --git a/src/main/resources/assets/customnpcs/textures/models/flame_single.png b/src/main/resources/assets/customnpcs/textures/models/flame_single.png new file mode 100644 index 0000000000000000000000000000000000000000..a913064f4748f48f656edf092bc7f40721e76757 GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%zl|5Y?Lo9mF zPTZJv*g&A|zgYT-ONvK!1f0;)VDS>yXWj2;)zKr%BFo#l$02^n14Zxdj}QD}nd7#U z7)tDsV&c=3+f}i`ac+snjUAHJliz*0U%ub(z