Commit graph

2791 commits

Author SHA1 Message Date
Matt Baxter 60a5ca6d7d
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 10:13:15 -07:00
MrIvanPlays 2b4ce0b370 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-11 09:55:10 -04:00
Mariell Hoversholm b91d964b17 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:55:24 -04:00
Aikar adadf16548 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:55:24 -04:00
Aikar 6f66fa5714
Fix Light Thread causing world memory leak - Fixes #4045 2020-08-06 20:02:20 -04:00
Aikar 6742309074
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 9788250b10
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 58a745eba0
Fix scoreboard vanilla colors not working in chat 2020-07-31 16:20:29 +01:00
Aikar 3cf2c52d95
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:04:56 -04:00
Mariell Hoversholm 0b33230f2d 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 16:01:09 -04:00
Aikar 960d992fd2
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 0d19e4579b
Fix deadlock issue with watchdog stopping
Fixes #4008
2020-07-28 22:22:46 -04:00
Aikar baf1fabe9e
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 22:22:46 -04:00
Aikar 6e7dc3f81d
[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:
52fd29c0d SPIGOT-6033: Bukkit.getUnsafe().getMaterial() won't match renamed block materials
2020-07-28 04:36:52 -04:00
Spottedleaf dafc7b8f8d
Fix off by one error for scheduling block ticks (#4014)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>

Fixes #4015
2020-07-28 01:19:11 -04:00
Spottedleaf a8ef09b82c
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 23:05:27 -04:00
Aikar d5ccd41393
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 76728529f9
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:54:45 -04:00
Shane Freeder 51d10c2012
Add missing strikeLighting call to World#spigot()#strikeLightningEffect 2020-07-26 12:12:19 +01:00
Spottedleaf 0cf106087d
[1.16] Do not sync load POI data (#3996)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-07-25 04:28:57 +01:00
Shane Freeder 188df6501e
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 55e2de5c6e
Improve per player mob spawning (#3971)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-07-23 14:10:46 -04:00
Prof-Bloodstone 42433c2626
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-22 19:35:44 -04:00
tofipix e5ede546a2
Fix IDE Debug JVM Flag for 1.16 (#3983) 2020-07-22 19:18:36 -04:00
Aikar 2712c68885
[Auto] 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:
f1e73b03 #525: Add contributors plugin.yml field.
ef0999fe #529: Added getRecipe() method to retrieve a Recipe by it's NamespacedKey

CraftBukkit Changes:
8b831a965 #714: Added getRecipe() method to retrieve a Recipe by it's NamespacedKey
2020-07-22 04:26:59 -04:00
Nassim 0901ffd046
Use title packet for actionbar methods (#3959) 2020-07-22 04:01:35 -04:00
Aikar cc25ae47c0
Amend last commit to fix decompile error forgot to commit 2020-07-22 02:15:51 -04:00
Spottedleaf f503db37c6
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 282763b885
Fix SPIGOT-5885 Unable to disable advancements 2020-07-22 01:38:36 -04:00
William Blake Galbreath 9b93d122ec
Fix SPIGOT-5824 Bukkit world-container is not used 2020-07-22 01:29:20 -04:00
Aikar bede4d304d
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 01:01:01 -04:00
Mariell dc80610ff3
Only get spawn block if it's relevant, fixes #3934 (#3942) 2020-07-19 13:58:29 +01:00
Aikar f6b63c6cdb
[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 108efeeeff
Fix zero reputation deleting villagers (#3857) 2020-07-17 13:47:04 -04:00
Aikar 7db30ebd57
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 018d860243
Fix SPIGOT-5989 (#3920) 2020-07-17 12:49:50 -04:00
Nassim 4590995458
Fix moveToWorld worldserver reference (#3929) 2020-07-17 12:44:39 -04:00
Aikar 9c16c413ec
[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 45ffc2bf1a
Move range check for block placing up (#3917)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-07-16 03:38:53 +01:00
Spottedleaf 94315dad74
Fix erroneuous entity count reporting in timings 2020-07-14 11:58:55 +01:00
Aikar 775a764eca
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 fa90052a82
Fix MC-125757 (#3859) 2020-07-09 20:40:37 -04:00
Aikar 071c08d77e
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:38:24 -04:00
Aikar 8c4787e306
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:46:36 -04:00
Aikar b74fee9e93
[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 e87aa727d5
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 15:57:24 -04:00
Aikar 29453f1dbe
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 97cedaa589
Optimize the advancement data player iteration to be O(N) rather than O(N^2) 2020-07-07 01:19:12 -04:00
Aikar c2c4cf44b6
[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
Aikar e588fd94a8
Fix Concurrency issue in WeightedList
if multiple threads from worldgen sort at same time, it will crash.
So make a copy of the list for sorting purposes.

Fixes #3732
Fixes #3824
2020-07-06 18:41:20 -04:00