From c95341b60ba344f481cfd344c2e08d83d2d2bae6 Mon Sep 17 00:00:00 2001 From: Kam Date: Tue, 28 Jan 2025 01:12:41 -0500 Subject: [PATCH] Stool and Chair Models Completed --- .../client/model/blocks/chair/ModelChair.java | 41 +++++++++++++ .../ModelChairSpoof.java} | 6 +- .../{ => legacy/couch}/ModelCouchCorner.java | 18 +++--- .../couch}/ModelCouchCornerWool.java | 10 ++-- .../{ => legacy/couch}/ModelCouchLeft.java | 14 ++--- .../couch}/ModelCouchLeftWool.java | 4 +- .../{ => legacy/couch}/ModelCouchMiddle.java | 18 +++--- .../couch}/ModelCouchMiddleWool.java | 12 ++-- .../{ => legacy/couch}/ModelCouchRight.java | 14 ++--- .../couch}/ModelCouchRightWool.java | 4 +- .../couch}/ModelCouchWoodLeft.java | 36 ++++++------ .../couch}/ModelCouchWoodMiddle.java | 4 +- .../couch}/ModelCouchWoodRight.java | 2 +- .../couch}/ModelCouchWoodSingle.java | 18 +++--- .../renderer/blocks/BlockChairRenderer.java | 54 +++++++++++++++--- .../blocks/BlockCouchWoodRenderer.java | 14 ++--- .../blocks/BlockCouchWoolRenderer.java | 6 +- .../blocks/BlockRendererInterface.java | 16 ------ .../renderer/blocks/BlockStoolRenderer.java | 19 +++--- .../textures/models/chair/acacia.png | Bin 0 -> 900 bytes .../textures/models/chair/birch.png | Bin 0 -> 991 bytes .../textures/models/chair/dark_oak.png | Bin 0 -> 970 bytes .../textures/models/chair/jungle.png | Bin 0 -> 920 bytes .../customnpcs/textures/models/chair/oak.png | Bin 0 -> 985 bytes .../textures/models/chair/spruce.png | Bin 0 -> 941 bytes .../textures/models/stool/acacia.png | Bin 0 -> 595 bytes .../textures/models/stool/birch.png | Bin 0 -> 621 bytes .../textures/models/stool/dark_oak.png | Bin 0 -> 590 bytes .../textures/models/stool/jungle.png | Bin 0 -> 617 bytes .../customnpcs/textures/models/stool/oak.png | Bin 399 -> 635 bytes .../textures/models/stool/spruce.png | Bin 0 -> 593 bytes 31 files changed, 190 insertions(+), 120 deletions(-) create mode 100644 src/main/java/noppes/npcs/client/model/blocks/chair/ModelChair.java rename src/main/java/noppes/npcs/client/model/blocks/{ModelChair.java => chair/ModelChairSpoof.java} (93%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchCorner.java (96%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchCornerWool.java (92%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchLeft.java (96%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchLeftWool.java (93%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchMiddle.java (94%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchMiddleWool.java (90%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchRight.java (96%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchRightWool.java (94%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchWoodLeft.java (97%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchWoodMiddle.java (98%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchWoodRight.java (98%) rename src/main/java/noppes/npcs/client/model/blocks/{ => legacy/couch}/ModelCouchWoodSingle.java (98%) create mode 100644 src/main/resources/assets/customnpcs/textures/models/chair/acacia.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/chair/birch.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/chair/dark_oak.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/chair/jungle.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/chair/oak.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/chair/spruce.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/stool/acacia.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/stool/birch.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/stool/dark_oak.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/stool/jungle.png create mode 100644 src/main/resources/assets/customnpcs/textures/models/stool/spruce.png diff --git a/src/main/java/noppes/npcs/client/model/blocks/chair/ModelChair.java b/src/main/java/noppes/npcs/client/model/blocks/chair/ModelChair.java new file mode 100644 index 000000000..84bff4eac --- /dev/null +++ b/src/main/java/noppes/npcs/client/model/blocks/chair/ModelChair.java @@ -0,0 +1,41 @@ +package noppes.npcs.client.model.blocks.chair; + +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 ModelChair extends ModelBase { + private final ModelRenderer bb_main; + + public ModelChair(){ + textureWidth = 64; + 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, 17, 4.0F, -6.0F, 4.0F, 2, 6, 2, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 0, 17, -6.0F, -6.0F, 4.0F, 2, 6, 2, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 0, 17, -6.0F, -6.0F, -6.0F, 2, 6, 2, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 0, 17, 4.0F, -6.0F, -6.0F, 2, 6, 2, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 0, 0, -6.0F, -8.0F, -6.0F, 12, 2, 12, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 8, 17, 4.0F, -20.0F, 4.0F, 2, 12, 2, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 8, 17, -6.0F, -20.0F, 4.0F, 2, 12, 2, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 16, 18, -4.0F, -19.0F, 5.0F, 8, 11, 0, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 16, 8, 5.0F, -4.0F, -4.0F, 0, 2, 8, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 16, 16, -4.0F, -4.0F, -5.0F, 8, 2, 0, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 16, 8, -5.0F, -4.0F, -4.0F, 0, 2, 8, 0.0F)); + bb_main.cubeList.add(new ModelBox(bb_main, 16, 16, -4.0F, -4.0F, 5.0F, 8, 2, 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/ModelChair.java b/src/main/java/noppes/npcs/client/model/blocks/chair/ModelChairSpoof.java similarity index 93% rename from src/main/java/noppes/npcs/client/model/blocks/ModelChair.java rename to src/main/java/noppes/npcs/client/model/blocks/chair/ModelChairSpoof.java index 6f7f94e46..eccad5767 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelChair.java +++ b/src/main/java/noppes/npcs/client/model/blocks/chair/ModelChairSpoof.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.chair; import net.minecraft.client.model.ModelBase; @@ -6,11 +6,11 @@ import net.minecraft.client.model.ModelBox; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelChair extends ModelBase { +public class ModelChairSpoof extends ModelBase { private final ModelRenderer chairBase; - public ModelChair() { + public ModelChairSpoof() { textureWidth = 64; textureHeight = 32; diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchCorner.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchCorner.java similarity index 96% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchCorner.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchCorner.java index 36f02c5a5..180c0b15e 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchCorner.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchCorner.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -19,35 +19,35 @@ public class ModelCouchCorner extends ModelBase { Leg1 = new ModelRenderer(this, 0, 0); Leg1.addBox(0F, 0F, 0F, 1, 1, 2); Leg1.setRotationPoint(7F, 23F, 6F); - + Leg2 = new ModelRenderer(this, 0, 0); Leg2.addBox(0F, 0F, 0F, 2, 1, 1); Leg2.setRotationPoint(4F, 23F, -8F); - + Leg3 = new ModelRenderer(this, 0, 0); Leg3.addBox(0F, 0F, 0F, 2, 1, 1); Leg3.setRotationPoint(-8F, 23F, -8F); - + Leg4 = new ModelRenderer(this, 0, 0); Leg4.addBox(0F, 0F, 0F, 2, 1, 2); Leg4.setRotationPoint(-8F, 23F, 6F); - + Leg5 = new ModelRenderer(this, 0, 0); Leg5.addBox(0F, 0F, 0F, 1, 1, 2); Leg5.setRotationPoint(7F, 23F, -6F); - + Back = new ModelRenderer(this, 1, 1); Back.addBox(0F, 0F, 0F, 1, 15, 15); Back.setRotationPoint(-8F, 6F, -8F); - + Back2 = new ModelRenderer(this, 14, 15); Back2.addBox(0F, 0F, 0F, 16, 15, 1); Back2.setRotationPoint(-8F, 6F, 7F); - + Bottom = new ModelRenderer(this, 4, 0); Bottom.addBox(0F, 0F, 0F, 16, 2, 14); Bottom.setRotationPoint(-8F, 21F, -6F); - + Bottom2 = new ModelRenderer(this, 0, 0); Bottom2.addBox(0F, 0F, 0F, 14, 2, 2); Bottom2.setRotationPoint(-8F, 21F, -8F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchCornerWool.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchCornerWool.java similarity index 92% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchCornerWool.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchCornerWool.java index 69bfaa4d6..a35306c59 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchCornerWool.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchCornerWool.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -10,19 +10,19 @@ public class ModelCouchCornerWool extends ModelBase { ModelRenderer Wool3; ModelRenderer Wool4; - public ModelCouchCornerWool() { + public ModelCouchCornerWool() { Wool1 = new ModelRenderer(this, 11, 3); Wool1.addBox(0F, 0F, 0F, 13, 5, 2); Wool1.setRotationPoint(-7F, 16F, -8F); - + Wool2 = new ModelRenderer(this, 2, 4); Wool2.addBox(0F, 0F, 0F, 2, 10, 13); Wool2.setRotationPoint(-7F, 6F, -8F); - + Wool3 = new ModelRenderer(this, 14, 15); Wool3.addBox(0F, 0F, 0F, 15, 10, 2); Wool3.setRotationPoint(-7F, 6F, 5F); - + Wool4 = new ModelRenderer(this, 0, 45); Wool4.addBox(0F, 0F, 0F, 15, 5, 13); Wool4.setRotationPoint(-7F, 16F, -6F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchLeft.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchLeft.java similarity index 96% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchLeft.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchLeft.java index c07f32051..3deb6a847 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchLeft.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchLeft.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -17,27 +17,27 @@ public class ModelCouchLeft extends ModelBase { Leg1 = new ModelRenderer(this, 0, 0); Leg1.addBox(0F, 0F, 0F, 2, 1, 2); Leg1.setRotationPoint(-8F, 23F, 6F); - + Leg2 = new ModelRenderer(this, 0, 0); Leg2.addBox(0F, 0F, 0F, 1, 1, 2); Leg2.setRotationPoint(7F, 23F, -6F); - + Leg3 = new ModelRenderer(this, 0, 0); Leg3.addBox(0F, 0F, 0F, 2, 1, 2); Leg3.setRotationPoint(-8F, 23F, -6F); - + Leg4 = new ModelRenderer(this, 0, 0); Leg4.addBox(0F, 0F, 0F, 1, 1, 2); Leg4.setRotationPoint(7F, 23F, 6F); - + Back = new ModelRenderer(this, 1, 15); Back.addBox(0F, 0F, 0F, 14, 15, 1); Back.setRotationPoint(-6F, 6F, 7F); - + Side = new ModelRenderer(this, 1, 28); Side.addBox(0F, 0F, 0F, 2, 11, 14); Side.setRotationPoint(-8F, 12F, -6F); - + Bottom = new ModelRenderer(this, 3, 1); Bottom.addBox(0F, 0F, 0F, 14, 2, 14); Bottom.setRotationPoint(-6F, 21F, -6F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchLeftWool.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchLeftWool.java similarity index 93% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchLeftWool.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchLeftWool.java index 039d843ba..6957a129b 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchLeftWool.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchLeftWool.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -12,7 +12,7 @@ public class ModelCouchLeftWool extends ModelBase { Wool1 = new ModelRenderer(this, 3, 0); Wool1.addBox(0F, 0F, 0F, 14, 5, 13); Wool1.setRotationPoint(-6F, 16F, -6F); - + Wool2 = new ModelRenderer(this, 14, 0); Wool2.addBox(0F, 0F, 0F, 14, 10, 2); Wool2.setRotationPoint(-6F, 6F, 5F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchMiddle.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchMiddle.java similarity index 94% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchMiddle.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchMiddle.java index 563b9ff20..15648b0d6 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchMiddle.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchMiddle.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -13,33 +13,33 @@ public class ModelCouchMiddle extends ModelBase ModelRenderer Leg4; ModelRenderer Bottom; ModelRenderer Back; - + public ModelCouchMiddle(){ Leg1 = new ModelRenderer(this, 0, 0); Leg1.addBox(0F, 0F, 0F, 1, 1, 2); Leg1.setRotationPoint(7F, 23F, 6F); - + Leg2 = new ModelRenderer(this, 0, 0); Leg2.addBox(0F, 0F, 0F, 1, 1, 2); Leg2.setRotationPoint(7F, 23F, -6F); - + Leg3 = new ModelRenderer(this, 0, 0); Leg3.addBox(0F, 0F, 0F, 1, 1, 2); Leg3.setRotationPoint(-8F, 23F, -6F); - + Leg4 = new ModelRenderer(this, 0, 0); Leg4.addBox(0F, 0F, 0F, 1, 1, 2); Leg4.setRotationPoint(-8F, 23F, 6F); - + Bottom = new ModelRenderer(this, 2, 0); Bottom.addBox(0F, 0F, 0F, 16, 2, 14); Bottom.setRotationPoint(-8F, 21F, -6F); - + Back = new ModelRenderer(this, 14, 15); Back.addBox(0F, 0F, 0F, 16, 15, 1); Back.setRotationPoint(-8F, 6F, 7F); } - + 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); @@ -50,7 +50,7 @@ public class ModelCouchMiddle extends ModelBase Bottom.render(f5); Back.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/ModelCouchMiddleWool.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchMiddleWool.java similarity index 90% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchMiddleWool.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchMiddleWool.java index 8746975b6..6729a8915 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchMiddleWool.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchMiddleWool.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -8,24 +8,24 @@ public class ModelCouchMiddleWool extends ModelBase { ModelRenderer Wool1; ModelRenderer Wool2; - - public ModelCouchMiddleWool(){ + + public ModelCouchMiddleWool(){ Wool1 = new ModelRenderer(this, 3, 0); Wool1.addBox(0F, 0F, 0F, 16, 5, 13); Wool1.setRotationPoint(-8F, 16F, -6F); - + Wool2 = new ModelRenderer(this, 14, 0); Wool2.addBox(0F, 0F, 0F, 16, 10, 2); Wool2.setRotationPoint(-8F, 6F, 5F); } - + 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); Wool1.render(f5); Wool2.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/ModelCouchRight.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchRight.java similarity index 96% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchRight.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchRight.java index 33f96e40c..517ebc831 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchRight.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchRight.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -18,29 +18,29 @@ public class ModelCouchRight extends ModelBase { Leg1 = new ModelRenderer(this, 0, 0); Leg1.addBox(0F, 0F, 0F, 2, 1, 2); Leg1.setRotationPoint(6F, 23F, 6F); - + Leg2 = new ModelRenderer(this, 0, 0); Leg2.addBox(0F, 0F, 0F, 1, 1, 2); Leg2.setRotationPoint(-8F, 23F, -6F); - + Leg3 = new ModelRenderer(this, 0, 0); Leg3.addBox(0F, 0F, 0F, 2, 1, 2); Leg3.setRotationPoint(6F, 23F, -6F); - + Leg4 = new ModelRenderer(this, 0, 0); Leg4.addBox(0F, 0F, 0F, 1, 1, 2); Leg4.setRotationPoint(-8F, 23F, 6F); - + Back = new ModelRenderer(this, 1, 15); Back.mirror = true; Back.addBox(0F, 0F, 0F, 14, 15, 1); Back.setRotationPoint(-8F, 6F, 7F); - + Bottom = new ModelRenderer(this, 3, 1); Bottom.mirror = true; Bottom.addBox(0F, 0F, 0F, 14, 2, 14); Bottom.setRotationPoint(-8F, 21F, -6F); - + Side = new ModelRenderer(this, 1, 28); Side.mirror = true; Side.addBox(0F, 0F, 0F, 2, 11, 14); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchRightWool.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchRightWool.java similarity index 94% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchRightWool.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchRightWool.java index ae9617417..62ecdb8da 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchRightWool.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchRightWool.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -13,7 +13,7 @@ public class ModelCouchRightWool extends ModelBase { Wool1.mirror = true; Wool1.addBox(0F, 0F, 0F, 14, 5, 13); Wool1.setRotationPoint(-8F, 16F, -6F); - + Wool2 = new ModelRenderer(this, 14, 0); Wool2.mirror = true; Wool2.addBox(0F, 0F, 0F, 14, 10, 2); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodLeft.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodLeft.java similarity index 97% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodLeft.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodLeft.java index 227e40c22..5d889b3b3 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodLeft.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodLeft.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -29,77 +29,77 @@ public class ModelCouchWoodLeft extends ModelBase { Shape1.mirror = true; Shape1.addBox(0F, 0F, 0F, 2, 3, 10); Shape1.setRotationPoint(-8F, 18F, -4F); - + Shape2 = new ModelRenderer(this, 0, 0); Shape2.addBox(0F, 0F, 0F, 1, 3, 2); Shape2.setRotationPoint(7F, 21F, -6F); - + Shape3 = new ModelRenderer(this, 0, 0); Shape3.mirror = true; Shape3.addBox(0F, 0F, 0F, 2, 4, 1); Shape3.setRotationPoint(-8F, 14F, 0.5F); - + Shape4 = new ModelRenderer(this, 0, 0); Shape4.mirror = true; Shape4.addBox(0F, 0F, 0F, 14, 2, 1); Shape4.setRotationPoint(-6F, 7F, 7F); - + Shape5 = new ModelRenderer(this, 0, 0); Shape5.mirror = true; Shape5.addBox(0F, 0F, 0F, 14, 2, 2); Shape5.setRotationPoint(-6F, 19F, 6F); - + Shape6 = new ModelRenderer(this, 0, 0); Shape6.mirror = true; Shape6.addBox(0F, 0F, 0F, 2, 1, 13); Shape6.setRotationPoint(-8F, 13F, -7F); - + Shape7 = new ModelRenderer(this, 0, 0); Shape7.addBox(0F, 0F, 0F, 1, 1, 10); Shape7.setRotationPoint(-6F, 19F, -4F); - + Shape8 = new ModelRenderer(this, 0, 0); Shape8.addBox(0F, 0F, 0F, 1, 3, 2); Shape8.setRotationPoint(7F, 21F, 6F); - + Shape9 = new ModelRenderer(this, 0, 0); Shape9.addBox(0F, 0F, 0F, 2, 1, 10); Shape9.setRotationPoint(5F, 19F, -4F); - + Shape10 = new ModelRenderer(this, 0, 0); Shape10.addBox(0F, 0F, 0F, 1, 10, 1); Shape10.setRotationPoint(-6F, 9F, 7F); - + Shape11 = new ModelRenderer(this, 0, 0); Shape11.mirror = true; Shape11.addBox(0F, 0F, 0F, 14, 2, 2); Shape11.setRotationPoint(-6F, 19F, -6F); - + Shape12 = new ModelRenderer(this, 0, 0); Shape12.addBox(0F, 0F, 0F, 2, 1, 10); Shape12.setRotationPoint(-3F, 19F, -4F); - + Shape13 = new ModelRenderer(this, 0, 0); Shape13.addBox(0F, 0F, 0F, 2, 1, 10); Shape13.setRotationPoint(1F, 19F, -4F); - + Shape14 = new ModelRenderer(this, 0, 0); Shape14.addBox(0F, 0F, 0F, 2, 10, 1); Shape14.setRotationPoint(-3F, 9F, 7F); - + Shape15 = new ModelRenderer(this, 0, 0); Shape15.addBox(0F, 0F, 0F, 2, 10, 1); Shape15.setRotationPoint(1F, 9F, 7F); - + Shape16 = new ModelRenderer(this, 0, 0); Shape16.addBox(0F, 0F, 0F, 2, 10, 1); Shape16.setRotationPoint(5F, 9F, 7F); - + Shape17 = new ModelRenderer(this, 0, 0); Shape17.mirror = true; Shape17.addBox(0F, 0F, 0F, 2, 10, 2); Shape17.setRotationPoint(-8F, 14F, -6F); - + Shape18 = new ModelRenderer(this, 0, 0); Shape18.mirror = true; Shape18.addBox(0F, 0F, 0F, 2, 18, 2); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodMiddle.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodMiddle.java similarity index 98% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodMiddle.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodMiddle.java index 5248f938a..f59932b83 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodMiddle.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodMiddle.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -26,7 +26,7 @@ public class ModelCouchWoodMiddle extends ModelBase { Shape2 = new ModelRenderer(this, 0, 0); Shape2.addBox(0F, 0F, 0F, 1, 3, 2); Shape2.setRotationPoint(-8F, 21F, -6F); - + Shape4 = new ModelRenderer(this, 0, 0); Shape4.addBox(0F, 0F, 0F, 16, 2, 1); Shape4.setRotationPoint(-8F, 7F, 7F); diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodRight.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodRight.java similarity index 98% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodRight.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodRight.java index 5819b2ada..951af09c2 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodRight.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodRight.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; diff --git a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodSingle.java b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodSingle.java similarity index 98% rename from src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodSingle.java rename to src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodSingle.java index 7023ba6b1..f43549102 100644 --- a/src/main/java/noppes/npcs/client/model/blocks/ModelCouchWoodSingle.java +++ b/src/main/java/noppes/npcs/client/model/blocks/legacy/couch/ModelCouchWoodSingle.java @@ -1,4 +1,4 @@ -package noppes.npcs.client.model.blocks; +package noppes.npcs.client.model.blocks.legacy.couch; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; @@ -33,30 +33,30 @@ public class ModelCouchWoodSingle extends ModelBase { Shape1.mirror = true; Shape1.addBox(0F, 0F, 0F, 2, 3, 10); Shape1.setRotationPoint(-8F, 18F, -4F); - + Shape2 = new ModelRenderer(this, 0, 0); Shape2.mirror = true; Shape2.addBox(0F, 0F, 0F, 2, 10, 2); Shape2.setRotationPoint(-8F, 14F, -6F); - + Shape3 = new ModelRenderer(this, 0, 0); Shape3.mirror = true; Shape3.addBox(0F, 0F, 0F, 2, 4, 1); Shape3.setRotationPoint(-8F, 14F, 0.5F); - + Shape4 = new ModelRenderer(this, 0, 0); Shape4.addBox(0F, 0F, 0F, 12, 2, 1); Shape4.setRotationPoint(-6F, 7F, 7F); - + Shape5 = new ModelRenderer(this, 0, 0); Shape5.addBox(0F, 0F, 0F, 12, 2, 2); Shape5.setRotationPoint(-6F, 19F, 6F); - + Shape6 = new ModelRenderer(this, 0, 0); Shape6.mirror = true; Shape6.addBox(0F, 0F, 0F, 2, 1, 13); Shape6.setRotationPoint(-8F, 13F, -7F); - + Shape7 = new ModelRenderer(this, 0, 0); Shape7.addBox(0F, 0F, 0F, 1, 1, 10); Shape7.setRotationPoint(-6F, 19F, -4F); @@ -109,11 +109,11 @@ public class ModelCouchWoodSingle extends ModelBase { Shape19 = new ModelRenderer(this, 0, 0); Shape19.addBox(0F, 0F, 0F, 2, 10, 2); Shape19.setRotationPoint(6F, 14F, -6F); - + Shape20 = new ModelRenderer(this, 0, 0); Shape20.addBox(0F, 0F, 0F, 2, 3, 10); Shape20.setRotationPoint(6F, 18F, -4F); - + Shape21 = new ModelRenderer(this, 0, 0); Shape21.addBox(0F, 0F, 0F, 2, 4, 1); Shape21.setRotationPoint(6F, 14F, 0.5F); diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockChairRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockChairRenderer.java index 86ff10676..b394ba01b 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockChairRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockChairRenderer.java @@ -2,12 +2,16 @@ package noppes.npcs.client.renderer.blocks; 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.BlockChair; import noppes.npcs.blocks.tiles.TileColorable; -import noppes.npcs.client.model.blocks.ModelChair; +import noppes.npcs.client.model.blocks.chair.ModelChair; +import noppes.npcs.client.model.blocks.chair.ModelChairSpoof; import noppes.npcs.client.model.blocks.legacy.ModelLegacyChair; import noppes.npcs.config.ConfigClient; import org.lwjgl.opengl.GL11; @@ -16,7 +20,16 @@ import org.lwjgl.opengl.GL12; public class BlockChairRenderer extends BlockRendererInterface{ private final ModelLegacyChair legacyModel = new ModelLegacyChair(); - private final ModelChair model = new ModelChair(); + + private final ModelChairSpoof chairSpoof = new ModelChairSpoof(); + private final ModelChair chair = new ModelChair(); + + private static final ResourceLocation oak = new ResourceLocation("customnpcs","textures/models/chair/oak.png"); + private static final ResourceLocation spruce = new ResourceLocation("customnpcs","textures/models/chair/spruce.png"); + private static final ResourceLocation birch = new ResourceLocation("customnpcs","textures/models/chair/birch.png"); + private static final ResourceLocation jungle = new ResourceLocation("customnpcs","textures/models/chair/jungle.png"); + private static final ResourceLocation dark_oak = new ResourceLocation("customnpcs","textures/models/chair/dark_oak.png"); + private static final ResourceLocation acacia = new ResourceLocation("customnpcs","textures/models/chair/acacia.png"); public BlockChairRenderer(){ ((BlockChair)CustomItems.chair).renderId = RenderingRegistry.getNextAvailableRenderId(); @@ -28,7 +41,7 @@ public class BlockChairRenderer extends BlockRendererInterface{ TileColorable tile = (TileColorable) var1; GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPushMatrix(); - GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.68f, (float)var6 + 0.5f); + GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.65f, (float)var6 + 0.5f); GL11.glScalef(1.2f, 1.1f, 1.2f); GL11.glRotatef(180, 0, 0, 1); GL11.glRotatef(90 * tile.rotation, 0, 1, 0); @@ -38,8 +51,14 @@ public class BlockChairRenderer extends BlockRendererInterface{ setWoodTexture(var1.getBlockMetadata()); if(ConfigClient.LegacyChair) legacyModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - else - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + else { + if(ConfigClient.WoodTextures) + chairSpoof.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + else { + setChairTexture(var1.getBlockMetadata()); + chair.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + } GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glPopMatrix(); @@ -58,11 +77,32 @@ public class BlockChairRenderer extends BlockRendererInterface{ GL11.glColor3f(1, 1, 1); if(ConfigClient.LegacyChair) legacyModel.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - else - model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + else { + if(ConfigClient.WoodTextures) + chairSpoof.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + else { + setChairTexture(metadata); + chair.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); + } + } GL11.glPopMatrix(); } + public void setChairTexture(int meta){ + TextureManager manager = Minecraft.getMinecraft().getTextureManager(); + if(meta == 1) + manager.bindTexture(spruce); + else if(meta == 2) + manager.bindTexture(birch); + else if(meta == 3) + manager.bindTexture(jungle); + else if(meta == 4) + manager.bindTexture(acacia); + else if(meta == 5) + manager.bindTexture(dark_oak); + else + manager.bindTexture(oak); + } @Override diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoodRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoodRenderer.java index f2cd94a0c..c4c8fb970 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoodRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoodRenderer.java @@ -8,10 +8,10 @@ import net.minecraft.tileentity.TileEntity; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockCouchWood; import noppes.npcs.blocks.tiles.TileCouchWood; -import noppes.npcs.client.model.blocks.ModelCouchWoodLeft; -import noppes.npcs.client.model.blocks.ModelCouchWoodMiddle; -import noppes.npcs.client.model.blocks.ModelCouchWoodRight; -import noppes.npcs.client.model.blocks.ModelCouchWoodSingle; +import noppes.npcs.client.model.blocks.legacy.couch.ModelCouchWoodLeft; +import noppes.npcs.client.model.blocks.legacy.couch.ModelCouchWoodMiddle; +import noppes.npcs.client.model.blocks.legacy.couch.ModelCouchWoodRight; +import noppes.npcs.client.model.blocks.legacy.couch.ModelCouchWoodSingle; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -24,7 +24,7 @@ public class BlockCouchWoodRenderer extends BlockRendererInterface{ private final ModelBase modelRight = new ModelCouchWoodRight(); private final ModelBase modelCorner = new ModelCouchWoodSingle(); - + public BlockCouchWoodRenderer(){ ((BlockCouchWood)CustomItems.couchWood).renderId = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(this); @@ -40,7 +40,7 @@ public class BlockCouchWoodRenderer extends BlockRendererInterface{ GL11.glRotatef(180, 0, 0, 1); GL11.glRotatef(90 * tile.rotation, 0, 1, 0); GL11.glColor3f(1, 1, 1); - + setWoodTexture(var1.getBlockMetadata()); if(tile.hasLeft && tile.hasRight) model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); @@ -66,7 +66,7 @@ public class BlockCouchWoodRenderer extends BlockRendererInterface{ setWoodTexture(metadata); GL11.glColor3f(1, 1, 1); modelCorner.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); - + GL11.glPopMatrix(); } diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoolRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoolRenderer.java index 6c75e9d38..49fc72d05 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoolRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoolRenderer.java @@ -8,7 +8,7 @@ import net.minecraft.tileentity.TileEntity; import noppes.npcs.CustomItems; import noppes.npcs.blocks.BlockCouchWool; import noppes.npcs.blocks.tiles.TileCouchWool; -import noppes.npcs.client.model.blocks.*; +import noppes.npcs.client.model.blocks.legacy.couch.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -25,7 +25,7 @@ public class BlockCouchWoolRenderer extends BlockRendererInterface{ private final ModelBase modelCorner = new ModelCouchCorner(); private final ModelBase modelCorner2 = new ModelCouchCornerWool(); - + public BlockCouchWoolRenderer(){ ((BlockCouchWool)CustomItems.couchWool).renderId = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(this); @@ -41,7 +41,7 @@ public class BlockCouchWoolRenderer extends BlockRendererInterface{ GL11.glRotatef(180, 0, 0, 1); GL11.glRotatef(90 * tile.rotation, 0, 1, 0); GL11.glColor3f(1, 1, 1); - + setWoodTexture(var1.getBlockMetadata()); if(tile.hasCornerLeft) modelCorner.render(null, 0, 0, 0, 0, 0.0F, 0.0625F); 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 2f203ea3f..97cc97b64 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java @@ -108,22 +108,6 @@ public abstract class BlockRendererInterface extends TileEntitySpecialRenderer i manager.bindTexture(PlanksOak); } - public void setDefaultWoodTexture(int meta){ - TextureManager manager = Minecraft.getMinecraft().getTextureManager(); - if(meta == 1) - manager.bindTexture(PlanksSpruce); - else if(meta == 2) - manager.bindTexture(PlanksBirch); - else if(meta == 3) - manager.bindTexture(PlanksJungle); - else if(meta == 4) - manager.bindTexture(PlanksAcacia); - else if(meta == 5) - manager.bindTexture(PlanksBigOak); - else - manager.bindTexture(PlanksOak); - } - public static void setMaterialTexture(int meta){ TextureManager manager = Minecraft.getMinecraft().getTextureManager(); if(meta == 1) diff --git a/src/main/java/noppes/npcs/client/renderer/blocks/BlockStoolRenderer.java b/src/main/java/noppes/npcs/client/renderer/blocks/BlockStoolRenderer.java index 32ea1655c..3775a35d3 100644 --- a/src/main/java/noppes/npcs/client/renderer/blocks/BlockStoolRenderer.java +++ b/src/main/java/noppes/npcs/client/renderer/blocks/BlockStoolRenderer.java @@ -21,7 +21,12 @@ public class BlockStoolRenderer extends BlockRendererInterface{ private final ModelLegacyStool legacyStool = new ModelLegacyStool(); private final ModelStool stool = new ModelStool(); - protected static final ResourceLocation oak = new ResourceLocation("customnpcs","textures/models/stool/oak.png"); + private static final ResourceLocation oak = new ResourceLocation("customnpcs","textures/models/stool/oak.png"); + private static final ResourceLocation spruce = new ResourceLocation("customnpcs","textures/models/stool/spruce.png"); + private static final ResourceLocation birch = new ResourceLocation("customnpcs","textures/models/stool/birch.png"); + private static final ResourceLocation jungle = new ResourceLocation("customnpcs","textures/models/stool/jungle.png"); + private static final ResourceLocation dark_oak = new ResourceLocation("customnpcs","textures/models/stool/dark_oak.png"); + private static final ResourceLocation acacia = new ResourceLocation("customnpcs","textures/models/stool/acacia.png"); public BlockStoolRenderer(){ ((BlockStool)CustomItems.stool).renderId = RenderingRegistry.getNextAvailableRenderId(); @@ -33,7 +38,7 @@ public class BlockStoolRenderer extends BlockRendererInterface{ TileColorable tile = (TileColorable) var1; GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPushMatrix(); - GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.68f, (float)var6 + 0.5f); + GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.65f, (float)var6 + 0.5f); GL11.glScalef(1.2f, 1.1f, 1.2f); GL11.glRotatef(180, 0, 0, 1); GL11.glColor3f(1, 1, 1); @@ -83,15 +88,15 @@ public class BlockStoolRenderer extends BlockRendererInterface{ public void setStoolTexture(int meta){ TextureManager manager = Minecraft.getMinecraft().getTextureManager(); if(meta == 1) - manager.bindTexture(oak); + manager.bindTexture(spruce); else if(meta == 2) - manager.bindTexture(oak); + manager.bindTexture(birch); else if(meta == 3) - manager.bindTexture(oak); + manager.bindTexture(jungle); else if(meta == 4) - manager.bindTexture(oak); + manager.bindTexture(acacia); else if(meta == 5) - manager.bindTexture(oak); + manager.bindTexture(dark_oak); else manager.bindTexture(oak); } diff --git a/src/main/resources/assets/customnpcs/textures/models/chair/acacia.png b/src/main/resources/assets/customnpcs/textures/models/chair/acacia.png new file mode 100644 index 0000000000000000000000000000000000000000..65e9fa9401f527618121826dd06196e04e788cc9 GIT binary patch literal 900 zcmV-~1AF|5P)Px&K1oDDRA_R(z zjv{oVjdTS9Q5dw6<@HK-iu3G^KhDSANj6Bl=5}_*mS^Yf%9g!KZ5z{S(E#LkugYBX-jvq;<8_X+C-prl68Op_F{q_pro zGhWrcZ>*FAxdZ%{k2$4n?fb-PNzik#9r=(-RZ17tcd2s3Nj6V{miB$ZdI7$EiXeQi zv6lguqy}h+AT$oz*!PWi47%%si`3+=M>l0_I<;80pcV>oMf!M)n@++wvVZ{ z)7ZwoPdHbn2L;L~+)GtyTLG9ko}`G@U8rYw;d{7yl=!wQD)ThA>ibVFZ`V3IY)s?S zB&dg%w2`D}j_=Rec;3y`pCRzWkW{Mj;bg0H-lzb!@BhFDR>#_B@9VR}0xc~r@B6#- zM;AA}p8xAGRp9)1zo14W@Z845#AG}wcu)WR=Whq)o)*5>XmL^N0K4=Q+GHdT$B;3Q?(-38WXOUDo2{6Glxq|#-oC+xR&XM z#;dkKn@kPL$>puXD*^3&nQ7CdU7a2j^end-n*IRb-aXD~c=ss5<>q0fJ#!yj+&D7R zt`OBpoDlY6@>3KDBqIzP~pty%FM9S$r%r{U&<(b+L2{OyhZJqv}A8lkNlW a82bA($#VR0000 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/chair/birch.png b/src/main/resources/assets/customnpcs/textures/models/chair/birch.png new file mode 100644 index 0000000000000000000000000000000000000000..cc108d17496d489c8bd63395379eed7cb9fbf889 GIT binary patch literal 991 zcmV<510ei~P)Px&nMp)JRA_^-zlev$_O6ntCmr)`2<;Rxd}jj7MD=UD(?Y#%3#9Z)J~;JGdib2&gu zV^wwll*+-LsePOX ze?mgLkc5UX+M>>94-X`%ncBw*V+Wj^6yVrI5}OJ^YT_*Kc@|3LjFElZNSgjYq^ak+ z@LV@?wgnuUz_E#pu8DozFwTJN;Q{(RwWf0*JiqD(i`s5#A2$-MMvWtkLc9Gt(zXJS zdn!qZv|a|it#xdIe$PjtXh-(N-n!3!_VU97cRP1`Dnkd+Q`b>q z6NnB&0nyESK5>#8J^vo}SRWhD-tDia9CKRSvBm+5^p)rDVx9kW$STmRS9xzR000#8 z`I(D}AKyQ5w||CQ;Rpb5^7L&2AsIR0Y%k8YATU*4rr#!{1A2o2iut@;>+oDxeu&z? zt1K+CVNq09>9>JI`|BxR7CD5aP%TZWUSt5mG*?q!e~xZLeYSBK+Z0Ltrp8oebSl@n z4WrYDUcU(vx@{r_Ekg5Ty)jYODp!bXS`^h*qsASZ?A{U3$5maXK11q3VrF!G^f-%O zKZ6NRkRw8dpV!%`+2i)l(CrNI>doivR)K!c2XTU#sDJJQfRxj@;Jk{n4r@MhGdhK1 zvzfi9K3W=gA^ia$)f)^@M3nu7%;-S&?!nCtxpM}9+X;_Eu+^w>MyCt!_M7!8Cr)zf z#HV8Ai+ua?o)c?7QVFOs%`rNaP7*0DA|2cYW2rvwe}w4xr~3fvvj`E2*|KIUPW zZd+IxiB_Y=MF~_pJ2tw)?S$_Xp{;|J8Nlci#7Tlqm{Pi!)ZODh$6x4wtRNpC*Ej$G N002ovPDHLkV1gu=&ZhtX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/chair/dark_oak.png b/src/main/resources/assets/customnpcs/textures/models/chair/dark_oak.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6c641d28bfc736546b92aab470489d658be690 GIT binary patch literal 970 zcmV;*12z1KP)Px&gh@m}RA_T{`99%nfX_!moE(Kf?KOhW8KNN6 zVJ*u>K_~gUw@~Z#a5g|R3Xl{6@yG{SVQkY%d)igLPdFQZiW+%SNCmN|Lf9X0eFgvq z?kwLoHY$Rq0_Jb?Y^H##e4p5;2nLx%9CAFPw8ED9ds^g3GO3H2t9+kuHo*Bw4DNMv z8GtTo(I~J69vAt(i{QZZ1G;q;0!bmP+$M0Z`q4@`$oCEB2uL!Cqz-8SU?UD$Dl42} z^maPC$oC2M?aQe`?SpQbTw;wa@!bVv37%~l$7CCakIvv3E``_`7&9Qaky%<+Dq}}Gs zD!+>V^J=>s-WIwGjL#319$b9YSxkKYdZyA`AquMNAHOCHbxw1yQi$@K3YbZ+;_niA z4#)*V;41{aS~`&>h0uy5h0ynx*SAcTjUl*Kon=|^*75sObvf9@_*AX(9O_nRwkDHL ziVI-6^c!pLpKB+?>BTI5hnT0D}U&gTDK!!;NJ=nNfg zx;>b*`HD&X-q(;Ef3m7)(+-f}b69D#OAO8TIb=1kv}t`O?WgNO;2{oq^{$ty6aF*+ zRUTJX8u$Z_INW^|984bOV2Xn&j>*FuCQV-B9>7$ijEN+Z5DRH7I-`Jrd(FFndq5O0 zOGYf@UQBYsTri!BRQ=7|q}iP|J5>09$|!MI>Ii7V9DzG?!Jb6G@b}&0$|`*FF;M2# zrk(%fMXD2I99nV^Xr3pTHh))m)jmL$b|IvR^82DZUb7GI2OP3Q z-O8FGNej%r|CRODSZ@H%04M-WQKW9LY|Zt*VXXnuTtP7jf54IERUzYE6$LWye~tat sSX%?8v#Kr9Px&Qb|NXRA_=T-Lu#9xpmq_c{@z^l@k z>V84+2jq@GtPTRF5G)f=*(xr=x;9R=SLmCY9XD=9!)^lk8t2V>4*TA``QDphFvMBq zC@2-PQqJdWj3*xQIU4{lo_JC>98CcLCiXvCx6JgLHo=zZA4Bi%{(%MaR3OMa{z#4*>X(303d`2?XIbPQZNp{-GjT7+Il*Z z-t%W6`MLH67zdXB|zQ=K1JsqAfm-p`~Fq>@AaRF-v4#TDsWag3jQ}P+e;4>K zl>SkAwWX!wK|B$)uC7m;1T*wezVAT@fhZY^v{&_gX8_lIgztMO*P4u+sWw_n2!V2~ z$!MKb`m~X0cY0E2cY09esLM*!g9o+KDlY4lU_9|+^=TvH`7?Cy9dz#WBk{OiwO zX-FTd_vrbY9a#ygjTX!2>{xx;h&_Lo^-4gjO_hLpcm1xviYuPdr_KS-G4g#cR0b`} zmU7=2$fl^;XfblATx+tvGlVF#Z8G2IQdIk9Q3K0000Px&lSxEDRA_K_H&5ql`*{KZxh{km}9@jr?j75TU0`!-Txy9ufSM?7Q zW0RmqXiZ6I5UcIy`37(Ik)Voym{1PD-Hl~1gAF~qg4E!1MV5IJRPhfRV{!n4W7PnE z3yY#gOp+Eis{Ua^IRFjbMuV40PVdU|E4DL8ZuiD&{$V2W?%Dkw{8jkzv)Wg-0+2dN zQes<=0=N3hT4pd5ie+qXtoG@JZrt}jc=}muxb5KZ=wyJTgpM+Fa2$L_ zfL4G)PXohk2d3o?WB}FoU*QVlW8&WXV1K8FAtf!X`$yUDJ$V~y{~v_R0(-lgJyD3v z8`{9d#OF7Ud-duua{223fIAOgM&O@mW-zav_0P8;Fe;C-&k`~KrsZPZ(BwD>$EwMR z(E7bpF|no1A!RHM^!KHT2>{sk3n6NEteUjX5|M-bo!+RGgP#g%YNB?UIz@pa>@=+j zf8itE`{>1|*&cy}mX;qZRwyV746`?Qd*CXI84PEqHcAyQO)cdzvgx4#x(sP7h9RZs zfE*}H=s4_4%xNP=&veIE24$fWvM5}Za+#1nclwws6w7G3T{PV;3dJ(0Oq-Ra+XXHO zb59d7kMTV={=@#BT&kF|b{Ab8GnfoQ)9qq!ceA&(z96r>1UhaDg<=^1u)VQ5z$cDX z!!??c0kXyG|3OALHvpxIiM1Q^fXij=zD8_U_{Z@Z(hPv;RLt6U00000NkvXX Hu0mjf?h4gl literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/chair/spruce.png b/src/main/resources/assets/customnpcs/textures/models/chair/spruce.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8753c7ff779ff773ceb24f80486c8270162f44 GIT binary patch literal 941 zcmV;e15*5nP)Px&XGugsRA_~rSK0}N@H+gWKKR#cv()MOTo=DcVO@WIf&%fu(LZHH?y-dZ* zDA>bClCdWGS;N=?grb{|M?#N>b3j}66T54wpB0Q9aNW2Y3GGgp3};$bs+*7>tDhx| z9q@AV1$MWd1M#jA2D|B?E&HgHTy(;oHqcDJz6iS>4Pytm!p7CjJ$ARA0jV$^Cj&6n z&l1KCprl5-*_M5HfdT+jNuXZ<4u&oEquA@VJhY=nV{gqFGQiUkk7OrmYfjEST)R2*! z+?eWT4dY*Kwj`P@$!dB}pWjYskJNS=o9JhW+~@aiBE-Ak1u{Wf0q8lNq$sQ>p%eBJ za>2H6S#RR?b~Q0ibF)7G^z34;-odIhd{oz6NEPC`aW|5rXpU#-^f>(;0%w3U&mALG z2&K9s6~OfQPk6%Yn7j8rIo^*jhSGB0KWY8T_urZJ|7qwvY22(w$%x-MoHL z+L^TM1$c0shz-U#hCoi@x~l>UW2k6aP7@P8CLY1LLYm!i9sqV%xC(XL;{7==Xid}d za4y-pdcj)ex44Ujby;s>XR{2%v=o4r$KBknS_sdJ+`EJANQgmc<7JRQ+@1Fc6anK} zUEby0`h(|D>Evr9FP#VcJg-lDfsb#C5x=!b=Lbq`e4Y$X%Tz|OLXq^ScDNJv5{Zz1 zUe=palN=>UFGwc6l}Liq6e=YVhkTFm0;Ml7|NA63O@ZIq@PBu(0$19Lz*Gm^`dvuX zL!~4VXW0uBI^puJvKEE4X$rN54_6FWT&>}w*6`z;V4>FVvw6!W{5$*wu*j2gPv4K| P00000NkvXXu0mjf1NXq? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/stool/acacia.png b/src/main/resources/assets/customnpcs/textures/models/stool/acacia.png new file mode 100644 index 0000000000000000000000000000000000000000..7aa0dcbe2c3b5f353314f5aab219358be4be3c13 GIT binary patch literal 595 zcmV-Z0<8UsP)Px$^GQTORA_=-l$*C!$MpTvGLK8lqK;Co6JHwHitBWSjVgN)EAj=w& z1OUjg24G!O0J!Mh-F}_9e*2V!uEIQvITr~4veKN3gfvT0g+jFZwHtQPjRofeFr-~QM{#S+KyDSk& z;G`Q1&S5lFRE6q|tBpifdXR1`91#JS=dG=cz4u4pux<<-9RXwOGhnrmh&b9CfyZ=X zVQ>Ui8`-nBh@*DgK7%g0vEb|gW8W5ytRC9CuNk6yI%Xf=zG|SY&SEKf`CI_7SW4!3 z+Uw+u#k+Jbx4*UCn-5=3+A)UrYek;L$g-r=wXImGYg@7Vb!*{PR|EQBE8JagS2uLM zQ({l|=IWv`w{sE&wpYKqzHER8?>hX>_3QVaM$ywBi@gI%U6VwC{cVtyM#NFu!ftJ8 zEIYP0{TOC<*O$#>8xwK#&sX>m!LGH_ETuc2Iw8=zh4Px%4M{{nRA_>7&|6VL>s&bUU^r#>Y^9u1$u)la)EZ;Tp)|y zAQ$KbvItp(WTj0Zn_!2KP16c7_-A2tVU3W-F&>MWOw2qRX~c`<(f59zURN;W?DQz@ zv|9l9qKb@X_@WAcjAsD+{___A6Wy2N9~IMQZxhc{*lD*2-v;?w1W*fnrinykm(_+% zbhfbZFR2Co(ovnO3U8u&X^b6k|M<9IabL(K>yIYmh4ng}4H&y5l(gS#ilzU%XAa%~iraguLD#xq8faq0VQll<+TogSrXIydW$JgZ0NCn<$Qr%-*} z|Mb<0Okb9K28az<Px$?ny*JRA_C!^kH|iw57pi2S8>P}N z!@KBSo8S%j@#_zdPfNhK!Dbt3>z7hI$6>lI5WE4?^D*h5&LqGn%Kp8ME#dz-3KiNcN~PDvqSUBrH(giQs{}44r>?sft8!xrY}0jty-UE_dX(kP_Aiyd zCf%DYfuhuF_D%;z<2Sr*x~>rH0Bc_`3s9B*$KFlNF1pu5eEN8)!DQ##&m|w;p91FD zuVKJF+f4d2o7i#BrK-H8qA zW|w-?!qUOp&+s;md}|L=K{M_<39#0MU+T(zCGl$;Ob=+reI~KL+rhVdGwv_R&HaLl ziM_0te`%U=pGit7+{MHmf6X`&i9{liNF)-8^p3x&scj@2r7#Bo000hUSV?A0O#mtY c000O800000007cclK=n!07*qoM6N<$g4@ItuK)l5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/stool/jungle.png b/src/main/resources/assets/customnpcs/textures/models/stool/jungle.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba3ed52d518276de7dd3b3fb48da033762321e0 GIT binary patch literal 617 zcmV-v0+#)WP)Px%2}wjjRA_y{r7R1xlSWf*3NianmNnW)c&*IWXlD6ov@`Gb-aNIi zIzdRBNIF3XK%7Vbe*OLffQ|0c`BlsIw>ODrD;)IN?DzKoP)f4j-^2HPwAKhQ+h8Y< z#EG=h!PQzfQkPe&e!=&Bgb49{KbxDeiSR1A=f>Ir-|nN5#f`lox4u-<(tMe&30NP% z`=i5BL;xGmfYzFy;|DrHXr<%pns)GySf_xAqSkuuGm0iCC0Eilg<2`__OPE- z_c)OYQ(&2{3DiyjW9x2rmrgK2i15)ASfqQgDG)`IIeX{VTWGCo3f2yo+4rIJtZ46C z!wS0Rr}gD*n8GYNm)EzvJ9-1a<@IeThaumHiDZ##aa-4VA4lgK?HIkAyD@`an>dk3 zHAN|zjZMUE?#2L_uK4n14CVX3x?WMY>Ux_bJKfXaacZh_D0Z@5{bF>I0;PK$^1S|V z_PG%~eO||quQW7CTwAPs|jb)p5r`Mr%F*->XZA^&p#YcDsZuykfIaZ9JOPvN{|Nhr{7; zI2?|(@)ysjcP#Aa!X5ws01jnXNoGw=04e|g00;m8000000Mb*F00000NkvXXu0mjf D@Q5Rq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/customnpcs/textures/models/stool/oak.png b/src/main/resources/assets/customnpcs/textures/models/stool/oak.png index a26851f002caace9e50740cd7a37cc32f83f9c9e..f14d9cd0d14384cb3d880a0e431fd8a2681ad267 100644 GIT binary patch delta 621 zcmV-z0+RiY1N#J!8Gi-<005$$euMx300DDSM?wIu&K&6g00J9HL_t(&f$f(+Yui8= z#(xf4{15SJFgRdHx)jnaONK5TyYvHe$&fi;AsyPUkhw#bet<3+x|Ixt66g}h&^9!I zf(kl>rHTxxI!LETN{r8@CW^SW;j1YGKfC?i3 zeyKkInCRZT{oFDA?N#EK3dhpp(dGnz>#Gp)CUpBll6Z=E0)V&*6-Gw7reM4Qnr?qc zl8=v&U&z8}Pu`8-_{Fy4S?+nb0dg_8j5S<-ouJNx~| z1>z2jbWLH+RDY;lOycRSF$ylZz6ux8HHD>0U~6MkobD=&W|qJ_T@zTk1az#|CmK#C>+YY<``0g0a(9kT z&Um{07=YuGvq}w)9AW>zW=TfJ^iv2XMi8X zjJ$sFS)&4lc#^fSc`S8g>#=``bdC;p(^-E^JbCaA&tt6|?QVZaecpB)O3rKUI+fds zlf=`aKW0zzFYEI*q{SRCZ;#IWw1%u67LCEd~2k%3`jKlh(RRv=#@z$e7D zHpzTivE%Y4-yKupw)XlToS&T@paYatoK|!ZNO6<|`33)n0ETanMpx_%%7sn6}@3)gr*7F@!;Bo2Yeft0Zj>iTp87kVR7f!cXd8vg_e}>oH ziBn8gE>m&7$Tee|%I2J-XG%1p7`+>kSR2X^kUl8&wQ@h3457C z@+=p(uFGIuqx<09O(xN`4awZQwle^wG7qM=zfA0j1u6gW`QxeE&RJby4HYXM9jpkm zzoe3p6!-WabMUsWn*Y}o{%4e^d%ZQO=s?fwu<&nk3POX&mUD0#Ta+#+vD%4N7`?&RrcSWX`SC--thT7!`3=RjR?b? UD~~1B1AWfm>FVdQ&MBb@07q`9pa1{> diff --git a/src/main/resources/assets/customnpcs/textures/models/stool/spruce.png b/src/main/resources/assets/customnpcs/textures/models/stool/spruce.png new file mode 100644 index 0000000000000000000000000000000000000000..620ebddea3ad3811b7e230b96d1260ca7eca8ffe GIT binary patch literal 593 zcmV-X0Px$@kvBMRA_~zGplnZ;ksH?0Wd-d6kW^?f zadcUrD!hzt*JvNWd;fFB;-0YQtk1bWGf&fH0qp}gK5U_E6IICxB>=$T{vKQw;NzQt zI<}S$=xuHnYf#V?$||}nm>UNpAD$R5rOOH{MWEfPgK?qky(j`{x-76p1WIa@woi^g zvhL4DU@-FM>>Ymwb#z%l+X2$P5>Je0?46`pMz<@h>xiC=D;TJQGZd8-{GdFzkRtWhv7z`3s~#<{O5_SPQ((|28dm(~i$*Nf_wU2mJH z)4e=D3gzwWI3?AqcdpJtL^?T%%=OLPQzm-)RZ-sK+=t_o)Mtq&#wgnaE(??`rDe1B zrmuq4xjG9MZLDmQKVRWA3Q=oUXc6&w-XVxoUXpYx=M@sowj>YP)`k3L`F|0Cmu?^J zRvnl&E13R?iO%y3;oMh^iG2RzbA!QPFc=I5gTatHegIOCjtBZlf-(RA01jnXNoGw= f04e|g00;m8000000Mb*F00000NkvXXu0mjfN~Qt4 literal 0 HcmV?d00001