0.2.2 Release Notes
🚨 Highlights & Breaking Changes
- Bedrock 1.26.60 & NetherNet Transport (Breaking): Ported the Bedrock protocol to 1.26.60 (#4407), replaced RakNet with NetherNet for pings and connections (#4427), and implemented Bedrock inventory transactions, combat parity, player movement, container/equipment/link synchronization, and login whitelist/ban enforcement (#4397, #4428) by @Snowiiii.
- Villager Brain Overhaul & Village Mechanics: Migrated Villagers from legacy goals onto the Brain AI framework with a typed POI manager, schedules, village sensors, job-site and POI pathing, work/rest/panic/trade/door behaviors, sleeping, gossip, Iron Golem summoning, breeding, and biome-aware structure villager initialization by @MegalithOfficial.
- Dynamic Registry Manager & Advancement Criteria Engine: Implemented
DynamicRegistryManagerwith runtime datapack loaders (#4370) and advancement criteria triggers backed by full loot predicate evaluation (#4369) by @Snowiiii. - Major Mob & Entity Parity Expansion: Full vanilla parity ports for Sulfur Cube, Frog & Tadpole, Horse family & Camel, Llama & Trader Llama, Wandering Trader, Villager, Iron Golem, Cat (#4493), Enderman (#4490), Endermite (#4481), Parrot (#4486), Bat (#4304), Rabbit, Mooshroom, Dolphin, Squid & Glow Squid, Salmon (#4291), Pufferfish (#4302), and Tropical Fish (#4303).
- Worldgen & Spatial Query Performance: Cut chunk generation CPU time by ~25% (#4401) by @MegalithOfficial, and optimized noise routers, structure placement, entity tracking, and player spatial queries by @Snowiiii.
- Decoupled Runtime & Embeddable Server Lifecycle: Decoupled tick simulation, compute pools, and the Tokio runtime by @Snowiiii, and decoupled the server lifecycle from the OS process for library embedding (#3771) by @zinedinp.
- MSRV 1.97.0 &
x86-64-v3Release Builds: Updated MSRV to1.97.0(#4425), switched Docker images from musl to glibc (#4390), and addedx86-64-v3optimized release/nightly binaries with automatic CPU feature detection in Docker and the Pterodactyl egg by @Snowiiii.
Bedrock Edition Parity
- 1.26.60 Protocol Port: Updated Bedrock protocol definitions, packets, and asset mappings to 1.26.60 (#4407) by @Snowiiii
- NetherNet Ping & RakNet Removal: Switched server list ping handling to NetherNet and removed legacy RakNet transport (#4427) by @Snowiiii
- Inventory, Combat & Movement Parity: Implemented Bedrock inventory transactions, combat mechanics, and player movement synchronization (#4397) by @Snowiiii
- Cursor Drag & Item Stack Requests: Handled cursor item drag packets and fixed item stack request action processing (#4428) by @Snowiiii
- World & Entity State Sync: Synchronized container properties, entity equipment, entity links, and block actors to Bedrock clients by @Snowiiii
- Access Control: Enforced server whitelist and player bans during Bedrock login by @Snowiiii
Mobs & Entities
- Sulfur Cube: Ported Sulfur Cube entity behavior, archetypes, split data propagation, fluid jump thresholds, and piercing checks by @MegalithOfficial
- Frog & Tadpole Parity: Ported Frog Brain AI (croaking, long jumps, land seeking, frogspawn laying, tongue attacks dropping froglights from magma cubes) and full Tadpole parity by @MegalithOfficial
- Horse Family, Camel & Riding: Refactored equines onto
AbstractHorse, ported Horse, Donkey, Mule, Skeleton Horse, Zombie Horse, and Camel parity, locked sitting Camel body rotation, stopped ridden horses from being pushed, and seated riders using extracted vehicle attachment data by @MegalithOfficial - Llama, Trader Llama & Wandering Trader: Ported Llama and Trader Llama behaviors,
followMommygoal inheritance, Wandering Trader parity, and natural spawning of Wandering Traders alongside Trader Llamas by @MegalithOfficial - Villager & Iron Golem Parity: Completed Villager Brain AI, trading screen deadlock fixes, and Iron Golem parity including village patrol/return goals by @MegalithOfficial
- Aquatic Mobs:
- Ported Salmon (#4291), Pufferfish (#4302), and Tropical Fish (#4303) parity by @MegalithOfficial
- Ported Dolphin AI goals, air supply mechanics, and treasure hunting by @MegalithOfficial
- Ported Squid and Glow Squid behaviors, water splash effects, and Pufferfish sting fixes by @MegalithOfficial
- Enderman & Endermite Parity: Ported Enderman (#4490) and Endermite (#4481) behaviors by @AdmerPRO, and added the missing Endermite ambient sound (#4495) by @asinghtric
- Cat, Parrot & Bat Parity:
- Implemented full Cat vanilla parity (#4493) by @The-Hypnos, and sent species-specific collar colors in their dedicated metadata slots to prevent Java client disconnects (#4286) by @Conman1533
- Implemented vanilla Parrot behavior (#4486) by @ydw1904
- Implemented vanilla Bat parity (#4304) by @AdmerPRO
- Rabbit, Mooshroom & Passive Mobs:
- Ported Rabbit parity and Mooshroom shearing, suspicious stew feeding, and lightning conversion by @MegalithOfficial
- Closed remaining parity gaps in Cow, Chicken, and animal feeding mechanics by @MegalithOfficial
- Polar bears now defend nearby cubs (#4448) by @peepsii
- AI, Physics & Lifecycle:
- Added
Temperamentenum, data-driven hunt/flee tables, and vanilla target search (#4107) by @zinedinp - Stopped preallocating every mob's pathfinding heap (#4053) by @Conman1533
- Ported vanilla entity save data (#4396), movement emission (#4408), and fall damage audio (#4409) by @MegalithOfficial
- Ported elastic leash spring physics, angular momentum, and leashed mob following by @MegalithOfficial
- Ported shared mob loot pickup AI step,
CanPickUpLootspawn rolling,finalize_spawnspawn reasons, and category-based mob despawn distances by @MegalithOfficial - Ported mob step-up height handling, fall damage overrides, passenger damage propagation, player-driven vehicle fall checks, boat passenger control, and tamed mob teleport collision checks by @MegalithOfficial
- Ported Bat, Parrot, Creaking, and Warden push rules, and aligned player touch area and push velocity sync (#3793) by @MegalithOfficial & @zinedinp
- Stored saddles in the dedicated saddle equipment slot (#4322) by @The-Hypnos
- Corrected slime, baby zombie, animal, and equipment bonus experience rewards by @MegalithOfficial
- Attribute projectile block hits to the struck block (#4179) by @woodyloody, and allowed thrown projectiles to hit players by @MegalithOfficial
- Added
Blocks, Items & Mechanics
- Block & Item Parity:
- Comprehensive vanilla parity pass across block and item behaviors by @Snowiiii
- Applied bone meal on moss and pale moss to generate vegetation patches (#4442) by @ydw1904
- Relit unlit campfires when struck by burning projectiles (#3555) by @HP-network
- Dispensed experience bottles as projectiles (#3645) by @AdmerPRO, matched 26.3 dispenser projectile spawn positions/directions (#4399) by @zinedinp, and restricted dispenser armor equipping to compatible mobs by @MegalithOfficial
- Matched vanilla bucket placement block replacement rules (#4289) by @80-svg
- Applied suspicious stew status effects across crafting recipes, trades, and loot tables by @MegalithOfficial
- Equipped armor and helmets via right-click/hurt interactions by @MegalithOfficial
- Fluids:
- Player Mechanics:
- Ported Recovery Compass
LastDeathLocationtracking (#4424) by @DezBenedek - Saved player data on the server runtime from the tick thread (#4335) by @wsuites
- Ported Recovery Compass
World Generation, Advancements & Data
- Chunk Generation Optimization: Cut chunk generation CPU overhead by ~25% (#4401) by @MegalithOfficial, and optimized noise router evaluation and structure placement by @Snowiiii
- Worldgen & Spawning Parity:
- Aligned feature generation and chunk stage scheduling with vanilla by @Snowiiii
- Located structures using the same height sampler used during chunk generation by @MegalithOfficial
- Checked spawner spawn rules, redstone conductors above aquatic spawn positions, and thunder lightning strikes by @MegalithOfficial
- Advancements & Dynamic Registries:
- Implemented advancement criteria triggers with loot predicate evaluation (#4369) by @Snowiiii, and restricted structure location criteria to matching bounds by @MegalithOfficial
- Implemented
DynamicRegistryManagerwith runtime datapack loaders (#4370) by @Snowiiii
- GameTest: Updated GameTest structure version handling (#3919) by @KairuDeibisu
Commands, Networking & Protocol
- Protocol & Codecs:
- Bounded serverbound collection lengths prior to allocation (#3911) by @WhiteProject1
- Improved data component codec deserialization with size checks and a reusable
read_counthelper (#4394) by @MidnightDoes - Read zero
LpVector3dvalues from a single byte (#4308) by @B0T03 - Used
CSwingArmfor off-hand swings on 26.3+ (#4338) by @B0T03 - Encoded armor trims as registry references (#4101) by @SplashGG
- Sent the out-of-stock flag in merchant trade offers by @MegalithOfficial
- Commands:
Plugins, Core Server & CI
- Plugin API & WIT:
- Server Lifecycle & Update Checker:
- Build, Docker & CI:
New Contributors
- @Conman1533 made their first contribution in #4286
- @B0T03 made their first contribution in #4308
- @woodyloody made their first contribution in #4179
- @wsuites made their first contribution in #4335
- @HP-network made their first contribution in #3555
- @BananaJeanss made their first contribution in #4170
- @gavrh made their first contribution in #4413
- @peepsii made their first contribution in #4448
- @DezBenedek made their first contribution in #4424
- @80-svg made their first contribution in #4289
- @Nxyder made their first contribution in #4464
- @asinghtric made their first contribution in #4495
Full Changelog: 0.2.1+26.3-26.51...0.2.2+26.3-26.60