added llama properties
This commit is contained in:
parent
81b087628b
commit
2c601c450d
4 changed files with 24 additions and 10 deletions
|
@ -0,0 +1,8 @@
|
|||
package lol.pyr.znpcsplus.util;
|
||||
|
||||
public enum LlamaVariant {
|
||||
CREAMY,
|
||||
WHITE,
|
||||
BROWN,
|
||||
GRAY
|
||||
}
|
|
@ -270,6 +270,7 @@ public class ZNpcsPlus extends JavaPlugin {
|
|||
registerEnumParser(manager, HorseStyle.class, incorrectUsageMessage);
|
||||
registerEnumParser(manager, HorseColor.class, incorrectUsageMessage);
|
||||
registerEnumParser(manager, HorseArmor.class, incorrectUsageMessage);
|
||||
registerEnumParser(manager, LlamaVariant.class, incorrectUsageMessage);
|
||||
|
||||
manager.registerCommand("npc", new MultiCommand(loadHelpMessage("root"))
|
||||
.addSubcommand("create", new CreateCommand(npcRegistry, typeRegistry))
|
||||
|
|
|
@ -63,6 +63,7 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
|||
registerEnumSerializer(HorseColor.class);
|
||||
registerEnumSerializer(HorseStyle.class);
|
||||
registerEnumSerializer(HorseArmor.class);
|
||||
registerEnumSerializer(LlamaVariant.class);
|
||||
|
||||
/*
|
||||
registerType("using_item", false); // TODO: fix it for 1.8 and add new property to use offhand item and riptide animation
|
||||
|
@ -75,10 +76,6 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
|||
registerType("beam_target", null); // TODO: Make a block pos class for this
|
||||
registerType("show_base", true); // TODO
|
||||
|
||||
// Creeper
|
||||
registerType("creeper_state", CreeperState.IDLE);
|
||||
registerType("creeper_charged", false);
|
||||
|
||||
// Enderman
|
||||
registerType("enderman_held_block", new BlockState(0)); // TODO: figure out the type on this
|
||||
registerType("enderman_screaming", false); // TODO
|
||||
|
@ -96,10 +93,6 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
|||
// Sniffer
|
||||
registerType("sniffer_state", null); // TODO: Nothing on wiki.vg, look in mc source
|
||||
|
||||
// LLama
|
||||
registerType("carpet_color", DyeColor.class); // TODO
|
||||
registerType("llama_variant", 0); // TODO
|
||||
|
||||
// Panda
|
||||
registerType("panda_sneezing", false); // TODO
|
||||
registerType("panda_rolling", false); // TODO
|
||||
|
@ -347,6 +340,16 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
|||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_12)) spellIndex = 13;
|
||||
register(new EncodedByteProperty<>("spell", SpellType.NONE, spellIndex, obj -> (byte) Math.min(obj.ordinal(), ver.isOlderThan(ServerVersion.V_1_13) ? 3 : 5)));
|
||||
|
||||
// Llama
|
||||
int llamaIndex;
|
||||
if (ver.isNewerThanOrEquals(ServerVersion.V_1_18)) llamaIndex = 20;
|
||||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_17)) llamaIndex = 21;
|
||||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_15)) llamaIndex = 20;
|
||||
else if (ver.isNewerThanOrEquals(ServerVersion.V_1_14)) llamaIndex = 19;
|
||||
else llamaIndex = 17;
|
||||
register(new EncodedIntegerProperty<DyeColor>("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_14)) return;
|
||||
// Pose
|
||||
register(new NpcPoseProperty());
|
||||
|
|
|
@ -202,7 +202,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
|
|||
.addProperties("evoker_spell"));
|
||||
|
||||
register(builder(p, "llama", EntityTypes.LLAMA)
|
||||
.setHologramOffset(-0.105));
|
||||
.setHologramOffset(-0.105)
|
||||
.addProperties("carpet_color", "llama_variant"));
|
||||
|
||||
register(builder(p, "vex", EntityTypes.VEX)
|
||||
.setHologramOffset(-1.175)
|
||||
|
@ -276,7 +277,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
|
|||
.setHologramOffset(0.225));
|
||||
|
||||
register(builder(p, "trader_llama", EntityTypes.TRADER_LLAMA)
|
||||
.setHologramOffset(-0.105));
|
||||
.setHologramOffset(-0.105)
|
||||
.addProperties("llama_variant"));
|
||||
|
||||
register(builder(p, "wandering_trader", EntityTypes.WANDERING_TRADER)
|
||||
.setHologramOffset(-0.025)
|
||||
|
|
Loading…
Reference in a new issue