Commit Graph

2760 Commits

Author SHA1 Message Date
Josh Roy d78cbb8553
[1.16] Remove some streams from structures (#3704)
This showed up a lot in the spark profiler, should have a low-medium performance improvement.
2020-07-01 14:53:16 +01:00
Shane Freeder 8522e7b274
Fix shutdown on eula not being agreed (Fixes #4647) 2020-07-01 12:22:24 +01:00
Aikar c43dcbfcf0
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:51:50 -04:00
Aikar f63e3dd135
Allow teleporting through end gateways as a passenger/vehicle
Vanilla allows this now for same world teleports

Fixes #3735
2020-07-01 05:51:38 -04:00
Aikar b7d9e3d5dc
Convert legacy attributes in Item Meta
Fixes #3705
2020-07-01 04:50:46 -04:00
Aikar 4fd0d54ee7
Fix server not stopping when eula not agreed yet 2020-07-01 03:32:26 -04:00
Aikar 6f30ecdeb9
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:30:49 -04:00
Aikar d304722608
Fix supporting more places of the old UUID format
Fixes #3734
2020-07-01 03:30:49 -04:00
Aikar f5265d6688
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 7ce690f49e
[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:
e16de3bb SPIGOT-5906: Huge Fungi tree generation

CraftBukkit Changes:
a13b8cfc7 SPIGOT-5907: Item Frame NBT data disappears
5a6c52983 SPIGOT-5906: Huge Fungi tree generation
2020-06-30 20:07:16 -04:00
Aikar bcab622e55
[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:
fdf6017fa Fix event for unlucky composts
b567cb433 SPIGOT-5910: loadAdvancement does not work
2020-06-30 19:42:14 -04:00
Aikar ab347c4c96
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 e2e09326d5
[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:
3c844f35 #512: Expand Strider and Steerable entity API

CraftBukkit Changes:
32acc2621 #686: Expand Strider and Steerable entity API
2020-06-29 20:02:17 -04:00
Shane Freeder 25c14f76fc
Fix compile 2020-06-29 15:03:41 +01:00
Shane Freeder 8a4af269ba
fix EntityDismountEvent being fired on gen threads 2020-06-29 14:48:24 +01:00
Aikar 55ab552c03
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 9edbfe5fe8
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:38:56 -04:00
Aikar fb772923d5
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:27 -04:00
Aikar 8806d0a89a
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 35282e46fa
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 bcc619ae1e
revert chat changes for now until can get it properly working 2020-06-28 20:03:31 -04:00
Aikar 04d09e1dc6
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 3703b177e3
Fix texture profile properties getting duplicated - Fixes #3667 2020-06-28 19:37:53 -04:00
Aikar 4f45587232
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 f4b7b588d5
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 f339d6e162
Fix more null pointer issues around deleted worlds - Fixes #3660 2020-06-28 18:44:34 -04:00
Aikar 6c6318cb3a
Fix player skulls rendering - Fixes #3672 2020-06-28 18:04:04 -04:00
MiniDigger e928b165ce
[1.16] Fix MobGoals#getAllGoals not actually returning all goals (#3670) 2020-06-28 15:57:31 -04:00
Shane Freeder 943c923856
Fix NPE from an invalid spawn dimension (Fixes #3660) 2020-06-28 18:30:01 +01:00
Shane Freeder b27469dc9a
[CI-SKIP] Drop accidental import from last commit 2020-06-28 12:24:09 +01:00
Shane Freeder 4da9f70a50
Restore Player#refreshPlayer (Fixes #3650)
untested, don't @ me
2020-06-28 12:17:20 +01:00
Aikar 86ee6c968c
Log Minecraft Internal Scheduler logs correctly 2020-06-28 05:34:23 -04:00
Aikar e4d10c3cdf
Revert recent changes around player skulls using user cache 2020-06-28 05:13:46 -04:00
Shane Freeder bf4b541513
Fix missing hunk from ProfileWhitelistVerifyEvent (Fixes #3645) 2020-06-28 09:45:42 +01:00
Aikar b6925c36af
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 5e9cc3a228
Fix null pointer in portal search config 2020-06-28 04:21:40 -04:00
Aikar 3a77cce3c9
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 20e92f90d4
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:34:28 -04:00
Spottedleaf d871ae80fe
Fix missing chunks on client (View distance issue) 2020-06-28 00:58:25 -04:00
Aikar c0d07c1b67
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 78c5491f14
Fix Piglin issue 2020-06-27 20:32:49 -04:00
Aikar 986ebc68fc
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
Omer Uddin e94688ca39
Fix comment mistake 2020-06-27 16:00:08 -04:00
kickash32 527dd9f185 fixup 2020-06-27 15:02:40 -04:00
kickash32 2192ff1bf7 fix headers 2020-06-27 14:38:26 -04:00
kickash32 501c1c7800 port 4 patches 2020-06-27 14:35:52 -04:00
Spottedleaf 030f1c1375 Hide sync chunk writes behind flag 2020-06-26 22:37:38 -07:00
Spottedleaf c29c36e782 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:
3284612a SPIGOT-5853: Add DragonBattle#generateEndPortal()
e4db04ae SPIGOT-5841: New map colours broken

CraftBukkit Changes:
d4243510 SPIGOT-5853: DragonBattle#getEndPortalLocation() throws NPE on new world
1601ec31 SPIGOT-5845: ChatColor.RESET does not work in ItemMeta to reset italics
4d92db6f CraftChatMessageTest does not need AbstractTestingBase
71045d3d SPIGOT-5828: Unlock worlds on unload
dbc347b9 SPIGOT-5841: New map colours broken
14053c70 SPIGOT-5847: BlockFadeEvent cannot be triggered asynchronously from another thread

Spigot Changes:
6f4ff1b6 SPIGOT-5851: ChatColor (HEX) doesn't appear correctly in the ActionBar
d94a518a SPIGOT-5848: PlayerSpawnLocationEvent throws NPE when setting a location of another world
2020-06-26 22:12:11 -07:00
Spottedleaf 654f3e9d3e Re-Add per player mob spawning 2020-06-26 21:57:36 -07:00
Spottedleaf 8c0c587472 Merge branch 'ver/1.16' of https://github.com/stonar96/Paper into ver/1.16 2020-06-26 20:34:31 -07:00
Spottedleaf bf478c36c7 fix async chunk loading disregardling light data 2020-06-26 20:05:12 -07:00
stonar96 f6227a0fc9 Fix Anti-Xray 2020-06-27 04:27:03 +02:00
Spottedleaf 028bff252f fix recursion for leashing an abstract horse 2020-06-26 15:54:39 -07:00
Spottedleaf 4fd1bd8aee Fix the piston duplication option when it is on 2020-06-26 14:36:48 -07:00
Spottedleaf 368fc7c8c0 Pass predicate from default get hard colliding entities method 2020-06-26 14:33:49 -07:00
Spottedleaf 37df424eda Fix the entity knockback by entity patch 2020-06-26 14:31:38 -07:00
Spottedleaf 4c1712f868 Fix packed data reading in anti-xray 2020-06-26 14:11:08 -07:00
Nassim 387571da58
Some fixes (#3630)
* Fix block action sending

* Fix chest property check
2020-06-26 14:34:52 -05:00
MiniDigger c63757c131
[WIP|1.16] Misc fixes (#3627) 2020-06-26 12:20:03 -04:00
MiniDigger c3640b1dc0
[1.16] Make it run (#3626)
* She compiles!

Also readded the armorstand ticking patch, thanks cat

* Update mob goal api

* Misc fixes to make it run

drop per playing mob spawns for now
2020-06-26 05:04:38 -07:00
Aikar 68636aee72
Latest progress - restored patches, some issues resolved 2020-06-26 05:03:23 -04:00
Aikar 014b7f115d
Current non compilable status of all patches - THIS IS NOT READY
THERE IS STILL NO ETA. GOBLINS WILL EAT YOU.
2020-06-26 02:01:05 -04:00
Spottedleaf 939690baea even even even even even even more work 2020-06-25 18:53:21 -07:00
Spottedleaf c300745c8b even even even even more work 2020-06-25 16:38:24 -07:00
MiniDigger 03a53a63b6 even even even more work 2020-06-25 20:41:40 +02:00
Spottedleaf 8ac3123f9f even even more work 2020-06-25 06:11:48 -07:00
Spottedleaf 2bf5db6cc9 even more work 2020-06-25 05:04:34 -07:00
Spottedleaf 8269101af0 more progress 2020-06-25 04:00:35 -07:00
Aikar 6800c77f75
Current progress - Leaf, tag your it 2020-06-25 05:27:25 -04:00
Aikar e27149bff4
Current progress 2020-06-25 00:02:26 -04:00
Aikar 6c87b85dd1
1.16.1 prep 2020-06-24 22:00:02 -04:00
Aikar a28f80090e
Initial prep for 1.16
Remove patcehs we know need to go
add comment on one im not sure should be dropped

go ahead and fix patched repos to turn off gpg signing, as this
helps rebase/apply --continue commands not suck.

Go ahead and prep the pom file change
2020-06-24 04:41:14 -04:00
Aikar ec9fa36908
1.15.2 - 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:
149527f7 SPIGOT-5782: Set Arrow Launched From Crossbow

CraftBukkit Changes:
be6aaf04 SPIGOT-5782: Set Arrow Launched From Crossbow
833da9c4 SPIGOT-5799: InventoryCloseEvent fires after PlayerQuitEvent
26c0084f SPIGOT-5675, SPIGOT-5798, MC-149563: Fix tracking of entities across dimensions
7f3e7c3f SPIGOT-5797: Zombie(Villagers) Instant Convert based on their lifetime
2020-06-23 20:28:43 -04:00
Jan Tuck 70df8f2716
Add PrepareGrindstoneEvent 2020-06-23 05:06:48 -04:00
Aikar 24b2f54b7b
Fix Player skulls for offline mode servers
Always use online mode for them in Profile API calls

Adds new API to profile API to let you control online mode yourself

Fixes #3594
2020-06-23 04:53:02 -04:00
Aikar ce270e1412
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:
b2f1908c SPIGOT-5783: Add helpful info to UnknownDependencyException
e4f46260 SPIGOT-2623: Add EntityEquipment methods to get/set ItemStacks by slot.
529a9a69 SPIGOT-5751: Clarify behaviour of block drop-related API methods

CraftBukkit Changes:
8ea9b138 Remove outdated build delay.
ffc2b251 Revert "#675: Fix redirected CommandNodes sometimes not being properly redirected"
cb701f6b #675: Fix redirected CommandNodes sometimes not being properly redirected
c9d7c16b SPIGOT-2623: Add EntityEquipment methods to get/set ItemStacks by slot.
fad2494a #673: Fix Craftworld#isChunkLoaded
8637ec00 SPIGOT-5751: Made breakNaturally and getDrops returns the correct item if no argument is given

Spigot Changes:
a99063f7 Rebuild patches

Fixes #3602
2020-06-23 04:40:03 -04:00
Aikar c4ada0e199
Fix many chunk loading issues
Fixes a few various issues with chunk ticket state

restores mojangs ticket throttle but tries to be smarter about it.
fixes a few state mismatches that needed to be handled.

Fixes fake NPC's adding player tickets when they shouldn't have been.

Improves teleport chunk loading by processing high priority on new area

Fixes #3605
Fixes #3537
Fixes #3573
2020-06-23 04:40:02 -04:00
Spottedleaf 37b244b50b
Fix not running level updates for light if no pre/post task 2020-06-23 04:09:58 -04:00
Josh Roy e614299517
Add and implement PlayerRecipeBookClickEvent (#3351)
Co-authored-by: LordKorea <lk97798@posteo.net>
2020-06-22 23:33:08 -05:00
Mariell 9bb4e93090
Fix piston dupe patch creating ghost blocks (#3603)
The 2 flag (send change to clients) must always be set. If it is only set
when the `map.replace` call before it does something, as was suggested
on Discord, the issue will not change whatsoever.

Fixes #3593
2020-06-22 19:00:00 -04:00
PatoTheBest e9c332ddb6
Fix NPE on TileEntitySkull (#3598)
The setGameProfile method on TileEntitySkull is annotated with the @nullable annotation,
but the skull didn't check for null profiles before attempting to retrieve cached skin.
This bug was introduced by the commit making the skull use spigot's User Cache.

Additionally, CraftMetaSkull also had the same issue with a null GameProfile, so this also
ensures it doesn't break.

The whole CraftPlayerProfile class is not null-safe, it requires a GameProfile that isn't
null so we add a Validation on the constructor, that way it is easier to catch this kind
of issue in the future.
2020-06-21 22:59:34 -04:00
Nesaak b6a25a5356
Expose getItemStack in Arrows 2020-06-20 16:34:06 -04:00
kickash32 246af15ddc
Track Ender Dragon at current (no tick) view distance 2020-06-20 16:20:00 -04:00
Mariell Hoversholm 29a96bc1c5
Add clear reputation API 2020-06-20 16:02:28 -04:00
ㄗㄠˋ ㄑㄧˊ b2afcf1194
Add history file for terminal 2020-06-20 15:46:25 -04:00
Max Lee c7e4c45f26
Add Inventory getHolder methods without creating new block snapshots (#3535) 2020-06-20 15:34:56 -04:00
Techcable 87e3c18093
Make `enableTreasureMaps` apply to shipwreck loot generation
Fixes #3480
Previously it only controlled whether villagers could trade treasure maps.
Now it should apply to loot generated in treasure maps.

We don't unregister treasure maps from the loot table,
since this option is per-world and the table is global.
Instead I just replaced the implementation with a NOP.
2020-06-20 15:26:38 -04:00
HeartPattern 7d256d659f
Remove useless warn logging while disconnecting
Remove useless "handleDisconnection() called twice" logging.
This warning log every time player kicked by server.
2020-06-20 15:23:02 -04:00
Spottedleaf 0d8594ae94
Fix enderdragon exp dupe
Properly track death stage when unloading/loading in the dragon
2020-06-20 15:04:50 -04:00
Spottedleaf 1cf1ebdc5d
Prevent position desync in teleporting during movement
Caused the server to revert to the player's overworld coordinates
after teleporting into the end.

Sidenote: The underlying issue is that the move call can teleport
entities and do other things like kill the entity. In the future,
to fix all exploits derieved from this usually unexpected
behaviour, we need to move all of this dangerous logic outside
of the move call and into an appropriate place in the tick method.
2020-06-20 14:59:49 -04:00
Spottedleaf 8f28f22ccf
Fix sand not dying correctly
If the falling block dies during teleportation (entity#move), then we need
to detect that by placing a check after the move.
2020-06-20 14:58:35 -04:00
Spottedleaf 96feb68ad9
Fix carpet and rail duping by pistons under same TNT duping config
This renames the config from enable tnt duping to enable piston duping

Normally we would not have a config for rails and carpet duping, but
the fix for TNT is the same fix for rails and carpet, so they are
having to be covered under that same config.
2020-06-20 14:56:08 -04:00
Spottedleaf 3e75d90810
Fix more cases of Bedrock breaking
This is still covered under the setting to re-enable this.
2020-06-20 14:54:17 -04:00
Mariell 01ce3cb0a5
Only complete from cache if ID is given (#3591)
As it stands, one can complete from the cache if no ID is given. If
there is no ID, it will throw an NPE, as ConcurrentHashMap (which is used
in UserCache) does not support null keys. This should fix any current
and future issues where exceptions are thrown just because a UUID is not
currently given on the profile due to a plugin or server bug/issue.

Fixes #3590.
2020-06-20 14:46:57 -04:00
Aikar b68ae39f9a
Revert a change made to getChunkFuture for isUnloading
Talked with leaf on it and understand what its going now even though
it was a hack fix by Spigot, but seems ok.

I had orig made this change thinking it was the source of another
issue but that came out to not be true.

Fixes #3573
2020-06-20 14:37:25 -04:00
Aikar 1f181040dd
Ensure we load chunks for Entity getCubes
Was some other code paths missing the set for loading chunks

Fixes #3582
Fixes #3368

Probably helps with "falling through world" issues too.
2020-06-20 14:25:11 -04:00
Aikar 2a3cb3753f
Optimize Network Manager Closed channel handling and flushing
Adds Netty Channel Flush Consolidation to reduce the amount of flushing
This improves performanceo of netty event loop.

If a problem is encountered with this, you can disable it by adding the java flag:
  -DPaper.disableFlushConsolidate=true

Also avoids spamming closed channel exception by rechecking closed state in dispatch
and then catch exceptions and close if they fire.

This should resolve connections getting stuck spamming ChannelClosed in logs and
let them clean up and close correctly.
2020-06-20 14:25:11 -04:00
Aikar 3dc5ad343f
Improvements to chunk priority / bug fixes
ensure we add missing player tickets even if already full status
remove the player ticket throttler entirely... causes a lot of issues and
our system handles the role that it was serving now too.

increase max delays on farther out chunks load delay

remove -5 priority delay for distant chunks seemed it applied at weird times.

ensure if delay distance manager tick ever got left lingering it unsets on a chunk load.

Fixes #3572
2020-06-20 02:38:59 -04:00
Aikar a70618cd5c
Make Skull Texture Lookup use the User Cache
Spigots cache only cached by name which really was not correct...

Additionally, user cache exposes a cache of any player who has logged in
once this session too even if offline.

Also fixed some quirks with Profile API where we might of had textures
in the cache that we didn't even try to look up.

So this should overall help reduce API calls to Mojang.

Sadly, the User Cache doesn't cache textures, but if that ever
changes in future, we would gain benefit there too.
2020-06-19 22:07:19 -04:00
Aikar 92d1247ee3
Improve light optimizations and fix bugs
Rewrites the Threaded task logic to no longer use 2 queues and instead
keep a single prioritized queue and do all of a chunks light tasks in a single batch

Fix a math issue in one place (Thankfully didn't seem to really be a common place since didn't notice anything)
2020-06-19 19:10:38 -04:00