Skip to content

Latest commit

 

History

History
657 lines (586 loc) · 35.3 KB

CHANGELOG.md

File metadata and controls

657 lines (586 loc) · 35.3 KB

Changelog

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.

Click the link above to see the future.

1.3.2.0-PN-ALPHA.3 - 2020-12-12

Fixes

  • 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

Added

  • 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

  • Changed the protocol version to support Minecraft Bedrock Edition 1.16.201
  • #765 The ServerBrand tag in the level.dat file will be set to PowerNukkit 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

1.3.2.0-PN-ALPHA.2 - 2020-11-21

Fixes

  • 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

Changed

1.3.2.0-PN-ALPHA.1 - 2020-11-20

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.

Fixes

  • #544 Duplication exploit by packet manipulation

Changed

  • Translations updated

Fixes beehives, client crashes in Nether and improves some error handling

Fixes

  • #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

Changed

  • #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

A quick update that adds support to 1.16.20 and updates the translations

Fixes

  • #298 Having the gamemode changed by another player shows a %s in the chat

Changed

  • Changed the protocol version to support Minecraft Bedrock Edition 1.16.20
  • The translations have been updated

Very important fixes that you must have. Make a backup before upgrading.

Fixes

  • #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

Added

Changes

  • #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

Fixes

  • #390 Server stop responding due to a compression issue
  • #368 Improves resource pack compatibility

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 💬
Discord

Fixes

  • #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

Added

  • #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

Changed

  • #348 Updated the guava library from 21.0 to 24.1.1
  • #347 Updated the JWT library from 4.39.2 to 7.9
  • #346 Updated the Log4J library from 2.11.1 to 2.13.3
  • #326 Changed the Nukkit API version from 1.0.10 to 1.0.11
  • #335 The chunk content version from 1 to 2, 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

Improves plugin compatibility and downgrade the RakNet lib to solve a memory leak

Fixes

  • #320 Multiple output crafting, cake for example
  • #323 Compatibility issue with the regular version of GAC

Added

  • #315 Hoglin, Piglin, Zoglin and Strider entities without AI

Changed

  • #319 The RakNet library were downgraded to 1.6.15 due to a potential memory leak issue

Added support for Bedrock Edition 1.16.0 and 1.16.1

Breaking change!

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

Binary incompatibility!

  • #293 A few Entity data constant values were changed, plugins which uses them might need to be recompiled, no code change required

Save format changed!

The save format has been changed to accommodate very high block data values. Make a world backup before updating!

Incomplete changelog warning!

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.

Disabled features warning!

  • 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

Experimental warning!

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.

Deprecation warnings!

  • #293 Many Entity constants are deprecated and might be removed on 1.4.0.0-PN
  • #293 Entity.DATA_FLAG_TRANSITION_SITTING and DATA_FLAG_TRANSITION_SETTING only one of them is correct, the incorrect will be removed
  • #293 Network.inflate_raw and deflate_raw does not follow the correct naming convention and will be removed. Use inflateRaw and deflateRaw instead.
  • #293 HurtArmorPacket.health was renamed to damage and will be removed on 1.4.0.0-PN. A backward compatibility code has been added.
  • #293 SetSpawnPositionPacket.spawnForce is now unused and will be removed on 1.4.0.0-PN
  • #293 TextPacket.TYPE_JSON was renamed to TYPE_OBJECT and will be removed on 1.4.0.0-PN
  • #293 riderInitiated argument was added to the EntityLink constructor. The old constructor will be removed on 1.4.0.0-PN

Fixes

  • #293 Spectator colliding with vehicles
  • #293 Ice melting into water in the Nether
  • #293 Player.removeWindow was able to remove permanent windows

Added

  • #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

Changed

  • #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 to 10
  • #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 fires InventoryCloseEvent when the inventory is closed
  • #293 The runtime_block_states.dat, recipes.json, entity_identifiers.dat and biome_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

Adds new methods to be used by plugins and fixes many issues.

Fixes

  • #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

Added

  • #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 the EndCrystal.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 any Level.setBlock()
  • #277 Block.mustSilkTouch() and Block.mustDrop() to allow blocks to force the dropping behaviour when being broken
  • #279 Entity.isInEndPortal() for public usage
  • #285 LoginChainData.getRawData() for public usage

Changed

  • #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.

Contains several fixes, including issues which cause item losses and performance issues

Fixes

  • #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

Changed

  • #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 calls onClose(Player)
  • #274 Player.checkInteractNearby() is now called once every 10 ticks, it was called every tick

Fixes several anvil issues.

Added

  • #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.

Fixes

  • #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.

Changed

  • #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 in AnvilInventory 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.

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.

Added

  • This change log file
  • #108 EntityMoveByPistonEvent
  • #140 isUndead() method to the entities

Fixes

  • #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)

Changed

  • 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

Fixes

  • 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

Changed

  • 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

Added

  • 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