package com.destroystokyo.paper.entity.ai; import com.destroystokyo.paper.entity.RangedEntity; import io.papermc.paper.entity.SchoolableFish; import io.papermc.paper.generated.GeneratedFrom; import org.bukkit.NamespacedKey; import org.bukkit.entity.AbstractHorse; import org.bukkit.entity.AbstractSkeleton; import org.bukkit.entity.AbstractVillager; import org.bukkit.entity.Animals; import org.bukkit.entity.Bee; import org.bukkit.entity.Blaze; import org.bukkit.entity.Cat; import org.bukkit.entity.Creature; import org.bukkit.entity.Creeper; import org.bukkit.entity.Dolphin; import org.bukkit.entity.Drowned; import org.bukkit.entity.Enderman; import org.bukkit.entity.Evoker; import org.bukkit.entity.Fish; import org.bukkit.entity.Fox; import org.bukkit.entity.Ghast; import org.bukkit.entity.Guardian; import org.bukkit.entity.Illager; import org.bukkit.entity.Illusioner; import org.bukkit.entity.IronGolem; import org.bukkit.entity.Llama; import org.bukkit.entity.Mob; import org.bukkit.entity.Monster; import org.bukkit.entity.Ocelot; import org.bukkit.entity.Panda; import org.bukkit.entity.Parrot; import org.bukkit.entity.Phantom; import org.bukkit.entity.PolarBear; import org.bukkit.entity.PufferFish; import org.bukkit.entity.Rabbit; import org.bukkit.entity.Raider; import org.bukkit.entity.Shulker; import org.bukkit.entity.Silverfish; import org.bukkit.entity.SkeletonHorse; import org.bukkit.entity.Slime; import org.bukkit.entity.Spellcaster; import org.bukkit.entity.Spider; import org.bukkit.entity.Squid; import org.bukkit.entity.Strider; import org.bukkit.entity.Tameable; import org.bukkit.entity.Turtle; import org.bukkit.entity.Vex; import org.bukkit.entity.Vindicator; import org.bukkit.entity.WanderingTrader; import org.bukkit.entity.Wither; import org.bukkit.entity.Wolf; import org.bukkit.entity.Zombie; import org.jspecify.annotations.NullMarked; /** * Vanilla keys for Mob Goals. * * @apiNote The fields provided here are a direct representation of * what is available from the vanilla game source. They may be * changed (including removals) on any Minecraft version * bump, so cross-version compatibility is not provided on the * same level as it is on most of the other API. */ @SuppressWarnings({ "unused", "SpellCheckingInspection" }) @GeneratedFrom("1.21.3") @NullMarked public interface VanillaGoal extends Goal { GoalKey RANDOM_STAND = create("random_stand", AbstractHorse.class); GoalKey RUN_AROUND_LIKE_CRAZY = create("run_around_like_crazy", AbstractHorse.class); GoalKey ABSTRACT_SKELETON_MELEE = create("abstract_skeleton_melee", AbstractSkeleton.class); GoalKey LOOK_AT_TRADING_PLAYER = create("look_at_trading_player", AbstractVillager.class); GoalKey TRADE_WITH_PLAYER = create("trade_with_player", AbstractVillager.class); GoalKey BREED = create("breed", Animals.class); GoalKey FOLLOW_PARENT = create("follow_parent", Animals.class); GoalKey BEE_ATTACK = create("bee_attack", Bee.class); GoalKey BEE_BECOME_ANGRY = create("bee_become_angry", Bee.class); GoalKey BEE_ENTER_HIVE = create("bee_enter_hive", Bee.class); GoalKey BEE_GO_TO_HIVE = create("bee_go_to_hive", Bee.class); GoalKey BEE_GO_TO_KNOWN_FLOWER = create("bee_go_to_known_flower", Bee.class); GoalKey BEE_GROW_CROP = create("bee_grow_crop", Bee.class); GoalKey BEE_HURT_BY_OTHER = create("bee_hurt_by_other", Bee.class); GoalKey BEE_LOCATE_HIVE = create("bee_locate_hive", Bee.class); GoalKey BEE_POLLINATE = create("bee_pollinate", Bee.class); GoalKey BEE_WANDER = create("bee_wander", Bee.class); GoalKey VALIDATE_FLOWER = create("validate_flower", Bee.class); GoalKey VALIDATE_HIVE = create("validate_hive", Bee.class); GoalKey BLAZE_ATTACK = create("blaze_attack", Blaze.class); GoalKey CAT_AVOID_ENTITY = create("cat_avoid_entity", Cat.class); GoalKey CAT_LIE_ON_BED = create("cat_lie_on_bed", Cat.class); GoalKey CAT_RELAX_ON_OWNER = create("cat_relax_on_owner", Cat.class); GoalKey CAT_SIT_ON_BLOCK = create("cat_sit_on_block", Cat.class); GoalKey CAT_TEMPT = create("cat_tempt", Cat.class); GoalKey AVOID_ENTITY = create("avoid_entity", Creature.class); GoalKey BREATH_AIR = create("breath_air", Creature.class); GoalKey DROWNED_GO_TO_WATER = create("drowned_go_to_water", Creature.class); GoalKey FLEE_SUN = create("flee_sun", Creature.class); GoalKey FOLLOW_BOAT = create("follow_boat", Creature.class); GoalKey GOLEM_RANDOM_STROLL_IN_VILLAGE = create("golem_random_stroll_in_village", Creature.class); GoalKey HURT_BY = create("hurt_by", Creature.class); GoalKey MELEE_ATTACK = create("melee_attack", Creature.class); GoalKey MOVE_BACK_TO_VILLAGE = create("move_back_to_village", Creature.class); GoalKey MOVE_THROUGH_VILLAGE = create("move_through_village", Creature.class); GoalKey MOVE_TOWARDS = create("move_towards", Creature.class); GoalKey MOVE_TOWARDS_RESTRICTION = create("move_towards_restriction", Creature.class); GoalKey PANIC = create("panic", Creature.class); GoalKey PARROT_WANDER = create("parrot_wander", Creature.class); GoalKey RANDOM_STROLL = create("random_stroll", Creature.class); GoalKey RANDOM_SWIMMING = create("random_swimming", Creature.class); GoalKey REMOVE_BLOCK = create("remove_block", Creature.class); GoalKey RESTRICT_SUN = create("restrict_sun", Creature.class); GoalKey STROLL_THROUGH_VILLAGE = create("stroll_through_village", Creature.class); GoalKey TEMPT = create("tempt", Creature.class); GoalKey TRY_FIND_WATER = create("try_find_water", Creature.class); GoalKey WATER_AVOIDING_RANDOM_FLYING = create("water_avoiding_random_flying", Creature.class); GoalKey WATER_AVOIDING_RANDOM_STROLL = create("water_avoiding_random_stroll", Creature.class); GoalKey SWELL = create("swell", Creeper.class); GoalKey DOLPHIN_JUMP = create("dolphin_jump", Dolphin.class); GoalKey DOLPHIN_SWIM_TO_TREASURE = create("dolphin_swim_to_treasure", Dolphin.class); GoalKey DOLPHIN_SWIM_WITH_PLAYER = create("dolphin_swim_with_player", Dolphin.class); GoalKey PLAY_WITH_ITEMS = create("play_with_items", Dolphin.class); GoalKey DROWNED_ATTACK = create("drowned_attack", Drowned.class); GoalKey DROWNED_GO_TO_BEACH = create("drowned_go_to_beach", Drowned.class); GoalKey DROWNED_SWIM_UP = create("drowned_swim_up", Drowned.class); GoalKey ENDERMAN_FREEZE_WHEN_LOOKED_AT = create("enderman_freeze_when_looked_at", Enderman.class); GoalKey ENDERMAN_LEAVE_BLOCK = create("enderman_leave_block", Enderman.class); GoalKey ENDERMAN_LOOK_FOR_PLAYER = create("enderman_look_for_player", Enderman.class); GoalKey ENDERMAN_TAKE_BLOCK = create("enderman_take_block", Enderman.class); GoalKey EVOKER_ATTACK_SPELL = create("evoker_attack_spell", Evoker.class); GoalKey EVOKER_CASTING_SPELL = create("evoker_casting_spell", Evoker.class); GoalKey EVOKER_SUMMON_SPELL = create("evoker_summon_spell", Evoker.class); GoalKey EVOKER_WOLOLO_SPELL = create("evoker_wololo_spell", Evoker.class); GoalKey FISH_SWIM = create("fish_swim", Fish.class); GoalKey DEFEND_TRUSTED = create("defend_trusted", Fox.class); GoalKey FACEPLANT = create("faceplant", Fox.class); GoalKey FOX_BREED = create("fox_breed", Fox.class); GoalKey FOX_EAT_BERRIES = create("fox_eat_berries", Fox.class); GoalKey FOX_FLOAT = create("fox_float", Fox.class); GoalKey FOX_FOLLOW_PARENT = create("fox_follow_parent", Fox.class); GoalKey FOX_LOOK_AT_PLAYER = create("fox_look_at_player", Fox.class); GoalKey FOX_MELEE_ATTACK = create("fox_melee_attack", Fox.class); GoalKey FOX_PANIC = create("fox_panic", Fox.class); GoalKey FOX_POUNCE = create("fox_pounce", Fox.class); GoalKey FOX_SEARCH_FOR_ITEMS = create("fox_search_for_items", Fox.class); GoalKey FOX_STROLL_THROUGH_VILLAGE = create("fox_stroll_through_village", Fox.class); GoalKey PERCH_AND_SEARCH = create("perch_and_search", Fox.class); GoalKey SEEK_SHELTER = create("seek_shelter", Fox.class); GoalKey SLEEP = create("sleep", Fox.class); GoalKey STALK_PREY = create("stalk_prey", Fox.class); GoalKey GHAST_LOOK = create("ghast_look", Ghast.class); GoalKey GHAST_SHOOT_FIREBALL = create("ghast_shoot_fireball", Ghast.class); GoalKey RANDOM_FLOAT_AROUND = create("random_float_around", Ghast.class); GoalKey GUARDIAN_ATTACK = create("guardian_attack", Guardian.class); GoalKey RAIDER_OPEN_DOOR = create("raider_open_door", Illager.class); GoalKey ILLUSIONER_BLINDNESS_SPELL = create("illusioner_blindness_spell", Illusioner.class); GoalKey ILLUSIONER_MIRROR_SPELL = create("illusioner_mirror_spell", Illusioner.class); GoalKey DEFEND_VILLAGE = create("defend_village", IronGolem.class); GoalKey OFFER_FLOWER = create("offer_flower", IronGolem.class); GoalKey LLAMA_ATTACK_WOLF = create("llama_attack_wolf", Llama.class); GoalKey LLAMA_FOLLOW_CARAVAN = create("llama_follow_caravan", Llama.class); GoalKey LLAMA_HURT_BY = create("llama_hurt_by", Llama.class); GoalKey TRADER_LLAMA_DEFEND_WANDERING_TRADER = create("trader_llama_defend_wandering_trader", Llama.class); GoalKey BREAK_DOOR = create("break_door", Mob.class); GoalKey CLIMB_ON_TOP_OF_POWDER_SNOW = create("climb_on_top_of_powder_snow", Mob.class); GoalKey EAT_BLOCK = create("eat_block", Mob.class); GoalKey FLOAT = create("float", Mob.class); GoalKey FOLLOW_MOB = create("follow_mob", Mob.class); GoalKey INTERACT = create("interact", Mob.class); GoalKey LEAP_AT = create("leap_at", Mob.class); GoalKey LOOK_AT_PLAYER = create("look_at_player", Mob.class); GoalKey NEAREST_ATTACKABLE = create("nearest_attackable", Mob.class); GoalKey OCELOT_ATTACK = create("ocelot_attack", Mob.class); GoalKey OPEN_DOOR = create("open_door", Mob.class); GoalKey RANDOM_LOOK_AROUND = create("random_look_around", Mob.class); GoalKey RESET_UNIVERSAL_ANGER = create("reset_universal_anger", Mob.class); GoalKey USE_ITEM = create("use_item", Mob.class); GoalKey VINDICATOR_BREAK_DOOR = create("vindicator_break_door", Mob.class); GoalKey RANGED_BOW_ATTACK = create("ranged_bow_attack", Monster.class); GoalKey RANGED_CROSSBOW_ATTACK = create("ranged_crossbow_attack", Monster.class); GoalKey OCELOT_AVOID_ENTITY = create("ocelot_avoid_entity", Ocelot.class); GoalKey OCELOT_TEMPT = create("ocelot_tempt", Ocelot.class); GoalKey PANDA_ATTACK = create("panda_attack", Panda.class); GoalKey PANDA_AVOID = create("panda_avoid", Panda.class); GoalKey PANDA_BREED = create("panda_breed", Panda.class); GoalKey PANDA_HURT_BY = create("panda_hurt_by", Panda.class); GoalKey PANDA_LIE_ON_BACK = create("panda_lie_on_back", Panda.class); GoalKey PANDA_LOOK_AT_PLAYER = create("panda_look_at_player", Panda.class); GoalKey PANDA_PANIC = create("panda_panic", Panda.class); GoalKey PANDA_ROLL = create("panda_roll", Panda.class); GoalKey PANDA_SIT = create("panda_sit", Panda.class); GoalKey PANDA_SNEEZE = create("panda_sneeze", Panda.class); GoalKey LAND_ON_OWNERS_SHOULDER = create("land_on_owners_shoulder", Parrot.class); GoalKey PHANTOM_ATTACK_PLAYER = create("phantom_attack_player", Phantom.class); GoalKey PHANTOM_ATTACK_STRATEGY = create("phantom_attack_strategy", Phantom.class); GoalKey PHANTOM_CIRCLE_AROUND_ANCHOR = create("phantom_circle_around_anchor", Phantom.class); GoalKey PHANTOM_SWEEP_ATTACK = create("phantom_sweep_attack", Phantom.class); GoalKey POLAR_BEAR_ATTACK_PLAYERS = create("polar_bear_attack_players", PolarBear.class); GoalKey POLAR_BEAR_HURT_BY = create("polar_bear_hurt_by", PolarBear.class); GoalKey POLAR_BEAR_MELEE_ATTACK = create("polar_bear_melee_attack", PolarBear.class); GoalKey PUFFERFISH_PUFF = create("pufferfish_puff", PufferFish.class); GoalKey RABBIT_AVOID_ENTITY = create("rabbit_avoid_entity", Rabbit.class); GoalKey RABBIT_PANIC = create("rabbit_panic", Rabbit.class); GoalKey RAID_GARDEN = create("raid_garden", Rabbit.class); GoalKey HOLD_GROUND_ATTACK = create("hold_ground_attack", Raider.class); GoalKey LONG_DISTANCE_PATROL = create("long_distance_patrol", Raider.class); GoalKey NEAREST_ATTACKABLE_WITCH = create("nearest_attackable_witch", Raider.class); GoalKey NEAREST_HEALABLE_RAIDER = create("nearest_healable_raider", Raider.class); GoalKey OBTAIN_RAID_LEADER_BANNER = create("obtain_raid_leader_banner", Raider.class); GoalKey PATHFIND_TO_RAID = create("pathfind_to_raid", Raider.class); GoalKey RAIDER_CELEBRATION = create("raider_celebration", Raider.class); GoalKey RAIDER_MOVE_THROUGH_VILLAGE = create("raider_move_through_village", Raider.class); GoalKey DROWNED_TRIDENT_ATTACK = create("drowned_trident_attack", RangedEntity.class); GoalKey RANGED_ATTACK = create("ranged_attack", RangedEntity.class); GoalKey FOLLOW_FLOCK_LEADER = create("follow_flock_leader", SchoolableFish.class); GoalKey SHULKER_ATTACK = create("shulker_attack", Shulker.class); GoalKey SHULKER_DEFENSE_ATTACK = create("shulker_defense_attack", Shulker.class); GoalKey SHULKER_NEAREST_ATTACK = create("shulker_nearest_attack", Shulker.class); GoalKey SHULKER_PEEK = create("shulker_peek", Shulker.class); GoalKey SILVERFISH_MERGE_WITH_STONE = create("silverfish_merge_with_stone", Silverfish.class); GoalKey SILVERFISH_WAKE_UP_FRIENDS = create("silverfish_wake_up_friends", Silverfish.class); GoalKey SKELETON_TRAP = create("skeleton_trap", SkeletonHorse.class); GoalKey SLIME_ATTACK = create("slime_attack", Slime.class); GoalKey SLIME_FLOAT = create("slime_float", Slime.class); GoalKey SLIME_KEEP_ON_JUMPING = create("slime_keep_on_jumping", Slime.class); GoalKey SLIME_RANDOM_DIRECTION = create("slime_random_direction", Slime.class); GoalKey SPELLCASTER_CASTING_SPELL = create("spellcaster_casting_spell", Spellcaster.class); GoalKey SPIDER = create("spider", Spider.class); GoalKey SPIDER_ATTACK = create("spider_attack", Spider.class); GoalKey SQUID_FLEE = create("squid_flee", Squid.class); GoalKey SQUID_RANDOM_MOVEMENT = create("squid_random_movement", Squid.class); GoalKey STRIDER_GO_TO_LAVA = create("strider_go_to_lava", Strider.class); GoalKey FOLLOW_OWNER = create("follow_owner", Tameable.class); GoalKey NON_TAME_RANDOM = create("non_tame_random", Tameable.class); GoalKey OWNER_HURT = create("owner_hurt", Tameable.class); GoalKey OWNER_HURT_BY = create("owner_hurt_by", Tameable.class); GoalKey SIT_WHEN_ORDERED_TO = create("sit_when_ordered_to", Tameable.class); GoalKey TAMABLE_ANIMAL_PANIC = create("tamable_animal_panic", Tameable.class); GoalKey TURTLE_BREED = create("turtle_breed", Turtle.class); GoalKey TURTLE_GO_HOME = create("turtle_go_home", Turtle.class); GoalKey TURTLE_GO_TO_WATER = create("turtle_go_to_water", Turtle.class); GoalKey TURTLE_LAY_EGG = create("turtle_lay_egg", Turtle.class); GoalKey TURTLE_PANIC = create("turtle_panic", Turtle.class); GoalKey TURTLE_RANDOM_STROLL = create("turtle_random_stroll", Turtle.class); GoalKey TURTLE_TRAVEL = create("turtle_travel", Turtle.class); GoalKey VEX_CHARGE_ATTACK = create("vex_charge_attack", Vex.class); GoalKey VEX_COPY_OWNER = create("vex_copy_owner", Vex.class); GoalKey VEX_RANDOM_MOVE = create("vex_random_move", Vex.class); GoalKey VINDICATOR_JOHNNY_ATTACK = create("vindicator_johnny_attack", Vindicator.class); GoalKey WANDER_TO_POSITION = create("wander_to_position", WanderingTrader.class); GoalKey WITHER_DO_NOTHING = create("wither_do_nothing", Wither.class); GoalKey BEG = create("beg", Wolf.class); GoalKey WOLF_AVOID_ENTITY = create("wolf_avoid_entity", Wolf.class); GoalKey ZOMBIE_ATTACK = create("zombie_attack", Zombie.class); GoalKey ZOMBIE_ATTACK_TURTLE_EGG = create("zombie_attack_turtle_egg", Zombie.class); private static GoalKey create(final String key, final Class type) { return GoalKey.of(type, NamespacedKey.minecraft(key)); } }