All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning with an added upstream's major version number in front of the major version, so we have a better distinction from Nukkit 1.X and 2.X.
Unreleased 1.4.0.0-PN - Future (Check the milestone)
Click the link above to see the future.
- Alpha Bug: Fixes entities from the MobPlugin going into the ground (compatibility issue)
- #770 Bamboo not dropping when broken, were also affecting blocks with id > 255
- #765 Unsafe level.dat writes could lead to world corruption
- #766 Error saving region files with content over 2 GB
- #776 Alpha Bug: Grindstone can't remove enchants
- #777 Falling block falling though scaffolds
- #778 Alpha Bug: Compatibility fix: Unable to change MobPlugin spawner with eggs
- #778 Unable to get
minecraft:mob_spawner
with/give Nick mob_spawner
- Snowballs not damaging blazes
- Issues with the geometry of player and human entities
- Hay bale not reducing fall damage
- Lapis ore drops with enchanted pickaxes
- API to get how long the player has been awake
- New APIs to detect the type of bucket, dye, spawn egg, coal, and a few others
- A
MinecraftItemID
API for simpler version independent vanilla item creation
- Changed the protocol version to support Minecraft Bedrock Edition 1.16.201
- #765 The
ServerBrand
tag in thelevel.dat
file will be set toPowerNukkit
now - #776 Grindstone won't reset the repair cost anymore
- Packet batching is now handled near the RakNet layer
- Removed extra data from chunk encoding
- The sound enum has been updated
- Alpha Bug: Reversed the addition of new item ids for every item, the "new ids" should revert to the old id on load
- Bucket with fish can no longer interact with cauldrons
- The /give command now support all current vanilla namespaced ids
- Updated the raknet dependency from 1.6.15-PN2 to 1.6.25-PN
- Alpha Bug: Some blocks were still dropping the old
minecraft:dye
- Alpha Bug: Drinking milk would give the player a hardcoded
ItemBucket
- Alpha Bug: Boat entities should drop the correct item now
- Translations updated. Help us to translate PowerNukkit at https://translate.powernukkit.org
This changelog is still being worked on.
This version pulls all changes from Cloudburst Nukkit into PowerNukkit 1.3, bringing a lot of fixes, new issues, and support for Minecraft 1.16.100
1.3.1.5-PN - 2020-09-01
Fixes a critical duplication exploit.
- #544 Duplication exploit by packet manipulation
- Translations updated
1.3.1.4-PN - 2020-08-14 (Check the milestone)
Fixes beehives, client crashes in Nether and improves some error handling
- #467 Players crash when reconnecting in the Nether
- #469 Players who don't crash when reconnecting in the Nether, see overworld sky
- #462 Beehives and bee nest getting rendered as an "UPDATE!" block
- #475 If middle packet inside a batch packet fails processing, the other packets in the batch gets ignored
- #475 Improved error log whilst loading a config file
- #475 Improved error log when a batch packet decoding or processing fails
- #462 The beehive and bee_nest block data have been changed from
[3-bits BlockFace index, 3-bits honey level]
to[2-bits BlockFace horizontal index, 3-bits honey level]
- #462 The chunk's content version got increased to 5
- #464 The German and the Simplified Chinese translations have been updated
1.3.1.3-PN - 2020-08-11 (Check the milestone)
A quick update that adds support to 1.16.20 and updates the translations
- #298 Having the gamemode changed by another player shows a
%s
in the chat
- Changed the protocol version to support Minecraft Bedrock Edition 1.16.20
- The translations have been updated
1.3.1.2-PN - 2020-08-10 (Check the milestone)
Very important fixes that you must have. Make a backup before upgrading.
- #404 Issues with inventories, click events, and cursor
- #365 Client crashing when FakeInventories
- #339 Client crashes when closing some inventories
- #287 Campfire does not extinguish when it touches flowing water
- #287 Grindstone placement rule on vines, bubble, liquid, and replaceable blocks
- #287
BlockGrowEvent
being fired when using bone meal on dead sea pickle - #287 Mesa biome generating a wrong block instead of red sandstone
- #366 Block disappears when making bridges
- #261 Bamboo and bamboo sampling bone meal, placement, and breaking behaviours
- #359 Piston causing tile entities to invalidate
- #340 Brewing stand placement rules, recipes, and processing
- #397 Firework effects getting overridden by a black creeper face
- #400 OP players in spectator gamemode could break blocks in client-side
- #403 Right-clicking some blocks while sneaking were not opening the block
- #407 Server could be stuck and not shutdown even after Watchdog detects the an issue
- #412 Daylight detector's tile entity wasn't being removed
- #440 Predefined long world seeds wasn't loading correctly
- #414 Minecart names could return null can cause unexpected NullPointerExceptions
- #436 Chorus plant and flowers could be placed anywhere and could keep floating
- #436 Chorus plant and flowers had wrong blast resistance values
- #437 Nether dimension having overworld sky
- #427 Campfire was moving with pistons
- #422 Can't ignite leaves with flint and steel directly
- #450 Can't ignite leaves with fireball directly
- #450 Flowerpot placement and support rules
- #430 Redstone repearter not causing redstone update to the block right in front of it
- #445 Some languages had different default nukkit.yml settings values
- #443 Boats and minecarts were not checking if they were already 'killed' and could drop itself more than once
- #404 Minecarts trying to make death animations when it don't have
- #404 Comparator not causing redstone updates correcty
- #404 Fixed three duplication glitches
- #430 Fire not fading sometimes
- #430 Iron door not dropping when you break the block under it
- #449 Honey block couldn't be used to make a note on noteblock
- #287 You can now set yaw and pitch when using the teleport command:
/tp <x> <y> <z> <yaw> <pitch>
- #445 New translation site. Help us to translate PowerNukkit at https://translate.powernukkit.org
- #390 If a compression issue happens, an IOException will be thrown now
- #287 Removed the teleport limitation in y-axis with the
/tp
command - #287 Campfire does not allow flowing allow passing through it anymore
- #287 Improved the lantern placement rules code
- #287 Improved the liquid flow logic
- #287 Prevents placing blocks in water if the block would break itself in the next tick
- #287 Narrow down the logic to prevent the right-click spam bug
- #404 Grindstone will not be forced to face up when replacing vines anymore
- #445 The translation system have been improved
- #433 Improved snowball particle performance
- #404 Chunk content version bumped to 4
1.3.1.1-PN - 2020-07-19
Fixes an important stability issue and improves resource pack compatibility
1.3.1.0-PN - 2020-07-09 (Check the milestone)
Security, stability and enchanting table fixes alongside with few additions.
PowerNukkit now has its own discord guild, click the link below to join and have fun!
💬 https://powernukkit.org/discord 💬
- #326 Enchantment table not working
- #297 Using the hoe or shovel doesn't emit any sound
- #328 ClassCastException and some logic errors while processing the chunk backward compatibility method
- #344 Sticky pistons not pulling other sticky piston
- #344 The technical block names weren't being saved in memory when
GlobalBlockPalette
was loaded - #338 The Dried Kelp Block was not burnable as fuel
- #232 The enchanting table level cost is now managed by the server
- #330 The discord guild link to the readme
- #352 The library jsr305 library at version
3.0.2
to add@Nullable
,@Nonnull
and related annotations - #326 A couple of new classes, methods and fields to interact with the enchanting table transactions
- #326 The entities without AI: Hoglin, Piglin, Zoglin, Strider
- #352 Adds default runtime id to the new blocks with meta
0
- #348 Updated the guava library from
21.0
to24.1.1
- #347 Updated the JWT library from
4.39.2
to7.9
- #346 Updated the Log4J library from
2.11.1
to2.13.3
- #326 Changed the Nukkit API version from
1.0.10
to1.0.11
- #335 The chunk content version from
1
to2
, all cobblestone walls will be reprocessed on the chunk first load after the update - #352 The
runtime_block_states_overrides.dat
file has been updated
1.3.0.1-PN - 2020-07-01 (Check the milestone)
Improves plugin compatibility and downgrade the RakNet lib to solve a memory leak
- #320 Multiple output crafting, cake for example
- #323 Compatibility issue with the regular version of GAC
- #315 Hoglin, Piglin, Zoglin and Strider entities without AI
- #319 The RakNet library were downgraded to 1.6.15 due to a potential memory leak issue
1.3.0.0-PN - 2020-07-01 (Check the milestone)
Added support for Bedrock Edition 1.16.0 and 1.16.1
This version supports a new major Minecraft version, some plugin sources might need to be updated or recompiled!
The following breaking change will be pulled in 1.3.0.0-PN
- 8a09f93 Quick craft implementation. (NukkitX#1473) Jedrzej* 05/06/2020
- #293 A few
Entity
data constant values were changed, plugins which uses them might need to be recompiled, no code change required
The save format has been changed to accommodate very high block data values. Make a world backup before updating!
Due to the high amount of changes, and the urgency of this update, this changelog file will be released with outdated information, please check the current changelog file in the updated changelog online for further details about this update.
- Enchanting table GUI has been temporarily disabled due to an incompatible change to the Bedrock protocol, it's planned to be fixed on 1.3.1.0-PN
- End portal formation has been disabled due to reported crashes, it's planned to be reviewed on 1.3.1.0-PN
This is the first release of a huge set of changes to accommodate the new Bedrock Edition 1.16.0/1.16.1 release, please take extra cautions with this version, make constant backups and report any issues you find.
- #293 Many
Entity
constants are deprecated and might be removed on1.4.0.0-PN
- #293
Entity.DATA_FLAG_TRANSITION_SITTING
andDATA_FLAG_TRANSITION_SETTING
only one of them is correct, the incorrect will be removed - #293
Network.inflate_raw
anddeflate_raw
does not follow the correct naming convention and will be removed. UseinflateRaw
anddeflateRaw
instead. - #293
HurtArmorPacket.health
was renamed todamage
and will be removed on1.4.0.0-PN
. A backward compatibility code has been added. - #293
SetSpawnPositionPacket.spawnForce
is now unused and will be removed on1.4.0.0-PN
- #293
TextPacket.TYPE_JSON
was renamed toTYPE_OBJECT
and will be removed on1.4.0.0-PN
- #293
riderInitiated
argument was added to theEntityLink
constructor. The old constructor will be removed on1.4.0.0-PN
- #293 Spectator colliding with vehicles
- #293 Ice melting into water in the Nether
- #293
Player.removeWindow
was able to remove permanent windows
- #293 End portals can now be formed using Eye of Ender
- #293 Setting to make the server ignore specific packets
- #293 New compression/decompression methods
- #293 Trace logging to outbound packets when trace is enabled
- #293 The server now logs a warning when a packet violation warning is correctly received
- #293 12 new packets, please see the pull request file changes for details
- #293 Many new entity data constants, please see the
Entity.java
file in the PR for details
- #293 Thorns can now be applied to any armor while enchanting
- #293 The server now requires the clients to playing on Bedrock Edition 1.16.0
- #293 Updated RakNet to
1.6.18
- #293 RakNet protocol version changed from
9
to10
- #293 10 packets, please see the pull request file changes for details
- #293 The server have more control over the player UI now
- #293 New entity data constants
- #293
FakeBlockUIComponent
now firesInventoryCloseEvent
when the inventory is closed - #293 The
runtime_block_states.dat
,recipes.json
,entity_identifiers.dat
andbiome_definitions.dat
files have been updated - #293 Grindstone now clears only the enchantments and sets the repair cost to
0
, it used to clear all NBT tags
1.2.1.0-PN - 2020-06-07 (Check the milestone)
Adds new methods to be used by plugins and fixes many issues.
- #224 Enchantment compatibility rules when merging enchanted items in an anvil
- #113 Beehives not dropping in creative when it has bees
- #270 Replacing sugarcane's water don't break the sugarcane immediately
- #272
EntityPortalEnterEvent
not being fired when entering end portals - #279
BlockEndPortal
missing collision bounding box - #279
Entity.checkBlockCollision()
's over scaffolding logic outdated - #281 Levers and buttons don't replace the snow layers
- #285 Chicken, cow, pig, rabbit and sheep not dropping cooked food when on fire
- #285 Chorus plant and flower not dropping
- #285 Item string placing tripwire hooks instead of tripwires
- #285 Wrong block name and color for dark prismarine block and prismarine bricks
- #285 Nether bricks fence were burnable and flammable
- #285 Item on hands disappear (looses one from the stack) when interacting with chest minecarts and hopper minecarts
- #227 PlayerJumpEvent called when jump packets are received.
- #242
Item.equalsIgnoringEnchantmentOrder
method for public usage. - #244
Enchantment.getPowerNukkit().isItemAcceptable(Item)
to check if an enchantment can exist in a given item stack by any non-hack means. - #256
CapturingCommandSender
intended to capture output of commands which don't require players. - #259
Hash.hashBlock(Vector3)
method for public usage. - #261
Player.isCheckingMovement()
method for public usage. - #261 Protected field
EntityEndCrystal.detonated
to disable theEndCrystal.explode()
method. - #275 New annotations to document when elements get added and when deprecated elements will be removed
- #123 Adds and register the banner pattern items
- #276
Block.afterRemoval()
called automatically when the block is replaced using anyLevel.setBlock()
- #277
Block.mustSilkTouch()
andBlock.mustDrop()
to allow blocks to force the dropping behaviour when being broken - #279
Entity.isInEndPortal()
for public usage - #285
LoginChainData.getRawData()
for public usage
- #227 Sugar canes now fires BlockGrowEvent when growing naturally.
- #261 Kicked players can now view the kick reason on kick.
- #285 Limit the maximum size of
BookEditPacket
's text to 256, ignoring the packet if it exceeds the limit - #285 Ender pearls will now be unable to teleport players across different dimensions
- #285
ShortTag.load(NBTInputStream)
now reads a signed short. Used to read an unsigned short.
1.2.0.2-PN - 2020-05-18 (Check the milestone)
Contains several fixes, including issues which cause item losses and performance issues
- #239 Anvil fails to merge some enchantments because the ordering mismatches
- #240 Anvils were charging fewer levels to merge thorn books
- #243 Anvils were charging more levels to merge punch books
- #246 Anvil checking the enchantment table property instead of the enchantment id
- #246 Compatibility rules for unbreaking, fortune, mending, riptide, loyalty and channeling enchantments
- #248 Air blocks with metadata were being rendered as "UPDATE!" block (backward compatibility fix)
- #212 The
/tp player 0 1 2
command doesn't work - #220 Stripping old full bark log results in a wrong block
- #157 Wrong Packed and Blue Ice break time with the hands
- #193 Wrong explosion behaviour with waterlogged block
- #103 Fixes BlockLeaves's random update logic spamming packets and consuming CPU unnecessarily
- #253 Fixes
LeavesDecayEvent
also being called when leaves wouldn't decay - #254 Fixes BlockLeaves not checking for log connectivity, was checking only if it had a log block nearby
- #255 Fix /status information in /debugpaste not being collected
- #260 Fix a stack overflow when setting off end crystals near to each other
- #260 Fix drops of block entity inventory contents on explosion
- #260 Check SUPPORTED_PROTOCOLS instead of CURRENT_PROTOCOL in
LoginPacket.decode()
- #79 Sugarcane can grow without water
- #262 Removing the water don't break the sugarcane (using empty bucket or breaking water flow)
- #263 Fixes disconnect messages not reaching the player sometimes
- #116 Fishing hooks don't attach to entities and damages multiples entities
- #95 The Level Up sound is not centered
- #267 Fishing hooks without players, loaded from the level save. They are now removed on load
- #266 Loosing connection with items in an open anvil makes you loose the items
- #273 Loosing connection with items in an open grindstone, enchanting table, stone cutter makes you loose the items
- #273 Loosing connection with items in an open crafting table, 2x2 crafting grid makes you loose the items
- #247 Invalid BlockId:Meta combinations now log an error when found. It logs only once
- #255 The report issues link has been changed to point to the PowerNukkit repository
- #268 The
/xp
command now makes level up sound every 5 levels - #273 If an anvil, grindstone, enchanting, stonecutter, crafting GUI closes, the items will try to go to the player's inventory
- #273
FakeBlockUIComponent.close(Player)
now callsonClose(Player)
- #274
Player.checkInteractNearby()
is now called once every 10 ticks, it was called every tick
1.2.0.1-PN - 2020-05-08 (Check the milestone)
Fixes several anvil issues.
- #224 Added option to disable watchdog with
-DdisableWatchdog=true
. This should be used only by developers to debug the server without interruptions by the crash detection system.
- #224 Anvil not merging enchanted items correctly and destroying the items.
- #228 Invalid enchantment order on anvil's results causing the crafting transaction to fail.
- #226 Anvil cost calculation not applying bedrock edition reductions
- #222 Anvil changes the level twice and fails the transaction if the player doesn't have enough.
- #235 Wrong flags in MoveEntityAbsolutePacket
- #234 Failed anvil transactions caused all involved items to be destroyed
- #234 Visual desync in the player's experience level when an anvil transaction fails or is cancelled.
- #234 Anvil's result is no longer stored in the PlayerUIInventory at slot 50 as it was vulnerable to heavy duplication exploits.
- #234
setResult
methods inAnvilInventory
are now deprecated and marked for removal at 1.3.0.0-PN because it's not supported by the client and changing it will fail the transaction.
1.2.0.0-PN - 2020-05-03 (Check the milestone)
Note: Effort has been made to keep this list accurate but some bufixes and new features might be missing here, specially those made by the NukkitX team and contributors.
- #129 A typo in the BlockBambooSapling class name (breaking change)
- #102 Leaves decay calculation
- #87 Arrows in offhand are black in the first person view
- #46 checked if ProjectileHitEvent is cancelled before the action execution
- #108 Lever sounds
- #108 Incorrect sponge particles
- #12 Wrong redstone signal from levers
- #129 You can now shift to climb down while you are in the edges of a scaffold
- #129 Fixes a turtle_egg placement validation
- #129 Campfire can no longer be placed over an other campfire directly
- #129 The sound that campfire does when it extinguishes
- #140 Instant damage and instant health are now inverted when applied to undead entities
- #140 A collision detection issue on Area Effect Cloud which could make it wears off way quicker than it should
- #152 Changes the blue_ice blast resistance from 2.5 to 14
- #170 Trapdoors behaving incorrectly when they receive redstone signal
- #219 Button and door sounds
- #44 Different daytime from Android and Windows 10 Edition
- #93 Nukkit sends a rain time that doesn't matches the server
- #210 Issues with old blocks from old NukkitX worlds, specially fully barked logs (log:15 for example)
- Make BlockLectern implements Faceable
- The versioning convention now follows this pattern:
upstream.major.minor.patch-PN
Click here for details.
1.1.1.0-PN - 2020-01-21
- Piston heads not rendering
- Cauldron implementation, should be closer to vanilla now
- Implements hashCode in the NBT Tags, fixes usage with Set and HashMap
- Fixes BaseInventory ignoring it's own max stack size
- Fix cauldron's lightFilter value
- Fix the project throwing sound effect
- No particles when snow hits something
- Fixes projectile sounds
- Fixes egg particles and exp sounds
- The anvil block implementation
- Plants now requires light to grow
- Fix player does not get update for own skin
- Fix ~ operator in teleport command
- Fix ~ operator in /particle command
- Fall damage with slow falling effect
- Fishing Hook drag and gravity values
- a8247360 Crops, grass, leaves, tallgrass growth and population
- Fixes fuzzy spawn radius calculation
- #49 noDamageTicks should make the entity completely invulnerable while active
- #54 Fixes movement issues on heavy server load
- #57 Fixes block placement of Bone Block, End Portal Frame, Jukebox and Observer
- Unregistered block states will be shown as 248:0 (minecraft:info_update) now
- Improves the UI inventories
- The codename to PowerNukkit to distinct from NukkitX's implementation
- #50 The kick message is now more descriptive
- #80 Merged the "New RakNet Implementation" pull request which greatly improves the server performance and connections
- Waterlogging support
- Support with blocks ID higher then 255 to the Anvil save format
- Support for blocks with 6 bits data value (used to support only 4 bits)
- #51 Support for the offhand slot
- #52 Merge the "More redstone components" pull request which fixes and implements many redstone related blocks
- #53 Merge the "Vehicle event fix" pull request which add new events and fixes damage issues related to vehicles
- #55 Minecart (chest and hopper) inventories
- #56 ServerStopEvent
- Shield block animation (without damage calculation)
- New gamerules
- The /setblock command
- Dyeing leather support to cauldrons
- Color mixing support to cauldron
- Implementation for the entities (without AI):
- Bees
- Lingering Potions
- Area Effect Clouds
- Implementation for the items:
- Honey
- Honey Bottle
- Honeycomb
- Suspicious Stew
- Totem of Undying (without functionality)
- Name Tags
- Shulker Shell
- Implementation for the blocks:
- #58 Daylight Sensor
- Lectern
- Smoker
- Blast Furnace
- Light Block
- Honeycomb Block
- Wither Roses
- Honey Block
- Acacia, Birch, Dark Oak, Jungle, Spruce signs
- Composter
- Andesite, Polished Andesite, Diorite, Polished Diorite, End Brick, Granited, Polished Granite, Mossy Cobblestone stairs
- Mossy Stone Brick, Prismarine Brick, Red Nether Brick stairs, Smooth Quartz, Red Sandstone, Smooth Sandstone stairs
- Beehive and Bee Nests
- Sticky Piston Head
- Lava Cauldron
- Wood (barks)
- Jigsaw
- Stripped Acacia, Birch, Dark Oak, Jungle, Oak and Spruce logs and barks
- Blue Ice
- Seagrass
- Coral
- Coral Fans
- Coral Blocks
- Dried Kelp Block
- Kelp
- Carved Pumpkin
- Smooth Stone
- Acacia, Birch, Dark Oak, Jungle, Spruce Button
- Acacia, Birch, Dark Oak, Jungle, Spruce Pressure Plate
- Acacia, Birch, Dark Oak, Jungle, Spruce Trapdoor
- Bubble Column
- Scaffolding
- Sweet Berry Bush
- Conduit
- All stone type slabs
- Lantern
- Barrel
- Campfire
- Cartography Table
- Fletching Table
- Smithing Table
- Bell
- Turtle Eggs
- Grindstone
- Stonecutter
- Loom
- Bamboo