From bfbd883f033747b5cf83d4aae698b8ae1f15ce54 Mon Sep 17 00:00:00 2001 From: D3v1s0m Date: Tue, 12 Sep 2023 23:16:42 +0530 Subject: [PATCH] Added parrot_variant property --- .../main/java/lol/pyr/znpcsplus/util/ParrotVariant.java | 3 +-- .../pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java | 9 +++++++++ .../java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/api/src/main/java/lol/pyr/znpcsplus/util/ParrotVariant.java b/api/src/main/java/lol/pyr/znpcsplus/util/ParrotVariant.java index 5014e03..82d56b1 100644 --- a/api/src/main/java/lol/pyr/znpcsplus/util/ParrotVariant.java +++ b/api/src/main/java/lol/pyr/znpcsplus/util/ParrotVariant.java @@ -5,6 +5,5 @@ public enum ParrotVariant { BLUE, GREEN, YELLOW_BLUE, - GRAY, - NONE // only used to set empty nbt compound + GRAY } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java index 4c5b3b1..36c26ce 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java @@ -363,6 +363,15 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry { register(new EncodedIntegerProperty("carpet_color", DyeColor.class, llamaIndex++, obj -> obj == null ? -1 : obj.ordinal())); register(new EncodedIntegerProperty<>("llama_variant", LlamaVariant.CREAMY, llamaIndex, Enum::ordinal)); + if (!ver.isNewerThanOrEquals(ServerVersion.V_1_12)) return; + // Parrot + int parrotIndex; + if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) parrotIndex = 19; + else if (ver.isNewerThanOrEquals(ServerVersion.V_1_15)) parrotIndex = 18; + else if (ver.isNewerThanOrEquals(ServerVersion.V_1_14)) parrotIndex = 17; + else parrotIndex = 15; + register(new EncodedIntegerProperty<>("parrot_variant", ParrotVariant.RED_BLUE, parrotIndex, Enum::ordinal)); + if (!ver.isNewerThanOrEquals(ServerVersion.V_1_14)) return; // Pose register(new NpcPoseProperty()); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java index 288de67..5249a7f 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java @@ -227,7 +227,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry { .setHologramOffset(-0.025)); register(builder(p, "parrot", EntityTypes.PARROT) - .setHologramOffset(-1.075)); + .setHologramOffset(-1.075) + .addProperties("parrot_variant")); if (!version.isNewerThanOrEquals(ServerVersion.V_1_13)) return;