Commit graph

2700 commits

Author SHA1 Message Date
Daniel Ennis
69ee95fa42 1.16.2 Release (#4123)
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 Penilla <11360596+jpenilla@users.noreply.github.com>
Co-authored-by: Riley Park <rileysebastianpark@gmail.com>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
Co-authored-by: commandblockguy <commandblockguy1@gmail.com>
Co-authored-by: DigitalRegent <misterwener@gmail.com>
Co-authored-by: ishland <ishlandmc@yeah.net>
2020-08-24 22:22:08 -04:00
DigitalRegent
773a850390 Brand support 2020-08-23 05:09:19 -07:00
Zach Brown
4a319fd99e Do not let the server load chunks from newer versions (1.16.2+)
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.
2020-08-21 19:27:25 -04:00
Matt Baxter
aa4b4d37dc Fix regex mistake in CB NBT int deserialization (#4146)
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.
2020-08-17 13:13:15 -04:00
MrIvanPlays
6eda368428 Restore incremental player saving
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
2020-08-09 09:04:18 +03:00
Mariell Hoversholm
4a213fd1ef Restore Pathfinder Optimizations from 1.15.2
We dropped the patch in 1.16.1 update due to it being a major conflict.
This restores it.

Co-Authored-By: Aikar <aikar@aikar.co>
2020-08-06 22:51:29 -04:00
Aikar
ac72244dc1 Drop syncPosition on teleportation patch
I'm not sure it was really helping, and now suspecting it might be causing issues
Movement sucks
2020-08-06 22:49:50 -04:00
Aikar
25f900bcc4 Fix Light Thread causing world memory leak - Fixes #4045 2020-08-06 20:02:20 -04:00
Aikar
1885d74eff Improve EntityTargetLivingEntityEvent for 1.16 mobs
CraftBukkit has a bug in their implementation and is incorrectly handling forget
Also adds more target reasons for why it forgot target.

Fixes #4042
2020-08-06 19:38:49 -04:00
Aikar
305390ec83 Clean up a lot of obfuscation helpers and impls
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
2020-08-02 01:39:36 -04:00
William Blake Galbreath
e5c86b8f4f Fix scoreboard vanilla colors not working in chat 2020-07-31 16:20:29 +01:00
Aikar
c6fe95327f Improve Light Optimizations more
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
2020-07-30 22:01:32 -04:00
Mariell Hoversholm
9b4ddafa60 Updated Upstream (Bukkit/CraftBukkit)
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
2020-07-29 21:50:16 +02:00
Aikar
8392fa12ec Further improve Chunk Light Prioritization
This is as fast as its going to get outside of making the light engine calculations it self faster.

Fixes #4022
2020-07-29 01:51:57 -04:00
Aikar
0f0a2ef492 Fix deadlock issue with watchdog stopping
Fixes #4008
2020-07-28 22:19:01 -04:00
Aikar
9478c1859c Updated Upstream (CraftBukkit)
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
2020-07-28 19:59:44 -04:00
Spottedleaf
46fb6bf239 Fix off by one error for scheduling block ticks (#4014)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>

Fixes #4015
2020-07-27 22:19:11 -07:00
Spottedleaf
b6aced22de Tighten logic for handling target tick times in tick scheduler (#4010)
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>
2020-07-27 20:05:27 -07:00
Aikar
529c4f9f90 Remove ability to disable async chunks unless single core cpu
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.
2020-07-27 23:01:56 -04:00
Aikar
dda6cbb298 Fix Light Prioritization Issues
Ensures light priorities are properly processed before processing new
work, skipping the threads queue.

also stops processing work on task submission.

Also drops dead chunks light work to not waste time on work thats going to be discarded.

Fixes #3986
Fixes #4002
Fixes #3951
2020-07-27 22:46:19 -04:00
Shane Freeder
502d7b2d1c Add missing strikeLighting call to World#spigot()#strikeLightningEffect 2020-07-26 12:12:19 +01:00
Spottedleaf
1b248d842f [1.16] Do not sync load POI data (#3996)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-07-24 20:28:57 -07:00
Shane Freeder
14fa92720f Don't make per-player scale mob counts with the spawn range
https://github.com/PaperMC/Paper/pull/3971#issuecomment-663316000
2020-07-24 21:34:41 +01:00
Spottedleaf
254605cdae Improve per player mob spawning (#3971)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-07-23 11:10:46 -07:00
Prof-Bloodstone
7673fda496 Updated Upstream (Bukkit/CraftBukkit) (#3980)
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:
09f10fd9 SPIGOT-5950: Add PrepareSmithingEvent event

CraftBukkit Changes:
7c03d257 SPIGOT-6011: End Gateways do not work on Non-Main End Worlds
d492e363 SPIGOT-6015: Small Armor Stand doesn't drop items
5db13eea SPIGOT-5950: Add PrepareSmithingEvent event
2020-07-23 01:35:44 +02:00
tofipix
5021388bcf Fix IDE Debug JVM Flag for 1.16 (#3983) 2020-07-23 01:18:36 +02:00
Nassim Jahnke
7db19cb346 Use title packet for actionbar methods (#3959) 2020-07-22 10:01:35 +02:00
Aikar
80153a0772 Amend last commit to fix decompile error forgot to commit 2020-07-22 02:15:51 -04:00
Spottedleaf
9813f8a38f Fix AdvancementDataPlayer leak due from quitting early in login
Move the criterion storage to the AdvancementDataPlayer object
itself, so the criterion object stores no references - and thus
needs no cleanup.

Fixes #3050
2020-07-22 02:10:13 -04:00
William Blake Galbreath
99625f0fa9 Fix SPIGOT-5885 Unable to disable advancements 2020-07-10 13:24:43 -05:00
William Blake Galbreath
511e97b881 Fix SPIGOT-5824 Bukkit world-container is not used 2020-07-10 13:22:47 -05:00
Aikar
c146123919 Load config files early on
also fixes the ide commodore rewrite patch version

Prep for other PR's to be updated to use these as some options need to use some values earlier
2020-07-22 00:50:40 -04:00
Mariell
0df99cedeb Only get spawn block if it's relevant, fixes #3934 (#3942) 2020-07-19 14:58:29 +02:00
Automated
2cba62f17a [Auto] Updated Upstream (CraftBukkit/Spigot)
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:
2361cb8a8 Increase outdated build delay to 3 weeks

Spigot Changes:
d4cbb644 Update bungeecord-chat
2020-07-18 03:57:21 -04:00
Mariell
827e6cec16 Fix zero reputation deleting villagers (#3857) 2020-07-17 19:47:04 +02:00
Aikar
518ae65609 Use consistent priorities for light tasks
Should fix high priority chunk loads prioritizing over urgent sync loads

Also fixes build Kenny broke! Bad Kenny.
2020-07-17 13:24:12 -04:00
Josh Roy
c7f57cff99 Fix SPIGOT-5989 (#3920) 2020-07-17 12:49:50 -04:00
Nassim Jahnke
ec909b2144 Fix moveToWorld worldserver reference (#3929) 2020-07-17 18:44:39 +02:00
Automated
837cf98b9e [Auto] Updated Upstream (CraftBukkit)
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:
75a2fb8e0 SPIGOT-5901: Improve multiworld support
2020-07-16 19:07:15 -04:00
Spottedleaf
0580766485 Move range check for block placing up (#3917)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-07-15 19:38:53 -07:00
Spottedleaf
c9d30bb9c0 Fix erroneuous entity count reporting in timings 2020-07-14 11:58:55 +01:00
Aikar
3b63ba9db1 Thread Safe Vanilla Command permission checking
Datapacks check this on load and are built concurrently. This was breaking them badly due
to race conditions.

Plus, .canUse we want to be safe for async anyways.

Fixes #3722
2020-07-11 03:55:59 -04:00
BillyGalbreath
5f0de8fc57 Fix MC-125757 (#3859) 2020-07-09 19:40:37 -05:00
Aikar
3ccbdd3c85 Only convert lore lines that actually look legacy
Spigot stored previous componenents as new ChatComponentText("legacy codes") which
this patch aimed to convert to the new format.

However, the impl ended up converting all lines.

If a plugin had a section symbol in the lore that isn't a color conversion, it would
make trigger this process every single time.

So now we will only process it if the pattern looks like the legacy bukkit format

Fixes #3869
2020-07-09 20:31:04 -04:00
Aikar
8b5bb0dbe0 Misc Improvements to Async Teleporting and Light patch
Stop light copy was missing a default in the impl.
Should of been extremely low chance of impacting anything though
as the very first copy operation would have fixed it.

Sadly this doesn't fix the issues weve been trying to fix.

Fix player async teleporting adding priority to wrong world for cross world teleports

Also improve teleporting to wait for entity ticking status before teleporting to prevent neighbors loading
2020-07-09 19:24:10 -04:00
Automated
7c7443c1bd [Auto] Updated Upstream (CraftBukkit)
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:
72f368909 SPIGOT-5965: BlockRedstoneEvent.setNewCurrent(0) crashes server
60f8a29d1 SPIGOT-5968: Killer rabbits can't be set to the non-killer rabbit behavior
69fddc725 #705: Improve implementation of furnace related block states
2020-07-08 19:17:08 -04:00
Mariell
4455020aa4 Fix Villagers WeightedList issue (#3860)
dont clone the list for villagers as the list is accessed post sort and needs to have sorted data.
2020-07-08 21:57:24 +02:00
Aikar
aa9c5663ec Fix bug on y bitset extraction from 1.16 update
accidently copied z's to y.

seems to impact light only, but is not the source of the light bug we've been trying to fix
2020-07-07 01:41:02 -04:00
Wyatt Childers
81f9964fcb Optimize the advancement data player iteration to be O(N) rather than O(N^2) 2020-07-04 23:08:23 -04:00
Automated
386cb1c1c9 [Auto] Updated Upstream (CraftBukkit/Spigot)
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:
2f1810812 Improve physics code

Spigot Changes:
c3a49df2 Rebuild patches
2020-07-06 19:47:11 -04:00