Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
c096fe19 Port 20w15a Villager AI optimizations
832687de Restore preventing saving bad entities patch to full effect
df8eedee Restore Optimize Pathfinding patch
97b1cc36 Allow shutting down server during a watchdog hang gracefully
06044e24 Async command map building
This commit is contained in:
William Blake Galbreath
2020-04-12 17:33:46 -05:00
parent b6d5b8200e
commit 2243be4513
26 changed files with 62 additions and 200 deletions

2
Paper

Submodule Paper updated: a4f066ccea...c096fe19fa

View File

@@ -1 +1 @@
1.15.2--fa4549a5b3af14f60ddc6ff880cb804c6166f4f9
1.15.2--a4f180fd6c00f10e373da363dc80e7c2f67756ad

View File

@@ -1,25 +0,0 @@
From 8ae43d0e8a4016625c43f34562c27132c02cb04d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Wed, 8 Apr 2020 23:00:31 -0500
Subject: [PATCH] Async support for PlayerCommandSendEvent
---
.../java/org/bukkit/event/player/PlayerCommandSendEvent.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/bukkit/event/player/PlayerCommandSendEvent.java b/src/main/java/org/bukkit/event/player/PlayerCommandSendEvent.java
index 762825997..749d304d4 100644
--- a/src/main/java/org/bukkit/event/player/PlayerCommandSendEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerCommandSendEvent.java
@@ -20,7 +20,7 @@ public class PlayerCommandSendEvent extends PlayerEvent {
private final Collection<String> commands;
public PlayerCommandSendEvent(@NotNull final Player player, @NotNull final Collection<String> commands) {
- super(player);
+ super(player, !org.bukkit.Bukkit.isPrimaryThread()); // Purpur
this.commands = commands;
}
--
2.24.0

View File

@@ -1,4 +1,4 @@
From 498a36be474c013abb9677f08f5d83e0ea160aa9 Mon Sep 17 00:00:00 2001
From 00c8afb2ece0408c0d695b2b150a29fbc874c2ce Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:02:11 -0500
Subject: [PATCH] Rebrand
@@ -107,10 +107,10 @@ index cd6e259239..bb227bc0fb 100644
);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2686874f26..9f6d2eebbc 100644
index a9b5337512..1675ae09c7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1510,7 +1510,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {

View File

@@ -1,4 +1,4 @@
From e1b312cc6867d590f6f5603a3316c416e0046655 Mon Sep 17 00:00:00 2001
From 2e76b7ccd2948b9132693e58ef8dfde62d72f28d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 16 Jan 2020 14:59:16 -0600
Subject: [PATCH] Make the GUI better
@@ -88,10 +88,10 @@ index e614570d33..bd9c123d56 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9f6d2eebbc..11ba4a8c06 100644
index 1675ae09c7..36dbef247d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1317,6 +1317,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1318,6 +1318,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
return true;
}

View File

@@ -1,4 +1,4 @@
From 2db5c40be842351587214c5de7058509df7c456f Mon Sep 17 00:00:00 2001
From 1077bb31b20403c89c96f5d76feedc4e5f52a926 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 23 Jul 2019 10:07:16 -0500
Subject: [PATCH] Implement lagging threshold
@@ -10,7 +10,7 @@ Subject: [PATCH] Implement lagging threshold
3 files changed, 14 insertions(+)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 11ba4a8c06..6887c2ffd2 100644
index 36dbef247d..3b1ad9d4f1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -183,6 +183,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -21,7 +21,7 @@ index 11ba4a8c06..6887c2ffd2 100644
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -922,6 +923,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -923,6 +924,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
recentTps[1] = tps5.getAverage();
recentTps[2] = tps15.getAverage();
// Paper end

View File

@@ -1,4 +1,4 @@
From 7c31b36a57d591d8db8b5d77ad23baf51ad3decc Mon Sep 17 00:00:00 2001
From c05aac2f206ad8b489fea367f8035d5447f129e4 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 28 Jul 2019 01:27:37 -0500
Subject: [PATCH] Add 5 second tps average in /tps
@@ -10,7 +10,7 @@ Subject: [PATCH] Add 5 second tps average in /tps
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6887c2ffd2..1577308be6 100644
index 3b1ad9d4f1..69970e0ab9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -182,7 +182,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -22,7 +22,7 @@ index 6887c2ffd2..1577308be6 100644
public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -839,6 +839,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -840,6 +840,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -30,7 +30,7 @@ index 6887c2ffd2..1577308be6 100644
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -915,13 +916,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -916,13 +917,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
{
final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);

View File

@@ -1,4 +1,4 @@
From 3f95f3fb3a8ab2517225ece2f5ec447c58128be3 Mon Sep 17 00:00:00 2001
From 2a12603d40aef4ce8c5de8d7603ffbcbd84b292f Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Wed, 22 Jan 2020 20:13:40 -0600
Subject: [PATCH] UPnP Port Forwarding Service
@@ -6,11 +6,11 @@ Subject: [PATCH] UPnP Port Forwarding Service
---
pom.xml | 10 ++++
.../net/minecraft/server/DedicatedServer.java | 25 ++++++++++
.../net/minecraft/server/MinecraftServer.java | 11 +++++
.../net/minecraft/server/MinecraftServer.java | 12 +++++
.../java/net/pl3x/purpur/PurpurConfig.java | 5 ++
.../net/pl3x/purpur/gui/info/JInfoPanel.java | 3 ++
.../pl3x/purpur/gui/info/UPnPComponent.java | 47 +++++++++++++++++++
6 files changed, 101 insertions(+)
6 files changed, 102 insertions(+)
create mode 100644 src/main/java/net/pl3x/purpur/gui/info/UPnPComponent.java
diff --git a/pom.xml b/pom.xml
@@ -78,7 +78,7 @@ index bd9c123d56..7e8286b573 100644
// this.a((PlayerList) (new DedicatedPlayerList(this))); // Spigot - moved up
server.loadPlugins();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1577308be6..2a3b4f309c 100644
index 69970e0ab9..fab3e3d784 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -186,6 +186,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -89,7 +89,7 @@ index 1577308be6..2a3b4f309c 100644
public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache, WorldLoadListenerFactory worldloadlistenerfactory, String s) {
super("Server");
@@ -796,6 +797,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -796,6 +797,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
// Spigot end
com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.close(true, true); // Paper
@@ -103,9 +103,10 @@ index 1577308be6..2a3b4f309c 100644
+ }
+ }
+ // Purpur end
+
System.exit(0); // Paper
}
public String getServerIp() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 16f5c9d372..c4ec515557 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java

View File

@@ -1,4 +1,4 @@
From 18371ccd6c987c89fde646a16a38009e77a2a5ed Mon Sep 17 00:00:00 2001
From 7b95417f3f6a67e9d67582481cf86b625b2a6aac Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 13 Mar 2020 22:29:10 -0500
Subject: [PATCH] Add /ping command
@@ -30,7 +30,7 @@ index 39a6a9ac00..5568649b7e 100644
List<EntityPlayer> list = ((EntitySelector) commandcontext.getArgument(s, EntitySelector.class)).d((CommandListenerWrapper) commandcontext.getSource());
diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java
index 37b1a7947c..b38a5223cb 100644
index 2414b0a552..6a755df64f 100644
--- a/src/main/java/net/minecraft/server/CommandDispatcher.java
+++ b/src/main/java/net/minecraft/server/CommandDispatcher.java
@@ -30,7 +30,7 @@ import org.bukkit.event.server.ServerCommandEvent;
@@ -50,7 +50,7 @@ index 37b1a7947c..b38a5223cb 100644
}
this.b.findAmbiguities((commandnode, commandnode1, commandnode2, collection) -> {
@@ -315,10 +316,12 @@ public class CommandDispatcher {
@@ -330,10 +331,12 @@ public class CommandDispatcher {
}

View File

@@ -1,4 +1,4 @@
From 09e58e194d78c13e0a8749307549b16afca28dda Mon Sep 17 00:00:00 2001
From 9812b682d24b4bca2bc822d9fa27d6f2ca5f7a9b Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 21 Mar 2020 11:47:39 -0500
Subject: [PATCH] Configurable server mod name
@@ -9,10 +9,10 @@ Subject: [PATCH] Configurable server mod name
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2a3b4f309c..b7e0e0a977 100644
index fab3e3d784..e3c326c340 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1529,7 +1529,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1531,7 +1531,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {

View File

@@ -1,4 +1,4 @@
From 54f229f3b96bb8359a993ec786682476fe86ae23 Mon Sep 17 00:00:00 2001
From 63b89fe8a5e82165fa5faa9eb95692ec8a1fdf63 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 26 Mar 2020 19:06:22 -0500
Subject: [PATCH] Configurable TPS Catchup
@@ -9,10 +9,10 @@ Subject: [PATCH] Configurable TPS Catchup
2 files changed, 12 insertions(+)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b7e0e0a977..b6da0884cd 100644
index e3c326c340..cebb45ec76 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -959,6 +959,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -961,6 +961,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.methodProfiler.exitEnter("nextTickWait");
this.ac = true;
this.ab = Math.max(SystemUtils.getMonotonicMillis() + 50L, this.nextTick);

View File

@@ -1,4 +1,4 @@
From 95242419e6e4fe2a5560c24ca2bf76756abcf671 Mon Sep 17 00:00:00 2001
From 0c8b77f20fe27deccd422869c2276b560832efb2 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 4 Apr 2020 03:07:59 -0500
Subject: [PATCH] Skip events if there's no listeners
@@ -8,18 +8,18 @@ Subject: [PATCH] Skip events if there's no listeners
1 file changed, 2 insertions(+)
diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java
index b38a5223cb..ca701a2e68 100644
index 6a755df64f..5ece5c4eeb 100644
--- a/src/main/java/net/minecraft/server/CommandDispatcher.java
+++ b/src/main/java/net/minecraft/server/CommandDispatcher.java
@@ -255,6 +255,7 @@ public class CommandDispatcher {
map.put(this.b.getRoot(), rootcommandnode);
this.a(this.b.getRoot(), rootcommandnode, entityplayer.getCommandListener(), (Map) map);
@@ -274,6 +274,7 @@ public class CommandDispatcher {
}
private void runSync(EntityPlayer entityplayer, Collection<String> bukkit, RootCommandNode<ICompletionProvider> rootcommandnode) {
+ if (PlayerCommandSendEvent.getHandlerList().getRegisteredListeners().length > 0) { // Purpur - skip all this crap if there's nothing listening
Collection<String> bukkit = new LinkedHashSet<>();
for (CommandNode node : rootcommandnode.getChildren()) {
bukkit.add(node.getName());
@@ -270,6 +271,7 @@ public class CommandDispatcher {
// Paper end - Async command map building
PlayerCommandSendEvent event = new PlayerCommandSendEvent(entityplayer.getBukkitEntity(), new LinkedHashSet<>(bukkit));
event.getPlayer().getServer().getPluginManager().callEvent(event);
@@ -285,6 +286,7 @@ public class CommandDispatcher {
}
}
// CraftBukkit end

View File

@@ -1,55 +0,0 @@
From 89cadb880367ca553254aaee8372031eaa1eef5b Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Wed, 8 Apr 2020 23:01:20 -0500
Subject: [PATCH] Async recalc perms and command map
---
src/main/java/net/minecraft/server/PlayerList.java | 10 ++++++++++
src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
2 files changed, 15 insertions(+)
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 0d985b83d8..e0004fb644 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -760,6 +760,15 @@ public abstract class PlayerList {
GameProfile gameprofile = entityplayer.getProfile();
int i = this.server.b(gameprofile);
+ // Purpur start
+ if (net.pl3x.purpur.PurpurConfig.updatePermsAndCommandsAsync) {
+ java.util.concurrent.ForkJoinPool.commonPool().execute(new java.util.concurrent.RecursiveAction() {
+ protected void compute() {
+ recalculatePermsAndCommands(entityplayer, i);
+ }
+ });
+ } else
+ // Purpur end
this.a(entityplayer, i);
}
@@ -893,6 +902,7 @@ public abstract class PlayerList {
}
+ private void recalculatePermsAndCommands(EntityPlayer entityplayer, int i) { a(entityplayer, i); } // Purpur - OBFHELPER
private void a(EntityPlayer entityplayer, int i) {
if (entityplayer.playerConnection != null) {
byte b0;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index e09cc77785..9ef407f346 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -208,4 +208,9 @@ public class PurpurConfig {
enchantment.setMaxLevel(maxLevel);
}
}
+
+ public static boolean updatePermsAndCommandsAsync = false;
+ private static void updatePermsAndCommandsAsync() {
+ updatePermsAndCommandsAsync = getBoolean("settings.update-permissions-and-commands-async", updatePermsAndCommandsAsync);
+ }
}
--
2.24.0

View File

@@ -1,4 +1,4 @@
From 2758492060717405c630dcd65a289920a0e4a473 Mon Sep 17 00:00:00 2001
From ab235395d56c2b8ae83599445292048d56a53f4a Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 21 Feb 2020 17:04:51 -0600
Subject: [PATCH] MC-125757 Fix - Always increment arrow despawn counter

View File

@@ -1,4 +1,4 @@
From 23d28155773440b58ca0dafe292b65252082ebfa Mon Sep 17 00:00:00 2001
From c94ced1b3813a118ca16c31c494f0e96bb443981 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 6 Jun 2019 22:15:46 -0500
Subject: [PATCH] MC-168772 Fix - Add turtle egg block options

View File

@@ -1,4 +1,4 @@
From ec96758f556e1a9ffb87bdad591fa22df602e952 Mon Sep 17 00:00:00 2001
From 371180c7bd03220b71c7d8f260ad63677513521f Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 6 Jul 2019 21:12:58 -0500
Subject: [PATCH] MC-4 Fix - Item position desync
@@ -44,7 +44,7 @@ index 5b1d959354..0010448e3a 100644
return (new Vec3D((double) i, (double) j, (double) k)).a(2.44140625E-4D);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 9ef407f346..31c5eec50c 100644
index e09cc77785..4d7795c938 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -167,8 +167,10 @@ public class PurpurConfig {

View File

@@ -1,4 +1,4 @@
From 311ea9846ee3db629c705342683697ed85061215 Mon Sep 17 00:00:00 2001
From 3e90adfb892fb2d30a5a6514a072d5a7f26f3653 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 9 Jul 2019 20:56:47 -0500
Subject: [PATCH] MC-56653 Fix - pig zombies aggro

View File

@@ -1,4 +1,4 @@
From 91e0c05ca584782244fca7221d82f57abc807f99 Mon Sep 17 00:00:00 2001
From 38ed9f144c5f3a2708c90cf6d39c4239f25ce82c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 20 Jul 2013 22:40:56 -0400
Subject: [PATCH] EMC - MonsterEggSpawn Event

View File

@@ -1,4 +1,4 @@
From 4c189c0f6cf26cc3fa4a21faf9a7f05b67c67847 Mon Sep 17 00:00:00 2001
From e77e28eb11bf9f6130204cfe37657236a0016721 Mon Sep 17 00:00:00 2001
From: Eearslya Sleiarion <eearslya@gmail.com>
Date: Mon, 24 Jun 2019 21:27:32 -0700
Subject: [PATCH] PaperPR - Add BellRingEvent

View File

@@ -1,59 +0,0 @@
From f25a1e4b5ec346d76d1bae86faa9a3bf6905b240 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 02:02:07 -0600
Subject: [PATCH] EMC - Optimize Pathfinding
Prevents pathfinding from spamming failures for things such as
arrow attacks.
---
.../minecraft/server/NavigationAbstract.java | 24 +++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index f06764973f..ac29f89371 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -11,7 +11,7 @@ public abstract class NavigationAbstract {
protected final EntityInsentient a; public Entity getEntity() { return a; } // Paper - OBFHELPER
protected final World b;
@Nullable
- protected PathEntity c;
+ protected PathEntity c; protected final PathEntity getCurrentPath() { return this.c; } // Purpur - OBFHELPER
protected double d;
private final AttributeInstance p;
protected int e;
@@ -158,10 +158,30 @@ public abstract class NavigationAbstract {
return this.a(this.a(d0, d1, d2, 1), d3);
}
+ // Purpur start - optimise pathfinding
+ private int lastFailure = 0;
+ private int pathfindFailures = 0;
+ // Purpur end
+
public boolean a(Entity entity, double d0) {
+ // Purpur start - Pathfinding optimizations
+ if (this.pathfindFailures > 10 && this.getCurrentPath() == null && MinecraftServer.currentTick < this.lastFailure + 40) {
+ return false;
+ }
+ // Purpur end
PathEntity pathentity = this.a(entity, 1);
- return pathentity != null && this.a(pathentity, d0);
+ // Purpur start - Pathfinding optimizations
+ if (pathentity != null && this.a(pathentity, d0)) {
+ this.lastFailure = 0;
+ this.pathfindFailures = 0;
+ return true;
+ } else {
+ this.pathfindFailures++;
+ this.lastFailure = MinecraftServer.currentTick;
+ return false;
+ }
+ // Purpur end
}
public boolean setDestination(@Nullable PathEntity pathentity, double speed) { return a(pathentity, speed); } // Paper - OBFHELPER
--
2.24.0

View File

@@ -1,4 +1,4 @@
From 2565c9b3ba85972d51fc4b9c30a815cfa04f2a83 Mon Sep 17 00:00:00 2001
From fbb2cbda6e3695eb4c43f498934da285239fa2b6 Mon Sep 17 00:00:00 2001
From: chase <chasewhip20@gmail.com>
Date: Sun, 15 Mar 2020 18:32:22 -0600
Subject: [PATCH] PaperPR - Per World Spawn limits

View File

@@ -1,4 +1,4 @@
From 268092bc3630f2ac33f396e0f0d4ddc8f3cf4ede Mon Sep 17 00:00:00 2001
From a1a3f45960afdad2059d354176839c28b10ddc0c Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Fri, 25 Oct 2019 02:11:30 -0700
Subject: [PATCH] Tuinity - Delay chunk unloads
@@ -185,7 +185,7 @@ index 4b87ca2ecb..346e2ebc79 100644
public static <T> TicketType<T> a(String s, Comparator<T> comparator) {
return new TicketType<>(s, comparator, 0L);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 31c5eec50c..66258ea47b 100644
index 4d7795c938..a13cb072ba 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -4,6 +4,7 @@ import com.google.common.base.Throwables;
@@ -196,9 +196,9 @@ index 31c5eec50c..66258ea47b 100644
import net.pl3x.purpur.command.PurpurCommand;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
@@ -215,4 +216,12 @@ public class PurpurConfig {
private static void updatePermsAndCommandsAsync() {
updatePermsAndCommandsAsync = getBoolean("settings.update-permissions-and-commands-async", updatePermsAndCommandsAsync);
@@ -210,4 +211,12 @@ public class PurpurConfig {
enchantment.setMaxLevel(maxLevel);
}
}
+
+ public static int delayChunkUnloadsBy;

View File

@@ -1,4 +1,4 @@
From 4b2a8e61e9f9db64d47aa834a7781e76137480c8 Mon Sep 17 00:00:00 2001
From 249a6ce53535798d8b0e0064a6f390f9dde36098 Mon Sep 17 00:00:00 2001
From: Spottedleaf <spottedleaf@spottedleaf.dev>
Date: Thu, 26 Mar 2020 18:34:18 -0700
Subject: [PATCH] Tuinity - Don't run entity collision code if not needed

View File

@@ -1,4 +1,4 @@
From b59a3ec5facc9721fee2c2bdb3325249efcc9f44 Mon Sep 17 00:00:00 2001
From 53a11c80d9489ac8ef1f4c6e046e79ddda889c15 Mon Sep 17 00:00:00 2001
From: Spottedleaf <spottedleaf@spottedleaf.dev>
Date: Fri, 3 Apr 2020 02:21:13 -0700
Subject: [PATCH] Tuinity - Always able to execute tasks on the main server
@@ -12,10 +12,10 @@ chunks.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b6da0884cd..1ef77fbd31 100644
index cebb45ec76..157bb1f9c4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1068,7 +1068,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1070,7 +1070,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
protected boolean canExecute(TickTask ticktask) {

View File

@@ -1,4 +1,4 @@
From e85cc101efc11c2140e7a4b8abb694628c922d38 Mon Sep 17 00:00:00 2001
From 5a8b067c0a8214a4ab936b4cd8f73f1da1ad9ffe Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
Date: Thu, 5 Mar 2020 23:08:01 +0100
Subject: [PATCH] YAPFA - Disable mojang profiler
@@ -43,7 +43,7 @@ index f0d72ea39d..e38a684060 100644
throw CommandDebug.b.create();
} else {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1ef77fbd31..31c71e46a3 100644
index 157bb1f9c4..8724bae64b 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
@@ -55,7 +55,7 @@ index 1ef77fbd31..31c71e46a3 100644
private ServerConnection serverConnection;
public final WorldLoadListenerFactory worldLoadListenerFactory;
private final ServerPing serverPing = new ServerPing();
@@ -1412,6 +1412,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1414,6 +1414,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
String s1 = (String) Optional.ofNullable(optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
final DedicatedServer dedicatedserver = new DedicatedServer(optionset, dedicatedserversettings, DataConverterRegistry.a(), yggdrasilauthenticationservice, minecraftsessionservice, gameprofilerepository, usercache, WorldLoadListenerLogger::new, s1);
@@ -64,7 +64,7 @@ index 1ef77fbd31..31c71e46a3 100644
/*
dedicatedserver.i((String) optionset.valueOf(optionspec7));
dedicatedserver.setPort((Integer) optionset.valueOf(optionspec10));
@@ -1837,6 +1839,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1839,6 +1841,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public abstract boolean a(EnumGamemode enumgamemode, boolean flag, int i);

View File

@@ -1,4 +1,4 @@
From 755dd45501bc98e4cbb7729b9bd1024bff43fc6b Mon Sep 17 00:00:00 2001
From 819efa37928d0ef019e6374e5834eeba82860ce5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sun, 12 Apr 2020 13:19:34 -0500
Subject: [PATCH] Chickens can retaliate