Skip to content

Commit 7ed65d4

Browse files
committed
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
1 parent 8331f1b commit 7ed65d4

12 files changed

Lines changed: 85 additions & 40 deletions

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
22
version = 1.20.1-R0.1-SNAPSHOT
33

44
mcVersion = 1.20.1
5-
paperCommit = b1696788d61ddc338bd2e61fac3b43ff60c432e1
5+
paperCommit = e8bec64217064476784a5c65a5060cfc0145fa98
66

77
org.gradle.caching = true
88
org.gradle.parallel = true

patches/server/0001-Pufferfish-Server-Changes.patch

Lines changed: 54 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,9 +1666,18 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f
16661666

16671667
private void getFullChunk(long pos, Consumer<LevelChunk> chunkConsumer) {
16681668
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
1669-
index 6670e657e08e130f7e0368f418379fd1ece00cdf..e921b6db8905a8676a45e36564d877075afb081f 100644
1669+
index 6670e657e08e130f7e0368f418379fd1ece00cdf..4c5f90fdb534d8aeb7dd077a13b1ebed016e4947 100644
16701670
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
16711671
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
1672+
@@ -108,7 +108,7 @@ public class ServerEntity {
1673+
1674+
Entity entity = this.entity;
1675+
1676+
- if (entity instanceof ItemFrame) {
1677+
+ if (!this.trackedPlayers.isEmpty() && entity instanceof ItemFrame) { // Paper - Only tick item frames if players can see it
1678+
ItemFrame entityitemframe = (ItemFrame) entity;
1679+
1680+
if (true || this.tickCount % 10 == 0) { // CraftBukkit - Moved below, should always enter this block
16721681
@@ -180,7 +180,8 @@ public class ServerEntity {
16731682
long i1 = this.positionCodec.encodeZ(vec3d);
16741683
boolean flag6 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L;
@@ -1752,6 +1761,42 @@ index 18aac3da3c88f33b1a71a5920a8daa27e9723913..eac31c3fcc9161711328588ac852fcae
17521761
// Paper start - optimise chunk ticking
17531762
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
17541763
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
1764+
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
1765+
index 9d46536f80b5b3e6641fd377c02166a431edfd77..8a1fde50b82a8b0718ae04124c2611b7cff4bcd6 100644
1766+
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1767+
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
1768+
@@ -1245,6 +1245,7 @@ public class ServerPlayer extends Player {
1769+
this.setServerLevel(worldserver);
1770+
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
1771+
this.connection.resetPosition();
1772+
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
1773+
worldserver.addDuringPortalTeleport(this);
1774+
worldserver1.getProfiler().pop();
1775+
this.triggerDimensionChangeTriggers(worldserver1);
1776+
@@ -1907,6 +1908,7 @@ public class ServerPlayer extends Player {
1777+
public void moveTo(double x, double y, double z) {
1778+
super.moveTo(x, y, z);
1779+
this.connection.resetPosition();
1780+
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
1781+
}
1782+
1783+
@Override
1784+
@@ -2143,6 +2145,7 @@ public class ServerPlayer extends Player {
1785+
1786+
this.connection.send(new ClientboundSetCameraPacket(this.camera));
1787+
this.connection.resetPosition();
1788+
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
1789+
}
1790+
}
1791+
1792+
@@ -2595,6 +2598,7 @@ public class ServerPlayer extends Player {
1793+
public void forceSetPositionRotation(double x, double y, double z, float yaw, float pitch) {
1794+
this.moveTo(x, y, z, yaw, pitch);
1795+
this.connection.resetPosition();
1796+
+ this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372
1797+
}
1798+
1799+
@Override
17551800
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
17561801
index 2a609e43370e68943c580083f7f7d8c9b0972955..309a3e42ec48a1a7684b62ea372bfa984df6a0fb 100644
17571802
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1885,7 +1930,7 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183
18851930
int LARGE_MAX_STACK_SIZE = 64;
18861931
int DEFAULT_DISTANCE_LIMIT = 8;
18871932
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
1888-
index 513c34aa02d63f7e3c178eade818e156af4541db..641c4af6bd13c87c26f7932dd5f6f4d2ee20e3c0 100644
1933+
index 513c34aa02d63f7e3c178eade818e156af4541db..1aa184cf7a97364d7b9e4d628c0a6c1dc769ba6e 100644
18891934
--- a/src/main/java/net/minecraft/world/entity/Entity.java
18901935
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
18911936
@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -1958,19 +2003,19 @@ index 513c34aa02d63f7e3c178eade818e156af4541db..641c4af6bd13c87c26f7932dd5f6f4d2
19582003

19592004
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
19602005
}
1961-
@@ -810,6 +838,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
1962-
// CraftBukkit end
2006+
@@ -797,6 +825,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
2007+
}
19632008

1964-
public void baseTick() {
2009+
public void tick() {
19652010
+ // Pufferfish start - entity TTL
19662011
+ if (type != EntityType.PLAYER && type.ttl >= 0 && this.tickCount >= type.ttl) {
1967-
+ remove(RemovalReason.DISCARDED);
2012+
+ discard();
19682013
+ return;
19692014
+ }
19702015
+ // Pufferfish end - entity TTL
1971-
this.level().getProfiler().push("entityBaseTick");
1972-
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
1973-
this.feetBlockState = null;
2016+
this.baseTick();
2017+
}
2018+
19742019
@@ -4306,16 +4340,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
19752020
}
19762021

patches/server/0007-Component-related-conveniences.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index 16b742fdaf5524b22cedb4d5ba047559e3ac8371..41698264b3155f20f7a7d473a43aa2dab7ca61bb 100644
8+
index d4e03454b07550621dd1a56e4eaa40f3b49d8c2f..a0577dcae567230c12b52ed02072745513c7a4d5 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
11-
@@ -1774,6 +1774,26 @@ public class ServerPlayer extends Player {
11+
@@ -1775,6 +1775,26 @@ public class ServerPlayer extends Player {
1212
this.lastSentExp = -1; // CraftBukkit - Added to reset
1313
}
1414

@@ -81,7 +81,7 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9
8181
return this.type().msgId();
8282
}
8383
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
84-
index 641c4af6bd13c87c26f7932dd5f6f4d2ee20e3c0..4096eb61cbc70679ba15215c725b3262f428c03d 100644
84+
index 1aa184cf7a97364d7b9e4d628c0a6c1dc769ba6e..6f743a7dcb36eb8c638cd82f1e52c10215346b60 100644
8585
--- a/src/main/java/net/minecraft/world/entity/Entity.java
8686
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
8787
@@ -4058,6 +4058,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

patches/server/0012-AFK-API.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ Subject: [PATCH] AFK API
66
Adds the option for display names to be used in the afk broadcast
77

88
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
9-
index 77c38ea427dac0176941f8bc26ebe540c0dd4c02..e528d3bb75b892e1674e4c282b91a28128a387a7 100644
9+
index 23235b98907ff26afb22d37326b072ba56728ddd..871c1c92cbabc6ecb432b5d1da441e02e08cd35a 100644
1010
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1111
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
12-
@@ -2116,8 +2116,68 @@ public class ServerPlayer extends Player {
12+
@@ -2118,8 +2118,68 @@ public class ServerPlayer extends Player {
1313

1414
public void resetLastActionTime() {
1515
this.lastActionTime = Util.getMillis();

patches/server/0018-Player-invulnerabilities.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index e528d3bb75b892e1674e4c282b91a28128a387a7..6838e85030667776c6b0534d0e92c9fbd68840da 100644
8+
index 871c1c92cbabc6ecb432b5d1da441e02e08cd35a..1d205ddc1c880f18534ccfd3699060a885ed9fd8 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
1111
@@ -278,6 +278,7 @@ public class ServerPlayer extends Player {
@@ -46,23 +46,23 @@ index e528d3bb75b892e1674e4c282b91a28128a387a7..6838e85030667776c6b0534d0e92c9fb
4646
return false;
4747
} else {
4848
Entity entity = source.getEntity();
49-
@@ -1285,6 +1293,7 @@ public class ServerPlayer extends Player {
49+
@@ -1286,6 +1294,7 @@ public class ServerPlayer extends Player {
5050
}
5151
// Paper end
5252

5353
+ this.spawnInvulnerableTime = worldserver.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
5454
return this;
5555
}
5656
}
57-
@@ -2102,6 +2111,7 @@ public class ServerPlayer extends Player {
57+
@@ -2104,6 +2113,7 @@ public class ServerPlayer extends Player {
5858
}
5959

6060
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
6161
+ this.acceptingResourcePack = true; // Purpur
6262
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
6363
}
6464

65-
@@ -2689,9 +2699,17 @@ public class ServerPlayer extends Player {
65+
@@ -2693,9 +2703,17 @@ public class ServerPlayer extends Player {
6666

6767
@Override
6868
public boolean isImmobile() {

patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index fa7c220057be4d233752d9022a934d03e5f3df59..421aaf1fd85da9807bfe1b193bc13c5f3de2f474 100644
8+
index 373f3f7643bd3ee49f3b10f9e963b39b28c39894..91df087b49d39b318af85dcbcf2db600e5c12222 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
11-
@@ -2758,4 +2758,26 @@ public class ServerPlayer extends Player {
11+
@@ -2762,4 +2762,26 @@ public class ServerPlayer extends Player {
1212
return (CraftPlayer) super.getBukkitEntity();
1313
}
1414
// CraftBukkit end

patches/server/0119-Implement-TPSBar.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ index e5b1b6ad32c48a4ba13b4930954fad18669677ad..4e721dfca7559620d8ce65a6703f2089
1717

1818
if (environment.includeIntegrated) {
1919
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
20-
index a8ca0d0b4bb6474f20c448439f517e280a480f50..f69ea0d2137419079d8ee59e009fcebab8f3d7e6 100644
20+
index 33db30876d45adabec7e3535ddb688659eee8d6e..a507c1fe296039bcf07e8fd564c9a4ec9ffb0c25 100644
2121
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
2222
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
2323
@@ -1023,6 +1023,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -41,7 +41,7 @@ index cf7c7b3cd4081e1be059647dca237ffd72c374df..012c990efb2647b0a3e983b23fed98c6
4141
}
4242
}
4343
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
44-
index 3997d78770c503802bd354819d0258c16329858d..c177b6ebf0e2d10d19674094a4fed8637d305bda 100644
44+
index 7e0bb25390f62b34375576da3e8c9dc3860e296f..6408bc1749c08fe5255c054bf4342e0870db2a20 100644
4545
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
4646
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
4747
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
@@ -68,7 +68,7 @@ index 3997d78770c503802bd354819d0258c16329858d..c177b6ebf0e2d10d19674094a4fed863
6868
}
6969

7070
// CraftBukkit start - World fallback code, either respawn location or global spawn
71-
@@ -2788,5 +2791,13 @@ public class ServerPlayer extends Player {
71+
@@ -2792,5 +2795,13 @@ public class ServerPlayer extends Player {
7272
this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH);
7373
}
7474
}
@@ -83,7 +83,7 @@ index 3997d78770c503802bd354819d0258c16329858d..c177b6ebf0e2d10d19674094a4fed863
8383
// Purpur end
8484
}
8585
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
86-
index 7ae44092d3a585791d7a2267cfb6b710a9bc037d..3cd656afdd612c265c812233736f5f343c0a6e48 100644
86+
index da3a4b30ea1fde75d616a0aaf7e85e4783a9f13a..d057f0f6755595fc5e1fce7ed09b1fc60906d9cb 100644
8787
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
8888
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
8989
@@ -476,6 +476,7 @@ public abstract class PlayerList {

patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index 81bfdafb84c543938375a1a90dab49a8452f78d8..2bff2de19769a20a68373abe14ed45249e4504ab 100644
8+
index 7c1b92611f175156116554b5d33636ecc888701d..14835575d7c8d8cd66ed072feec3c27fb1183de4 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
11-
@@ -1429,7 +1429,7 @@ public class ServerPlayer extends Player {
11+
@@ -1430,7 +1430,7 @@ public class ServerPlayer extends Player {
1212
return entitymonster.isPreventingPlayerRest(this);
1313
});
1414

patches/server/0200-Add-compass-command.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ index 7aae9e3c60ba15b8dcd8174a4d70866edebb6cca..5f6cc8b16af6dce3b74f0c2c662b0ecf
1717

1818
if (environment.includeIntegrated) {
1919
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
20-
index eabe8e197faa4e24ad5b31533a3de8470ef8f083..ef86dac1613cd19035eb27008851c56533535bd9 100644
20+
index 03243bfab3d2f20e6ec030af7062eb9c031f9c99..5b54ca77202ae90fd439ea29572e15858c0a0bab 100644
2121
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
2222
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
2323
@@ -280,6 +280,7 @@ public class ServerPlayer extends Player {
@@ -44,7 +44,7 @@ index eabe8e197faa4e24ad5b31533a3de8470ef8f083..ef86dac1613cd19035eb27008851c565
4444
}
4545

4646
// CraftBukkit start - World fallback code, either respawn location or global spawn
47-
@@ -2801,5 +2804,13 @@ public class ServerPlayer extends Player {
47+
@@ -2805,5 +2808,13 @@ public class ServerPlayer extends Player {
4848
public void tpsBar(boolean tpsBar) {
4949
this.tpsBar = tpsBar;
5050
}

patches/server/0227-Signs-allow-color-codes.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index ef86dac1613cd19035eb27008851c56533535bd9..fe66f37a2b385870bf72f97e73b297b9bc2ef9c3 100644
8+
index 5b54ca77202ae90fd439ea29572e15858c0a0bab..c8c43454a936dd04d71fd82c955191f709a6c010 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
11-
@@ -1570,6 +1570,7 @@ public class ServerPlayer extends Player {
11+
@@ -1571,6 +1571,7 @@ public class ServerPlayer extends Player {
1212

1313
@Override
1414
public void openTextEdit(SignBlockEntity sign, boolean front) {

0 commit comments

Comments
 (0)