Up to now a simple counter variable was used to iterate through the
hidden-blocks in engine-mode 2 while obfuscating. This results in low
quality obfuscation.
One could for example easily write a hack, which bypasses Anti-Xray
by not showing ores, which have a certain pattern.
Furthermore, engine-mode 1 is slightly optimized by this commit.
However, engine-mode 2 is probably somewhat slower. I did some tests but
I wasn't able to get stable results for some reason. Therefore this
needs further testing.
An optimized random algorithm is utilized to pick random blocks from the
hidden-blocks list. This implementation uses xorshift and integer
multiplication for bounding. The resulting distribution is negligibly
biased because xorshift doesn't generate 0 and integer multiplication
also implies biased results.
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
3f572834#740: Fix EntityDamageEvent not being called for non EntityDamageSource for End Crystals
3c7143e7 SPIGOT-5953, SPIGOT-5914: Use LinkedHashMap to keep captured block states in order
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
6ff6e033 #545: Add EnderSignal ItemStack API
CraftBukkit Changes:
7d31adb5f#734: Add EnderSignal ItemStack API
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
e14c9acbe SPIGOT-6113: Ender Pearls thrown into portals that lead to disabled dimensions crash the server
97da39889 SPIGOT-6114: PlayerRespawnEvent player's location changed before event called
3b5c36769 SPIGOT-6115: Items being deleted on pick up with full inventory
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
323d6ca3 #535: Add EntityCategory API to LivingEntity
7d3323d8 #526: Add Block#applyBoneMeal()
CraftBukkit Changes:
bf451617 SPIGOT-6109: Improve loot handling
bfea4559 SPIGOT-6111: NPE in CraftHumanEntity#openWorkbench & CraftHumanEntity#openEnchanting
ee7116b4 Add note to CONTRIBUTING.md to suggest keeping commit messages / titles the same
eae15943#721: Add EntityCategory API to LivingEntity
8c611560#702: Add Block#applyBoneMeal()
8408de02#716: Fix barrel open API playing sound twice
74b6982b#711: Add Full RGB support to the console
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
049120068 SPIGOT-6101: Store persist state of entities
0de8365dd SPIGOT-6103: Summoning an Eye of Ender throw an Error
Spigot Changes:
b5a13e6d Rebuild patches
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
9aafdc9a7 SPIGOT-6099: PlayerPortalEvent.setTo ignores world for end portal travel
This patch buffers the number of logins which will attempt to join
the world per tick, this attempts to reduce the impact that join floods
has on the server
PaperMC believes that 1.16.2 is now ready for general release as we fixed the main issue plagueing the 1.16.x release, the MapLike data conversion issues.
Until now, it was not safe for a server to convert a world to 1.16.2 without data conversion issues around villages and potentially other things. If you did, those MapLike errors meant something went wrong.
This is now resolved.
Big thanks to all those that helped, notably @BillyGalbreath and @Proximyst who did large parts of the update process with me.
Please as always, backup your worlds and test before updating to 1.16.2!
If you update to 1.16.2, there is no going back to an older build than this.
---------------------------------
Co-authored-by: William Blake Galbreath <Blake.Galbreath@GMail.com>
Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
Co-authored-by: krolik-exe <69214078+krolik-exe@users.noreply.github.com>
Co-authored-by: BillyGalbreath <BillyGalbreath@users.noreply.github.com>
Co-authored-by: stonar96 <minecraft.stonar96@gmail.com>
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
Co-authored-by: Jason <jasonpenilla2@me.com>
Co-authored-by: kashike <kashike@vq.lc>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: KennyTV <kennytv@t-online.de>
Co-authored-by: commandblockguy <commandblockguy1@gmail.com>
Co-authored-by: DigitalRegent <misterwener@gmail.com>
Co-authored-by: ishland <ishlandmc@yeah.net>
If the server attempts to load a chunk generated by a newer version of
the game, immediately stop the server to prevent data corruption.
You can override this functionality at your own peril.
The existing regex is too open and allows for the absence of any actual
number data, detecting an NBT entry of just the letter "i" in upper or
lower case. This causes a single-character NBT entry to be processed as
an integer ending in "i", passing an empty String to to Integer.parseInt,
triggering an exception in loading the item.
This commit forces numbers to be present prior to the ending "i"
letter.
This patch was dropped in 1.14 . I couldn't find it in removed so I got it from 1.13
Tested with 30-40 players and works fine with default settings.
Closes https://github.com/PaperMC/Paper/issues/4070
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
f6227934a SPIGOT-3020: Fix issue with BlockBreakEvent throwing AssertionError when setting a player's tool to AIR/NULL
This fixes a bug with obfuscation helpers for attack cooldown
But every other change should stay the same.
Cleaning up a lot of helpers that pointed to already unobfuscated items.
Also adds final to many of the obfhelpers to assist with inlining.
This is pretty much a patch maintenance
Hopefully fixes#4030 and hopefully fixes#4025
Use the concurrent enqueue process for all light tasks.
Restore dedicated light thread, helpful for profiling and identifying light work
as well as lets us give it a boosted thread priority
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
eeb1042f #491: Add support to change block's lid state
CraftBukkit Changes:
8fb65851#660: Add support to change block's lid state
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
bd45a2f1 SPIGOT-6037: Smithing inventory incorrect name
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
c3a22e78 SPIGOT-6032: Add best effort target events for new entities
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
52fd29c0d SPIGOT-6033: Bukkit.getUnsafe().getMaterial() won't match renamed block materials
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
29cce6714 SPIGOT-6034: World.getWorldFolder() includes the dot in the path
No longer rely on world time as plugins like to screw it up.
Add a new flag -Dpaper.ticklist-max-tick-delay= that
will automatically drop any tick entries that have a delay
exceeding the specified amount. This is only useful
for cleaning up a world that has been corrupted by
certain blocks having a huge tick delay.
Aimed at resolving #3251
Also fix an issue with some rails connecting incorrectly
that I found when testing.
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
Too many people try to disable async chunks thinking its the cure
to some mysterious problem.
It is not possible to fully disable async chunks, and the portion
that this config controls is so minor in the grand scheme of things.
People are needlessly hurting their server following bad advice, so
just kill this config except for the people who might actually benefit from it.