Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paperr@41263d9 [ci skip] Update paperweight to 1.3.4
PaperMC/Paperr@3109dd8 Updated Upstream (Bukkit/CraftBukkit) (#7428)
PaperMC/Paperr@17eb884 Use a CHM for StructureTemplate.Pallete cache
PaperMC/Paperr@f79c0da Updated Upstream (Bukkit/CraftBukkit)
PaperMC/Paperr@2121aed Rebuild patches

Pufferfish Changes:
pufferfish-gg/Pufferfishr@9aa81a5 Update Upstream (Paper)
pufferfish-gg/Pufferfishr@809bd9f Update Upstream (Paper)
pufferfish-gg/Pufferfishr@f053fd3 Update Upstream (Paper)
pufferfish-gg/Pufferfishr@5bf8730 Update Upstream (Paper)
pufferfish-gg/Pufferfishr@c4a780f Update Upstream (Paper)
pufferfish-gg/Pufferfishr@99a590b Fix lightning
pufferfish-gg/Pufferfishr@3e75ff0 Updated Upstream (Paper)
pufferfish-gg/Pufferfishr@110966e Updated Upstream (Paper)
pufferfish-gg/Pufferfishr@b6b58c4 Update Upstream (Paper misc-perf branch)
This commit is contained in:
BillyGalbreath
2022-02-01 07:49:14 -06:00
parent cef3815b3d
commit a21f907ced
30 changed files with 142 additions and 141 deletions

View File

@@ -4,7 +4,7 @@ plugins {
java
`maven-publish`
id("com.github.johnrengelman.shadow") version "7.1.2" apply false
id("io.papermc.paperweight.patcher") version "1.3.3"
id("io.papermc.paperweight.patcher") version "1.3.4"
}
repositories {
@@ -17,7 +17,7 @@ repositories {
}
dependencies {
remapper("net.fabricmc:tiny-remapper:0.7.0:fat")
remapper("net.fabricmc:tiny-remapper:0.8.1:fat")
decompiler("net.minecraftforge:forgeflower:1.5.498.22")
paperclip("io.papermc:paperclip:3.0.2")
}
@@ -67,6 +67,7 @@ paperweight {
decompileRepo.set("https://files.minecraftforge.net/maven/")
usePaperUpstream(providers.gradleProperty("paperCommit")) {
url.set(github("pufferfish-gg", "Paper"))
withPaperPatcher {
apiPatchDir.set(layout.projectDirectory.dir("patches/api"))
apiOutputDir.set(layout.projectDirectory.dir("Purpur-API"))

View File

@@ -4,7 +4,7 @@ version = 1.18.1-R0.1-SNAPSHOT
mcVersion = 1.18.1
packageVersion = 1_18_R1
paperCommit = 2e99e5e6771f032bc14eb607ce0186ca4ae050d9
paperCommit = a3fb6f62a97ec2180b1e85b7026fca4c9f6ac570
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -63,10 +63,10 @@ index 028f6a1795ceb99d1760c73b0980238677b4b8bc..0f194168f5fca8eb768bca3ce953f280
"Specification-Title" to "Bukkit",
"Specification-Version" to project.version,
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index 5e3b7fb2e0b7608610555cd23e7ad25a05883181..26bde1c22363ddbdbe4127d14bae54e17b0d7393 100644
index 1cb0aae3e0c619a715766e0fa604dfd9a8caefcc..d3bb2a3ead944a89330bbced6812df73d174d061 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -227,7 +227,8 @@ public class TimingsExport extends Thread {
@@ -231,7 +231,8 @@ public class TimingsExport extends Thread {
parent.put("config", createObject(
pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
@@ -99,7 +99,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..f2fe6ea3719ff8b2913b7a3a939d7a5b
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 61ea1c9881ea30c05580044af9496a65fe95d94e..8d205a841c2d77dd57e1f2d189686f6f7426896c 100644
index 4a14eb59541347aa8e9504ac156e9b63d1bdfd69..499d5d5a35323571571911969cc9bac3b90cec99 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -232,6 +232,15 @@ public class PaperConfig {
@@ -2123,7 +2123,7 @@ index 9c111d479bbcc101886c12950c97f10941125ae7..90018506da9e900d448a1fc43b3213ac
public static <V> CompletableFuture<List<V>> sequenceFailFast(List<? extends CompletableFuture<? extends V>> futures) {
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
index b61abf227a04b4565c2525e5f469db30c3a545a5..f99d189f461921d37581e2fc1382af60921b0660 100644
index 7bddc7517356cc74104dcc5c7c55522a53f2596f..d6a57cdad2c92521a800cb18d060d9d6d627a8c0 100644
--- a/src/main/java/net/minecraft/server/MCUtil.java
+++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -209,7 +209,7 @@ public final class MCUtil {
@@ -2136,7 +2136,7 @@ index b61abf227a04b4565c2525e5f469db30c3a545a5..f99d189f461921d37581e2fc1382af60
public static long getCoordinateKey(final ChunkPos pair) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index c4e8e6af67b57406012612b617a7dcaa6e391d09..5025b0b47e980b3f28dea9535c7dbc273753bb96 100644
index 887243394fc2578fbcfd3dd150921e221f2d8475..3ec35d19f63832ee465a54518219184a14bb08e2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -310,6 +310,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2148,7 +2148,7 @@ index c4e8e6af67b57406012612b617a7dcaa6e391d09..5025b0b47e980b3f28dea9535c7dbc27
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -1709,7 +1711,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1713,7 +1715,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -2157,7 +2157,7 @@ index c4e8e6af67b57406012612b617a7dcaa6e391d09..5025b0b47e980b3f28dea9535c7dbc27
}
public SystemReport fillSystemReport(SystemReport details) {
@@ -2243,6 +2245,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2247,6 +2249,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -2187,10 +2187,10 @@ index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..aae2dadabedb075fd1bc712f0226882b
}
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb98cfb4e72 100644
index afef3ea6d1ae5f145261eaae3da720fdf9e923a8..ca07ba8eb33f1b4f10aba9f4b4c7c1078f80f61b 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -447,7 +447,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -452,7 +452,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.dataRegionManager = new io.papermc.paper.chunk.SingleThreadChunkRegionManager(this.level, 2, (1.0 / 3.0), 1, 6, "Data", DataRegionData::new, DataRegionSectionData::new);
this.regionManagers.add(this.dataRegionManager);
// Paper end
@@ -2199,7 +2199,7 @@ index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb9
// Paper start - use distance map to optimise entity tracker
this.playerEntityTrackerTrackMaps = new com.destroystokyo.paper.util.misc.PlayerAreaMap[TRACKING_RANGE_TYPES.length];
this.entityTrackerTrackRanges = new int[TRACKING_RANGE_TYPES.length];
@@ -2358,8 +2358,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -2318,8 +2318,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
}
@@ -2228,7 +2228,7 @@ index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb9
Iterator iterator = this.entity.getIndirectPassengers().iterator();
while (iterator.hasNext()) {
@@ -2371,6 +2391,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -2331,6 +2351,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
i = j;
}
}
@@ -2239,10 +2239,10 @@ index 0a04980a8015fe08907a040f0f3ff537267bd462..e8d9a4fc14e38d40b8a1d02752447fb9
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 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b1b4f0e07 100644
index b0ced77da807d715a39c04708859a12729883939..addf249717b5271b664f4a9d28dd6cc177db5688 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -77,6 +77,9 @@ public class ServerChunkCache extends ChunkSource {
@@ -78,6 +78,9 @@ public class ServerChunkCache extends ChunkSource {
final Long2ObjectOpenHashMap<LevelChunk> loadedChunkMap = new Long2ObjectOpenHashMap<>(8192, 0.5f);
private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4];
@@ -2252,7 +2252,7 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
private static int getChunkCacheKey(int x, int z) {
return x & 3 | ((z & 3) << 2);
@@ -975,6 +978,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -970,6 +973,7 @@ public class ServerChunkCache extends ChunkSource {
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
gameprofilerfiller.push("pollingChunks");
@@ -2260,7 +2260,7 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
boolean flag1 = level.ticksPerAnimalSpawns != 0L && worlddata.getGameTime() % level.ticksPerAnimalSpawns == 0L; // CraftBukkit
@@ -984,18 +988,25 @@ public class ServerChunkCache extends ChunkSource {
@@ -979,18 +983,25 @@ public class ServerChunkCache extends ChunkSource {
// Paper start - per player mob spawning
NaturalSpawner.SpawnState spawnercreature_d; // moved down
if ((this.spawnFriendlies || this.spawnEnemies) && this.chunkMap.playerMobDistanceMap != null) { // don't count mobs when animals and monsters are disabled
@@ -2292,9 +2292,9 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
gameprofilerfiller.popPush("filteringLoadedChunks");
// Paper - moved down
this.level.timings.chunkTicks.startTiming(); // Paper
@@ -1037,8 +1048,8 @@ public class ServerChunkCache extends ChunkSource {
@@ -1028,8 +1039,8 @@ public class ServerChunkCache extends ChunkSource {
if ((true || this.level.isPositionEntityTicking(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration
if ((true || this.level.isPositionEntityTicking(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning // Paper - replace player chunk loader system
chunk1.incrementInhabitedTime(j);
- if (flag2 && (this.spawnEnemies || this.spawnFriendlies) && this.level.getWorldBorder().isWithinBounds(chunkcoordintpair) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, true)) { // Spigot // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration
- NaturalSpawner.spawnForChunk(this.level, chunk1, spawnercreature_d, this.spawnFriendlies, this.spawnEnemies, flag1);
@@ -2302,8 +2302,8 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b
+ NaturalSpawner.spawnForChunk(this.level, chunk1, lastSpawnState, this.spawnFriendlies, this.spawnEnemies, flag1); // Pufferfish
}
if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) {
@@ -1085,6 +1096,30 @@ public class ServerChunkCache extends ChunkSource {
if ((true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong()))) { // Paper - replace player chunk loader system
@@ -1091,6 +1102,30 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - controlled flush for entity tracker packets
}
@@ -2355,7 +2355,7 @@ index 9a6c67b614944f841813ec2892381c3342bc365c..e80176708db486190dd527e3ade5fc69
this.wasOnGround = this.entity.isOnGround();
this.teleportDelay = 0;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21ddb80fd2 100644
index 403a6fadbeff41e67618393ac7034d32c02af7b8..59d57108f38f38e03cd8b69a53c3e9d40179599a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -667,7 +667,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2380,7 +2380,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
gameprofilerfiller.pop();
}
}
@@ -729,9 +742,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -732,9 +745,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper start - optimise random block ticking
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
@@ -2393,7 +2393,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
ChunkPos chunkcoordintpair = chunk.getPos();
boolean flag = this.isRaining();
@@ -742,7 +757,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -745,7 +760,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
gameprofilerfiller.push("thunder");
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
@@ -2402,7 +2402,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper
if (this.isRainingAt(blockposition)) {
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
@@ -766,7 +781,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -769,7 +784,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
gameprofilerfiller.popPush("iceandsnow");
@@ -2412,10 +2412,10 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21
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 5c9310fe424943a7256f6f77c414147384bad0aa..2cb12547c778fe439536e2e2aa479d4a25ab4a6e 100644
index 23eddc502816e84ab25366c7d5710ce2e660c7a0..cb35f2f1f2f4d568bc59ce5c08ab3b908533264c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1110,6 +1110,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleEditBook(ServerboundEditBookPacket packet) {
@@ -3376,7 +3376,7 @@ 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 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de913a6601 100644
index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db6f388aff 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 {
@@ -3501,7 +3501,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de
public boolean isInWorldBounds(BlockPos pos) {
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
}
@@ -969,13 +1070,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -974,13 +1075,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
try {
tickConsumer.accept(entity);
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
@@ -3517,7 +3517,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de
// Paper end
}
}
@@ -1437,6 +1538,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1442,6 +1543,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
public ProfilerFiller getProfiler() {
@@ -3808,7 +3808,7 @@ index ed3518fe7c841d9e1a9c97626acaa3d765a6d76f..da00f75ccc9f8c2e2174d4450479202a
@Override
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 7567a8bf848c82b27383f084056cb43c41df6d0c..9e9cdabefce3767a2e482f7cc5eb69c635ea17a7 100644
index b47c4c9e9b82030cd82d72fe90d7c8bf558d6b28..087be9acfa77d3fd0216e5983aa62149e668cfc7 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -94,6 +94,18 @@ public class LevelChunk extends ChunkAccess {
@@ -3839,7 +3839,7 @@ index 7567a8bf848c82b27383f084056cb43c41df6d0c..9e9cdabefce3767a2e482f7cc5eb69c6
public org.bukkit.Chunk bukkitChunk;
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd89a9fee6 100644
index e962db693510dc261d6456706a459929369f2510..16874e3c7c8e2577f3661cb3a459c63ea061b2d8 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -25,6 +25,9 @@ public class LevelChunkSection {
@@ -3852,7 +3852,7 @@ index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd
public final com.destroystokyo.paper.util.maplist.IBlockDataList tickingList = new com.destroystokyo.paper.util.maplist.IBlockDataList(); // Paper
public LevelChunkSection(int chunkPos, PalettedContainer<BlockState> blockStateContainer, PalettedContainer<Biome> biomeContainer) {
@@ -91,6 +94,7 @@ public class LevelChunkSection {
@@ -195,6 +198,7 @@ public class LevelChunkSection {
if (!fluid.isEmpty()) {
--this.tickingFluidCount;
@@ -3860,15 +3860,15 @@ index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd
}
if (!state.isAir()) {
@@ -105,6 +109,7 @@ public class LevelChunkSection {
@@ -209,6 +213,7 @@ public class LevelChunkSection {
if (!fluid1.isEmpty()) {
++this.tickingFluidCount;
+ ++this.fluidStateCount; // Pufferfish
}
return iblockdata1;
@@ -155,6 +160,7 @@ public class LevelChunkSection {
this.updateKnownBlockInfo(x | (z << 4) | (y << 8), iblockdata1, state); // Paper
@@ -260,6 +265,7 @@ public class LevelChunkSection {
if (fluid.isRandomlyTicking()) {
this.tickingFluidCount = (short) (this.tickingFluidCount + 1); // Paper
}

View File

@@ -167,7 +167,7 @@ index cc0576e8e5e1dc77c22856f0f9c4376b6bf36677..6654c5a547cb49bce98d6b0feed9a245
stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 5025b0b47e980b3f28dea9535c7dbc273753bb96..61d3ed736314d68322585cb6266a47fd17a4a4b4 100644
index 3ec35d19f63832ee465a54518219184a14bb08e2..596a130a94865806b0b2340d303b25fae71986b7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1021,7 +1021,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -179,7 +179,7 @@ index 5025b0b47e980b3f28dea9535c7dbc273753bb96..61d3ed736314d68322585cb6266a47fd
while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop();
try {
@@ -1711,7 +1711,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1715,7 +1715,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 7b23535a680d2a8534dcb8dd87770f66fb982c13..4b842e78d3e8fbca90f5f3d975bee654ec87d91d 100644
index 470dbed47830e2f580c090bc762a7be5cf389ce5..a261fd5f0709bd9891189d538f762aa8786d19d2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -254,6 +254,7 @@ public class ServerPlayer extends Player {
@@ -17,10 +17,10 @@ index 7b23535a680d2a8534dcb8dd87770f66fb982c13..4b842e78d3e8fbca90f5f3d975bee654
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 2cb12547c778fe439536e2e2aa479d4a25ab4a6e..38de81f8696ed658d002427d002f22b28e3a6122 100644
index cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3145,6 +3145,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3151,6 +3151,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 2cb12547c778fe439536e2e2aa479d4a25ab4a6e..38de81f8696ed658d002427d002f22b2
@Override
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
@@ -3169,6 +3170,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3175,6 +3176,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 2cb12547c778fe439536e2e2aa479d4a25ab4a6e..38de81f8696ed658d002427d002f22b2
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 8cac6f49b23841414fbcc7f3a158a7342b382496..06df88f71bb17b37d72ba6b08c0438b7b8d8808f 100644
index e204ddd09c8fa8d1e6f7cfcc064e6561ed19bdb3..062a489133f53a446abecb1cf213dee695d8322b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2661,4 +2661,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2685,4 +2685,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end

View File

@@ -22,10 +22,10 @@ index 14610e6144ec144ebbec6fb0945c67bb0ea86795..6833eb5dc7aa64bef1b3b38de5e282bd
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 61d3ed736314d68322585cb6266a47fd17a4a4b4..044b1d5d17fe4554ceefbdd893ef23dba4b999d9 100644
index 596a130a94865806b0b2340d303b25fae71986b7..f7e76dc842ac226b94ba552ad412cf0dba149394 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1589,6 +1589,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1593,6 +1593,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -34,7 +34,7 @@ index 61d3ed736314d68322585cb6266a47fd17a4a4b4..044b1d5d17fe4554ceefbdd893ef23db
this.profiler.push(() -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 8cdacd7ed9a26e6757eeff89545fde21ddb80fd2..cd01b2f06b0dd34c3261d84beead96bba76cf825 100644
index 59d57108f38f38e03cd8b69a53c3e9d40179599a..2d2c1ac2c40605e9a6228c81e5e50a31a3e2c4af 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -211,6 +211,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -46,7 +46,7 @@ index 8cdacd7ed9a26e6757eeff89545fde21ddb80fd2..cd01b2f06b0dd34c3261d84beead96bb
return new Throwable(entity + " Added to world at " + new java.util.Date());
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c516ad43cac2419bcf63e11eaa183785b462de5c..618595add09eef5381307ba2fe154adfc97b2a0e 100644
index 20548a1e7a4d56162ec906646cff3159fc98c817..652f7207edb51e2523caaced2bc8bdd98f884ecf 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -662,6 +662,15 @@ public class ServerPlayer extends Player {
@@ -73,10 +73,10 @@ index c516ad43cac2419bcf63e11eaa183785b462de5c..618595add09eef5381307ba2fe154adf
+
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 38de81f8696ed658d002427d002f22b28e3a6122..39bf75a7ba276f25e39573f084786dd5c046f51c 100644
index ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4..298cf742ac8dd03783fee6019663b22209d4f539 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2456,6 +2456,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2462,6 +2462,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
@@ -2573,7 +2573,7 @@ index 305a891e4b51d1031d9e9238ff00e2ea7de8d954..84625d09df800fcfd477fc493fb5f824
protected void defineSynchedData() {
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index e17a3afa41fd628d2c4a3637ae19418e258a99b8..9846b882ae67131f3602845419c52c1350a214ce 100644
index b74cdaecb361851b0662002c8ec8f196ab1275bd..3a9c958c838bbc68003818bbc1fa990344636119 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -102,6 +102,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -2722,7 +2722,7 @@ index e17a3afa41fd628d2c4a3637ae19418e258a99b8..9846b882ae67131f3602845419c52c13
this.dragonFight.updateDragon(this);
}
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 ede0ced64d74d71547d1b8bb6853c5aacc1b486a..4b541ebd4e9d0ef178aacd3006393ff114a30e79 100644
index c0ee9915c971482e765d91b4f85d65c3a1f526eb..5f1583c8a0ab7ebfd715de314f7cfae0754e1ece 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
@@ -85,6 +85,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -4592,7 +4592,7 @@ index 35f0203d260c11b729c30e6241316fda4b70bfd7..cd70d228a690485c7f379d0744262907
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 415c8a8142867974dfc4722bac933257a28efc1b..b74a2dd32481dd2135b4aa4b860cf9e1b743af66 100644
index 5c6b2bc734c4f49395856975ff77bfbae2b0e85a..8371ddd1a6cc5245d996c3c4b4c2248f20df7b98 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -75,6 +75,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -4998,7 +4998,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 96802b86828522006d4a25ab61e6630173688679..ebdd323b4aa341b5adc84a6260b9f76222395fb4 100644
index b3bfc56859d00f9e27bd1d230dd19b92985b5718..e8150d1bec60f7e32d5475c8402fd7b53df359e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -167,4 +167,9 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Timings stuff
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index 26bde1c22363ddbdbe4127d14bae54e17b0d7393..0f4b41fd7037f380f759a93f9ef70b4860816ad1 100644
index d3bb2a3ead944a89330bbced6812df73d174d061..aa906caf51d81b26a5565a92ea24fb79c920a73a 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -225,10 +225,14 @@ public class TimingsExport extends Thread {
@@ -229,10 +229,14 @@ public class TimingsExport extends Thread {
// Information on the users Config
parent.put("config", createObject(
@@ -26,7 +26,7 @@ index 26bde1c22363ddbdbe4127d14bae54e17b0d7393..0f4b41fd7037f380f759a93f9ef70b48
));
new TimingsExport(listeners, parent, history).start();
@@ -269,6 +273,19 @@ public class TimingsExport extends Thread {
@@ -273,6 +277,19 @@ public class TimingsExport extends Thread {
return timingsCost;
}
@@ -47,7 +47,7 @@ index 26bde1c22363ddbdbe4127d14bae54e17b0d7393..0f4b41fd7037f380f759a93f9ef70b48
JSONObject object = new JSONObject();
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 2a19037d3ad734d1cf746d02b72926dd702fd23a..cbae8e7a2ee67e5a8f07f8d9b9bf4be30e760928 100644
index 499d5d5a35323571571911969cc9bac3b90cec99..107809776c08a005fa3f0346e42c9d92e753c411 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -243,6 +243,12 @@ public class PaperConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 618595add09eef5381307ba2fe154adfc97b2a0e..100d01814aca6cbb26c721f55851df27dc654880 100644
index 652f7207edb51e2523caaced2bc8bdd98f884ecf..60f28bc4bc0453cf3a87ae992275c0cb1c6c881f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1969,8 +1969,58 @@ public class ServerPlayer extends Player {
@@ -68,7 +68,7 @@ index 618595add09eef5381307ba2fe154adfc97b2a0e..100d01814aca6cbb26c721f55851df27
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 39bf75a7ba276f25e39573f084786dd5c046f51c..d29dc1dc6b4f052c9ea54e69f07a649f30a6ed42 100644
index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e2bda6673 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
@@ -114,7 +114,7 @@ index 39bf75a7ba276f25e39573f084786dd5c046f51c..d29dc1dc6b4f052c9ea54e69f07a649f
// Skip the first time we do this
if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone();
@@ -1440,7 +1462,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1446,7 +1468,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 39bf75a7ba276f25e39573f084786dd5c046f51c..d29dc1dc6b4f052c9ea54e69f07a649f
}
this.player.absMoveTo(d0, d1, d2, f, f1);
@@ -1490,6 +1512,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1496,6 +1518,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -200,7 +200,7 @@ index a706ab000eba2d996862a73a3bd38f1971b31b82..fd83ec264d2d2dabadd50a73065ba615
public boolean processClick(InteractionHand hand) {
Entity vehicle = getRootVehicle();
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acffc4f9d26 100644
index 1f4b72a0aca200b2e0860449c718e6e607d2fc47..e1dd8932594780b07db13f68efa117eb34b6563f 100644
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
@@ -157,7 +157,7 @@ public interface EntityGetter {
@@ -213,7 +213,7 @@ index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acf
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 06df88f71bb17b37d72ba6b08c0438b7b8d8808f..81b85d93ce94ffa3dfddf70feff7c9c2ab5c6b37 100644
index 062a489133f53a446abecb1cf213dee695d8322b..3560bb641bb96c94431f743c8956a75e901988be 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -431,10 +431,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -233,7 +233,7 @@ index 06df88f71bb17b37d72ba6b08c0438b7b8d8808f..81b85d93ce94ffa3dfddf70feff7c9c2
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()));
@@ -2667,5 +2672,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2691,5 +2696,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}
@@ -255,7 +255,7 @@ index 06df88f71bb17b37d72ba6b08c0438b7b8d8808f..81b85d93ce94ffa3dfddf70feff7c9c2
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index f9f0585c86f5d421d0265c8e9b24610e6e8e4533..6f743cdf0e68fe393ca4bbb19d97d9ac2796b6ea 100644
index 1717eb5f8fdaf8432113a297602f2eaa10559583..ef8f2dd75b04534c454205cadf2bb5b0fbc5764b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -169,8 +169,16 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 54ce8f0b9219790f6317c3eb95b81cadd64ac9b7..9d28c613cacc050ac62c89f6f742ee99cdb99649 100644
index f7e76dc842ac226b94ba552ad412cf0dba149394..0eed0dc8aa52a8ea16e47f7183ba7b4235ce362a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1712,7 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1716,7 +1716,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -18,7 +18,7 @@ index 54ce8f0b9219790f6317c3eb95b81cadd64ac9b7..9d28c613cacc050ac62c89f6f742ee99
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 6f743cdf0e68fe393ca4bbb19d97d9ac2796b6ea..1824edeb26413e562e8d36ae17c3b91fb17a036b 100644
index ef8f2dd75b04534c454205cadf2bb5b0fbc5764b..c08f8b8a140fd2d746b054ef7ff2a689a0cca6c2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -181,6 +181,11 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 100d01814aca6cbb26c721f55851df27dc654880..7d8853191eadf5f5d909dcc0269740d6b5e64b8d 100644
index 60f28bc4bc0453cf3a87ae992275c0cb1c6c881f..4c401de49ab21b4f2f596185b61f1a60b4e92422 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -255,6 +255,7 @@ public class ServerPlayer extends Player {
@@ -82,10 +82,10 @@ index 100d01814aca6cbb26c721f55851df27dc654880..7d8853191eadf5f5d909dcc0269740d6
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 d29dc1dc6b4f052c9ea54e69f07a649f30a6ed42..948b65411e1a0f25887ebb7ba58c2bd597f0a28f 100644
index 8b80ed58d4d7942efb203daa43a6477e2bda6673..8ed6105b8836728a1f972b7eda07851cf25a038f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1964,12 +1964,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1970,12 +1970,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 d29dc1dc6b4f052c9ea54e69f07a649f30a6ed42..948b65411e1a0f25887ebb7ba58c2bd5
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 ae3c16ec9404f126c50160d436b7732d82765fc5..aafc0d7275a8dc1df2c73974b9b77166d568cc85 100644
index 6b4cb3a94dc998e7a087c888876a15c36763bfd0..55e3ab7b82a287715b35045a1bb6d6ebbc9486a7 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 ae3c16ec9404f126c50160d436b7732d82765fc5..aafc0d7275a8dc1df2c73974b9b77166
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 81b85d93ce94ffa3dfddf70feff7c9c2ab5c6b37..4eee85bf2222f56e7ed4b57566692431706e22e2 100644
index 3560bb641bb96c94431f743c8956a75e901988be..95e7d60e2f56bdadf2d5cebe125774f9d5a458e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2687,5 +2687,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2711,5 +2711,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -5,7 +5,7 @@ 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 948b65411e1a0f25887ebb7ba58c2bd597f0a28f..08d06ffe52ad77a86e5f1966d508566815d18768 100644
index 8ed6105b8836728a1f972b7eda07851cf25a038f..da74c6e0e7f3fdba9b29195c17510e33ebe4cac2 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
@@ -38,7 +38,7 @@ index 948b65411e1a0f25887ebb7ba58c2bd597f0a28f..08d06ffe52ad77a86e5f1966d5085668
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
@@ -3137,6 +3153,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3143,6 +3159,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
@@ -56,7 +56,7 @@ index 948b65411e1a0f25887ebb7ba58c2bd597f0a28f..08d06ffe52ad77a86e5f1966d5085668
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c35585458042b75b82950fe2f0c06b5930d98563..7abbdaa54ce3b9471792e4f71842e363b903c2fa 100644
index 3b417ecebe7bb621aee76d5155d97695c826f4a6..8124b27f043beb763d70881593a883e06ea59f6e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -191,6 +191,11 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index cd01b2f06b0dd34c3261d84beead96bba76cf825..2f8efdd72ee3ef12ce8223b73281f4170ad1bbf1 100644
index 2d2c1ac2c40605e9a6228c81e5e50a31a3e2c4af..ec3dcaff9406182b62d975d733ec572531cd1386 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -765,9 +765,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -768,9 +768,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
if (flag1) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index e8d9a4fc14e38d40b8a1d02752447fb98cfb4e72..35bb7a3502c90462eb2d67e23bddb18030f40ad1 100644
index ca07ba8eb33f1b4f10aba9f4b4c7c1078f80f61b..5ce3feae48e97eaa64798a401e399adc3c8f57f8 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -2230,7 +2230,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -2190,7 +2190,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public class TrackedEntity {
@@ -31,7 +31,7 @@ index e80176708db486190dd527e3ade5fc690ceb39f7..e3d7a80f8c4b68933875ef90006b7977
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
this.trackedPlayers = trackedPlayers;
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index 3ad87457cc1279540b5b633216aa0161e6e9b1b2..cc5396761d67a7d9e9fcc5959caf1f9330d8a6af 100644
index 7889c9832c6a1ac2afebe4e1030495b3ea52fc2b..ee5d8fc20dc761d71eaebb6d0a7ecbbe611bcdd4 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -54,6 +54,12 @@ public class ItemEntity extends Entity {
@@ -147,7 +147,7 @@ index 8d56f0ab748373e55c0166b92382c126fe8e5381..0637e074dbe4a10bc19e7bf9dd79e2d9
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4d2f8fc1ee5ca497b19621b633124c28e1e5e4d2..703a41c7c90124d8b8aa925a3f494ca61a268a92 100644
index 17c17fb1607eb7804a2c284da861a672d9894367..7dd9e436b50019bb16a61314cf6798b6a5b2580b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -124,6 +124,49 @@ public class PurpurWorldConfig {

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 37884e05689288d56ef0efe92296b80ef6093b3c..e5e4fa1865cdd903a4c543b79b4d30a2f067742d 100644
index 7f71a6fe6087630987ae1815ce45dfa45e52f684..9abaecd72e40fe3629bb044e087e968c756ca337 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1598,4 +1598,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1603,4 +1603,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 4a2c8deefe9259b974be33a0d648a17a98845122..a372fa3b3220a9b449d836cad3612f328aec0cab 100644
index 9fa6d8f3e5a5f22fc84b64d28021fb84f3d18669..b1c72d8427a9e80cf3fac84cd88e31523cbfd8a2 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 a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075133ceb8b 100644
index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3daba64ccefe 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1234,13 +1234,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1240,13 +1240,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
itemstack1.setTag(nbttagcompound.copy());
}
@@ -28,7 +28,7 @@ index a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075
this.updateBookPages(pages, (s) -> {
return Component.Serializer.toJson(new TextComponent(s));
@@ -1252,10 +1255,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1258,10 +1261,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 a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075
Objects.requireNonNull(nbttaglist);
stream.forEach(nbttaglist::add);
@@ -1265,10 +1271,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1271,10 +1277,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 a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075
if (!s.equals(s1)) {
nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1));
@@ -1284,6 +1290,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1290,6 +1296,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

@@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time % 192000; // Paper - fix guardian beam
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 095d855c20622a74daf83e90a230a50c1a3669cf..884a6b777102877ab9af50f6f1df39213b672fe7 100644
index 20fd8a043ea8e8221aab94479ffb73c4fba290e5..47fbe4f3877756d88d5b914bb43c06d3a136a288 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1585,7 +1585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1589,7 +1589,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = world.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : world.players()) {
@@ -31,7 +31,7 @@ index 095d855c20622a74daf83e90a230a50c1a3669cf..884a6b777102877ab9af50f6f1df3921
}
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 3fc111ee19000a9e665f00e168d1278cd5de0d25..f870288f2acc87183f272e32817bd5cf426d74d7 100644
index 3aa635ae50fc94cab800c4d5cf940b05a648a0a5..df1a075dbfedc22823a3aeb0fc903eed92a371bd 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -206,6 +206,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -51,7 +51,7 @@ index 3fc111ee19000a9e665f00e168d1278cd5de0d25..f870288f2acc87183f272e32817bd5cf
}
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
@@ -732,6 +735,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -735,6 +738,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setGameTime(i);
this.serverLevelData.getScheduledEvents().tick(this.server, i);
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
@@ -65,7 +65,7 @@ index 3fc111ee19000a9e665f00e168d1278cd5de0d25..f870288f2acc87183f272e32817bd5cf
this.setDayTime(this.levelData.getDayTime() + 1L);
}
@@ -740,7 +750,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -743,7 +753,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay);
@@ -88,7 +88,7 @@ index 3fc111ee19000a9e665f00e168d1278cd5de0d25..f870288f2acc87183f272e32817bd5cf
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 77d66761a1f166775168ffd57c021582bbe92635..dd8914c2501b0bbbe92004fc3120c73257fab478 100644
index 95667821b8f01ae31c62f0811aed67453b60df4b..f6961d623c5718638c75e2a8775ffcbed65e9bdc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -121,6 +121,13 @@ 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 9311a5fbaa17c9cd95940b4ddfea6fdb06f9d397..e2d8631422eb90d050cf1335ab6883ca6fb9c3dc 100644
index a5e4bf56f7e429738c0ba6f392315d2b33ae3925..1d7e80ddddcb7b99a1944795fcfb1ddf3cb71a48 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 9311a5fbaa17c9cd95940b4ddfea6fdb06f9d397..e2d8631422eb90d050cf1335ab6883ca
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 4eee85bf2222f56e7ed4b57566692431706e22e2..9648c73f44da548104cefcc385a884113b772405 100644
index 95e7d60e2f56bdadf2d5cebe125774f9d5a458e8..f885129cc7739cb249ba4998a41dbf8e95f43c81 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1601,7 +1601,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1625,7 +1625,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 8b16168b7c670edd251057712b1f6075133ceb8b..d069a2816eab77223ba355449a149b3b1e465b60 100644
index 8cb641008f9def46cb74b4be224b3daba64ccefe..0586314f02595d73b8268e03d650b6b2d0756dc8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1156,10 +1156,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1162,10 +1162,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 8b16168b7c670edd251057712b1f6075133ceb8b..d069a2816eab77223ba355449a149b3b
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
return;
}
@@ -1183,6 +1185,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1189,6 +1191,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,7 +78,7 @@ 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 c2581fb017f6579e59bd25e46b781aa95985abb2..e888e630176f30d773155019fb17aed8095538a1 100644
index e14754778ca53d30fdfe7c06e31b02f88a82b765..b6ae2d263d107d5a81ea6a66fcd229b2584a9959 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 {
@@ -93,10 +93,10 @@ index c2581fb017f6579e59bd25e46b781aa95985abb2..e888e630176f30d773155019fb17aed8
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 633adead3769b9a1169f25634f5bed7de9fd7c38..80ebaccb78c9b57cf529c5cf2bea80363494f8b1 100644
index f885129cc7739cb249ba4998a41dbf8e95f43c81..355cb7a3e250158730b3cef8ae3a085262e58115 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1011,6 +1011,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1035,6 +1035,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 b631ff5750179d7dd598f00247f51521a54f03a3..0f8244a6c68db6c277bfeac6e06e5d239664bfb6 100644
index 0586314f02595d73b8268e03d650b6b2d0756dc8..dc55854d7bc91923fca3ae86e24708c0d1c53a9c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1589,6 +1589,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1595,6 +1595,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.player.resetFallDistance();
}
@@ -22,7 +22,7 @@ index b631ff5750179d7dd598f00247f51521a54f03a3..0f8244a6c68db6c277bfeac6e06e5d23
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();
@@ -1622,6 +1629,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1628,6 +1635,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
// Paper end - optimise out extra getCubes
@@ -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 bc0634f634526ef878dfb12cf3103c226b98bb22..9caca4599d9db887929b191aa85f5501891f9393 100644
index 7280f023ddb2d6b1737a987bfacb4e57d0524d67..a6836b07f50baf1920d2b2491bd0685ed271c911 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

@@ -26,10 +26,10 @@ index 2004f291610c0089aab92e863b439ca25bf77a47..f88d187dc16c8a0b997b6ee26bf17ea6
} 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 ee491a6829c6cd5af64052a55c2478c3442d1895..ccc9061f927de4a2aad8de46aec27b346a352392 100644
index 355cb7a3e250158730b3cef8ae3a085262e58115..6ab040777b2b642893ac765eb77acaabf79d83f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2712,5 +2712,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2736,5 +2736,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 763c414511c5660e7071fb6863e6f96428de2798..595ba2805aea2030be38703a4150e48a7e4199f5 100644
index 582ec7c61769f34d05420651822982c1b2e56fc9..c12992fd526eba166499c5c73b4c76c18b3b77a1 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -915,7 +915,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -918,7 +918,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
return villageplacetype == PoiType.LIGHTNING_ROD;
}, (blockposition1) -> {
return blockposition1.getY() == this.getLevel().getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
@@ -18,7 +18,7 @@ index 763c414511c5660e7071fb6863e6f96428de2798..595ba2805aea2030be38703a4150e48a
return optional.map((blockposition1) -> {
return blockposition1.above(1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 315e96a09ef9f0e68b5255d041bc919f14895f31..ae9f4571a1fb3cb0d6d525f091b56f83eeac2f2a 100644
index 31d584da3cfd753aafa3c5608bfbcce7087d190c..2071939fbf57e711fa1c871a1382425a43f700ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -263,6 +263,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 595ba2805aea2030be38703a4150e48a7e4199f5..47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35 100644
index c12992fd526eba166499c5c73b4c76c18b3b77a1..c35100c0bc1b2e57679ab8ce2ff8bc24888d06b5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -964,11 +964,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -967,11 +967,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (this.canSleepThroughNights()) {
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
@@ -40,7 +40,7 @@ index 595ba2805aea2030be38703a4150e48a7e4199f5..47bc9a51fa8ad5c3b100e4baff2cb243
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 80e00f96b4561c4d6bc69a01a25d568aff44f45f..3d857d6dcc93e622311252e1bfa66106fbbdb372 100644
index f4c29c3c9a1c177bae3efcdd3af16a4cc0aac372..5d34299ae21bcefa75d98de0bf2882ae1e92cece 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -179,6 +179,8 @@ public class PurpurConfig {

View File

@@ -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 ccc9061f927de4a2aad8de46aec27b346a352392..5abecfec78f2249555b327db214384d3400275b5 100644
index 6ab040777b2b642893ac765eb77acaabf79d83f1..8d7fcd128b497a6366a0710a1176e63b41a25cdc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1975,6 +1975,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1999,6 +1999,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().getAbilities().walkingSpeed * 2f;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35..97b7a044fc8cdc9df4eda929070b3e8087430919 100644
index c35100c0bc1b2e57679ab8ce2ff8bc24888d06b5..79371c88f3f5a392cce7c8306a9d2772919a8863 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1125,6 +1125,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1128,6 +1128,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
private void resetWeatherCycle() {
// CraftBukkit start
@@ -16,7 +16,7 @@ index 47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35..97b7a044fc8cdc9df4eda929070b3e80
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
// Not that everyone ever manages to get the whole server to sleep at the same time....
@@ -1132,6 +1133,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1135,6 +1136,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setRainTime(0);
}
// CraftBukkit end
@@ -25,7 +25,7 @@ index 47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35..97b7a044fc8cdc9df4eda929070b3e80
// CraftBukkit start
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8d63f5a8100792946d898a1caa715e34631d16d0..b1545bf97518fd60b54a5a52aec9a2a1d88f3691 100644
index 24f78e964f39104be5f5eb6c961a7d98bfbeb362..6ecdae838b988bd7b40dea9cbb4d17965d31d17f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -133,6 +133,8 @@ public class PurpurWorldConfig {

View File

@@ -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 fb9fbd708ab8aa9690f8c61182a1590c56b3ee6d..b7499782b5968c33ad530b1557f03ed3a7d0451a 100644
index dc55854d7bc91923fca3ae86e24708c0d1c53a9c..f05912f1dea06105a2c3b2248e19d640f082dbc3 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1960,6 +1960,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1966,6 +1966,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
boolean cancelled;
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
@@ -48,7 +48,7 @@ index fb9fbd708ab8aa9690f8c61182a1590c56b3ee6d..b7499782b5968c33ad530b1557f03ed3
cancelled = event.useItemInHand() == Event.Result.DENY;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3b1d8e8663c5a377567ccd2946839fb3fd66a1f5..e777d8fe1e503547763de30706655896767349ae 100644
index 01d047ef27f14129e3a56a9a7046649dbe6ca142..27662839ca797f13296bcad00575991be3fa646c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -404,6 +404,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index e2e83d8b39ddb154c0e69b63d5b996644926ac43..a9885f92e0a3494b27376a7a01edbd0e22a31708 100644
index f300589fad36c5c9768474a13db74144b760c2a5..61b0b0a847042557d7b9cd20f0ad51f0ff1751b8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1496,6 +1496,7 @@ public class ServerPlayer extends Player {
@@ -17,10 +17,10 @@ index e2e83d8b39ddb154c0e69b63d5b996644926ac43..a9885f92e0a3494b27376a7a01edbd0e
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 e441ee919bad34476b73a649aaad23d523f9aecd..858d590a68c9ed5a7162252bc36a76a95d7cb89c 100644
index f05912f1dea06105a2c3b2248e19d640f082dbc3..28c75287e8b104bc3673420e902e2efe5eb7c9b2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3160,11 +3160,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3166,11 +3166,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
// Paper end
@@ -70,7 +70,7 @@ index 6371176fba41218a209ea59b4cafe5b2d4a685fd..7666bca74f4f68bb4e902ec2eb7c4895
public CompoundTag getUpdateTag() {
return this.saveWithoutMetadata();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a37c61807883ed31032a47794b3259fa78e887a6..9f3e5b797bbb00035093915a8a6277b3be4fb9b8 100644
index 7b76d4f6ad4425b38f018f5dd1632b4801804013..f701ef5e6e58ce89d94fd0e5f2ae26721b0bd66b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -924,8 +924,10 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 97b7a044fc8cdc9df4eda929070b3e8087430919..70bbd689e60901b76e9c1d2aab470e09beaf389b 100644
index 79371c88f3f5a392cce7c8306a9d2772919a8863..72909d206e6535a0f7f896bdf28b78266bb46878 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2564,7 +2564,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2567,7 +2567,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start
@@ -18,7 +18,7 @@ index 97b7a044fc8cdc9df4eda929070b3e8087430919..70bbd689e60901b76e9c1d2aab470e09
}
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fc0352be0e7ed7f5ed6a90c2952bccd2ebee018b..9e9c0b4ea3247d676f351cc1ef1f246c3b3eb297 100644
index 0f03c0e7c9b22f0144730153eb70f82fe8df4a35..e9b1fccdde19d543dd02a08889dd37c6a8ebcb60 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -414,6 +414,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dont eat blocks in non ticking chunks
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 35bb7a3502c90462eb2d67e23bddb18030f40ad1..892d4914efe022619d061fc3e4b8a29a0adf6b68 100644
index 5ce3feae48e97eaa64798a401e399adc3c8f57f8..ef34a8a6cf82202f79a918b6f117ecbd6249f044 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1748,7 +1748,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1741,7 +1741,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange);
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Max joins per second
When this option is set to true the `max-joins-per-tick` setting in paper.yml will be used per second instead of per tick
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
index 81dde0efc1a06420c0791520b9e40b24dd1f0318..bf053d317981a49b33f5d1f80feabbc40650a15f 100644
index 7b8f9cf06833860d0fc02399822e6aea214883ed..03701c154e7bfad5314f3ed0e51866a292a08175 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -503,11 +503,20 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -532,11 +532,20 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
private static final int MAX_PER_TICK = com.destroystokyo.paper.PaperConfig.maxJoinsPerTick; // Paper
private static int joinAttemptsThisTick; // Paper
private static int currTick; // Paper
@@ -31,7 +31,7 @@ index 81dde0efc1a06420c0791520b9e40b24dd1f0318..bf053d317981a49b33f5d1f80feabbc4
}
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index a9dcc82be19c89c3d66c1662a0273fd763507287..b211c90a7e0a614760e2a6f7c27cbfd6fe1cf9bd 100644
index df7a687114789836e5248a88a43cfbc4d3c8a5ac..ea2b2a2c7aa311826cd78d80dd139b9aa0b83849 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -420,8 +420,10 @@ public class PurpurConfig {