📦 PowerNukkitX 3.0.0
| |
|---|
| PowerNukkitX Version | 3.0.0 |
| API Version | 3.0.0 |
| Protocol Version | 1001 |
Commit: 2976731a8f7ee385f88e31717ce773aece5e8481
✨ Changes since 2.0.0
- Add @SuppressWarnings and @SafeVarargs annotations (#2462)
- Cleanup of some files (#2882)
- Enhanced flower generation (#2541)
- Final migration PRs (#2610)
- Fix compile errors due to protocol lib update (#2761)
- Fix loading of images into ItemFilledMap. (#2686)
- Fix memory leaks, stability bugs and hot path performance (#2818)
- Fix missing command request permission check (#2692)
- Fix: chest block entity pairing corruption on chunk unload (#2565)
- Fixed build issue (#2612)
- Fixed bundles (#2577)
- Fixed getTicksPerSecond (#2621)
- Harden setup wizard for CI and non-Unicode (#2689)
- Implemented Village System (#2826)
- Improved Command Routes (#2735)
- Improved village generation (#2842)
- Made the base TPS customizable (#2628)
- Package rename (cn.nukkit -> org.powernukkitx) (#2710)
- Protocol Migration (#2580)
- Update Dockerfile to Temurin and CI-safe build (#2688)
- Update pnx.yml version to 3.0.0 (#2663)
- Updated block mappings (#2615)
- Upgrade Gradle wrapper to 9.6.1 (#2592)
- chore(ci): add gradle folder into build workflow (#2793)
- chore(ci): bump actions/cache from 5 to 6 (#2782)
- chore(ci): bump actions/checkout from 6 to 7 (#2768)
- chore(ci): bump actions/configure-pages from 5 to 6 (#2767)
- chore(ci): bump actions/deploy-pages from 4 to 5 (#2770)
- chore(ci): bump actions/download-artifact from 4 to 8 (#2769)
- chore(ci): bump actions/upload-artifact from 6 to 7 (#2783)
- chore(ci): bump actions/upload-pages-artifact from 4 to 5 (#2781)
- chore(ci): bump docker/build-push-action from 7.1.0 to 7.3.0 (#2784)
- chore(ci): bump docker/login-action from 4.4.0 to 4.5.1 (#2869)
- chore(deps): bump com.github.ben-manes.caffeine:caffeine from 3.1.8 to 3.2.4 in the minor-and-patch group (#2834)
- chore(deps): bump com.github.oshi:oshi-core from 6.4.10 to 7.4.0 (#2775)
- chore(deps): bump com.gorylenko.gradle-git-properties from 2.5.5 to 4.0.1 (#2773)
- chore(deps): bump io.freefair.lombok from 8.4 to 9.5.0 (#2778)
- chore(deps): bump it.unimi.dsi:fastutil from 8.5.18 to 8.5.19 in the minor-and-patch group (#2844)
- chore(deps): bump org-junit-jupiter-junit-jupiter from 5.10.1 to 6.1.2 (#2776)
- chore(deps): bump org.jline:jline-reader from 3.25.0 to 4.3.1 (#2774)
- chore(deps): bump org.junit.platform:junit-platform-launcher from 1.10.1 to 6.1.2 (#2777)
- chore(deps): bump org.xerial.snappy:snappy-java from 1.1.10.5 to 1.1.10.8 (#2772)
- chore(deps): bump the minor-and-patch group across 1 directory with 19 updates (#2771)
- chore(deps): bump the minor-and-patch group with 4 updates (#2803)
- chore: Sort changelog alphabetically (#2744)
- chore: Translate all Chinese comments to English (#2779)
- chore: move docker stuff into "docker" folder (#2786)
- chore: remove unused nbt max depth config field (#2674)
- chore: replace shield links with img tags in README (#2795)
- docs: add changelog for PowerNukkitX 3.0.0 [skip ci]
- enhancement: Add beforeStop plugin lifecycle hook (#2583)
- enhancement: Add block sight transparent option (#2716)
- enhancement: Expose PlayerInfo in PlayerCreationEvent (#2649)
- feat(legacy): added 1.26.30 version support (#2601)
- feat: CommandTree (#2645)
- feat: Gameplay Toggles, performance optimizations & ticking areas (#2721)
- feat: Implemented Sniffer (#2642)
- feat: InventoryPickupItemEvent being fired for entities (#2614)
- feat: Made critical hits vanilla (#2636)
- feat: Move Terra and WDPE support to an external plugin (#2763)
- feat: Move game data into a seperate dependency (#2420)
- feat: PNX Annotation Processing Tool (#2618)
- feat: Sulfur Caves (#2620)
- feat: add FoodEatEvent with interact bypass support (#2702)
- feat: add
disconnectScreenMessage to Player.kick and Player.close (#2751)
- feat: add dependabot workflow (#2765)
- feat: add hit miss sound (#2787)
- feat: add setGravity API that affects actual entity gravity (#2708)
- feat: configurable RakNet packet pacing and connection-cookie mode (#2675)
- feat: convert behavior group to builders (#2807)
- feat: custom trim API (#2811)
- feat: default generator optimisations (#2794)
- feat: docker image publish and CI workflows (#2736)
- feat: implement wind charged, weaving, oozing and infested effects (#2709)
- feat: multiple collision boxes (#2857)
- feat: prevent duplicate instances and startup on an occupied port (#2800)
- feat: primitive shapes API (#2808)
- feat: spiders can climb walls now (#2728)
- feat: structures in terra (#2719)
- feat: unified beardifer (#2868)
- fix nautilus armor max stack size (#2748)
- fix voxelshapepacket not triggering packetsentevent (#2694)
- fix(command-tree): suggestion (#2802)
- fix: Add critical hit particles (#2724)
- fix: Allow float coordinates in teleport command (#2737)
- fix: ArrayIndexOutOfBoundsException in Amethyst Cluster (#2739)
- fix: Block Heads that was not possible to place back after broken (#2682)
- fix: Block breaking with high Haste levels (#2762)
- fix: Block heads not persisting rotation on chunk reloads (#2699)
- fix: Brewing packets (#2651)
- fix: CUSTOM_DISPLAY not cast as byte (#2743)
- fix: ClassCastException in BookEditHandler when editing book pages (#2734)
- fix: Custom spawn eggs in creative inventory not showing (#2613)
- fix: Dockerfile port expose (#2752)
- fix: DummyBossBar not updating (#2626)
- fix: Entity home initialization deadlock after chunk loading changes (#2871)
- fix: Entity properties not syncing with different types registered (#2564)
- fix: Error when interacting with half door (#2705)
- fix: Fire protection stacking not preventing ignite on players (#2693)
- fix: Furnace drops xp when item is removed by hopper (#2633)
- fix: Furnace not working (#2627)
- fix: Harden server-side validation for crafting (#2750)
- fix: Infinite loop in limited chunk ticking with overlapping loaders (#2664)
- fix: Lingering Potion's particle datatype (#2632)
- fix: Made pendingClose protected (#2653)
- fix: Make BlockBubbleColumn motion modifier vanilla (#2726)
- fix: Minecart issues (#2650)
- fix: NPE in Ore Generation (#2622)
- fix: NPE on block entity setting dirty (#2850)
- fix: NPE risk in login token check when xboxAuth is disabled (#2733)
- fix: NPE when a player kicks themselves during tick (#2766)
- fix: NPE when encoding NpcDialoguePacket (#2878)
- fix: NPE when fossil structure is not registered (#2629)
- fix: Noteblock playing w/ block on top and skull priority (#2561)
- fix: Null vehicle data handling (#2805)
- fix: Packet Ratelimiter not resetting (#2661)
- fix: Placement of some blocks (#2638)
- fix: Player bug when waking up and not playing sleeping pose (#2698)
- fix: Player not broadcasting movement while riding (#2625)
- fix: Player sleep illegal exception (#2624)
- fix: README logo being so big (#2789)
- fix: Rabbit not being vanilla (#2755)
- fix: Race condition between network and main thread (#2635)
- fix: Regression in synced entity property indexes (#2665)
- fix: Some blocks can be lit but not consumed by fire (#2659)
- fix: Some nether wooden blocks that was able to burn (#2657)
- fix: Stale client movement after teleport (#2828)
- fix: Visual bugs & loss of items in frames (#2503)
- fix: Warden sharing DARKNESS effect for all nearby players (#2619)
- fix: Workflow pinned to old folder structure (#2711)
- fix: actionbar ignoring parameters (#2780)
- fix: actually save normal block updates and fixed deserialization of chunk extradata (#2666)
- fix: added note that metrics do not affect performance (#2872)
- fix: allow org.powernukkitx package (#2715)
- fix: applied changes in protocol library (#2742)
- fix: armor stand friction (#2749)
- fix: armor stands being in air (#2729)
- fix: bee spawning (#2837)
- fix: block activations not working when holding (#2853)
- fix: blockBreakHandle (#2723)
- fix: bush not checking for support (#2720)
- fix: cannot interact with entities when you should be able to (#2707)
- fix: changed metrics text (#2859)
- fix: chest item duplication on chunk unload/reload (#2792)
- fix: chunks sent while not being initiated (#2845)
- fix: codacy issues (#2785)
- fix: correct signed byte overflow when loading effect amplifier from NBT (#2804)
- fix: creaking not spawning and console errors and vanilla parity (#2640)
- fix: dead mobs fly into the sky during death animation (#2681)
- fix: deadlock in player chunk manager when teleporting or joining (#2841)
- fix: deadlock when lectern tries to update block in uninitiated chunk (#2875)
- fix: derive player UUID from XUID instead of deprecated identity claim (#2641)
- fix: domobloot not working (#2877)
- fix: drowned throw arrows while target not being visible (#2876)
- fix: effect-driven actor flags lost on init (#2678)
- fix: enable metrics by default (#2852)
- fix: end portal spawning in every dimension when defeating the ender dragon (#2730)
- fix: enderpearl teleportation (#2866)
- fix: enforce trade maxUses for two-input villager trades (#2696)
- fix: explosion not breaking double size blocks sometimes (#2706)
- fix: fertilizer spam & ping showing 0 ms (#2670)
- fix: fixed compile errors caused by protocol (#2863)
- fix: flower generating on grass path (#2816)
- fix: food not consumed when release lands on completion tick (#2791)
- fix: forget a lowerCase on ProfessionShepherd (#2880)
- fix: generate shipwrecks with random wood type like vanilla (#2835)
- fix: heal stale name->UUID index for returning players (#2676)
- fix: iOS client hangs loading with many filled maps (#2677)
- fix: improve give command to match vanilla behavior (#2829)
- fix: kicking when typing "/status full" (#2764)
- fix: level config is ignored by default (#2746)
- fix: level threads, being in air (#2687)
- fix: load vanilla voxel shapes (#2790)
- fix: made pistons vanilla (#2658)
- fix: made simulation distance vanilla (#2655)
- fix: make BlockEntity.getCleanedNBT return a non-destructive copy (#2820)
- fix: make EntityEnderDragon immune to fire (#2654)
- fix: missing enums code for ITEM_COMMAND_ONLY (#2801)
- fix: missing fields for BossEventPacket (#2656)
- fix: mounted rider state sync and ride seat metadata updates (#2611)
- fix: now using zombie_villager_v2 (#2646)
- fix: observer ticking (#2660)
- fix: overlapping trim recipe and trade recipes (#2652)
- fix: patch dripstone potion farming (#2643)
- fix: pillars in spruce villages (#2722)
- fix: piston creating ghost blocks (#2667)
- fix: players stuck on "locating server" when joining (#2714)
- fix: preserve BDS entity motion during translation (#2881)
- fix: preserve block entities, structure voids and orientation when saving/loading structures (#2827)
- fix: preserve unknown block identity in chunk palette and improve logging (#2806)
- fix: prevent End Portal activation with incorrectly oriented frames (#2799)
- fix: prevent NPE in mob spawner validation when level is null (#2832)
- fix: prevent crash when /gamerule is executed without arguments (#2760)
- fix: prismarine not placing (#2669)
- fix: projectile blockface always being up (#2865)
- fix: register client-side multi recipes (#2680)
- fix: removed limit for inbound packet queue (#2647)
- fix: respawn not working (#2671)
- fix: restore original items when plugin is disabled (#2858)
- fix: restrict huge mushroom spawning to valid biomes (#2830)
- fix: resync client on cancelled armor equip and elytra firework (#2796)
- fix: right click spamming player interact event with RIGHT_CLICK_BLOCK (#2718)
- fix: scatter herd animals across separate positions on spawn (#2839)
- fix: scoreboard not hiding (#2679)
- fix: send block break particles under server-authoritative block brea… (#2747)
- fix: servers sharing same uuid (#2870)
- fix: several copper golem bugs (#2856)
- fix: show magic crit particles when hitting with enchanted weapon (#2819)
- fix: skeleton bow drop chance and durability now match vanilla (#2631)
- fix: skeleton sinks in water like vanilla (#2838)
- fix: smithing table not preserving durability of upgraded items (#2586)
- fix: snow-log flowable plants in cold taiga to fill gap (#2821)
- fix: spider attacking while its bright (#2757)
- fix: synced the chunk send queue (#2738)
- fix: tall grass on snow layer & duplicated tall grass (#2814)
- fix: target block not receiving or emitting redstone power (#2817)
- fix: tree generating wrongly (#2815)
- fix: two generator issues (#2843)
- fix: updating signs (#2639)
- fix: use Locale.ROOT for copper golem oxidation enum conversion (#2840)
- fix: validate beacon payment and effect tier before applying powers (#2697)
- fix: validate client-supplied multi recipe craft result (#2695)
- fix: village generation stuck in infinite loop (#2717)
- fix: villager trading and freeze (#2648)
- fix: voxel shape not encoding (#2685)
- fix: waterlogging in world generation (#2756)
- perf: Cut chunk-send buffer churn, freeze-sweep & palette overhead (#2874)
- perf: Optimize EntityItem and Hopper alloc / GC (#2745)
- perf: Optimize memory alloc hotspots (#2668)
- perf: build block-light table at startup instead of on first tick (#2831)
- refactor(BlockNoteblock): use Instrument#getId() instead of ordinal (#2616)
- refactor(config): word-wrap generated config comments (#2673)
- refactor: Rename @Command annotation to @CommandDefinition (#2634)
- refactor: Route player packets through main-thread inbound queue (#2637)
- refactor: Ticking system is now nanosecond-based (#2713)
- refactor: use Player#getDisplayName for visual stuff (#2509)
- revert: chunk needs to be in FINISHED stage (#2879)
- revert: remove PlayerItemConsumeEvent interact bypass from use item handling (#2867)