diff --git a/src/main/java/com/minelittlepony/client/PonyRenderManager.java b/src/main/java/com/minelittlepony/client/PonyRenderManager.java index a548eb6d..709991fd 100644 --- a/src/main/java/com/minelittlepony/client/PonyRenderManager.java +++ b/src/main/java/com/minelittlepony/client/PonyRenderManager.java @@ -17,7 +17,6 @@ import net.fabricmc.fabric.api.client.render.EntityRendererRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.render.entity.EntityRenderer; -import net.minecraft.client.render.entity.LivingEntityRenderer; import net.minecraft.client.render.entity.PlayerEntityRenderer; import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.entity.Entity; @@ -100,15 +99,15 @@ public class PonyRenderManager { @SuppressWarnings("unchecked") @Nullable - public & IPonyModel, R extends LivingEntityRenderer & IPonyRender> R getPonyRenderer(@Nullable Entity entity) { - if (entity == null || !(entity instanceof LivingEntity)) { + public & IPonyModel> IPonyRender getPonyRenderer(@Nullable T entity) { + if (entity == null) { return null; } - EntityRenderer renderer = MinecraftClient.getInstance().getEntityRenderManager().getRenderer(entity); + EntityRenderer renderer = MinecraftClient.getInstance().getEntityRenderManager().getRenderer(entity); if (renderer instanceof IPonyRender) { - return (R)(Object)renderer; + return (IPonyRender) renderer; } return null; diff --git a/src/main/java/com/minelittlepony/client/gui/GuiPonySettings.java b/src/main/java/com/minelittlepony/client/gui/GuiPonySettings.java index 79c4f917..334d5865 100644 --- a/src/main/java/com/minelittlepony/client/gui/GuiPonySettings.java +++ b/src/main/java/com/minelittlepony/client/gui/GuiPonySettings.java @@ -70,7 +70,7 @@ public class GuiPonySettings extends GameGui { int row = 0; - ((List)children()).add(content); + children().add(content); addButton(new Label(width / 2, 5).setCentered()).getStyle().setText(getTitle().getString()); addButton(new Button(width / 2 - 100, height - 25)) diff --git a/src/main/java/com/minelittlepony/client/pony/Pony.java b/src/main/java/com/minelittlepony/client/pony/Pony.java index edb80188..d2b1082f 100644 --- a/src/main/java/com/minelittlepony/client/pony/Pony.java +++ b/src/main/java/com/minelittlepony/client/pony/Pony.java @@ -206,16 +206,22 @@ public class Pony implements IPony { @Override public boolean isRidingInteractive(LivingEntity entity) { - return PonyRenderManager.getInstance().getPonyRenderer(entity.getVehicle()) != null; + if (entity.hasVehicle() && entity.getVehicle() instanceof LivingEntity) { + return PonyRenderManager.getInstance().getPonyRenderer((LivingEntity) entity.getVehicle()) != null; + } + return false; } @Override public IPony getMountedPony(LivingEntity entity) { - Entity mount = entity.getVehicle(); + if (entity.hasVehicle() && entity.getVehicle() instanceof LivingEntity) { + LivingEntity mount = (LivingEntity) entity.getVehicle(); - IPonyRender render = PonyRenderManager.getInstance().getPonyRenderer(mount); + IPonyRender render = PonyRenderManager.getInstance().getPonyRenderer(mount); - return render == null ? null : render.getEntityPony((LivingEntity)mount); + return render == null ? null : render.getEntityPony(mount); + } + return null; } @Override diff --git a/src/main/java/com/minelittlepony/client/render/RenderPony.java b/src/main/java/com/minelittlepony/client/render/RenderPony.java index 4416b320..283519df 100644 --- a/src/main/java/com/minelittlepony/client/render/RenderPony.java +++ b/src/main/java/com/minelittlepony/client/render/RenderPony.java @@ -60,41 +60,39 @@ public class RenderPony & IPony public float getRenderYaw(T entity, float rotationYaw, float partialTicks) { if (entity.hasVehicle()) { Entity mount = entity.getVehicle(); - if (mount instanceof LivingEntity) { - return MathUtil.interpolateDegress(((LivingEntity)mount).field_6220, ((LivingEntity)mount).field_6283, partialTicks); + if (mount instanceof LivingEntity) { + return MathUtil.interpolateDegress(((LivingEntity) mount).field_6220, ((LivingEntity) mount).field_6283, partialTicks); } } return rotationYaw; } - protected void translateRider(LivingEntity entity, float ticks) { - if (entity.hasVehicle()) { - Entity ridingEntity = entity.getVehicle(); + protected void translateRider(T entity, float ticks) { + if (entity.hasVehicle() && entity.getVehicle() instanceof LivingEntity) { - if (ridingEntity instanceof LivingEntity) { - IPonyRender renderer = PonyRenderManager.getInstance().getPonyRenderer((LivingEntity)ridingEntity); + LivingEntity ridingEntity = (LivingEntity) entity.getVehicle(); + IPonyRender renderer = PonyRenderManager.getInstance().getPonyRenderer(ridingEntity); - if (renderer != null) { - // negate vanilla translations so the rider begins at the ridees feet. - GlStateManager.translatef(0, -ridingEntity.getHeight(), 0); + if (renderer != null) { + // negate vanilla translations so the rider begins at the ridees feet. + GlStateManager.translatef(0, -ridingEntity.getHeight(), 0); - IPony riderPony = renderer.getEntityPony((LivingEntity)ridingEntity); + IPony riderPony = renderer.getEntityPony(ridingEntity); - renderer.translateRider((LivingEntity)ridingEntity, riderPony, entity, pony, ticks); - } + renderer.translateRider(ridingEntity, riderPony, entity, pony, ticks); } } } @SuppressWarnings("unchecked") public void applyPostureTransform(T player, float yaw, float ticks) { - ((PonyPosture)getPosture(player)).apply(player, getModel(), yaw, ticks, 1); + ((PonyPosture) getPosture(player)).apply(player, getModel(), yaw, ticks, 1); } @SuppressWarnings("unchecked") public void applyPostureRiding(T player, float yaw, float ticks) { - ((PonyPosture)getPosture(player)).apply(player, getModel(), yaw, ticks, -1); + ((PonyPosture) getPosture(player)).apply(player, getModel(), yaw, ticks, -1); } @Nonnull diff --git a/src/main/java/com/minelittlepony/client/transform/PostureFlight.java b/src/main/java/com/minelittlepony/client/transform/PostureFlight.java index 9d5aab5b..c61a3dc1 100644 --- a/src/main/java/com/minelittlepony/client/transform/PostureFlight.java +++ b/src/main/java/com/minelittlepony/client/transform/PostureFlight.java @@ -23,6 +23,6 @@ public class PostureFlight extends MotionCompositor implements PonyPosture { for (int i = 0; i < values.length; i++) { if (flags[i]) wears.add(values[i]); } - return wears.stream().toArray(Wearable[]::new); + return wears.toArray(new Wearable[0]); } } diff --git a/src/main/java/com/minelittlepony/settings/PonyLevel.java b/src/main/java/com/minelittlepony/settings/PonyLevel.java index ace30eb2..ff50392e 100644 --- a/src/main/java/com/minelittlepony/settings/PonyLevel.java +++ b/src/main/java/com/minelittlepony/settings/PonyLevel.java @@ -10,6 +10,6 @@ public enum PonyLevel { if (index < 0) { index = 0; } - return values[(int)Math.round(index) % values.length]; + return values[Math.round(index) % values.length]; } }