From adadf16548ad220bf178596f8b9bc0a0ffeaef19 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 6 Aug 2020 22:49:50 -0400 Subject: [PATCH] Drop syncPosition on teleportation patch I'm not sure it was really helping, and now suspecting it might be causing issues Movement sucks --- ...> 0474-Optimize-Voxel-Shape-Merging.patch} | 0 .../0474-Sync-position-on-teleportation.patch | 34 ------------------- ...per-thread-native-byte-buffer-cache.patch} | 0 ...atch => 0476-Implement-Mob-Goal-API.patch} | 0 ...ance-map-to-optimise-entity-tracker.patch} | 6 ++-- ...isOutsideRange-to-use-distance-maps.patch} | 4 +-- ...e-operations-for-updating-light-dat.patch} | 0 ...o-Tick-view-distance-implementation.patch} | 0 ...=> 0481-Add-villager-reputation-API.patch} | 0 ...and.patch => 0482-Fix-Light-Command.patch} | 0 ...-Fix-PotionEffect-ignores-icon-flag.patch} | 0 ...brigadier-child-sorting-performance.patch} | 0 ...ock-unless-actually-showing-the-mes.patch} | 0 ...API.patch => 0486-Potential-bed-API.patch} | 0 ...ait-for-Async-Tasks-during-shutdown.patch} | 2 +- ...er-respects-game-and-entity-rules-f.patch} | 0 ...nd-End-Portal-Frames-from-being-des.patch} | 6 ++-- ...e-NibbleArray-to-use-pooled-buffers.patch} | 0 ...leInt-allocations-from-light-engine.patch} | 0 ...location-of-Vec3D-by-entity-tracker.patch} | 2 +- ...> 0493-Ensure-safe-gateway-teleport.patch} | 2 +- ...-for-console-having-all-permissions.patch} | 2 +- ...und-for-Client-Lag-Spikes-MC-162253.patch} | 6 ++-- ...-Priority-Urgency-System-for-Chunks.patch} | 6 ++-- ...n-Full-Status-Chunk-NBT-Memory-Leak.patch} | 0 ...packets-to-nearby-locations-sounds-.patch} | 0 ...prove-Chunk-Status-Transition-Speed.patch} | 0 ...x-villager-trading-demand-MC-163962.patch} | 0 ... => 0501-Maps-shouldn-t-load-chunks.patch} | 0 ...okup-for-Treasure-Maps-Fixes-lag-fr.patch} | 2 +- ...Optimize-Bit-Operations-by-inlining.patch} | 0 ...patch => 0504-Optimize-Light-Engine.patch} | 0 ...nk-Unloads-based-on-Player-Movement.patch} | 2 +- ...Plugin-Tickets-to-API-Chunk-Methods.patch} | 2 +- ...sing-chunks-due-to-integer-overflow.patch} | 0 ...r-runTaskTimerAsynchronously-Plugin.patch} | 0 ...ton-physics-inconsistency-MC-188840.patch} | 2 +- ...uping.patch => 0510-Fix-sand-duping.patch} | 0 ...desync-in-playerconnection-causing-.patch} | 4 +-- ...ch => 0512-Fix-enderdragon-exp-dupe.patch} | 0 ...older-method-without-block-snapshot.patch} | 0 ...h => 0514-Expose-Arrow-getItemStack.patch} | 0 ...mplement-PlayerRecipeBookClickEvent.patch} | 4 +-- ...-Hide-sync-chunk-writes-behind-flag.patch} | 0 ...it-lightning-strike-effect-distance.patch} | 0 ...8-Add-permission-for-command-blocks.patch} | 6 ++-- ...ure-Entity-AABB-s-are-never-invalid.patch} | 2 +- ...orldBorder-collision-checks-and-air.patch} | 2 +- ...d-Difficulty-Remembering-Difficulty.patch} | 6 ++-- ...atch => 0522-Paper-dumpitem-command.patch} | 2 +- ...23-Don-t-allow-null-UUID-s-for-chat.patch} | 0 ...Legacy-Component-serialization-size.patch} | 0 ...525-Support-old-UUID-format-for-NBT.patch} | 0 ...p-duplicated-GameProfile-Properties.patch} | 0 ...vert-legacy-attributes-in-Item-Meta.patch} | 0 ...Remove-some-streams-from-structures.patch} | 0 ...rom-classes-related-villager-gossip.patch} | 0 ...0530-Support-components-in-ItemMeta.patch} | 0 ...rgetLivingEntityEvent-for-1.16-mobs.patch} | 0 ...patch => 0532-Add-entity-liquid-API.patch} | 0 ...date-itemstack-legacy-name-and-lore.patch} | 0 ...wn-player-in-correct-world-on-login.patch} | 0 ...atch => 0535-Add-PrepareResultEvent.patch} | 0 ...low-delegation-to-vanilla-chunk-gen.patch} | 0 ...-for-portal-on-world-gen-entity-add.patch} | 2 +- ...e-NetworkManager-Exception-Handling.patch} | 0 ...x-Concurrency-issue-in-WeightedList.patch} | 0 ...ncement-data-player-iteration-to-be.patch} | 0 ...x-arrows-never-despawning-MC-125757.patch} | 0 ...Vanilla-Command-permission-checking.patch} | 0 ...ve-range-check-for-block-placing-up.patch} | 4 +-- ...-5989.patch => 0544-Fix-SPIGOT-5989.patch} | 0 ...-Bukkit-world-container-is-not-used.patch} | 0 ...5885-Unable-to-disable-advancements.patch} | 0 ...taPlayer-leak-due-from-quitting-ear.patch} | 0 ...eLighting-call-to-World-spigot-stri.patch} | 2 +- ...ix-some-rails-connecting-improperly.patch} | 0 77 files changed, 39 insertions(+), 73 deletions(-) rename Spigot-Server-Patches/{0475-Optimize-Voxel-Shape-Merging.patch => 0474-Optimize-Voxel-Shape-Merging.patch} (100%) delete mode 100644 Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch rename Spigot-Server-Patches/{0476-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch => 0475-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch} (100%) rename Spigot-Server-Patches/{0477-Implement-Mob-Goal-API.patch => 0476-Implement-Mob-Goal-API.patch} (100%) rename Spigot-Server-Patches/{0478-Use-distance-map-to-optimise-entity-tracker.patch => 0477-Use-distance-map-to-optimise-entity-tracker.patch} (98%) rename Spigot-Server-Patches/{0479-Optimize-isOutsideRange-to-use-distance-maps.patch => 0478-Optimize-isOutsideRange-to-use-distance-maps.patch} (99%) rename Spigot-Server-Patches/{0480-Stop-copy-on-write-operations-for-updating-light-dat.patch => 0479-Stop-copy-on-write-operations-for-updating-light-dat.patch} (100%) rename Spigot-Server-Patches/{0481-No-Tick-view-distance-implementation.patch => 0480-No-Tick-view-distance-implementation.patch} (100%) rename Spigot-Server-Patches/{0482-Add-villager-reputation-API.patch => 0481-Add-villager-reputation-API.patch} (100%) rename Spigot-Server-Patches/{0483-Fix-Light-Command.patch => 0482-Fix-Light-Command.patch} (100%) rename Spigot-Server-Patches/{0484-Fix-PotionEffect-ignores-icon-flag.patch => 0483-Fix-PotionEffect-ignores-icon-flag.patch} (100%) rename Spigot-Server-Patches/{0485-Optimize-brigadier-child-sorting-performance.patch => 0484-Optimize-brigadier-child-sorting-performance.patch} (100%) rename Spigot-Server-Patches/{0486-Don-t-toString-block-unless-actually-showing-the-mes.patch => 0485-Don-t-toString-block-unless-actually-showing-the-mes.patch} (100%) rename Spigot-Server-Patches/{0487-Potential-bed-API.patch => 0486-Potential-bed-API.patch} (100%) rename Spigot-Server-Patches/{0488-Wait-for-Async-Tasks-during-shutdown.patch => 0487-Wait-for-Async-Tasks-during-shutdown.patch} (96%) rename Spigot-Server-Patches/{0489-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch => 0488-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch} (100%) rename Spigot-Server-Patches/{0490-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch => 0489-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch} (97%) rename Spigot-Server-Patches/{0491-Optimize-NibbleArray-to-use-pooled-buffers.patch => 0490-Optimize-NibbleArray-to-use-pooled-buffers.patch} (100%) rename Spigot-Server-Patches/{0492-Reduce-MutableInt-allocations-from-light-engine.patch => 0491-Reduce-MutableInt-allocations-from-light-engine.patch} (100%) rename Spigot-Server-Patches/{0493-Reduce-allocation-of-Vec3D-by-entity-tracker.patch => 0492-Reduce-allocation-of-Vec3D-by-entity-tracker.patch} (97%) rename Spigot-Server-Patches/{0494-Ensure-safe-gateway-teleport.patch => 0493-Ensure-safe-gateway-teleport.patch} (92%) rename Spigot-Server-Patches/{0495-Add-option-for-console-having-all-permissions.patch => 0494-Add-option-for-console-having-all-permissions.patch} (96%) rename Spigot-Server-Patches/{0496-Workaround-for-Client-Lag-Spikes-MC-162253.patch => 0495-Workaround-for-Client-Lag-Spikes-MC-162253.patch} (95%) rename Spigot-Server-Patches/{0497-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch => 0496-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch} (99%) rename Spigot-Server-Patches/{0498-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch => 0497-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch} (100%) rename Spigot-Server-Patches/{0499-Optimize-sending-packets-to-nearby-locations-sounds-.patch => 0498-Optimize-sending-packets-to-nearby-locations-sounds-.patch} (100%) rename Spigot-Server-Patches/{0500-Improve-Chunk-Status-Transition-Speed.patch => 0499-Improve-Chunk-Status-Transition-Speed.patch} (100%) rename Spigot-Server-Patches/{0501-Fix-villager-trading-demand-MC-163962.patch => 0500-Fix-villager-trading-demand-MC-163962.patch} (100%) rename Spigot-Server-Patches/{0502-Maps-shouldn-t-load-chunks.patch => 0501-Maps-shouldn-t-load-chunks.patch} (100%) rename Spigot-Server-Patches/{0503-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch => 0502-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch} (94%) rename Spigot-Server-Patches/{0504-Optimize-Bit-Operations-by-inlining.patch => 0503-Optimize-Bit-Operations-by-inlining.patch} (100%) rename Spigot-Server-Patches/{0505-Optimize-Light-Engine.patch => 0504-Optimize-Light-Engine.patch} (100%) rename Spigot-Server-Patches/{0506-Delay-Chunk-Unloads-based-on-Player-Movement.patch => 0505-Delay-Chunk-Unloads-based-on-Player-Movement.patch} (98%) rename Spigot-Server-Patches/{0507-Add-Plugin-Tickets-to-API-Chunk-Methods.patch => 0506-Add-Plugin-Tickets-to-API-Chunk-Methods.patch} (98%) rename Spigot-Server-Patches/{0508-Fix-missing-chunks-due-to-integer-overflow.patch => 0507-Fix-missing-chunks-due-to-integer-overflow.patch} (100%) rename Spigot-Server-Patches/{0509-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch => 0508-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch} (100%) rename Spigot-Server-Patches/{0510-Fix-piston-physics-inconsistency-MC-188840.patch => 0509-Fix-piston-physics-inconsistency-MC-188840.patch} (98%) rename Spigot-Server-Patches/{0511-Fix-sand-duping.patch => 0510-Fix-sand-duping.patch} (100%) rename Spigot-Server-Patches/{0512-Prevent-position-desync-in-playerconnection-causing-.patch => 0511-Prevent-position-desync-in-playerconnection-causing-.patch} (91%) rename Spigot-Server-Patches/{0513-Fix-enderdragon-exp-dupe.patch => 0512-Fix-enderdragon-exp-dupe.patch} (100%) rename Spigot-Server-Patches/{0514-Inventory-getHolder-method-without-block-snapshot.patch => 0513-Inventory-getHolder-method-without-block-snapshot.patch} (100%) rename Spigot-Server-Patches/{0515-Expose-Arrow-getItemStack.patch => 0514-Expose-Arrow-getItemStack.patch} (100%) rename Spigot-Server-Patches/{0516-Add-and-implement-PlayerRecipeBookClickEvent.patch => 0515-Add-and-implement-PlayerRecipeBookClickEvent.patch} (92%) rename Spigot-Server-Patches/{0517-Hide-sync-chunk-writes-behind-flag.patch => 0516-Hide-sync-chunk-writes-behind-flag.patch} (100%) rename Spigot-Server-Patches/{0518-Limit-lightning-strike-effect-distance.patch => 0517-Limit-lightning-strike-effect-distance.patch} (100%) rename Spigot-Server-Patches/{0519-Add-permission-for-command-blocks.patch => 0518-Add-permission-for-command-blocks.patch} (96%) rename Spigot-Server-Patches/{0520-Ensure-Entity-AABB-s-are-never-invalid.patch => 0519-Ensure-Entity-AABB-s-are-never-invalid.patch} (98%) rename Spigot-Server-Patches/{0521-Optimize-WorldBorder-collision-checks-and-air.patch => 0520-Optimize-WorldBorder-collision-checks-and-air.patch} (97%) rename Spigot-Server-Patches/{0522-Fix-Per-World-Difficulty-Remembering-Difficulty.patch => 0521-Fix-Per-World-Difficulty-Remembering-Difficulty.patch} (94%) rename Spigot-Server-Patches/{0523-Paper-dumpitem-command.patch => 0522-Paper-dumpitem-command.patch} (96%) rename Spigot-Server-Patches/{0524-Don-t-allow-null-UUID-s-for-chat.patch => 0523-Don-t-allow-null-UUID-s-for-chat.patch} (100%) rename Spigot-Server-Patches/{0525-Improve-Legacy-Component-serialization-size.patch => 0524-Improve-Legacy-Component-serialization-size.patch} (100%) rename Spigot-Server-Patches/{0526-Support-old-UUID-format-for-NBT.patch => 0525-Support-old-UUID-format-for-NBT.patch} (100%) rename Spigot-Server-Patches/{0527-Clean-up-duplicated-GameProfile-Properties.patch => 0526-Clean-up-duplicated-GameProfile-Properties.patch} (100%) rename Spigot-Server-Patches/{0528-Convert-legacy-attributes-in-Item-Meta.patch => 0527-Convert-legacy-attributes-in-Item-Meta.patch} (100%) rename Spigot-Server-Patches/{0529-Remove-some-streams-from-structures.patch => 0528-Remove-some-streams-from-structures.patch} (100%) rename Spigot-Server-Patches/{0530-Remove-streams-from-classes-related-villager-gossip.patch => 0529-Remove-streams-from-classes-related-villager-gossip.patch} (100%) rename Spigot-Server-Patches/{0531-Support-components-in-ItemMeta.patch => 0530-Support-components-in-ItemMeta.patch} (100%) rename Spigot-Server-Patches/{0532-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch => 0531-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch} (100%) rename Spigot-Server-Patches/{0533-Add-entity-liquid-API.patch => 0532-Add-entity-liquid-API.patch} (100%) rename Spigot-Server-Patches/{0534-Update-itemstack-legacy-name-and-lore.patch => 0533-Update-itemstack-legacy-name-and-lore.patch} (100%) rename Spigot-Server-Patches/{0535-Spawn-player-in-correct-world-on-login.patch => 0534-Spawn-player-in-correct-world-on-login.patch} (100%) rename Spigot-Server-Patches/{0536-Add-PrepareResultEvent.patch => 0535-Add-PrepareResultEvent.patch} (100%) rename Spigot-Server-Patches/{0537-Allow-delegation-to-vanilla-chunk-gen.patch => 0536-Allow-delegation-to-vanilla-chunk-gen.patch} (100%) rename Spigot-Server-Patches/{0538-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch => 0537-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch} (90%) rename Spigot-Server-Patches/{0539-Optimize-NetworkManager-Exception-Handling.patch => 0538-Optimize-NetworkManager-Exception-Handling.patch} (100%) rename Spigot-Server-Patches/{0540-Fix-Concurrency-issue-in-WeightedList.patch => 0539-Fix-Concurrency-issue-in-WeightedList.patch} (100%) rename Spigot-Server-Patches/{0541-Optimize-the-advancement-data-player-iteration-to-be.patch => 0540-Optimize-the-advancement-data-player-iteration-to-be.patch} (100%) rename Spigot-Server-Patches/{0542-Fix-arrows-never-despawning-MC-125757.patch => 0541-Fix-arrows-never-despawning-MC-125757.patch} (100%) rename Spigot-Server-Patches/{0543-Thread-Safe-Vanilla-Command-permission-checking.patch => 0542-Thread-Safe-Vanilla-Command-permission-checking.patch} (100%) rename Spigot-Server-Patches/{0544-Move-range-check-for-block-placing-up.patch => 0543-Move-range-check-for-block-placing-up.patch} (94%) rename Spigot-Server-Patches/{0545-Fix-SPIGOT-5989.patch => 0544-Fix-SPIGOT-5989.patch} (100%) rename Spigot-Server-Patches/{0546-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch => 0545-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch} (100%) rename Spigot-Server-Patches/{0547-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch => 0546-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch} (100%) rename Spigot-Server-Patches/{0548-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch => 0547-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch} (100%) rename Spigot-Server-Patches/{0549-Add-missing-strikeLighting-call-to-World-spigot-stri.patch => 0548-Add-missing-strikeLighting-call-to-World-spigot-stri.patch} (89%) rename Spigot-Server-Patches/{0550-Fix-some-rails-connecting-improperly.patch => 0549-Fix-some-rails-connecting-improperly.patch} (100%) diff --git a/Spigot-Server-Patches/0475-Optimize-Voxel-Shape-Merging.patch b/Spigot-Server-Patches/0474-Optimize-Voxel-Shape-Merging.patch similarity index 100% rename from Spigot-Server-Patches/0475-Optimize-Voxel-Shape-Merging.patch rename to Spigot-Server-Patches/0474-Optimize-Voxel-Shape-Merging.patch diff --git a/Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch b/Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch deleted file mode 100644 index 83099f36b2..0000000000 --- a/Spigot-Server-Patches/0474-Sync-position-on-teleportation.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Sun, 3 May 2020 14:25:55 -0400 -Subject: [PATCH] Sync position on teleportation - -We've seen many a cases where the "last good" x/y/z is desynced from -the x/y/z that is checked for moving too fast. - -Theory is that when you have multiple movement packets queued up, -and the player is teleported after the first then the 2nd and 3rd come in, -it is triggering a massive movement velocity. - -This will ensure that the servers position is synchronized anytime player is teleported. - -diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 0ece15a8457debc7d8343c894b060e81be845488..7fd991fd3994a18625c193aeb15ed521d3b6a447 100644 ---- a/src/main/java/net/minecraft/server/PlayerConnection.java -+++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -501,6 +501,7 @@ public class PlayerConnection implements PacketListenerPlayIn { - this.o = this.teleportPos.x; - this.p = this.teleportPos.y; - this.q = this.teleportPos.z; -+ this.syncPosition(); // Paper - if (this.player.H()) { - this.player.I(); - } -@@ -1300,6 +1301,7 @@ public class PlayerConnection implements PacketListenerPlayIn { - - this.A = this.e; - this.player.setLocation(d0, d1, d2, f, f1); -+ this.syncPosition(); // Paper - this.player.playerConnection.sendPacket(new PacketPlayOutPosition(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.teleportAwait)); - } - diff --git a/Spigot-Server-Patches/0476-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/Spigot-Server-Patches/0475-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch similarity index 100% rename from Spigot-Server-Patches/0476-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch rename to Spigot-Server-Patches/0475-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch diff --git a/Spigot-Server-Patches/0477-Implement-Mob-Goal-API.patch b/Spigot-Server-Patches/0476-Implement-Mob-Goal-API.patch similarity index 100% rename from Spigot-Server-Patches/0477-Implement-Mob-Goal-API.patch rename to Spigot-Server-Patches/0476-Implement-Mob-Goal-API.patch diff --git a/Spigot-Server-Patches/0478-Use-distance-map-to-optimise-entity-tracker.patch b/Spigot-Server-Patches/0477-Use-distance-map-to-optimise-entity-tracker.patch similarity index 98% rename from Spigot-Server-Patches/0478-Use-distance-map-to-optimise-entity-tracker.patch rename to Spigot-Server-Patches/0477-Use-distance-map-to-optimise-entity-tracker.patch index 96251a29bd..f414762158 100644 --- a/Spigot-Server-Patches/0478-Use-distance-map-to-optimise-entity-tracker.patch +++ b/Spigot-Server-Patches/0477-Use-distance-map-to-optimise-entity-tracker.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use distance map to optimise entity tracker Use the distance map to find candidate players for tracking. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 449a687399f38d3ef79685ff80531cf1212f054a..3bbacebc3397f2c1d695f64bf3f4eb2b89b112b6 100644 +index 22ebf74762f543316800016dcca67ebad84d2ec9..af9f906b4eb806c73f8ec98ea562393c2b48419e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -245,6 +245,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -44,7 +44,7 @@ index 9b89c0c8a3f1dada4e9b2aaeed0b92e56229b7ca..0c46297e6ff229538d77b2f481e4ab13 List list = this.tracker.getPassengers(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fb65978d783a91b341658e0ebe393ab77153a0d9..752ef8c1f99c6ef224e4df0c544f7894c2b3d3ab 100644 +index 8b7c64c0d2315ba3ad70d0104511bfa9f7a64d35..31ce31936a5100f0512103c70c09d097dac64863 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1527,6 +1527,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant