Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
7232d8f2a EntityLoadCrossbowEvent#shouldConsumeItem
4740bd6c8 Mark PlayerInventory#getItem as nullable
bd9ace578 Add a config option to limit the number of entities of each type to load/save in a chunk (#4792)
6bafeb5a9 Move logic from last patch into correct place
9668118fd disable entity ticking flag after watchdog obliteration
This commit is contained in:
jmp
2021-01-14 14:47:12 -08:00
parent 17e9e39370
commit 7f4c8f8715
111 changed files with 47 additions and 118 deletions

2
Paper

Submodule Paper updated: 6ada26a6d0...7232d8f2af

View File

@@ -9373,7 +9373,7 @@ index 75d25576d68ec95a14372f8530f4916f2bd7c3c5..38ca1c042afd41a1f660f88e398fedde
} }
} finally { } finally {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 8e7da2c5f3852920ec5fbcdd2bff4d299e6aa499..cba943682f5ee798517bc8c3a098c100e235320b 100644 index 060ef42bc8f22688071fa375bd4dbab8dd2c1e9e..090e5eafeb35c60fb470b74863d59ed4a4f66be8 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -24,6 +24,14 @@ public class ChunkRegionLoader { @@ -24,6 +24,14 @@ public class ChunkRegionLoader {
@@ -11113,7 +11113,7 @@ index ff74be14512a947e81b62d53e616131ca7d7f609..e79e773f2219f9a9ae076fcbc8108b79
public static <T> void mergeSortedSets(final java.util.function.Consumer<T> consumer, final java.util.Comparator<? super T> comparator, final java.util.SortedSet<T>...sets) { public static <T> void mergeSortedSets(final java.util.function.Consumer<T> consumer, final java.util.Comparator<? super T> comparator, final java.util.SortedSet<T>...sets) {
final ObjectRBTreeSet<T> all = new ObjectRBTreeSet<>(comparator); final ObjectRBTreeSet<T> all = new ObjectRBTreeSet<>(comparator);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c48d1689f 100644 index c3fb69b18bf66ac8532196d953d9729ffb394721..28c1995e37cb134979b953028844fd5567aa9d00 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -151,6 +151,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -151,6 +151,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -11136,8 +11136,8 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
+ if ((System.nanoTime() - start) <= (15L * 1000L * 1000L * 1000L)) Thread.sleep(1); // Tuinity - really try hard to kill the main thread - if we're past 15s we're probably in a terrible loop, spam it to really kill it + if ((System.nanoTime() - start) <= (15L * 1000L * 1000L * 1000L)) Thread.sleep(1); // Tuinity - really try hard to kill the main thread - if we're past 15s we're probably in a terrible loop, spam it to really kill it
} catch (InterruptedException e) {} } catch (InterruptedException e) {}
} }
} // We've just obliterated the main thread, this will prevent stop from dying when removing players
@@ -947,6 +949,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -951,6 +953,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Paper end // Paper end
PaperJvmChecker.checkJvm(); // Paper jvm version nag PaperJvmChecker.checkJvm(); // Paper jvm version nag
@@ -11145,7 +11145,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
org.spigotmc.WatchdogThread.tick(); // Paper org.spigotmc.WatchdogThread.tick(); // Paper
org.spigotmc.WatchdogThread.hasStarted = true; // Paper org.spigotmc.WatchdogThread.hasStarted = true; // Paper
Arrays.fill( recentTps, 20 ); Arrays.fill( recentTps, 20 );
@@ -964,6 +967,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -968,6 +971,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.lastOverloadTime = this.nextTick; this.lastOverloadTime = this.nextTick;
} }
@@ -11153,7 +11153,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
if ( ++MinecraftServer.currentTick % SAMPLE_INTERVAL == 0 ) if ( ++MinecraftServer.currentTick % SAMPLE_INTERVAL == 0 )
{ {
final long diff = curTime - tickSection; final long diff = curTime - tickSection;
@@ -978,7 +982,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -982,7 +986,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Paper end // Paper end
tickSection = curTime; tickSection = curTime;
} }
@@ -11162,7 +11162,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
// Spigot end // Spigot end
//MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time //MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time
@@ -1071,6 +1075,76 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1075,6 +1079,76 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} }
// Paper end // Paper end
@@ -11239,7 +11239,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
private void executeModerately() { private void executeModerately() {
this.executeAll(); this.executeAll();
java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L); java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L);
@@ -1084,22 +1158,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1088,22 +1162,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}); });
} }
@@ -11263,7 +11263,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
@Override @Override
protected TickTask postToMainThread(Runnable runnable) { protected TickTask postToMainThread(Runnable runnable) {
@@ -1126,6 +1185,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1130,6 +1189,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private boolean bb() { private boolean bb() {
if (super.executeNext()) { if (super.executeNext()) {
@@ -11271,7 +11271,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
return true; return true;
} else { } else {
if (this.canSleepForTick()) { if (this.canSleepForTick()) {
@@ -1193,7 +1253,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1197,7 +1257,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Paper start - move oversleep into full server tick // Paper start - move oversleep into full server tick
isOversleep = true;MinecraftTimings.serverOversleep.startTiming(); isOversleep = true;MinecraftTimings.serverOversleep.startTiming();
this.awaitTasks(() -> { this.awaitTasks(() -> {
@@ -11280,7 +11280,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
return !this.canOversleep(); return !this.canOversleep();
}); });
isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); isOversleep = false;MinecraftTimings.serverOversleep.stopTiming();
@@ -1258,6 +1318,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1262,6 +1322,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} }
// Paper end // Paper end
@@ -11289,7 +11289,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
// Paper start // Paper start
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime; long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
@@ -1284,16 +1346,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1288,16 +1350,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} }
protected void b(BooleanSupplier booleansupplier) { protected void b(BooleanSupplier booleansupplier) {
@@ -11309,7 +11309,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
this.methodProfiler.exitEnter("levels"); this.methodProfiler.exitEnter("levels");
Iterator iterator = this.getWorlds().iterator(); Iterator iterator = this.getWorlds().iterator();
@@ -1304,7 +1366,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1308,7 +1370,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
processQueue.remove().run(); processQueue.remove().run();
} }
MinecraftTimings.processQueueTimer.stopTiming(); // Spigot MinecraftTimings.processQueueTimer.stopTiming(); // Spigot
@@ -11318,7 +11318,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
// Send time updates to everyone, it will get the right time from the world the player is in. // Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - optimize time updates // Paper start - optimize time updates
@@ -1346,11 +1408,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1350,11 +1412,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.methodProfiler.enter("tick"); this.methodProfiler.enter("tick");
try { try {
@@ -11333,7 +11333,7 @@ index a7cd98a7cd7fed95e37a178f732339e204650b10..34fa53eb1370682fff3dc342e33ffe7c
} catch (Throwable throwable) { } catch (Throwable throwable) {
// Spigot Start // Spigot Start
CrashReport crashreport; CrashReport crashreport;
@@ -1444,7 +1507,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1448,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} }
public String getServerModName() { public String getServerModName() {
@@ -15542,7 +15542,7 @@ index f011869880fedae4b69e505491e8bdbc5f51dfba..0d10d317cd0b60fc0866ae505c7fd71f
return this.j.d(); return this.j.d();
} }
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 9c50357bb5da309b7cad74fdee15697a20e2e15f..2104c9ab5ed6fa81d29887b33313c8ff7310dd09 100644 index 136fe0d65bf6356d84be1b962383c8630e990d89..1774beea5a06214368f5df7be872bb830711568e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent; @@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent;

View File

@@ -48,10 +48,10 @@ index 229c3b0f0c650b501f31147adaa17194af57fedd..f88cf526d272fe47b5a474c0b344b748
throwable = throwable1; throwable = throwable1;
throw throwable1; throw throwable1;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 34fa53eb1370682fff3dc342e33ffe7c48d1689f..1f2bcafbe5444fe0900dea6a493bac2ccc6b8b50 100644 index 28c1995e37cb134979b953028844fd5567aa9d00..717978668d0706e5ec30f0a22d7e52fd80fdd348 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1507,7 +1507,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} }
public String getServerModName() { public String getServerModName() {

View File

@@ -193,7 +193,7 @@ index 5c708ed2cd3b10744b0d6d2eb2ef51d0411ce0dc..d1d4f4baf33e6b2224116f22a63b6d21
if (from.getX() != Double.MAX_VALUE) { if (from.getX() != Double.MAX_VALUE) {
Location oldTo = to.clone(); Location oldTo = to.clone();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 2104c9ab5ed6fa81d29887b33313c8ff7310dd09..9d1a062d2068df8cf7cc11a3f44240afd46f7c81 100644 index 1774beea5a06214368f5df7be872bb830711568e..6a58b368b9397a5e529cf4e1e532ca30ed312fb5 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -781,7 +781,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -781,7 +781,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1f2bcafbe5444fe0900dea6a493bac2ccc6b8b50..0945e9cf8a37868beb9ea13e7b889aae827b4662 100644 index 717978668d0706e5ec30f0a22d7e52fd80fdd348..e537b9720aa2988bf4740fc9c2c9c5c8b09df292 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1507,7 +1507,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} }
public String getServerModName() { public String getServerModName() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0945e9cf8a37868beb9ea13e7b889aae827b4662..3ac30bbf7ad327372b02ed365572fd3226fb6f9a 100644 index e537b9720aa2988bf4740fc9c2c9c5c8b09df292..ff6ed0a8e055eaf73249d8c2d0f69a29c2067f61 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -163,6 +163,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -163,6 +163,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -16,7 +16,7 @@ index 0945e9cf8a37868beb9ea13e7b889aae827b4662..3ac30bbf7ad327372b02ed365572fd32
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end // Spigot end
@@ -980,6 +981,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -984,6 +985,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
recentTps[1] = tps5.getAverage(); recentTps[1] = tps5.getAverage();
recentTps[2] = tps15.getAverage(); recentTps[2] = tps15.getAverage();
// Paper end // Paper end

View File

@@ -30,10 +30,10 @@ index 94585029142f8d8c494cf957d5363a0aec0b697d..144c443f6f8b7ab2c6df2d32c27ef8be
this.damageEntity(DamageSource.DROWN, 1.0F); this.damageEntity(DamageSource.DROWN, 1.0F);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3ac30bbf7ad327372b02ed365572fd3226fb6f9a..de72f058b6de539ff75858120d6d023eaae22275 100644 index ff6ed0a8e055eaf73249d8c2d0f69a29c2067f61..a3fb9cc93a759074e2ae987dd48a1361d64d60c1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1394,6 +1394,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1398,6 +1398,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
while (iterator.hasNext()) { while (iterator.hasNext()) {
WorldServer worldserver = (WorldServer) iterator.next(); WorldServer worldserver = (WorldServer) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -42,7 +42,7 @@ index 3ac30bbf7ad327372b02ed365572fd3226fb6f9a..de72f058b6de539ff75858120d6d023e
this.methodProfiler.a(() -> { this.methodProfiler.a(() -> {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 9d1a062d2068df8cf7cc11a3f44240afd46f7c81..f74a26ca08c574d5a99d04276e8f33a82955440a 100644 index 6a58b368b9397a5e529cf4e1e532ca30ed312fb5..536458e5209ee15ea1c1a399808e157a07899e07 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -101,6 +101,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -101,6 +101,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f74a26ca08c574d5a99d04276e8f33a82955440a..fa671594cf4021be197fda1cdc11f000faccf24b 100644 index 536458e5209ee15ea1c1a399808e157a07899e07..689504bb79de406c783a0fb926ed1366cbd213e1 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -996,12 +996,18 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -996,12 +996,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index de72f058b6de539ff75858120d6d023eaae22275..1c97728959709930d280d0522ef6331fb5cb3429 100644 index a3fb9cc93a759074e2ae987dd48a1361d64d60c1..6b9199a3d42f9854a74e239c3f74230ca92dad1c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -998,7 +998,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1002,7 +1002,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.a(this::canSleepForTick); this.a(this::canSleepForTick);
this.methodProfiler.exitEnter("nextTickWait"); this.methodProfiler.exitEnter("nextTickWait");
this.X = true; this.X = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index d5c0b5574f763c7191b03ff0e78e689dad6589ff..74056592041580fd747efe874f8931fb71cb553d 100644 index 090e5eafeb35c60fb470b74863d59ed4a4f66be8..fc0bb651878633f778623e9b91ba110bd341f5d3 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -536,6 +536,7 @@ public class ChunkRegionLoader { @@ -536,6 +536,7 @@ public class ChunkRegionLoader {
@@ -13,9 +13,9 @@ index d5c0b5574f763c7191b03ff0e78e689dad6589ff..74056592041580fd747efe874f8931fb
while (iterator1.hasNext()) { while (iterator1.hasNext()) {
Entity entity = (Entity) iterator1.next(); Entity entity = (Entity) iterator1.next();
+ if (!entity.canSaveToDisk()) continue; // Purpur + if (!entity.canSaveToDisk()) continue; // Purpur
if (worldserver.paperConfig.projectileSaveLimit > -1 && (entity instanceof IProjectile || entity instanceof EntityEnderSignal)) { final EntityTypes<?> entityType = entity.getEntityType();
final EntityTypes<?> projectileType = entity.getEntityType(); final int saveLimit = worldserver.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1);
if (savedProjectileCounts.getOrDefault(projectileType, 0) >= worldserver.paperConfig.projectileSaveLimit) { if (saveLimit > -1) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 1210b1d2ac1b129342d80c2a47cd79e1c21be2a5..79f418054f91184b73759296cef15beb410edeae 100644 index 1210b1d2ac1b129342d80c2a47cd79e1c21be2a5..79f418054f91184b73759296cef15beb410edeae 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java

View File

@@ -1,71 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: jmp <jasonpenilla2@me.com>
Date: Wed, 18 Nov 2020 20:52:25 -0800
Subject: [PATCH] PaperPR - Projectile load/save limit per chunk
Adds a config option to limit the number of projectiles saved and loaded
to a chunk. Limits are counted per entity type, i.e. a limit of 5 means
that 5 arrows, 5 snowballs, 5 tridents, etc. will be allowed to be
saved/loaded per chunk. The default value of -1 disables the limit.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index c5495e02c3fe271b26f62ea2ec64e07957edf37e..0ba5734e60467e34c73d4ed92f5a030af9817582 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -761,4 +761,9 @@ public class PaperWorldConfig {
EnumDifficulty.class
);
}
+
+ public int projectileSaveLimit = -1;
+ private void projectileSaveLimit() {
+ projectileSaveLimit = getInt("projectile-load-save-per-chunk-limit", projectileSaveLimit);
+ }
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index cba943682f5ee798517bc8c3a098c100e235320b..d5c0b5574f763c7191b03ff0e78e689dad6589ff 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -529,11 +529,21 @@ public class ChunkRegionLoader {
chunk.d(false);
+ // Paper start
+ final Map<EntityTypes<?>, Integer> savedProjectileCounts = Maps.newHashMap();
for (int j = 0; j < chunk.getEntitySlices().length; ++j) {
Iterator iterator1 = chunk.getEntitySlices()[j].iterator();
while (iterator1.hasNext()) {
Entity entity = (Entity) iterator1.next();
+ if (worldserver.paperConfig.projectileSaveLimit > -1 && (entity instanceof IProjectile || entity instanceof EntityEnderSignal)) {
+ final EntityTypes<?> projectileType = entity.getEntityType();
+ if (savedProjectileCounts.getOrDefault(projectileType, 0) >= worldserver.paperConfig.projectileSaveLimit) {
+ continue;
+ }
+ savedProjectileCounts.merge(projectileType, 1, Integer::sum);
+ }
+ // Paper end
NBTTagCompound nbttagcompound4 = new NBTTagCompound();
// Paper start
if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) {
@@ -664,10 +674,20 @@ public class ChunkRegionLoader {
NBTTagList nbttaglist = nbttagcompound.getList("Entities", 10);
World world = chunk.getWorld();
+ // Paper start
+ final Map<EntityTypes<?>, Integer> loadedProjectileCounts = Maps.newHashMap();
for (int i = 0; i < nbttaglist.size(); ++i) {
NBTTagCompound nbttagcompound1 = nbttaglist.getCompound(i);
EntityTypes.a(nbttagcompound1, world, (entity) -> {
+ if (world.paperConfig.projectileSaveLimit > -1 && (entity instanceof IProjectile || entity instanceof EntityEnderSignal)) {
+ final EntityTypes<?> projectileType = entity.getEntityType();
+ if (loadedProjectileCounts.getOrDefault(projectileType, 0) >= world.paperConfig.projectileSaveLimit) {
+ return entity;
+ }
+ loadedProjectileCounts.merge(projectileType, 1, Integer::sum);
+ }
+ // Paper end
chunk.a(entity);
return entity;
});

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add 5 second tps average in /tps
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1c97728959709930d280d0522ef6331fb5cb3429..11e76719df539d39b1ecd8303a8d54319b00f182 100644 index 6b9199a3d42f9854a74e239c3f74230ca92dad1c..b87dab8fe6837338fad6d51d6c3134cee537f21b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -162,7 +162,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -162,7 +162,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -17,7 +17,7 @@ index 1c97728959709930d280d0522ef6331fb5cb3429..11e76719df539d39b1ecd8303a8d5431
public boolean lagging = false; // Purpur public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end // Spigot end
@@ -881,6 +881,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -885,6 +885,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L; private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0; private long lastTick = 0;
private long catchupTime = 0; private long catchupTime = 0;
@@ -25,7 +25,7 @@ index 1c97728959709930d280d0522ef6331fb5cb3429..11e76719df539d39b1ecd8303a8d5431
public final RollingAverage tps1 = new RollingAverage(60); public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5); public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15); public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -973,13 +974,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -977,13 +978,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
{ {
final long diff = curTime - tickSection; final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP); java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);

View File

@@ -22,7 +22,7 @@ index 829d4a7508e1656dbdc912096b7eafcf30cbb5b2..6aea156d7c7a9ca8a357aad6a6781d72
} }
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index fa671594cf4021be197fda1cdc11f000faccf24b..11893ad0f04311b028ad41352e24dcf10d55dfc7 100644 index 689504bb79de406c783a0fb926ed1366cbd213e1..437ab11826d12d743d74f0161ba796b006632c3c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -321,14 +321,14 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -321,14 +321,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {

View File

@@ -4915,10 +4915,10 @@ index 9f5ce64a60fe7c312399ee416b11b84213dd3bee..b9f8ed355421f24306e0cc2bb976589f
Entity entity1 = this.getShooter(); Entity entity1 = this.getShooter();
// Paper start - Cancel hit for vanished players // Paper start - Cancel hit for vanished players
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 11e76719df539d39b1ecd8303a8d54319b00f182..22e84d2e08ad436c553dc7d99046adf9ee63e9f1 100644 index b87dab8fe6837338fad6d51d6c3134cee537f21b..37b7051e9fde2f0af9216dc5a755f74ec23bb1bd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1406,6 +1406,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -1410,6 +1410,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
WorldServer worldserver = (WorldServer) iterator.next(); WorldServer worldserver = (WorldServer) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasEntityMoveEvent = net.pl3x.purpur.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur worldserver.hasEntityMoveEvent = net.pl3x.purpur.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -5041,7 +5041,7 @@ index f260d01aad4db512952e5a53bf5bc01023bbd43d..cf1f4fe5832781df7d0bdd5eb24eff85
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 11893ad0f04311b028ad41352e24dcf10d55dfc7..21b915c0aa4f2192a3eaddbc950734c6bbcce339 100644 index 437ab11826d12d743d74f0161ba796b006632c3c..d06c47484ea073695f8135a42c7985bfbafd6b9c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -102,6 +102,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -102,6 +102,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {

View File

@@ -42,7 +42,7 @@ index cf1f4fe5832781df7d0bdd5eb24eff8539691c30..aa1b037c0103552761b81318f1d2ad82
this.generator = gen; this.generator = gen;
this.world = new CraftWorld((WorldServer) this, gen, env); this.world = new CraftWorld((WorldServer) this, gen, env);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 21b915c0aa4f2192a3eaddbc950734c6bbcce339..f498241a31f531b74167a9f71f9871f6d620ee66 100644 index d06c47484ea073695f8135a42c7985bfbafd6b9c..4fa3d50b4f9f2623ca9265db9afb9a36548b5753 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -339,7 +339,24 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -339,7 +339,24 @@ public class WorldServer extends World implements GeneratorAccessSeed {

View File

@@ -18,7 +18,7 @@ index 1b9b43ee696575d986c25cafec07d863acb951a7..e837db171545ceacbc84a2b360cf0d95
public PacketPlayOutUpdateTime() {} public PacketPlayOutUpdateTime() {}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f498241a31f531b74167a9f71f9871f6d620ee66..0e5c5809783d0c9699e2ee0f2cb498cde9f84ab6 100644 index 4fa3d50b4f9f2623ca9265db9afb9a36548b5753..802460402d546262fc50a07901b1d30d9a7bbd7b 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -94,6 +94,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -94,6 +94,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PaperPR - Config option for Piglins guarding chests
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 0ba5734e60467e34c73d4ed92f5a030af9817582..d5ae1938d9dcd84975fe4e21674fba2c2d450def 100644 index 234d2daecc5d0bf6a99c0a5f4a87f947a15029d9..ab53e4993b98060c36378fc4cc449c68a74fc24b 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -697,6 +697,11 @@ public class PaperWorldConfig { @@ -698,6 +698,11 @@ public class PaperWorldConfig {
zombiesTargetTurtleEggs = getBoolean("zombies-target-turtle-eggs", zombiesTargetTurtleEggs); zombiesTargetTurtleEggs = getBoolean("zombies-target-turtle-eggs", zombiesTargetTurtleEggs);
} }

View File

@@ -17,7 +17,7 @@ index b5cc099746e9f05ea69bc438bda22a5ac3ebc3c5..bbd17231a4f7ad0ddde6eb5e589a6c40
if (commanddispatcher_servertype.d) { if (commanddispatcher_servertype.d) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 22e84d2e08ad436c553dc7d99046adf9ee63e9f1..9399b3c1571dfbbc58476e3d92599f589fa0094a 100644 index 37b7051e9fde2f0af9216dc5a755f74ec23bb1bd..72df524d83139a7bf3c79fe5e403290fc457e12d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -468,6 +468,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -468,6 +468,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -28,7 +28,7 @@ index 22e84d2e08ad436c553dc7d99046adf9ee63e9f1..9399b3c1571dfbbc58476e3d92599f58
} }
protected void updateWorldSettings() {} protected void updateWorldSettings() {}
@@ -857,6 +858,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas @@ -861,6 +862,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.safeShutdown(flag, false); this.safeShutdown(flag, false);
} }
public void safeShutdown(boolean flag, boolean isRestarting) { public void safeShutdown(boolean flag, boolean isRestarting) {

Some files were not shown because too many files have changed in this diff Show More