github Pumpkin-MC/Pumpkin 0.2.2+26.3-26.60
Release 0.2.2+26.3-26.60

one hour ago

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 DynamicRegistryManager with 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-v3 Release Builds: Updated MSRV to 1.97.0 (#4425), switched Docker images from musl to glibc (#4390), and added x86-64-v3 optimized 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, followMommy goal 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:
  • 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 Temperament enum, 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, CanPickUpLoot spawn rolling, finalize_spawn spawn 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

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:
    • Brought lava flow, spread, and interaction mechanics closer to vanilla (#4464) by @Nxyder
  • Player Mechanics:
    • Ported Recovery Compass LastDeathLocation tracking (#4424) by @DezBenedek
    • Saved player data on the server runtime from the tick thread (#4335) by @wsuites

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 DynamicRegistryManager with 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_count helper (#4394) by @MidnightDoes
    • Read zero LpVector3d values from a single byte (#4308) by @B0T03
    • Used CSwingArm for 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:
    • Sent 26.3 argument parser IDs and parsed registry identifiers matching vanilla (#4311) by @zinedinp
    • Resolved local coordinates (^) from the command source position like vanilla (#4324) by @wsuites
    • Skipped structures that cannot generate in the current dimension during /locate (#4446) by @ydw1904

Plugins, Core Server & CI

  • Plugin API & WIT:
    • Expanded v0.2 player and inventory plugin APIs for Bukkit parity by @Snowiiii
    • Mapped protocol i8 fields to WIT s8 in v0.2 (#4413) by @gavrh, and preserved v0.1 Bedrock packet compatibility by @Snowiiii
  • Server Lifecycle & Update Checker:
    • Added a built-in GitHub release update checker on startup and periodic interval by @Snowiiii
    • Decoupled server lifecycle from the process for embedding (#3771) by @zinedinp
    • Stopped the piped stdin console reader cleanly when the server stops (#4325) by @wsuites
  • Build, Docker & CI:
    • Updated MSRV to 1.97.0 (#4425), bumped Android NDK to r30, and added x86-64-v3 release/nightly builds (#4390) by @Snowiiii
    • Skipped doctests for affected crates without a library target (#4381) by @wsuites
    • Linked the README CI badge to workflow runs (#4170) by @BananaJeanss

New Contributors

Full Changelog: 0.2.1+26.3-26.51...0.2.2+26.3-26.60

Don't miss a new Pumpkin release

NewReleases is sending notifications on new releases.