Updated Upstream (Paper) (#1169)

This commit is contained in:
frog-commits
2022-10-24 00:46:53 -04:00
committed by GitHub
parent e35f48112e
commit 74b72a5f42
23 changed files with 137 additions and 172 deletions

View File

@@ -1,7 +1,7 @@
group = org.purpurmc.purpur
version = 1.19.2-R0.1-SNAPSHOT
paperCommit = f7da209586b12d169719e38b3dfa2664b6474a67
paperCommit = 1c1aeb20e27d4be5134f0abeec45916cfc6952b0
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -1417,7 +1417,7 @@ index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f549
+ }
+}
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
index 4a8286c78a9a5e305b19cc5d316bc73a78e49b4d..54bca103347e89f116fb7fbf37449a32ac094286 100644
index 63ec2ebb71aa0e0dbb64bbce7cd3c9494e9ce2e7..d03551e81e3ef37935cb1d963aba3df316f48ef5 100644
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
@@ -7,6 +7,7 @@ import net.kyori.adventure.text.Component;
@@ -1460,7 +1460,7 @@ index 4a8286c78a9a5e305b19cc5d316bc73a78e49b4d..54bca103347e89f116fb7fbf37449a32
}
}
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
index 99f56658c70f99592fb40c9df0ce3e47053d1bd5..07b0b0993c01763b39d1c9a387447ec76b5de190 100644
index 13082cd8de1a79a3b2fac6055bdaa163dbc7897b..0d995a13114e718016518f41d7fcff3042674847 100644
--- a/src/main/java/net/minecraft/server/MCUtil.java
+++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -208,7 +208,7 @@ public final class MCUtil {
@@ -1524,7 +1524,7 @@ index 2932d2bb797a49e904cebec4285d24d69b429cd9..d4efadbc87ee0b6cb8564c57fc9dcbb4
}
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 73daa8368066e20d251b8b6eb69c916919b48838..ae68af5f3498325e5686eb311faad559647bb348 100644
index 971405224418fee037030a4c465b5f4bb9cd2c3b..9ce60dd72dee4d3ceef38f425b13aed18fd5e002 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -334,7 +334,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1536,7 +1536,7 @@ index 73daa8368066e20d251b8b6eb69c916919b48838..ae68af5f3498325e5686eb311faad559
// 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];
@@ -1590,8 +1590,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1589,8 +1589,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
}
@@ -1565,7 +1565,7 @@ index 73daa8368066e20d251b8b6eb69c916919b48838..ae68af5f3498325e5686eb311faad559
Iterator iterator = this.entity.getIndirectPassengers().iterator();
while (iterator.hasNext()) {
@@ -1603,6 +1623,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1602,6 +1622,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
i = j;
}
}
@@ -1692,10 +1692,10 @@ index 3b144c820531122eb37d41be06c182b5f5dc0724..1eb912ad97f9663bf6bd336ad739f255
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 f1a27e0ea0569438032ff6c5a777a35be4e501ef..917cf327f3f9d824ec0da70fd9204624e7cf96fb 100644
index f1a1c58fd70610c7fe29d5890cdf161346f34cb9..e802ee2b2dc458f52dbce9746fc9891eebb6dcc1 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -725,7 +725,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -727,7 +727,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
gameprofilerfiller.push("tick");
@@ -1717,7 +1717,7 @@ index f1a27e0ea0569438032ff6c5a777a35be4e501ef..917cf327f3f9d824ec0da70fd9204624
gameprofilerfiller.pop();
}
}
@@ -792,9 +805,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -794,9 +807,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper start - optimise random block ticking
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
@@ -1730,7 +1730,7 @@ index f1a27e0ea0569438032ff6c5a777a35be4e501ef..917cf327f3f9d824ec0da70fd9204624
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
ChunkPos chunkcoordintpair = chunk.getPos();
boolean flag = this.isRaining();
@@ -805,7 +820,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -807,7 +822,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
@@ -1739,7 +1739,7 @@ index f1a27e0ea0569438032ff6c5a777a35be4e501ef..917cf327f3f9d824ec0da70fd9204624
blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper
if (this.isRainingAt(blockposition)) {
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
@@ -829,7 +844,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -831,7 +846,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
gameprofilerfiller.popPush("iceandsnow");
@@ -1749,7 +1749,7 @@ index f1a27e0ea0569438032ff6c5a777a35be4e501ef..917cf327f3f9d824ec0da70fd9204624
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 63c9040ed2349eec500ba6e9090440347c514a3b..59608a53bbf0eccf118b4d65557444f6532fedb4 100644
index 9ad36447e82a3504576f6c10cb297514a2f69289..4e615e5d5b8d79f6eaac2136be03961415fd093e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1216,6 +1216,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2345,7 +2345,7 @@ index def01d221f36d71640bf4ef982a984909aacc6da..bfea05018d9515fa7a9a8c04d4e2a63e
@Override
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index 2d87b740e84435ef9bd3eee3d3e2af9f707a0826..d38d1e3692e093d6707b6bd80cd56ec4afcf093b 100644
index 1dcd0c494681b7665b6b86dbe20375afd8d2fad8..f889b352d5618c1955e21273da79604a33e30c06 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -228,9 +228,11 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
@@ -3234,7 +3234,7 @@ index d559f93a9a09bac414dd5d58afccad42c127f09b..13e749a3c40f0b2cc002f13675a9a56e
@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 05499ae9fc331471db6e763a2adb46b5da8522d3..34334c139176e0aa9f6d93a87821508d17567cfc 100644
index 258d00692fa50e0932747a7a2f0ddae5ab659040..f5adadb2e29ed8b52a502489ba06df4551cd06dc 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -88,6 +88,18 @@ public class LevelChunk extends ChunkAccess {

View File

@@ -27,10 +27,10 @@ index ed9c8e882739c02d0d04129d251e4c726b422c07..5426e57ed67b0d144818a7e3b917c90d
"This can improve performance by a few percent, but has minor gameplay implications.");
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 917cf327f3f9d824ec0da70fd9204624e7cf96fb..253f2e64f7d287057170ed50180e92d644a11f76 100644
index e802ee2b2dc458f52dbce9746fc9891eebb6dcc1..0e7dd081befe76e8c589f58e44f1aed76be312e6 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -805,7 +805,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -807,7 +807,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper start - optimise random block ticking
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
@@ -53,7 +53,7 @@ index 0277633fd328ef9993fea4ac29df83b5b00c0f42..35d6a8fe168caa5b68b471bd78cc95b9
// Pufferfish start - ensure these get inlined
private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection;
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 34334c139176e0aa9f6d93a87821508d17567cfc..df2786516fe641edff7bbe9fe0665bf07502d830 100644
index f5adadb2e29ed8b52a502489ba06df4551cd06dc..b89dad36bf09fdab340efc83d09992b707cd321a 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -130,7 +130,7 @@ public class LevelChunk extends ChunkAccess {

View File

@@ -34,7 +34,7 @@ index 957587f5c3f9c26794c80146b4deb282af3469e8..7f0551e70c545f8e77d18b11e836233f
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 253f2e64f7d287057170ed50180e92d644a11f76..6d1c1c7647006ca2ee72262c9f76fc18aa0b4506 100644
index 0e7dd081befe76e8c589f58e44f1aed76be312e6..a774e9a2ee85a8356fd9d39a8fbe98ff893f8f1f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -43,8 +43,8 @@ index 253f2e64f7d287057170ed50180e92d644a11f76..6d1c1c7647006ca2ee72262c9f76fc18
private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current)
+ public boolean hasRidableMoveEvent = false; // Purpur
public static Throwable getAddToWorldStackTrace(Entity entity) {
return new Throwable(entity + " Added to world at " + new java.util.Date());
}
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index bcf056513eae366e47f6db3738a109eed97b320d..ba86728b28b4c1b6fdca7e8734e5967c3873416d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1123,7 +1123,7 @@ index 3f100d847fbce6db5b625e99c4f3694576237372..7343f6fa6c29d4029cc35e173e5d701e
this.setAirSupply(this.getMaxAirSupply());
} else {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 6a66b5d1a3d8615dcc15057f03476e9ccbf4b4f2..6a1c2a43aa00a2e651ca19d2acfa54ae3f020c5f 100644
index 06b11bdbccd76f166561bcaff444066cc46b4663..6b3413593fd68d5e4f97bd7fe9454496ace94287 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -140,6 +140,44 @@ public class Fox extends Animal {
@@ -1187,7 +1187,7 @@ index 6a66b5d1a3d8615dcc15057f03476e9ccbf4b4f2..6a1c2a43aa00a2e651ca19d2acfa54ae
this.targetSelector.addGoal(3, new Fox.DefendTrustedTargetGoal(LivingEntity.class, false, false, (entityliving) -> {
return Fox.TRUSTED_TARGET_SELECTOR.test(entityliving) && !this.trusts(entityliving.getUUID());
}));
@@ -746,16 +786,16 @@ public class Fox extends Animal {
@@ -752,16 +792,16 @@ public class Fox extends Animal {
return new Vec3(0.0D, (double) (0.55F * this.getEyeHeight()), (double) (this.getBbWidth() * 0.4F));
}
@@ -1207,7 +1207,7 @@ index 6a66b5d1a3d8615dcc15057f03476e9ccbf4b4f2..6a1c2a43aa00a2e651ca19d2acfa54ae
}
}
@@ -766,16 +806,16 @@ public class Fox extends Animal {
@@ -772,16 +812,16 @@ public class Fox extends Animal {
}
}
@@ -1373,7 +1373,7 @@ index 6a459435493295ee5bb44fe2ba79cba6acea2e35..041c2d330a245826fc2fa4c1327aeadd
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, false, false, Turtle.BABY_ON_LAND_SELECTOR));
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2004c9814 100644
index 1494a3d5256f663b17617356d57d2e09aeec6189..46b3f0d26ef95eee43c68fb2829cc99a622d5852 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -107,6 +107,32 @@ public class Panda extends Animal {
@@ -1409,7 +1409,7 @@ index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2
@Override
public boolean canTakeItem(ItemStack stack) {
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
@@ -262,6 +288,7 @@ public class Panda extends Animal {
@@ -263,6 +289,7 @@ public class Panda extends Animal {
@Override
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
@@ -1417,7 +1417,7 @@ index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2
this.goalSelector.addGoal(2, new Panda.PandaPanicGoal(this, 2.0D));
this.goalSelector.addGoal(2, new Panda.PandaBreedGoal(this, 1.0D));
this.goalSelector.addGoal(3, new Panda.PandaAttackGoal(this, 1.2000000476837158D, true));
@@ -277,6 +304,7 @@ public class Panda extends Animal {
@@ -278,6 +305,7 @@ public class Panda extends Animal {
this.goalSelector.addGoal(12, new Panda.PandaRollGoal(this));
this.goalSelector.addGoal(13, new FollowParentGoal(this, 1.25D));
this.goalSelector.addGoal(14, new WaterAvoidingRandomStrollGoal(this, 1.0D));
@@ -1425,7 +1425,7 @@ index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2
this.targetSelector.addGoal(1, (new Panda.PandaHurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0]));
}
@@ -623,7 +651,7 @@ public class Panda extends Animal {
@@ -624,7 +652,7 @@ public class Panda extends Animal {
ItemStack itemstack = player.getItemInHand(hand);
if (this.isScared()) {
@@ -1434,7 +1434,7 @@ index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2
} else if (this.isOnBack()) {
this.setOnBack(false);
return InteractionResult.sidedSuccess(this.level.isClientSide);
@@ -640,7 +668,7 @@ public class Panda extends Animal {
@@ -641,7 +669,7 @@ public class Panda extends Animal {
this.setInLove(player);
} else {
if (this.level.isClientSide || this.isSitting() || this.isInWater()) {
@@ -1443,7 +1443,7 @@ index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2
}
this.tryToSit();
@@ -657,7 +685,7 @@ public class Panda extends Animal {
@@ -658,7 +686,7 @@ public class Panda extends Animal {
return InteractionResult.SUCCESS;
} else {
@@ -1452,7 +1452,7 @@ index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2
}
}
@@ -697,7 +725,7 @@ public class Panda extends Animal {
@@ -698,7 +726,7 @@ public class Panda extends Animal {
return !this.isOnBack() && !this.isScared() && !this.isEating() && !this.isRolling() && !this.isSitting();
}
@@ -1461,7 +1461,7 @@ index 39c26f486d6392eb0a9b623cdb2161846357174b..129358e127227efb6adbcf4c436f59f2
private final Panda panda;
@@ -707,9 +735,9 @@ public class Panda extends Animal {
@@ -708,9 +736,9 @@ public class Panda extends Animal {
}
@Override
@@ -2194,7 +2194,7 @@ index 45c3cec839a7c23903dedf6e3e004305da2adceb..248531727dcafb71d7d2d2767205e09a
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index d38d1e3692e093d6707b6bd80cd56ec4afcf093b..c960aac9e1dbffe5e765f9adcfacc1966dc29148 100644
index f889b352d5618c1955e21273da79604a33e30c06..28633838cb314ba59b4ff3bbdb99343d98ee66ae 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -101,10 +101,23 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
@@ -2770,7 +2770,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 ac3d4d90407288526a8c787e365ff41234a58543..f892b25c45c7b84fa37f4ddfe2c1068cfa1be483 100644
index b786bd5178a605a5dfb7682b7cb809646895aea3..e84acc78df13c8277d53f43915d4f58922bce41a 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
@@ -103,6 +103,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -2919,7 +2919,7 @@ index ac3d4d90407288526a8c787e365ff41234a58543..f892b25c45c7b84fa37f4ddfe2c1068c
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 a6d30f3213d30ba925926437ed4535319061213d..11f6465cbf26f4a632f597f2158c6c91d5056c41 100644
index b9d42e59a9f9e9ee4e6a06e2245a00dcc34f9002..b0fb4db03a2392c324caf5b8b1b074534397b538 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
@@ -84,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob

View File

@@ -174,7 +174,7 @@ index 7343f6fa6c29d4029cc35e173e5d701efd7f57c6..1ca3ffe212da2c3914c290172e729ba8
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 6a1c2a43aa00a2e651ca19d2acfa54ae3f020c5f..0d1e8ad0edcbe53d203b9fa6748f76f783afae5c 100644
index 6b3413593fd68d5e4f97bd7fe9454496ace94287..1f714f980bad7dcdeb361366a2d65c5a9f831a2c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -176,6 +176,11 @@ public class Fox extends Animal {
@@ -238,7 +238,7 @@ index 041c2d330a245826fc2fa4c1327aeadd24a44254..3697238a818aac364d62f779fe6b6224
public boolean isTrusting() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 129358e127227efb6adbcf4c436f59f2004c9814..47b03fd6a45b03f438fc9e4025dd2d7e70c273b6 100644
index 46b3f0d26ef95eee43c68fb2829cc99a622d5852..c308558a94a7f7f6fbfeb64a5aa0a2af9d0f3f81 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -131,6 +131,12 @@ public class Panda extends Animal {
@@ -254,7 +254,7 @@ index 129358e127227efb6adbcf4c436f59f2004c9814..47b03fd6a45b03f438fc9e4025dd2d7e
// Purpur end
@Override
@@ -628,7 +634,10 @@ public class Panda extends Animal {
@@ -629,7 +635,10 @@ public class Panda extends Animal {
public void setAttributes() {
if (this.isWeak()) {
@@ -719,7 +719,7 @@ index 0f8ce0c6ddbb37a61c6b15bb769b627bcd8105fa..6ed9e4e98c46b51cf398641ffb66abf3
public static AttributeSupplier.Builder createAttributes() {
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 f892b25c45c7b84fa37f4ddfe2c1068cfa1be483..1e3afa3d98e755b7a06dc6b90f90e2d41843a482 100644
index e84acc78df13c8277d53f43915d4f58922bce41a..10294ba0f6fac4d0afebe22496d4020b975f1469 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
@@ -160,6 +160,11 @@ public class EnderDragon extends Mob implements Enemy {
@@ -735,7 +735,7 @@ index f892b25c45c7b84fa37f4ddfe2c1068cfa1be483..1e3afa3d98e755b7a06dc6b90f90e2d4
public static AttributeSupplier.Builder createAttributes() {
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 11f6465cbf26f4a632f597f2158c6c91d5056c41..cdaefabf24c59338a0406072ce01029c194700fd 100644
index b0fb4db03a2392c324caf5b8b1b074534397b538..c8f917354676eb26059efb521e09780db32c68b7 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
@@ -224,6 +224,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob

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 eab96c9b53cd608ff99cdad06721cd19e490ad14..6e6559b7edbabc000ac47617ab064e438a95720d 100644
index a774e9a2ee85a8356fd9d39a8fbe98ff893f8f1f..558cd427e0b08a6b59b9851242386e89ca87b996 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -828,9 +828,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -830,9 +830,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
if (flag1) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 0d1e8ad0edcbe53d203b9fa6748f76f783afae5c..a708a9d855fd32c0eb659b44d91a5a1a33312cc7 100644
index 1f714f980bad7dcdeb361366a2d65c5a9f831a2c..64a564bf1a5133971050882835749807154c3a72 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -35,6 +35,7 @@ import net.minecraft.util.Mth;
@@ -44,7 +44,7 @@ index 0d1e8ad0edcbe53d203b9fa6748f76f783afae5c..a708a9d855fd32c0eb659b44d91a5a1a
}
List<UUID> getTrustedUUIDs() {
@@ -744,6 +752,29 @@ public class Fox extends Animal {
@@ -750,6 +758,29 @@ public class Fox extends Animal {
return this.getTrustedUUIDs().contains(uuid);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 671ef13c7abdd77ad49fc490c2117a224b701311..80598d109eba14f719c4c8190d93d4a9febb9248 100644
index a907475add800f1f47e647b169d6b709acefc785..4ff8022c0787575b215f03b142c908a8076618eb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1035,6 +1035,7 @@ public class ServerPlayer extends Player {
@@ -17,7 +17,7 @@ index 671ef13c7abdd77ad49fc490c2117a224b701311..80598d109eba14f719c4c8190d93d4a9
if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
index 3f31a3c17ecca6e93b794478129b95ecff4e1a9c..d2d1e554b1c24df982ff28fbe118229c8e9ecd13 100644
index c71120fe57a76c4638be5dcbda5a756cc2d62ffc..997776ac62d2de1f076a5bc38fcf78a1999748cf 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -107,11 +107,13 @@ public abstract class AbstractMinecart extends Entity {
@@ -34,7 +34,7 @@ index 3f31a3c17ecca6e93b794478129b95ecff4e1a9c..d2d1e554b1c24df982ff28fbe118229c
}
protected AbstractMinecart(EntityType<?> type, Level world, double x, double y, double z) {
@@ -326,6 +328,12 @@ public abstract class AbstractMinecart extends Entity {
@@ -334,6 +336,12 @@ public abstract class AbstractMinecart extends Entity {
@Override
public void tick() {
@@ -47,7 +47,7 @@ index 3f31a3c17ecca6e93b794478129b95ecff4e1a9c..d2d1e554b1c24df982ff28fbe118229c
// CraftBukkit start
double prevX = this.getX();
double prevY = this.getY();
@@ -489,16 +497,63 @@ public abstract class AbstractMinecart extends Entity {
@@ -497,16 +505,63 @@ public abstract class AbstractMinecart extends Entity {
public void activateMinecart(int x, int y, int z, boolean powered) {}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 6e6559b7edbabc000ac47617ab064e438a95720d..30fab9ee2e549ddf85ce71a74c70199801af5815 100644
index 558cd427e0b08a6b59b9851242386e89ca87b996..540c45189331a4af97c9dfe86524583a9e64d53c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -540,7 +540,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -542,7 +542,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.dragonParts = new Int2ObjectOpenHashMap();
this.tickTime = flag1;
this.server = minecraftserver;
@@ -67,7 +67,7 @@ index daa7c4bd8a3f6c28f02b7117b061f0def29e3743..d4699d7eefafffd2d4e0a03d62d5094f
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3261f6ca362b199b472570ab7a089215a30960b7..23899c81d555a78ef153fdf4dde2889d0fe2646b 100644
index f5f2bf775390ac019c811e4c26d817749a2f6645..04604557a57a09127e88a2119aa9a63c764de94a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -72,6 +72,12 @@ public class PurpurWorldConfig {

View File

@@ -31,7 +31,7 @@ index bc8152edd32238025321512cb72bbb62dd2175bc..68db8421f5e80301423c2f1d4394ef1f
}
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 30fab9ee2e549ddf85ce71a74c70199801af5815..284fb0308ccd458804f9dfe9eb10529e32ba0207 100644
index 540c45189331a4af97c9dfe86524583a9e64d53c..95df1d7ff03a5e7c490b48fc14c1518e7f4cc3a0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -212,6 +212,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -43,7 +43,7 @@ index 30fab9ee2e549ddf85ce71a74c70199801af5815..284fb0308ccd458804f9dfe9eb10529e
public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick
// CraftBukkit start
@@ -620,6 +622,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -622,6 +624,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system
this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system
@@ -51,7 +51,7 @@ index 30fab9ee2e549ddf85ce71a74c70199801af5815..284fb0308ccd458804f9dfe9eb10529e
}
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
@@ -790,6 +793,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -792,6 +795,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 30fab9ee2e549ddf85ce71a74c70199801af5815..284fb0308ccd458804f9dfe9eb10529e
this.setDayTime(this.levelData.getDayTime() + 1L);
}
@@ -798,7 +808,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -800,7 +810,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay);
@@ -88,7 +88,7 @@ index 30fab9ee2e549ddf85ce71a74c70199801af5815..284fb0308ccd458804f9dfe9eb10529e
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 f6f67bc6c6cc81c4d867ab6aaa23e263ef14ecf6..e95c39c76f71d1434f874c56e22b2470c3f543c1 100644
index 9a160cfffeb3049f256f56e9df8aab42ebe9ec2f..0a8f9082470b3b70fb21ea620d6dce23120cb65b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -125,6 +125,13 @@ public class PurpurWorldConfig {

View File

@@ -47,7 +47,7 @@ index 34e82b97c5b294f0a6423581220403a10264da8b..a0c3a27a90e0788b573f0776c25cfc6e
other.resetLove();
world.addFreshEntityWithPassengers(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 33f2100a9cb7616339c18d9b41293eab8c0e4a65..f2345d7ce5ba8b4bd3e44819fcf82cd46501e6e3 100644
index 7f57a591172708d5cebbd88335ca60d8972bfb0e..8eef2c50ae38ab7ea0942d338d0918c8edbd42b0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -219,6 +219,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -95,7 +95,7 @@ index 96dceb9943c4320e0edfba47cc211d60aa92323b..fe266b94d08b8977451f75ec87c19497
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 732c560383da3b8a270139758f29734d73b775be..b063a74327e51b3cd27427426b92ef687c59c94b 100644
index 123aae4d17bc06317c872270e229f6e9c13953e1..0da192e78865b50f87de0d61ce1b39b1899cc954 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -62,6 +62,11 @@ public class Cow extends Animal {
@@ -111,7 +111,7 @@ index 732c560383da3b8a270139758f29734d73b775be..b063a74327e51b3cd27427426b92ef68
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index a708a9d855fd32c0eb659b44d91a5a1a33312cc7..b2c901ed90fbf0ab79848d11f50d6f7a0b24bd6f 100644
index 64a564bf1a5133971050882835749807154c3a72..ae02191f9cd8969a938655e4fba1bbe260d1dd88 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -183,6 +183,11 @@ public class Fox extends Animal {
@@ -126,7 +126,7 @@ index a708a9d855fd32c0eb659b44d91a5a1a33312cc7..b2c901ed90fbf0ab79848d11f50d6f7a
// Purpur end
@Override
@@ -969,8 +974,10 @@ public class Fox extends Animal {
@@ -975,8 +980,10 @@ public class Fox extends Animal {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
}
@@ -140,7 +140,7 @@ index a708a9d855fd32c0eb659b44d91a5a1a33312cc7..b2c901ed90fbf0ab79848d11f50d6f7a
this.partner.resetLove();
worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 1bf3f1cf537c75aa32d1531ee77a4d08ad4b69bf..6cd1a173857b9815073d4bb5020ebe6582844418 100644
index bdfca8501edb9209463b70db2d134b488a08e143..74fa3278f39b2e55b7ee9b0c3088d02f44e71259 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -84,6 +84,11 @@ public class MushroomCow extends Cow implements Shearable {
@@ -172,7 +172,7 @@ index 3697238a818aac364d62f779fe6b622494a9f658..25f01fe6bda429a13188e62aee68d242
public boolean isTrusting() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 47b03fd6a45b03f438fc9e4025dd2d7e70c273b6..260fb72d48e2e2c6d27ab21b8a5049235d51555c 100644
index c308558a94a7f7f6fbfeb64a5aa0a2af9d0f3f81..d44314d9c5b77c12a09ea2271b938580bb369abc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -137,6 +137,11 @@ public class Panda extends Animal {
@@ -331,7 +331,7 @@ index 6a6613f70f9c4cc950882191b00048d4c47bd84f..e739416fa58b182d7bd311be094d6aab
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index c1cdef2eaa2bb969ddecc8c3bbdb0fdd33fa9c82..af6bc24065f0db7b12962b5b718b5fb82cf5fa22 100644
index 1528728bb66b63f3d4080fe10d3ba9abc309a63b..9b7fce44c097b26b995aa2a0bc93915e77be8b96 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -109,6 +109,11 @@ public class Goat extends Animal {
@@ -379,7 +379,7 @@ index 390f630462c907cd6e961c6ca432804e2f19f07c..6a7d8ff804b184005fda17f3d7a4b975
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 8beacf4afc8168d930ec2fb7926a19283ee31065..91ec5c71c90496f79c80e42cfdd86e4eb5befddf 100644
index f9da2e58b8df88ad103f2549b27fbedee8520bb1..7f47cc2caa22f31eb956ec4b7da69a62fa4e5899 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -131,6 +131,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {

View File

@@ -92,10 +92,10 @@ index bd0cbf4390fc7d00b4bd5008cdf8f6f49df4f69b..27e96c4c1377c49f03df032683aac32d
} else if (this.nextStartTick > 0) {
--this.nextStartTick;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index b2c901ed90fbf0ab79848d11f50d6f7a0b24bd6f..d64deacacb64dc0572fc0b5d559ddd833397ed47 100644
index ae02191f9cd8969a938655e4fba1bbe260d1dd88..18cc92406057b3c47ba00ddfe7cebeb99f8a106d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -1365,7 +1365,7 @@ public class Fox extends Animal {
@@ -1371,7 +1371,7 @@ public class Fox extends Animal {
}
protected void onReachedTarget() {
@@ -131,7 +131,7 @@ index b9025929fcc89e72aa820953b91a65423878ba0f..edf4537f08a54e1a5b043927678bbddf
}
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 a2d7d2e1ea6596d0a3188169cf8d7295e888c20f..7cc0d8c9dbfe24de4fa2937db9fe6ef8e78bbef7 100644
index 84b783862630a001db4a19fd2eceee4db5c51756..5b60abfb44640149e92ead0cda8c426484574fe2 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
@@ -578,7 +578,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -144,7 +144,7 @@ index a2d7d2e1ea6596d0a3188169cf8d7295e888c20f..7cc0d8c9dbfe24de4fa2937db9fe6ef8
// flag1 = this.level.removeBlock(blockposition, false) || flag1;
flag1 = true;
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 9cf7cd70492c8769cd3dad1ed57eeff1150bc4e8..ab3c741aa0894a9383833b3aa4a8d45ad46dd013 100644
index abf4490d8366ec6587178688228375093563b9b5..8278cb7b57a1910c822fa85cebec033b95725c03 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
@@ -402,7 +402,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -230,7 +230,7 @@ index 1641d5083cad8b7cd62fc1168834ff99b5239c5a..281e8e6232c30cf5c20e9e2de4ac2ab4
} else {
List<Sheep> list = Evoker.this.level.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 6d1d682d193b630706731ba6d4a44955e8a0a2e7..570b3cbfc66f762999eaec57109ec11c995707b2 100644
index 94859efec34e6edfd31ff22277e3084218e38b3c..f8867270a5eb705b60236abf3351c050f2e27c60 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -191,7 +191,7 @@ public class Ravager extends Raider {
@@ -306,7 +306,7 @@ index 5237b699e000b4fed99be39b0a7e2daab9c8bf42..efa9424f8e2716f073e89b03f3d85e1b
// CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 85fb907fb149961611310c355d0911d81f1b735c..c37832b3fee9d7d8577f8b1701c1c2c27cfdbf09 100644
index bf828b9a36fc70bcf4c4d87d5db2d37aa384499c..466313e17fca9ff6993406b71da62218811e1641 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -302,6 +302,6 @@ public abstract class Projectile extends Entity {
@@ -357,7 +357,7 @@ index 8877423a99e387c18d1d994518bf15d8d9ba64af..8074bcac1f6f83080c94d1c3dec690f0
if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance())) {
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
index 275e5334b1206a2dcafc3772c7e2ad0ebe3693f9..a68bf10353e5c19adfa86c2dd6290f2386af9a9d 100644
index 7d8394d09ec11c96b9329857a0d347565dd07b32..36ad7f33eacc63d84db04225fbffcc32abf24fdc 100644
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
@@ -164,7 +164,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 284fb0308ccd458804f9dfe9eb10529e32ba0207..9dc317d471ce6eab24e0ebec729cea1dbed8b2ec 100644
index 95df1d7ff03a5e7c490b48fc14c1518e7f4cc3a0..2e8b8874106bb96f6a3ff9ff50e1c3ef41560615 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -661,7 +661,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -663,7 +663,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;
@@ -18,7 +18,7 @@ index 284fb0308ccd458804f9dfe9eb10529e32ba0207..9dc317d471ce6eab24e0ebec729cea1d
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1d101f9fe489122e2c3a83f901bc19b2232a5d72..f36e00c716532b0ab12565ca0076c94b7d73e5b3 100644
index 9649618c5d5721e1ce2fb4f59d22e352b4b614dd..7eb68d2f6a56a1110bba275fbeb91cb8605c0e0a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -357,6 +357,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable powered rail boost modifier
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
index d2d1e554b1c24df982ff28fbe118229c8e9ecd13..b16ad4d5f3cdf8e0e44f74ae481b04d38e7a6c9e 100644
index 997776ac62d2de1f076a5bc38fcf78a1999748cf..2cf873bffe06bc6905eebf8be243609cf43d7dd4 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -715,7 +715,7 @@ public abstract class AbstractMinecart extends Entity {
@@ -723,7 +723,7 @@ public abstract class AbstractMinecart extends Entity {
if (d18 > 0.01D) {
double d20 = 0.06D;
@@ -18,7 +18,7 @@ index d2d1e554b1c24df982ff28fbe118229c8e9ecd13..b16ad4d5f3cdf8e0e44f74ae481b04d3
Vec3 vec3d5 = this.getDeltaMovement();
double d21 = vec3d5.x;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cd64916a3e47760b2046a34c3b9ec97d491d65a2..d6b680924535ff43b6a6e078efedceda45131a53 100644
index 8d4dc7d526cf9f4ec05e845ec9b10a47ff422d1e..9973dbee6ea493d7a4f70ac6627abd69123ab622 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -274,6 +274,7 @@ public class PurpurWorldConfig {

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 9dc317d471ce6eab24e0ebec729cea1dbed8b2ec..a7820becea1e46154975f4cd7b8e8d24f9f0e4ad 100644
index 2e8b8874106bb96f6a3ff9ff50e1c3ef41560615..becb357d64a4dc5783ff6b06eee1a4cb59e7688c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -971,7 +971,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -973,7 +973,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
return holder.is(PoiTypes.LIGHTNING_ROD);
}, (blockposition1) -> {
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;

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 a7820becea1e46154975f4cd7b8e8d24f9f0e4ad..66ab18b0654b1408fae1a5948290d44dd888b4b4 100644
index becb357d64a4dc5783ff6b06eee1a4cb59e7688c..e2881584437c49e58f84236c372ef4c72f653ee0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1020,11 +1020,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1022,11 +1022,27 @@ 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);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Cactus breaks from solid neighbors config
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
index 0fbabb84ef13e68b12212d9bfeb885c78893c116..56fa0e377b20ed063e47358be9e6bba8cf2c7955 100644
index 1ec242205b82a5a1f10deb2312795cc5dc157a76..2fd7e33a161bc89c91deca1f245d6dac0dcf1b46 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -109,7 +109,7 @@ public class CactusBlock extends Block {
@@ -110,7 +110,7 @@ public class CactusBlock extends Block {
BlockState iblockdata2 = world.getBlockState(pos.relative(enumdirection));
material = iblockdata2.getMaterial();

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 66ab18b0654b1408fae1a5948290d44dd888b4b4..0c23de7ed20ac3be4a2462a246b5f746706226c6 100644
index e2881584437c49e58f84236c372ef4c72f653ee0..31c802a2a7ebebbfb57af5ecb35ba91df58b12ea 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1179,6 +1179,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1181,6 +1181,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
private void resetWeatherCycle() {
// CraftBukkit start
@@ -16,7 +16,7 @@ index 66ab18b0654b1408fae1a5948290d44dd888b4b4..0c23de7ed20ac3be4a2462a246b5f746
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....
@@ -1186,6 +1187,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1188,6 +1189,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setRainTime(0);
}
// CraftBukkit end
@@ -25,7 +25,7 @@ index 66ab18b0654b1408fae1a5948290d44dd888b4b4..0c23de7ed20ac3be4a2462a246b5f746
// 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 82318edeecb92a59514942aa346019f79e290115..18fd455f1317f613db213f19d5aac768eda8b8cf 100644
index 87edcfdfafb0acc20e314c4d43fc0fd43c8490b2..38b1d1f16097676528ef93cdf7f4ab62807dc4c1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -142,6 +142,8 @@ public class PurpurWorldConfig {

View File

@@ -22,7 +22,7 @@ index 4940e101250874111e9c55aeb5b87b28602246f0..45eeb8523b9923585d7738f5ad8f5e8c
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index 4d1e1cf4c541793492a02681087a6242e7977acd..2d6fe648f5a1c0dd146d1649384bc9f47b0ccde4 100644
index b7517d1e8a5d5eb719de5eda424b7dd2449f1182..5af3e3e68b2e686609a5469036d0d3dfe57997b4 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -30,12 +30,12 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@@ -40,16 +40,16 @@ index 4d1e1cf4c541793492a02681087a6242e7977acd..2d6fe648f5a1c0dd146d1649384bc9f4
}
@Override
@@ -53,7 +53,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@@ -51,7 +51,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
} else {
modifier = 100; // Above cases are exhaustive as of 1.18
modifier = world.spigotConfig.caveVinesModifier;
}
- if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (modifier / 100.0D) * this.growPerTickProbability) { // Spigot // Paper - fix growth modifier having the reverse effect
+ if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < getMaxGrowthAge() && random.nextDouble() < (modifier / 100.0D) * this.growPerTickProbability) { // Spigot // Paper - fix growth modifier having the reverse effect // Purpur
// Paper end
- if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < ((modifier / 100.0D) * this.growPerTickProbability)) { // Spigot - SPIGOT-7159: Better modifier resolution
+ if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < getMaxGrowthAge() && random.nextDouble() < ((modifier / 100.0D) * this.growPerTickProbability)) { // Spigot - SPIGOT-7159: Better modifier resolution // Purpur
// Spigot end
BlockPos blockposition1 = pos.relative(this.growthDirection);
@@ -75,11 +75,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@@ -73,11 +73,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
}
public BlockState getMaxAgeState(BlockState state) {
@@ -63,7 +63,7 @@ index 4d1e1cf4c541793492a02681087a6242e7977acd..2d6fe648f5a1c0dd146d1649384bc9f4
}
protected BlockState updateBodyAfterConvertedFromHead(BlockState from, BlockState to) {
@@ -121,13 +121,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@@ -119,13 +119,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@Override
public void performBonemeal(ServerLevel world, RandomSource random, BlockPos pos, BlockState state) {
BlockPos blockposition1 = pos.relative(this.growthDirection);
@@ -79,7 +79,7 @@ index 4d1e1cf4c541793492a02681087a6242e7977acd..2d6fe648f5a1c0dd146d1649384bc9f4
}
}
@@ -140,4 +140,6 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@@ -138,4 +138,6 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
protected GrowingPlantHeadBlock getHeadBlock() {
return this;
}

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 74f221c74d478e7c24e101903398219be46ddea6..55fe8b0f21f00b02e78257a64fd8d63980d50995 100644
index 31c802a2a7ebebbfb57af5ecb35ba91df58b12ea..a1af2d00d03e3326f6acd46dfaa6cdafac841727 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2698,7 +2698,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2700,7 +2700,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

View File

@@ -21,7 +21,7 @@ index 8dc1d2d15d571d1603a41dee13681a87841f5e23..54ec7955ba394e82663b08972dd89f69
private static final ThreadLocal<List<ChunkProgressionTask>> CURRENT_TICKET_UPDATE_SCHEDULING = new ThreadLocal<>();
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
index f20faaec3f1fe311b3ac989be5a9148e2e3c59ad..e3fcbdbbf1972c382cbfe69a86eddff3dee4fba2 100644
index 4ce6df7082d4f7ed3651e3d57e379f95dd05715e..cfc355829df3e5b51c2ff524bb3730360fee15a2 100644
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
@@ -1748,7 +1748,7 @@ public final class NewChunkHolder {
@@ -43,7 +43,7 @@ index f20faaec3f1fe311b3ac989be5a9148e2e3c59ad..e3fcbdbbf1972c382cbfe69a86eddff3
return executedUnloadTask | canSaveChunk | canSaveEntities | canSavePOI;
}
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
index 54bca103347e89f116fb7fbf37449a32ac094286..a7f4b791894c5d8b7af4b0c067cf167b29272a27 100644
index d03551e81e3ef37935cb1d963aba3df316f48ef5..04ca6d27a13706fbddc708df0fcca42b4098bcba 100644
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
@@ -67,14 +67,14 @@ public class GlobalConfiguration extends ConfigurationPart {
@@ -271,7 +271,7 @@ index 96c51b1f5103567c29d7da93f654cc5ddfea6a4d..c8b068ab73c8997fbd07e27ccd2dff77
@Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225689a37d0 100644
index 9976630fad886392057f642e84f919f0b95cc040..91640a6f9770eeb300e0d56d8fe93264c087f0be 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -608,15 +608,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -294,7 +294,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225
}
gameprofilerfiller.pop();
@@ -1239,24 +1239,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1238,24 +1238,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - optimised tracker
private final void processTrackQueue() {
@@ -323,7 +323,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225
}
}
// Paper end - optimised tracker
@@ -1271,7 +1271,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1270,7 +1270,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator();
@@ -332,7 +332,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..f702b5777938324e9f10015d8e145225
ChunkMap.TrackedEntity playerchunkmap_entitytracker;
@@ -1296,17 +1296,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1295,17 +1295,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges();
}
}
@@ -477,10 +477,10 @@ index 7266e6703d5cd0fea90ec88c74a7d4567f2420ae..157efbbc57f1b5d92f296a70823c75b6
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
// Paper start - controlled flush for entity tracker packets
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d1238644726ac3a2f 100644
index a1af2d00d03e3326f6acd46dfaa6cdafac841727..4ced6723e65b84f7357acb54e9851e7af3347f11 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -684,7 +684,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -686,7 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness();
this.tickTime();
gameprofilerfiller.popPush("tickPending");
@@ -489,7 +489,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
if (!this.isDebug()) {
j = this.getGameTime();
gameprofilerfiller.push("blockTicks");
@@ -693,20 +693,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -695,20 +695,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.fluidTicks.tick(j, 65536, this::tickFluid);
gameprofilerfiller.pop();
}
@@ -517,7 +517,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
this.handlingTick = false;
gameprofilerfiller.pop();
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
@@ -717,7 +717,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -719,7 +719,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (flag || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities");
@@ -526,7 +526,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
if (this.dragonFight != null) {
gameprofilerfiller.push("dragonFight");
this.dragonFight.tick();
@@ -725,7 +725,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -727,7 +727,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -535,7 +535,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
@@ -765,8 +765,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -767,8 +767,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
});
@@ -546,7 +546,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
gameprofilerfiller.pop();
this.tickBlockEntities();
}
@@ -928,7 +928,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -930,7 +930,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper start - optimise random block ticking
gameprofilerfiller.popPush("randomTick");
@@ -555,7 +555,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections();
int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
@@ -962,7 +962,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -964,7 +964,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
// Paper end - optimise random block ticking
@@ -564,7 +564,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
gameprofilerfiller.pop();
}
@@ -1255,8 +1255,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1257,8 +1257,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot end
// Paper start- timings
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
@@ -575,7 +575,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
// Paper end - timings
entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = this.getProfiler();
@@ -1272,7 +1272,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1274,7 +1274,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2
this.getProfiler().pop();
@@ -584,7 +584,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) {
@@ -1295,8 +1295,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1297,8 +1297,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
// Paper - EAR 2
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
@@ -595,7 +595,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
// Paper end
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -1326,7 +1326,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1328,7 +1328,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.tickPassenger(passenger, entity2);
}
@@ -604,7 +604,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
}
} else {
passenger.stopRiding();
@@ -1346,14 +1346,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1348,14 +1348,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld()));
}
@@ -622,7 +622,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
// Copied from save()
// CraftBukkit start - moved from MinecraftServer.saveChunks
@@ -1365,7 +1365,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1367,7 +1367,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
}
// CraftBukkit end
@@ -631,7 +631,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
}
// Paper end
@@ -1379,7 +1379,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1381,7 +1381,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@@ -640,7 +640,7 @@ index 55fe8b0f21f00b02e78257a64fd8d63980d50995..725621bce1b82f44cea1247d12386447
if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
}
@@ -1389,11 +1389,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1391,11 +1391,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
progressListener.progressStage(Component.translatable("menu.savingChunks"));
}
@@ -812,7 +812,7 @@ index 386ed2c102aaa3ec68e828e20fff6bfe0d8f7877..c1541119630315521e75c1ba70ac99cd
}
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 636c98d04eb4e14eab1fa208d9cb097e2ab7eef7..86e0539e04e4fe6239c1cb4c4055927303655251 100644
index b89dad36bf09fdab340efc83d09992b707cd321a..994ef28e4ad685405a2b045e29550563b0914ccc 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -930,7 +930,7 @@ public class LevelChunk extends ChunkAccess {

View File

@@ -371,7 +371,7 @@ index 30093cd8bd35f0bbc8f26eca370622ee12a046b6..2986f110348b376bcdc64fa39b688855
++j;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index f702b5777938324e9f10015d8e145225689a37d0..3203b953709ca7cb9172f5912a922131ad7ec9eb 100644
index 91640a6f9770eeb300e0d56d8fe93264c087f0be..5258688cf1c980b95308b6d105dbf104b0276932 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -606,20 +606,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -538,10 +538,10 @@ index 157efbbc57f1b5d92f296a70823c75b6d01ac065..cd5533c3c53215c9cc4be0b9097d76ef
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199a3ad3197 100644
index 4ced6723e65b84f7357acb54e9851e7af3347f11..d418144bc7471b2c00ad272652b035d79974ef75 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -651,12 +651,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -653,12 +653,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
// Paper end - optimise checkDespawn
@@ -557,7 +557,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
this.advanceWeatherCycle();
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;
@@ -683,32 +683,32 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -685,32 +685,32 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness();
this.tickTime();
@@ -598,7 +598,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
if (flag) {
@@ -716,12 +716,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -718,12 +718,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
if (flag || this.emptyTime++ < 300) {
@@ -614,7 +614,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -731,9 +731,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -733,9 +733,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
} else {
@@ -626,7 +626,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list
Entity entity1 = entity.getVehicle();
@@ -745,7 +745,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -747,7 +747,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.stopRiding();
}
@@ -635,7 +635,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
// Pufferfish start - copied from this.guardEntityTick
try {
this.tickNonPassenger(entity); // Pufferfish - changed
@@ -760,22 +760,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -762,22 +762,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end
}
// Pufferfish end
@@ -663,7 +663,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
}
@Override
@@ -857,9 +857,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -859,9 +859,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ();
@@ -675,7 +675,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && /*this.random.nextInt(this.spigotConfig.thunderChance) == 0 &&*/ chunk.shouldDoLightning(this.random)) { // Spigot // Paper - disable thunder // Pufferfish - replace random with shouldDoLightning
@@ -891,7 +891,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
@@ -684,7 +684,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
if (!this.paperConfig().environment.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Paper - optimise random ticking // Pufferfish - optimize further random ticking
// Paper start - optimise chunk ticking
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
@@ -927,7 +927,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -929,7 +929,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper start - optimise random block ticking
@@ -693,7 +693,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections();
@@ -963,7 +963,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -965,7 +965,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper end - optimise random block ticking
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
@@ -702,7 +702,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
}
public Optional<BlockPos> findLightningRod(BlockPos pos) {
@@ -1259,19 +1259,19 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1261,19 +1261,19 @@ public class ServerLevel extends Level implements WorldGenLevel {
//try { // Purpur
// Paper end - timings
entity.setOldPosAndRot();
@@ -727,7 +727,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
//} finally { timer.stopTiming(); } // Paper - timings // Purpur
Iterator iterator = entity.getPassengers().iterator();
@@ -1300,12 +1300,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1302,12 +1302,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -744,7 +744,7 @@ index 725621bce1b82f44cea1247d1238644726ac3a2f..571a1cbee376032b6b9f36c9fe3f9199
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1317,7 +1317,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1319,7 +1319,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
@@ -1443,7 +1443,7 @@ index 288c6627906d07c0d223eacd84ae4eb31a349998..9babe636176da3c40598eb5bdac0919a
this.seen.add(i);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index c960aac9e1dbffe5e765f9adcfacc1966dc29148..c233533fdacb4f5e635267b5fc9fe21bc8b3c51a 100644
index 28633838cb314ba59b4ff3bbdb99343d98ee66ae..499a6b84f0db4a7ad881224f445558feae4f893f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -266,13 +266,13 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
@@ -1768,7 +1768,7 @@ index c1541119630315521e75c1ba70ac99cd866afd71..b82541194979094f90b929cfdfb2b4c1
// Paper start
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 86e0539e04e4fe6239c1cb4c4055927303655251..620173eef4c2f30a97a4c2f8049ea01fcc60d0b2 100644
index 994ef28e4ad685405a2b045e29550563b0914ccc..4672b4dad9a7bfeda4ddf6c5938afd52d0310884 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -1292,9 +1292,9 @@ public class LevelChunk extends ChunkAccess {

View File

@@ -1,35 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Sat, 15 Oct 2022 13:19:07 -0500
Subject: [PATCH] Allow grindstone overstacking items
diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
index 43d7ca6ceb89d65149314e56a846081d6c3a048a..1344c2bc08743088c56862469949dcb148a99a8b 100644
--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
@@ -200,7 +200,7 @@ public class GrindstoneMenu extends AbstractContainerMenu {
i = Math.max(item.getMaxDamage() - l, 0);
itemstack2 = this.mergeEnchants(itemstack, itemstack1);
if (!itemstack2.isDamageableItem()) {
- if (!ItemStack.matches(itemstack, itemstack1) || itemstack2.getMaxStackSize() == 1) { // Paper - add max stack size check
+ if (!ItemStack.matches(itemstack, itemstack1) || ((org.bukkit.craftbukkit.entity.CraftPlayer)this.player).getHandle().getLevel().purpurConfig.grindstoneAllowOversizedStacking || itemstack2.getMaxStackSize() == 1) { // Paper - add max stack size check // Purpur
this.resultSlots.setItem(0, ItemStack.EMPTY);
this.broadcastChanges();
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 33d7c132b19095598eb681da8487a072f1dccab6..daa437f3aaebed4d917fde65d75a8a941755a764 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -905,6 +905,11 @@ public class PurpurWorldConfig {
endPortalSafeTeleporting = getBoolean("blocks.end_portal.safe-teleporting", endPortalSafeTeleporting);
}
+ public boolean grindstoneAllowOversizedStacking = false;
+ private void grindstoneSettings() {
+ grindstoneAllowOversizedStacking = getBoolean("blocks.grindstone.allow-oversized-stacking", grindstoneAllowOversizedStacking);
+ }
+
public boolean mobsSpawnOnPackedIce = true;
public boolean mobsSpawnOnBlueIce = true;
public boolean snowOnBlueIce = true;