From 508d21ed0bc62ef25cb6f948931f18259beb2694 Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 3 Dec 2019 20:31:54 +0200 Subject: [PATCH] Fixed the witch hat and other rendering issues with wearables --- .../client/model/gear/AbstractGear.java | 3 +- .../client/model/gear/Muffin.java | 2 +- .../client/model/gear/Stetson.java | 2 +- .../client/model/gear/WitchHat.java | 2 +- .../render/entity/feature/GearFeature.java | 6 ++-- .../minelittlepony/models/gear/witch_hat.json | 31 +++++++++---------- 6 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/minelittlepony/client/model/gear/AbstractGear.java b/src/main/java/com/minelittlepony/client/model/gear/AbstractGear.java index 22ca03a4..0e938355 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/AbstractGear.java +++ b/src/main/java/com/minelittlepony/client/model/gear/AbstractGear.java @@ -23,8 +23,7 @@ public abstract class AbstractGear extends Model implements IGear, MsonModel { textureHeight = 64; } - @Override - public void accept(ModelPart t) { + public void addPart(ModelPart t) { parts.add(t); } diff --git a/src/main/java/com/minelittlepony/client/model/gear/Muffin.java b/src/main/java/com/minelittlepony/client/model/gear/Muffin.java index bc814cf4..e7d4c82d 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/Muffin.java +++ b/src/main/java/com/minelittlepony/client/model/gear/Muffin.java @@ -15,7 +15,7 @@ public class Muffin extends AbstractGear implements IStackable { @Override public void init(ModelContext context) { - accept(context.findByName("crown")); + addPart(context.findByName("crown")); } @Override diff --git a/src/main/java/com/minelittlepony/client/model/gear/Stetson.java b/src/main/java/com/minelittlepony/client/model/gear/Stetson.java index 0fc59f9d..ece55027 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/Stetson.java +++ b/src/main/java/com/minelittlepony/client/model/gear/Stetson.java @@ -14,7 +14,7 @@ public class Stetson extends AbstractGear implements IStackable { @Override public void init(ModelContext context) { - accept(context.findByName("rim")); + addPart(context.findByName("rim")); } @Override diff --git a/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java b/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java index fefe6e15..1a5fd9e3 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java +++ b/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java @@ -15,7 +15,7 @@ public class WitchHat extends AbstractGear implements IStackable { @Override public void init(ModelContext context) { - accept(context.findByName("witch_hat")); + addPart(context.findByName("hat")); } @Override diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java index 64a3c122..17d8f9bd 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java @@ -76,7 +76,9 @@ public class GearFeature & IPon gear.setLivingAnimations(model, entity); gear.setRotationAndAngles(model.getAttributes().isGoingFast, entity.getUuid(), limbDistance, limbAngle, model.getWobbleAmount(), tickDelta); - VertexConsumer vertexConsumer = renderContext.getBuffer(RenderLayer.getEntitySolid(gear.getTexture(entity, getContext()))); - gear.renderPart(stack, vertexConsumer, OverlayTexture.DEFAULT_UV, lightUv, limbDistance, limbAngle, tickDelta, 1F, entity.getUuid()); + RenderLayer layer = RenderLayer.getEntityTranslucent(gear.getTexture(entity, getContext())); + + VertexConsumer vertexConsumer = renderContext.getBuffer(layer); + gear.renderPart(stack, vertexConsumer, lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1, entity.getUuid()); } } diff --git a/src/main/resources/assets/minelittlepony/models/gear/witch_hat.json b/src/main/resources/assets/minelittlepony/models/gear/witch_hat.json index b44baee5..e0c0775a 100644 --- a/src/main/resources/assets/minelittlepony/models/gear/witch_hat.json +++ b/src/main/resources/assets/minelittlepony/models/gear/witch_hat.json @@ -1,37 +1,34 @@ { - "texture": {"w": 16, "h": 8, "u": 64, "h": 128}, - "witch_hat": { - "visible": false, - "texture": {"u": 0, "v": 64}, + "texture": {"u": 0, "w": 64, "h": 128}, + "hat": { + "texture": {"v": 64 }, + "center": [-5, -8, -7.0], "cubes": [ - { "from": [-5, -6, -7], "size": [10, 2, 10] } + { "size": [10, 2, 10] } ], "children": [ { - "visible": false, + "texture": {"v": 76 }, "center": [1.75, -4, 2], - "texture": {"u": 0, "v": 76}, - "rotate": [3, 0, 1.5], + "rotate": [-3, 0, 1.5], "cubes": [ - { "from": [-5, -5, -7], "size": [7, 4, 7] } + { "size": [7, 4, 7] } ], "children": [ { - "visible": false, + "texture": {"v": 87 }, "center": [1.75, -4, 2], - "texture": {"u": 0, "v": 87}, - "rotate": [6, 0, 3], + "rotate": [-6, 0, 3], "cubes": [ - { "from": [-5, -4, -7], "size": [4, 4, 4] } + { "size": [4, 4, 4] } ], "children": [ { - "visible": false, + "texture": {"v": 95 }, "center": [1.75, -2, 2], - "texture": {"u": 0, "v": 95}, - "rotate": [12, 0, 6], + "rotate": [-12, 0, 6], "cubes": [ - { "from": [-5, -2, -7], "size": [1, 2, 1] } + { "size": [1, 2, 1], "stretch": 0.25 } ] } ]