From 6faf0a3e93ccfba433760e0a19cafd45868c885f Mon Sep 17 00:00:00 2001 From: D3v1s0m Date: Mon, 2 Oct 2023 10:15:18 +0530 Subject: [PATCH] added sheep_color and sheep_sheared properties --- .../znpcsplus/entity/EntityPropertyRegistryImpl.java | 12 ++++++++++++ .../lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) 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 fd896f3..dacfb60 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java @@ -350,6 +350,18 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry { else rabbitIndex = 18; register(new RabbitTypeProperty(rabbitIndex, legacyBooleans, legacyNames, optionalComponents)); + // Sheep + int sheepIndex; + if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) sheepIndex = 17; + else if (ver.isNewerThanOrEquals(ServerVersion.V_1_15)) sheepIndex = 16; + else if (ver.isNewerThanOrEquals(ServerVersion.V_1_14)) sheepIndex = 15; + else if (ver.isNewerThanOrEquals(ServerVersion.V_1_10)) sheepIndex = 13; + else if (ver.isNewerThanOrEquals(ServerVersion.V_1_9)) sheepIndex = 12; + else sheepIndex = 16; + // noinspection deprecation + register(new EncodedByteProperty<>("sheep_color", DyeColor.WHITE, sheepIndex, DyeColor::getWoolData)); + register(new BitsetProperty("sheep_sheared", sheepIndex, 0x10, false, legacyBooleans)); // no need to link because sheep_sheared is only visible when sheep_color is WHITE + if (!ver.isNewerThanOrEquals(ServerVersion.V_1_10)) return; // Polar Bear int polarBearIndex; 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 eee788f..9983c2a 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java @@ -119,7 +119,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry { .addProperties("rabbit_type")); register(builder(p, "sheep", EntityTypes.SHEEP) - .setHologramOffset(-0.675)); + .setHologramOffset(-0.675) + .addProperties("sheep_color", "sheep_sheared")); register(builder(p, "silverfish", EntityTypes.SILVERFISH) .setHologramOffset(-1.675));