* temperament
* TargetMatch
* mob families
* target filter and untamed condition
* TODOs for mobs
* add unified fleeing and hunting targets
* fix some behaviours vanilla parity
* fix targeting fleeing conditions
* feline and sitting behaviour
* plugin events for mobs
* Hunt table
* potion undead apply
* effect and hunting bugs
* Enemy Monster class, fix rabbit flee, villager better flee, wither head fix player target
* more states
* MobVisibilityImpl trough all mob AI as komponent and reductions, SearchArea as cube, not sphere
* use default breed cooldown
* fix statistic, advancment, and gamerule breeding
* fix sit
* 100 tick recent count
* heal and instant health/harm effects liike vanilla no 0 panic
* arrow owner
* unify owner of projectiles
* TODO Vanilla Player.hurtServer difficulty scaling
* network decoder rejects mob_visibility value NaN
* is_sitting plugin pass
* Preserve missing owner fields during partial reads
* fox ai hunting
* fleeing escape path and goal timing
* follow updated contributing.md for mob ai
* fox inherit variant
* TRADER_LLAMA_HUNTS
* plugins_observe_entity_ticks
* Avoid a full owner lookup on repeated island-planning calls
* mob_visibility now uses the shared entity_idset_tokens helper
* moved the two getLastDamageSource doc lines back above
* reads health after the regain event
* disable killer bunny
* drop wheni not evil flee
* refactor
* implement already shared
* add explaination vanilla parity
* Expose the owner through Mob
* fix(ai): cover visibility-scaled player range in look-at reach
* fix(rabbit): restore killer bunny goals
* fix(ai): drop the cached target when a target change is cancelled
* fix(ai): keep the old target when a plugin cancels a target goal
---------
Co-authored-by: MegalithOfficial <gekocakaya@gmail.com>
* feat(data): generate block sound types and entity movement sounds
* feat(entity): port vanilla movement emission
* feat(data): generate sound type names
* feat(entity): port mob swim and step sounds
* feat(entity): port flapping mobs
* feat(entity): emit player movement sounds and events
* perf(worldgen): skip structure sets and skylight work a dimension cannot use
* perf(worldgen): compute each structure start once under concurrent requests
* perf(worldgen): reuse biome cell corner offsets along a column
* fix(entity): port vanilla entity save data
* fix(entity): restore leash knots and skip spawn rolls when loading mobs
* fix(entity): reapply equipment modifiers when loading mobs
* feat(block): dispense experience bottles as projectiles
* fix(entity): spawn experience orbs when bottles hit
* fix(entity): correct experience orb spawning and friction
* fix(entity): allow experience orbs to burn in fire and lava
* fix(build): update orb damage API usage and supply datapack to Nix
* fix(entity): free experience orbs spawned inside blocks
* fix(item): use the normal_use_with_hand for experience bottle throws
* fix(entity): use correct block lookup for experience orb friction
* fix(entity): correct world border check for experience orbs
* fix(entity): correct experience orb float suffixes
* fix(entity): check if orb damage is finite and positive
* feat(data): derive clone and debug for registry entry types in codegen
* feat(data): add comprehensive datapack loaders for all 26.3 runtime registries and tags
* feat(core): implement DynamicRegistryManager and unify dynamic registry usage
* inital commit
* read and write java
* standalone bool
* Interrupt pending login when this server stops
* only standalone marks as stopping
* embedded server dont starts console input
* Query, LAN broadcast and telemetry stop on own stop_token
* admission_closed
* embedded init logger dont wait
* listener setup errors to the embedding host
* fix tester give up after 10s
* fix(management): stop with the server's stop token
* refactor(server): pass standalone to PumpkinServer::new and reuse serve_java_connection in tester
* test(tester): cover stopping an embedded server over an in-memory connection
---------
Co-authored-by: MegalithOfficial <gekocakaya@gmail.com>
MobMetadata::collar_color always wrote wolf::COLLAR_COLOR (slot 21). On a
cat that slot is IS_LYING, a boolean, so Java clients disconnected with a
packet handling error as soon as a cat was tracked. Take the slot from
the caller, as villager_data_with_tracked does.
* feat(entity): add vanilla water animal and fish base state for cod
* feat(entity): port fish movement for cod
* feat(entity): port fish goals and schooling for cod
* fix(item): match vanilla bucketable pickup and placement for fish
* feat(data): generate game event ranges and position source types
* feat(entity): add allay item collection and delivery
* fix(entity): preserve allay note block targets while chunks load
* fix(entity): keep the allay note block chunk ticketed while it is looked up
* fix(entity): check direct flight before cutting path corners
Co-authored-by: AdmerPRO <144557744+AdmerPRO@users.noreply.github.com>
* test(tester): wait for allay interactions instead of a fixed tick count
---------
Co-authored-by: AdmerPRO <144557744+AdmerPRO@users.noreply.github.com>