Skip to content

Commit 1fd9d08

Browse files
authored
Fix backward compat for World#setPVP (#13503)
1 parent 5fa4be9 commit 1fd9d08

File tree

7 files changed

+37
-47
lines changed

7 files changed

+37
-47
lines changed

paper-server/patches/features/0001-Moonrise-optimisation-patches.patch

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27028,7 +27028,7 @@ index 061bc47972d9c67375c0ff9461c506625c80108c..7656665352632fc718bea91dcfd3dd41
2702827028
}
2702927029

2703027030
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
27031-
index 80ee52cb77d079cda66b12e7d3fe683ccb47d7dc..9d4d70369907c3d18c15289ef6630cade8fc74fe 100644
27031+
index 01266919bba228e6d5a1b4f376b11ad8a3eea6d3..aa48c77f1010f9ac7f31889fe554834c6708396c 100644
2703227032
--- a/net/minecraft/server/level/ServerPlayer.java
2703327033
+++ b/net/minecraft/server/level/ServerPlayer.java
2703427034
@@ -201,7 +201,7 @@ import net.minecraft.world.scores.criteria.ObjectiveCriteria;
@@ -29259,7 +29259,7 @@ index d4c78c7f521b31ea9ce0cf7d62978b8e324b5d10..bcbe39eed2d254861689c95f7040f27b
2925929259

2926029260
// Paper start - Affects Spawning API
2926129261
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
29262-
index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225e3f0eb8f 100644
29262+
index a38e63a78be72438a3073ad780063c5e59723482..49aca568407523d95d5801988fe153d71c9dc768 100644
2926329263
--- a/net/minecraft/world/level/Level.java
2926429264
+++ b/net/minecraft/world/level/Level.java
2926529265
@@ -82,6 +82,7 @@ import net.minecraft.world.level.storage.LevelData;
@@ -29288,7 +29288,7 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
2928829288
@Deprecated
2928929289
private final RandomSource threadSafeRandom = RandomSource.createThreadSafe();
2929029290
private final Holder<DimensionType> dimensionTypeRegistration;
29291-
@@ -188,6 +189,629 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29291+
@@ -187,6 +188,629 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2929229292

2929329293
public abstract ResourceKey<net.minecraft.world.level.dimension.LevelStem> getTypeKey();
2929429294

@@ -29918,7 +29918,7 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
2991829918
protected Level(
2991929919
WritableLevelData levelData,
2992029920
ResourceKey<Level> dimension,
29921-
@@ -203,6 +827,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29921+
@@ -202,6 +826,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2992229922
java.util.function.Function<org.spigotmc.SpigotWorldConfig, // Spigot - create per world config
2992329923
io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator // Paper - create paper world config
2992429924
) {
@@ -29934,15 +29934,15 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
2993429934
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName()); // Spigot
2993529935
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
2993629936
this.generator = generator;
29937-
@@ -225,6 +858,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29937+
@@ -224,6 +857,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2993829938
this.registryAccess = registryAccess;
2993929939
this.palettedContainerFactory = PalettedContainerFactory.create(registryAccess);
2994029940
this.damageSources = new DamageSources(registryAccess);
2994129941
+ this.entityLookup = new ca.spottedleaf.moonrise.patches.chunk_system.level.entity.dfl.DefaultEntityLookup(this); // Paper - rewrite chunk system
2994229942
}
2994329943

2994429944
// Paper start - Cancel hit for vanished players
29945-
@@ -506,7 +1140,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29945+
@@ -505,7 +1139,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2994629946
this.setBlocksDirty(pos, blockState, blockState1);
2994729947
}
2994829948

@@ -29951,15 +29951,15 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
2995129951
this.sendBlockUpdated(pos, blockState, state, flags);
2995229952
}
2995329953

29954-
@@ -757,6 +1391,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29954+
@@ -756,6 +1390,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2995529955
// Spigot start
2995629956
boolean runsNormally = this.tickRateManager().runsNormally();
2995729957

2995829958
+ int tickedEntities = 0; // Paper - rewrite chunk system
2995929959
var toRemove = new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<TickingBlockEntity>(); // Paper - Fix MC-117075; use removeAll
2996029960
toRemove.add(null); // Paper - Fix MC-117075
2996129961
for (this.tileTickPosition = 0; this.tileTickPosition < this.blockEntityTickers.size(); this.tileTickPosition++) { // Paper - Disable tick limiters
29962-
@@ -766,6 +1401,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29962+
@@ -765,6 +1400,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2996329963
toRemove.add(tickingBlockEntity); // Paper - Fix MC-117075; use removeAll
2996429964
} else if (runsNormally && this.shouldTickBlocksAt(tickingBlockEntity.getPos())) {
2996529965
tickingBlockEntity.tick();
@@ -29971,15 +29971,15 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
2997129971
}
2997229972
}
2997329973
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
29974-
@@ -785,6 +1425,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29974+
@@ -784,6 +1424,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2997529975
entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
2997629976
// Paper end - Prevent block entity and entity crashes
2997729977
}
2997829978
+ this.moonrise$midTickTasks(); // Paper - rewrite chunk system
2997929979
}
2998029980

2998129981
// Paper start - Option to prevent armor stands from doing entity lookups
29982-
@@ -792,7 +1433,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29982+
@@ -791,7 +1432,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2998329983
public boolean noCollision(@Nullable Entity entity, AABB box) {
2998429984
if (entity instanceof net.minecraft.world.entity.decoration.ArmorStand && !entity.level().paperConfig().entities.armorStands.doCollisionEntityLookups)
2998529985
return false;
@@ -29995,7 +29995,7 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
2999529995
}
2999629996
// Paper end - Option to prevent armor stands from doing entity lookups
2999729997

29998-
@@ -927,7 +1575,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
29998+
@@ -926,7 +1574,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
2999929999
if (!this.isInValidBounds(pos)) {
3000030000
return null;
3000130001
} else {
@@ -30004,7 +30004,7 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
3000430004
? null
3000530005
: this.getChunkAt(pos).getBlockEntity(pos, LevelChunk.EntityCreationType.IMMEDIATE);
3000630006
}
30007-
@@ -1017,22 +1665,16 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
30007+
@@ -1016,22 +1664,16 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
3000830008
public List<Entity> getEntities(@Nullable Entity entity, AABB boundingBox, Predicate<? super Entity> predicate) {
3000930009
Profiler.get().incrementCounter("getEntities");
3001030010
List<Entity> list = Lists.newArrayList();
@@ -30035,7 +30035,7 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
3003530035
}
3003630036

3003730037
@Override
30038-
@@ -1046,33 +1688,94 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
30038+
@@ -1045,33 +1687,94 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
3003930039
this.getEntities(entityTypeTest, bounds, predicate, output, Integer.MAX_VALUE);
3004030040
}
3004130041

@@ -30150,7 +30150,7 @@ index e57358f03da2a6be5997abbd895fafb768140e69..77b8f0f18748fc6a3c8c44f8eb496225
3015030150

3015130151
public <T extends Entity> boolean hasEntities(EntityTypeTest<Entity, T> entityTypeTest, AABB bounds, Predicate<? super T> predicate) {
3015230152
Profiler.get().incrementCounter("hasEntities");
30153-
@@ -1364,13 +2067,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
30153+
@@ -1363,13 +2066,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
3015430154

3015530155
// Paper start - allow patching this logic
3015630156
public final int getEntityCount() {

paper-server/patches/features/0005-Entity-Activation-Range-2.0.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ index 0000000000000000000000000000000000000000..c18823746ab2edcab536cb1589b7720e
354354
+ }
355355
+}
356356
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
357-
index 5494b92ab1c3c202a640e483e8a4bcb64395ed99..d7238270a6df8d1182874b46b588b971ca6f7a0e 100644
357+
index 7656665352632fc718bea91dcfd3dd41fc436e1f..bdbc15bfbbfeae2bc5b884e300b86cb25c88840f 100644
358358
--- a/net/minecraft/server/level/ServerLevel.java
359359
+++ b/net/minecraft/server/level/ServerLevel.java
360360
@@ -830,6 +830,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -464,7 +464,7 @@ index 5461bd9a39bb20ad29d3bc110c38860cf35a770a..75f80787966cdda6f51f55a8f6cb2218
464464
public void tick() {
465465
super.tick();
466466
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
467-
index 92ad0b17ff735801b9a4c840f14b4c12db729427..06837062905e08a3e9c29ee030ce199ce1d540b1 100644
467+
index 57cff20212f6d5f83d4b0169bf6aa185a403e1d3..1b554121a550f0a2c7e5d6b041450b4bcba781c5 100644
468468
--- a/net/minecraft/world/entity/Entity.java
469469
+++ b/net/minecraft/world/entity/Entity.java
470470
@@ -368,6 +368,15 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
@@ -523,7 +523,7 @@ index 92ad0b17ff735801b9a4c840f14b4c12db729427..06837062905e08a3e9c29ee030ce199c
523523
movement = this.maybeBackOffFromEdge(movement, type);
524524
Vec3 vec3 = this.collide(movement);
525525
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
526-
index 38eac6d27ebf3497fc1c2dfb600a7cbf4f9da7f4..9dacf9cef03ecb87464bfecf2399f2864be6d6ba 100644
526+
index 5b6020de0848458f5576113e690b5a6435f35d05..6f49b5e5888a6296b929e465a5ef87dc49bd4516 100644
527527
--- a/net/minecraft/world/entity/LivingEntity.java
528528
+++ b/net/minecraft/world/entity/LivingEntity.java
529529
@@ -3330,6 +3330,14 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
@@ -818,10 +818,10 @@ index 4a6384a668546371f4ffa13927be4bd462d47c60..3c961b76769f16160caedce8ec32bb2a
818818
+
819819
}
820820
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
821-
index c94eae678dd55fced81fcee683ca3c0e16443c7c..3d5a869d1d7da490ec843ab2137ceeddc0a5fa0d 100644
821+
index 49aca568407523d95d5801988fe153d71c9dc768..9e88d83b31129cc853afe60d841838852a33fc45 100644
822822
--- a/net/minecraft/world/level/Level.java
823823
+++ b/net/minecraft/world/level/Level.java
824-
@@ -150,6 +150,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
824+
@@ -149,6 +149,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
825825
@Nullable
826826
public List<net.minecraft.world.entity.item.ItemEntity> captureDrops;
827827
public final it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<SpawnCategory> ticksPerSpawnCategory = new it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<>();
@@ -835,7 +835,7 @@ index c94eae678dd55fced81fcee683ca3c0e16443c7c..3d5a869d1d7da490ec843ab2137ceedd
835835
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
836836
// Paper start - add paper world config
837837
diff --git a/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java b/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
838-
index 182b803ed17d6bd580f55a6b2ec08001edc533fd..59a002711531f8337a86d85b6e8b11b5fad8ced7 100644
838+
index 9f50e86a637aab8b5c34913e226807990c1891a4..bc42a6c678987a39b0a70a1a3e96eb90340ffea5 100644
839839
--- a/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
840840
+++ b/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java
841841
@@ -152,6 +152,10 @@ public class PistonMovingBlockEntity extends BlockEntity {

paper-server/patches/features/0016-Add-Alternate-Current-redstone-implementation.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2326,7 +2326,7 @@ index 0000000000000000000000000000000000000000..298076a0db4e6ee6e4775ac43bf749d9
23262326
+ }
23272327
+}
23282328
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
2329-
index d7238270a6df8d1182874b46b588b971ca6f7a0e..db2054e84f5717a37683d57890dcd585769effbc 100644
2329+
index bdbc15bfbbfeae2bc5b884e300b86cb25c88840f..ef7e24716c2fc6a643d107cadcf743f80b39af41 100644
23302330
--- a/net/minecraft/server/level/ServerLevel.java
23312331
+++ b/net/minecraft/server/level/ServerLevel.java
23322332
@@ -227,6 +227,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -2352,10 +2352,10 @@ index d7238270a6df8d1182874b46b588b971ca6f7a0e..db2054e84f5717a37683d57890dcd585
23522352
return level.dimension() != Level.NETHER || this.getGameRules().get(GameRules.ALLOW_ENTERING_NETHER_USING_PORTALS);
23532353
}
23542354
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
2355-
index 3d5a869d1d7da490ec843ab2137ceeddc0a5fa0d..66f15154fa59435650f3881f50b45b5756088a2f 100644
2355+
index 9e88d83b31129cc853afe60d841838852a33fc45..935aacd607bb1960bc5f01b3fd025603edd1dbd6 100644
23562356
--- a/net/minecraft/world/level/Level.java
23572357
+++ b/net/minecraft/world/level/Level.java
2358-
@@ -2050,6 +2050,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
2358+
@@ -2049,6 +2049,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
23592359
return this.palettedContainerFactory;
23602360
}
23612361

paper-server/patches/features/0029-Anti-Xray.patch

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ index 3c0f0a612cc57c9f03abfb0ccb1f891305d03d45..9f43cfbdd49df61de869fd65fb2cbea3
143143

144144
private ClientboundLevelChunkWithLightPacket(RegistryFriendlyByteBuf buffer) {
145145
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
146-
index f0bfc37a0802397da1462e545e48f83d42b3d0c0..ab5efa15a1f56feda7d3e91009a517e98216e734 100644
146+
index 45550619778b6a6b7f1f03467ece6bfe3d7b1e51..dc65503a2d785d64d37b76b0303f51cf66d9769a 100644
147147
--- a/net/minecraft/server/level/ServerLevel.java
148148
+++ b/net/minecraft/server/level/ServerLevel.java
149149
@@ -615,7 +615,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -156,7 +156,7 @@ index f0bfc37a0802397da1462e545e48f83d42b3d0c0..ab5efa15a1f56feda7d3e91009a517e9
156156
this.uuid = org.bukkit.craftbukkit.util.WorldUUID.getOrCreate(levelStorageAccess.levelDirectory.path().toFile());
157157
this.levelLoadListener = new net.minecraft.server.level.progress.LoggingLevelLoadListener(false, this);
158158
diff --git a/net/minecraft/server/level/ServerPlayerGameMode.java b/net/minecraft/server/level/ServerPlayerGameMode.java
159-
index e22368b036c35d32dca79b0e840f1008dce830a4..6771cbbae863fa181e19c5fb74d2018d3559ef4e 100644
159+
index 1d11f936dfda6cdcae0c4193eed2e5b1e8a793dc..84d19d79e77cec6a5d64f59fbcce703e467b2407 100644
160160
--- a/net/minecraft/server/level/ServerPlayerGameMode.java
161161
+++ b/net/minecraft/server/level/ServerPlayerGameMode.java
162162
@@ -313,6 +313,7 @@ public class ServerPlayerGameMode {
@@ -184,7 +184,7 @@ index c65b274b965b95eae33690e63c5da2d5a9f2981a..644948d64791d0ffa4166375d0f4419f
184184
if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) {
185185
new io.papermc.paper.event.packet.PlayerChunkLoadEvent(new org.bukkit.craftbukkit.CraftChunk(chunk), packetListener.getPlayer().getBukkitEntity()).callEvent();
186186
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
187-
index a17d021269c65d98a2ba847c0059a421ea051863..9f86d1fc4ea4c6987fa207644573565aea7edead 100644
187+
index dec9dd8e42f90ccf7e5e3ad945e459d07159250d..989ac565c47a70c7947cb7315d0f5c2cfecd0363 100644
188188
--- a/net/minecraft/server/players/PlayerList.java
189189
+++ b/net/minecraft/server/players/PlayerList.java
190190
@@ -329,7 +329,7 @@ public abstract class PlayerList {
@@ -197,7 +197,7 @@ index a17d021269c65d98a2ba847c0059a421ea051863..9f86d1fc4ea4c6987fa207644573565a
197197
}
198198
// Paper end - Send empty chunk
199199
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
200-
index 66f15154fa59435650f3881f50b45b5756088a2f..0df3a12f64f9c48561d64059289727b18239d6ce 100644
200+
index 935aacd607bb1960bc5f01b3fd025603edd1dbd6..579bbba4e823d4d0318e58759ca732b7c8e4d865 100644
201201
--- a/net/minecraft/world/level/Level.java
202202
+++ b/net/minecraft/world/level/Level.java
203203
@@ -139,6 +139,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -206,9 +206,9 @@ index 66f15154fa59435650f3881f50b45b5756088a2f..0df3a12f64f9c48561d64059289727b1
206206
// CraftBukkit start
207207
+ public final io.papermc.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
208208
private final CraftWorld world;
209-
public net.kyori.adventure.util.TriState pvpMode = net.kyori.adventure.util.TriState.NOT_SET;
210209
public org.bukkit.generator.@Nullable ChunkGenerator generator;
211-
@@ -831,7 +832,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
210+
211+
@@ -830,7 +831,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
212212
org.bukkit.generator.@Nullable BiomeProvider biomeProvider, // Paper
213213
org.bukkit.World.Environment environment, // Paper
214214
java.util.function.Function<org.spigotmc.SpigotWorldConfig, // Spigot - create per world config
@@ -218,15 +218,15 @@ index 66f15154fa59435650f3881f50b45b5756088a2f..0df3a12f64f9c48561d64059289727b1
218218
) {
219219
// Paper start - getblock optimisations - cache world height/sections
220220
final DimensionType dimType = dimensionTypeRegistration.value();
221-
@@ -865,6 +867,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
221+
@@ -864,6 +866,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
222222
this.palettedContainerFactory = PalettedContainerFactory.create(registryAccess);
223223
this.damageSources = new DamageSources(registryAccess);
224224
this.entityLookup = new ca.spottedleaf.moonrise.patches.chunk_system.level.entity.dfl.DefaultEntityLookup(this); // Paper - rewrite chunk system
225225
+ this.chunkPacketBlockController = this.paperConfig().anticheat.antiXray.enabled ? new io.papermc.paper.antixray.ChunkPacketBlockControllerAntiXray(this, executor) : io.papermc.paper.antixray.ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
226226
}
227227

228228
// Paper start - Cancel hit for vanished players
229-
@@ -1078,6 +1081,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
229+
@@ -1077,6 +1080,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
230230
snapshot.setFlags(flags); // Paper - always set the flag of the most recent call to mitigate issues with multiple update at the same pos with different flags
231231
}
232232
BlockState blockState = chunkAt.setBlockState(pos, state, flags);
@@ -261,7 +261,7 @@ index a49a06662de4062a77112e358f536d45d65bf91f..54ddcf92e72b9cbd0eb442e5d0faa83c
261261
}
262262
}
263263
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
264-
index 356a89ef2396f245e438d59d65edd0445693cb8b..7f2fa1978c2ca5620f0f3c1f26570d924d7fb3e5 100644
264+
index ea6a9306cf7b0c1b0a4f69eb2f1d604c95efb967..3acc1374a7ef968d88e9f566ce7b812fb8d580af 100644
265265
--- a/net/minecraft/world/level/chunk/LevelChunk.java
266266
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
267267
@@ -151,7 +151,7 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot

paper-server/patches/sources/net/minecraft/server/level/ServerPlayer.java.patch

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -609,17 +609,11 @@
609609
}
610610
}
611611

612-
@@ -989,25 +_,95 @@
612+
@@ -992,22 +_,92 @@
613+
return this.level().isPvpAllowed();
613614
}
614615

615-
private boolean isPvpAllowed() {
616-
- return this.level().isPvpAllowed();
617-
- }
618-
-
619616
- public TeleportTransition findRespawnPositionAndUseSpawnBlock(boolean useCharge, TeleportTransition.PostTeleportTransition postTeleportTransition) {
620-
+ return this.level().getWorld().getPVP(); // CraftBukkit - this.level().isPvpAllowed() -> this.level().getWorld().getPVP()
621-
+ }
622-
+
623617
+ // Paper start
624618
+ public record RespawnResult(TeleportTransition transition, boolean isBedSpawn, boolean isAnchorSpawn) {
625619
+ }

0 commit comments

Comments
 (0)