From d4fa867884531dcf1f93a7fc799e9ed9c3a33e51 Mon Sep 17 00:00:00 2001 From: Sollace Date: Fri, 29 Nov 2019 17:26:19 +0200 Subject: [PATCH] Slight refactor --- .../client/PonyRenderManager.java | 8 ++-- .../client/hdskins/DummyPonyRenderer.java | 27 ++++++------ .../client/model/ModelWrapper.java | 10 +++-- .../com/minelittlepony/client/pony/Pony.java | 4 +- .../render/DebugBoundingBoxRenderer.java | 9 +--- ...nderPony.java => EquineRenderManager.java} | 12 +++--- .../client/render/FrustrumCheck.java | 4 +- ...onyRender.java => IPonyRenderContext.java} | 5 +-- .../client/render/LevitatingItemRenderer.java | 3 -- .../client/render/entity/RenderPonyMob.java | 35 ++++++++-------- .../render/entity/RenderPonyPlayer.java | 42 +++++++++---------- .../render/entity/RenderSeaponyPlayer.java | 2 +- .../entity/feature/AbstractPonyLayer.java | 8 ++-- .../entity/feature/LayerDJPon3Head.java | 4 +- .../feature/LayerEntityOnPonyShoulder.java | 4 +- .../render/entity/feature/LayerEyeGlow.java | 4 +- .../render/entity/feature/LayerGear.java | 4 +- .../entity/feature/LayerHeldItemIllager.java | 4 +- .../entity/feature/LayerHeldPonyItem.java | 4 +- .../feature/LayerHeldPonyItemMagical.java | 4 +- .../render/entity/feature/LayerPonyArmor.java | 4 +- .../render/entity/feature/LayerPonyCape.java | 4 +- .../entity/feature/LayerPonyCustomHead.java | 4 +- .../entity/feature/LayerPonyElytra.java | 4 +- .../render/entity/villager/ClothingLayer.java | 8 ++-- 25 files changed, 106 insertions(+), 115 deletions(-) rename src/main/java/com/minelittlepony/client/render/{RenderPony.java => EquineRenderManager.java} (92%) rename src/main/java/com/minelittlepony/client/render/{IPonyRender.java => IPonyRenderContext.java} (84%) diff --git a/src/main/java/com/minelittlepony/client/PonyRenderManager.java b/src/main/java/com/minelittlepony/client/PonyRenderManager.java index b5ba6af7..de585012 100644 --- a/src/main/java/com/minelittlepony/client/PonyRenderManager.java +++ b/src/main/java/com/minelittlepony/client/PonyRenderManager.java @@ -8,7 +8,7 @@ import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.entity.race.PlayerModels; import com.minelittlepony.client.render.LevitatingItemRenderer; import com.minelittlepony.client.render.entity.MobRenderers; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import javax.annotation.Nullable; @@ -94,15 +94,15 @@ public class PonyRenderManager { @SuppressWarnings("unchecked") @Nullable - public & IPonyModel> IPonyRender getPonyRenderer(@Nullable T entity) { + public & IPonyModel> IPonyRenderContext getPonyRenderer(@Nullable T entity) { if (entity == null) { return null; } EntityRenderer renderer = (EntityRenderer)MinecraftClient.getInstance().getEntityRenderManager().getRenderer(entity); - if (renderer instanceof IPonyRender) { - return (IPonyRender) renderer; + if (renderer instanceof IPonyRenderContext) { + return (IPonyRenderContext) renderer; } return null; diff --git a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java index 81f17d4e..a80a4572 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java @@ -4,8 +4,8 @@ import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.ModelWrapper; -import com.minelittlepony.client.render.IPonyRender; -import com.minelittlepony.client.render.RenderPony; +import com.minelittlepony.client.render.IPonyRenderContext; +import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.client.render.entity.feature.LayerGear; import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItemMagical; import com.minelittlepony.client.render.entity.feature.LayerPonyArmor; @@ -24,22 +24,21 @@ import net.minecraft.util.Identifier; /** * Renderer used for the dummy pony model when selecting a skin. */ -class DummyPonyRenderer extends DummyPlayerRenderer> implements IPonyRender> { +class DummyPonyRenderer extends DummyPlayerRenderer> implements IPonyRenderContext> { - protected final RenderPony> renderPony = new RenderPony<>(this); + protected final EquineRenderManager> manager = new EquineRenderManager<>(this); - @SuppressWarnings("unchecked") - public DummyPonyRenderer(EntityRenderDispatcher manager) { - super(manager, null); + public DummyPonyRenderer(EntityRenderDispatcher dispatcher) { + super(dispatcher, null); addFeature(new LayerGear<>(this)); - renderPony.setPonyModel((ModelKey>)(Object)ModelType.EARTH_PONY.getKey(false)); - renderPony.setSkipBlend(); + manager.setModel(ModelType.EARTH_PONY.getKey(false)); + manager.setSkipBlend(); } @Override public ModelWrapper> getModelWrapper() { - return renderPony.playerModel; + return manager.playerModel; } @Override @@ -49,7 +48,7 @@ class DummyPonyRenderer extends DummyPlayerRenderer> key = (ModelKey>)(canWet ? ModelType.SEA_PONY.getKey(slim) : ModelType.getPlayerModel(thePony.getRace(true)).getKey(slim)); - return renderPony.setPonyModel(key).apply(thePony.getMetadata()).getBody(); + return manager.setModel(key).apply(thePony.getMetadata()).getBody(); } @Override @@ -106,8 +105,8 @@ class DummyPonyRenderer extends DummyPlayerRenderer> getInternalRenderer() { - return renderPony; + public EquineRenderManager> getInternalRenderer() { + return manager; } @Override diff --git a/src/main/java/com/minelittlepony/client/model/ModelWrapper.java b/src/main/java/com/minelittlepony/client/model/ModelWrapper.java index b449a15b..0bae4543 100644 --- a/src/main/java/com/minelittlepony/client/model/ModelWrapper.java +++ b/src/main/java/com/minelittlepony/client/model/ModelWrapper.java @@ -6,6 +6,7 @@ import com.minelittlepony.model.IModel; import com.minelittlepony.model.armour.IArmour; import com.minelittlepony.model.armour.IEquestrianArmour; import com.minelittlepony.model.capabilities.IModelWrapper; +import com.minelittlepony.mson.api.ModelKey; import com.minelittlepony.pony.IPonyData; /** @@ -20,10 +21,11 @@ public class ModelWrapper implements I /** * Creates a new model wrapper to contain the given pony. */ - public ModelWrapper(M model) { - body = model; - armor = model.createArmour(); - armor.apply(model.getMetadata()); + @SuppressWarnings("unchecked") + public ModelWrapper(ModelKey key) { + body = (M)key.createModel(); + armor = body.createArmour(); + armor.apply(body.getMetadata()); } public M getBody() { diff --git a/src/main/java/com/minelittlepony/client/pony/Pony.java b/src/main/java/com/minelittlepony/client/pony/Pony.java index e644767c..f00eea3a 100644 --- a/src/main/java/com/minelittlepony/client/pony/Pony.java +++ b/src/main/java/com/minelittlepony/client/pony/Pony.java @@ -2,7 +2,7 @@ package com.minelittlepony.client.pony; import com.google.common.base.MoreObjects; import com.minelittlepony.client.PonyRenderManager; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.client.transform.PonyTransformation; import com.minelittlepony.pony.IPony; import com.minelittlepony.pony.IPonyData; @@ -168,7 +168,7 @@ public class Pony implements IPony { if (entity.hasVehicle() && entity.getVehicle() instanceof LivingEntity) { LivingEntity mount = (LivingEntity) entity.getVehicle(); - IPonyRender render = PonyRenderManager.getInstance().getPonyRenderer(mount); + IPonyRenderContext render = PonyRenderManager.getInstance().getPonyRenderer(mount); return render == null ? null : render.getEntityPony(mount); } diff --git a/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java b/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java index 17c1890f..aeed71fb 100644 --- a/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java @@ -13,14 +13,9 @@ import net.minecraft.util.shape.VoxelShapes; import com.minelittlepony.pony.IPony; -public class DebugBoundingBoxRenderer { +public final class DebugBoundingBoxRenderer { - public static final DebugBoundingBoxRenderer instance = new DebugBoundingBoxRenderer(); - - private DebugBoundingBoxRenderer() { - } - - public void render(IPony pony, LivingEntity entity, MatrixStack stack, VertexConsumerProvider renderContext) { + public static void render(IPony pony, LivingEntity entity, MatrixStack stack, VertexConsumerProvider renderContext) { MinecraftClient mc = MinecraftClient.getInstance(); if (!mc.getEntityRenderManager().shouldRenderHitboxes() || entity.squaredDistanceTo(mc.player) > 70) { diff --git a/src/main/java/com/minelittlepony/client/render/RenderPony.java b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java similarity index 92% rename from src/main/java/com/minelittlepony/client/render/RenderPony.java rename to src/main/java/com/minelittlepony/client/render/EquineRenderManager.java index 33d66731..4e391ac3 100644 --- a/src/main/java/com/minelittlepony/client/render/RenderPony.java +++ b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java @@ -21,13 +21,13 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.util.Identifier; -public class RenderPony & IPonyModel> { +public class EquineRenderManager & IPonyModel> { public ModelWrapper playerModel; private IPony pony; - private final IPonyRender renderer; + private final IPonyRenderContext renderer; private boolean skipBlend; @@ -45,7 +45,7 @@ public class RenderPony & IPony RenderSystem.disableBlend(); } - public RenderPony(IPonyRender renderer) { + public EquineRenderManager(IPonyRenderContext renderer) { this.renderer = renderer; } @@ -85,7 +85,7 @@ public class RenderPony & IPony if (entity.hasVehicle() && entity.getVehicle() instanceof LivingEntity) { LivingEntity ridingEntity = (LivingEntity) entity.getVehicle(); - IPonyRender renderer = PonyRenderManager.getInstance().getPonyRenderer(ridingEntity); + IPonyRenderContext renderer = PonyRenderManager.getInstance().getPonyRenderer(ridingEntity); if (renderer != null) { // negate vanilla translations so the rider begins at the ridees feet. @@ -133,8 +133,8 @@ public class RenderPony & IPony return playerModel.getBody(); } - public ModelWrapper setPonyModel(ModelKey model) { - playerModel = new ModelWrapper<>(model.createModel()); + public ModelWrapper setModel(ModelKey key) { + playerModel = new ModelWrapper<>(key); return playerModel; } diff --git a/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java b/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java index 9698c93e..ccfa46e0 100644 --- a/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java +++ b/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java @@ -13,9 +13,9 @@ public class FrustrumCheck extends Frustum { private Frustum vanilla; - private final RenderPony renderer; + private final EquineRenderManager renderer; - public FrustrumCheck(RenderPony render) { + public FrustrumCheck(EquineRenderManager render) { super(new Matrix4f(), new Matrix4f()); renderer = render; } diff --git a/src/main/java/com/minelittlepony/client/render/IPonyRender.java b/src/main/java/com/minelittlepony/client/render/IPonyRenderContext.java similarity index 84% rename from src/main/java/com/minelittlepony/client/render/IPonyRender.java rename to src/main/java/com/minelittlepony/client/render/IPonyRenderContext.java index aa608c4d..77455c21 100644 --- a/src/main/java/com/minelittlepony/client/render/IPonyRender.java +++ b/src/main/java/com/minelittlepony/client/render/IPonyRenderContext.java @@ -14,7 +14,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; import net.minecraft.util.Identifier; -public interface IPonyRender & IPonyModel> extends PonyModelConstants, IRenderContext { +public interface IPonyRenderContext & IPonyModel> extends PonyModelConstants, IRenderContext { /** * Gets the wrapped pony model for this renderer. @@ -23,7 +23,7 @@ public interface IPonyRender & IPony getEntityPony(T entity); - RenderPony getInternalRenderer(); + EquineRenderManager getInternalRenderer(); Identifier findTexture(T entity); @@ -37,7 +37,6 @@ public interface IPonyRender & */ default void translateRider(T entity, IPony entityPony, LivingEntity passenger, IPony passengerPony, MatrixStack stack, float ticks) { if (!passengerPony.getRace(false).isHuman()) { - //float yaw = MathUtil.interpolateDegress(entity.prevRenderYawOffset, entity.renderYawOffset, ticks); float yaw = MathUtil.interpolateDegress((float)entity.prevRenderY, (float)entity.getY(), ticks); getModelWrapper().apply(entityPony.getMetadata()); diff --git a/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java b/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java index 4d052eb4..0b182b69 100644 --- a/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java @@ -1,10 +1,7 @@ package com.minelittlepony.client.render; -import org.lwjgl.opengl.GL14; - import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.pony.IPony; -import com.minelittlepony.util.math.Color; import javax.annotation.Nullable; diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyMob.java b/src/main/java/com/minelittlepony/client/render/entity/RenderPonyMob.java index 27bd889b..2853226b 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyMob.java +++ b/src/main/java/com/minelittlepony/client/render/entity/RenderPonyMob.java @@ -5,8 +5,8 @@ import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.render.DebugBoundingBoxRenderer; -import com.minelittlepony.client.render.IPonyRender; -import com.minelittlepony.client.render.RenderPony; +import com.minelittlepony.client.render.IPonyRenderContext; +import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.client.render.entity.feature.LayerGear; import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItem; import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItemMagical; @@ -31,15 +31,14 @@ import net.minecraft.util.Identifier; import java.util.List; import javax.annotation.Nonnull; -public abstract class RenderPonyMob & IPonyModel> extends MobEntityRenderer implements IPonyRender { +public abstract class RenderPonyMob & IPonyModel> extends MobEntityRenderer implements IPonyRenderContext { - protected RenderPony renderPony = new RenderPony<>(this); + protected EquineRenderManager manager = new EquineRenderManager<>(this); - @SuppressWarnings("unchecked") - public RenderPonyMob(EntityRenderDispatcher manager, ModelKey key) { - super(manager, (M)key.createModel(), 0.5F); + public RenderPonyMob(EntityRenderDispatcher dispatcher, ModelKey key) { + super(dispatcher, null, 0.5F); - this.model = renderPony.setPonyModel((ModelKey)key).getBody(); + this.model = manager.setModel(key).getBody(); addLayers(); } @@ -63,31 +62,31 @@ public abstract class RenderPonyMob)getModel()).setVisible(true); } // shadowRadius - field_4673 = renderPony.getShadowScale(); + field_4673 = manager.getShadowScale(); if (entity.isBaby()) { field_4673 *= 3; // undo vanilla shadow scaling @@ -102,12 +101,12 @@ public abstract class RenderPonyMob getModelWrapper() { - return renderPony.playerModel; + return manager.playerModel; } @Override protected void renderLabelIfPresent(T entity, String name, MatrixStack stack, VertexConsumerProvider renderContext, int maxDistance) { - stack.translate(0, renderPony.getNamePlateYOffset(entity), 0); + stack.translate(0, manager.getNamePlateYOffset(entity), 0); super.renderLabelIfPresent(entity, name, stack, renderContext, maxDistance); } @@ -119,8 +118,8 @@ public abstract class RenderPonyMob getInternalRenderer() { - return renderPony; + public EquineRenderManager getInternalRenderer() { + return manager; } @Override diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPlayer.java b/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPlayer.java index 8e580ed6..d4299e6f 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPlayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPlayer.java @@ -5,8 +5,8 @@ import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.model.gear.SaddleBags; import com.minelittlepony.client.render.DebugBoundingBoxRenderer; -import com.minelittlepony.client.render.IPonyRender; -import com.minelittlepony.client.render.RenderPony; +import com.minelittlepony.client.render.IPonyRenderContext; +import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.client.render.entity.feature.LayerDJPon3Head; import com.minelittlepony.client.render.entity.feature.LayerEntityOnPonyShoulder; import com.minelittlepony.client.render.entity.feature.LayerGear; @@ -37,14 +37,14 @@ import net.minecraft.util.Arm; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRender> { +public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRenderContext> { - protected final RenderPony> renderPony = new RenderPony<>(this); + protected final EquineRenderManager> manager = new EquineRenderManager<>(this); - public RenderPonyPlayer(EntityRenderDispatcher manager, boolean slim, ModelKey> key) { - super(manager, slim); + public RenderPonyPlayer(EntityRenderDispatcher dispatcher, boolean slim, ModelKey> key) { + super(dispatcher, slim); - this.model = renderPony.setPonyModel(key).getBody(); + this.model = manager.setModel(key).getBody(); addLayers(); } @@ -70,7 +70,7 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende @Override protected void scale(AbstractClientPlayerEntity player, MatrixStack stack, float ticks) { - renderPony.preRenderCallback(player, stack, ticks); + manager.preRenderCallback(player, stack, ticks); if (player.hasVehicle()) { stack.translate(0, player.getHeightOffset(), 0); @@ -79,17 +79,17 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende @Override public void render(AbstractClientPlayerEntity entity, float entityYaw, float tickDelta, MatrixStack stack, VertexConsumerProvider renderContext, int lightUv) { - field_4673 = renderPony.getShadowScale(); + field_4673 = manager.getShadowScale(); super.render(entity, entityYaw, tickDelta, stack, renderContext, lightUv); - DebugBoundingBoxRenderer.instance.render(renderPony.getPony(entity), entity, stack, renderContext); + DebugBoundingBoxRenderer.render(manager.getPony(entity), entity, stack, renderContext); // Translate the shadow position after everything is done // (shadows are drawn after us) // TODO: Get a proper shadow renderer going if (!entity.hasVehicle() && !entity.isSleeping()) { float yaw = MathHelper.lerpAngleDegrees(tickDelta, entity.prevBodyYaw, entity.bodyYaw); - float l = entity.getWidth() / 2 * renderPony.getPony(entity).getMetadata().getSize().getScaleFactor(); + float l = entity.getWidth() / 2 * manager.getPony(entity).getMetadata().getSize().getScaleFactor(); stack.multiply(Vector3f.NEGATIVE_Y.getDegreesQuaternion(yaw)); stack.translate(0, 0, -l); @@ -102,7 +102,7 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende if (entity.isSleeping() && entity == MinecraftClient.getInstance().player) { return true; } - return super.isVisible(entity, renderPony.getFrustrum(entity, camera), camX, camY, camZ); + return super.isVisible(entity, manager.getFrustrum(entity, camera), camX, camY, camZ); } @Override @@ -114,7 +114,7 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende stack.translate(Math.cos(bedRad), 0, -Math.sin(bedRad)); } } - stack.translate(0, renderPony.getNamePlateYOffset(entity), 0); + stack.translate(0, manager.getNamePlateYOffset(entity), 0); super.renderLabelIfPresent(entity, name, stack, renderContext, maxDistance); } @@ -129,7 +129,7 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende } protected void renderArm(MatrixStack stack, VertexConsumerProvider renderContext, int lightUv, AbstractClientPlayerEntity player, Arm side) { - renderPony.updateModel(player); + manager.updateModel(player); stack.push(); float reflect = side == Arm.LEFT ? 1 : -1; @@ -147,25 +147,25 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende @Override protected void setupTransforms(AbstractClientPlayerEntity entity, MatrixStack stack, float ageInTicks, float rotationYaw, float partialTicks) { - rotationYaw = renderPony.getRenderYaw(entity, rotationYaw, partialTicks); + rotationYaw = manager.getRenderYaw(entity, rotationYaw, partialTicks); super.setupTransforms(entity, stack, ageInTicks, rotationYaw, partialTicks); - renderPony.applyPostureTransform(entity, stack, rotationYaw, partialTicks); + manager.applyPostureTransform(entity, stack, rotationYaw, partialTicks); } @Override public Identifier getTexture(AbstractClientPlayerEntity player) { - return renderPony.getPony(player).getTexture(); + return manager.getPony(player).getTexture(); } @Override public ModelWrapper> getModelWrapper() { - return renderPony.playerModel; + return manager.playerModel; } @Override - public RenderPony> getInternalRenderer() { - return renderPony; + public EquineRenderManager> getInternalRenderer() { + return manager; } @Override @@ -186,6 +186,6 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende } } - return IPonyRender.super.getDefaultTexture(entity, wearable); + return IPonyRenderContext.super.getDefaultTexture(entity, wearable); } } diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderSeaponyPlayer.java b/src/main/java/com/minelittlepony/client/render/entity/RenderSeaponyPlayer.java index 2ec81b21..a4e6cf64 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderSeaponyPlayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/RenderSeaponyPlayer.java @@ -29,7 +29,7 @@ public class RenderSeaponyPlayer extends RenderPonyPlayer { boolean wet = pony.isPartiallySubmerged(player); - model = renderPony.setPonyModel(wet ? seapony : normalPony).getBody(); + model = manager.setModel(wet ? seapony : normalPony).getBody(); float state = wet ? 100 : 0; float interpolated = pony.getMetadata().getInterpolator(player.getUuid()).interpolate("seapony_state", state, 5); diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyLayer.java b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyLayer.java index 7ff1d174..61504808 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyLayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyLayer.java @@ -2,7 +2,7 @@ package com.minelittlepony.client.render.entity.feature; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelWrapper; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.feature.FeatureRenderer; @@ -13,10 +13,10 @@ import net.minecraft.entity.LivingEntity; public abstract class AbstractPonyLayer & IPonyModel> extends FeatureRenderer { - private final IPonyRender context; + private final IPonyRenderContext context; @SuppressWarnings("unchecked") - public AbstractPonyLayer(IPonyRender context) { + public AbstractPonyLayer(IPonyRenderContext context) { super((FeatureRendererContext)context); this.context = context; } @@ -39,7 +39,7 @@ public abstract class AbstractPonyLayer & FeatureRendererContext> C getContext() { + protected & FeatureRendererContext> C getContext() { return (C)context; } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerDJPon3Head.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerDJPon3Head.java index 461b57d9..017f3690 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerDJPon3Head.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerDJPon3Head.java @@ -9,14 +9,14 @@ import net.minecraft.client.util.math.MatrixStack; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelDeadMau5Ears; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; public class LayerDJPon3Head & IPonyModel> extends AbstractPonyLayer { private final ModelDeadMau5Ears deadMau5 = new ModelDeadMau5Ears(); - public LayerDJPon3Head(IPonyRender context) { + public LayerDJPon3Head(IPonyRenderContext context) { super(context); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEntityOnPonyShoulder.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEntityOnPonyShoulder.java index e2afd661..7fb42b2b 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEntityOnPonyShoulder.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEntityOnPonyShoulder.java @@ -12,14 +12,14 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.CompoundTag; import com.minelittlepony.client.model.ClientPonyModel; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; public class LayerEntityOnPonyShoulder> extends AbstractPonyLayer { private final ParrotEntityModel model = new ParrotEntityModel(); - public LayerEntityOnPonyShoulder(IPonyRender context) { + public LayerEntityOnPonyShoulder(IPonyRenderContext context) { super(context); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEyeGlow.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEyeGlow.java index 5df33f16..07e41d34 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEyeGlow.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEyeGlow.java @@ -8,13 +8,13 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.util.Identifier; import com.minelittlepony.client.model.IPonyModel; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; public class LayerEyeGlow & IPonyModel> extends EyesFeatureRenderer { private final RenderLayer layer; - public & IPonyRender & IGlowingRenderer> LayerEyeGlow(V renderer) { + public & IPonyRenderContext & IGlowingRenderer> LayerEyeGlow(V renderer) { super(renderer); layer = RenderLayer.getEyes(renderer.getEyeTexture()); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerGear.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerGear.java index 28b570df..866991eb 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerGear.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerGear.java @@ -10,7 +10,7 @@ import net.minecraft.entity.LivingEntity; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelType; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.gear.IGear; import com.minelittlepony.model.gear.IStackable; @@ -24,7 +24,7 @@ public class LayerGear & IPonyM private final Map gears; - public LayerGear(IPonyRender renderer) { + public LayerGear(IPonyRenderContext renderer) { super(renderer); gears = ModelType.getWearables().collect(Collectors.toMap( diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldItemIllager.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldItemIllager.java index 52f2b181..6eb5b457 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldItemIllager.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldItemIllager.java @@ -6,11 +6,11 @@ import net.minecraft.entity.mob.IllagerEntity; import net.minecraft.util.Arm; import com.minelittlepony.client.model.entity.race.ModelAlicorn; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; public class LayerHeldItemIllager> extends LayerHeldPonyItem { - public LayerHeldItemIllager(IPonyRender livingPony) { + public LayerHeldItemIllager(IPonyRenderContext livingPony) { super(livingPony); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItem.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItem.java index b443b265..e0d66333 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItem.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItem.java @@ -1,7 +1,7 @@ package com.minelittlepony.client.render.entity.feature; import com.minelittlepony.client.model.IPonyModel; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; import net.minecraft.client.MinecraftClient; @@ -16,7 +16,7 @@ import net.minecraft.util.Arm; public class LayerHeldPonyItem & IPonyModel> extends AbstractPonyLayer { - public LayerHeldPonyItem(IPonyRender livingPony) { + public LayerHeldPonyItem(IPonyRenderContext livingPony) { super(livingPony); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItemMagical.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItemMagical.java index 3704e7dd..49870132 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItemMagical.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItemMagical.java @@ -2,7 +2,7 @@ package com.minelittlepony.client.render.entity.feature; import com.minelittlepony.client.PonyRenderManager; import com.minelittlepony.client.model.IPonyModel; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.IUnicorn; import net.minecraft.client.model.ModelPart; @@ -16,7 +16,7 @@ import net.minecraft.util.Arm; public class LayerHeldPonyItemMagical & IPonyModel> extends LayerHeldPonyItem { - public LayerHeldPonyItemMagical(IPonyRender context) { + public LayerHeldPonyItemMagical(IPonyRenderContext context) { super(context); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyArmor.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyArmor.java index d79fcb99..dfb8e746 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyArmor.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyArmor.java @@ -4,7 +4,7 @@ import com.minelittlepony.client.ForgeProxy; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.model.armour.DefaultArmourTextureResolver; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.armour.ArmourLayer; import com.minelittlepony.model.armour.IArmour; import com.minelittlepony.model.armour.IArmourTextureResolver; @@ -33,7 +33,7 @@ public class LayerPonyArmor & I private ModelWrapper pony; - public LayerPonyArmor(IPonyRender renderer) { + public LayerPonyArmor(IPonyRenderContext renderer) { super(renderer); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCape.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCape.java index 95c9382d..79a87407 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCape.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCape.java @@ -1,7 +1,7 @@ package com.minelittlepony.client.render.entity.feature; import com.minelittlepony.client.model.ClientPonyModel; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; import net.minecraft.client.network.AbstractClientPlayerEntity; @@ -20,7 +20,7 @@ import static com.minelittlepony.model.PonyModelConstants.PI; public class LayerPonyCape> extends AbstractPonyLayer { - public LayerPonyCape(IPonyRender context) { + public LayerPonyCape(IPonyRenderContext context) { super(context); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCustomHead.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCustomHead.java index 070a6643..614a25ed 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCustomHead.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCustomHead.java @@ -2,7 +2,7 @@ package com.minelittlepony.client.render.entity.feature; import com.minelittlepony.client.model.AbstractPonyModel; import com.minelittlepony.client.model.IPonyModel; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; import com.mojang.authlib.GameProfile; @@ -30,7 +30,7 @@ import static com.mojang.blaze3d.platform.GlStateManager.*; public class LayerPonyCustomHead & IPonyModel> extends AbstractPonyLayer { - public LayerPonyCustomHead(IPonyRender renderPony) { + public LayerPonyCustomHead(IPonyRenderContext renderPony) { super(renderPony); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java index aee2c9e3..ecfd5405 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java @@ -3,7 +3,7 @@ package com.minelittlepony.client.render.entity.feature; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.PonyElytra; -import com.minelittlepony.client.render.IPonyRender; +import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; import net.minecraft.client.network.AbstractClientPlayerEntity; @@ -27,7 +27,7 @@ public class LayerPonyElytra & @SuppressWarnings("unchecked") private final PonyElytra modelElytra = (PonyElytra)ModelType.ELYTRA.createModel(); - public LayerPonyElytra(IPonyRender rp) { + public LayerPonyElytra(IPonyRenderContext rp) { super(rp); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/villager/ClothingLayer.java b/src/main/java/com/minelittlepony/client/render/entity/villager/ClothingLayer.java index b1c2fc52..15eb1b03 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/villager/ClothingLayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/villager/ClothingLayer.java @@ -15,15 +15,15 @@ import net.minecraft.village.VillagerProfession; import net.minecraft.village.VillagerType; import com.minelittlepony.client.model.IPonyModel; -import com.minelittlepony.client.render.IPonyRender; -import com.minelittlepony.client.render.RenderPony; +import com.minelittlepony.client.render.IPonyRenderContext; +import com.minelittlepony.client.render.EquineRenderManager; class ClothingLayer< T extends LivingEntity & VillagerDataContainer, M extends EntityModel & IPonyModel & ModelWithHat, - C extends FeatureRendererContext & IPonyRender> extends VillagerClothingFeatureRenderer { + C extends FeatureRendererContext & IPonyRenderContext> extends VillagerClothingFeatureRenderer { - private final RenderPony renderer; + private final EquineRenderManager renderer; public ClothingLayer(C context, String type) { super(context, (ReloadableResourceManager)MinecraftClient.getInstance().getResourceManager(), type);