From 245a7f1aed53716116f564c3bf07e3b315e5503e Mon Sep 17 00:00:00 2001 From: Thutmose Date: Sun, 28 Jun 2020 22:59:08 -0400 Subject: [PATCH] some more wearables rendering fixes --- .../java/pokecube/mobs/proxy/ClientProxy.java | 5 ++++ .../java/thut/bling/client/render/Eye.java | 1 - .../wearables/client/render/slots/Arm.java | 2 +- .../wearables/client/render/slots/Body.java | 27 +++++++------------ .../wearables/client/render/slots/Head.java | 4 +-- .../wearables/client/render/slots/Leg.java | 8 ++---- 6 files changed, 19 insertions(+), 28 deletions(-) diff --git a/src/main/java/pokecube/mobs/proxy/ClientProxy.java b/src/main/java/pokecube/mobs/proxy/ClientProxy.java index fca3a3da35..2ea82a8329 100644 --- a/src/main/java/pokecube/mobs/proxy/ClientProxy.java +++ b/src/main/java/pokecube/mobs/proxy/ClientProxy.java @@ -61,6 +61,7 @@ public void renderWearable(final MatrixStack mat, final IRenderTypeBuffer buff, if (slot != EnumWearable.HAT) return; if (this.model == null) this.model = new X3dModel(new ResourceLocation(PokecubeMod.ID, "models/worn/megatiara.x3d")); + if (!this.model.isLoaded() || !this.model.isValid()) return; final float dx = -0.0f, dy = 0.25f, dz = -0.25f; mat.rotate(Vector3f.XP.rotationDegrees(-90)); mat.translate(dx, dy, dz); @@ -101,6 +102,7 @@ public void renderWearable(final MatrixStack mat, final IRenderTypeBuffer buff, if (slot != EnumWearable.ANKLE) return; if (this.model == null) this.model = new X3dModel(new ResourceLocation(PokecubeMod.ID, "models/worn/megaankletzinnia.x3d")); + if (!this.model.isLoaded() || !this.model.isValid()) return; float s, dx, dy, dz; dx = 0.f; dy = .06f; @@ -147,6 +149,7 @@ public void renderWearable(final MatrixStack mat, final IRenderTypeBuffer buff, if (slot != EnumWearable.NECK) return; if (this.model == null) this.model = new X3dModel(new ResourceLocation(PokecubeMod.ID, "models/worn/megapendant.x3d")); + if (!this.model.isLoaded() || !this.model.isValid()) return; float dx, dy, dz; dx = 0; dy = -.0f; @@ -192,6 +195,7 @@ public void renderWearable(final MatrixStack mat, final IRenderTypeBuffer buff, if (slot != EnumWearable.EAR) return; if (this.model == null) this.model = new X3dModel(new ResourceLocation(PokecubeMod.ID, "models/worn/megaearring.x3d")); + if (!this.model.isLoaded() || !this.model.isValid()) return; final Minecraft minecraft = Minecraft.getInstance(); float dx, dy, dz; dx = 0.0f; @@ -239,6 +243,7 @@ public void renderWearable(final MatrixStack mat, final IRenderTypeBuffer buff, if (slot != EnumWearable.EYE) return; if (this.model == null) this.model = new X3dModel(new ResourceLocation(PokecubeMod.ID, "models/worn/megaglasses.x3d")); + if (!this.model.isLoaded() || !this.model.isValid()) return; final float dx = -0.0f, dy = 0.0f, dz = -0.25f; mat.rotate(Vector3f.XP.rotationDegrees(90)); diff --git a/src/main/java/thut/bling/client/render/Eye.java b/src/main/java/thut/bling/client/render/Eye.java index b5ea8864e5..a5373c258e 100644 --- a/src/main/java/thut/bling/client/render/Eye.java +++ b/src/main/java/thut/bling/client/render/Eye.java @@ -33,7 +33,6 @@ public static void renderEye(final MatrixStack mat, final IRenderTypeBuffer buff final ItemStack stack, final IModel model, final ResourceLocation[] textures, final int brightness, final int overlay) { - if (!model.isLoaded() || !model.isValid()) return; // TODO eye by model instead of texture. mat.push(); mat.translate(-0.26, -0.175, -0.251); diff --git a/src/main/java/thut/wearables/client/render/slots/Arm.java b/src/main/java/thut/wearables/client/render/slots/Arm.java index e464e3dc8f..0f915400c8 100644 --- a/src/main/java/thut/wearables/client/render/slots/Arm.java +++ b/src/main/java/thut/wearables/client/render/slots/Arm.java @@ -28,7 +28,7 @@ public static void render(final MatrixStack mat, final IRenderTypeBuffer buff, f float[] offsetArr; final boolean sneak = wearer.isCrouching(); mat.push(); - if (wearer.isCrouching()) mat.translate(0.0F, 0.23125F, 0.01F); + boolean render = false; // Right side if (index == 0) switch (slot) diff --git a/src/main/java/thut/wearables/client/render/slots/Body.java b/src/main/java/thut/wearables/client/render/slots/Body.java index 3665690937..1cbed14f78 100644 --- a/src/main/java/thut/wearables/client/render/slots/Body.java +++ b/src/main/java/thut/wearables/client/render/slots/Body.java @@ -32,12 +32,9 @@ public static void render(final MatrixStack mat, final IRenderTypeBuffer buff, f { case BACK: if (ThutWearables.config.renderBlacklist.contains(7)) break; - if (wearer.isCrouching()) - { - mat.translate(0.0F, 0.23125F, 0.0F); - if ((offsetArr = ThutWearables.config.renderOffsetsSneak.get(7)) != null) mat.translate(offsetArr[0], - offsetArr[1], offsetArr[2]); - } + if (wearer.isCrouching() && (offsetArr = ThutWearables.config.renderOffsetsSneak.get(7)) != null) mat + .translate(offsetArr[0], offsetArr[1], offsetArr[2]); + theModel.bipedBody.translateRotate(mat); if ((offsetArr = ThutWearables.config.renderOffsets.get(7)) != null) mat.translate(offsetArr[0], offsetArr[1], offsetArr[2]); @@ -45,12 +42,9 @@ public static void render(final MatrixStack mat, final IRenderTypeBuffer buff, f break; case NECK: if (ThutWearables.config.renderBlacklist.contains(6)) break; - if (wearer.isCrouching()) - { - mat.translate(0.0F, 0.23125F, 0.0F); - if ((offsetArr = ThutWearables.config.renderOffsetsSneak.get(6)) != null) mat.translate(offsetArr[0], - offsetArr[1], offsetArr[2]); - } + if (wearer.isCrouching() && (offsetArr = ThutWearables.config.renderOffsetsSneak.get(6)) != null) mat + .translate(offsetArr[0], offsetArr[1], offsetArr[2]); + theModel.bipedBody.translateRotate(mat); if ((offsetArr = ThutWearables.config.renderOffsets.get(6)) != null) mat.translate(offsetArr[0], offsetArr[1], offsetArr[2]); @@ -59,12 +53,9 @@ public static void render(final MatrixStack mat, final IRenderTypeBuffer buff, f case WAIST: if (ThutWearables.config.renderBlacklist.contains(8)) break; theModel.bipedBody.translateRotate(mat); - if (wearer.isCrouching()) - { - mat.translate(0.0F, 0.13125F, -0.105F); - if ((offsetArr = ThutWearables.config.renderOffsetsSneak.get(8)) != null) mat.translate(offsetArr[0], - offsetArr[1], offsetArr[2]); - } + if (wearer.isCrouching() && (offsetArr = ThutWearables.config.renderOffsetsSneak.get(8)) != null) mat + .translate(offsetArr[0], offsetArr[1], offsetArr[2]); + if ((offsetArr = ThutWearables.config.renderOffsets.get(8)) != null) mat.translate(offsetArr[0], offsetArr[1], offsetArr[2]); render = true; diff --git a/src/main/java/thut/wearables/client/render/slots/Head.java b/src/main/java/thut/wearables/client/render/slots/Head.java index b0c031402c..245006892a 100644 --- a/src/main/java/thut/wearables/client/render/slots/Head.java +++ b/src/main/java/thut/wearables/client/render/slots/Head.java @@ -28,8 +28,8 @@ public static void render(final MatrixStack mat, final IRenderTypeBuffer buff, f float[] offsetArr; mat.push(); - if (wearer.isCrouching()) if ((offsetArr = ThutWearables.config.renderOffsetsSneak.get(9)) != null) mat - .translate(offsetArr[0], offsetArr[1], offsetArr[2]); + if (wearer.isCrouching() && (offsetArr = ThutWearables.config.renderOffsetsSneak.get(9)) != null) mat.translate( + offsetArr[0], offsetArr[1], offsetArr[2]); if (wearer.isChild()) { final float af = 2.0F; diff --git a/src/main/java/thut/wearables/client/render/slots/Leg.java b/src/main/java/thut/wearables/client/render/slots/Leg.java index 27859ea2a3..25c55068d0 100644 --- a/src/main/java/thut/wearables/client/render/slots/Leg.java +++ b/src/main/java/thut/wearables/client/render/slots/Leg.java @@ -28,12 +28,8 @@ public static void render(final MatrixStack mat, final IRenderTypeBuffer buff, f mat.push(); - if (wearer.isCrouching()) - { - mat.translate(0.0F, 0.23125F, 0.01F); - if ((offsetArr = ThutWearables.config.renderOffsetsSneak.get(4 + index)) != null) mat.translate( - offsetArr[0], offsetArr[1], offsetArr[2]); - } + if (wearer.isCrouching() && (offsetArr = ThutWearables.config.renderOffsetsSneak.get(4 + index)) != null) mat + .translate(offsetArr[0], offsetArr[1], offsetArr[2]); if (index == 0) theModel.bipedRightLeg.translateRotate(mat); else theModel.bipedLeftLeg.translateRotate(mat);