Update Upstream

This commit is contained in:
tr7zw 2020-04-21 13:55:39 +02:00
parent 99b8b35386
commit 303fbc3508
26 changed files with 113 additions and 427 deletions

@ -1 +1 @@
Subproject commit 0729373893c21b3f0c83fb0837378a005d254af7
Subproject commit 54d751f5f4d80ae0b51be5a291a27b1405f8c1b7

View File

@ -1,4 +1,4 @@
From 36516ccb01023875133b10250ed9110888863227 Mon Sep 17 00:00:00 2001
From 1ca18822518ccf66bdb6f7320c3efc6764abb315 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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<TickTas
@@ -1592,7 +1592,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@ -66,7 +66,7 @@ index f16381ef3..c96fb4333 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f148350e0..294e02f1c 100644
index e94f24beac..9d030272b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -203,7 +203,7 @@ import javax.annotation.Nullable; // Paper
@ -79,7 +79,7 @@ index f148350e0..294e02f1c 100644
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 770375ed4..aefa51aca 100644
index 770375ed42..aefa51aca4 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -306,7 +306,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@ -92,7 +92,7 @@ index 770375ed4..aefa51aca 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 001b1e519..e3c4ad3d3 100644
index 001b1e5197..e3c4ad3d35 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {

View File

@ -1,4 +1,4 @@
From 4421584fbbc1dfb981327ea61e8621616b60c3f1 Mon Sep 17 00:00:00 2001
From f09779aa4ba69f98913608bb8b51e622f0a75635 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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

View File

@ -1,4 +1,4 @@
From 9c05c32d6b47d05d3951ca94e1115e99300beb9c Mon Sep 17 00:00:00 2001
From 659f4dd7e209ebc4b7d8999326235c699866529d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<TickTas
@@ -1249,11 +1249,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
//} // Paper
this.methodProfiler.enter("snooper");

View File

@ -1,4 +1,4 @@
From 1e2940c728dfb2368322fd66c7120976bf00075f Mon Sep 17 00:00:00 2001
From 06150247e8d0c1589772d1bc53820827fa46f273 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<TickTas
@@ -1451,6 +1451,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
System.err.println( "If you do not agree to the above EULA please stop your server and remove this flag immediately." );
}
// Spigot End

View File

@ -1,4 +1,4 @@
From 9b0a39b2e060ac96665b2e9915b63387998b087b Mon Sep 17 00:00:00 2001
From 567d1317da975eb4a4f63a3f0d4f29dd3e7648e7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<TickTas
@ -19,7 +19,7 @@ index 0e9b2d718..20e318396 100644
private boolean pvpMode;
private boolean allowFlight;
@Nullable
@@ -744,7 +745,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -738,7 +739,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
MinecraftTimings.stopServer(); // Paper
// CraftBukkit start
if (this.server != null) {
@ -29,7 +29,7 @@ index 0e9b2d718..20e318396 100644
}
// CraftBukkit end
if (this.getServerConnection() != null) {
@@ -783,6 +785,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -777,6 +779,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
}
}
@ -37,7 +37,7 @@ index 0e9b2d718..20e318396 100644
if (this.snooper.d()) {
this.snooper.e();
@@ -814,6 +817,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -819,6 +822,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.safeShutdown(flag, false);
}
public void safeShutdown(boolean flag, boolean isRestarting) {

View File

@ -1,4 +1,4 @@
From d13aae1ed7987bef8f932dce5e9dfed8401c8dc9 Mon Sep 17 00:00:00 2001
From 9e8b63940cb2097e4a511cba81349ab416ccdffb Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
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

View File

@ -1,46 +0,0 @@
From 979580a2ffb58f7903fbddf2ef26203797535c79 Mon Sep 17 00:00:00 2001
From: chickeneer <emcchickeneer@gmail.com>
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

View File

@ -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 <Blake.Galbreath@GMail.com>
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 {

View File

@ -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 <blake.galbreath@gmail.com>
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 {

View File

@ -1,4 +1,4 @@
From 99c868e6ecc390c00ea88ea1b07b348d83c1ae18 Mon Sep 17 00:00:00 2001
From 2e02837343e76874432755e9ead8042336db131b Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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) {

View File

@ -1,4 +1,4 @@
From f3d5def9a1faac55232b4c258ec5f3c36ae81ede Mon Sep 17 00:00:00 2001
From 26d47218c13c1b533eb613b88fe86bf93112911d Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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;

View File

@ -1,4 +1,4 @@
From 4982075f1218213d9c347e80638ada92db49e86c Mon Sep 17 00:00:00 2001
From 9cedcad70e04988113afb65264cfe900ab09b2e8 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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<TickTas
@@ -893,6 +893,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private static final java.math.BigDecimal TPS_BASE = new java.math.BigDecimal(1E9).multiply(new java.math.BigDecimal(SAMPLE_INTERVAL));
// Paper End
// Spigot End
@ -21,8 +21,8 @@ index 20e318396..a68c91686 100644
+ public static long lastTickMs = 0; // YAPFA
public void run() {
try {
@@ -939,9 +941,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
boolean isThreadDeath = false; // Paper
@@ -945,9 +947,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.methodProfiler.d().d();
}
@ -36,7 +36,7 @@ index 20e318396..a68c91686 100644
this.methodProfiler.exitEnter("nextTickWait");
this.ac = true;
this.ab = Math.max(SystemUtils.getMonotonicMillis() + 50L, this.nextTick);
@@ -949,6 +955,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -955,6 +961,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.methodProfiler.exit();
this.methodProfiler.b();
this.hasTicked = true;
@ -45,11 +45,11 @@ index 20e318396..a68c91686 100644
} else {
this.a((CrashReport) null);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f48c69e0e..6382f2e8f 100644
index e270e6717b..a6e018c99d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2237,4 +2237,13 @@ public final class CraftServer implements Server {
return !net.minecraft.server.MinecraftServer.getServer().isRunning();
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}
// Paper end
+
@ -63,7 +63,7 @@ index f48c69e0e..6382f2e8f 100644
+ // YAPFA end
}
diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
index 6d21c3269..ce23b407d 100644
index 6d21c32692..ce23b407d3 100644
--- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java
+++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
@@ -30,7 +30,7 @@ public class TicksPerSecondCommand extends Command

View File

@ -1,4 +1,4 @@
From e8a07981b2db71e0a4643894823ffaf63b4f0ffe Mon Sep 17 00:00:00 2001
From d9c8673d1a51a2c509f97e4a8964e81499d2415e Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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<VoxelShape> 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 {

View File

@ -1,4 +1,4 @@
From 77bc7ffc7ec6ae059c0c80bd80ef71cf7003ccce Mon Sep 17 00:00:00 2001
From 95a3b42c8fa64de17d3ece3ced015830f38c1c03 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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<TickTas
@ -79,7 +79,7 @@ index a68c91686..b69347710 100644
private ServerConnection serverConnection;
public final WorldLoadListenerFactory worldLoadListenerFactory;
private final ServerPing serverPing = new ServerPing();
@@ -938,7 +938,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -944,7 +944,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.nextTick += 50L;
if (this.T) {
this.T = false;

View File

@ -1,4 +1,4 @@
From 811ff3fa87f91169e19575a7c5327feaf77f838d Mon Sep 17 00:00:00 2001
From dae847397d4aebf7f05ff33445070cdb4dd17a41 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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;

View File

@ -1,4 +1,4 @@
From 21f03a2e562b70deb89bfd69cb8bec91e3ccf674 Mon Sep 17 00:00:00 2001
From c30286683a3515cf85f0f6c31d02053720b5b6ea Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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<BlockPosition> list, Set<BlockPosition> 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<MinecraftKey> 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<VoxelShape> 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<VoxelShape> 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

View File

@ -1,15 +1,15 @@
From 9d7b1efc5289b5e8206c638f7cde4839815efad3 Mon Sep 17 00:00:00 2001
From 3a72f2f137008ff78a6b0e6c0494b66f58902390 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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<Entity> 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<Entity> 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

View File

@ -1,270 +0,0 @@
From 698a03fe533c795e57b1f30f0099438699fc034b Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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<E extends EntityLiving> implements MinecraftSerializable {
+ private final Map<MemoryModuleType<?>, Optional<?>> memories = Maps.newHashMap();
+ private final Map<SensorType<? extends Sensor<? super E>>, Sensor<? super E>> sensors = Maps.newLinkedHashMap();
+ private final Map<Integer, Map<Activity, Set<Behavior<? super E>>>> c = Maps.newTreeMap();
+ private Schedule schedule;
+ private final Map<Activity, Set<Pair<MemoryModuleType<?>, MemoryStatus>>> e;
+ private Set<Activity> f;
+ private final Set<Activity> g;
+ private Activity h;
+ private long i;
+
+ public <T> BehaviorController(Collection<MemoryModuleType<?>> var0,
+ Collection<SensorType<? extends Sensor<? super E>>> var1, Dynamic<T> 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<? extends Sensor<? super E>> sensor : var1) {
+ this.sensors.put(sensor, sensor.a());
+ }
+ for(Sensor<? super E> sensor : sensors.values()) {
+ Iterator<MemoryModuleType<?>> var2x = sensor.a().iterator();
+
+ while (var2x.hasNext()) {
+ MemoryModuleType<?> next = var2x.next();
+ this.memories.put(next, Optional.empty());
+ }
+ }
+
+ Iterator<Entry<Dynamic<T>, Dynamic<T>>> var4 = var2.get("memories").asMap(Function.identity(), Function.identity()).entrySet().iterator();
+
+ while (var4.hasNext()) {
+ Entry<Dynamic<T>, Dynamic<T>> 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 <T, U> void a(MemoryModuleType<U> var0, Dynamic<T> var1) {
+ this.setMemory(var0, (U)((Function) var0.getSerializer().orElseThrow(RuntimeException::new)).apply(var1));
+ }
+
+ public <U> void removeMemory(MemoryModuleType<U> var0) {
+ this.setMemory(var0, Optional.empty());
+ }
+
+ public <U> void setMemory(MemoryModuleType<U> var0, @Nullable U var1) {
+ this.setMemory(var0, Optional.ofNullable(var1));
+ }
+
+ public <U> void setMemory(MemoryModuleType<U> var0, Optional<U> var1) {
+ if (this.memories.containsKey(var0)) {
+ if (var1.isPresent() && this.a(var1.get())) {
+ this.removeMemory(var0);
+ } else {
+ this.memories.put(var0, var1);
+ }
+ }
+
+ }
+
+ public <U> Optional<U> getMemory(MemoryModuleType<U> var0) {
+ return (Optional<U>) 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<Activity> var0) {
+ this.f = var0;
+ }
+
+ @Deprecated
+ public Stream<Behavior<? super E>> 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<Pair<Integer, ? extends Behavior<? super E>>> var1) {
+ this.a((Activity) var0, var1, ImmutableSet.of());
+ }
+
+ public void a(Activity var0, ImmutableList<Pair<Integer, ? extends Behavior<? super E>>> var1,
+ Set<Pair<MemoryModuleType<?>, MemoryStatus>> var2) {
+ this.e.put(var0, var2);
+ for(Pair<Integer, ? extends Behavior<? super E>> 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<E> f() {
+ BehaviorController<E> var0 = new BehaviorController<E>(this.memories.keySet(), this.sensors.keySet(),
+ new Dynamic<>(DynamicOpsNBT.a, new NBTTagCompound()));
+ for(Entry<MemoryModuleType<?>, 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> T a(DynamicOps<T> var0) {
+ Map<T, T> outMap = new HashMap<T, T>();
+ for(Entry<MemoryModuleType<?>, 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<? super E> var2 : this.sensors.values()) {
+ var2.b(var0, var1);
+ }
+ }
+
+ private void d(WorldServer var0, E var1) {
+ long var2 = var0.getTime();
+ for(Map<Activity, Set<Behavior<? super E>>> value : this.c.values()) {
+ for(Entry<Activity, Set<Behavior<? super E>>> entry : value.entrySet()) {
+ if(this.g.contains(entry.getKey())) {
+ for(Behavior<? super E> 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<MemoryModuleType<?>, 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

View File

@ -1,4 +1,4 @@
From c0dee25cb5a73000db0dbea2fd43f7ee368e1a5f Mon Sep 17 00:00:00 2001
From 2e630935a1f1401bbf7ebc40ffdc19b7481ceb1e Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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 {

View File

@ -1,4 +1,4 @@
From a5aa917ab0f4e3a3f6442e0acaba61b834f561f6 Mon Sep 17 00:00:00 2001
From 780663411a1f3547a242cf3063506435ecf025ce Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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);

View File

@ -1,4 +1,4 @@
From 69b7559881677027737e11c166c1643941867ef5 Mon Sep 17 00:00:00 2001
From c08b2fa1af07759417d4618ac3bd68af853e8ce9 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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 @@

View File

@ -1,4 +1,4 @@
From 5074c992da93751ab5908ccd0f4cbdcb9a13d873 Mon Sep 17 00:00:00 2001
From 70388f2abf6dfc0588205bfd041d7ab727f869b8 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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;

View File

@ -1,4 +1,4 @@
From 2426e0cfc582e866fdf1c9cbee6abf4fafeed7cf Mon Sep 17 00:00:00 2001
From 4a6265a36dd389b9d334c1ed3fd22975fbfce823 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
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 {

View File

@ -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?=
<tsao-chi@the-lingo.org>
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 {

View File

@ -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?=
<tsao-chi@the-lingo.org>
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<K, V extends JsonListEntry<K>> {