Skip to content

Commit

Permalink
Updated Upstream (Paper)
Browse files Browse the repository at this point in the history
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@90a0835 Fix incremental player saving patch
PaperMC/Paper@f9f9079 Pull a few Folia patches
PaperMC/Paper@0f91091 Re-implement the compost events (#9192)
PaperMC/Paper@fa8fa1c Fix playing adventure sounds on World/Server (#8077)
  • Loading branch information
granny committed May 31, 2023
1 parent 68117a4 commit d6cfa8f
Show file tree
Hide file tree
Showing 11 changed files with 45 additions and 57 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
group = org.purpurmc.purpur
version = 1.19.4-R0.1-SNAPSHOT

paperCommit = bcd8dc2c1189293c4fc0b57048f0f0668c1b7e60
paperCommit = fa8fa1ce083521e7328dec8af97751d4bd9cebe6

org.gradle.caching = true
org.gradle.parallel = true
Expand Down
6 changes: 3 additions & 3 deletions patches/server/0001-Pufferfish-Server-Changes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -3190,7 +3190,7 @@ index d190bad5d287766ed4165ed827d9901a9d878687..13594b96cc8f451723c3598ef302ccee

// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
index 1b80a91fa36c59a31b57ef7ef4a68eacbb0f17f5..b5e118456af6421ae3f85cb8232dc97a8b2d46b7 100644
index 854865f28bcae0fb0c17717c914687f78e951e21..c6297917e94f5a8b4b1447b2c29c44b806ccaff6 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -27,6 +27,7 @@ public class LevelChunkSection {
Expand All @@ -3217,7 +3217,7 @@ index 1b80a91fa36c59a31b57ef7ef4a68eacbb0f17f5..b5e118456af6421ae3f85cb8232dc97a
}

this.updateKnownBlockInfo(x | (z << 4) | (y << 8), iblockdata1, state); // Paper
@@ -260,6 +263,7 @@ public class LevelChunkSection {
@@ -261,6 +264,7 @@ public class LevelChunkSection {
if (fluid.isRandomlyTicking()) {
this.tickingFluidCount = (short) (this.tickingFluidCount + 1);
}
Expand Down Expand Up @@ -3431,7 +3431,7 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7

@Nullable
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e769f7b0904814ee63e2a73dca57e5dc33382fba..e38391da44a1b5e3b845eba2d80453021a1e0c25 100644
index 67dbfa6b384af45837d3aa29e249fd4bf92ee8fb..f025905a7afae894401638a8842a4a44fa41d1ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -257,7 +257,7 @@ import javax.annotation.Nullable; // Paper
Expand Down
4 changes: 2 additions & 2 deletions patches/server/0005-Purpur-client-support.patch
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ index 9d2d72fe48b69be2f6ebe74309673a3a4e51eae4..299d43f714637beb6cdce186368c4171
try {
byte[] data = new byte[packet.data.readableBytes()];
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3f498543cf0476ff1b184788d93f13b70c476c16..9986b89ceabc065d96c889bf9a50a4aa093e7300 100644
index f3e1ba16446ff569f178a4bd16d328e8c2f0e40c..7dd5879f8f4938c2742bde1e58b06f9b909fc389 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3196,4 +3196,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3174,4 +3174,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end
Expand Down
4 changes: 2 additions & 2 deletions patches/server/0012-AFK-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63
if (range < 0.0D || d < range * range) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9986b89ceabc065d96c889bf9a50a4aa093e7300..2506882191e83a3cc03666a56e63c18f7adebb68 100644
index 7dd5879f8f4938c2742bde1e58b06f9b909fc389..3758bdbca76fe04309408ae2131ef3e7a3f82e6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -533,10 +533,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Expand All @@ -238,7 +238,7 @@ index 9986b89ceabc065d96c889bf9a50a4aa093e7300..2506882191e83a3cc03666a56e63c18f
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -3202,5 +3207,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3180,5 +3185,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}
Expand Down
4 changes: 2 additions & 2 deletions patches/server/0013-Bring-back-server-name.patch
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824
public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 700e6af9919af1b38bb725d2f99e952df17eb31a..7421f2966b7908a673a7c2b66d9b5ced214e2eff 100644
index 30b50785fd18610bb418992aafe5fa24ec78780d..7104df35cf3de47026ae339a5e5f0ca211c3b08c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2936,4 +2936,11 @@ public final class CraftServer implements Server {
@@ -2974,4 +2974,11 @@ public final class CraftServer implements Server {
}

// Paper end
Expand Down
6 changes: 3 additions & 3 deletions patches/server/0016-Lagging-threshold.patch
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ index 57f6de7872bfa80cf7668524975946cbd7fcda56..6cdcd4f105b15f10d60499572f6f4f83
}
// Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7421f2966b7908a673a7c2b66d9b5ced214e2eff..14a5f137a9f925926406ea2a6b113fef88378c2e 100644
index 7104df35cf3de47026ae339a5e5f0ca211c3b08c..553df241cde2fb53c9b061f3fc54136d4a67a633 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2942,5 +2942,10 @@ public final class CraftServer implements Server {
@@ -2980,5 +2980,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}
Expand All @@ -40,7 +40,7 @@ index 7421f2966b7908a673a7c2b66d9b5ced214e2eff..14a5f137a9f925926406ea2a6b113fef
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 23c94e3872824d911d0bc25858f4ef4ebaefe36b..1c09a68b4cdc275ed85859eef678e1e6e98ae993 100644
index c01dd22d131a0048ff1d4dd86bb48fec6965494e..96ceda25ed790d2cbc75488c46f05e44b4a876dc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -191,6 +191,11 @@ public class PurpurConfig {
Expand Down
8 changes: 4 additions & 4 deletions patches/server/0018-Player-invulnerabilities.patch
Original file line number Diff line number Diff line change
Expand Up @@ -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 e16e2c7c802c387cc278542d6f013fc7441063e1..c3ce105219940d234320a415bd3050087db4778c 100644
index 4e68585de7601f87297977c426a8f4621c8c0860..600b003551757af0a6032fa114ca26e3bbd5f461 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 {
Expand Down Expand Up @@ -108,7 +108,7 @@ index 24545eaad4b0867b4d14f0418a27d465461c7e1e..db737258db16ec9f61d0d601a6ea5f6b
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
// Paper end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 7387bc99cd4d5172ef93364608a9ba178cc3597c..1d92befb9b9dfb5877065beeb216bdf1caefb770 100644
index bf6d6d7a587d05f38952b22774933d9a45f8365e..e73c77cfd61cdaebf4effe302f2a25bf614d7563 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -969,6 +969,8 @@ public abstract class PlayerList {
Expand All @@ -121,10 +121,10 @@ index 7387bc99cd4d5172ef93364608a9ba178cc3597c..1d92befb9b9dfb5877065beeb216bdf1
return entityplayer1;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 2506882191e83a3cc03666a56e63c18f7adebb68..141b5428d65d7db133d59d76a214333e07620eee 100644
index 3758bdbca76fe04309408ae2131ef3e7a3f82e6a..29b449f9b7830346004636fd7d4488f6070f16e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3222,5 +3222,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3200,5 +3200,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}
Expand Down
50 changes: 19 additions & 31 deletions patches/server/0146-Sneak-to-bulk-process-composter.patch
Original file line number Diff line number Diff line change
Expand Up @@ -18,37 +18,31 @@ index 1d33c02088c150189d7f4b0aa27f6a1de96b11cf..1a46dbb364423c889fcdf58f640b7784

if (enuminteractionresult.consumesAction()) {
diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
index fb4382337fe83f7d00c2212a7a71e0ba5bdd51cc..f085a669e2f2645e8c4f7a7e5a3c958f13809744 100644
index 6fab2b69a0af298bd00b309efcd6aa8399e23d1f..4f7b21caa123ea7896788fd25133d8de3ab1ccaf 100644
--- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
@@ -228,26 +228,28 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
@@ -228,20 +228,28 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
ItemStack itemstack = player.getItemInHand(hand);

if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(itemstack.getItem())) {
- if (i < 7 && !world.isClientSide) {
- // Paper start - EntityChangeBlockEvent
- double rand = world.getRandom().nextDouble();
- BlockState dummyBlockState = ComposterBlock.addItem(player, state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
- if (dummyBlockState == null) {
- BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack);
- // Paper start - handle cancelled events
- if (iblockdata1 == null) {
- return InteractionResult.PASS;
- }
- if (state != dummyBlockState && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, pos, dummyBlockState).isCancelled()) { // if block state will change and event cancelled
- return InteractionResult.sidedSuccess(world.isClientSide);
- }
- BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack, rand);
- // Paper end
-
- world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0);
- player.awardStat(Stats.ITEM_USED.get(itemstack.getItem()));
- if (!player.getAbilities().instabuild) {
- itemstack.shrink(1);
- }
+ // Purpur start
+ BlockState newState = process(i, state, world, itemstack, pos, player);
+ if (newState == null) {
+ return InteractionResult.PASS;
}
+ }

- world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0);
- player.awardStat(Stats.ITEM_USED.get(itemstack.getItem()));
- if (!player.getAbilities().instabuild) {
- itemstack.shrink(1);
- }
+ if (world.purpurConfig.composterBulkProcess && player.isShiftKeyDown() && newState != state) {
+ BlockState oldState;
+ int oldCount, newCount, oldLevel, newLevel;
Expand All @@ -63,36 +57,30 @@ index fb4382337fe83f7d00c2212a7a71e0ba5bdd51cc..f085a669e2f2645e8c4f7a7e5a3c958f
+ newCount = itemstack.getCount();
+ newLevel = newState.getValue(ComposterBlock.LEVEL);
+ } while (newCount > 0 && (newCount != oldCount || newLevel != oldLevel || newState != oldState));
+ }
}
+ // Purpur end

return InteractionResult.sidedSuccess(world.isClientSide);
} else if (i == 8) {
ComposterBlock.extractProduce(player, state, world, pos);
@@ -257,6 +259,32 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
@@ -252,6 +260,26 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
}
}

+ // Purpur start
+ private static BlockState process(int level, BlockState state, Level world, ItemStack itemstack, BlockPos pos, Player player) {
+ if (level < 7 && !world.isClientSide) {
+ // Paper start - EntityChangeBlockEvent
+ double rand = world.getRandom().nextDouble();
+ BlockState dummyBlockState = ComposterBlock.addItem(player, state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
+ if (dummyBlockState == null) {
+ return dummyBlockState;
+ }
+ if (state != dummyBlockState && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, pos, dummyBlockState).isCancelled()) { // if block state will change and event cancelled
+ return state;
+ BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack);
+ // Paper start - handle cancelled events
+ if (iblockdata1 == null) {
+ return iblockdata1;
+ }
+ BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack, rand);
+ // Paper end
+
+ world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0);
+ player.awardStat(Stats.ITEM_USED.get(itemstack.getItem()));
+ if (!player.getAbilities().instabuild) {
+ itemstack.shrink(1);
+ }
+ return dummyBlockState;
+ return iblockdata1;
+ }
+ return state;
+ }
Expand Down
4 changes: 2 additions & 2 deletions patches/server/0269-Add-local-difficulty-api.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api


diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 8d3a32a0538a6065fd0725721ab8a1a011c4d64a..c7bf0b4036877745d54908048f92735143c92210 100644
index dafd2c85f89d8822e50db63c21631199c69a97a0..5fe1151f888c162abc3820617c47519f8119f7c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2249,6 +2249,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2282,6 +2282,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight());
}

Expand Down
10 changes: 5 additions & 5 deletions patches/server/0279-Debug-Marker-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API


diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 296b74bf4df1de9b353838f16049f7c2caf61eb2..a4f9b118bb2414ddd6a8985cdc47c37dc43432ea 100644
index 3e0e497e0072353999165ad04e1e87572132ffc6..50da9d62ef1cdc74a3145e98a5d45885c4926744 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1443,6 +1443,42 @@ public final class CraftServer implements Server {
Expand Down Expand Up @@ -52,10 +52,10 @@ index 296b74bf4df1de9b353838f16049f7c2caf61eb2..a4f9b118bb2414ddd6a8985cdc47c37d

@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index c7bf0b4036877745d54908048f92735143c92210..3013aeb442799aba5b2ae45edcb3c2c72a18a740 100644
index 5fe1151f888c162abc3820617c47519f8119f7c0..39a2ff8c34f995ab860aadc24d24136d602af646 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2253,6 +2253,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2286,6 +2286,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public float getLocalDifficultyAt(Location location) {
return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
}
Expand Down Expand Up @@ -99,10 +99,10 @@ index c7bf0b4036877745d54908048f92735143c92210..3013aeb442799aba5b2ae45edcb3c2c7

@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 303d1fb7918540ac4324d9d01a6beb70fc37ca5a..a9d0ca15a53fbf227fe3a59406d26c82b5b59396 100644
index 9f1cbd4d74b7081ad47a30c109fee5990e70dfcf..bd772d34c621b450fdcf99ac19f00cd57e57629d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3263,5 +3263,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3241,5 +3241,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
}
Expand Down
4 changes: 2 additions & 2 deletions patches/server/0283-Add-death-screen-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ index 53b75f5737a910ffc5448cd9a85eae57f9c1488f..ea95873dd034779e56a8b924cd27f937
}

diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index a9d0ca15a53fbf227fe3a59406d26c82b5b59396..f4a341f72d727bbffa4cfcf72eda8ed0c8945c9e 100644
index bd772d34c621b450fdcf99ac19f00cd57e57629d..3c31701795b25b16dafe53292e9561dd0bfbe2b5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3306,5 +3306,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3284,5 +3284,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer())));
}
Expand Down

0 comments on commit d6cfa8f

Please sign in to comment.