lay out most of the possible properties
This commit is contained in:
parent
09def38142
commit
01f1723b71
1 changed files with 155 additions and 6 deletions
|
@ -31,6 +31,21 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
||||||
registerType("name", Component.class);
|
registerType("name", Component.class);
|
||||||
registerType("look", false);
|
registerType("look", false);
|
||||||
|
|
||||||
|
registerType("helmet", ItemStack.class);
|
||||||
|
registerType("chestplate", ItemStack.class);
|
||||||
|
registerType("leggings", ItemStack.class);
|
||||||
|
registerType("boots", ItemStack.class);
|
||||||
|
registerType("hand", ItemStack.class);
|
||||||
|
registerType("offhand", ItemStack.class);
|
||||||
|
|
||||||
|
registerType("crouched", false); // TODO
|
||||||
|
registerType("using_item", false); // TODO: Eating/Drinking/Blocking with sword/etc
|
||||||
|
registerType("potion_color", 0xFFFFFF); // TODO
|
||||||
|
registerType("potion_ambient", false); // TODO
|
||||||
|
registerType("shaking", false); // TODO: Set the "ticks frozen in powdered snow" meta to 140 to get the entity to shake
|
||||||
|
registerType("baby", false); // TODO
|
||||||
|
|
||||||
|
// Player
|
||||||
registerType("skin_cape", true);
|
registerType("skin_cape", true);
|
||||||
registerType("skin_jacket", true);
|
registerType("skin_jacket", true);
|
||||||
registerType("skin_left_sleeve", true);
|
registerType("skin_left_sleeve", true);
|
||||||
|
@ -39,12 +54,145 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
||||||
registerType("skin_right_leg", true);
|
registerType("skin_right_leg", true);
|
||||||
registerType("skin_hat", true);
|
registerType("skin_hat", true);
|
||||||
|
|
||||||
registerType("helmet", ItemStack.class);
|
// End Crystal
|
||||||
registerType("chestplate", ItemStack.class);
|
registerType("beam_target", null); // TODO: Make a block pos class for this
|
||||||
registerType("leggings", ItemStack.class);
|
registerType("show_base", true); // TODO
|
||||||
registerType("boots", ItemStack.class);
|
|
||||||
registerType("hand", ItemStack.class);
|
// Armor Stand
|
||||||
registerType("offhand", ItemStack.class);
|
registerType("small", false); // TODO
|
||||||
|
registerType("arms", false); // TODO
|
||||||
|
registerType("base_plate", true); // TODO
|
||||||
|
|
||||||
|
// TODO: Make a vector3f class for all of these
|
||||||
|
registerType("head_rotation", null); // TODO
|
||||||
|
registerType("body_rotation", null); // TODO
|
||||||
|
registerType("left_arm_rotation", null); // TODO
|
||||||
|
registerType("right_arm_rotation", null); // TODO
|
||||||
|
registerType("left_leg_rotation", null); // TODO
|
||||||
|
registerType("right_leg_rotation", null); // TODO
|
||||||
|
|
||||||
|
// Bat
|
||||||
|
registerType("hanging", false); // TODO
|
||||||
|
|
||||||
|
// Pufferfish
|
||||||
|
registerType("puff_state", null); // TODO: Make a puff state enum class
|
||||||
|
|
||||||
|
// Tropical Fish
|
||||||
|
registerType("tropical_fish_variant", null); // TODO: Maybe make an enum class for this? its just an int on wiki.vg
|
||||||
|
|
||||||
|
// Sniffer
|
||||||
|
registerType("sniffer_state", null); // TODO: Nothing on wiki.vg, look in mc source
|
||||||
|
|
||||||
|
// Horse
|
||||||
|
registerType("horse_style", 0); // TODO: Figure this out
|
||||||
|
registerType("horse_chest", false); // TODO
|
||||||
|
registerType("horse_saddle", false); // TODO
|
||||||
|
|
||||||
|
// LLama
|
||||||
|
registerType("carpet_color", -1); // TODO
|
||||||
|
registerType("llama_variant", 0); // TODO
|
||||||
|
|
||||||
|
// Axolotl
|
||||||
|
registerType("axolotl_variant", 0); // TODO
|
||||||
|
registerType("playing_dead", false); // TODO
|
||||||
|
|
||||||
|
// Bee
|
||||||
|
registerType("angry", false); // TODO
|
||||||
|
registerType("has_nectar", false); // TODO
|
||||||
|
|
||||||
|
// Fox
|
||||||
|
registerType("fox_variant", 0); // TODO: 0 = red, 1 = snow
|
||||||
|
registerType("fox_sitting", false); // TODO
|
||||||
|
registerType("fox_crouching", false); // TODO
|
||||||
|
registerType("fox_sleeping", false); // TODO
|
||||||
|
registerType("fox_faceplanting", false); // TODO
|
||||||
|
|
||||||
|
// Frog
|
||||||
|
registerType("frog_type", null); // TODO: It has a custom type read on wiki.vg
|
||||||
|
|
||||||
|
// Panda
|
||||||
|
registerType("panda_sneezing", false); // TODO
|
||||||
|
registerType("panda_rolling", false); // TODO
|
||||||
|
registerType("panda_sitting", false); // TODO
|
||||||
|
registerType("panda_on_back", false); // TODO
|
||||||
|
|
||||||
|
// Pig
|
||||||
|
registerType("pig_saddle", false); // TODO
|
||||||
|
|
||||||
|
// Rabbit
|
||||||
|
registerType("rabbit_type", 0); // TODO: Figure this out
|
||||||
|
|
||||||
|
// Polar Bear
|
||||||
|
registerType("polar_bear_standing", false); // TODO
|
||||||
|
|
||||||
|
// Sheep
|
||||||
|
registerType("sheep_color", 0); // TODO: Figure this out
|
||||||
|
registerType("sheep_sheared", false); // TODO
|
||||||
|
|
||||||
|
// Strider
|
||||||
|
registerType("strider_shaking", false); // TODO
|
||||||
|
registerType("strider_saddle", false); // TODO
|
||||||
|
|
||||||
|
// Cat
|
||||||
|
registerType("cat_variant", null); // TODO: Custom type
|
||||||
|
registerType("cat_laying", false); // TODO
|
||||||
|
registerType("cat_collar_color", 14); // TODO
|
||||||
|
|
||||||
|
// Wolf
|
||||||
|
registerType("wolf_collar_color", 14); // TODO
|
||||||
|
registerType("wolf_angry", false); // TODO
|
||||||
|
|
||||||
|
// Parrot
|
||||||
|
registerType("parrot_variant", 0); // TODO
|
||||||
|
|
||||||
|
// Villager
|
||||||
|
registerType("villager_ethnicity", 1); // TODO: how tf does this work? probably need to look in mc src
|
||||||
|
registerType("villager_job", null); // TODO
|
||||||
|
|
||||||
|
// Show Golem
|
||||||
|
registerType("pumpkin", true); // TODO
|
||||||
|
|
||||||
|
// Shulker
|
||||||
|
registerType("attach_direction", null); // TODO: make a direction enum
|
||||||
|
registerType("shield_height", 0); // TODO: figure this out
|
||||||
|
registerType("shulker_color", 10); // TODO
|
||||||
|
|
||||||
|
// Piglin / Hoglin
|
||||||
|
registerType("immune_to_zombification", false); // TODO
|
||||||
|
|
||||||
|
// Piglin
|
||||||
|
registerType("piglin_dancing", false); // TODO
|
||||||
|
registerType("piglin_charging_crossbow", false); // TODO
|
||||||
|
|
||||||
|
// Blaze
|
||||||
|
registerType("blaze_is_on_fire", false); // TODO
|
||||||
|
|
||||||
|
// Creeper
|
||||||
|
registerType("creeper_state", null); // TODO: -1 = idle, 1 = fuse
|
||||||
|
registerType("creeper_charged", false); // TODO
|
||||||
|
|
||||||
|
// Goat
|
||||||
|
registerType("has_left_horn", true); // TODO
|
||||||
|
registerType("has_right_horn", true); // TODO
|
||||||
|
|
||||||
|
// Vindicator
|
||||||
|
registerType("celebrating", false); // TODO
|
||||||
|
|
||||||
|
// Wither
|
||||||
|
registerType("invulnerable_time", 0); // TODO
|
||||||
|
|
||||||
|
// Enderman
|
||||||
|
registerType("enderman_held_block", null); // TODO: figure out the type on this
|
||||||
|
registerType("enderman_screaming", false); // TODO
|
||||||
|
|
||||||
|
// Ghast
|
||||||
|
registerType("attacking", false); // TODO
|
||||||
|
|
||||||
|
// Phantom
|
||||||
|
registerType("phantom_size", 0); // TODO
|
||||||
|
|
||||||
|
// Slime
|
||||||
|
registerType("slime_size", 0); // TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerSerializer(PropertySerializer<?> serializer) {
|
private void registerSerializer(PropertySerializer<?> serializer) {
|
||||||
|
@ -60,6 +208,7 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T> void registerType(String name, T defaultValue, Class<T> clazz) {
|
private <T> void registerType(String name, T defaultValue, Class<T> clazz) {
|
||||||
|
if (clazz == null) return;
|
||||||
EntityPropertyImpl<T> property = new EntityPropertyImpl<>(name, defaultValue, clazz, (PropertySerializer<T>) serializerMap.get(clazz));
|
EntityPropertyImpl<T> property = new EntityPropertyImpl<>(name, defaultValue, clazz, (PropertySerializer<T>) serializerMap.get(clazz));
|
||||||
byName.put(name.toLowerCase(), property);
|
byName.put(name.toLowerCase(), property);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue