From 7b8a8fa3c4987323eb3d0d854acdab8fabbebaa8 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sat, 30 Nov 2019 13:12:46 +0200 Subject: [PATCH] De-mcp-ify a lot of class names --- .../client/GuiPonySettings.java | 6 +- .../minelittlepony/client/MineLittlePony.java | 5 +- .../client/hdskins/DummyPonyRenderer.java | 16 ++-- .../mixin/MixinFirstPersonRenderer.java | 4 +- .../client/model/ModelType.java | 8 +- .../model/entity/ModelVillagerPony.java | 2 +- .../com/minelittlepony/client/pony/Pony.java | 6 +- .../client/render/EquineRenderManager.java | 3 +- .../client/render/MobRenderers.java | 92 +++++++++++++++++++ .../PonyRenderDispatcher.java} | 22 ++--- .../render/blockentity/skull/MobSkull.java | 2 +- .../blockentity/skull/PonySkullRenderer.java | 12 +-- ...allion.java => EnderStallionRenderer.java} | 18 ++-- .../client/render/entity/MobRenderers.java | 84 ----------------- ...onyPlayer.java => PlayerPonyRenderer.java} | 36 ++++---- ...Player.java => PlayerSeaponyRenderer.java} | 4 +- .../{RenderPonyMob.java => PonyRenderer.java} | 34 +++---- .../render/entity/RenderPonyPillager.java | 29 ------ ...PonyGuardian.java => SeaponyRenderer.java} | 16 ++-- ...nySkeleton.java => SkeleponyRenderer.java} | 20 ++-- .../{RenderPonyVex.java => VexRenderer.java} | 4 +- ...enderPonyWitch.java => WitchRenderer.java} | 10 +- ...erPonyZombie.java => ZomponyRenderer.java} | 12 +-- ...Base.java => AbstractClothingFeature.java} | 4 +- ...onyLayer.java => AbstractPonyFeature.java} | 4 +- ...LayerPonyArmor.java => ArmourFeature.java} | 6 +- .../{LayerPonyCape.java => CapeFeature.java} | 4 +- ...ayerDJPon3Head.java => DJPon3Feature.java} | 4 +- ...ayerPonyElytra.java => ElytraFeature.java} | 4 +- .../{LayerGear.java => GearFeature.java} | 4 +- ...erEyeGlow.java => GlowingEyesFeature.java} | 4 +- ...emMagical.java => GlowingItemFeature.java} | 8 +- ...HeldPonyItem.java => HeldItemFeature.java} | 4 +- ...lager.java => IllagerHeldItemFeature.java} | 4 +- ...onyShoulder.java => PassengerFeature.java} | 4 +- ...rPonyCustomHead.java => SkullFeature.java} | 4 +- ...Overlay.java => StrayClothingFeature.java} | 4 +- .../AbstractVillagerRenderer.java | 6 +- .../{villager => npc}/ClothingLayer.java | 2 +- .../IllagerPonyRenderer.java} | 21 +++-- .../render/entity/npc/PillagerRenderer.java | 30 ++++++ .../{villager => npc}/PonyTextures.java | 2 +- .../{villager => npc}/RenderPonyVillager.java | 2 +- .../RenderPonyZombieVillager.java | 2 +- .../TraderRenderer.java} | 8 +- .../client/settings/ClientPonyConfig.java | 4 +- 46 files changed, 296 insertions(+), 288 deletions(-) create mode 100644 src/main/java/com/minelittlepony/client/render/MobRenderers.java rename src/main/java/com/minelittlepony/client/{PonyRenderManager.java => render/PonyRenderDispatcher.java} (79%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderEnderStallion.java => EnderStallionRenderer.java} (75%) delete mode 100644 src/main/java/com/minelittlepony/client/render/entity/MobRenderers.java rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyPlayer.java => PlayerPonyRenderer.java} (84%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderSeaponyPlayer.java => PlayerSeaponyRenderer.java} (89%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyMob.java => PonyRenderer.java} (79%) delete mode 100644 src/main/java/com/minelittlepony/client/render/entity/RenderPonyPillager.java rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyGuardian.java => SeaponyRenderer.java} (82%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonySkeleton.java => SkeleponyRenderer.java} (67%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyVex.java => VexRenderer.java} (87%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyWitch.java => WitchRenderer.java} (78%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyZombie.java => ZomponyRenderer.java} (82%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerOverlayBase.java => AbstractClothingFeature.java} (88%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{AbstractPonyLayer.java => AbstractPonyFeature.java} (90%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerPonyArmor.java => ArmourFeature.java} (94%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerPonyCape.java => CapeFeature.java} (95%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerDJPon3Head.java => DJPon3Feature.java} (88%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerPonyElytra.java => ElytraFeature.java} (94%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerGear.java => GearFeature.java} (94%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerEyeGlow.java => GlowingEyesFeature.java} (81%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerHeldPonyItemMagical.java => GlowingItemFeature.java} (78%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerHeldPonyItem.java => HeldItemFeature.java} (94%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerHeldItemIllager.java => IllagerHeldItemFeature.java} (84%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerEntityOnPonyShoulder.java => PassengerFeature.java} (92%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerPonyCustomHead.java => SkullFeature.java} (95%) rename src/main/java/com/minelittlepony/client/render/entity/feature/{LayerPonyStrayOverlay.java => StrayClothingFeature.java} (75%) rename src/main/java/com/minelittlepony/client/render/entity/{villager => npc}/AbstractVillagerRenderer.java (93%) rename src/main/java/com/minelittlepony/client/render/entity/{villager => npc}/ClothingLayer.java (97%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyIllager.java => npc/IllagerPonyRenderer.java} (79%) create mode 100644 src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java rename src/main/java/com/minelittlepony/client/render/entity/{villager => npc}/PonyTextures.java (98%) rename src/main/java/com/minelittlepony/client/render/entity/{villager => npc}/RenderPonyVillager.java (94%) rename src/main/java/com/minelittlepony/client/render/entity/{villager => npc}/RenderPonyZombieVillager.java (95%) rename src/main/java/com/minelittlepony/client/render/entity/{RenderPonyTrader.java => npc/TraderRenderer.java} (70%) diff --git a/src/main/java/com/minelittlepony/client/GuiPonySettings.java b/src/main/java/com/minelittlepony/client/GuiPonySettings.java index 31c039c4..da40fd91 100644 --- a/src/main/java/com/minelittlepony/client/GuiPonySettings.java +++ b/src/main/java/com/minelittlepony/client/GuiPonySettings.java @@ -4,7 +4,7 @@ import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.resource.language.I18n; import net.minecraft.text.LiteralText; -import com.minelittlepony.client.render.entity.MobRenderers; +import com.minelittlepony.client.render.MobRenderers; import com.minelittlepony.client.settings.ClientPonyConfig; import com.minelittlepony.common.client.gui.GameGui; import com.minelittlepony.common.client.gui.ScrollContainer; @@ -117,10 +117,10 @@ class GuiPonySettings extends GameGui { } content.addButton(new Label(RIGHT, row)).getStyle().setText(MOB_PREFIX + "title"); - for (MobRenderers i : MobRenderers.registry) { + for (MobRenderers i : MobRenderers.REGISTRY.values()) { content.addButton(new Toggle(RIGHT, row += 20, i.get())) .onChange(i::set) - .getStyle().setText(MOB_PREFIX + i.name().toLowerCase()); + .getStyle().setText(MOB_PREFIX + i.name); } } diff --git a/src/main/java/com/minelittlepony/client/MineLittlePony.java b/src/main/java/com/minelittlepony/client/MineLittlePony.java index 1c9847b1..7ae2653f 100644 --- a/src/main/java/com/minelittlepony/client/MineLittlePony.java +++ b/src/main/java/com/minelittlepony/client/MineLittlePony.java @@ -3,6 +3,7 @@ package com.minelittlepony.client; import com.minelittlepony.client.hdskins.IndirectHDSkins; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.pony.PonyManager; +import com.minelittlepony.client.render.PonyRenderDispatcher; import com.minelittlepony.client.render.blockentity.skull.PonySkullRenderer; import com.minelittlepony.client.settings.ClientPonyConfig; import com.minelittlepony.common.client.gui.VisibilityMode; @@ -41,7 +42,7 @@ public class MineLittlePony implements ClientModInitializer { public static final Logger logger = LogManager.getLogger("MineLittlePony"); - private final PonyRenderManager renderManager = PonyRenderManager.getInstance(); + private final PonyRenderDispatcher renderManager = PonyRenderDispatcher.getInstance(); private ClientPonyConfig config; private PonyManager ponyManager; @@ -95,7 +96,7 @@ public class MineLittlePony implements ClientModInitializer { } private void onClientReady(MinecraftClient client) { - renderManager.initialiseRenderers(client.getEntityRenderManager()); + renderManager.initialise(client.getEntityRenderManager()); } private void onTick(MinecraftClient client) { diff --git a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java index a80a4572..283a0185 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java @@ -6,10 +6,10 @@ import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.ModelWrapper; 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; -import com.minelittlepony.client.render.entity.feature.LayerPonyElytra; +import com.minelittlepony.client.render.entity.feature.GearFeature; +import com.minelittlepony.client.render.entity.feature.GlowingItemFeature; +import com.minelittlepony.client.render.entity.feature.ArmourFeature; +import com.minelittlepony.client.render.entity.feature.ElytraFeature; import com.minelittlepony.hdskins.dummy.DummyPlayerRenderer; import com.minelittlepony.hdskins.profile.SkinType; import com.minelittlepony.mson.api.ModelKey; @@ -30,7 +30,7 @@ class DummyPonyRenderer extends DummyPlayerRenderer(this)); + addFeature(new GearFeature<>(this)); manager.setModel(ModelType.EARTH_PONY.getKey(false)); manager.setSkipBlend(); @@ -86,17 +86,17 @@ class DummyPonyRenderer extends DummyPlayerRenderer> getArmourLayer() { - return new LayerPonyArmor<>(this); + return new ArmourFeature<>(this); } @Override protected FeatureRenderer> getHeldItemLayer() { - return new LayerHeldPonyItemMagical<>(this); + return new GlowingItemFeature<>(this); } @Override protected FeatureRenderer> getElytraLayer() { - return new LayerPonyElytra>(this) { + return new ElytraFeature>(this) { @Override protected Identifier getElytraTexture(DummyPony entity) { return entity.getTextures().get(SkinType.ELYTRA).getId(); diff --git a/src/main/java/com/minelittlepony/client/mixin/MixinFirstPersonRenderer.java b/src/main/java/com/minelittlepony/client/mixin/MixinFirstPersonRenderer.java index ef6ce574..56af1545 100644 --- a/src/main/java/com/minelittlepony/client/mixin/MixinFirstPersonRenderer.java +++ b/src/main/java/com/minelittlepony/client/mixin/MixinFirstPersonRenderer.java @@ -4,7 +4,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; -import com.minelittlepony.client.PonyRenderManager; +import com.minelittlepony.client.render.PonyRenderDispatcher; import javax.annotation.Nullable; @@ -43,6 +43,6 @@ abstract class MixinFirstPersonRenderer { VertexConsumerProvider renderContext, @Nullable World world, int lightUv, int overlayUv) { - PonyRenderManager.getInstance().getMagicRenderer().renderItemInFirstPerson(target, (AbstractClientPlayerEntity)entity, item, transform, left, stack, renderContext, world, lightUv); + PonyRenderDispatcher.getInstance().getMagicRenderer().renderItemInFirstPerson(target, (AbstractClientPlayerEntity)entity, item, transform, left, stack, renderContext, world, lightUv); } } diff --git a/src/main/java/com/minelittlepony/client/model/ModelType.java b/src/main/java/com/minelittlepony/client/model/ModelType.java index 6771588c..9b463be6 100644 --- a/src/main/java/com/minelittlepony/client/model/ModelType.java +++ b/src/main/java/com/minelittlepony/client/model/ModelType.java @@ -27,8 +27,8 @@ import com.minelittlepony.client.model.gear.Muffin; import com.minelittlepony.client.model.gear.SaddleBags; import com.minelittlepony.client.model.gear.Stetson; import com.minelittlepony.client.model.gear.WitchHat; -import com.minelittlepony.client.render.entity.RenderPonyPlayer; -import com.minelittlepony.client.render.entity.RenderSeaponyPlayer; +import com.minelittlepony.client.render.entity.PlayerPonyRenderer; +import com.minelittlepony.client.render.entity.PlayerSeaponyRenderer; import com.minelittlepony.model.gear.IGear; import com.minelittlepony.mson.api.ModelKey; import com.minelittlepony.mson.api.Mson; @@ -79,14 +79,14 @@ public final class ModelType { public static final PlayerModelKey> GRYPHON = registerPlayer("gryphon", Race.GRYPHON, ModelPegasus::new); public static final PlayerModelKey> HIPPOGRIFF = registerPlayer("hippogriff", Race.HIPPOGRIFF, ModelPegasus::new); public static final PlayerModelKey> EARTH_PONY = registerPlayer("earth_pony", Race.EARTH, ModelEarthPony::new); - public static final PlayerModelKey> SEA_PONY = registerPlayer("sea_pony", Race.SEAPONY, ModelEarthPony::new, RenderSeaponyPlayer::new); + public static final PlayerModelKey> SEA_PONY = registerPlayer("sea_pony", Race.SEAPONY, ModelEarthPony::new, PlayerSeaponyRenderer::new); public static final PlayerModelKey> BAT_PONY = registerPlayer("bat_pony", Race.BATPONY, ModelPegasus::new); public static final PlayerModelKey> CHANGELING = registerPlayer("changeling", Race.CHANGELING, ModelChangeling::new); public static final PlayerModelKey> CHANGEDLING = registerPlayer("reformed_changeling", Race.CHANGEDLING, ModelChangeling::new); public static final PlayerModelKey> ZEBRA = registerPlayer("zebra", Race.ZEBRA, ModelZebra::new); static PlayerModelKey registerPlayer(String name, Race race, Function constructor) { - return registerPlayer(name, race, constructor, RenderPonyPlayer::new); + return registerPlayer(name, race, constructor, PlayerPonyRenderer::new); } @SuppressWarnings("unchecked") diff --git a/src/main/java/com/minelittlepony/client/model/entity/ModelVillagerPony.java b/src/main/java/com/minelittlepony/client/model/entity/ModelVillagerPony.java index 0987d5b0..23e9bc3e 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/ModelVillagerPony.java +++ b/src/main/java/com/minelittlepony/client/model/entity/ModelVillagerPony.java @@ -11,7 +11,7 @@ import net.minecraft.village.VillagerDataContainer; import net.minecraft.village.VillagerProfession; import com.minelittlepony.client.model.entity.race.ModelAlicorn; -import com.minelittlepony.client.render.entity.villager.PonyTextures; +import com.minelittlepony.client.render.entity.npc.PonyTextures; import com.minelittlepony.model.IPart; import com.minelittlepony.mson.api.ModelContext; import com.minelittlepony.pony.meta.Race; diff --git a/src/main/java/com/minelittlepony/client/pony/Pony.java b/src/main/java/com/minelittlepony/client/pony/Pony.java index f00eea3a..df7b4cf3 100644 --- a/src/main/java/com/minelittlepony/client/pony/Pony.java +++ b/src/main/java/com/minelittlepony/client/pony/Pony.java @@ -1,8 +1,8 @@ package com.minelittlepony.client.pony; import com.google.common.base.MoreObjects; -import com.minelittlepony.client.PonyRenderManager; import com.minelittlepony.client.render.IPonyRenderContext; +import com.minelittlepony.client.render.PonyRenderDispatcher; import com.minelittlepony.client.transform.PonyTransformation; import com.minelittlepony.pony.IPony; import com.minelittlepony.pony.IPonyData; @@ -158,7 +158,7 @@ public class Pony implements IPony { @Override public boolean isRidingInteractive(LivingEntity entity) { if (entity.hasVehicle() && entity.getVehicle() instanceof LivingEntity) { - return PonyRenderManager.getInstance().getPonyRenderer((LivingEntity) entity.getVehicle()) != null; + return PonyRenderDispatcher.getInstance().getPonyRenderer((LivingEntity) entity.getVehicle()) != null; } return false; } @@ -168,7 +168,7 @@ public class Pony implements IPony { if (entity.hasVehicle() && entity.getVehicle() instanceof LivingEntity) { LivingEntity mount = (LivingEntity) entity.getVehicle(); - IPonyRenderContext render = PonyRenderManager.getInstance().getPonyRenderer(mount); + IPonyRenderContext render = PonyRenderDispatcher.getInstance().getPonyRenderer(mount); return render == null ? null : render.getEntityPony(mount); } diff --git a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java index 52c24d01..5bbfb2ea 100644 --- a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java +++ b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java @@ -1,7 +1,6 @@ package com.minelittlepony.client.render; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.client.PonyRenderManager; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.transform.PonyPosture; @@ -85,7 +84,7 @@ public class EquineRenderManager renderer = PonyRenderManager.getInstance().getPonyRenderer(ridingEntity); + IPonyRenderContext renderer = PonyRenderDispatcher.getInstance().getPonyRenderer(ridingEntity); if (renderer != null) { // negate vanilla translations so the rider begins at the ridees feet. diff --git a/src/main/java/com/minelittlepony/client/render/MobRenderers.java b/src/main/java/com/minelittlepony/client/render/MobRenderers.java new file mode 100644 index 00000000..18578777 --- /dev/null +++ b/src/main/java/com/minelittlepony/client/render/MobRenderers.java @@ -0,0 +1,92 @@ +package com.minelittlepony.client.render; + +import com.minelittlepony.client.MineLittlePony; +import com.minelittlepony.client.render.entity.*; +import com.minelittlepony.client.render.entity.npc.*; +import com.minelittlepony.common.util.settings.Setting; + +import java.util.HashMap; +import java.util.Map; +import java.util.function.BiConsumer; + +import net.minecraft.entity.EntityType; + +/** + * Central location where new entity renderers are registered and applied. + */ +public final class MobRenderers { + public static final Map REGISTRY = new HashMap<>(); + + public static final MobRenderers VILLAGER = register("villagers", (state, pony) -> { + pony.switchRenderer(state, EntityType.VILLAGER, RenderPonyVillager::new); + pony.switchRenderer(state, EntityType.WITCH, WitchRenderer::new); + pony.switchRenderer(state, EntityType.ZOMBIE_VILLAGER, RenderPonyZombieVillager::new); + pony.switchRenderer(state, EntityType.WANDERING_TRADER, TraderRenderer::new); + }); + public static final MobRenderers ILLAGER = register("illagers", (state, pony) -> { + pony.switchRenderer(state, EntityType.VEX, VexRenderer::new); + pony.switchRenderer(state, EntityType.EVOKER, IllagerPonyRenderer.Evoker::new); + pony.switchRenderer(state, EntityType.VINDICATOR, IllagerPonyRenderer.Vindicator::new); + pony.switchRenderer(state, EntityType.ILLUSIONER, IllagerPonyRenderer.Illusionist::new); + pony.switchRenderer(state, EntityType.PILLAGER, PillagerRenderer::new); + }); + public static final MobRenderers ZOMBIE = register("zombies", (state, pony) -> { + pony.switchRenderer(state, EntityType.ZOMBIE, ZomponyRenderer::new); + pony.switchRenderer(state, EntityType.HUSK, ZomponyRenderer.Husk::new); + pony.switchRenderer(state, EntityType.GIANT, ZomponyRenderer.Giant::new); + pony.switchRenderer(state, EntityType.DROWNED, ZomponyRenderer.Drowned::new); + }); + public static final MobRenderers ZOMBIE_PIGMAN = register("pigzombies", (state, pony) -> { + pony.switchRenderer(state, EntityType.ZOMBIE_PIGMAN, ZomponyRenderer.Pigman::new); + }); + public static final MobRenderers SKELETON = register("skeletons", (state, pony) -> { + pony.switchRenderer(state, EntityType.SKELETON, SkeleponyRenderer::new); + pony.switchRenderer(state, EntityType.STRAY, SkeleponyRenderer.Stray::new); + pony.switchRenderer(state, EntityType.WITHER_SKELETON, SkeleponyRenderer.Wither::new); + }); + public static final MobRenderers GUARDIAN = register("guardians", (state, pony) -> { + pony.switchRenderer(state, EntityType.GUARDIAN, SeaponyRenderer::new); + pony.switchRenderer(state, EntityType.ELDER_GUARDIAN, SeaponyRenderer.Elder::new); + }); + public static final MobRenderers ENDERMAN = register("endermen", (state, pony) -> { + pony.switchRenderer(state, EntityType.ENDERMAN, EnderStallionRenderer::new); + }); + + private final BiConsumer changer; + + public final String name; + + private boolean lastState; + + private MobRenderers(String name, BiConsumer changer) { + this.name = name; + this.changer = changer; + } + + public Setting option() { + return MineLittlePony.getInstance().getConfig().get(name); + } + + public boolean set(boolean value) { + value = option().set(value); + apply(PonyRenderDispatcher.getInstance()); + return value; + } + + public boolean get() { + return option().get(); + } + + public static MobRenderers register(String name, BiConsumer changer) { + return REGISTRY.computeIfAbsent(name, n -> new MobRenderers(name, changer)); + } + + void apply(PonyRenderDispatcher dispatcher) { + boolean state = get(); + if (state != lastState) { + MineLittlePony.logger.info(String.format("Ponify %s [%B] -> [%B]", name, lastState, state)); + lastState = state; + changer.accept(state, dispatcher); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/client/PonyRenderManager.java b/src/main/java/com/minelittlepony/client/render/PonyRenderDispatcher.java similarity index 79% rename from src/main/java/com/minelittlepony/client/PonyRenderManager.java rename to src/main/java/com/minelittlepony/client/render/PonyRenderDispatcher.java index de585012..1ecb8a81 100644 --- a/src/main/java/com/minelittlepony/client/PonyRenderManager.java +++ b/src/main/java/com/minelittlepony/client/render/PonyRenderDispatcher.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client; +package com.minelittlepony.client.render; import java.util.Map; import java.util.function.Function; @@ -6,9 +6,6 @@ import java.util.function.Function; import com.google.common.collect.Maps; 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.IPonyRenderContext; import javax.annotation.Nullable; @@ -27,28 +24,27 @@ import net.minecraft.entity.LivingEntity; * Render manager responsible for replacing and restoring entity renderers when the client settings change. * Old values are persisted internally. */ -public class PonyRenderManager { +public class PonyRenderDispatcher { - private static final PonyRenderManager renderManager = new PonyRenderManager(); + private static final PonyRenderDispatcher INSTANCE = new PonyRenderDispatcher(); /** * Gets the static pony render manager responsible for all entity renderers. */ - public static PonyRenderManager getInstance() { - return renderManager; + public static PonyRenderDispatcher getInstance() { + return INSTANCE; } private LevitatingItemRenderer magicRenderer = new LevitatingItemRenderer(); - private final Map, EntityRenderer> renderMap = Maps.newHashMap(); /** * Registers all new player skin types. (currently only pony and slimpony). */ - public void initialiseRenderers(EntityRenderDispatcher manager) { + public void initialise(EntityRenderDispatcher manager) { PlayerModels.registry.forEach(i -> registerPlayerSkin(manager, i)); - MobRenderers.registry.forEach(i -> i.apply(this)); + MobRenderers.REGISTRY.values().forEach(i -> i.apply(this)); } private void registerPlayerSkin(EntityRenderDispatcher manager, PlayerModels playerModel) { @@ -75,7 +71,7 @@ public class PonyRenderManager { * @param The entity type */ @SuppressWarnings("unchecked") - public void switchRenderer(boolean state, EntityType type, Function> factory) { + void switchRenderer(boolean state, EntityType type, Function> factory) { if (state) { if (!renderMap.containsKey(type)) { renderMap.put(type, ((MixinEntityRenderDispatcher)MinecraftClient.getInstance().getEntityRenderManager()).getEntityRenderers().get(type)); @@ -99,7 +95,7 @@ public class PonyRenderManager { return null; } - EntityRenderer renderer = (EntityRenderer)MinecraftClient.getInstance().getEntityRenderManager().getRenderer(entity); + EntityRenderer renderer = MinecraftClient.getInstance().getEntityRenderManager().getRenderer(entity); if (renderer instanceof IPonyRenderContext) { return (IPonyRenderContext) renderer; diff --git a/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java b/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java index 08e211ea..ed9cc89f 100644 --- a/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java +++ b/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java @@ -1,6 +1,6 @@ package com.minelittlepony.client.render.blockentity.skull; -import com.minelittlepony.client.render.entity.MobRenderers; +import com.minelittlepony.client.render.MobRenderers; import com.minelittlepony.settings.PonyConfig; import com.mojang.authlib.GameProfile; import net.minecraft.util.Identifier; diff --git a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java index 5b45e2fa..b29c57f9 100644 --- a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java @@ -3,9 +3,9 @@ package com.minelittlepony.client.render.blockentity.skull; import com.google.common.collect.Maps; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.render.LevitatingItemRenderer; -import com.minelittlepony.client.render.entity.MobRenderers; -import com.minelittlepony.client.render.entity.RenderPonySkeleton; -import com.minelittlepony.client.render.entity.RenderPonyZombie; +import com.minelittlepony.client.render.MobRenderers; +import com.minelittlepony.client.render.entity.SkeleponyRenderer; +import com.minelittlepony.client.render.entity.ZomponyRenderer; import com.minelittlepony.mson.api.Mson; import com.minelittlepony.pony.IPony; import com.minelittlepony.settings.PonyConfig; @@ -40,9 +40,9 @@ public class PonySkullRenderer extends SkullBlockEntityRenderer { } private final Map skullMap = Util.create(Maps.newHashMap(), (skullMap) -> { - skullMap.put(SkullBlock.Type.SKELETON, new MobSkull(RenderPonySkeleton.SKELETON, MobRenderers.SKELETONS)); - skullMap.put(SkullBlock.Type.WITHER_SKELETON, new MobSkull(RenderPonySkeleton.WITHER, MobRenderers.SKELETONS)); - skullMap.put(SkullBlock.Type.ZOMBIE, new MobSkull(RenderPonyZombie.ZOMBIE, MobRenderers.ZOMBIES)); + skullMap.put(SkullBlock.Type.SKELETON, new MobSkull(SkeleponyRenderer.SKELETON, MobRenderers.SKELETON)); + skullMap.put(SkullBlock.Type.WITHER_SKELETON, new MobSkull(SkeleponyRenderer.WITHER, MobRenderers.SKELETON)); + skullMap.put(SkullBlock.Type.ZOMBIE, new MobSkull(ZomponyRenderer.ZOMBIE, MobRenderers.ZOMBIE)); skullMap.put(SkullBlock.Type.PLAYER, new PonySkull()); }); diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderEnderStallion.java b/src/main/java/com/minelittlepony/client/render/entity/EnderStallionRenderer.java similarity index 75% rename from src/main/java/com/minelittlepony/client/render/entity/RenderEnderStallion.java rename to src/main/java/com/minelittlepony/client/render/entity/EnderStallionRenderer.java index 69e96cd6..97d197f9 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderEnderStallion.java +++ b/src/main/java/com/minelittlepony/client/render/entity/EnderStallionRenderer.java @@ -2,10 +2,10 @@ package com.minelittlepony.client.render.entity; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelEnderStallion; -import com.minelittlepony.client.render.entity.feature.LayerEyeGlow; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItem; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItemMagical; -import com.minelittlepony.client.render.entity.feature.LayerEyeGlow.IGlowingRenderer; +import com.minelittlepony.client.render.entity.feature.GlowingEyesFeature; +import com.minelittlepony.client.render.entity.feature.HeldItemFeature; +import com.minelittlepony.client.render.entity.feature.GlowingItemFeature; +import com.minelittlepony.client.render.entity.feature.GlowingEyesFeature.IGlowingRenderer; import net.minecraft.block.BlockState; import net.minecraft.client.render.VertexConsumerProvider; @@ -18,14 +18,14 @@ import net.minecraft.util.Identifier; import java.util.Random; -public class RenderEnderStallion extends RenderPonyMob implements IGlowingRenderer { +public class EnderStallionRenderer extends PonyRenderer implements IGlowingRenderer { public static final Identifier ENDERMAN = new Identifier("minelittlepony", "textures/entity/enderman/enderman_pony.png"); private static final Identifier EYES = new Identifier("minelittlepony", "textures/entity/enderman/enderman_pony_eyes.png"); private final Random rnd = new Random(); - public RenderEnderStallion(EntityRenderDispatcher manager) { + public EnderStallionRenderer(EntityRenderDispatcher manager) { super(manager, ModelType.ENDERMAN); } @@ -33,12 +33,12 @@ public class RenderEnderStallion extends RenderPonyMob(this)); - addFeature(new LayerEyeGlow<>(this)); + addFeature(new GlowingEyesFeature<>(this)); } @Override - protected LayerHeldPonyItem createItemHoldingLayer() { - return new LayerHeldPonyItemMagical(this) { + protected HeldItemFeature createItemHoldingLayer() { + return new GlowingItemFeature(this) { @Override protected ItemStack getRightItem(EndermanEntity entity) { BlockState state = entity.getCarriedBlock(); diff --git a/src/main/java/com/minelittlepony/client/render/entity/MobRenderers.java b/src/main/java/com/minelittlepony/client/render/entity/MobRenderers.java deleted file mode 100644 index e195b6a2..00000000 --- a/src/main/java/com/minelittlepony/client/render/entity/MobRenderers.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.minelittlepony.client.render.entity; - -import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.client.PonyRenderManager; -import com.minelittlepony.client.render.entity.villager.*; -import com.minelittlepony.common.util.settings.Setting; - -import java.util.Arrays; -import java.util.List; -import java.util.function.BiConsumer; - -import net.minecraft.entity.EntityType; - -/** - * Central location where new entity renderers are registered and applied. - */ -public enum MobRenderers { - VILLAGERS((state, pony) -> { - pony.switchRenderer(state, EntityType.VILLAGER, RenderPonyVillager::new); - pony.switchRenderer(state, EntityType.WITCH, RenderPonyWitch::new); - pony.switchRenderer(state, EntityType.ZOMBIE_VILLAGER, RenderPonyZombieVillager::new); - pony.switchRenderer(state, EntityType.WANDERING_TRADER, RenderPonyTrader::new); - }), - ILLAGERS((state, pony) -> { - pony.switchRenderer(state, EntityType.VEX, RenderPonyVex::new); - pony.switchRenderer(state, EntityType.EVOKER, RenderPonyIllager.Evoker::new); - pony.switchRenderer(state, EntityType.VINDICATOR, RenderPonyIllager.Vindicator::new); - pony.switchRenderer(state, EntityType.ILLUSIONER, RenderPonyIllager.Illusionist::new); - pony.switchRenderer(state, EntityType.PILLAGER, RenderPonyPillager::new); - }), - ZOMBIES((state, pony) -> { - pony.switchRenderer(state, EntityType.ZOMBIE, RenderPonyZombie::new); - pony.switchRenderer(state, EntityType.HUSK, RenderPonyZombie.Husk::new); - pony.switchRenderer(state, EntityType.GIANT, RenderPonyZombie.Giant::new); - pony.switchRenderer(state, EntityType.DROWNED, RenderPonyZombie.Drowned::new); - }), - PIGZOMBIES((state, pony) -> { - pony.switchRenderer(state, EntityType.ZOMBIE_PIGMAN, RenderPonyZombie.Pigman::new); - }), - SKELETONS((state, pony) -> { - pony.switchRenderer(state, EntityType.SKELETON, RenderPonySkeleton::new); - pony.switchRenderer(state, EntityType.STRAY, RenderPonySkeleton.Stray::new); - pony.switchRenderer(state, EntityType.WITHER_SKELETON, RenderPonySkeleton.Wither::new); - }), - GUARDIANS((state, pony) -> { - pony.switchRenderer(state, EntityType.GUARDIAN, RenderPonyGuardian::new); - pony.switchRenderer(state, EntityType.ELDER_GUARDIAN, RenderPonyGuardian.Elder::new); - }), - ENDERMEN((state, pony) -> { - pony.switchRenderer(state, EntityType.ENDERMAN, RenderEnderStallion::new); - }); - - public static final List registry = Arrays.asList(values()); - - private final BiConsumer changer; - - MobRenderers(BiConsumer changer) { - this.changer = changer; - } - - public Setting option() { - return MineLittlePony.getInstance().getConfig().get(name().toLowerCase()); - } - - public boolean set(boolean value) { - value = option().set(value); - apply(PonyRenderManager.getInstance()); - return value; - } - - public boolean get() { - return option().get(); - } - - public void apply(PonyRenderManager pony) { - boolean state = get(); - changer.accept(state, pony); - if (state) { - MineLittlePony.logger.info(name() + " are now ponies."); - } else { - MineLittlePony.logger.info(name() + " are no longer ponies."); - } - } -} \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPlayer.java b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java similarity index 84% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyPlayer.java rename to src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java index c9ef1a69..3d388867 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPlayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java @@ -8,14 +8,14 @@ import com.minelittlepony.client.render.DebugBoundingBoxRenderer; import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.client.render.EquineRenderManager.Mode; 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; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItemMagical; -import com.minelittlepony.client.render.entity.feature.LayerPonyArmor; -import com.minelittlepony.client.render.entity.feature.LayerPonyCape; -import com.minelittlepony.client.render.entity.feature.LayerPonyCustomHead; -import com.minelittlepony.client.render.entity.feature.LayerPonyElytra; +import com.minelittlepony.client.render.entity.feature.DJPon3Feature; +import com.minelittlepony.client.render.entity.feature.PassengerFeature; +import com.minelittlepony.client.render.entity.feature.GearFeature; +import com.minelittlepony.client.render.entity.feature.GlowingItemFeature; +import com.minelittlepony.client.render.entity.feature.ArmourFeature; +import com.minelittlepony.client.render.entity.feature.CapeFeature; +import com.minelittlepony.client.render.entity.feature.SkullFeature; +import com.minelittlepony.client.render.entity.feature.ElytraFeature; import com.minelittlepony.mson.api.ModelKey; import com.minelittlepony.pony.IPony; import com.minelittlepony.pony.meta.Race; @@ -38,11 +38,11 @@ import net.minecraft.util.Arm; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRenderContext> { +public class PlayerPonyRenderer extends PlayerEntityRenderer implements IPonyRenderContext> { protected final EquineRenderManager> manager = new EquineRenderManager<>(this); - public RenderPonyPlayer(EntityRenderDispatcher dispatcher, boolean slim, ModelKey> key) { + public PlayerPonyRenderer(EntityRenderDispatcher dispatcher, boolean slim, ModelKey> key) { super(dispatcher, slim); this.model = manager.setModel(key).getBody(); @@ -53,15 +53,15 @@ public class RenderPonyPlayer extends PlayerEntityRenderer implements IPonyRende protected void addLayers() { features.clear(); - addLayer(new LayerDJPon3Head<>(this)); - addLayer(new LayerPonyArmor<>(this)); + addLayer(new DJPon3Feature<>(this)); + addLayer(new ArmourFeature<>(this)); addFeature(new StuckArrowsFeatureRenderer<>(this)); - addLayer(new LayerPonyCustomHead<>(this)); - addLayer(new LayerPonyElytra<>(this)); - addLayer(new LayerHeldPonyItemMagical<>(this)); - addLayer(new LayerPonyCape<>(this)); - addLayer(new LayerEntityOnPonyShoulder<>(this)); - addLayer(new LayerGear<>(this)); + addLayer(new SkullFeature<>(this)); + addLayer(new ElytraFeature<>(this)); + addLayer(new GlowingItemFeature<>(this)); + addLayer(new CapeFeature<>(this)); + addLayer(new PassengerFeature<>(this)); + addLayer(new GearFeature<>(this)); } @SuppressWarnings({"unchecked", "rawtypes"}) diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderSeaponyPlayer.java b/src/main/java/com/minelittlepony/client/render/entity/PlayerSeaponyRenderer.java similarity index 89% rename from src/main/java/com/minelittlepony/client/render/entity/RenderSeaponyPlayer.java rename to src/main/java/com/minelittlepony/client/render/entity/PlayerSeaponyRenderer.java index a4e6cf64..dd5957f6 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderSeaponyPlayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerSeaponyRenderer.java @@ -11,12 +11,12 @@ import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.particle.ParticleTypes; -public class RenderSeaponyPlayer extends RenderPonyPlayer { +public class PlayerSeaponyRenderer extends PlayerPonyRenderer { protected final ModelKey> seapony; protected final ModelKey> normalPony; - public RenderSeaponyPlayer(EntityRenderDispatcher manager, boolean slim, ModelKey> key) { + public PlayerSeaponyRenderer(EntityRenderDispatcher manager, boolean slim, ModelKey> key) { super(manager, slim, key); seapony = ModelType.>getPlayerModel(Race.UNICORN).getKey(slim); diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyMob.java b/src/main/java/com/minelittlepony/client/render/entity/PonyRenderer.java similarity index 79% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyMob.java rename to src/main/java/com/minelittlepony/client/render/entity/PonyRenderer.java index 2853226b..9aa91e0b 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyMob.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PonyRenderer.java @@ -7,12 +7,12 @@ import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.render.DebugBoundingBoxRenderer; 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; -import com.minelittlepony.client.render.entity.feature.LayerPonyArmor; -import com.minelittlepony.client.render.entity.feature.LayerPonyCustomHead; -import com.minelittlepony.client.render.entity.feature.LayerPonyElytra; +import com.minelittlepony.client.render.entity.feature.GearFeature; +import com.minelittlepony.client.render.entity.feature.HeldItemFeature; +import com.minelittlepony.client.render.entity.feature.GlowingItemFeature; +import com.minelittlepony.client.render.entity.feature.ArmourFeature; +import com.minelittlepony.client.render.entity.feature.SkullFeature; +import com.minelittlepony.client.render.entity.feature.ElytraFeature; import com.minelittlepony.model.IUnicorn; import com.minelittlepony.mson.api.ModelKey; import com.minelittlepony.pony.IPony; @@ -31,11 +31,11 @@ import net.minecraft.util.Identifier; import java.util.List; import javax.annotation.Nonnull; -public abstract class RenderPonyMob & IPonyModel> extends MobEntityRenderer implements IPonyRenderContext { +public abstract class PonyRenderer & IPonyModel> extends MobEntityRenderer implements IPonyRenderContext { protected EquineRenderManager manager = new EquineRenderManager<>(this); - public RenderPonyMob(EntityRenderDispatcher dispatcher, ModelKey key) { + public PonyRenderer(EntityRenderDispatcher dispatcher, ModelKey key) { super(dispatcher, null, 0.5F); this.model = manager.setModel(key).getBody(); @@ -44,15 +44,15 @@ public abstract class RenderPonyMob(this)); + addFeature(new ArmourFeature<>(this)); addFeature(createItemHoldingLayer()); //addFeature(new StuckArrowsFeatureRenderer<>(this)); - addFeature(new LayerPonyCustomHead<>(this)); - addFeature(new LayerPonyElytra<>(this)); - addFeature(new LayerGear<>(this)); + addFeature(new SkullFeature<>(this)); + addFeature(new ElytraFeature<>(this)); + addFeature(new GearFeature<>(this)); } - protected abstract LayerHeldPonyItem createItemHoldingLayer(); + protected abstract HeldItemFeature createItemHoldingLayer(); @Override public void render(T entity, float entityYaw, float tickDelta, MatrixStack stack, VertexConsumerProvider renderContext, int lightUv) { @@ -127,19 +127,19 @@ public abstract class RenderPonyMob & IUnicorn> extends RenderPonyMob { + public abstract static class Caster & IUnicorn> extends PonyRenderer { public Caster(EntityRenderDispatcher manager, ModelKey key) { super(manager, key); } @Override - protected LayerHeldPonyItem createItemHoldingLayer() { - return new LayerHeldPonyItemMagical<>(this); + protected HeldItemFeature createItemHoldingLayer() { + return new GlowingItemFeature<>(this); } } - public abstract static class Proxy & IPonyModel> extends RenderPonyMob { + public abstract static class Proxy & IPonyModel> extends PonyRenderer { @SuppressWarnings({"rawtypes", "unchecked"}) public Proxy(List exportedLayers, EntityRenderDispatcher manager, ModelKey key) { diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPillager.java b/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPillager.java deleted file mode 100644 index 6df20ca6..00000000 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyPillager.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.minelittlepony.client.render.entity; - -import net.minecraft.client.render.entity.EntityRenderDispatcher; -import net.minecraft.entity.mob.PillagerEntity; -import net.minecraft.util.Identifier; - -import com.minelittlepony.client.model.ModelType; -import com.minelittlepony.client.model.entity.ModelPillagerPony; -import com.minelittlepony.client.render.entity.feature.LayerHeldItemIllager; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItem; - -public class RenderPonyPillager extends RenderPonyMob> { - - private static final Identifier TEXTURES = new Identifier("minelittlepony", "textures/entity/illager/pillager_pony.png"); - - public RenderPonyPillager(EntityRenderDispatcher manager) { - super(manager, ModelType.PILLAGER); - } - - @Override - public Identifier findTexture(PillagerEntity entity) { - return TEXTURES; - } - - @Override - protected LayerHeldPonyItem> createItemHoldingLayer() { - return new LayerHeldItemIllager<>(this); - } -} diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyGuardian.java b/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java similarity index 82% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyGuardian.java rename to src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java index be4f6cd0..545b3f9a 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyGuardian.java +++ b/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java @@ -5,9 +5,9 @@ import javax.annotation.Nonnull; import com.minelittlepony.client.mixin.IResizeable; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelGuardianPony; -import com.minelittlepony.client.render.entity.RenderPonyMob.Proxy; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItem; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItemMagical; +import com.minelittlepony.client.render.entity.PonyRenderer.Proxy; +import com.minelittlepony.client.render.entity.feature.HeldItemFeature; +import com.minelittlepony.client.render.entity.feature.GlowingItemFeature; import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.render.VertexConsumerProvider; @@ -19,13 +19,13 @@ import net.minecraft.entity.mob.ElderGuardianEntity; import net.minecraft.entity.mob.GuardianEntity; import net.minecraft.util.Identifier; -public class RenderPonyGuardian extends GuardianEntityRenderer { +public class SeaponyRenderer extends GuardianEntityRenderer { public static final Identifier SEAPONY = new Identifier("minelittlepony", "textures/entity/seapony.png"); private final Proxy ponyRenderer; - public RenderPonyGuardian(EntityRenderDispatcher manager) { + public SeaponyRenderer(EntityRenderDispatcher manager) { super(manager); features.clear(); @@ -36,8 +36,8 @@ public class RenderPonyGuardian extends GuardianEntityRenderer { } @Override - protected LayerHeldPonyItem createItemHoldingLayer() { - return new LayerHeldPonyItemMagical<>(this); + protected HeldItemFeature createItemHoldingLayer() { + return new GlowingItemFeature<>(this); } }; model = ponyRenderer.getModel(); @@ -69,7 +69,7 @@ public class RenderPonyGuardian extends GuardianEntityRenderer { resize.setCurrentSize(origin); } - public static class Elder extends RenderPonyGuardian { + public static class Elder extends SeaponyRenderer { public Elder(EntityRenderDispatcher manager) { super(manager); diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonySkeleton.java b/src/main/java/com/minelittlepony/client/render/entity/SkeleponyRenderer.java similarity index 67% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonySkeleton.java rename to src/main/java/com/minelittlepony/client/render/entity/SkeleponyRenderer.java index e59e88e9..0ba98633 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonySkeleton.java +++ b/src/main/java/com/minelittlepony/client/render/entity/SkeleponyRenderer.java @@ -2,9 +2,9 @@ package com.minelittlepony.client.render.entity; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelSkeletonPony; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItem; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItemMagical; -import com.minelittlepony.client.render.entity.feature.LayerPonyStrayOverlay; +import com.minelittlepony.client.render.entity.feature.HeldItemFeature; +import com.minelittlepony.client.render.entity.feature.GlowingItemFeature; +import com.minelittlepony.client.render.entity.feature.StrayClothingFeature; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.util.math.MatrixStack; @@ -13,13 +13,13 @@ import net.minecraft.entity.mob.StrayEntity; import net.minecraft.entity.mob.WitherSkeletonEntity; import net.minecraft.util.Identifier; -public class RenderPonySkeleton extends RenderPonyMob> { +public class SkeleponyRenderer extends PonyRenderer> { public static final Identifier SKELETON = new Identifier("minelittlepony", "textures/entity/skeleton/skeleton_pony.png"); public static final Identifier WITHER = new Identifier("minelittlepony", "textures/entity/skeleton/skeleton_wither_pony.png"); public static final Identifier STRAY = new Identifier("minelittlepony", "textures/entity/skeleton/stray_pony.png"); - public RenderPonySkeleton(EntityRenderDispatcher manager) { + public SkeleponyRenderer(EntityRenderDispatcher manager) { super(manager, ModelType.SKELETON); } @@ -29,15 +29,15 @@ public class RenderPonySkeleton extends } @Override - protected LayerHeldPonyItem> createItemHoldingLayer() { - return new LayerHeldPonyItemMagical<>(this); + protected HeldItemFeature> createItemHoldingLayer() { + return new GlowingItemFeature<>(this); } - public static class Stray extends RenderPonySkeleton { + public static class Stray extends SkeleponyRenderer { public Stray(EntityRenderDispatcher manager) { super(manager); - addFeature(new LayerPonyStrayOverlay<>(this)); + addFeature(new StrayClothingFeature<>(this)); } @Override @@ -46,7 +46,7 @@ public class RenderPonySkeleton extends } } - public static class Wither extends RenderPonySkeleton { + public static class Wither extends SkeleponyRenderer { public Wither(EntityRenderDispatcher manager) { super(manager); diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyVex.java b/src/main/java/com/minelittlepony/client/render/entity/VexRenderer.java similarity index 87% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyVex.java rename to src/main/java/com/minelittlepony/client/render/entity/VexRenderer.java index 34526061..62eace5c 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyVex.java +++ b/src/main/java/com/minelittlepony/client/render/entity/VexRenderer.java @@ -12,12 +12,12 @@ import com.minelittlepony.client.model.entity.ModelBreezie; /** * AKA a breezie :D */ -public class RenderPonyVex extends BipedEntityRenderer> { +public class VexRenderer extends BipedEntityRenderer> { private static final Identifier VEX = new Identifier("minelittlepony", "textures/entity/illager/vex_pony.png"); private static final Identifier VEX_CHARGING = new Identifier("minelittlepony", "textures/entity/illager/vex_charging_pony.png"); - public RenderPonyVex(EntityRenderDispatcher manager) { + public VexRenderer(EntityRenderDispatcher manager) { super(manager, ModelType.BREEZIE.createModel(), 0.3F); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyWitch.java b/src/main/java/com/minelittlepony/client/render/entity/WitchRenderer.java similarity index 78% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyWitch.java rename to src/main/java/com/minelittlepony/client/render/entity/WitchRenderer.java index 8338ddc5..99bdd6c8 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyWitch.java +++ b/src/main/java/com/minelittlepony/client/render/entity/WitchRenderer.java @@ -2,7 +2,7 @@ package com.minelittlepony.client.render.entity; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelWitchPony; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItem; +import com.minelittlepony.client.render.entity.feature.HeldItemFeature; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.render.model.json.ModelTransformation; @@ -13,17 +13,17 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Arm; import net.minecraft.util.Identifier; -public class RenderPonyWitch extends RenderPonyMob { +public class WitchRenderer extends PonyRenderer { private static final Identifier WITCH_TEXTURES = new Identifier("minelittlepony", "textures/entity/witch_pony.png"); - public RenderPonyWitch(EntityRenderDispatcher manager) { + public WitchRenderer(EntityRenderDispatcher manager) { super(manager, ModelType.WITCH); } @Override - protected LayerHeldPonyItem createItemHoldingLayer() { - return new LayerHeldPonyItem(this) { + protected HeldItemFeature createItemHoldingLayer() { + return new HeldItemFeature(this) { @Override protected void preItemRender(WitchEntity entity, ItemStack drop, ModelTransformation.Type transform, Arm hand, MatrixStack stack) { stack.translate(0, -0.3F, -0.8F); diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyZombie.java b/src/main/java/com/minelittlepony/client/render/entity/ZomponyRenderer.java similarity index 82% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyZombie.java rename to src/main/java/com/minelittlepony/client/render/entity/ZomponyRenderer.java index 9c12b329..4521e6a0 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyZombie.java +++ b/src/main/java/com/minelittlepony/client/render/entity/ZomponyRenderer.java @@ -12,14 +12,14 @@ import net.minecraft.util.Identifier; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelZombiePony; -public class RenderPonyZombie extends RenderPonyMob.Caster> { +public class ZomponyRenderer extends PonyRenderer.Caster> { public static final Identifier ZOMBIE = new Identifier("minelittlepony", "textures/entity/zombie/zombie_pony.png"); public static final Identifier HUSK = new Identifier("minelittlepony", "textures/entity/zombie/husk_pony.png"); public static final Identifier PIGMAN = new Identifier("minelittlepony", "textures/entity/zombie/zombie_pigman_pony.png"); public static final Identifier DROWNED = new Identifier("minelittlepony", "textures/entity/zombie/drowned_pony.png"); - public RenderPonyZombie(EntityRenderDispatcher manager) { + public ZomponyRenderer(EntityRenderDispatcher manager) { super(manager, ModelType.ZOMBIE); } @@ -28,7 +28,7 @@ public class RenderPonyZombie extends RenderPonyMob return ZOMBIE; } - public static class Drowned extends RenderPonyZombie { + public static class Drowned extends ZomponyRenderer { public Drowned(EntityRenderDispatcher manager) { super(manager); @@ -40,7 +40,7 @@ public class RenderPonyZombie extends RenderPonyMob } } - public static class Pigman extends RenderPonyZombie { + public static class Pigman extends ZomponyRenderer { public Pigman(EntityRenderDispatcher manager) { super(manager); @@ -52,7 +52,7 @@ public class RenderPonyZombie extends RenderPonyMob } } - public static class Husk extends RenderPonyZombie { + public static class Husk extends ZomponyRenderer { public Husk(EntityRenderDispatcher manager) { super(manager); @@ -71,7 +71,7 @@ public class RenderPonyZombie extends RenderPonyMob } - public static class Giant extends RenderPonyMob.Caster> { + public static class Giant extends PonyRenderer.Caster> { public Giant(EntityRenderDispatcher manager) { super(manager, ModelType.ZOMBIE); diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerOverlayBase.java b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractClothingFeature.java similarity index 88% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerOverlayBase.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/AbstractClothingFeature.java index 7004c5ce..63df2686 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerOverlayBase.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractClothingFeature.java @@ -14,11 +14,11 @@ import net.minecraft.util.Identifier; import com.minelittlepony.model.IModel; // separate class in case I need it later -public abstract class LayerOverlayBase & IModel> extends FeatureRenderer { +public abstract class AbstractClothingFeature & IModel> extends FeatureRenderer { protected final FeatureRendererContext renderer; - public LayerOverlayBase(FeatureRendererContext render) { + public AbstractClothingFeature(FeatureRendererContext render) { super(render); renderer = render; } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyLayer.java b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyFeature.java similarity index 90% rename from src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyLayer.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyFeature.java index 61504808..4942c378 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyLayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractPonyFeature.java @@ -11,12 +11,12 @@ import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; -public abstract class AbstractPonyLayer & IPonyModel> extends FeatureRenderer { +public abstract class AbstractPonyFeature & IPonyModel> extends FeatureRenderer { private final IPonyRenderContext context; @SuppressWarnings("unchecked") - public AbstractPonyLayer(IPonyRenderContext context) { + public AbstractPonyFeature(IPonyRenderContext context) { super((FeatureRendererContext)context); this.context = 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/ArmourFeature.java similarity index 94% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyArmor.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/ArmourFeature.java index dfb8e746..2d89b3a1 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyArmor.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/ArmourFeature.java @@ -27,13 +27,13 @@ import net.minecraft.item.DyeableArmorItem; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; -public class LayerPonyArmor & IPonyModel> extends AbstractPonyLayer { +public class ArmourFeature & IPonyModel> extends AbstractPonyFeature { private static final IArmourTextureResolver textures = new DefaultArmourTextureResolver<>(); private ModelWrapper pony; - public LayerPonyArmor(IPonyRenderContext renderer) { + public ArmourFeature(IPonyRenderContext renderer) { super(renderer); } @@ -55,7 +55,7 @@ public class LayerPonyArmor & I if (!itemstack.isEmpty() && itemstack.getItem() instanceof ArmorItem) { - V armour = LayerPonyArmor.getArmorModel(entity, itemstack, armorSlot, layer, pony.getArmor().getArmorForLayer(layer)); + V armour = ArmourFeature.getArmorModel(entity, itemstack, armorSlot, layer, pony.getArmor().getArmorForLayer(layer)); if (armour.prepareToRender(armorSlot, layer)) { ((BipedEntityModel)pony.getBody()).setAttributes(armour); diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCape.java b/src/main/java/com/minelittlepony/client/render/entity/feature/CapeFeature.java similarity index 95% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCape.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/CapeFeature.java index 79a87407..54f74c04 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCape.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/CapeFeature.java @@ -18,9 +18,9 @@ import net.minecraft.util.math.MathHelper; import static com.minelittlepony.model.PonyModelConstants.PI; -public class LayerPonyCape> extends AbstractPonyLayer { +public class CapeFeature> extends AbstractPonyFeature { - public LayerPonyCape(IPonyRenderContext context) { + public CapeFeature(IPonyRenderContext context) { super(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/DJPon3Feature.java similarity index 88% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerDJPon3Head.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/DJPon3Feature.java index 017f3690..a7132ea2 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerDJPon3Head.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/DJPon3Feature.java @@ -12,11 +12,11 @@ import com.minelittlepony.client.model.ModelDeadMau5Ears; import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; -public class LayerDJPon3Head & IPonyModel> extends AbstractPonyLayer { +public class DJPon3Feature & IPonyModel> extends AbstractPonyFeature { private final ModelDeadMau5Ears deadMau5 = new ModelDeadMau5Ears(); - public LayerDJPon3Head(IPonyRenderContext context) { + public DJPon3Feature(IPonyRenderContext context) { super(context); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java b/src/main/java/com/minelittlepony/client/render/entity/feature/ElytraFeature.java similarity index 94% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/ElytraFeature.java index ecfd5405..d1fdab12 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/ElytraFeature.java @@ -20,14 +20,14 @@ import net.minecraft.entity.EquipmentSlot; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; -public class LayerPonyElytra & IPonyModel> extends AbstractPonyLayer { +public class ElytraFeature & IPonyModel> extends AbstractPonyFeature { private static final Identifier TEXTURE_ELYTRA = new Identifier("textures/entity/elytra.png"); @SuppressWarnings("unchecked") private final PonyElytra modelElytra = (PonyElytra)ModelType.ELYTRA.createModel(); - public LayerPonyElytra(IPonyRenderContext rp) { + public ElytraFeature(IPonyRenderContext rp) { super(rp); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerGear.java b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java similarity index 94% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerGear.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java index 866991eb..64a3c122 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerGear.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java @@ -20,11 +20,11 @@ import java.util.HashMap; import java.util.Map; import java.util.stream.Collectors; -public class LayerGear & IPonyModel> extends AbstractPonyLayer { +public class GearFeature & IPonyModel> extends AbstractPonyFeature { private final Map gears; - public LayerGear(IPonyRenderContext renderer) { + public GearFeature(IPonyRenderContext renderer) { super(renderer); gears = ModelType.getWearables().collect(Collectors.toMap( diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEyeGlow.java b/src/main/java/com/minelittlepony/client/render/entity/feature/GlowingEyesFeature.java similarity index 81% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerEyeGlow.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/GlowingEyesFeature.java index 07e41d34..fec4a03e 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEyeGlow.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/GlowingEyesFeature.java @@ -10,11 +10,11 @@ import net.minecraft.util.Identifier; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.render.IPonyRenderContext; -public class LayerEyeGlow & IPonyModel> extends EyesFeatureRenderer { +public class GlowingEyesFeature & IPonyModel> extends EyesFeatureRenderer { private final RenderLayer layer; - public & IPonyRenderContext & IGlowingRenderer> LayerEyeGlow(V renderer) { + public & IPonyRenderContext & IGlowingRenderer> GlowingEyesFeature(V renderer) { super(renderer); layer = RenderLayer.getEyes(renderer.getEyeTexture()); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItemMagical.java b/src/main/java/com/minelittlepony/client/render/entity/feature/GlowingItemFeature.java similarity index 78% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItemMagical.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/GlowingItemFeature.java index 49870132..3d73f968 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItemMagical.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/GlowingItemFeature.java @@ -1,8 +1,8 @@ package com.minelittlepony.client.render.entity.feature; -import com.minelittlepony.client.PonyRenderManager; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.render.IPonyRenderContext; +import com.minelittlepony.client.render.PonyRenderDispatcher; import com.minelittlepony.model.IUnicorn; import net.minecraft.client.model.ModelPart; @@ -14,9 +14,9 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.Arm; -public class LayerHeldPonyItemMagical & IPonyModel> extends LayerHeldPonyItem { +public class GlowingItemFeature & IPonyModel> extends HeldItemFeature { - public LayerHeldPonyItemMagical(IPonyRenderContext context) { + public GlowingItemFeature(IPonyRenderContext context) { super(context); } @@ -36,7 +36,7 @@ public class LayerHeldPonyItemMagical)getModel()).getMagicColor(), stack, renderContext); + PonyRenderDispatcher.getInstance().getMagicRenderer().renderItemGlow(entity, drop, transform, hand, ((IUnicorn)getModel()).getMagicColor(), stack, renderContext); } } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItem.java b/src/main/java/com/minelittlepony/client/render/entity/feature/HeldItemFeature.java similarity index 94% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItem.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/HeldItemFeature.java index b39b3dd5..4244708c 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldPonyItem.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/HeldItemFeature.java @@ -15,9 +15,9 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.Arm; -public class LayerHeldPonyItem & IPonyModel> extends AbstractPonyLayer { +public class HeldItemFeature & IPonyModel> extends AbstractPonyFeature { - public LayerHeldPonyItem(IPonyRenderContext livingPony) { + public HeldItemFeature(IPonyRenderContext livingPony) { super(livingPony); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldItemIllager.java b/src/main/java/com/minelittlepony/client/render/entity/feature/IllagerHeldItemFeature.java similarity index 84% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldItemIllager.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/IllagerHeldItemFeature.java index 6eb5b457..70167dc1 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerHeldItemIllager.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/IllagerHeldItemFeature.java @@ -8,9 +8,9 @@ import net.minecraft.util.Arm; import com.minelittlepony.client.model.entity.race.ModelAlicorn; import com.minelittlepony.client.render.IPonyRenderContext; -public class LayerHeldItemIllager> extends LayerHeldPonyItem { +public class IllagerHeldItemFeature> extends HeldItemFeature { - public LayerHeldItemIllager(IPonyRenderContext livingPony) { + public IllagerHeldItemFeature(IPonyRenderContext livingPony) { super(livingPony); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEntityOnPonyShoulder.java b/src/main/java/com/minelittlepony/client/render/entity/feature/PassengerFeature.java similarity index 92% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerEntityOnPonyShoulder.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/PassengerFeature.java index 7fb42b2b..9da82128 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerEntityOnPonyShoulder.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/PassengerFeature.java @@ -15,11 +15,11 @@ import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; -public class LayerEntityOnPonyShoulder> extends AbstractPonyLayer { +public class PassengerFeature> extends AbstractPonyFeature { private final ParrotEntityModel model = new ParrotEntityModel(); - public LayerEntityOnPonyShoulder(IPonyRenderContext context) { + public PassengerFeature(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/SkullFeature.java similarity index 95% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCustomHead.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/SkullFeature.java index 614a25ed..eaaab488 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyCustomHead.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/SkullFeature.java @@ -28,9 +28,9 @@ import net.minecraft.village.VillagerDataContainer; import static com.mojang.blaze3d.platform.GlStateManager.*; -public class LayerPonyCustomHead & IPonyModel> extends AbstractPonyLayer { +public class SkullFeature & IPonyModel> extends AbstractPonyFeature { - public LayerPonyCustomHead(IPonyRenderContext renderPony) { + public SkullFeature(IPonyRenderContext renderPony) { super(renderPony); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyStrayOverlay.java b/src/main/java/com/minelittlepony/client/render/entity/feature/StrayClothingFeature.java similarity index 75% rename from src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyStrayOverlay.java rename to src/main/java/com/minelittlepony/client/render/entity/feature/StrayClothingFeature.java index 82cf3f48..9cb3b2fb 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyStrayOverlay.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/StrayClothingFeature.java @@ -6,13 +6,13 @@ import net.minecraft.util.Identifier; import com.minelittlepony.client.model.entity.ModelSkeletonPony; -public class LayerPonyStrayOverlay extends LayerOverlayBase> { +public class StrayClothingFeature extends AbstractClothingFeature> { public static final Identifier STRAY_SKELETON_OVERLAY = new Identifier("minelittlepony", "textures/entity/skeleton/stray_pony_overlay.png"); private final ModelSkeletonPony overlayModel = new ModelSkeletonPony<>(); - public LayerPonyStrayOverlay(LivingEntityRenderer> render) { + public StrayClothingFeature(LivingEntityRenderer> render) { super(render); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/villager/AbstractVillagerRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractVillagerRenderer.java similarity index 93% rename from src/main/java/com/minelittlepony/client/render/entity/villager/AbstractVillagerRenderer.java rename to src/main/java/com/minelittlepony/client/render/entity/npc/AbstractVillagerRenderer.java index fe5a4b86..9d9ba431 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/villager/AbstractVillagerRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractVillagerRenderer.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.render.entity.villager; +package com.minelittlepony.client.render.entity.npc; import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.entity.EntityRenderDispatcher; @@ -9,7 +9,7 @@ import net.minecraft.village.VillagerDataContainer; import net.minecraft.village.VillagerProfession; import com.minelittlepony.client.model.ClientPonyModel; -import com.minelittlepony.client.render.entity.RenderPonyMob; +import com.minelittlepony.client.render.entity.PonyRenderer; import com.minelittlepony.model.IUnicorn; import com.minelittlepony.model.gear.IGear; import com.minelittlepony.mson.api.ModelKey; @@ -18,7 +18,7 @@ import com.minelittlepony.util.resources.ITextureSupplier; abstract class AbstractVillagerRenderer< T extends MobEntity & VillagerDataContainer, - M extends ClientPonyModel & IUnicorn & ModelWithHat> extends RenderPonyMob.Caster { + M extends ClientPonyModel & IUnicorn & ModelWithHat> extends PonyRenderer.Caster { private final ITextureSupplier baseTextures; diff --git a/src/main/java/com/minelittlepony/client/render/entity/villager/ClothingLayer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/ClothingLayer.java similarity index 97% rename from src/main/java/com/minelittlepony/client/render/entity/villager/ClothingLayer.java rename to src/main/java/com/minelittlepony/client/render/entity/npc/ClothingLayer.java index 15eb1b03..b33b9e91 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/villager/ClothingLayer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/ClothingLayer.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.render.entity.villager; +package com.minelittlepony.client.render.entity.npc; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.entity.feature.FeatureRendererContext; diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyIllager.java b/src/main/java/com/minelittlepony/client/render/entity/npc/IllagerPonyRenderer.java similarity index 79% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyIllager.java rename to src/main/java/com/minelittlepony/client/render/entity/npc/IllagerPonyRenderer.java index 804f57cc..a5804932 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyIllager.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/IllagerPonyRenderer.java @@ -1,9 +1,10 @@ -package com.minelittlepony.client.render.entity; +package com.minelittlepony.client.render.entity.npc; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelIllagerPony; -import com.minelittlepony.client.render.entity.feature.LayerHeldItemIllager; -import com.minelittlepony.client.render.entity.feature.LayerHeldPonyItem; +import com.minelittlepony.client.render.entity.feature.IllagerHeldItemFeature; +import com.minelittlepony.client.render.entity.PonyRenderer; +import com.minelittlepony.client.render.entity.feature.HeldItemFeature; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRenderDispatcher; @@ -16,19 +17,19 @@ import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; -public abstract class RenderPonyIllager extends RenderPonyMob> { +public abstract class IllagerPonyRenderer extends PonyRenderer> { public static final Identifier ILLUSIONIST = new Identifier("minelittlepony", "textures/entity/illager/illusionist_pony.png"); public static final Identifier EVOKER = new Identifier("minelittlepony", "textures/entity/illager/evoker_pony.png"); public static final Identifier VINDICATOR = new Identifier("minelittlepony", "textures/entity/illager/vindicator_pony.png"); - public RenderPonyIllager(EntityRenderDispatcher manager) { + public IllagerPonyRenderer(EntityRenderDispatcher manager) { super(manager, ModelType.ILLAGER); } @Override - protected LayerHeldPonyItem> createItemHoldingLayer() { - return new LayerHeldItemIllager<>(this); + protected HeldItemFeature> createItemHoldingLayer() { + return new IllagerHeldItemFeature<>(this); } @Override @@ -37,7 +38,7 @@ public abstract class RenderPonyIllager extends RenderP stack.scale(BASE_MODEL_SCALE, BASE_MODEL_SCALE, BASE_MODEL_SCALE); } - public static class Vindicator extends RenderPonyIllager { + public static class Vindicator extends IllagerPonyRenderer { public Vindicator(EntityRenderDispatcher manager) { super(manager); @@ -50,7 +51,7 @@ public abstract class RenderPonyIllager extends RenderP } } - public static class Evoker extends RenderPonyIllager { + public static class Evoker extends IllagerPonyRenderer { public Evoker(EntityRenderDispatcher manager) { super(manager); @@ -62,7 +63,7 @@ public abstract class RenderPonyIllager extends RenderP } } - public static class Illusionist extends RenderPonyIllager { + public static class Illusionist extends IllagerPonyRenderer { public Illusionist(EntityRenderDispatcher manager) { super(manager); diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java new file mode 100644 index 00000000..242e6ebc --- /dev/null +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java @@ -0,0 +1,30 @@ +package com.minelittlepony.client.render.entity.npc; + +import net.minecraft.client.render.entity.EntityRenderDispatcher; +import net.minecraft.entity.mob.PillagerEntity; +import net.minecraft.util.Identifier; + +import com.minelittlepony.client.model.ModelType; +import com.minelittlepony.client.model.entity.ModelPillagerPony; +import com.minelittlepony.client.render.entity.feature.IllagerHeldItemFeature; +import com.minelittlepony.client.render.entity.PonyRenderer; +import com.minelittlepony.client.render.entity.feature.HeldItemFeature; + +public class PillagerRenderer extends PonyRenderer> { + + private static final Identifier TEXTURES = new Identifier("minelittlepony", "textures/entity/illager/pillager_pony.png"); + + public PillagerRenderer(EntityRenderDispatcher manager) { + super(manager, ModelType.PILLAGER); + } + + @Override + public Identifier findTexture(PillagerEntity entity) { + return TEXTURES; + } + + @Override + protected HeldItemFeature> createItemHoldingLayer() { + return new IllagerHeldItemFeature<>(this); + } +} diff --git a/src/main/java/com/minelittlepony/client/render/entity/villager/PonyTextures.java b/src/main/java/com/minelittlepony/client/render/entity/npc/PonyTextures.java similarity index 98% rename from src/main/java/com/minelittlepony/client/render/entity/villager/PonyTextures.java rename to src/main/java/com/minelittlepony/client/render/entity/npc/PonyTextures.java index 33451ea5..b93221a6 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/villager/PonyTextures.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/PonyTextures.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.render.entity.villager; +package com.minelittlepony.client.render.entity.npc; import net.minecraft.client.MinecraftClient; import net.minecraft.entity.LivingEntity; diff --git a/src/main/java/com/minelittlepony/client/render/entity/villager/RenderPonyVillager.java b/src/main/java/com/minelittlepony/client/render/entity/npc/RenderPonyVillager.java similarity index 94% rename from src/main/java/com/minelittlepony/client/render/entity/villager/RenderPonyVillager.java rename to src/main/java/com/minelittlepony/client/render/entity/npc/RenderPonyVillager.java index e4a989d8..3e2843ed 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/villager/RenderPonyVillager.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/RenderPonyVillager.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.render.entity.villager; +package com.minelittlepony.client.render.entity.npc; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelVillagerPony; diff --git a/src/main/java/com/minelittlepony/client/render/entity/villager/RenderPonyZombieVillager.java b/src/main/java/com/minelittlepony/client/render/entity/npc/RenderPonyZombieVillager.java similarity index 95% rename from src/main/java/com/minelittlepony/client/render/entity/villager/RenderPonyZombieVillager.java rename to src/main/java/com/minelittlepony/client/render/entity/npc/RenderPonyZombieVillager.java index b6d1dfc1..3cafd46a 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/villager/RenderPonyZombieVillager.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/RenderPonyZombieVillager.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.render.entity.villager; +package com.minelittlepony.client.render.entity.npc; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ModelZombieVillagerPony; diff --git a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyTrader.java b/src/main/java/com/minelittlepony/client/render/entity/npc/TraderRenderer.java similarity index 70% rename from src/main/java/com/minelittlepony/client/render/entity/RenderPonyTrader.java rename to src/main/java/com/minelittlepony/client/render/entity/npc/TraderRenderer.java index 4b6954bb..86f45d50 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/RenderPonyTrader.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/TraderRenderer.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.render.entity; +package com.minelittlepony.client.render.entity.npc; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.util.math.MatrixStack; @@ -7,12 +7,14 @@ import net.minecraft.util.Identifier; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.race.ModelAlicorn; +import com.minelittlepony.client.render.entity.PonyRenderer; +import com.minelittlepony.client.render.entity.PonyRenderer.Caster; -public class RenderPonyTrader extends RenderPonyMob.Caster> { +public class TraderRenderer extends PonyRenderer.Caster> { public static final Identifier TEXTURE = new Identifier("minelittlepony", "textures/entity/wandering_trader_pony.png"); - public RenderPonyTrader(EntityRenderDispatcher manager) { + public TraderRenderer(EntityRenderDispatcher manager) { super(manager, ModelType.ALICORN.getKey(false)); } diff --git a/src/main/java/com/minelittlepony/client/settings/ClientPonyConfig.java b/src/main/java/com/minelittlepony/client/settings/ClientPonyConfig.java index e77b2305..c2b9ec5d 100644 --- a/src/main/java/com/minelittlepony/client/settings/ClientPonyConfig.java +++ b/src/main/java/com/minelittlepony/client/settings/ClientPonyConfig.java @@ -3,7 +3,7 @@ package com.minelittlepony.client.settings; import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; -import com.minelittlepony.client.render.entity.MobRenderers; +import com.minelittlepony.client.render.MobRenderers; import com.minelittlepony.common.client.gui.VisibilityMode; import com.minelittlepony.common.util.settings.Setting; import com.minelittlepony.settings.PonyConfig; @@ -19,7 +19,7 @@ public class ClientPonyConfig extends PonyConfig { public ClientPonyConfig(Path path) { super(path); - MobRenderers.registry.forEach(r -> value(r.name().toLowerCase(), true)); + MobRenderers.REGISTRY.values().forEach(r -> value(r.name, true)); } @Override