Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@c613877 Fix incorrect crafting result amount for fireworks (#9322)
PaperMC/Paper@b169678 ratelimited packet is logged to console on kick (#9292)
PaperMC/Paper@206dd3a Fix incorrect phantom spawning entity (#9385)
PaperMC/Paper@aea9cdd Fix interact event call override (#9387)
PaperMC/Paper@b34d4ec Fix cycle on paper plugin toString (#9392)
PaperMC/Paper@e8bec64 Fix ugly java logger format for paper plugin dependency loader (#9395)

Pufferfish Changes:
pufferfish-gg/Pufferfish@21ed3a2 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@f28130c Updated Upstream (Paper)
pufferfish-gg/Pufferfish@25f942d Fix entity ttl patch bug causing some entities to not be removed
pufferfish-gg/Pufferfish@13dd49d Updated Upstream (Paper)
pufferfish-gg/Pufferfish@2a6b66a Fix 'Already Retired' bug
pufferfish-gg/Pufferfish@a1ed6f7 Attempt fixing PaperMC/Paper#9372
pufferfish-gg/Pufferfish@5587825 Holy whitespace
pufferfish-gg/Pufferfish@ad7419e Pull PaperMC/Paper#9377 downstream
This commit is contained in:
granny
2023-06-25 15:35:40 -07:00
parent 8331f1bba8
commit 7ed65d47b4
12 changed files with 85 additions and 40 deletions

View File

@@ -1666,9 +1666,18 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f
private void getFullChunk(long pos, Consumer<LevelChunk> chunkConsumer) {
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 6670e657e08e130f7e0368f418379fd1ece00cdf..e921b6db8905a8676a45e36564d877075afb081f 100644
index 6670e657e08e130f7e0368f418379fd1ece00cdf..4c5f90fdb534d8aeb7dd077a13b1ebed016e4947 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -108,7 +108,7 @@ public class ServerEntity {
Entity entity = this.entity;
- if (entity instanceof ItemFrame) {
+ if (!this.trackedPlayers.isEmpty() && entity instanceof ItemFrame) { // Paper - Only tick item frames if players can see it
ItemFrame entityitemframe = (ItemFrame) entity;
if (true || this.tickCount % 10 == 0) { // CraftBukkit - Moved below, should always enter this block
@@ -180,7 +180,8 @@ public class ServerEntity {
long i1 = this.positionCodec.encodeZ(vec3d);
boolean flag6 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L;
@@ -1752,6 +1761,42 @@ index 18aac3da3c88f33b1a71a5920a8daa27e9723913..eac31c3fcc9161711328588ac852fcae
// Paper start - optimise chunk ticking
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 9d46536f80b5b3e6641fd377c02166a431edfd77..8a1fde50b82a8b0718ae04124c2611b7cff4bcd6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1245,6 +1245,7 @@ public class ServerPlayer extends Player {
this.setServerLevel(worldserver);
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
worldserver.addDuringPortalTeleport(this);
worldserver1.getProfiler().pop();
this.triggerDimensionChangeTriggers(worldserver1);
@@ -1907,6 +1908,7 @@ public class ServerPlayer extends Player {
public void moveTo(double x, double y, double z) {
super.moveTo(x, y, z);
this.connection.resetPosition();
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
}
@Override
@@ -2143,6 +2145,7 @@ public class ServerPlayer extends Player {
this.connection.send(new ClientboundSetCameraPacket(this.camera));
this.connection.resetPosition();
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
}
}
@@ -2595,6 +2598,7 @@ public class ServerPlayer extends Player {
public void forceSetPositionRotation(double x, double y, double z, float yaw, float pitch) {
this.moveTo(x, y, z, yaw, pitch);
this.connection.resetPosition();
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
}
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 2a609e43370e68943c580083f7f7d8c9b0972955..309a3e42ec48a1a7684b62ea372bfa984df6a0fb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1885,7 +1930,7 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183
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 513c34aa02d63f7e3c178eade818e156af4541db..641c4af6bd13c87c26f7932dd5f6f4d2ee20e3c0 100644
index 513c34aa02d63f7e3c178eade818e156af4541db..1aa184cf7a97364d7b9e4d628c0a6c1dc769ba6e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -1958,19 +2003,19 @@ index 513c34aa02d63f7e3c178eade818e156af4541db..641c4af6bd13c87c26f7932dd5f6f4d2
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
}
@@ -810,6 +838,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// CraftBukkit end
@@ -797,6 +825,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
public void baseTick() {
public void tick() {
+ // Pufferfish start - entity TTL
+ if (type != EntityType.PLAYER && type.ttl >= 0 && this.tickCount >= type.ttl) {
+ remove(RemovalReason.DISCARDED);
+ discard();
+ return;
+ }
+ // Pufferfish end - entity TTL
this.level().getProfiler().push("entityBaseTick");
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
this.feetBlockState = null;
this.baseTick();
}
@@ -4306,16 +4340,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 16b742fdaf5524b22cedb4d5ba047559e3ac8371..41698264b3155f20f7a7d473a43aa2dab7ca61bb 100644
index d4e03454b07550621dd1a56e4eaa40f3b49d8c2f..a0577dcae567230c12b52ed02072745513c7a4d5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1774,6 +1774,26 @@ public class ServerPlayer extends Player {
@@ -1775,6 +1775,26 @@ public class ServerPlayer extends Player {
this.lastSentExp = -1; // CraftBukkit - Added to reset
}
@@ -81,7 +81,7 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9
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 641c4af6bd13c87c26f7932dd5f6f4d2ee20e3c0..4096eb61cbc70679ba15215c725b3262f428c03d 100644
index 1aa184cf7a97364d7b9e4d628c0a6c1dc769ba6e..6f743a7dcb36eb8c638cd82f1e52c10215346b60 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4058,6 +4058,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] AFK API
Adds the option for display names to be used in the afk broadcast
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 77c38ea427dac0176941f8bc26ebe540c0dd4c02..e528d3bb75b892e1674e4c282b91a28128a387a7 100644
index 23235b98907ff26afb22d37326b072ba56728ddd..871c1c92cbabc6ecb432b5d1da441e02e08cd35a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2116,8 +2116,68 @@ public class ServerPlayer extends Player {
@@ -2118,8 +2118,68 @@ public class ServerPlayer extends Player {
public void resetLastActionTime() {
this.lastActionTime = Util.getMillis();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index e528d3bb75b892e1674e4c282b91a28128a387a7..6838e85030667776c6b0534d0e92c9fbd68840da 100644
index 871c1c92cbabc6ecb432b5d1da441e02e08cd35a..1d205ddc1c880f18534ccfd3699060a885ed9fd8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -278,6 +278,7 @@ public class ServerPlayer extends Player {
@@ -46,7 +46,7 @@ index e528d3bb75b892e1674e4c282b91a28128a387a7..6838e85030667776c6b0534d0e92c9fb
return false;
} else {
Entity entity = source.getEntity();
@@ -1285,6 +1293,7 @@ public class ServerPlayer extends Player {
@@ -1286,6 +1294,7 @@ public class ServerPlayer extends Player {
}
// Paper end
@@ -54,7 +54,7 @@ index e528d3bb75b892e1674e4c282b91a28128a387a7..6838e85030667776c6b0534d0e92c9fb
return this;
}
}
@@ -2102,6 +2111,7 @@ public class ServerPlayer extends Player {
@@ -2104,6 +2113,7 @@ public class ServerPlayer extends Player {
}
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
@@ -62,7 +62,7 @@ index e528d3bb75b892e1674e4c282b91a28128a387a7..6838e85030667776c6b0534d0e92c9fb
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
}
@@ -2689,9 +2699,17 @@ public class ServerPlayer extends Player {
@@ -2693,9 +2703,17 @@ public class ServerPlayer extends Player {
@Override
public boolean isImmobile() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index fa7c220057be4d233752d9022a934d03e5f3df59..421aaf1fd85da9807bfe1b193bc13c5f3de2f474 100644
index 373f3f7643bd3ee49f3b10f9e963b39b28c39894..91df087b49d39b318af85dcbcf2db600e5c12222 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2758,4 +2758,26 @@ public class ServerPlayer extends Player {
@@ -2762,4 +2762,26 @@ public class ServerPlayer extends Player {
return (CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end

View File

@@ -17,7 +17,7 @@ index e5b1b6ad32c48a4ba13b4930954fad18669677ad..4e721dfca7559620d8ce65a6703f2089
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a8ca0d0b4bb6474f20c448439f517e280a480f50..f69ea0d2137419079d8ee59e009fcebab8f3d7e6 100644
index 33db30876d45adabec7e3535ddb688659eee8d6e..a507c1fe296039bcf07e8fd564c9a4ec9ffb0c25 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1023,6 +1023,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -41,7 +41,7 @@ index cf7c7b3cd4081e1be059647dca237ffd72c374df..012c990efb2647b0a3e983b23fed98c6
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3997d78770c503802bd354819d0258c16329858d..c177b6ebf0e2d10d19674094a4fed8637d305bda 100644
index 7e0bb25390f62b34375576da3e8c9dc3860e296f..6408bc1749c08fe5255c054bf4342e0870db2a20 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
@@ -68,7 +68,7 @@ index 3997d78770c503802bd354819d0258c16329858d..c177b6ebf0e2d10d19674094a4fed863
}
// CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2788,5 +2791,13 @@ public class ServerPlayer extends Player {
@@ -2792,5 +2795,13 @@ public class ServerPlayer extends Player {
this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH);
}
}
@@ -83,7 +83,7 @@ index 3997d78770c503802bd354819d0258c16329858d..c177b6ebf0e2d10d19674094a4fed863
// Purpur end
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 7ae44092d3a585791d7a2267cfb6b710a9bc037d..3cd656afdd612c265c812233736f5f343c0a6e48 100644
index da3a4b30ea1fde75d616a0aaf7e85e4783a9f13a..d057f0f6755595fc5e1fce7ed09b1fc60906d9cb 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -476,6 +476,7 @@ public abstract class PlayerList {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 81bfdafb84c543938375a1a90dab49a8452f78d8..2bff2de19769a20a68373abe14ed45249e4504ab 100644
index 7c1b92611f175156116554b5d33636ecc888701d..14835575d7c8d8cd66ed072feec3c27fb1183de4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1429,7 +1429,7 @@ public class ServerPlayer extends Player {
@@ -1430,7 +1430,7 @@ public class ServerPlayer extends Player {
return entitymonster.isPreventingPlayerRest(this);
});

View File

@@ -17,7 +17,7 @@ index 7aae9e3c60ba15b8dcd8174a4d70866edebb6cca..5f6cc8b16af6dce3b74f0c2c662b0ecf
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index eabe8e197faa4e24ad5b31533a3de8470ef8f083..ef86dac1613cd19035eb27008851c56533535bd9 100644
index 03243bfab3d2f20e6ec030af7062eb9c031f9c99..5b54ca77202ae90fd439ea29572e15858c0a0bab 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -280,6 +280,7 @@ public class ServerPlayer extends Player {
@@ -44,7 +44,7 @@ index eabe8e197faa4e24ad5b31533a3de8470ef8f083..ef86dac1613cd19035eb27008851c565
}
// CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2801,5 +2804,13 @@ public class ServerPlayer extends Player {
@@ -2805,5 +2808,13 @@ public class ServerPlayer extends Player {
public void tpsBar(boolean tpsBar) {
this.tpsBar = tpsBar;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ef86dac1613cd19035eb27008851c56533535bd9..fe66f37a2b385870bf72f97e73b297b9bc2ef9c3 100644
index 5b54ca77202ae90fd439ea29572e15858c0a0bab..c8c43454a936dd04d71fd82c955191f709a6c010 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1570,6 +1570,7 @@ public class ServerPlayer extends Player {
@@ -1571,6 +1571,7 @@ public class ServerPlayer extends Player {
@Override
public void openTextEdit(SignBlockEntity sign, boolean front) {

View File

@@ -786,7 +786,7 @@ index 5b7507db055d7be59b369f66e659e128c9c7e00b..221d1d0e1b4b46de6ebca5faac09bbda
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index fe66f37a2b385870bf72f97e73b297b9bc2ef9c3..0540ccd4137b5fb65440e5013d67e34920fe17a6 100644
index c8c43454a936dd04d71fd82c955191f709a6c010..3ab54ab8d0a5ccf1abaa53cf3ce5b25febcd184d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1240,7 +1240,7 @@ public class ServerPlayer extends Player {
@@ -809,9 +809,9 @@ index fe66f37a2b385870bf72f97e73b297b9bc2ef9c3..0540ccd4137b5fb65440e5013d67e349
if (true) { // CraftBukkit
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
@@ -1282,7 +1282,7 @@ public class ServerPlayer extends Player {
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
@@ -1283,7 +1283,7 @@ public class ServerPlayer extends Player {
this.connection.resetPosition();
this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
worldserver.addDuringPortalTeleport(this);
- worldserver1.getProfiler().pop();
+ //worldserver1.getProfiler().pop(); // Purpur
@@ -1045,7 +1045,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 0be80982b8bdcbb884aeb9a257693f0035928bef..24d87e62d9722a553944b8d9199209c3688ae865 100644
index d8d847e08bb94880171ea495e3344afc3d0558d6..f88f85f0697d8251d4565e3e41928e5bfe6ef68f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -438,7 +438,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -1058,9 +1058,9 @@ index 0be80982b8bdcbb884aeb9a257693f0035928bef..24d87e62d9722a553944b8d9199209c3
return this.yRot;
}
@@ -863,7 +863,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return;
}
// Pufferfish end - entity TTL
// CraftBukkit end
public void baseTick() {
- this.level().getProfiler().push("entityBaseTick");
+ //this.level().getProfiler().push("entityBaseTick"); // Purpur
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking

View File

@@ -18,7 +18,7 @@ index 52b06c34d9d3ffb8844556e7b0eaed5a7f03da0c..5c0085589b08f199c75ceeab8d0cf25e
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 0540ccd4137b5fb65440e5013d67e34920fe17a6..e0e133ab39548b8e671441e3383a6f4df6f6997e 100644
index 3ab54ab8d0a5ccf1abaa53cf3ce5b25febcd184d..c9a8556d0aa832f05068c8e14343450d3be159bd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
@@ -45,7 +45,7 @@ index 0540ccd4137b5fb65440e5013d67e34920fe17a6..e0e133ab39548b8e671441e3383a6f4d
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur
}
@@ -2798,6 +2801,14 @@ public class ServerPlayer extends Player {
@@ -2802,6 +2805,14 @@ public class ServerPlayer extends Player {
}
}