diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java index 115857fb..f56961e7 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java @@ -24,11 +24,14 @@ abstract class AbstractNpcRenderer private final Map>> models = new HashMap<>(); + private final NpcClothingFeature, AbstractNpcRenderer> clothing; + public AbstractNpcRenderer(EntityRendererFactory.Context context, String type, TextureSupplier formatter) { super(context, ModelType.getPlayerModel(Race.EARTH).getKey(false)); entityType = type; baseTextures = new PonyTextures<>(formatter); - addFeature(new NpcClothingFeature<>(this, entityType)); + clothing = new NpcClothingFeature<>(this, entityType); + addFeature(clothing); } @Override @@ -73,7 +76,7 @@ abstract class AbstractNpcRenderer @Override public Identifier getDefaultTexture(T villager, Wearable wearable) { if (wearable == Wearable.SADDLE_BAGS) { - return NpcClothingFeature.getClothingTexture(villager, entityType); + return clothing.createTexture(villager, "accessory"); } return super.getDefaultTexture(villager, wearable); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java b/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java index 1c4538fc..abeb2c15 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java @@ -45,14 +45,21 @@ class NpcClothingFeature< entityType = type; } + @Deprecated(forRemoval = true) public static Identifier getClothingTexture(VillagerDataContainer entity, String entityType) { VillagerProfession profession = entity.getVillagerData().getProfession(); return createTexture("minelittlepony", entityType, "profession", Registry.VILLAGER_PROFESSION.getId(profession)); } - public static Identifier createTexture(String namespace, String entityType, String category, Identifier identifier) { - return new Identifier(namespace, String.format("textures/entity/%s/%s/%s.png", entityType, category, identifier.getPath())); + public static Identifier createTexture(String namespace, String entityType, String category, Identifier profession) { + return new Identifier(namespace, String.format("textures/entity/%s/%s/%s.png", entityType, category, profession.getPath())); + } + + public Identifier createTexture(VillagerDataContainer entity, String category) { + VillagerProfession profession = entity.getVillagerData().getProfession(); + + return createTexture(category, Registry.VILLAGER_PROFESSION.getId(profession)); } public Identifier createTexture(String category, Identifier identifier) { diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/butcher.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/butcher.png new file mode 100644 index 00000000..a37be1c4 Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/butcher.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/cartographer.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/cartographer.png new file mode 100644 index 00000000..8689dde3 Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/cartographer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/farmer.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/farmer.png new file mode 100644 index 00000000..f932177c Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/farmer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/fisherman.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/fisherman.png new file mode 100644 index 00000000..f932177c Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/fisherman.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/leatherworker.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/leatherworker.png new file mode 100644 index 00000000..a37be1c4 Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/leatherworker.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/librarian.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/librarian.png new file mode 100644 index 00000000..8689dde3 Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/librarian.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/nitwit.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/nitwit.png new file mode 100644 index 00000000..a37be1c4 Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/nitwit.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/shepherd.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/shepherd.png new file mode 100644 index 00000000..f932177c Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/villager/accessory/shepherd.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/butcher.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/butcher.png index 6f9e1bb0..8ae4fde0 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/butcher.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/butcher.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/cartographer.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/cartographer.png index bde29102..3ff04700 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/cartographer.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/cartographer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/farmer.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/farmer.png index 89218d5e..2a21b8d8 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/farmer.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/farmer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/fisherman.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/fisherman.png index 89218d5e..2a21b8d8 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/fisherman.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/fisherman.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/leatherworker.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/leatherworker.png index 6f9e1bb0..8ae4fde0 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/leatherworker.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/leatherworker.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/librarian.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/librarian.png index bde29102..3ff04700 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/librarian.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/librarian.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/nitwit.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/nitwit.png index 6f9e1bb0..8ae4fde0 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/nitwit.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/nitwit.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/shepherd.png b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/shepherd.png index 8aefd55d..5c7b6c2d 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/shepherd.png and b/src/main/resources/assets/minelittlepony/textures/entity/villager/profession/shepherd.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/butcher.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/butcher.png new file mode 100644 index 00000000..562d88ae Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/butcher.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/cartographer.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/cartographer.png new file mode 100644 index 00000000..921c599f Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/cartographer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/farmer.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/farmer.png new file mode 100644 index 00000000..077b0dfb Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/farmer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/fisherman.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/fisherman.png new file mode 100644 index 00000000..077b0dfb Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/fisherman.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/leatherworker.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/leatherworker.png new file mode 100644 index 00000000..562d88ae Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/leatherworker.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/librarian.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/librarian.png new file mode 100644 index 00000000..921c599f Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/librarian.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/nitwit.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/nitwit.png new file mode 100644 index 00000000..562d88ae Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/nitwit.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/shepherd.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/shepherd.png new file mode 100644 index 00000000..077b0dfb Binary files /dev/null and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/accessory/shepherd.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/butcher.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/butcher.png index c5b667d5..642cfe9b 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/butcher.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/butcher.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/cartographer.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/cartographer.png index 67020a39..20316f9b 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/cartographer.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/cartographer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/farmer.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/farmer.png index 2c82733d..72528c89 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/farmer.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/farmer.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/fisherman.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/fisherman.png index 2c82733d..72528c89 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/fisherman.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/fisherman.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/leatherworker.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/leatherworker.png index c5b667d5..642cfe9b 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/leatherworker.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/leatherworker.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/librarian.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/librarian.png index 67020a39..20316f9b 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/librarian.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/librarian.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/nitwit.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/nitwit.png index c5b667d5..642cfe9b 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/nitwit.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/nitwit.png differ diff --git a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/shepherd.png b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/shepherd.png index 2c82733d..72528c89 100644 Binary files a/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/shepherd.png and b/src/main/resources/assets/minelittlepony/textures/entity/zombie_villager/profession/shepherd.png differ