From 303fbc35083276886c9d310f83e76872cd515c12 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Tue, 21 Apr 2020 13:55:39 +0200 Subject: [PATCH] Update Upstream --- Tuinity | 2 +- patches/server/0002-Brandings.patch | 16 +- .../server/0004-EMC-PlayerUseItem-Event.patch | 14 +- patches/server/0011-EMC-Disable-Snooper.patch | 6 +- patches/server/0017-EMC-Accept-the-EULA.patch | 6 +- ...hutdownEvent-and-move-disablePlugins.patch | 10 +- ...it.createInventory-with-type-LECTERN.patch | 10 +- ...save-entities-with-player-passengers.patch | 46 --- ...Purpur-Disable-outdated-build-check.patch} | 4 +- ...ed-server-showing-in-ping-before-se.patch} | 4 +- ...038-Don-t-save-Fireworks-and-Arrows.patch} | 6 +- ... => 0039-Add-GameProfileLookupEvent.patch} | 6 +- ...patch => 0040-Add-getLastTickMs-api.patch} | 18 +- ...ig-yapfa-command-and-basic-settings.patch} | 16 +- ... 0042-Kill-the-vanilla-GameProfiler.patch} | 8 +- ...write-Pathfinder-to-not-use-Streams.patch} | 4 +- ...e.patch => 0044-Remove-Stream-usage.patch} | 24 +- ...ly-players-to-have-collisions-with-.patch} | 20 +- ...aviorController-with-99-less-Streams.patch | 270 ------------------ ...low-to-change-the-piston-push-limit.patch} | 6 +- ...dd-option-for-pushable-TileEntities.patch} | 16 +- ...0048-Add-NBT-API-as-first-class-lib.patch} | 4 +- ... => 0049-Player-saving-async-FileIO.patch} | 12 +- ...-method-to-call-itself-more-than-on.patch} | 4 +- ...le-I-O-operation-on-load-player-fil.patch} | 4 +- ...=> 0052-Akarin-Save-json-list-async.patch} | 4 +- 26 files changed, 113 insertions(+), 427 deletions(-) delete mode 100644 patches/server/0036-EMC-Do-not-save-entities-with-player-passengers.patch rename patches/server/{0037-Purpur-Disable-outdated-build-check.patch => 0036-Purpur-Disable-outdated-build-check.patch} (92%) rename patches/server/{0038-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch => 0037-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch} (91%) rename patches/server/{0039-Don-t-save-Fireworks-and-Arrows.patch => 0038-Don-t-save-Fireworks-and-Arrows.patch} (84%) rename patches/server/{0040-Add-GameProfileLookupEvent.patch => 0039-Add-GameProfileLookupEvent.patch} (96%) rename patches/server/{0041-Add-getLastTickMs-api.patch => 0040-Add-getLastTickMs-api.patch} (86%) rename patches/server/{0042-Add-config-yapfa-command-and-basic-settings.patch => 0041-Add-config-yapfa-command-and-basic-settings.patch} (98%) rename patches/server/{0043-Kill-the-vanilla-GameProfiler.patch => 0042-Kill-the-vanilla-GameProfiler.patch} (93%) rename patches/server/{0044-Rewrite-Pathfinder-to-not-use-Streams.patch => 0043-Rewrite-Pathfinder-to-not-use-Streams.patch} (96%) rename patches/server/{0046-Remove-Stream-usage.patch => 0044-Remove-Stream-usage.patch} (98%) rename patches/server/{0047-Add-option-for-only-players-to-have-collisions-with-.patch => 0045-Add-option-for-only-players-to-have-collisions-with-.patch} (71%) delete mode 100644 patches/server/0045-Rewrite-BehaviorController-with-99-less-Streams.patch rename patches/server/{0048-Allow-to-change-the-piston-push-limit.patch => 0046-Allow-to-change-the-piston-push-limit.patch} (94%) rename patches/server/{0049-Add-option-for-pushable-TileEntities.patch => 0047-Add-option-for-pushable-TileEntities.patch} (98%) rename patches/server/{0050-Add-NBT-API-as-first-class-lib.patch => 0048-Add-NBT-API-as-first-class-lib.patch} (90%) rename patches/server/{0051-Player-saving-async-FileIO.patch => 0049-Player-saving-async-FileIO.patch} (97%) rename patches/server/{0052-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch => 0050-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch} (98%) rename patches/server/{0053-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch => 0051-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch} (94%) rename patches/server/{0054-Akarin-Save-json-list-async.patch => 0052-Akarin-Save-json-list-async.patch} (94%) diff --git a/Tuinity b/Tuinity index 07293738..54d751f5 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit 0729373893c21b3f0c83fb0837378a005d254af7 +Subproject commit 54d751f5f4d80ae0b51be5a291a27b1405f8c1b7 diff --git a/patches/server/0002-Brandings.patch b/patches/server/0002-Brandings.patch index 46e94150..48b922bf 100644 --- a/patches/server/0002-Brandings.patch +++ b/patches/server/0002-Brandings.patch @@ -1,4 +1,4 @@ -From 36516ccb01023875133b10250ed9110888863227 Mon Sep 17 00:00:00 2001 +From 1ca18822518ccf66bdb6f7320c3efc6764abb315 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Wed, 26 Feb 2020 18:37:34 +0100 Subject: [PATCH] Brandings @@ -14,7 +14,7 @@ Subject: [PATCH] Brandings create mode 100644 src/main/java/de/tr7zw/yapfa/YapfaVersionFetcher.java diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java -index cd6e25923..e3599d115 100644 +index cd6e259239..e3599d115f 100644 --- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -18,6 +18,7 @@ public final class PaperConsole extends SimpleTerminalConsole { @@ -27,7 +27,7 @@ index cd6e25923..e3599d115 100644 } diff --git a/src/main/java/de/tr7zw/yapfa/YapfaVersionFetcher.java b/src/main/java/de/tr7zw/yapfa/YapfaVersionFetcher.java new file mode 100644 -index 000000000..b7a73408e +index 0000000000..b7a73408ea --- /dev/null +++ b/src/main/java/de/tr7zw/yapfa/YapfaVersionFetcher.java @@ -0,0 +1,20 @@ @@ -53,10 +53,10 @@ index 000000000..b7a73408e +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f16381ef3..c96fb4333 100644 +index 705f6c95e7..5ea4964a85 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1500,7 +1500,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 22 Dec 2012 00:35:15 -0500 Subject: [PATCH] EMC PlayerUseItem Event @@ -10,7 +10,7 @@ This lets us control when an item is consumed and change the item. 2 files changed, 78 insertions(+), 14 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ad474500..671fa069 100644 +index dfb9421a15..94e3a48bb2 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1899,7 +1899,7 @@ public abstract class EntityLiving extends Entity { @@ -23,10 +23,10 @@ index ad474500..671fa069 100644 this.setSlot(EnumItemSlot.MAINHAND, itemstack); } else { diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 1b60310b..3f358ec5 100644 +index 35003b3eec..e142db00c4 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -412,6 +412,15 @@ public class PlayerInteractManager { +@@ -414,6 +414,15 @@ public class PlayerInteractManager { } public EnumInteractionResult a(EntityHuman entityhuman, World world, ItemStack itemstack, EnumHand enumhand) { @@ -42,7 +42,7 @@ index 1b60310b..3f358ec5 100644 if (this.gamemode == EnumGamemode.SPECTATOR) { return EnumInteractionResult.PASS; } else if (entityhuman.getCooldownTracker().hasCooldown(itemstack.getItem())) { -@@ -419,27 +428,53 @@ public class PlayerInteractManager { +@@ -421,27 +430,53 @@ public class PlayerInteractManager { } else { int i = itemstack.getCount(); int j = itemstack.getDamage(); @@ -102,7 +102,7 @@ index 1b60310b..3f358ec5 100644 ((EntityPlayer) entityhuman).updateInventory(entityhuman.defaultContainer); } -@@ -453,6 +488,7 @@ public class PlayerInteractManager { +@@ -455,6 +490,7 @@ public class PlayerInteractManager { public boolean firedInteract = false; public EnumInteractionResult a(EntityHuman entityhuman, World world, ItemStack itemstack, EnumHand enumhand, MovingObjectPositionBlock movingobjectpositionblock) { BlockPosition blockposition = movingobjectpositionblock.getBlockPosition(); @@ -110,7 +110,7 @@ index 1b60310b..3f358ec5 100644 IBlockData iblockdata = world.getType(blockposition); EnumInteractionResult enuminteractionresult = EnumInteractionResult.PASS; boolean cancelledBlock = false; -@@ -520,17 +556,45 @@ public class PlayerInteractManager { +@@ -522,17 +558,45 @@ public class PlayerInteractManager { } if (!itemstack.isEmpty() && enuminteractionresult != EnumInteractionResult.SUCCESS && !interactResult) { // add !interactResult SPIGOT-764 diff --git a/patches/server/0011-EMC-Disable-Snooper.patch b/patches/server/0011-EMC-Disable-Snooper.patch index 6b6c00dc..a578104d 100644 --- a/patches/server/0011-EMC-Disable-Snooper.patch +++ b/patches/server/0011-EMC-Disable-Snooper.patch @@ -1,4 +1,4 @@ -From 9c05c32d6b47d05d3951ca94e1115e99300beb9c Mon Sep 17 00:00:00 2001 +From 659f4dd7e209ebc4b7d8999326235c699866529d Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 10 Jan 2014 22:05:59 -0500 Subject: [PATCH] EMC Disable Snooper @@ -9,10 +9,10 @@ What purpose does it provide... 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c96fb4333..c356163b8 100644 +index 5ea4964a85..4591e49988 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1157,11 +1157,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 5 Sep 2014 23:04:54 -0400 Subject: [PATCH] EMC Accept the EULA @@ -9,10 +9,10 @@ Starlis LLC, the owner of Empire Minecraft, accepts the Minecraft EULA with this 1 file changed, 1 insertion(+) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c356163b8..0e9b2d718 100644 +index 4591e49988..f4a0104799 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1359,6 +1359,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 8 May 2015 19:56:21 -0400 Subject: [PATCH] EMC ServerShutdownEvent and move disablePlugins @@ -8,7 +8,7 @@ Subject: [PATCH] EMC ServerShutdownEvent and move disablePlugins 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0e9b2d718..20e318396 100644 +index f4a0104799..01c509dca0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -99,6 +99,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 16 Aug 2019 22:18:35 -0400 Subject: [PATCH] EMC Fix Bukkit.createInventory() with type LECTERN @@ -28,7 +28,7 @@ License: https://opensource.org/licenses/MIT 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/TileEntityLectern.java b/src/main/java/net/minecraft/server/TileEntityLectern.java -index 6c2b48bdb..ab1c15e0d 100644 +index 6c2b48bdbe..ab1c15e0d1 100644 --- a/src/main/java/net/minecraft/server/TileEntityLectern.java +++ b/src/main/java/net/minecraft/server/TileEntityLectern.java @@ -18,6 +18,11 @@ public class TileEntityLectern extends TileEntity implements Clearable, ITileInv @@ -95,7 +95,7 @@ index 6c2b48bdb..ab1c15e0d 100644 if (this.world != null) BlockLectern.a(this.getWorld(), this.getPosition(), this.getBlock()); // CraftBukkit } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 5dfa8eb79..d0069cfe5 100644 +index 211e759a9c..f9fe30f993 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -31,6 +31,7 @@ import net.minecraft.server.PacketPlayInCloseWindow; @@ -106,7 +106,7 @@ index 5dfa8eb79..d0069cfe5 100644 import net.minecraft.server.Vec3D; import org.bukkit.GameMode; import org.bukkit.Location; -@@ -317,6 +318,11 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -318,6 +319,11 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { if (craft.getInventory() instanceof ITileInventory) { iinventory = (ITileInventory) craft.getInventory(); } @@ -119,7 +119,7 @@ index 5dfa8eb79..d0069cfe5 100644 if (iinventory instanceof ITileInventory) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java -index 32b36c70a..f0c1d6110 100644 +index 32b36c70ae..f0c1d61104 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java @@ -126,8 +126,19 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat diff --git a/patches/server/0036-EMC-Do-not-save-entities-with-player-passengers.patch b/patches/server/0036-EMC-Do-not-save-entities-with-player-passengers.patch deleted file mode 100644 index 38a14913..00000000 --- a/patches/server/0036-EMC-Do-not-save-entities-with-player-passengers.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 979580a2ffb58f7903fbddf2ef26203797535c79 Mon Sep 17 00:00:00 2001 -From: chickeneer -Date: Wed, 22 Jan 2020 01:22:34 -0600 -Subject: [PATCH] EMC Do not save entities with player passengers - ---- - .../net/minecraft/server/ChunkRegionLoader.java | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index d529b795..1b2b73b8 100644 ---- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java -+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -452,7 +452,7 @@ public class ChunkRegionLoader { - if (asyncsavedata == null) toUpdate.add(entity); // todo fix this broken code, entityJoinedWorld wont work in this case! - continue; - } -- if (asyncsavedata == null && entity.dead) { // todo -+ if (asyncsavedata == null && (entity.dead || hasPlayerPassenger(entity))) { // todo // Paper - Add hasPlayerPassenger continue - continue; - } - // Paper end -@@ -533,6 +533,20 @@ public class ChunkRegionLoader { - return nbttagcompound; - } - -+ // Paper start -+ private static boolean hasPlayerPassenger(Entity entity) { -+ for (Entity passenger : entity.passengers) { -+ if (passenger instanceof EntityPlayer) { -+ return true; -+ } -+ if (hasPlayerPassenger(passenger)) { -+ return true; -+ } -+ } -+ return false; -+ } -+ // Paper end -+ - // Paper start - public static ChunkStatus getStatus(NBTTagCompound compound) { - if (compound == null) { --- -2.25.1.windows.1 - diff --git a/patches/server/0037-Purpur-Disable-outdated-build-check.patch b/patches/server/0036-Purpur-Disable-outdated-build-check.patch similarity index 92% rename from patches/server/0037-Purpur-Disable-outdated-build-check.patch rename to patches/server/0036-Purpur-Disable-outdated-build-check.patch index d2cebead..1a559229 100644 --- a/patches/server/0037-Purpur-Disable-outdated-build-check.patch +++ b/patches/server/0036-Purpur-Disable-outdated-build-check.patch @@ -1,4 +1,4 @@ -From 9339c992bd089a91513ff682736b5c44da787cd8 Mon Sep 17 00:00:00 2001 +From 162877ebd799cb0c6b3905fd73655c76c03183e8 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 15 Dec 2019 12:53:59 -0600 Subject: [PATCH] Purpur Disable outdated build check @@ -8,7 +8,7 @@ Subject: [PATCH] Purpur Disable outdated build check 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 2666940e..a9f2229c 100644 +index 6c3a488f4b..d1f24a6e0a 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -219,7 +219,7 @@ public class Main { diff --git a/patches/server/0038-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch b/patches/server/0037-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch similarity index 91% rename from patches/server/0038-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch rename to patches/server/0037-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch index 05753107..cb736397 100644 --- a/patches/server/0038-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch +++ b/patches/server/0037-Purpur-Fix-outdated-server-showing-in-ping-before-se.patch @@ -1,4 +1,4 @@ -From e1b1e0acbd42a95d1e5c3c82f952ff2f6cf6e8c5 Mon Sep 17 00:00:00 2001 +From 5b5081e34a823b163778744944f703e0bf16c08b Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 4 Jun 2019 15:50:08 -0500 Subject: [PATCH] Purpur Fix 'outdated server' showing in ping before server @@ -9,7 +9,7 @@ Subject: [PATCH] Purpur Fix 'outdated server' showing in ping before server 1 file changed, 1 insertion(+) diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java -index 4bb21c48..30f16db0 100644 +index 4bb21c48bd..30f16db02c 100644 --- a/src/main/java/net/minecraft/server/PacketStatusListener.java +++ b/src/main/java/net/minecraft/server/PacketStatusListener.java @@ -135,6 +135,7 @@ public class PacketStatusListener implements PacketStatusInListener { diff --git a/patches/server/0039-Don-t-save-Fireworks-and-Arrows.patch b/patches/server/0038-Don-t-save-Fireworks-and-Arrows.patch similarity index 84% rename from patches/server/0039-Don-t-save-Fireworks-and-Arrows.patch rename to patches/server/0038-Don-t-save-Fireworks-and-Arrows.patch index 176bfc81..13c13ff2 100644 --- a/patches/server/0039-Don-t-save-Fireworks-and-Arrows.patch +++ b/patches/server/0038-Don-t-save-Fireworks-and-Arrows.patch @@ -1,4 +1,4 @@ -From 99c868e6ecc390c00ea88ea1b07b348d83c1ae18 Mon Sep 17 00:00:00 2001 +From 2e02837343e76874432755e9ead8042336db131b Mon Sep 17 00:00:00 2001 From: tr7zw Date: Wed, 26 Feb 2020 21:39:58 +0100 Subject: [PATCH] Don't save Fireworks and Arrows @@ -8,10 +8,10 @@ Subject: [PATCH] Don't save Fireworks and Arrows 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index fb786acf6..25fad49eb 100644 +index 10dc74fb7d..d8b09fb95c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1610,7 +1610,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1611,7 +1611,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean c(NBTTagCompound nbttagcompound) { diff --git a/patches/server/0040-Add-GameProfileLookupEvent.patch b/patches/server/0039-Add-GameProfileLookupEvent.patch similarity index 96% rename from patches/server/0040-Add-GameProfileLookupEvent.patch rename to patches/server/0039-Add-GameProfileLookupEvent.patch index aa234ac2..783926b2 100644 --- a/patches/server/0040-Add-GameProfileLookupEvent.patch +++ b/patches/server/0039-Add-GameProfileLookupEvent.patch @@ -1,4 +1,4 @@ -From f3d5def9a1faac55232b4c258ec5f3c36ae81ede Mon Sep 17 00:00:00 2001 +From 26d47218c13c1b533eb613b88fe86bf93112911d Mon Sep 17 00:00:00 2001 From: tr7zw Date: Wed, 26 Feb 2020 22:22:02 +0100 Subject: [PATCH] Add GameProfileLookupEvent @@ -9,7 +9,7 @@ Subject: [PATCH] Add GameProfileLookupEvent 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java -index b151a13c..a37db9a5 100644 +index b151a13c1b..a37db9a55a 100644 --- a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java +++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java @@ -5,8 +5,12 @@ import com.google.common.base.Charsets; @@ -49,7 +49,7 @@ index b151a13c..a37db9a5 100644 return profile.isComplete() && (!isOnlineMode || !textures || hasTextures()); } diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java -index 0882d82c..62607f49 100644 +index 0882d82cef..62607f495f 100644 --- a/src/main/java/net/minecraft/server/TileEntitySkull.java +++ b/src/main/java/net/minecraft/server/TileEntitySkull.java @@ -4,9 +4,14 @@ import com.google.common.collect.Iterables; diff --git a/patches/server/0041-Add-getLastTickMs-api.patch b/patches/server/0040-Add-getLastTickMs-api.patch similarity index 86% rename from patches/server/0041-Add-getLastTickMs-api.patch rename to patches/server/0040-Add-getLastTickMs-api.patch index bfc3f4b5..5eba8403 100644 --- a/patches/server/0041-Add-getLastTickMs-api.patch +++ b/patches/server/0040-Add-getLastTickMs-api.patch @@ -1,4 +1,4 @@ -From 4982075f1218213d9c347e80638ada92db49e86c Mon Sep 17 00:00:00 2001 +From 9cedcad70e04988113afb65264cfe900ab09b2e8 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Thu, 5 Mar 2020 21:13:33 +0100 Subject: [PATCH] Add getLastTickMs() api @@ -10,10 +10,10 @@ Subject: [PATCH] Add getLastTickMs() api 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 20e318396..a68c91686 100644 +index 01c509dca0..b7ddbbb6f1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -888,6 +888,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 5 Mar 2020 22:31:50 +0100 Subject: [PATCH] Add config, yapfa command and basic settings @@ -15,7 +15,7 @@ Subject: [PATCH] Add config, yapfa command and basic settings diff --git a/src/main/java/de/tr7zw/yapfa/YapfaCommand.java b/src/main/java/de/tr7zw/yapfa/YapfaCommand.java new file mode 100644 -index 000000000..76d83f3db +index 0000000000..76d83f3db4 --- /dev/null +++ b/src/main/java/de/tr7zw/yapfa/YapfaCommand.java @@ -0,0 +1,129 @@ @@ -151,7 +151,7 @@ index 000000000..76d83f3db \ No newline at end of file diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java new file mode 100644 -index 000000000..9711cbc52 +index 0000000000..9711cbc522 --- /dev/null +++ b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java @@ -0,0 +1,219 @@ @@ -376,7 +376,7 @@ index 000000000..9711cbc52 +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 911c5d667..7c3d4c718 100644 +index 90b7c03800..9094be1b88 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -194,6 +194,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -396,10 +396,10 @@ index 911c5d667..7c3d4c718 100644 this.setSpawnAnimals(dedicatedserverproperties.spawnAnimals); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 25fad49eb..58ee4c0c3 100644 +index d8b09fb95c..c22c5c0ce1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -749,6 +749,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -750,6 +750,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke try { this.inLava = false; @@ -407,7 +407,7 @@ index 25fad49eb..58ee4c0c3 100644 this.checkBlockCollisions(); } catch (Throwable throwable) { CrashReport crashreport = CrashReport.a(throwable, "Checking entity block collision"); -@@ -880,7 +881,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -881,7 +882,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this); VoxelShape voxelshape = this.world.getWorldBorder().a(); Stream stream = VoxelShapes.c(voxelshape, VoxelShapes.a(axisalignedbb.shrink(1.0E-7D)), OperatorBoolean.AND) ? Stream.empty() : Stream.of(voxelshape); @@ -417,7 +417,7 @@ index 25fad49eb..58ee4c0c3 100644 Vec3D vec3d1 = vec3d.g() == 0.0D ? vec3d : a(this, vec3d, axisalignedbb, this.world, voxelshapecollision, streamaccumulator); boolean flag = vec3d.x != vec3d1.x; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c474c3e09..248be8200 100644 +index b40ba3a211..091256dd73 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -246,6 +246,7 @@ public abstract class EntityLiving extends Entity { diff --git a/patches/server/0043-Kill-the-vanilla-GameProfiler.patch b/patches/server/0042-Kill-the-vanilla-GameProfiler.patch similarity index 93% rename from patches/server/0043-Kill-the-vanilla-GameProfiler.patch rename to patches/server/0042-Kill-the-vanilla-GameProfiler.patch index 24650c7b..d128879e 100644 --- a/patches/server/0043-Kill-the-vanilla-GameProfiler.patch +++ b/patches/server/0042-Kill-the-vanilla-GameProfiler.patch @@ -1,4 +1,4 @@ -From 77bc7ffc7ec6ae059c0c80bd80ef71cf7003ccce Mon Sep 17 00:00:00 2001 +From 95a3b42c8fa64de17d3ece3ced015830f38c1c03 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Thu, 5 Mar 2020 23:08:01 +0100 Subject: [PATCH] Kill the vanilla "GameProfiler" @@ -11,7 +11,7 @@ Subject: [PATCH] Kill the vanilla "GameProfiler" diff --git a/src/main/java/de/tr7zw/yapfa/GameProfilerDisabled.java b/src/main/java/de/tr7zw/yapfa/GameProfilerDisabled.java new file mode 100644 -index 000000000..96a2270a8 +index 0000000000..96a2270a81 --- /dev/null +++ b/src/main/java/de/tr7zw/yapfa/GameProfilerDisabled.java @@ -0,0 +1,51 @@ @@ -67,7 +67,7 @@ index 000000000..96a2270a8 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a68c91686..b69347710 100644 +index b7ddbbb6f1..db5214ad22 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -80,7 +80,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sun, 22 Mar 2020 19:12:07 +0100 Subject: [PATCH] Rewrite Pathfinder to not use Streams @@ -8,7 +8,7 @@ Subject: [PATCH] Rewrite Pathfinder to not use Streams 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/Pathfinder.java b/src/main/java/net/minecraft/server/Pathfinder.java -index 67c63cfe3..b0fa7dbf7 100644 +index 67c63cfe33..b0fa7dbf71 100644 --- a/src/main/java/net/minecraft/server/Pathfinder.java +++ b/src/main/java/net/minecraft/server/Pathfinder.java @@ -2,7 +2,6 @@ package net.minecraft.server; diff --git a/patches/server/0046-Remove-Stream-usage.patch b/patches/server/0044-Remove-Stream-usage.patch similarity index 98% rename from patches/server/0046-Remove-Stream-usage.patch rename to patches/server/0044-Remove-Stream-usage.patch index 6b278439..2fd64cff 100644 --- a/patches/server/0046-Remove-Stream-usage.patch +++ b/patches/server/0044-Remove-Stream-usage.patch @@ -1,4 +1,4 @@ -From 21f03a2e562b70deb89bfd69cb8bec91e3ccf674 Mon Sep 17 00:00:00 2001 +From c30286683a3515cf85f0f6c31d02053720b5b6ea Mon Sep 17 00:00:00 2001 From: tr7zw Date: Mon, 23 Mar 2020 18:20:58 +0100 Subject: [PATCH] Remove Stream usage @@ -18,7 +18,7 @@ This removes streams from the entity collision code, Crafting Manager and some o diff --git a/src/main/java/de/tr7zw/yapfa/collision/CollisionHelper.java b/src/main/java/de/tr7zw/yapfa/collision/CollisionHelper.java new file mode 100644 -index 00000000..d6775393 +index 0000000000..d67753937f --- /dev/null +++ b/src/main/java/de/tr7zw/yapfa/collision/CollisionHelper.java @@ -0,0 +1,123 @@ @@ -146,7 +146,7 @@ index 00000000..d6775393 + +} diff --git a/src/main/java/net/minecraft/server/BehaviorInteractDoor.java b/src/main/java/net/minecraft/server/BehaviorInteractDoor.java -index 01d9c2d9..8c8be194 100644 +index 01d9c2d92c..8c8be194e7 100644 --- a/src/main/java/net/minecraft/server/BehaviorInteractDoor.java +++ b/src/main/java/net/minecraft/server/BehaviorInteractDoor.java @@ -2,6 +2,9 @@ package net.minecraft.server; @@ -205,7 +205,7 @@ index 01d9c2d9..8c8be194 100644 private void a(WorldServer worldserver, List list, Set set, int i, EntityLiving entityliving, BehaviorController behaviorcontroller) { diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index e40375b6..2a5574be 100644 +index e40375b67a..2a5574be3a 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -92,7 +92,7 @@ public class Block implements IMaterial { @@ -218,7 +218,7 @@ index e40375b6..2a5574be 100644 entity.enderTeleportTo(entity.locX(), entity.locY() + 1.0D + d0, entity.locZ()); } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 2d07d350..51a57418 100644 +index 2d07d350d2..51a5741846 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -72,7 +72,7 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali @@ -231,7 +231,7 @@ index 2d07d350..51a57418 100644 public static long a(long i, EnumDirection enumdirection) { diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java -index f0d7a91f..15e2439d 100644 +index f0d7a91fa0..15e2439d69 100644 --- a/src/main/java/net/minecraft/server/CraftingManager.java +++ b/src/main/java/net/minecraft/server/CraftingManager.java @@ -8,14 +8,18 @@ import com.google.gson.GsonBuilder; @@ -329,7 +329,7 @@ index f0d7a91f..15e2439d 100644 public Stream c() { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 58ee4c0c..8d924521 100644 +index c22c5c0ce1..0d523338e9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -13,6 +13,7 @@ import java.util.Locale; @@ -340,7 +340,7 @@ index 58ee4c0c..8d924521 100644 import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Stream; -@@ -879,31 +880,60 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -880,31 +881,60 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke private Vec3D e(Vec3D vec3d) { AxisAlignedBB axisalignedbb = this.getBoundingBox(); VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this); @@ -416,7 +416,7 @@ index 58ee4c0c..8d924521 100644 } return vec3d1; -@@ -926,6 +956,91 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -927,6 +957,91 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return a(vec3d, axisalignedbb, world, voxelshapecollision, streamaccumulator); } } @@ -509,7 +509,7 @@ index 58ee4c0c..8d924521 100644 public static Vec3D a(Vec3D vec3d, AxisAlignedBB axisalignedbb, StreamAccumulator streamaccumulator) { double d0 = vec3d.x; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 248be820..0092d5c9 100644 +index 091256dd73..a337f75995 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2649,6 +2649,7 @@ public abstract class EntityLiving extends Entity { @@ -521,7 +521,7 @@ index 248be820..0092d5c9 100644 this.world.getMethodProfiler().exit(); } diff --git a/src/main/java/net/minecraft/server/VoxelShapes.java b/src/main/java/net/minecraft/server/VoxelShapes.java -index 08c83c62..f9687cdb 100644 +index 08c83c62df..f9687cdb4c 100644 --- a/src/main/java/net/minecraft/server/VoxelShapes.java +++ b/src/main/java/net/minecraft/server/VoxelShapes.java @@ -5,9 +5,12 @@ import com.google.common.math.DoubleMath; @@ -645,5 +645,5 @@ index 08c83c62..f9687cdb 100644 public static double a(EnumDirection.EnumAxis enumdirection_enumaxis, AxisAlignedBB axisalignedbb, IWorldReader iworldreader, double d0, VoxelShapeCollision voxelshapecollision, Stream stream) { return a(axisalignedbb, iworldreader, d0, voxelshapecollision, EnumAxisCycle.a(enumdirection_enumaxis, EnumDirection.EnumAxis.Z), stream); -- -2.21.0.windows.1 +2.25.1.windows.1 diff --git a/patches/server/0047-Add-option-for-only-players-to-have-collisions-with-.patch b/patches/server/0045-Add-option-for-only-players-to-have-collisions-with-.patch similarity index 71% rename from patches/server/0047-Add-option-for-only-players-to-have-collisions-with-.patch rename to patches/server/0045-Add-option-for-only-players-to-have-collisions-with-.patch index 638ff584..01809bf1 100644 --- a/patches/server/0047-Add-option-for-only-players-to-have-collisions-with-.patch +++ b/patches/server/0045-Add-option-for-only-players-to-have-collisions-with-.patch @@ -1,15 +1,15 @@ -From 9d7b1efc5289b5e8206c638f7cde4839815efad3 Mon Sep 17 00:00:00 2001 +From 3a72f2f137008ff78a6b0e6c0494b66f58902390 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Mon, 23 Mar 2020 23:11:10 +0100 Subject: [PATCH] Add option for only players to have collisions with Entities --- - src/main/java/de/tr7zw/yapfa/YapfaConfig.java | 6 ++++++ - src/main/java/net/minecraft/server/EntityLiving.java | 9 ++++++++- - 2 files changed, 14 insertions(+), 1 deletion(-) + src/main/java/de/tr7zw/yapfa/YapfaConfig.java | 6 ++++++ + src/main/java/net/minecraft/server/EntityLiving.java | 11 +++++++++-- + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java -index 9711cbc52..655c4e68f 100644 +index 9711cbc522..655c4e68f3 100644 --- a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java +++ b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java @@ -216,4 +216,10 @@ public class YapfaConfig { @@ -25,14 +25,16 @@ index 9711cbc52..655c4e68f 100644 } \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 4575498bb..dd92758a6 100644 +index a337f75995..c240d4877f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2690,7 +2690,14 @@ public abstract class EntityLiving extends Entity { +@@ -2689,8 +2689,15 @@ public abstract class EntityLiving extends Entity { + if (i <= 0 && world.paperConfig.maxCollisionsPerEntity <= 0) { return; } - // Tuinity - end don't run getEntities if we're not going to use its result +- // Paper - end don't run getEntities if we're not going to use its result - List list = this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this)); ++ // Tuinity - end don't run getEntities if we're not going to use its result + // YAPFA start + List list = null; + if(de.tr7zw.yapfa.YapfaConfig.onlyPlayerCollisions) { @@ -43,7 +45,7 @@ index 4575498bb..dd92758a6 100644 + // YAPFA end if (!list.isEmpty()) { - // Tuinity - move up + // Paper - move up -- 2.25.1.windows.1 diff --git a/patches/server/0045-Rewrite-BehaviorController-with-99-less-Streams.patch b/patches/server/0045-Rewrite-BehaviorController-with-99-less-Streams.patch deleted file mode 100644 index 0173edf6..00000000 --- a/patches/server/0045-Rewrite-BehaviorController-with-99-less-Streams.patch +++ /dev/null @@ -1,270 +0,0 @@ -From 698a03fe533c795e57b1f30f0099438699fc034b Mon Sep 17 00:00:00 2001 -From: tr7zw -Date: Sun, 22 Mar 2020 20:42:24 +0100 -Subject: [PATCH] Rewrite BehaviorController with 99% less Streams - ---- - .../minecraft/server/BehaviorController.java | 250 ++++++++++++++++++ - 1 file changed, 250 insertions(+) - create mode 100644 src/main/java/net/minecraft/server/BehaviorController.java - -diff --git a/src/main/java/net/minecraft/server/BehaviorController.java b/src/main/java/net/minecraft/server/BehaviorController.java -new file mode 100644 -index 000000000..1bb496b3e ---- /dev/null -+++ b/src/main/java/net/minecraft/server/BehaviorController.java -@@ -0,0 +1,250 @@ -+package net.minecraft.server; -+ -+import java.util.Collection; -+import java.util.HashMap; -+import java.util.Iterator; -+import java.util.Map; -+import java.util.Map.Entry; -+import java.util.Optional; -+import java.util.Set; -+import java.util.function.Function; -+import java.util.stream.Stream; -+ -+import javax.annotation.Nullable; -+ -+import com.google.common.collect.ImmutableList; -+import com.google.common.collect.ImmutableMap; -+import com.google.common.collect.ImmutableSet; -+import com.google.common.collect.Maps; -+import com.google.common.collect.Sets; -+import com.mojang.datafixers.Dynamic; -+import com.mojang.datafixers.types.DynamicOps; -+import com.mojang.datafixers.util.Pair; -+ -+import net.minecraft.server.Behavior.Status; -+ -+public class BehaviorController implements MinecraftSerializable { -+ private final Map, Optional> memories = Maps.newHashMap(); -+ private final Map>, Sensor> sensors = Maps.newLinkedHashMap(); -+ private final Map>>> c = Maps.newTreeMap(); -+ private Schedule schedule; -+ private final Map, MemoryStatus>>> e; -+ private Set f; -+ private final Set g; -+ private Activity h; -+ private long i; -+ -+ public BehaviorController(Collection> var0, -+ Collection>> var1, Dynamic var2) { -+ this.schedule = Schedule.EMPTY; -+ this.e = Maps.newHashMap(); -+ this.f = Sets.newHashSet(); -+ this.g = Sets.newHashSet(); -+ this.h = Activity.IDLE; -+ this.i = -9999L; -+ for(MemoryModuleType mem : var0) { -+ this.memories.put(mem, Optional.empty()); -+ } -+ for(SensorType> sensor : var1) { -+ this.sensors.put(sensor, sensor.a()); -+ } -+ for(Sensor sensor : sensors.values()) { -+ Iterator> var2x = sensor.a().iterator(); -+ -+ while (var2x.hasNext()) { -+ MemoryModuleType next = var2x.next(); -+ this.memories.put(next, Optional.empty()); -+ } -+ } -+ -+ Iterator, Dynamic>> var4 = var2.get("memories").asMap(Function.identity(), Function.identity()).entrySet().iterator(); -+ -+ while (var4.hasNext()) { -+ Entry, Dynamic> var5 = var4.next(); -+ this.a(IRegistry.MEMORY_MODULE_TYPE -+ .get(new MinecraftKey(( var5.getKey()).asString(""))), var5.getValue()); -+ } -+ -+ } -+ -+ public boolean hasMemory(MemoryModuleType var0) { -+ return this.a(var0, MemoryStatus.VALUE_PRESENT); -+ } -+ -+ private void a(MemoryModuleType var0, Dynamic var1) { -+ this.setMemory(var0, (U)((Function) var0.getSerializer().orElseThrow(RuntimeException::new)).apply(var1)); -+ } -+ -+ public void removeMemory(MemoryModuleType var0) { -+ this.setMemory(var0, Optional.empty()); -+ } -+ -+ public void setMemory(MemoryModuleType var0, @Nullable U var1) { -+ this.setMemory(var0, Optional.ofNullable(var1)); -+ } -+ -+ public void setMemory(MemoryModuleType var0, Optional var1) { -+ if (this.memories.containsKey(var0)) { -+ if (var1.isPresent() && this.a(var1.get())) { -+ this.removeMemory(var0); -+ } else { -+ this.memories.put(var0, var1); -+ } -+ } -+ -+ } -+ -+ public Optional getMemory(MemoryModuleType var0) { -+ return (Optional) this.memories.get(var0); -+ } -+ -+ public boolean a(MemoryModuleType var0, MemoryStatus var1) { -+ Optional var2 = this.memories.get(var0); -+ if (var2 == null) { -+ return false; -+ } else { -+ return var1 == MemoryStatus.REGISTERED || var1 == MemoryStatus.VALUE_PRESENT && var2.isPresent() -+ || var1 == MemoryStatus.VALUE_ABSENT && !var2.isPresent(); -+ } -+ } -+ -+ public Schedule getSchedule() { -+ return this.schedule; -+ } -+ -+ public void setSchedule(Schedule var0) { -+ this.schedule = var0; -+ } -+ -+ public void a(Set var0) { -+ this.f = var0; -+ } -+ -+ @Deprecated -+ public Stream> d() { -+ return this.c.values().stream().flatMap((var0) -> { -+ return var0.values().stream(); -+ }).flatMap(Collection::stream).filter((var0) -> { -+ return var0.a() == Status.RUNNING; -+ }); -+ } -+ -+ public void a(Activity var0) { -+ this.g.clear(); -+ this.g.addAll(this.f); -+ boolean var1 = this.e.keySet().contains(var0) && this.d(var0); -+ this.g.add(var1 ? var0 : this.h); -+ } -+ -+ public void a(long var0, long var2) { -+ if (var2 - this.i > 20L) { -+ this.i = var2; -+ Activity var4 = this.getSchedule().a((int) (var0 % 24000L)); -+ if (!this.g.contains(var4)) { -+ this.a(var4); -+ } -+ } -+ -+ } -+ -+ public void b(Activity var0) { -+ this.h = var0; -+ } -+ -+ public void a(Activity var0, ImmutableList>> var1) { -+ this.a((Activity) var0, var1, ImmutableSet.of()); -+ } -+ -+ public void a(Activity var0, ImmutableList>> var1, -+ Set, MemoryStatus>> var2) { -+ this.e.put(var0, var2); -+ for(Pair> var1x : var1) { -+ ((this.c.computeIfAbsent(var1x.getFirst(), (var0x) -> { -+ return Maps.newHashMap(); -+ })).computeIfAbsent(var0, (var0x) -> { -+ return Sets.newLinkedHashSet(); -+ })).add(var1x.getSecond()); -+ } -+ } -+ -+ public boolean c(Activity var0) { -+ return this.g.contains(var0); -+ } -+ -+ public BehaviorController f() { -+ BehaviorController var0 = new BehaviorController(this.memories.keySet(), this.sensors.keySet(), -+ new Dynamic<>(DynamicOpsNBT.a, new NBTTagCompound())); -+ for(Entry, Optional> entry : this.memories.entrySet()) { -+ entry.getValue().ifPresent((var2x) -> { -+ var0.memories.put(entry.getKey(), Optional.of(var2x)); -+ }); -+ } -+ return var0; -+ } -+ -+ public void a(WorldServer var0, E var1) { -+ this.c(var0, var1); -+ this.d(var0, var1); -+ this.e(var0, var1); -+ } -+ -+ public void b(WorldServer var0, E var1) { -+ long var2 = var1.world.getTime(); -+ this.d().forEach((var4) -> { -+ var4.e(var0, var1, var2); -+ }); -+ } -+ -+ public T a(DynamicOps var0) { -+ Map outMap = new HashMap(); -+ for(Entry, Optional> memory : this.memories.entrySet()) { -+ if((memory.getKey()).getSerializer().isPresent() && (memory.getValue()).isPresent()) { -+ outMap.put(var0.createString(IRegistry.MEMORY_MODULE_TYPE.getKey(memory.getKey()).toString()), ((MinecraftSerializable) (memory.getValue()).get()).a(var0)); -+ } -+ } -+ return var0.createMap(ImmutableMap.of(var0.createString("memories"), var0.createMap(outMap))); -+ } -+ -+ private void c(WorldServer var0, E var1) { -+ for(Sensor var2 : this.sensors.values()) { -+ var2.b(var0, var1); -+ } -+ } -+ -+ private void d(WorldServer var0, E var1) { -+ long var2 = var0.getTime(); -+ for(Map>> value : this.c.values()) { -+ for(Entry>> entry : value.entrySet()) { -+ if(this.g.contains(entry.getKey())) { -+ for(Behavior behavior : entry.getValue()) { -+ if(behavior.a() == Status.STOPPED) { -+ behavior.b(var0, var1, var2); -+ } -+ } -+ } -+ } -+ } -+ } -+ -+ private void e(WorldServer var0, E var1) { -+ long var2 = var0.getTime(); -+ this.d().forEach((var4) -> { -+ var4.c(var0, var1, var2); -+ }); -+ } -+ -+ private boolean d(Activity var0) { -+ for(Pair, MemoryStatus> entry : this.e.get(var0)) { -+ MemoryModuleType var1 = entry.getFirst(); -+ MemoryStatus var2 = entry.getSecond(); -+ if(!this.a(var1, var2)) { -+ return false; -+ } -+ } -+ return true; -+ } -+ -+ private boolean a(Object var0) { -+ return var0 instanceof Collection && ((Collection) var0).isEmpty(); -+ } -+} -\ No newline at end of file --- -2.25.1.windows.1 - diff --git a/patches/server/0048-Allow-to-change-the-piston-push-limit.patch b/patches/server/0046-Allow-to-change-the-piston-push-limit.patch similarity index 94% rename from patches/server/0048-Allow-to-change-the-piston-push-limit.patch rename to patches/server/0046-Allow-to-change-the-piston-push-limit.patch index 8190be0b..cc933182 100644 --- a/patches/server/0048-Allow-to-change-the-piston-push-limit.patch +++ b/patches/server/0046-Allow-to-change-the-piston-push-limit.patch @@ -1,4 +1,4 @@ -From c0dee25cb5a73000db0dbea2fd43f7ee368e1a5f Mon Sep 17 00:00:00 2001 +From 2e630935a1f1401bbf7ebc40ffdc19b7481ceb1e Mon Sep 17 00:00:00 2001 From: tr7zw Date: Sun, 29 Mar 2020 00:35:03 +0100 Subject: [PATCH] Allow to change the piston push limit @@ -9,7 +9,7 @@ Subject: [PATCH] Allow to change the piston push limit 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java -index 655c4e68f..29587589c 100644 +index 655c4e68f3..29587589cb 100644 --- a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java +++ b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java @@ -221,5 +221,9 @@ public class YapfaConfig { @@ -24,7 +24,7 @@ index 655c4e68f..29587589c 100644 } \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/PistonExtendsChecker.java b/src/main/java/net/minecraft/server/PistonExtendsChecker.java -index 8ac7d30be..de1c98cca 100644 +index 8ac7d30bea..de1c98ccab 100644 --- a/src/main/java/net/minecraft/server/PistonExtendsChecker.java +++ b/src/main/java/net/minecraft/server/PistonExtendsChecker.java @@ -79,7 +79,7 @@ public class PistonExtendsChecker { diff --git a/patches/server/0049-Add-option-for-pushable-TileEntities.patch b/patches/server/0047-Add-option-for-pushable-TileEntities.patch similarity index 98% rename from patches/server/0049-Add-option-for-pushable-TileEntities.patch rename to patches/server/0047-Add-option-for-pushable-TileEntities.patch index f4b92d93..89796556 100644 --- a/patches/server/0049-Add-option-for-pushable-TileEntities.patch +++ b/patches/server/0047-Add-option-for-pushable-TileEntities.patch @@ -1,4 +1,4 @@ -From a5aa917ab0f4e3a3f6442e0acaba61b834f561f6 Mon Sep 17 00:00:00 2001 +From 780663411a1f3547a242cf3063506435ecf025ce Mon Sep 17 00:00:00 2001 From: tr7zw Date: Sun, 29 Mar 2020 01:59:27 +0100 Subject: [PATCH] Add option for pushable TileEntities @@ -15,7 +15,7 @@ Subject: [PATCH] Add option for pushable TileEntities create mode 100644 src/main/java/net/minecraft/server/TileEntityPiston.java diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java -index 29587589c..e804bd3f5 100644 +index 29587589cb..e804bd3f5c 100644 --- a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java +++ b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java @@ -226,4 +226,9 @@ public class YapfaConfig { @@ -30,7 +30,7 @@ index 29587589c..e804bd3f5 100644 } \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java -index b29525c40..86c760f40 100644 +index b29525c40d..86c760f40d 100644 --- a/src/main/java/net/minecraft/server/BlockPiston.java +++ b/src/main/java/net/minecraft/server/BlockPiston.java @@ -241,11 +241,16 @@ public class BlockPiston extends BlockDirectional { @@ -131,7 +131,7 @@ index b29525c40..86c760f40 100644 + } diff --git a/src/main/java/net/minecraft/server/PistonExtendsChecker.java b/src/main/java/net/minecraft/server/PistonExtendsChecker.java -index de1c98cca..92f183995 100644 +index de1c98ccab..92f1839953 100644 --- a/src/main/java/net/minecraft/server/PistonExtendsChecker.java +++ b/src/main/java/net/minecraft/server/PistonExtendsChecker.java @@ -29,6 +29,7 @@ public class PistonExtendsChecker { @@ -278,7 +278,7 @@ index de1c98cca..92f183995 100644 + // YAPFA end } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index d4556abda..b4bba5efa 100644 +index d4556abda3..b4bba5efa8 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -252,4 +252,10 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -294,7 +294,7 @@ index d4556abda..b4bba5efa 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntityPiston.java b/src/main/java/net/minecraft/server/TileEntityPiston.java new file mode 100644 -index 000000000..b32f23198 +index 0000000000..b32f231981 --- /dev/null +++ b/src/main/java/net/minecraft/server/TileEntityPiston.java @@ -0,0 +1,369 @@ @@ -669,10 +669,10 @@ index 000000000..b32f23198 +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 0f010dce2..e9f5f0b53 100644 +index ab2a5afbb0..7d3ecb5bac 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -318,6 +318,13 @@ public class WorldServer extends World { +@@ -282,6 +282,13 @@ public class WorldServer extends World { if (type instanceof ITileEntity) { TileEntity replacement = ((ITileEntity) type).createTile(this); diff --git a/patches/server/0050-Add-NBT-API-as-first-class-lib.patch b/patches/server/0048-Add-NBT-API-as-first-class-lib.patch similarity index 90% rename from patches/server/0050-Add-NBT-API-as-first-class-lib.patch rename to patches/server/0048-Add-NBT-API-as-first-class-lib.patch index 409b72e8..96609574 100644 --- a/patches/server/0050-Add-NBT-API-as-first-class-lib.patch +++ b/patches/server/0048-Add-NBT-API-as-first-class-lib.patch @@ -1,4 +1,4 @@ -From 69b7559881677027737e11c166c1643941867ef5 Mon Sep 17 00:00:00 2001 +From c08b2fa1af07759417d4618ac3bd68af853e8ce9 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Thu, 2 Apr 2020 18:49:38 +0200 Subject: [PATCH] Add NBT-API as first-class lib @@ -8,7 +8,7 @@ Subject: [PATCH] Add NBT-API as first-class lib 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml -index 742e423c3..a7b7c1acc 100644 +index 742e423c3a..a7b7c1accc 100644 --- a/pom.xml +++ b/pom.xml @@ -266,6 +266,10 @@ diff --git a/patches/server/0051-Player-saving-async-FileIO.patch b/patches/server/0049-Player-saving-async-FileIO.patch similarity index 97% rename from patches/server/0051-Player-saving-async-FileIO.patch rename to patches/server/0049-Player-saving-async-FileIO.patch index f0281b5e..e2bc4b97 100644 --- a/patches/server/0051-Player-saving-async-FileIO.patch +++ b/patches/server/0049-Player-saving-async-FileIO.patch @@ -1,4 +1,4 @@ -From 5074c992da93751ab5908ccd0f4cbdcb9a13d873 Mon Sep 17 00:00:00 2001 +From 70388f2abf6dfc0588205bfd041d7ab727f869b8 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Sat, 4 Apr 2020 23:23:04 +0200 Subject: [PATCH] Player saving async FileIO @@ -11,7 +11,7 @@ Subject: [PATCH] Player saving async FileIO 4 files changed, 117 insertions(+), 57 deletions(-) diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java -index 79e11eebb..8d08c91fe 100644 +index 79e11eebb7..8d08c91fe6 100644 --- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java +++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java @@ -26,6 +26,8 @@ import java.util.List; @@ -144,7 +144,7 @@ index 79e11eebb..8d08c91fe 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 931fec091..059fd995b 100644 +index cf56a821ce..53298c9e3b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -16,6 +16,8 @@ import java.util.Map; @@ -156,7 +156,7 @@ index 931fec091..059fd995b 100644 import javax.annotation.Nullable; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -1113,6 +1115,28 @@ public abstract class PlayerList { +@@ -1128,6 +1130,28 @@ public abstract class PlayerList { if (team != null) scoreboard.removeTeam(team); } // Paper end @@ -186,7 +186,7 @@ index 931fec091..059fd995b 100644 // Paper end diff --git a/src/main/java/net/minecraft/server/ServerStatisticManager.java b/src/main/java/net/minecraft/server/ServerStatisticManager.java -index b3c9a5a84..162b8a27e 100644 +index b3c9a5a845..162b8a27ea 100644 --- a/src/main/java/net/minecraft/server/ServerStatisticManager.java +++ b/src/main/java/net/minecraft/server/ServerStatisticManager.java @@ -20,6 +20,9 @@ import java.util.Map; @@ -227,7 +227,7 @@ index b3c9a5a84..162b8a27e 100644 @Override diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index 350ac42d6..39f613fec 100644 +index 350ac42d6b..39f613fec3 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -15,6 +15,9 @@ import org.apache.logging.log4j.Logger; diff --git a/patches/server/0052-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch b/patches/server/0050-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch similarity index 98% rename from patches/server/0052-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch rename to patches/server/0050-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch index ee259089..e467522b 100644 --- a/patches/server/0052-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch +++ b/patches/server/0050-Stop-a-pathfinder-method-to-call-itself-more-than-on.patch @@ -1,4 +1,4 @@ -From 2426e0cfc582e866fdf1c9cbee6abf4fafeed7cf Mon Sep 17 00:00:00 2001 +From 4a6265a36dd389b9d334c1ed3fd22975fbfce823 Mon Sep 17 00:00:00 2001 From: tr7zw Date: Mon, 6 Apr 2020 01:05:08 +0200 Subject: [PATCH] Stop a pathfinder method to call itself more than once @@ -9,7 +9,7 @@ This miiiight help to fix the pathfinder from going nuts. Only time will tell. 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java -index 69fd3cc8e..24c46bd8a 100644 +index 4240ca81cb..c71005a91f 100644 --- a/src/main/java/net/minecraft/server/PathfinderNormal.java +++ b/src/main/java/net/minecraft/server/PathfinderNormal.java @@ -96,49 +96,49 @@ public class PathfinderNormal extends PathfinderAbstract { diff --git a/patches/server/0053-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch b/patches/server/0051-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch similarity index 94% rename from patches/server/0053-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch rename to patches/server/0051-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch index 998311f3..6c14f19a 100644 --- a/patches/server/0053-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch +++ b/patches/server/0051-Akarin-Avoid-double-I-O-operation-on-load-player-fil.patch @@ -1,4 +1,4 @@ -From f6a93b9b97f59515971737ce0334a3c3b8f8a6d4 Mon Sep 17 00:00:00 2001 +From 3ac46dfe6fae9451f2ecdbe70a616e499cdb9dcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=84=97=E3=84=A0=CB=8B=20=E3=84=91=E3=84=A7=CB=8A?= Date: Thu, 2 Apr 2020 11:29:08 +0800 @@ -9,7 +9,7 @@ Subject: [PATCH] Akarin Avoid double I/O operation on load player file 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index 39f613fec..7faa03aba 100644 +index 39f613fec3..7faa03aba7 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -177,7 +177,8 @@ public class WorldNBTStorage implements IPlayerFileData { diff --git a/patches/server/0054-Akarin-Save-json-list-async.patch b/patches/server/0052-Akarin-Save-json-list-async.patch similarity index 94% rename from patches/server/0054-Akarin-Save-json-list-async.patch rename to patches/server/0052-Akarin-Save-json-list-async.patch index 25bff914..20f49ecb 100644 --- a/patches/server/0054-Akarin-Save-json-list-async.patch +++ b/patches/server/0052-Akarin-Save-json-list-async.patch @@ -1,4 +1,4 @@ -From 7a125352bbd870502f0e9f53271f965aea8882fd Mon Sep 17 00:00:00 2001 +From 2992378863e6b90352f03a92121931bd530e6d23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=84=97=E3=84=A0=CB=8B=20=E3=84=91=E3=84=A7=CB=8A?= Date: Thu, 2 Apr 2020 11:16:18 +0800 @@ -9,7 +9,7 @@ Subject: [PATCH] Akarin Save json list async 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java -index c97be42dd..370841cad 100644 +index c97be42dd7..370841cad0 100644 --- a/src/main/java/net/minecraft/server/JsonList.java +++ b/src/main/java/net/minecraft/server/JsonList.java @@ -168,6 +168,7 @@ public class JsonList> {