Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@cd110a8 [ci skip] Update CONTRIBUTING.md (#10318)
PaperMC/Paper@e603486 Add onboarding message for initial server start (#10312)
PaperMC/Paper@d361a7f Fix DamageSource API (#10307)
PaperMC/Paper@99a6416 Expand Hopper BlockState API (#10328)
This commit is contained in:
granny
2024-03-17 11:58:03 -07:00
parent df23ed3f55
commit 943f9af80b
19 changed files with 98 additions and 98 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.20.4-R0.1-SNAPSHOT
mcVersion = 1.20.4
paperCommit = ab1afb0ed8838117f00a70fcf507ffedfb00c414
paperCommit = 99a641690abd3d3669249ce10243e0739a13af33
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -1497,7 +1497,7 @@ index ba12919c3f9aec34a9e64993b143ae92be5eb172..9efeab9078e2d08903e482718b840797
} else {
this.lastTimeStamp = body.timeStamp();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d06185566b447c432d4dc2e3ba04d121bcdbc71b..d1c21d36de331905aedb08b0a8d4fbf97e100a13 100644
index 93b661e9cb7743aeff7da3972942cb73049a5e4c..60dad77b824c9b6a45e3a3960eb9d995583f1d28 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -312,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1508,7 +1508,7 @@ index d06185566b447c432d4dc2e3ba04d121bcdbc71b..d1c21d36de331905aedb08b0a8d4fbf9
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -1219,6 +1220,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1229,6 +1230,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
@@ -1521,7 +1521,7 @@ index d06185566b447c432d4dc2e3ba04d121bcdbc71b..d1c21d36de331905aedb08b0a8d4fbf9
this.waitUntilNextTick();
if (flag) {
this.tickRateManager.endTickWork();
@@ -1855,7 +1862,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1865,7 +1872,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -1530,7 +1530,7 @@ index d06185566b447c432d4dc2e3ba04d121bcdbc71b..d1c21d36de331905aedb08b0a8d4fbf9
}
public SystemReport fillSystemReport(SystemReport details) {
@@ -2442,6 +2449,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2452,6 +2459,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -1918,7 +1918,7 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c
int LARGE_MAX_STACK_SIZE = 64;
int DEFAULT_DISTANCE_LIMIT = 8;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 51097f1d04d981db2823e8647b546658b8fd27c1..d18296739a833dbe6c3bf45e00d5d5c2e80099ac 100644
index f5a86c0fb1a7a313afc4c56ffc445a7fe7821428..4a68726ba1e787001f8d1cdb713778ac630850e8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -2884,7 +2884,7 @@ index 9b1243d96e0694c62fc9e82e9be540bce0d2b3ad..3514022d898a24052c917ebf55dcef3e
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index 757edf74751dc7183454656fda9cecc4eb601e4c..9e577408d8e794c40bf34bc800cd0920856a5d2b 100644
index cdb739df2a285032d25d84f4464f202a7a3fa578..6b9cd8543a5bfc2b936ba18f66ffd60f2f792e43 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -48,7 +48,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -2895,7 +2895,7 @@ index 757edf74751dc7183454656fda9cecc4eb601e4c..9e577408d8e794c40bf34bc800cd0920
private NonNullList<ItemStack> items;
+ private gg.airplane.structs.ItemListWithBitset optimizedItems; // Pufferfish
+ // Pufferfish end
private int cooldownTime;
public int cooldownTime;
private long tickedGameTime;
@@ -84,14 +87,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen

View File

@@ -177,7 +177,7 @@ index 99c5038672b09d0874125e3df280174c1e8151e6..f91ea723a1c85f6cf8c4f6dd7f182b94
stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d1c21d36de331905aedb08b0a8d4fbf97e100a13..a6d3f90f7867cfbda0ef406ff3ce1bd8b9f787b0 100644
index 60dad77b824c9b6a45e3a3960eb9d995583f1d28..9ce656109ea20de5f443f9e680debe38e9dace24 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -953,7 +953,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -189,7 +189,7 @@ index d1c21d36de331905aedb08b0a8d4fbf97e100a13..a6d3f90f7867cfbda0ef406ff3ce1bd8
while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop();
try {
@@ -1862,7 +1862,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1872,7 +1872,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -199,7 +199,7 @@ index d1c21d36de331905aedb08b0a8d4fbf97e100a13..a6d3f90f7867cfbda0ef406ff3ce1bd8
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9f5a6398a7dca841570a895054cee969dc96bca4..357d7b8ca85ec3ed1fc53b230ae574d9f7c8cddf 100644
index 18bfe2fb7efad66f5fae07a30593d640c597bf77..86c234c123fac96b4f94873d1dcfab30e9835e43 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -266,7 +266,7 @@ import javax.annotation.Nullable; // Paper

View File

@@ -61,10 +61,10 @@ index 1e5f709115007ff19901c0a6c3cf884d9e4d3a6c..6886f5808ffaaed06dcae122f7cba6a1
Iterator iterator = this.players.iterator();
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index 1561b85a45f52a8162f43553f8485bfe084b8f1f..938524dc5b495ad160b9b14219db573e4e7c6a8a 100644
index b26e4d58ea1898a5e4b31c3d6ab33f38835ab2c6..61741b6ecf4fa2b0d4a1c44c825e8fcdeb412c0a 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -170,6 +170,15 @@ public class DamageSource {
@@ -176,6 +176,15 @@ public class DamageSource {
}
}
@@ -81,7 +81,7 @@ index 1561b85a45f52a8162f43553f8485bfe084b8f1f..938524dc5b495ad160b9b14219db573e
return this.type().msgId();
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 3773b05d0e2875db8817835e623272292855925f..b96535eb07da6535bbb287c9478b81e7022247b1 100644
index a1d4ab05a3542320e9b91a1dbabb17859914a922..1ffc486f941046056dab91c861f939ba0202fa69 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4152,6 +4152,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S

View File

@@ -22,10 +22,10 @@ index e17fa30966dea2836fb791becd032fc7d5cc2611..dd06323731533fb9b1b25a56844a4e39
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a6d3f90f7867cfbda0ef406ff3ce1bd8b9f787b0..0831d305a3b9d8d27cef946f46c0b03fccbc54c1 100644
index 9ce656109ea20de5f443f9e680debe38e9dace24..5a0ebacdda1cf62ce5c8d088c1266cfd47923ff5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1702,6 +1702,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1712,6 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
worldserver.updateLagCompensationTick(); // Paper - lag compensation
@@ -79,7 +79,7 @@ index 601ac8738a775eafde2c9e237feb596a9a47ba89..7f73d724af2c468a06dcfd760a70b8d6
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 653209b573cf5a78c661029a24727321d8115270..315254c0cb42a2610b24846cf76972d25d9ed843 100644
index 1ffc486f941046056dab91c861f939ba0202fa69..c94573ec8a82733abae1a36f29277907b8567196 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -379,7 +379,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -2010,7 +2010,7 @@ index b05b560b7570e97bc234b75f26233909fcf575b3..71234b258157579d3a47064e7e299bb7
return "entity.minecraft.tropical_fish.predefined." + variant;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index dbdb6c432448b151fa4421f14235f8bad23dc720..4707f0d1c78d6080201c313717ef912d4805873d 100644
index 2eb099957a3d0bae3339ff4edbab103fb348abed..29788b801e1faba6d7671e64e280ff585842ed27 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -86,6 +86,23 @@ public class Turtle extends Animal {
@@ -5158,7 +5158,7 @@ index 8f5376543cca9cbfb2a014f67ec373d984b0df64..3673d1442778331ece25f8faca95b349
public void tick() {
super.tick();
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
index 5c7a6fe97b1f0b55b4a5dddbb684e4424688f866..030aff3d948105d650e2a0918b195554657478d9 100644
index 6f49b9b8707d74330adb973e0db3cd5bccf138b6..f5e1aa316a90bf2cd9c997b76830096d4fbbee42 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -111,6 +111,12 @@ public class WitherSkull extends AbstractHurtingProjectile {
@@ -5207,7 +5207,7 @@ index 0b5a31477e3b76833fb97a455842316193663c8e..74599d29538b7072464d3bb16b6356da
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 4c2e8129481384a143384d327e14320023735b1a..ac836274a2d725e3fac55394154ae2148024853a 100644
index cb3e9672f375a1a660757a05362729ddb5ca7504..c12fb91e6fa286b99bd08ff39cda7d6e4ff73f19 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -592,6 +592,15 @@ public class CraftEventFactory {
@@ -5226,7 +5226,7 @@ index 4c2e8129481384a143384d327e14320023735b1a..ac836274a2d725e3fac55394154ae214
return event;
}
@@ -1183,6 +1192,7 @@ public class CraftEventFactory {
@@ -1181,6 +1190,7 @@ public class CraftEventFactory {
EntityDamageEvent event;
if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);

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
index bebb1f089783ee84faad3ed3b08c40b9fd2518c0..bc90dd132e56dbc445261c27f4cd96a54d1ab8f1 100644
index 5a0ebacdda1cf62ce5c8d088c1266cfd47923ff5..66bacce6f3cfa94341fa663a55c5e99a51f0e437 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1863,7 +1863,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1873,7 +1873,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
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
index c90a488e41ef65b57818cd91403e65e5f5e19cd9..feece6ec8fda944e2fcbf7c59327d0a11d9b2885 100644
index 66bacce6f3cfa94341fa663a55c5e99a51f0e437..0c7681a431e1986484319bf2de89d3cc3f7a6275 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -308,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index c90a488e41ef65b57818cd91403e65e5f5e19cd9..feece6ec8fda944e2fcbf7c59327d0a1
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -1197,6 +1198,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1207,6 +1208,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[0] = tps1.getAverage();
this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage();

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
index c58a727c8bbff81e719ee2a3712dd3f397eee53e..3bf8cea369eec31b59850c0eeabaa053ac9f2e7e 100644
index 0c7681a431e1986484319bf2de89d3cc3f7a6275..4c61c1dd393ac13da2f0f2b2c07db3070a172e02 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1223,11 +1223,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1233,11 +1233,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
// Pufferfish start - tps catchup

View File

@@ -18,7 +18,7 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..308f67d0616e2d6bb135258f1fda53cc
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 904c87a7c21c7f0a159a3ddedfe750639946e4b1..7528aa9cdc7378536b9523c7d7f181fc9e254b35 100644
index 4c61c1dd393ac13da2f0f2b2c07db3070a172e02..87990fd0cb3637779c9750fcc76890dd92873ddd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -38,7 +38,7 @@ index 904c87a7c21c7f0a159a3ddedfe750639946e4b1..7528aa9cdc7378536b9523c7d7f181fc
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1190,14 +1191,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1200,14 +1201,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
final long diff = currentTime - tickSection;
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);

View File

@@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index bbadd5e2611b919b6931277c0225e5bdc1d3baaf..c9754dc72abf9fd4ff005b8a1e48fd3ef9bb1ec9 100644
index 87990fd0cb3637779c9750fcc76890dd92873ddd..eef35d73ef1bc1236eeb9ea5202b8939662061fb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1695,7 +1695,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1705,7 +1705,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = level.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : level.players()) {
@@ -31,7 +31,7 @@ index bbadd5e2611b919b6931277c0225e5bdc1d3baaf..c9754dc72abf9fd4ff005b8a1e48fd3e
}
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 3319939e53dec5a429be20c3612599f731e6a82c..6d01f9e5e1ea4f01ff9a3e54aa97be6919e3d1fc 100644
index d4214258a9c0ec8c738083ee94f3751cae2a7386..833452f7ba410ea482097b78af38f42d3dcfc4e2 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -215,6 +215,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -88,7 +88,7 @@ index 3319939e53dec5a429be20c3612599f731e6a82c..6d01f9e5e1ea4f01ff9a3e54aa97be69
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6ec5d3ea5e034066ec0e18c85c4ae59c6a1ddedd..a468de219bfc2c6304d57368c36851b39363b5bb 100644
index 848292e607c7977aec8bd81d8bc42398fdffd3dd..ff057de0327eeb15d374c923729dafac5d811f2a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -122,6 +122,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors!
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 79034a8fdf8d8d71056bec84b05ad70ae5ceb99e..cac4127571c514a6f7697f31eb7d1edeca47d99a 100644
index b690728cb250ed76dc4a3ade0ec10531c8bb0d70..affe433994ec5c5cd6cecd3989a5daa90db3b203 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1653,6 +1653,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -53,7 +53,7 @@ index 9c99b2e365aacb8309f29acb9025faccd2c676b3..5c9d49b40a940df724101bef339a9ac5
}
}
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index 938524dc5b495ad160b9b14219db573e4e7c6a8a..f7786be77a0594fa5e11a328648cbad16bbab2e1 100644
index 61741b6ecf4fa2b0d4a1c44c825e8fcdeb412c0a..5cbbff174b6f10bebe1923c10f84fc26e4d3000e 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -27,6 +27,7 @@ public class DamageSource {
@@ -61,10 +61,10 @@ index 938524dc5b495ad160b9b14219db573e4e7c6a8a..f7786be77a0594fa5e11a328648cbad1
private boolean melting = false;
private boolean poison = false;
+ private boolean scissors = false; // Purpur
private Entity customCausingEntity = null; // This field is a helper for when causing entity damage is not set by vanilla
@Nullable
private Entity customEventDamager = null; // This field is a helper for when causing entity damage is not set by vanilla // Paper - fix DamageSource API
public DamageSource sweep() {
@@ -56,6 +57,17 @@ public class DamageSource {
@@ -57,6 +58,17 @@ public class DamageSource {
return this.poison;
}
@@ -79,10 +79,10 @@ index 938524dc5b495ad160b9b14219db573e4e7c6a8a..f7786be77a0594fa5e11a328648cbad1
+ }
+ // Purpur end
+
public Entity getCausingEntity() {
return (this.customCausingEntity != null) ? this.customCausingEntity : this.causingEntity;
}
@@ -94,6 +106,7 @@ public class DamageSource {
// Paper start - fix DamageSource API
public @Nullable Entity getCustomEventDamager() {
return (this.customEventDamager != null) ? this.customEventDamager : this.directEntity;
@@ -100,6 +112,7 @@ public class DamageSource {
damageSource.withSweep = this.isSweep();
damageSource.poison = this.isPoison();
damageSource.melting = this.isMelting();

View File

@@ -8,7 +8,7 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG
- Endermite spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index 28690877c443ceb2bdf20e6d251c9d32f667814c..b004f072d2a67ad9fb39dd6fbd3a30c94016202f 100644
index 1fb1e729d6879568d8b4943071fa940325b2e5b0..b61d659dc48f795c7f2d62044c245e342cd322e5 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -71,7 +71,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -24,8 +24,8 @@ index 28690877c443ceb2bdf20e6d251c9d32f667814c..b004f072d2a67ad9fb39dd6fbd3a30c9
entityplayer.connection.teleport(teleEvent.getTo());
entity.resetFallDistance();
- entity.hurt(this.damageSources().fall().customCausingEntity(this), 5.0F); // CraftBukkit
+ entity.hurt(this.damageSources().fall().customCausingEntity(this), this.level().purpurConfig.enderPearlDamage); // CraftBukkit // Purpur
- entity.hurt(this.damageSources().fall().customEventDamager(this), 5.0F); // CraftBukkit // Paper - fix DamageSource API
+ entity.hurt(this.damageSources().fall().customEventDamager(this), this.level().purpurConfig.enderPearlDamage); // CraftBukkit // Paper - fix DamageSource API // Purpur
}
// CraftBukkit end
this.level().playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_TELEPORT, SoundSource.PLAYERS);

View File

@@ -18,7 +18,7 @@ index 5c9d49b40a940df724101bef339a9ac5a31fd025..8ed6b8ddc76bda3d4f298b3076dba927
// Purpur end
return damageSource.getLocalizedDeathMessage(this.mob);
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index f7786be77a0594fa5e11a328648cbad16bbab2e1..6736093629bf92a888b0c971f3cf0a4e725cddec 100644
index 5cbbff174b6f10bebe1923c10f84fc26e4d3000e..41651c877246f38c73cc9c81b37a0b86e5054cb9 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -28,6 +28,7 @@ public class DamageSource {
@@ -26,10 +26,10 @@ index f7786be77a0594fa5e11a328648cbad16bbab2e1..6736093629bf92a888b0c971f3cf0a4e
private boolean poison = false;
private boolean scissors = false; // Purpur
+ private boolean stonecutter = false; // Purpur
private Entity customCausingEntity = null; // This field is a helper for when causing entity damage is not set by vanilla
@Nullable
private Entity customEventDamager = null; // This field is a helper for when causing entity damage is not set by vanilla // Paper - fix DamageSource API
public DamageSource sweep() {
@@ -66,6 +67,15 @@ public class DamageSource {
@@ -67,6 +68,15 @@ public class DamageSource {
public boolean isScissors() {
return this.scissors;
}
@@ -44,8 +44,8 @@ index f7786be77a0594fa5e11a328648cbad16bbab2e1..6736093629bf92a888b0c971f3cf0a4e
+ }
// Purpur end
public Entity getCausingEntity() {
@@ -107,6 +117,7 @@ public class DamageSource {
// Paper start - fix DamageSource API
@@ -113,6 +123,7 @@ public class DamageSource {
damageSource.poison = this.isPoison();
damageSource.melting = this.isMelting();
damageSource.scissors = this.isScissors(); // Purpur
@@ -124,10 +124,10 @@ index 0dc05919dfbbf73230505fcdc25d949b1602801c..996bd26e95e766ce4ca7e61d060881fe
return BlockPathTypes.STICKY_HONEY;
} else if (blockState.is(Blocks.COCOA)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index ac836274a2d725e3fac55394154ae2148024853a..94be4f367f4c6cb2386d0e59d0417f29fca1cec7 100644
index c12fb91e6fa286b99bd08ff39cda7d6e4ff73f19..f587c8defaf55ffa77d90deb8b9a3975e8f90ef9 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1134,7 +1134,7 @@ public class CraftEventFactory {
@@ -1132,7 +1132,7 @@ public class CraftEventFactory {
return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.LAVA, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
} else if (source.getDirectBlock() != null) {
DamageCause cause;

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow custom ChatDecorators
Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cd2394263cc14d99861f98c77f016e5461c88c09..0088180c3574ace7eb4170c385d2ca9fc098d6f3 100644
index ddcc94aee7cb8cb54f2cc54c3ae7f72c2eb47d51..67066434a381c7e0e558a80b2b66031643764b67 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2847,6 +2847,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2857,6 +2857,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setNameFormat("Async Chat Thread - #%d").setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER)).build()); // Paper
public ChatDecorator getChatDecorator() {

View File

@@ -56,10 +56,10 @@ index 3e2d5dcd62775b6ed7c0ce0ba51a71b635b1d644..166cd0f8e72189d10e56cd7bc095409a
} catch (Exception exception) {
label25:
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0 100644
index 67066434a381c7e0e558a80b2b66031643764b67..b9104f6d6b8a9bd2415ed0349b43f76316ddea72 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1429,7 +1429,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1439,7 +1439,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return;
}
@@ -68,7 +68,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
try {
for (;;) {
boolean moreTasks = this.tickMidTickTasks();
@@ -1456,7 +1456,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1466,7 +1466,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
} finally {
@@ -77,7 +77,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
}
}
// Paper end - execute chunk tasks mid tick
@@ -1531,15 +1531,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1541,15 +1541,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -96,7 +96,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
// Paper end
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
@@ -1576,9 +1576,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1586,9 +1586,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Incremental chunk and player saving
io.papermc.paper.util.CachedLists.reset(); // Paper
// Paper start - move executeAll() into full server tick timing
@@ -108,7 +108,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
// Paper end
// Paper start - Server Tick Events
long endTime = System.nanoTime();
@@ -1603,7 +1603,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1613,7 +1613,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.logTickTime(l - i);
this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot
@@ -117,7 +117,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
}
private int computeNextAutosaveInterval() {
@@ -1665,9 +1665,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1675,9 +1675,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing();
});
@@ -129,7 +129,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
// Paper start - Folia scheduler API
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
getAllLevels().forEach(level -> {
@@ -1684,21 +1684,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1694,21 +1694,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
this.profiler.push("commandFunctions");
@@ -156,7 +156,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
// Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - Perf: Optimize time updates
for (final ServerLevel level : this.getAllLevels()) {
@@ -1718,7 +1718,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1728,7 +1728,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end - Perf: Optimize time updates
@@ -165,7 +165,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked
Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; move down
@@ -1744,14 +1744,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1754,14 +1754,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick");
try {
@@ -182,7 +182,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1766,24 +1766,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1776,24 +1776,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
this.profiler.popPush("connection");

View File

@@ -89,7 +89,7 @@ index 821dc4aeaf48460000682604fba51b340b9738e7..9882e89abcce1bf0b484424dd0a25bd3
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba600faaad 100644
index b9104f6d6b8a9bd2415ed0349b43f76316ddea72..05cbad6c6637cb5250a91239612a5388006a728a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -341,13 +341,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -124,7 +124,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1223,20 +1223,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1233,20 +1233,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L;
@@ -150,7 +150,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
// Pufferfish start - tps catchup
@@ -1257,8 +1257,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1267,8 +1267,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork();
}
@@ -161,7 +161,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
}
@@ -1484,7 +1484,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1494,7 +1494,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -170,7 +170,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
super.doRunTask(ticktask);
}
@@ -1557,7 +1557,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1567,7 +1567,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (playerSaveInterval < 0) {
playerSaveInterval = autosavePeriod;
}
@@ -179,7 +179,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
try {
this.isSaving = true;
@@ -1572,7 +1572,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1582,7 +1582,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally {
this.isSaving = false;
}
@@ -188,7 +188,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
// Paper end - Incremental chunk and player saving
io.papermc.paper.util.CachedLists.reset(); // Paper
// Paper start - move executeAll() into full server tick timing
@@ -1585,7 +1585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1595,7 +1595,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events
@@ -197,7 +197,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
long j = Util.getNanos() - i;
int k = this.tickCount % 100;
@@ -1601,7 +1601,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1611,7 +1611,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
tickTimes60s.add(this.tickCount, j);
// Paper end - Add tick times API and /mspt command
this.logTickTime(l - i);
@@ -206,7 +206,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
org.spigotmc.WatchdogThread.tick(); // Spigot
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1683,11 +1683,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1693,11 +1693,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
@@ -220,7 +220,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
@@ -1730,18 +1730,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1740,18 +1740,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.updateLagCompensationTick(); // Paper - lag compensation
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -244,7 +244,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1759,17 +1759,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1769,17 +1769,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -266,7 +266,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1777,7 +1777,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1787,7 +1787,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
@@ -275,7 +275,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1785,7 +1785,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1795,7 +1795,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -284,7 +284,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) {
@@ -1795,7 +1795,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1805,7 +1805,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing();
}
@@ -293,7 +293,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
}
private void synchronizeTime(ServerLevel world) {
@@ -1803,7 +1803,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1813,7 +1813,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -302,7 +302,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1812,7 +1812,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1822,7 +1822,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -311,7 +311,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
}
public boolean isNetherEnabled() {
@@ -2476,7 +2476,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2486,7 +2486,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -320,7 +320,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
return this.profiler;
}
@@ -2716,7 +2716,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2726,7 +2726,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private void startMetricsRecordingTick() {
@@ -329,7 +329,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server"));
@@ -2726,40 +2726,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2736,40 +2736,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
@@ -382,7 +382,7 @@ index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -2808,15 +2808,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2818,15 +2818,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
@@ -1095,7 +1095,7 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47
};
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7f75528cd7d3d1e4df0af9ac6fc05a2bf3a1c7a9..35a73f5c73adcf596b2b1f43b55dff925f01d762 100644
index 2ab6b860234ac4f7eaa9a83d73ef16e60dd4b58f..106bc557cbbd04814f9a43e3db83b6c8ea0e799b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -861,7 +861,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1800,7 +1800,7 @@ index ef7c67f591ca4a3c73b87a7c44b37ad0b51d875c..50202286a0d83f7fe5331eb669d99971
this.assignProfessionWhenSpawned = false;
}
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index b678da2cbb93cea7971bc3c4d324cfca18b0bc97..908d8bbc2560073255d742ca11d59f8280bab895 100644
index 90a82bd7977ebe520bdcc2ab99e11452d5cf4a21..5dcfb077fc58a92f32425aaafb82d6b41d488e13 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -675,7 +675,7 @@ public class Explosion {

View File

@@ -36,10 +36,10 @@ index b863249ff7e13cf4939c8961601f0564c62fd661..bdcfd80f937c34956911373905d66424
this.writeId(BuiltInRegistries.ITEM, item);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8384f72d408f6f31c4c8a1ba47b8caba600faaad..b1dd8d66a524254a270a725f5f7a46f28e13b749 100644
index 05cbad6c6637cb5250a91239612a5388006a728a..e34bada9626702c8b7eeb7dfd77b08cb8f50c640 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1721,6 +1721,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1731,6 +1731,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper // Purpur
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked

View File

@@ -108,7 +108,7 @@ index 85b861e21d8798a883ecbd0a09cc25f87e801b7b..5ca6af93362d205438f8321ee2461ae7
/*
jline.console.ConsoleReader bufferedreader = DedicatedServer.this.reader;
diff --git a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
index c42a9949c4d37d45883867a54222a7ab33944b39..7f07ffab0835d45d4d170fe171d7fa996d5913d9 100644
index 7704a5951ac3d02020ed0f40d76500dd6ba005af..0dec2f3762aa55cfaa7af5b357f0fe243a3b2cc6 100644
--- a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
+++ b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
@@ -43,6 +43,11 @@ public class MinecraftServerGui extends JComponent {
@@ -150,7 +150,7 @@ index c42a9949c4d37d45883867a54222a7ab33944b39..7f07ffab0835d45d4d170fe171d7fa99
server.halt(true);
servergui.runFinalizers();
}
@@ -125,7 +130,7 @@ public class MinecraftServerGui extends JComponent {
@@ -159,7 +164,7 @@ public class MinecraftServerGui extends JComponent {
private JComponent buildChatPanel() {
JPanel jpanel = new JPanel(new BorderLayout());
@@ -159,7 +159,7 @@ index c42a9949c4d37d45883867a54222a7ab33944b39..7f07ffab0835d45d4d170fe171d7fa99
JScrollPane jscrollpane = new JScrollPane(jtextarea, 22, 30);
jtextarea.setEditable(false);
@@ -137,10 +142,43 @@ public class MinecraftServerGui extends JComponent {
@@ -171,10 +176,43 @@ public class MinecraftServerGui extends JComponent {
if (!s.isEmpty()) {
this.server.handleConsoleInput(s, this.server.createCommandSourceStack());
@@ -203,7 +203,7 @@ index c42a9949c4d37d45883867a54222a7ab33944b39..7f07ffab0835d45d4d170fe171d7fa99
jtextarea.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent focusevent) {}
});
@@ -176,7 +214,7 @@ public class MinecraftServerGui extends JComponent {
@@ -210,7 +248,7 @@ public class MinecraftServerGui extends JComponent {
}
private static final java.util.regex.Pattern ANSI = java.util.regex.Pattern.compile("\\e\\[[\\d;]*[^\\d;]"); // CraftBukkit // Paper
@@ -212,7 +212,7 @@ index c42a9949c4d37d45883867a54222a7ab33944b39..7f07ffab0835d45d4d170fe171d7fa99
if (!SwingUtilities.isEventDispatchThread()) {
SwingUtilities.invokeLater(() -> {
this.print(textArea, scrollPane, message);
@@ -190,11 +228,14 @@ public class MinecraftServerGui extends JComponent {
@@ -224,11 +262,14 @@ public class MinecraftServerGui extends JComponent {
flag = (double) jscrollbar.getValue() + jscrollbar.getSize().getHeight() + (double) (MinecraftServerGui.MONOSPACED.getSize() * 4) > (double) jscrollbar.getMaximum();
}
@@ -227,7 +227,7 @@ index c42a9949c4d37d45883867a54222a7ab33944b39..7f07ffab0835d45d4d170fe171d7fa99
if (flag) {
jscrollbar.setValue(Integer.MAX_VALUE);
@@ -202,4 +243,16 @@ public class MinecraftServerGui extends JComponent {
@@ -236,4 +277,16 @@ public class MinecraftServerGui extends JComponent {
}
}

View File

@@ -18,10 +18,10 @@ index 8ed6b8ddc76bda3d4f298b3076dba9275cec93d9..1653d154edb38a6450ee51cb5e5b8e3d
private Component getFallMessage(CombatEntry damageRecord, @Nullable Entity attacker) {
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index 6736093629bf92a888b0c971f3cf0a4e725cddec..ba4466c49a7c1713007140efdc2eb805e2516b4c 100644
index 41651c877246f38c73cc9c81b37a0b86e5054cb9..a1724d2d545aa808ea380f910c0190658fc7881b 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -190,7 +190,7 @@ public class DamageSource {
@@ -196,7 +196,7 @@ public class DamageSource {
ItemStack itemstack1 = itemstack;