Commit Graph
100 Commits
Author SHA1 Message Date
Aikar bdf29bd952 Try to get a new 1.16.5 build on website now we hopefully fixed site bug 2021-01-16 16:02:34 -05:00
Aikar 8206c325a2 Remove class 13 from netty preload - Fixes #5066
We apparently were mixing netty versions before, and 13 was removed from netty 4.1.50
but when cat fixed a bug in our pom in 1.16.5 it fixed the mixed versions issue.
2021-01-16 14:36:27 -05:00
Aikar fe7ff11c9f Make ProjectileHitEvent Cancellable
Allows cancelling things like detonating TNT from Fire Arrows
2021-01-16 14:31:14 -05:00
Aikar 1105e1ec76 Optimize Loaded Chunks Cache Lookups
Reduces number of instructions a chunk lookup does
when accessing the last chunk cache. This reduces amount of work and opcodes
and allows better inlining.

In lots of profiling comparisons, this optimization was able to reduce the
cost of repeated chunk lookups that hit the cache pretty significantly.
2021-01-09 18:09:09 -05:00
Aikar 8147d0ec71 Additional Block Material API's
Faster version for isSolid() that utilizes NMS's state for isSolid instead of the slower
process to do this in the Bukkit API

Material#isSolid uses a large switch statement which isn't as performant vs a simple boolean return

Adds API for buildable, replaceable, burnable too.
2020-12-30 19:43:45 -05:00
Aikar eee1fedc1e Micro Optimize DataBits
There was 2 unnecessary lines of code in a core method used for DataBits
that repeatedly calculated a static value.

We now just precalculate that in the constructor and reuse the value instead.

This is a micro optimization, but this is some of the hottest code in the server so
it should provide some minor gains as well as improve inlining.

Additionally, to further help inlining, mark the DataBits methods as final.
2020-12-30 14:02:44 -05:00
Aikar 319895bd9d Optimize Dynamic#get Missing Keys
get was calling toString() on every NBT object that was ever asked for an optional
key from the object to build a string for the error text.

When done on large NBT objects, this was using a ton of computation time building the
JSON representation of the NBT object.

Now we will just skip the value when 99.9999% of the time the text is never even printed.
2020-12-21 11:03:36 -05:00
Daniel Ennis cfd2e28a52 Add exception handlers for getChunkAtAsync convenience methods (#4773) 2020-11-16 09:40:01 -05:00
Daniel EnnisandMariell Hoversholm 6f4fbe1c89 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#4728)
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:
30885166 Update to Minecraft 1.16.4

CraftBukkit Changes:
3af81c71 Update to Minecraft 1.16.4

Spigot Changes:
f011ca24 Update to Minecraft 1.16.4

Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
2020-11-02 21:22:15 -05:00
Aikar 6932cf79b5 Reset Ender Crystals on Dragon Spawn - Fixes #3522
Crystals can end up in a bad state in certain conditions which causes
an exception on the expected number of crystals going negative.

This ensures the crystals/pillars are in expected state when the dragon spawns.
2020-10-11 16:11:57 -04:00
Aikar 976c295514 Improve Priority handling of neighbor chunks
Restores vanilla like behavior where neighbor chunks have less priority than the source chunk.

This resolves the issue where teleporting sometimes has the chunk your arriving in slow to send.

Also improves light tasks to always process tasks when tasks from the current priority level are collected
instead of bundling them.
2020-10-08 01:07:10 -04:00
Aikar 6444280b12 Fix "Not a string" Map Conversion spam - Fixes #3901
The maps did convert successfully, but had noisy logs due to Spigot
implementing this logic incorrectly.

This stops the spam by converting the old format to new before
requesting the world.
2020-10-08 00:02:03 -04:00
Aikar 22d50756e9 Revert "Only consider chunks Loaded if at BORDER status"
This reverts commit 7968c4f5c9.

Issues have been found post merge that sadly no one discovered during test builds.
Reverting for now until we can identify the issue and do another test round.
2020-09-21 22:12:28 -04:00
Aikar 9f27271254 Light improvements
Trying to solve random hangs we've seen, ensuring that this part of code isnt the culprit

also fixing a vanilla bug reportedby PhiPro where tickets are released too early
hoping this reduces amount of incorrect light issues.
2020-09-19 14:04:25 -04:00
Aikar 97b9071852 Preserve initial velocity of spawned entities - Fixes #4292 2020-09-19 13:19:34 -04:00
Aikar 0aa0eba111 Optimize some methods for inlining
Adds final to some methods to improve inlining ability
2020-09-19 11:51:01 -04:00
Aikar 7968c4f5c9 Only consider chunks Loaded if at BORDER status
This greatly improves performance as it drastically reduces the amount
of Entities and Tile Entities that are "registered" into the world, as
purely "cached" chunks will no longer have their entities hanging out in the world.

Additionally this fixes our Entity Add To World and Entity Remove From World events

Those events have not been firing correctly since MC changed how chunks work here.

Now the server will only consider a chunk "loaded" if it's got a ticket putting
it at level 33 or lower, which matches the public Bukkit API.
2020-09-12 22:24:48 -04:00
Aikar 99dd3ad303 Cache DataFixerUpper Rewrite Rules on demand
Mojang precaches every single potential rewrite rule that could ever
exist on server startup. This includes rules from all the way back to versions from 6+ years ago.

This is the source of why the server hogs every CPU core at 100% every start.

For anyone who hard resets for updates or has force upgraded their entire world, this
results in completely wasted cpu cycles.

This massive CPU usage also delays server startup time.

We improve this by making "min version to precache" that defaults to a future version
so that no rewrite rules are precached.

someone who expects to be converting a lot chunks could theoretically set
-DPaper.minPrecachedDatafixVersion=<dataVersionConvertingFrom> as a startup
parameter and only build from that point on.

However this will likely never be needed as the server will still run
the same cache logic on demand when it's actually needed. The only
cost would be some delay on the FIRST chunk conversion, but paper already
runs chunk conversions on another thread so this will likely never be
a concern for TPS.

This patch will significantly reduce CPU use on startup, reduce memory usage,
and improve server startup time.
2020-09-12 17:56:00 -04:00
Aikar 06e816fd71 Restore thread pool names for Bootstrap vs main
1.16.2 introduced 2 thread pools for Bootstrap vs main we didn't account for.

This also sets Bootstrap priority to be 1 less thread priority too so MC Main threads will always have
more priority specially on servers running multiple instances, since bootstrap tends to use up all CPU.
2020-09-12 11:23:34 -04:00
Aikar 465e97513b (1.16.3) Missed some fixes to include in commit 2020-09-10 19:56:58 -04:00
Aikar 9f446a771f (FIRST 1.16.3): Update Paper to 1.16.3
This is a pretty tiny update with very little changed. Recommended to update
from 1.16.2 ASAP as 1.16.2 is now no longer supported.

Plugins should mostly remain working as the NMS revision did not change.
2020-09-10 19:47:58 -04:00
Aikar 2b164910c8 (FINAL 1.16.2) Improve Entity Activation Range passenger behavior
Previously, Entity Activation Range only applied to the root entity of a vehicle chain.
If that vehicle is active, every entity as it's passenger would then tick.

This creates scenarios where EAR does not apply your desired ranges to passengers.
Additionally, any entity that was a passenger never had its inactiveTick method called
when the parent was inactive, creating behavioral desyncs.

This could of been a source of many villager issues when those villagers were in minecarts
as players commonly do.

Now we will process passengers checking their activation state independently of their vehicle
and if they are inactive, call their inactiveTick() method to ensure state remains consistent.

This also helps improve any desync issues with entity position of passengers too.

This also removes immunity for passenger/vehicles, so it should improve performance
of these minecart villagers too for EAR.
2020-09-10 18:09:10 -04:00
Aikar 09d97cf54e (FINAL 1.16.2) Improve Timings support for Active vs Inactive vs Passengers
This makes it so entities that are passengers of other entities no longer count in the parents timings, as well as
tracks them as a separate timers per their tick status.

This lets you see how much time is spent in activated entities vs inactive (as inactive still has to do work)

Passengers is also tracked separately so you can identify "Villagers in Minecarts" vs roaming villagers, as
the lack of ability to move can impact their performance characteristics.

This will likely break any plugin that was naughty and directly messed with our internal timings as this
moves the timings to the EntityTypes object, speeding up creation of Entities to no longer store
a timing handler object per entity.

This will also change the output of the entities in timings to use internal ID's instead of class names.

If a plugin is broken by this, shame them for doing bad things. Paper will not fix it, they will have to fix it.
2020-09-10 18:02:39 -04:00
Daniel Ennis 6f266255ec Fix Entity Teleportation and cancel velocity if teleported (#4210) 2020-09-03 21:48:44 -04:00
Aikar e6f2cd150f 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:
565a5727 #533: Add consumed item, hand and consumeItem boolean to EntityShootBowEvent

CraftBukkit Changes:
927200a9 #718: Add consumed item, hand and consumeItem boolean to EntityShootBowEvent
2020-08-31 08:30:51 -04:00
Aikar d417f6d48b Fix build conflicts 2020-08-30 14:38:49 -04:00
Daniel Ennis cfe899e104 Fix PersistentDataContainer contract violation (_->!null returns null) (#3990) 2020-08-30 14:02:34 -04:00
Aikar 1622581fc9 Fix some modded clients getting kicked for invalid payload - Fixes #4201 2020-08-25 20:03:24 -04:00
Aikar 9a12d91631 Fix enderdragon tracking range to honor vanilla 2020-08-25 19:38:19 -04:00
Aikar aa91a6bd79 [CI-SKIP] switch back to trusty now we figured out the issue 2020-08-25 00:29:01 -04:00
+4 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
Daniel Ennis 5fa9860546 [CI-SKIP] Create CODEOWNERS
This is to help w/ our process of merging PR's
2020-08-21 01:26:50 -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
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
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
Aikar 4364ae3263 Fix MaterialTags tests to actually pass 2020-07-27 23:15:22 -04: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
Aikar 80153a0772 Amend last commit to fix decompile error forgot to commit 2020-07-22 02:15:51 -04: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
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
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
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
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
Aikar bf940a42e0 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:38:10 -04:00
Aikar 7f78e35522 Fire inventory listeners if PrepareResult changes item
Fixes #3810
2020-07-05 15:33:23 -04:00
Aikar 130bffdf85 Don't check chunk for portal on world gen entity add - Fixes #3780 2020-07-05 15:00:07 -04:00
Aikar 198b0b96f3 Fix suggest-player-names-when-null-tab-completions - Fixes #3803
Seems changes upstream broke original implementation

moved check into method that actually does the injection
2020-07-05 03:11:54 -04:00
Aikar 174560824a Fix anvils bug - Fixes #3802 2020-07-05 02:25:29 -04:00
Aikar 1e75e54195 Move bedrock config under unsupported, add comments to these configs
Hopefully help 'technical minecrafters' find and understand these configs
by adding notes to them, and fixing the incorrect config placement on the
bedrock config.
2020-07-05 02:12:14 -04:00
Aikar 3871485e19 Merge remote-tracking branch 'origin/ver/1.16'
* origin/ver/1.16:
  [Auto] Updated Upstream (CraftBukkit)
2020-07-04 19:08:37 -04:00
Aikar 9b70c1a7dc Merge branch 'ver/1.16'
This brings 1.16 back to master. 1.15 is still supported currently.
2020-07-04 19:03:06 -04:00
Aikar d1261a7551 Support String UUID's in old player skulls
Should fix remaining skull issues for people with unconverted old skulls.

Fixes #3734
2020-07-03 02:16:51 -04:00
Aikar d6e23b14a7 Updated Upstream (Bukkit/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

Bukkit Changes:
0ca45a21 #503: Add PlayerHarvestBlockEvent
dfa80a52 SPIGOT-5930: Add PlayerRespawnEvent#isAnchorSpawn

CraftBukkit Changes:
145921e2 #676: Add PlayerHarvestBlockEvent
47abffa2 SPIGOT-5929: Angered zombified piglins do not inherit killed_by_player status
7f6b4f58 SPIGOT-5930: Add PlayerRespawnEvent#isAnchorSpawn
94eff632 SPIGOT-5867, MC-193339: NPE during shutdown when rcon enabled with no password
068618eb SPIGOT-5927: Some items NBT data disappears

Spigot Changes:
beb7d47c Rebuild patches

Fixes #3738
2020-07-03 02:08:00 -04:00
Aikar e32b8cfddb Improve old UUID support, clean up old legacy keys.
If we set a UUID to new format, need to make sure old format doesn't
exist anymore. Additionally, ensure if new format exists, we prefer it over old.
2020-07-01 05:42:51 -04:00
Aikar 62802db4ac Allow teleporting through end gateways as a passenger/vehicle
Vanilla allows this now for same world teleports

Fixes #3735
2020-07-01 05:42:22 -04:00
Aikar be5f765e93 Convert legacy attributes in Item Meta
Fixes #3705
2020-07-01 04:28:56 -04:00
Aikar 7b5d35ff25 Fix server not stopping when eula not agreed yet 2020-07-01 03:32:26 -04:00
Aikar 767ef99fb8 Clean up duplicated GameProfile Properties
We had a bug where we accidently cloned properties resulting in skulls
growing to large sizes and preventing login.

This now automatically cleans up the extra properties.
2020-07-01 03:19:33 -04:00
Aikar 438da20dd5 Clean up duplicated GameProfile Properties
We had a bug where we accidently cloned properties resulting in skulls
growing to large sizes and preventing login.

This now automatically cleans up the extra properties.

Fixes #3719
Fixes #3667
2020-07-01 03:15:52 -04:00
Aikar d9bdfa4aa2 Fix supporting more places of the old UUID format
Fixes #3734
2020-07-01 03:13:57 -04:00
Aikar 174c81a963 Updated Upstream (Bukkit/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

Bukkit Changes:
6ff65c82 SPIGOT-5908: CompassMeta for new lodestone compass data

CraftBukkit Changes:
3b9cf0f8 Improve code formatting
008f039f SPIGOT-5913: MOTD no longer supports new line character
b8b65eb7 SPIGOT-5908: CompassMeta for new lodestone compass data

Spigot Changes:
4d9262cf Rebuild patches
d27f7952 SPIGOT-5912: Outdated client message shows outdated server message
2020-07-01 02:11:46 -04:00
Aikar 860f4c4b58 Updated Upstream (Bukkit/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

Bukkit Changes:
42d5a714 SPIGOT-5899: Hoglins API similar to Piglins
2c1ee10e SPIGOT-5887: ClickType doesn't include off hand swaps
5ff7c7ce SPIGOT-5886: Missing BlockData

CraftBukkit Changes:
7560f5f5 SPIGOT-5905: Fix hex colours not being allowed in MOTD
d47c47ee SPIGOT-5889: Villager using composter should call EntityChangeBlockEvent
2fe6b4a3 SPIGOT-5899: Hoglins API similar to Piglins
e09dbeca SPIGOT-5887: ClickType doesn't include off hand swaps
23aac2a5 SPIGOT-5903: EntityDismountEvent cannot be triggered asynchronously
92cbf656 SPIGOT-5884: Tab completions lost on reloadData / minecraft:reload
fb4e54ad SPIGOT-5902: PlayerRespawnEvent places player at spawn before event is called
aa8f3d5a SPIGOT-5901: Structures are generated in all worlds based on the setting for the main world
a0c35937 SPIGOT-5895: PlayerChangedWorldEvent#getFrom is incorrect
89c0a5c3 SPIGOT-5886: Missing BlockData

Spigot Changes:
0287a20d SPIGOT-5903: EntityDismountEvent cannot be triggered asynchronously
2020-06-30 01:20:29 -04:00
Aikar 849ede2317 Don't fire unleash/dismount events from worldgen threads
Mojang can trigger this during worldgen and tries to fire bukkit events.
2020-06-29 04:04:18 -04:00
Aikar b94e847258 Support old UUID format for NBT
We have stored UUID in plenty of places that did not get DFU'd

So just look for old format and load it if it exists.
2020-06-29 03:28:10 -04:00
Aikar e5f214ef92 Fix Player Profile textures being duplicated - Fixes #3667 2020-06-28 22:11:02 -04:00
Aikar c4520e6199 Improve Legacy Component serialization size
Don't constantly send format: false for all formatting options when parent already
has it false

Fixes #3680
2020-06-28 21:27:16 -04:00
Aikar 8e46a01608 Fix case where some skulls still have string UUID's
These heads are technically outdated, but this patch shouldn't care about
what format the original value was in, so keep it the same.
2020-06-28 20:33:14 -04:00
Aikar 9747174b40 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:
85e57f7a SPIGOT-5803: Implement the missing methods for the Piglin API.
ce0159b6 SPIGOT-5881: SnakeYaml 1.26 limits non-scalar (null) nodes while 1.25 does not

CraftBukkit Changes:
44109b72 SPIGOT-5803: Implement the missing methods for the Piglin API.
cf01fd9d #696: Respect the NotNull annotation of getChargedProjectiles in CraftMetaCrossbow
1a3363db SPIGOT-5849: Constantly Raining in World 1.16
2020-06-28 20:14:17 -04:00
Aikar 52496b075b Fix Reloadable save players error on stop
Not sure what plugins or panels are doing to have triggered this.
Reloading resource packs appear to have been happening during shutdown

So this will abort the end of the reload process if we are not on the
correct thread and stop saving players as part of this task too.
2020-06-28 20:06:26 -04:00
Aikar b15e37b0e9 revert chat changes for now until can get it properly working 2020-06-28 20:03:31 -04:00
Aikar bc0095b99a Add /paper dumpitem command
Allows inspecting an items NBT at ease of the item in the players hand.
2020-06-28 19:38:30 -04:00
Aikar 73fe12740d Fix texture profile properties getting duplicated - Fixes #3667 2020-06-28 19:37:53 -04:00
Aikar 255f221550 Don't allow null UUID's for chat
Fixes null issue on sending chat packets if some how it got sent null

likely caused by plugins
2020-06-28 19:37:31 -04:00
Aikar 0aed7fbd54 Improve Legacy Component serialization size
Don't constantly send format: false for all formatting options when parent already
has it false

Going to PR this to Spigot, but putting it out here for now

Should help with reducing size of items with lots of colors from
legacy format.
2020-06-28 19:12:11 -04:00
Aikar 58d7a7ae1d Fix more null pointer issues around deleted worlds - Fixes #3660 2020-06-28 18:44:34 -04:00
Aikar 8736217b0f Fix player skulls rendering - Fixes #3672 2020-06-28 18:04:04 -04:00
Aikar 900f77fa66 Log Minecraft Internal Scheduler logs correctly 2020-06-28 05:34:23 -04:00
Aikar c09346c798 Revert recent changes around player skulls using user cache 2020-06-28 05:13:46 -04:00
Aikar d0a723841a Remove no longer needed undead horse leash patch
This is now default vanilla behavior

Fixes #3644
2020-06-28 04:35:41 -04:00
Aikar 0aa8d8f0e5 Fix null pointer in portal search config 2020-06-28 04:21:40 -04:00
Aikar 53ea88badf Fix Per World Difficulty / Remembering Difficulty
Fixes per world difficulty with /difficulty command and also
makes it so that the server keeps the last difficulty used instead
of restoring the server.properties every single load.
2020-06-28 04:01:01 -04:00
Aikar 20018f2b4f Disable the memory information in /tps unless argument is passed
Memory usage is a pretty useless value in any modern garbage collector
as the way memory is used makes this information not representive of
any actionable data.

In the recommended GC flags, this memory value will constantly rise until
it is near max and then goes down. This is perfectly normal and expected.

Having this information shown will lead to confusion.

Plus, many servers give this command to end users, which now really might
not want to expose this memory data.

So this disables it unless /tps mem is used, and also requires a permission
node to even run this subcommand.
2020-06-28 01:29:54 -04:00
Aikar e1088e833c Updated Upstream (Bukkit/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

Bukkit Changes:
f009c3dd SPIGOT-5810, SPIGOT-5835: 'Better' handling of Player.isOnGround
e677c370 Update ECJ version
5058a35d SPIGOT-5860: Item.setItemStack should be NotNull

CraftBukkit Changes:
d77f4d9b SPIGOT-5810, SPIGOT-5835: 'Better' handling of Player.isOnGround
53c95627 SPIGOT-5865: Piglin does not trigger EntityPickupItemEvent
2ab04d24 Update ECJ version
7884e079 SPIGOT-5868: Blocks do not tick in custom nether / end
2a848286 SPIGOT-5863: Don't check colour in scoreboard length validation
f2cbce30 SPIGOT-5866: Beehive unknown TargetReason

Spigot Changes:
ad703da0 SPIGOT-5870: /plugins "website" field shows "version"
1a27cfd8 #98: Improve output of /plugins command using text components
732d5bab Disable checkstyle in Spigot blocks
0199a9a6 #97: Add Memory Usage to Ticks Per Second Command.
33ea98fc SPIGOT-5858: NPE: Joining the server with an invalid dimension
2020-06-27 21:54:05 -04:00
Aikar 5b8bdf1dbc Fix Piglin issue 2020-06-27 20:32:49 -04:00
Aikar d661902f52 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:
983305bb SPIGOT-5856: Soul Campfire BlockState cannot be cast to Campfire
2020-06-27 17:37:09 -04:00
Daniel Ennis 5a99782acb Merge pull request #3639 from kickash32/1.16-updates 2020-06-27 16:41:22 -04:00
Aikar 8ed5bbea20 Revert recent changes around player skulls using user cache
Fixes #3637
2020-06-28 05:03:22 -04:00
Daniel Ennis def98e8d33 Merge pull request #3636 from Spottedleaf/ver/1.16 2020-06-27 01:42:12 -04:00
Aikar fe2a0ea500 Latest progress - restored patches, some issues resolved 2020-06-26 02:29:44 -04:00
Aikar bc5acdddad Current non compilable status of all patches - THIS IS NOT READY
THERE IS STILL NO ETA. GOBLINS WILL EAT YOU.
2020-06-25 21:58:00 -04:00
Aikar 5287c1ba7c Current progress - Leaf, tag your it 2020-06-25 05:27:25 -04:00
Aikar 3c8c5ed111 Fix NPE and uuid lookup for player skulls
Fixes #3610
Fixes #3611
2020-06-25 04:01:28 -04:00
Aikar 175f83e9d0 Current progress 2020-06-25 00:02:26 -04:00