diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/RenderDummyPony.java b/src/main/java/com/minelittlepony/client/gui/hdskins/RenderDummyPony.java index 150fdc77..aac04568 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/RenderDummyPony.java +++ b/src/main/java/com/minelittlepony/client/gui/hdskins/RenderDummyPony.java @@ -62,7 +62,7 @@ public class RenderDummyPony extends RenderDummyPlayer(canWet ? PlayerModels.SEAPONY.getModel(slim) : PlayerModels.forRace(thePony.getRace(true)).getModel(slim)); + playerModel = canWet ? PlayerModels.SEAPONY.getWrappedModel(slim) : PlayerModels.forRace(thePony.getRace(true)).getWrappedModel(slim); playerModel.apply(thePony.getMetadata()); renderPony.setPonyModel(playerModel); diff --git a/src/main/java/com/minelittlepony/client/model/races/PlayerModels.java b/src/main/java/com/minelittlepony/client/model/races/PlayerModels.java index 93334909..4a10f24f 100644 --- a/src/main/java/com/minelittlepony/client/model/races/PlayerModels.java +++ b/src/main/java/com/minelittlepony/client/model/races/PlayerModels.java @@ -1,6 +1,7 @@ package com.minelittlepony.client.model.races; import com.google.common.collect.Maps; +import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.model.entities.ModelSeapony; import com.minelittlepony.client.render.entities.player.RenderPonyPlayer; import com.minelittlepony.client.render.entities.player.RenderSeaponyPlayer; @@ -31,7 +32,7 @@ public enum PlayerModels { SEAPONY(Race.SEAPONY, ModelSeapony::new) { @Override public RenderPonyPlayer createRenderer(EntityRenderDispatcher manager, boolean slimArms) { - return new RenderSeaponyPlayer(manager, slimArms, PlayerModels.UNICORN.getModel(slimArms), getModel(slimArms)); + return new RenderSeaponyPlayer(manager, slimArms, PlayerModels.UNICORN.getWrappedModel(slimArms), getWrappedModel(slimArms)); } }; @@ -72,8 +73,8 @@ public enum PlayerModels { return isSlim ? slim : normal; } - public M getModel(boolean isSlim) { - return getPendingModel(isSlim).getModel(isSlim); + public ModelWrapper getWrappedModel(boolean isSlim) { + return getPendingModel(isSlim).getWrappedModel(isSlim); } public String getId(boolean isSlim) { @@ -81,7 +82,7 @@ public enum PlayerModels { } public RenderPonyPlayer createRenderer(EntityRenderDispatcher manager, boolean slimArms) { - return new RenderPonyPlayer(manager, slimArms, getModel(slimArms)); + return new RenderPonyPlayer(manager, slimArms, getWrappedModel(slimArms)); } public static PlayerModels forRace(Race race) { @@ -90,7 +91,7 @@ public enum PlayerModels { private final class PendingModel { @Nullable - private IModel model; + private ModelWrapper model; private final String key; @@ -99,12 +100,12 @@ public enum PlayerModels { } @SuppressWarnings("unchecked") - public M getModel(boolean isSlim) { + public ModelWrapper getWrappedModel(boolean isSlim) { if (model == null) { - model = resolver.apply(isSlim); + model = new ModelWrapper<>(resolver.apply(isSlim)); } - return (M)model; + return (ModelWrapper)model; } } } diff --git a/src/main/java/com/minelittlepony/client/render/entities/player/RenderPonyPlayer.java b/src/main/java/com/minelittlepony/client/render/entities/player/RenderPonyPlayer.java index bbf79b92..cd1e9b00 100644 --- a/src/main/java/com/minelittlepony/client/render/entities/player/RenderPonyPlayer.java +++ b/src/main/java/com/minelittlepony/client/render/entities/player/RenderPonyPlayer.java @@ -36,10 +36,10 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende protected final RenderPony> renderPony = new RenderPony<>(this); - public RenderPonyPlayer(EntityRenderDispatcher manager, boolean useSmallArms, ClientPonyModel model) { + public RenderPonyPlayer(EntityRenderDispatcher manager, boolean useSmallArms, ModelWrapper> model) { super(manager, useSmallArms); - this.model = renderPony.setPonyModel(new ModelWrapper<>(model)); + this.model = renderPony.setPonyModel(model); addLayers(); } diff --git a/src/main/java/com/minelittlepony/client/render/entities/player/RenderSeaponyPlayer.java b/src/main/java/com/minelittlepony/client/render/entities/player/RenderSeaponyPlayer.java index f0a259d7..d1f08e22 100644 --- a/src/main/java/com/minelittlepony/client/render/entities/player/RenderSeaponyPlayer.java +++ b/src/main/java/com/minelittlepony/client/render/entities/player/RenderSeaponyPlayer.java @@ -15,12 +15,12 @@ public class RenderSeaponyPlayer extends RenderPonyPlayer { protected final ModelWrapper> normalPony; public RenderSeaponyPlayer(EntityRenderDispatcher manager, boolean useSmallArms, - ClientPonyModel model, - ClientPonyModel alternate) { + ModelWrapper> model, + ModelWrapper> alternate) { super(manager, useSmallArms, model); - seapony = new ModelWrapper<>(alternate); - normalPony = new ModelWrapper<>(model); + seapony = alternate; + normalPony = model; } @Override