Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@26734e8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7454)
PaperMC/Paper@4a745f9 Optimize Util#sequence (#7115)
PaperMC/Paper@2c8d48c Make Panda implement Sittable (#7414)
PaperMC/Paper@2c4a589 Fix issues with LimitedRegion (#7343)
PaperMC/Paper@3d91eca Fix cancelled snow bucket placement (#6751)
PaperMC/Paper@9567753 Don't load plugins prefixed with a dot (#7392)
PaperMC/Paper@92c777d Fix PlayerProfile BukkitObject serialization, deprecate setName and setId for removal (#7471)
PaperMC/Paper@e6898ff Fix IllegalArgumentException for /paper mobcaps command (#7472)
PaperMC/Paper@a8f2d67 - properly fix IllegalArgumentException in `/paper mobcaps` command

Pufferfish Changes:
pufferfish-gg/Pufferfish@22f20b2 Fix sentry bug
This commit is contained in:
BillyGalbreath
2022-02-13 20:37:07 -06:00
parent 5d1684a84c
commit cfe8efe1f0
51 changed files with 258 additions and 247 deletions

View File

@@ -2136,24 +2136,41 @@ index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f549
+ }
+}
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
index 9c111d479bbcc101886c12950c97f10941125ae7..90018506da9e900d448a1fc43b3213ac513686e6 100644
index 34e571b702684673b89103176838dc246ff9b24d..d985932adec493163ac41f7f35d0b530c1e1f7db 100644
--- a/src/main/java/net/minecraft/Util.java
+++ b/src/main/java/net/minecraft/Util.java
@@ -391,6 +391,10 @@ public class Util {
}
@@ -392,16 +392,27 @@ public class Util {
private static final CompletableFuture<?>[] EMPTY_FUTURE = new CompletableFuture[0]; // Paper
public static <V> CompletableFuture<List<V>> sequence(List<? extends CompletableFuture<? extends V>> futures) {
- // Paper start - optimize
- return CompletableFuture.allOf(futures.toArray(EMPTY_FUTURE))
- .thenApply(v -> {
- List<V> list = Lists.newArrayListWithCapacity(futures.size());
- for (CompletableFuture<? extends V> future : futures) {
- list.add(future.join());
- }
- return list;
+ // Pufferfish start - faster sequencing without all of.. _that_
+ return CompletableFuture.allOf(futures.toArray(new CompletableFuture[futures.size()]))
+ .thenApply(unused -> futures.stream().map(CompletableFuture::join).collect(Collectors.toList()));
+ /*
return futures.stream().reduce(CompletableFuture.completedFuture(Lists.newArrayList()), (completableFuture, completableFuture2) -> {
return completableFuture2.thenCombine(completableFuture, (object, list) -> {
List<V> list2 = Lists.newArrayListWithCapacity(list.size() + 1);
@@ -406,6 +410,8 @@ public class Util {
return list3;
+ return futures.stream().reduce(CompletableFuture.completedFuture(Lists.newArrayList()), (completableFuture, completableFuture2) -> {
+ return completableFuture2.thenCombine(completableFuture, (object, list) -> {
+ List<V> list2 = Lists.newArrayListWithCapacity(list.size() + 1);
+ list2.addAll(list);
+ list2.add(object);
+ return list2;
});
});
- // Paper end
+ }, (completableFuture, completableFuture2) -> {
+ return completableFuture.thenCombine(completableFuture2, (list, list2) -> {
+ List<V> list3 = Lists.newArrayListWithCapacity(list.size() + list2.size());
+ list3.addAll(list);
+ list3.addAll(list2);
+ return list3;
+ });
+ });
+ */
+ // Pufferfish end
}
@@ -2276,7 +2293,7 @@ index afef3ea6d1ae5f145261eaae3da720fdf9e923a8..ca07ba8eb33f1b4f10aba9f4b4c7c107
return this.scaledRange(i);
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index b0ced77da807d715a39c04708859a12729883939..addf249717b5271b664f4a9d28dd6cc177db5688 100644
index e20fc528b85a8278bffab32845daac2208836748..7780c6cd92a716e62625df95841680b0e99a86e6 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -78,6 +78,9 @@ public class ServerChunkCache extends ChunkSource {
@@ -2295,7 +2312,7 @@ index b0ced77da807d715a39c04708859a12729883939..addf249717b5271b664f4a9d28dd6cc1
gameprofilerfiller.push("pollingChunks");
+ this.level.resetIceAndSnowTick(); // Pufferfish - reset ice & snow tick random
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
boolean flag1 = level.ticksPerAnimalSpawns != 0L && worlddata.getGameTime() % level.ticksPerAnimalSpawns == 0L; // CraftBukkit
boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
@@ -979,18 +983,25 @@ public class ServerChunkCache extends ChunkSource {
// Paper start - per player mob spawning
@@ -2449,10 +2466,10 @@ index 403a6fadbeff41e67618393ac7034d32c02af7b8..59d57108f38f38e03cd8b69a53c3e9d4
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/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 23eddc502816e84ab25366c7d5710ce2e660c7a0..cb35f2f1f2f4d568bc59ce5c08ab3b908533264c 100644
index d945a22e2bb992f3cbba3c9ed0f660b6a385a1b0..b9f2f6713bd9e3431ddbf2a41f16cbda5739ef57 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1113,6 +1113,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleEditBook(ServerboundEditBookPacket packet) {
@@ -2573,7 +2590,7 @@ index 7437f01ca8f416e2c9150250e324af4725a4efb6..7ac51dbfce18a2bc52faa7a915abeccc
int LARGE_MAX_STACK_SIZE = 64;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c3b26e9f3 100644
index 9ca080e2745686fc2e39485965ec54c5de0bae6e..fd6e42d3df429aaf753102258b8e65a61ff4d296 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -227,7 +227,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -2645,7 +2662,7 @@ index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
}
@@ -3867,16 +3894,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3871,16 +3898,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
public boolean updateFluidHeightAndDoFluidPushing(Tag<Fluid> tag, double speed) {
@@ -2671,7 +2688,7 @@ index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c
double d1 = 0.0D;
boolean flag = this.isPushedByFluid();
boolean flag1 = false;
@@ -3884,14 +3913,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3888,14 +3917,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
int k1 = 0;
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
@@ -2739,7 +2756,7 @@ index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c
if (d2 >= axisalignedbb.minY) {
flag1 = true;
@@ -3913,9 +3989,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3917,9 +3993,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
// CraftBukkit end
}
}
@@ -3413,10 +3430,10 @@ index e7ca5d6fb8922e7e8065864f736b06056be080a0..6c9e574851b518242dbbee9bce954b44
final String id;
private final GameRules.Category category;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db6f388aff 100644
index 87c8c59b9d47b6c292a92e97471c558c03453cfb..4f8b2617adc0013035cc0ca72bf1b83eb5c18c6c 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -308,6 +308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -305,6 +305,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
// Paper end - optimise checkDespawn
@@ -3432,7 +3449,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
@@ -323,6 +332,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -322,6 +331,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.profiler = supplier;
this.levelData = worlddatamutable;
this.dimensionType = dimensionmanager;
@@ -3446,7 +3463,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
this.dimension = resourcekey;
this.isClientSide = flag;
if (dimensionmanager.coordinateScale() != 1.0D) {
@@ -438,6 +454,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -437,6 +453,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return null;
}
@@ -3538,7 +3555,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
public boolean isInWorldBounds(BlockPos pos) {
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
}
@@ -974,13 +1075,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -973,13 +1074,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
try {
tickConsumer.accept(entity);
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
@@ -3554,7 +3571,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
// Paper end
}
}
@@ -1442,6 +1543,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1441,6 +1542,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
public ProfilerFiller getProfiler() {
@@ -3563,10 +3580,10 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
}
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 29b27f31080204c9cf33c9eeb8f48bf7928e0371..656b7e07ce6294f4b56b99b928cf37da41ea167d 100644
index 515e58e3db223fbdc01ca87607aca234c7010d51..f71f8b5c95849a6fb0367d7b027300cb2559b9e8 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -431,12 +431,12 @@ public final class NaturalSpawner {
@@ -408,12 +408,12 @@ public final class NaturalSpawner {
return spawnGroup == MobCategory.MONSTER && world.getBlockState(pos.below()).is(Blocks.NETHER_BRICKS) && structureAccessor.getStructureAt(pos, StructureFeature.NETHER_BRIDGE).isValid();
}
@@ -4136,10 +4153,10 @@ index e387de8adc480eac27b58b6f3f0d331ffc4382f1..6dba9d6bb7b81fe176cc0fabbb60b554
@Nullable
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1a1f5c8f9a049d65043f12374fe694068f7d08cf..4bfae47b8163d2737ba796827be8557166db84d1 100644
index f0629cac377b29246e990a01d60601270cbd77bd..b187f42dc41838b8119b29204368a8b5a7e18de5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -254,7 +254,7 @@ import javax.annotation.Nullable; // Paper
@@ -251,7 +251,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -4148,7 +4165,7 @@ index 1a1f5c8f9a049d65043f12374fe694068f7d08cf..4bfae47b8163d2737ba796827be85571
private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
@@ -1063,6 +1063,11 @@ public final class CraftServer implements Server {
@@ -1044,6 +1044,11 @@ public final class CraftServer implements Server {
plugin.getDescription().getName(),
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
));

View File

@@ -221,10 +221,10 @@ index 4502362ff3c43eac489125deee59c66d76204e98..c6267659e8ff73e59d2a4992aa67f86c
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4bfae47b8163d2737ba796827be8557166db84d1..486b0a9a19ac5025125f3bf253cad5ed7d053bf0 100644
index b187f42dc41838b8119b29204368a8b5a7e18de5..c47bbbdaf75b9691ce2f8436afe3eda431e76ae5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -254,7 +254,7 @@ import javax.annotation.Nullable; // Paper
@@ -251,7 +251,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {

View File

@@ -84,10 +84,10 @@ index 9c31e5d653f2027cf5b028f9fb9268f1469cb1e0..d58e5357f9cb45d9b5ddeaed4ec76aa3
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc.
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index a98d115b7dccd836fa2c0f50333730db6f388aff..7f71a6fe6087630987ae1815ce45dfa45e52f684 100644
index 4f8b2617adc0013035cc0ca72bf1b83eb5c18c6c..7d2cc5bbeda115bae0b2cdfa89893a75de272f6b 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -169,6 +169,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -166,6 +166,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
@@ -96,19 +96,19 @@ index a98d115b7dccd836fa2c0f50333730db6f388aff..7f71a6fe6087630987ae1815ce45dfa4
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -320,6 +322,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -317,6 +319,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22af7f6e63 100644
index c47bbbdaf75b9691ce2f8436afe3eda431e76ae5..8015ed84e3e37ef0c8377bad66c5658a0279853a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -952,6 +952,7 @@ public final class CraftServer implements Server {
@@ -957,6 +957,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
@@ -116,7 +116,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -992,6 +993,7 @@ public final class CraftServer implements Server {
@@ -973,6 +974,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper
@@ -124,7 +124,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1007,6 +1009,7 @@ public final class CraftServer implements Server {
@@ -988,6 +990,7 @@ public final class CraftServer implements Server {
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
@@ -132,7 +132,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2674,6 +2677,18 @@ public final class CraftServer implements Server {
@@ -2688,6 +2691,18 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config;
}
@@ -152,7 +152,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
public void restart() {
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 55bae3efbc630be6d40d415509de4c3e744a5004..9d649923e28f4839106b336fce41bd3f4114faae 100644
index f810bebfca3932c80e20646eb0680f7718506707..4e59c357343841a1f32061d26f465edde426fc8a 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -153,6 +153,14 @@ public class Main {

View File

@@ -17,10 +17,10 @@ index 470dbed47830e2f580c090bc762a7be5cf389ce5..a261fd5f0709bd9891189d538f762aa8
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4 100644
index b9f2f6713bd9e3431ddbf2a41f16cbda5739ef57..f579bcfd222025ca9bc5b0f0f8b168d3e7385763 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3151,6 +3151,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3147,6 +3147,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
@@ -28,7 +28,7 @@ index cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb8
@Override
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
@@ -3175,6 +3176,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3171,6 +3172,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
}
@@ -43,10 +43,10 @@ index cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb8
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 a5ccc1b3c7cef43527556c33d846cc9904e3ab8b..b86c5e7d68da91a5c20614082192b144a4e84387 100644
index 2088b708d7ed7af8de0df31493084d8fcfed8a70..b1540e8bb9332506dbd5762024202414a173c621 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2691,4 +2691,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2693,4 +2693,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end

View File

@@ -5,7 +5,7 @@ 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 4b842e78d3e8fbca90f5f3d975bee654ec87d91d..c516ad43cac2419bcf63e11eaa183785b462de5c 100644
index a261fd5f0709bd9891189d538f762aa8786d19d2..20548a1e7a4d56162ec906646cff3159fc98c817 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1693,6 +1693,26 @@ public class ServerPlayer extends Player {
@@ -36,7 +36,7 @@ index 4b842e78d3e8fbca90f5f3d975bee654ec87d91d..c516ad43cac2419bcf63e11eaa183785
public void displayClientMessage(Component message, boolean actionBar) {
this.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index cd08f9b16c065be8f0eacaeba51d3e72d332daf9..ae3c16ec9404f126c50160d436b7732d82765fc5 100644
index 7a0c1ba40156df69bbbf36d96bed0950130d2351..6b4cb3a94dc998e7a087c888876a15c36763bfd0 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1377,6 +1377,62 @@ public abstract class PlayerList {
@@ -123,10 +123,10 @@ index a828cad27fcd39f8bfbaefa97052a2a3b6650ee7..19d6165f266fcc39bc3533042109ef1b
return this.isFireSource;
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e0c91bc518168441fffa32f4c611a74800a8d2e2..452d56e6e0c6682f0d55697b3e9e94d53e186f92 100644
index fd6e42d3df429aaf753102258b8e65a61ff4d296..12357be999e5e0f684e24f6ea611f7cbfc29e986 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3657,6 +3657,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3661,6 +3661,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return SlotAccess.NULL;
}

View File

@@ -73,10 +73,10 @@ index 20548a1e7a4d56162ec906646cff3159fc98c817..652f7207edb51e2523caaced2bc8bdd9
+
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4..298cf742ac8dd03783fee6019663b22209d4f539 100644
index f579bcfd222025ca9bc5b0f0f8b168d3e7385763..392468375ef80b8c22bf94e336ec96d47177adac 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2462,6 +2462,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2458,6 +2458,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
@@ -86,7 +86,7 @@ index ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4..298cf742ac8dd03783fee6019663b222
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)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((LivingEntity) entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 452d56e6e0c6682f0d55697b3e9e94d53e186f92..ab905ab075fd6966a95db45fc183d630bbf414ec 100644
index 12357be999e5e0f684e24f6ea611f7cbfc29e986..2885911f5b82ad7ecb1ebea70251804bfc836203 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -297,7 +297,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -126,7 +126,7 @@ index 452d56e6e0c6682f0d55697b3e9e94d53e186f92..ab905ab075fd6966a95db45fc183d630
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -4389,4 +4403,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -4393,4 +4407,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end
@@ -201,7 +201,7 @@ index 645c1dc9bd09b135a641759c76ce8d957b9bd488..912767ed261e44c0192c5a07e2c20261
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a6681690e1e556440320c492bf2a8e617008baa1..67912e15aa060261b1ec2c13abcab309d6af8813 100644
index 3236a1dc51c394b784d3f42b78e76bf7c2f69c37..d1b85bbb53912bacc42ffb8962e2c3fed1b33d26 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity {
@@ -4922,10 +4922,10 @@ index 4759a6b3d3cd7973744562adf97d110d359ebce3..cfb43f277c013680a0e51fb93796e38f
Projectile(EntityType<? extends Projectile> type, Level world) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index a3673e2943f251e056ecf84a9bff2de12efdb52a..e14754778ca53d30fdfe7c06e31b02f88a82b765 100644
index 989aaca1d56423729d4f5a491cd4c501342dac7c..728eba385fe5c658bc61114029192295ec7ebf05 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1304,4 +1304,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1311,4 +1311,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed.
}
// Paper end
@@ -4954,10 +4954,10 @@ index a3673e2943f251e056ecf84a9bff2de12efdb52a..e14754778ca53d30fdfe7c06e31b02f8
+ // 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 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837aebd28ed 100644
index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72c22cac6c 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -542,6 +542,15 @@ public class CraftEventFactory {
@@ -543,6 +543,15 @@ public class CraftEventFactory {
}
craftServer.getPluginManager().callEvent(event);
@@ -4973,7 +4973,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837
return event;
}
@@ -971,6 +980,7 @@ public class CraftEventFactory {
@@ -981,6 +990,7 @@ public class CraftEventFactory {
damageCause = DamageCause.ENTITY_EXPLOSION;
}
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
@@ -4981,7 +4981,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837
}
event.setCancelled(cancelled);
@@ -1075,6 +1085,7 @@ public class CraftEventFactory {
@@ -1085,6 +1095,7 @@ public class CraftEventFactory {
} else {
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
}
@@ -4989,7 +4989,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837
return event;
}
@@ -1134,6 +1145,7 @@ public class CraftEventFactory {
@@ -1144,6 +1155,7 @@ public class CraftEventFactory {
EntityDamageEvent event;
if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API

View File

@@ -68,10 +68,10 @@ index 652f7207edb51e2523caaced2bc8bdd98f884ecf..60f28bc4bc0453cf3a87ae992275c0cb
return this.stats;
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e2bda6673 100644
index 392468375ef80b8c22bf94e336ec96d47177adac..2b83c3b7e9bdd7069c0bc49365b5743f21179eb6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -295,6 +295,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -292,6 +292,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private boolean justTeleported = false;
private boolean hasMoved; // Spigot
@@ -92,7 +92,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
public CraftPlayer getCraftPlayer() {
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
}
@@ -391,6 +405,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -388,6 +402,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
@@ -105,7 +105,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
}
@@ -676,6 +696,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -673,6 +693,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -114,7 +114,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
// Skip the first time we do this
if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone();
@@ -1446,7 +1468,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1443,7 +1465,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
flag1 = true; // Paper - diff on change, this should be moved wrongly
@@ -123,7 +123,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
}
this.player.absMoveTo(d0, d1, d2, f, f1);
@@ -1496,6 +1518,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1493,6 +1515,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -213,10 +213,10 @@ index 1f4b72a0aca200b2e0860449c718e6e607d2fc47..e1dd8932594780b07db13f68efa117eb
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 b86c5e7d68da91a5c20614082192b144a4e84387..f73b4facacaa68255c2ec372a0a1a5878e5de484 100644
index b1540e8bb9332506dbd5762024202414a173c621..db25979960774c59c4bd1d864cc8203f54305d3c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -433,10 +433,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -435,10 +435,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setPlayerListName(String name) {
@@ -233,7 +233,7 @@ index b86c5e7d68da91a5c20614082192b144a4e84387..f73b4facacaa68255c2ec372a0a1a587
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -2697,5 +2702,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2699,5 +2704,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}

View File

@@ -17,10 +17,10 @@ index f944e6beafc7876ed9c6923a22f58d82967b77cb..e1c7b7a659e56fa5b3a1f52cb2ccc99b
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 11278953cffbb2fd0b74ccd561bcbd22af7f6e63..87f433d8ed3731a60ff3ec0198c96d401ae1af82 100644
index 8015ed84e3e37ef0c8377bad66c5658a0279853a..a5c64896d5d87a04773ec578034c5df4febd4914 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2843,4 +2843,11 @@ public final class CraftServer implements Server {
@@ -2857,4 +2857,11 @@ public final class CraftServer implements Server {
}
// Paper end

View File

@@ -25,10 +25,10 @@ index 0eed0dc8aa52a8ea16e47f7183ba7b4235ce362a..0c7355902448b444c360259a84a7e8a1
}
// Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 87f433d8ed3731a60ff3ec0198c96d401ae1af82..020ba662e992f4b859eccb4b4d5c171123b097a3 100644
index a5c64896d5d87a04773ec578034c5df4febd4914..805250ab22b07918ad553869ab4391e7fa953e7e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2849,5 +2849,10 @@ public final class CraftServer implements Server {
@@ -2863,5 +2863,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}

View File

@@ -82,10 +82,10 @@ index 60f28bc4bc0453cf3a87ae992275c0cb1c6c881f..4c401de49ab21b4f2f596185b61f1a60
public Scoreboard getScoreboard() {
return this.getBukkitEntity().getScoreboard().getHandle();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8b80ed58d4d7942efb203daa43a6477e2bda6673..8ed6105b8836728a1f972b7eda07851cf25a038f 100644
index 2b83c3b7e9bdd7069c0bc49365b5743f21179eb6..ce19e2bb8a9b45c3ca134d1911d1c38647557242 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1970,12 +1970,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1966,12 +1966,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
@@ -108,7 +108,7 @@ index 8b80ed58d4d7942efb203daa43a6477e2bda6673..8ed6105b8836728a1f972b7eda07851c
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 6b4cb3a94dc998e7a087c888876a15c36763bfd0..55e3ab7b82a287715b35045a1bb6d6ebbc9486a7 100644
index 0c7afc7787bf9303a8f8a7b4125a3bc45b70ccff..cb4af460cae665016e0a6ec7ff664830be41d5a5 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -997,6 +997,8 @@ public abstract class PlayerList {
@@ -121,10 +121,10 @@ index 6b4cb3a94dc998e7a087c888876a15c36763bfd0..55e3ab7b82a287715b35045a1bb6d6eb
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 f73b4facacaa68255c2ec372a0a1a5878e5de484..b3ce4424b83d8f44f61b8923d02f2f9e4c415e67 100644
index db25979960774c59c4bd1d864cc8203f54305d3c..2bdc1caa5748cf947f3941b4388e9f81e4c42ce2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2717,5 +2717,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2719,5 +2719,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Alternative Keepalive Handling
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8ed6105b8836728a1f972b7eda07851cf25a038f..da74c6e0e7f3fdba9b29195c17510e33ebe4cac2 100644
index ce19e2bb8a9b45c3ca134d1911d1c38647557242..96aa7a49663050e151385106ef23f64efdcc61de 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -228,6 +228,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private long keepAliveTime = Util.getMillis();
private boolean keepAlivePending;
private long keepAliveChallenge;
@@ -16,7 +16,7 @@ index 8ed6105b8836728a1f972b7eda07851cf25a038f..da74c6e0e7f3fdba9b29195c17510e33
// CraftBukkit start - multithreaded fields
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
@@ -373,6 +374,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -370,6 +371,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
long currentTime = Util.getMillis();
long elapsedTime = currentTime - this.keepAliveTime;
@@ -38,7 +38,7 @@ index 8ed6105b8836728a1f972b7eda07851cf25a038f..da74c6e0e7f3fdba9b29195c17510e33
if (this.keepAlivePending) {
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
@@ -3143,6 +3159,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3139,6 +3155,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c1d6e5db593142188e3e7f4174bcaf5bd9b44527..f4395b55dac3b6a5501fbe8c88006a008af0fde3 100644
index f9ccf9d2d426ff895a7586a1aaf213c415f87b37..d6870a178e991bf2e07517596d12d8b3d198fa47 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4444,5 +4444,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -4448,5 +4448,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
public boolean processClick(InteractionHand hand) {
return false;
}
@@ -19,7 +19,7 @@ index c1d6e5db593142188e3e7f4174bcaf5bd9b44527..f4395b55dac3b6a5501fbe8c88006a00
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 8480ebae938abd4f11ad82fd11e3a5ad405aa180..9e6b44da2098b11b204d45a0f44287d842b5f792 100644
index 72287c44fb4be9cd75d4e408dfaaee2c8d9235a5..30b3d19f9d4710874b98550d12b53feed47078cc 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -209,6 +209,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -35,7 +35,7 @@ index 8480ebae938abd4f11ad82fd11e3a5ad405aa180..9e6b44da2098b11b204d45a0f44287d8
skull.setPosRaw(headX, headY, headZ);
level.addFreshEntity(skull);
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
index fec7d5c6a7b7a20ac9aecec1d3187f5c61fc430c..d4fd425c934e1e033d9aefda66958c864c11ea7d 100644
index acb484e074391d2f1b6b83978ea9483cfb5c214c..2a812da233a944cce776c003194dcb9695db718f 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
@@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {

View File

@@ -69,10 +69,10 @@ index 5e2d1e31722791f879f09705ebd491dedc6ac1da..20fd8a043ea8e8221aab94479ffb73c4
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 020ba662e992f4b859eccb4b4d5c171123b097a3..38b1fce9fb3800ba2c37f3bc476f5c41fc4adb41 100644
index 805250ab22b07918ad553869ab4391e7fa953e7e..3952c4340f84902741371e170f4be6ccc375ee22 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2631,6 +2631,7 @@ public final class CraftServer implements Server {
@@ -2645,6 +2645,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -27,10 +27,10 @@ index a3f04f66c66f40068792da3ef0e75e7df102b0e0..e4ee273568502f4cf4d85c5d50d5d63c
return true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 7f71a6fe6087630987ae1815ce45dfa45e52f684..9abaecd72e40fe3629bb044e087e968c756ca337 100644
index 7d2cc5bbeda115bae0b2cdfa89893a75de272f6b..8e88d2064f98ca9a4acff588bf6fe33abd1aa633 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1603,4 +1603,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1602,4 +1602,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public boolean shouldDelayFallingBlockEntityRemoval(Entity.RemovalReason reason) {
return false;
}
@@ -68,7 +68,7 @@ index 2676cddca511ea775766cec0001269407599df6e..1dacd2e3a9340420c9b4443cc2f8a3c6
} else {
world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 9fa6d8f3e5a5f22fc84b64d28021fb84f3d18669..b1c72d8427a9e80cf3fac84cd88e31523cbfd8a2 100644
index e49c2c16f6130eb1343d49d5a3972f505155aba2..e63ae0cd672f162566c8edad0b2376cab907898a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -237,6 +237,11 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3daba64ccefe 100644
index 96aa7a49663050e151385106ef23f64efdcc61de..651178b4ea058d8a424961ff160d161bfc3a1187 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1240,13 +1240,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1237,13 +1237,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
itemstack1.setTag(nbttagcompound.copy());
}
@@ -28,7 +28,7 @@ index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3dab
this.updateBookPages(pages, (s) -> {
return Component.Serializer.toJson(new TextComponent(s));
@@ -1258,10 +1261,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1255,10 +1258,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private void updateBookPages(List<TextFilter.FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
ListTag nbttaglist = new ListTag();
@@ -44,7 +44,7 @@ index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3dab
Objects.requireNonNull(nbttaglist);
stream.forEach(nbttaglist::add);
@@ -1271,10 +1277,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1268,10 +1274,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
for (int j = list.size(); i < j; ++i) {
TextFilter.FilteredText itextfilter_a = (TextFilter.FilteredText) list.get(i);
@@ -57,7 +57,7 @@ index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3dab
if (!s.equals(s1)) {
nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1));
@@ -1290,6 +1296,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1287,6 +1293,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8cb641008f9def46cb74b4be224b3daba64ccefe..e772b87896ce878c34ad226991c6c339792195ae 100644
index 651178b4ea058d8a424961ff160d161bfc3a1187..ffc7b49f4b3a783e37670efa935501295b6660a5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2517,6 +2517,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2513,6 +2513,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
double d0 = 36.0D;
if (this.player.distanceToSqr(entity) < 36.0D) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f4395b55dac3b6a5501fbe8c88006a008af0fde3..bc89ad23c1ec02a1f5a1e03b3f6f9982cc0fa1f2 100644
index d6870a178e991bf2e07517596d12d8b3d198fa47..3e1dfe002eebb48d8ae402196deeb37d5baa3a1b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3936,6 +3936,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3940,6 +3940,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
this.yRotO = this.getYRot();
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index bc89ad23c1ec02a1f5a1e03b3f6f9982cc0fa1f2..7f9cf9fdb548e1e728c39a36d47b0b8c71aea82d 100644
index 3e1dfe002eebb48d8ae402196deeb37d5baa3a1b..2c1358794db54433cc8d98ce30ed04039b8f67f7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2764,7 +2764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -17,7 +17,7 @@ index bc89ad23c1ec02a1f5a1e03b3f6f9982cc0fa1f2..7f9cf9fdb548e1e728c39a36d47b0b8c
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable();
}
@@ -3425,7 +3425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3429,7 +3429,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
public boolean canChangeDimensions() {

View File

@@ -24,7 +24,7 @@ index 19d6165f266fcc39bc3533042109ef1b725ecb77..32bf8264fecb8873f3ffa0e57a4bb48b
private boolean bypassArmor;
private boolean bypassInvul;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7f9cf9fdb548e1e728c39a36d47b0b8c71aea82d..13f5699077a37670abf916a7a34554f898e28aa8 100644
index 2c1358794db54433cc8d98ce30ed04039b8f67f7..b02a880dad1d7f36c918dd54788321f121053a45 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1058,7 +1058,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -80,10 +80,10 @@ index 737d0405a195d322ffe9a57acadb9f6d645c03b8..d7bdf3c2a5b99ff7adb3e960ff356a1f
} else if (blockState.is(Blocks.HONEY_BLOCK)) {
return BlockPathTypes.STICKY_HONEY;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index cd6db807c50f9b6269b54a69b6601837aebd28ed..bf888a3dc060476d386d23244e2db6be70b436c4 100644
index f8150c304346c0ccfb440588663cdc72c22cac6c..8bc029dcd80452678eead24eaca867ca9afcb5da 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1044,6 +1044,10 @@ public class CraftEventFactory {
@@ -1054,6 +1054,10 @@ public class CraftEventFactory {
cause = DamageCause.MAGIC;
} else if (source == DamageSource.IN_FIRE) {
cause = DamageCause.FIRE;
@@ -95,7 +95,7 @@ index cd6db807c50f9b6269b54a69b6601837aebd28ed..bf888a3dc060476d386d23244e2db6be
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager, source.msgId));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 8455ff2aa26039940dd42e43205ad9a2164cd41f..7fd2d06df6a3b04b370204403a677109b202c355 100644
index 1cd8358c3d9f96073224846143516097aeb8fd23..4b3c590f0f1231e164e8664f21a14c1b39d73842 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -187,6 +187,11 @@ public class PurpurConfig {

View File

@@ -33,10 +33,10 @@ index 2bc77858b4a78e24227b4b096fd44177202d5292..b26d5482d89e28897bcc9dc8a15042a5
entityageable.setBaby(true);
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index e5e4fa1865cdd903a4c543b79b4d30a2f067742d..dfcb5d9fe165852bffe2a676f134ba060ea1aa71 100644
index 8e88d2064f98ca9a4acff588bf6fe33abd1aa633..395dde0dd9dda63df441ebf78767ceaa90eafc23 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -188,6 +188,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -185,6 +185,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
// Paper end - fix and optimise world upgrading
@@ -86,16 +86,16 @@ index e5e4fa1865cdd903a4c543b79b4d30a2f067742d..dfcb5d9fe165852bffe2a676f134ba06
public CraftWorld getWorld() {
return this.world;
}
@@ -323,6 +366,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -320,6 +363,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9e7544bd441041837df2327c363882b85b0ccc03..4a3acf6e9159ee6ef095a93c1f67c028c7ae8356 100644
index 4616d5d99e08a9be8ccbee3c67046dc3226b1d7b..54ae2e855d2572a788d852d17a998311691687a0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -109,6 +109,7 @@ public class PurpurWorldConfig {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Spread out and optimise player list ticksSpread out and
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index a5e4bf56f7e429738c0ba6f392315d2b33ae3925..1d7e80ddddcb7b99a1944795fcfb1ddf3cb71a48 100644
index b69c05a7cddacfb791a4f46920677eae805ec42a..1d3692d8d533bb4c3ac18f8837aa44f8704c10be 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1011,22 +1011,22 @@ public abstract class PlayerList {
@@ -46,10 +46,10 @@ index a5e4bf56f7e429738c0ba6f392315d2b33ae3925..1d7e80ddddcb7b99a1944795fcfb1ddf
public void broadcastAll(Packet<?> packet) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b3ce4424b83d8f44f61b8923d02f2f9e4c415e67..35581fffd46a1baccd218566f3fce0333b321dc3 100644
index 2bdc1caa5748cf947f3941b4388e9f81e4c42ce2..755316f873762f7bb988756a1103127253eec8cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1631,7 +1631,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1633,7 +1633,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public boolean canSee(org.bukkit.entity.Entity entity) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8cb641008f9def46cb74b4be224b3daba64ccefe..0586314f02595d73b8268e03d650b6b2d0756dc8 100644
index ffc7b49f4b3a783e37670efa935501295b6660a5..7aed16c2ab8cef0b7d0eef4b8b5e0845d45b79ab 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1162,10 +1162,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1159,10 +1159,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
int maxBookPageSize = com.destroystokyo.paper.PaperConfig.maxBookPageSize;
double multiplier = Math.max(0.3D, Math.min(1D, com.destroystokyo.paper.PaperConfig.maxBookTotalSizeMultiplier));
long byteAllowed = maxBookPageSize;
@@ -21,7 +21,7 @@ index 8cb641008f9def46cb74b4be224b3daba64ccefe..0586314f02595d73b8268e03d650b6b2
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
return;
}
@@ -1189,6 +1191,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1186,6 +1188,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
if (byteTotal > byteAllowed) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());

View File

@@ -78,10 +78,10 @@ index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..74de26d72e705041318beee0ebef59d6
blockEntity.teleportCooldown = 100;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index e14754778ca53d30fdfe7c06e31b02f88a82b765..b6ae2d263d107d5a81ea6a66fcd229b2584a9959 100644
index 728eba385fe5c658bc61114029192295ec7ebf05..e875bc08aaecc41db09ca0ffa00ff0f1ba40d350 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -562,6 +562,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -564,6 +564,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
location.checkFinite();
if (this.entity.isVehicle() || this.entity.isRemoved()) {
@@ -93,10 +93,10 @@ index e14754778ca53d30fdfe7c06e31b02f88a82b765..b6ae2d263d107d5a81ea6a66fcd229b2
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 35581fffd46a1baccd218566f3fce0333b321dc3..3e58123943be422860b6461a962670930d192f4d 100644
index 755316f873762f7bb988756a1103127253eec8cc..703eef24baa26475e8ec5f843fbc92420599c20a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1037,6 +1037,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1039,6 +1039,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
if (entity.isVehicle()) {

View File

@@ -5,10 +5,10 @@ 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 0586314f02595d73b8268e03d650b6b2d0756dc8..dc55854d7bc91923fca3ae86e24708c0d1c53a9c 100644
index 7aed16c2ab8cef0b7d0eef4b8b5e0845d45b79ab..5d95ff124cfccb3d95e149a5e7cc63bef03ca471 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1595,6 +1595,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1592,6 +1592,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.player.resetFallDistance();
}
@@ -22,7 +22,7 @@ index 0586314f02595d73b8268e03d650b6b2d0756dc8..dc55854d7bc91923fca3ae86e24708c0
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
this.lastGoodX = this.player.getX();
this.lastGoodY = this.player.getY();
@@ -1628,6 +1635,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1625,6 +1632,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
// Paper end - optimise out extra getCubes
@@ -53,10 +53,10 @@ index 32bf8264fecb8873f3ffa0e57a4bb48b5517fb77..0f56c60962b9c61c72d05edc7d9b10e9
private boolean damageHelmet;
private boolean bypassArmor;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index bf888a3dc060476d386d23244e2db6be70b436c4..4bf67cdbe9516e4d167ddcfca3d0c033a7ca5172 100644
index 8bc029dcd80452678eead24eaca867ca9afcb5da..361bd8edcc6e6d0fbac958e3ec91d74a622d630a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1124,6 +1124,10 @@ public class CraftEventFactory {
@@ -1134,6 +1134,10 @@ public class CraftEventFactory {
cause = DamageCause.FREEZE;
} else if (source == DamageSource.GENERIC) {
cause = DamageCause.CUSTOM;
@@ -68,7 +68,7 @@ index bf888a3dc060476d386d23244e2db6be70b436c4..4bf67cdbe9516e4d167ddcfca3d0c033
if (cause != null) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 7280f023ddb2d6b1737a987bfacb4e57d0524d67..a6836b07f50baf1920d2b2491bd0685ed271c911 100644
index b85cc48ce8334f47c1776e1e35d81003118c2318..24cca9a7a5656f50a998f2d5e357315a6a3adffa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -176,6 +176,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Sneak to bulk process composter
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 3125af569ec2bb1cd613a9dd96c3a181d723006d..c24cc105d31b4d41acf6e2ea3bc7a08a02490ca7 100644
index cc5dbc86c8265540948e6b1445d84ecf0b7762aa..ab73f66976d3ea3fa561a4e2d8afcce8586c5b25 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -580,7 +580,7 @@ public class ServerPlayerGameMode {
@@ -582,7 +582,7 @@ public class ServerPlayerGameMode {
boolean flag1 = player.isSecondaryUseActive() && flag;
ItemStack itemstack1 = stack.copy();
@@ -75,7 +75,7 @@ index fb8b8a9733ac50096d8406487ab1ae167ef5f7b1..16598ca0fd953b6af98dfcdb6716e2e1
int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 007ebed0fcffb1dc4c06d4f9585c6ba88c8c9c0c..b1c81d9d7d3769c56eddab029d4d24c7dd93d350 100644
index fb16a3541c86f73ea4922baa4e34788ee3c9112d..7a7fbc0f8d5f6e40c209666a83de9f7371f3e4d3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -462,6 +462,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index c24cc105d31b4d41acf6e2ea3bc7a08a02490ca7..0409daff0f01db6d0644934fc8ffd64b6158e378 100644
index ab73f66976d3ea3fa561a4e2d8afcce8586c5b25..0d1a833a6568128e542bde425b0ce77b4534d144 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -418,6 +418,7 @@ public class ServerPlayerGameMode {
@@ -420,6 +420,7 @@ public class ServerPlayerGameMode {
}
return false;
}
@@ -47,7 +47,7 @@ index 54df5c2987822a727a31be2b3769d39fabb6159a..70b6a65a7d321fc71c98289f09f21cca
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index aa01c1d87121a761a66ca0af164d5f24bd3fd2ed..77ad69e86deb7b55d5d5bd96c92dc93b02c28be0 100644
index 4f913ecf1d259badb7eaf584da57ff8327e0e66b..036b6f987a8fc966539795ab22bdf505e48bdd1f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -582,6 +582,11 @@ public class PurpurWorldConfig {

View File

@@ -9,10 +9,10 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for
creative players) instead of routing it through the LootableBuilder.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 0409daff0f01db6d0644934fc8ffd64b6158e378..7649742f5e37d875e79c169c709ae82529b0db77 100644
index 0d1a833a6568128e542bde425b0ce77b4534d144..5524d85aaf3fc8c0bc561fa4a88e82d416fab83d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -447,7 +447,7 @@ public class ServerPlayerGameMode {
@@ -449,7 +449,7 @@ public class ServerPlayerGameMode {
block.destroy(this.level, pos, iblockdata);
}
@@ -35,7 +35,7 @@ index 7f1230d915c98b6f30b13a06c2788bc2f7b7e912..9439119a70a411b1a7d9cd6a0090e413
blockEntity.saveToItem(itemStack);
if (shulkerBoxBlockEntity.hasCustomName()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index de1b73bea9d61b14df93bfdb7cf86c242e475d8b..2a7b4120502d72f4f5ce0cdccc084c0a5bc6bf83 100644
index 6ccfbcf813fb2262f4cdf33513cf9d208a7d2a00..476b6018dc378599902d895f05e3e5babcec1a9d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -653,6 +653,11 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 994fa9a62936314420f124d8fa48af585439f91b..b80927752acd563c944ef6928db55e5c99e1a96c 100644
index e414f44168a03874910c5ebdb865fe39d91e27b7..7e85785b902a2ef72c09d53f0e24cb2ab96b0b58 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4457,5 +4457,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -4461,5 +4461,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
public boolean canSaveToDisk() {
return true;
}
@@ -349,10 +349,10 @@ index 4b288fe8923bb4beefb88e8196bfb4d5d2b10b8b..e4e357af439c9a02b8013ce3349ff582
// Paper end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index b6ae2d263d107d5a81ea6a66fcd229b2584a9959..22f19467e0d5e0ab96e1f696d7aa22c4e6c361f0 100644
index e875bc08aaecc41db09ca0ffa00ff0f1ba40d350..f46ce327586781f74d8feb47e6a904d732888289 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -197,6 +197,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -199,6 +199,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entity = entity;
}

View File

@@ -26,10 +26,10 @@ index 3b25bbb0cc86c8fba1fb770556c0f8c9ef6ac46e..15a8c193d7f5a0dda7e3d2d1aa967a91
} else {
if (fallDistance >= 2.0F) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3e58123943be422860b6461a962670930d192f4d..57f53ad50e3f26c9301f16f0d6b25f1cd1bebaa5 100644
index 703eef24baa26475e8ec5f843fbc92420599c20a..91d3c8110a3a185780b77c7377640b244af961a2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2742,5 +2742,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2744,5 +2744,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Armor click equip options
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 7649742f5e37d875e79c169c709ae82529b0db77..61d0fcaf3c96a2b241b35b2b21104b9fbf403160 100644
index 5524d85aaf3fc8c0bc561fa4a88e82d416fab83d..7b09735818f027aced43158978bc54795618b64b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -497,7 +497,7 @@ public class ServerPlayerGameMode {
@@ -499,7 +499,7 @@ public class ServerPlayerGameMode {
return interactionresultwrapper.getResult();
} else {
player.setItemInHand(hand, itemstack1);
@@ -58,7 +58,7 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2
return InteractionResultHolder.fail(itemStack);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 59cee8f525b3158d1c69c10b8e1460ccb254c7f5..c3a24784e980d38ef5899985e72cd206ab5e8939 100644
index 10dcb1623caa995922bba0a96f73907e05772e9c..d8fb8dc520ba0b88239c0d4c3f731c0567c422cd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -383,6 +383,8 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] option to disable shulker box items from dropping contents
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index 893d5bf448ddbccb30db0ee751c7f4a4e83634b9..b7a7d9ef5f7c8fecb5625a98471314b6f5fc9a42 100644
index 8f3b9b8784f0d7b137a1ad87655ee8bad801b59d..8a5f6d955577a8f8a63a846169a63fe9685b6321 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
@@ -293,7 +293,7 @@ public class BlockItem extends Item {
@@ -294,7 +294,7 @@ public class BlockItem extends Item {
@Override
public void onDestroyed(ItemEntity entity) {
@@ -19,7 +19,7 @@ index 893d5bf448ddbccb30db0ee751c7f4a4e83634b9..b7a7d9ef5f7c8fecb5625a98471314b6
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3b9114e3c0789eeb6edcd49400c7ece14dc9d7a9..0077e4e3f5dbf1a5a692f5cbeeb8e72b8a737070 100644
index 719612684b4d5f72589576bb69c2d6c908bdc485..0b14878546df0217fa83eabfc26f6ede84f8ebb2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -213,6 +213,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb36548246 100644
index 1f2bc88d4570c6ef00e67a772b745e0b0c98e051..f505e871a9836503377f168c31c1f09f8ed591f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -525,4 +525,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
@@ -528,4 +528,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
manager.save();
}
}
@@ -223,10 +223,10 @@ index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb
+ // Purpur end - OfflinePlayer API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 57f53ad50e3f26c9301f16f0d6b25f1cd1bebaa5..1bfc4c8156ebcab30a7009f5daaf5ebcd59aed45 100644
index 91d3c8110a3a185780b77c7377640b244af961a2..d7008f2a1f647ae042eb7e25068b942e39e4b728 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2005,6 +2005,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2007,6 +2007,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().getAbilities().walkingSpeed * 2f;
}

View File

@@ -24,7 +24,7 @@ index 4adfc26062b322443828e94e6b0943884a18846b..0d9ecca25bff63f3428ccf93e2789fca
} else if (this.isFuel(itemstack1)) {
if (!this.moveItemStackTo(itemstack1, 1, 2, false)) {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index 0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44..f5fd6e0fd67c1b760000c2e75ce09d1c680b4cf6 100644
index 974f9461ee0932e8870520c0cd93d3e62f6a2157..f11ec870135e9cccaeb209c76fd4ee0d62f465a2 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -205,6 +205,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
@@ -51,10 +51,10 @@ index 0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44..f5fd6e0fd67c1b760000c2e75ce09d1c
private int maxStack = MAX_STACK;
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f69fc2e41a5a319e7e790d6ba0f7c85604787ab5..9b474cebe9999068384e810b5f14d6b3a049a564 100644
index 3952c4340f84902741371e170f4be6ccc375ee22..4f4d35a988e11a19ecdc4ed1215743be0737c1e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1444,6 +1444,19 @@ public final class CraftServer implements Server {
@@ -1425,6 +1425,19 @@ public final class CraftServer implements Server {
return true;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Shift right click to use exp for mending
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32ff587e6b 100644
index 7b09735818f027aced43158978bc54795618b64b..29329381ee67a409ed6b324c8c1f0d7ae05970da 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -524,6 +524,7 @@ public class ServerPlayerGameMode {
@@ -526,6 +526,7 @@ public class ServerPlayerGameMode {
public InteractionHand interactHand;
public ItemStack interactItemStack;
public InteractionResult useItemOn(ServerPlayer player, Level world, ItemStack stack, InteractionHand hand, BlockHitResult hitResult) {
@@ -16,7 +16,7 @@ index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32
BlockPos blockposition = hitResult.getBlockPos();
BlockState iblockdata = world.getBlockState(blockposition);
InteractionResult enuminteractionresult = InteractionResult.PASS;
@@ -617,4 +618,18 @@ public class ServerPlayerGameMode {
@@ -619,4 +620,18 @@ public class ServerPlayerGameMode {
public void setLevel(ServerLevel world) {
this.level = world;
}
@@ -36,10 +36,10 @@ index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index dc55854d7bc91923fca3ae86e24708c0d1c53a9c..f05912f1dea06105a2c3b2248e19d640f082dbc3 100644
index 5d95ff124cfccb3d95e149a5e7cc63bef03ca471..84de797d405b55cd82d2c9068b924e7fd450e996 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1966,6 +1966,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1962,6 +1962,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
boolean cancelled;
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {

View File

@@ -7,10 +7,10 @@ Makes it so that when a BlockEntity is placed in the world and then broken,
the dropped ItemStack retains any original custom display name/lore.
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index b7a7d9ef5f7c8fecb5625a98471314b6f5fc9a42..326c3b9e2ee25dded8f0f3878be78b23d5ec11d0 100644
index 8a5f6d955577a8f8a63a846169a63fe9685b6321..eb595d1b6ef59ca18ce1c3c3ccd2aa05242ebe65 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
@@ -150,7 +150,24 @@ public class BlockItem extends Item {
@@ -151,7 +151,24 @@ public class BlockItem extends Item {
}
protected boolean updateCustomBlockEntityTag(BlockPos pos, Level world, @Nullable Player player, ItemStack stack, BlockState state) {
@@ -200,7 +200,7 @@ index 5601d0c2fe635a2a4f073c333531e1a8adf1833c..9e7d2fbdfa89736807d2025a5814ddd8
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 410f15b1aa575cba890ec1ed66476cc4fa03797e..a37c61807883ed31032a47794b3259fa78e887a6 100644
index f1d8ddc36abfd278cc7d956f5fe980e0d1bcafeb..7b76d4f6ad4425b38f018f5dd1632b4801804013 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -124,6 +124,7 @@ public class PurpurWorldConfig {

View File

@@ -17,10 +17,10 @@ index f300589fad36c5c9768474a13db74144b760c2a5..61b0b0a847042557d7b9cd20f0ad51f0
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 0439bfb0cba7e3a4c80668f32ae8fbe1e1bf8e4e..bfa9fa16ec033570162acd015a6b2da721a0e9ee 100644
index 84de797d405b55cd82d2c9068b924e7fd450e996..058c45ee30e687165d837980f7aed229475a4ea3 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3167,11 +3167,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3163,11 +3163,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
// Paper end