Updated Upstream (Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Pufferfish Changes:
pufferfish-gg/Pufferfish@e1ad783 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@d3d30cb Fix #53
pufferfish-gg/Pufferfish@53295bd Remove busy wait in async execution utility
pufferfish-gg/Pufferfish@5e6e1ad Updated Upstream (Paper)
This commit is contained in:
BillyGalbreath
2022-11-21 23:36:42 -06:00
parent d2c5e6b5e5
commit 6368dc84de
27 changed files with 184 additions and 149 deletions

View File

@@ -1252,29 +1252,30 @@ index 0000000000000000000000000000000000000000..1b29210ad0bbb4ada150f23357f0c80d
+} +}
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..9d6dc2c80945bec9bea74714c657c7a2e0bdde9e index 0000000000000000000000000000000000000000..8e5323d5d9af25c8a85c4b34a6be76cfc54384cf
--- /dev/null --- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java +++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
@@ -0,0 +1,51 @@ @@ -0,0 +1,73 @@
+package gg.pufferfish.pufferfish.util; +package gg.pufferfish.pufferfish.util;
+ +
+import com.google.common.collect.Queues; +import com.google.common.collect.Queues;
+import gg.pufferfish.pufferfish.PufferfishLogger; +import gg.pufferfish.pufferfish.PufferfishLogger;
+import java.util.Queue; +import java.util.Queue;
+import java.util.concurrent.locks.LockSupport; +import java.util.concurrent.locks.Condition;
+import java.util.function.BooleanSupplier; +import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.logging.Level; +import java.util.logging.Level;
+ +
+public class AsyncExecutor implements Runnable { +public class AsyncExecutor implements Runnable {
+ +
+ private Queue<Runnable> jobs = Queues.newConcurrentLinkedQueue(); + private final Queue<Runnable> jobs = Queues.newArrayDeque();
+ private final Lock mutex = new ReentrantLock();
+ private final Condition cond = mutex.newCondition();
+ private final Thread thread; + private final Thread thread;
+ private final BooleanSupplier shouldRun;
+ private volatile boolean killswitch = false; + private volatile boolean killswitch = false;
+ +
+ public AsyncExecutor(String threadName, BooleanSupplier shouldRun) { + public AsyncExecutor(String threadName) {
+ this.thread = new Thread(this, threadName); + this.thread = new Thread(this, threadName);
+ this.shouldRun = shouldRun;
+ } + }
+ +
+ public void start() { + public void start() {
@@ -1283,26 +1284,47 @@ index 0000000000000000000000000000000000000000..9d6dc2c80945bec9bea74714c657c7a2
+ +
+ public void kill() { + public void kill() {
+ killswitch = true; + killswitch = true;
+ cond.signalAll();
+ } + }
+ +
+ public void submit(Runnable runnable) { + public void submit(Runnable runnable) {
+ jobs.offer(runnable); + mutex.lock();
+ try {
+ jobs.offer(runnable);
+ cond.signalAll();
+ } finally {
+ mutex.unlock();
+ }
+ } + }
+ +
+ @Override + @Override
+ public void run() { + public void run() {
+ while (!killswitch) { + while (!killswitch) {
+ if (shouldRun.getAsBoolean()) { + try {
+ try { + Runnable runnable = takeRunnable();
+ Runnable runnable; + if (runnable != null) {
+ while ((runnable = jobs.poll()) != null) { + runnable.run();
+ runnable.run();
+ }
+ } catch (Exception e) {
+ PufferfishLogger.LOGGER.log(Level.SEVERE, e, () -> "Failed to execute async job for thread " + thread.getName());
+ } + }
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ } catch (Exception e) {
+ PufferfishLogger.LOGGER.log(Level.SEVERE, e, () -> "Failed to execute async job for thread " + thread.getName());
+ } + }
+ LockSupport.parkNanos("executing tasks", 1000L); + }
+ }
+
+ private Runnable takeRunnable() throws InterruptedException {
+ mutex.lock();
+ try {
+ while (jobs.isEmpty() && !killswitch) {
+ cond.await();
+ }
+
+ if (jobs.isEmpty()) return null; // We've set killswitch
+
+ return jobs.remove();
+ } finally {
+ mutex.unlock();
+ } + }
+ } + }
+ +
@@ -1473,7 +1495,7 @@ index dacb00c7cb2702ae8e9c6be61ca08e41bd6009e4..b5d4c53bf1046fa52da5398491258b94
public static long getCoordinateKey(final ChunkPos pair) { 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 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6dc6c3bccb4ba34268a87b0754c87eb1e0df4135..409a544a8cefcfd139bff9b5016fb7a587568a70 100644 index 6dc6c3bccb4ba34268a87b0754c87eb1e0df4135..3cadf20891888b56ac70798d581d6a044a98c0a3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -298,6 +298,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -298,6 +298,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1481,7 +1503,7 @@ index 6dc6c3bccb4ba34268a87b0754c87eb1e0df4135..409a544a8cefcfd139bff9b5016fb7a5
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
public boolean isIteratingOverLevels = false; // Paper public boolean isIteratingOverLevels = false; // Paper
+ +
+ public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning + public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning"); // Pufferfish - optimize mob spawning
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference(); AtomicReference<S> atomicreference = new AtomicReference();
@@ -1692,10 +1714,18 @@ index 2358bb1788cfb902bac9b3b7588954af2d2cd823..163f14b4e1ca99d75e5d8e14190f7b91
this.wasOnGround = this.entity.isOnGround(); this.wasOnGround = this.entity.isOnGround();
this.teleportDelay = 0; 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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index feb0a6d6a90850977b393440881c472c317a9323..a32fd708349d13a4ed0a67ddcad0716fcf8443ab 100644 index feb0a6d6a90850977b393440881c472c317a9323..fde970ada330e3e2fd481c7687c8499129bd929c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -727,7 +727,20 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -708,6 +708,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
timings.entityTick.startTiming(); // Spigot
this.entityTickList.forEach((entity) -> {
+ entity.activatedPriorityReset = false; // Pufferfish - DAB
if (!entity.isRemoved()) {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
@@ -727,7 +728,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
gameprofilerfiller.push("tick"); gameprofilerfiller.push("tick");
@@ -1717,7 +1747,7 @@ index feb0a6d6a90850977b393440881c472c317a9323..a32fd708349d13a4ed0a67ddcad0716f
gameprofilerfiller.pop(); gameprofilerfiller.pop();
} }
} }
@@ -794,9 +807,11 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -794,9 +808,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
@@ -1730,7 +1760,7 @@ index feb0a6d6a90850977b393440881c472c317a9323..a32fd708349d13a4ed0a67ddcad0716f
public void tickChunk(LevelChunk chunk, int randomTickSpeed) { public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
ChunkPos chunkcoordintpair = chunk.getPos(); ChunkPos chunkcoordintpair = chunk.getPos();
boolean flag = this.isRaining(); boolean flag = this.isRaining();
@@ -807,7 +822,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -807,7 +823,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
gameprofilerfiller.push("thunder"); gameprofilerfiller.push("thunder");
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
@@ -1739,7 +1769,7 @@ index feb0a6d6a90850977b393440881c472c317a9323..a32fd708349d13a4ed0a67ddcad0716f
blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper
if (this.isRainingAt(blockposition)) { if (this.isRainingAt(blockposition)) {
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition); DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
@@ -831,7 +846,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -831,7 +847,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
gameprofilerfiller.popPush("iceandsnow"); gameprofilerfiller.popPush("iceandsnow");
@@ -1881,7 +1911,7 @@ index 540bc9500c35c0db719b00aa26f6fb3a1b08ed9f..806cb760822a99316b08ad95ff8922df
int LARGE_MAX_STACK_SIZE = 64; int LARGE_MAX_STACK_SIZE = 64;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb14852cbb8 100644 index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..249305f0fc4f525fe2d109ecc96900ce3680b1b1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -1893,11 +1923,12 @@ index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb1
private ChunkPos chunkPosition; private ChunkPos chunkPosition;
private Vec3 deltaMovement; private Vec3 deltaMovement;
private float yRot; private float yRot;
@@ -413,6 +413,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -413,6 +413,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return this.originWorld; return this.originWorld;
} }
// Paper end // Paper end
+ // Pufferfish start + // Pufferfish start
+ public boolean activatedPriorityReset = false; // DAB
+ public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score + public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score
+ public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // used where needed + public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // used where needed
+ // Pufferfish end + // Pufferfish end
@@ -1905,7 +1936,7 @@ index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb1
public float getBukkitYaw() { public float getBukkitYaw() {
return this.yRot; return this.yRot;
} }
@@ -487,17 +492,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -487,17 +493,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.isLegacyTrackingEntity = isLegacyTrackingEntity; this.isLegacyTrackingEntity = isLegacyTrackingEntity;
} }
@@ -1943,7 +1974,7 @@ index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb1
for (Entity passenger : passengers) { for (Entity passenger : passengers) {
org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType; org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType;
int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal()); int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal());
@@ -506,6 +530,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -506,6 +531,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
range = passengerRange; range = passengerRange;
} }
} }
@@ -1953,7 +1984,7 @@ index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb1
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this)); return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
} }
@@ -787,6 +814,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -787,6 +815,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// CraftBukkit end // CraftBukkit end
public void baseTick() { public void baseTick() {
@@ -1966,7 +1997,7 @@ index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb1
this.level.getProfiler().push("entityBaseTick"); this.level.getProfiler().push("entityBaseTick");
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
this.feetBlockState = null; this.feetBlockState = null;
@@ -4019,16 +4052,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4019,16 +4053,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) { public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
@@ -1992,7 +2023,7 @@ index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb1
double d1 = 0.0D; double d1 = 0.0D;
boolean flag = this.isPushedByFluid(); boolean flag = this.isPushedByFluid();
boolean flag1 = false; boolean flag1 = false;
@@ -4036,14 +4071,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4036,14 +4072,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
int k1 = 0; int k1 = 0;
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
@@ -2060,7 +2091,7 @@ index 6fa47becd0f83ac4273ef3a10c314aa27b08184b..26b42474a94ccabd8cfcca39e4c37fb1
if (d2 >= axisalignedbb.minY) { if (d2 >= axisalignedbb.minY) {
flag1 = true; flag1 = true;
@@ -4065,9 +4147,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4065,9 +4148,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// CraftBukkit end // CraftBukkit end
} }
} }
@@ -3569,7 +3600,7 @@ index 774556a62eb240da42e84db4502e2ed43495be17..80553face9c70c2a3d897681e7761df8
if (stream != null) { if (stream != null) {
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 1b42c98956342832c37f0aa266f85271daa4ba5b..4e978e12130d685257f408247c4b61a3909fde80 100644 index 1b42c98956342832c37f0aa266f85271daa4ba5b..b87756d9a7b04ea2613208984b2583eca3f32af6 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java --- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -38,6 +38,10 @@ import co.aikar.timings.MinecraftTimings; @@ -38,6 +38,10 @@ import co.aikar.timings.MinecraftTimings;
@@ -3583,19 +3614,23 @@ index 1b42c98956342832c37f0aa266f85271daa4ba5b..4e978e12130d685257f408247c4b61a3
public class ActivationRange public class ActivationRange
{ {
@@ -216,6 +220,21 @@ public class ActivationRange @@ -216,6 +220,25 @@ public class ActivationRange
for (int i = 0; i < entities.size(); i++) { for (int i = 0; i < entities.size(); i++) {
Entity entity = entities.get(i); Entity entity = entities.get(i);
ActivationRange.activateEntity(entity); ActivationRange.activateEntity(entity);
+ +
+ // Pufferfish start + // Pufferfish start
+ if (gg.pufferfish.pufferfish.PufferfishConfig.dearEnabled && entity.getType().dabEnabled) { + if (gg.pufferfish.pufferfish.PufferfishConfig.dearEnabled && entity.getType().dabEnabled) {
+ if (!entity.activatedPriorityReset) {
+ entity.activatedPriorityReset = true;
+ entity.activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio;
+ }
+ Vec3 playerVec = player.position(); + Vec3 playerVec = player.position();
+ Vec3 entityVec = entity.position(); + Vec3 entityVec = entity.position();
+ double diffX = playerVec.x - entityVec.x, diffY = playerVec.y - entityVec.y, diffZ = playerVec.z - entityVec.z; + double diffX = playerVec.x - entityVec.x, diffY = playerVec.y - entityVec.y, diffZ = playerVec.z - entityVec.z;
+ int squaredDistance = (int) (diffX * diffX + diffY * diffY + diffZ * diffZ); + int squaredDistance = (int) (diffX * diffX + diffY * diffY + diffZ * diffZ);
+ entity.activatedPriority = squaredDistance > gg.pufferfish.pufferfish.PufferfishConfig.startDistanceSquared ? + entity.activatedPriority = squaredDistance > gg.pufferfish.pufferfish.PufferfishConfig.startDistanceSquared ?
+ Math.max(1, Math.min(squaredDistance >> gg.pufferfish.pufferfish.PufferfishConfig.activationDistanceMod, gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio)) : + Math.max(1, Math.min(squaredDistance >> gg.pufferfish.pufferfish.PufferfishConfig.activationDistanceMod, entity.activatedPriority)) :
+ 1; + 1;
+ } else { + } else {
+ entity.activatedPriority = 1; + entity.activatedPriority = 1;
@@ -3605,7 +3640,7 @@ index 1b42c98956342832c37f0aa266f85271daa4ba5b..4e978e12130d685257f408247c4b61a3
} }
// Paper end // Paper end
} }
@@ -232,12 +251,12 @@ public class ActivationRange @@ -232,12 +255,12 @@ public class ActivationRange
if ( MinecraftServer.currentTick > entity.activatedTick ) if ( MinecraftServer.currentTick > entity.activatedTick )
{ {
if ( entity.defaultActivationState ) if ( entity.defaultActivationState )
@@ -3620,7 +3655,7 @@ index 1b42c98956342832c37f0aa266f85271daa4ba5b..4e978e12130d685257f408247c4b61a3
entity.activatedTick = MinecraftServer.currentTick; entity.activatedTick = MinecraftServer.currentTick;
} }
} }
@@ -291,7 +310,7 @@ public class ActivationRange @@ -291,7 +314,7 @@ public class ActivationRange
if ( entity instanceof LivingEntity ) if ( entity instanceof LivingEntity )
{ {
LivingEntity living = (LivingEntity) entity; LivingEntity living = (LivingEntity) entity;

View File

@@ -27,10 +27,10 @@ index ed9c8e882739c02d0d04129d251e4c726b422c07..5426e57ed67b0d144818a7e3b917c90d
"This can improve performance by a few percent, but has minor gameplay implications."); "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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e802ee2b2dc458f52dbce9746fc9891eebb6dcc1..0e7dd081befe76e8c589f58e44f1aed76be312e6 100644 index fde970ada330e3e2fd481c7687c8499129bd929c..a32c574e7c2beadea31faec788b65a4361414c7c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -807,7 +807,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -808,7 +808,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
@@ -40,7 +40,7 @@ index e802ee2b2dc458f52dbce9746fc9891eebb6dcc1..0e7dd081befe76e8c589f58e44f1aed7
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 0277633fd328ef9993fea4ac29df83b5b00c0f42..35d6a8fe168caa5b68b471bd78cc95b99758d1b0 100644 index 791411866cabc2c237f40d54250d5a34653ceaa0..baf48dc10723cc7c7ececfeb8a05b57aff6ed1bf 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -53,7 +53,7 @@ index 0277633fd328ef9993fea4ac29df83b5b00c0f42..35d6a8fe168caa5b68b471bd78cc95b9
// Pufferfish start - ensure these get inlined // Pufferfish start - ensure these get inlined
private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection; 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 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 f5adadb2e29ed8b52a502489ba06df4551cd06dc..b89dad36bf09fdab340efc83d09992b707cd321a 100644 index 39684720c5ee2bb36b8d12cc10e05b7ab8d06172..e0e4a924e926b086699998095a1abddd01d8c002 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/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 { @@ -130,7 +130,7 @@ public class LevelChunk extends ChunkAccess {

View File

@@ -168,7 +168,7 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438
stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n"); stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 409a544a8cefcfd139bff9b5016fb7a587568a70..0eb4a5b18dcaccd37c2b2c71dbc000aeba559a1a 100644 index 3cadf20891888b56ac70798d581d6a044a98c0a3..10869c6c0697917c412f80dfdc9b211fec0b5b06 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -298,7 +298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -298,7 +298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -177,7 +177,7 @@ index 409a544a8cefcfd139bff9b5016fb7a587568a70..0eb4a5b18dcaccd37c2b2c71dbc000ae
public boolean isIteratingOverLevels = false; // Paper public boolean isIteratingOverLevels = false; // Paper
- -
+ +
public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning"); // Pufferfish - optimize mob spawning
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
@@ -923,7 +923,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -923,7 +923,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -231,7 +231,7 @@ index 8db3bcc63aeb23e5b50864ebea675acc75d184ff..3aa9a667d988fe2b6118ce4b3a4551e7
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8; private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 85d94f47792bbd63c4c4ee8fa4a88abc4c440286..d3d280ee8ddb949b50f434dcd23175911611add0 100644 index a4848a507f620cff686992c2e95039ca60af6d0e..c42e913376fc76d588070fe130470196429fa3b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper @@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper

View File

@@ -81,10 +81,10 @@ index 67bce77093dcc126098731047447da2031e3388d..c4088446d30c3b25cf196f51fd394cd0
return this.isFireSource; return this.isFireSource;
} }
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 26b42474a94ccabd8cfcca39e4c37fb14852cbb8..3971e5cf1fa98e8269c899f494a018042e83b69a 100644 index 249305f0fc4f525fe2d109ecc96900ce3680b1b1..8d52d2fdb98af8d21d3bbea407ff52d3e5eb4ea2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3801,6 +3801,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3802,6 +3802,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return SlotAccess.NULL; return SlotAccess.NULL;
} }

View File

@@ -22,7 +22,7 @@ index 153451ecd5b3c8e8ecb2d5ec91ccd582d4300899..56536c39bccfe097f8227c74a0d16799
super(x, y, z); super(x, y, z);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0eb4a5b18dcaccd37c2b2c71dbc000aeba559a1a..19b9b7deac4d8f125008526cc115375cceced369 100644 index 10869c6c0697917c412f80dfdc9b211fec0b5b06..f2d589f1ad9b507fca816320472caa455a4c6f89 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1517,6 +1517,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1517,6 +1517,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -34,7 +34,7 @@ index 0eb4a5b18dcaccd37c2b2c71dbc000aeba559a1a..19b9b7deac4d8f125008526cc115375c
this.profiler.push(() -> { 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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 4e0aed7902b6f184441000975d88202cce5040e8..3887126b59e13fc42e096adab29caf726711da00 100644 index a32c574e7c2beadea31faec788b65a4361414c7c..4cea8ac36f618e86ef4fcbe214e8d95cf3bf6fcf 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/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 { @@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -79,7 +79,7 @@ index 15075c8705929de83adaf0f7afe7a7cfd40150ae..6ec78e1efff939755b163ab88405e17b
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
// Paper start // Paper start
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 3971e5cf1fa98e8269c899f494a018042e83b69a..8bcbaafaa8979773bafe6a9af3e4b97b54039bce 100644 index 8d52d2fdb98af8d21d3bbea407ff52d3e5eb4ea2..810e0b92e2090c18806297b8c29d4e539ddde68e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -361,7 +361,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -361,7 +361,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -91,7 +91,7 @@ index 3971e5cf1fa98e8269c899f494a018042e83b69a..8bcbaafaa8979773bafe6a9af3e4b97b
private float eyeHeight; private float eyeHeight;
public boolean isInPowderSnow; public boolean isInPowderSnow;
public boolean wasInPowderSnow; public boolean wasInPowderSnow;
@@ -2781,6 +2781,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2782,6 +2782,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.passengers = ImmutableList.copyOf(list); this.passengers = ImmutableList.copyOf(list);
} }
@@ -104,7 +104,7 @@ index 3971e5cf1fa98e8269c899f494a018042e83b69a..8bcbaafaa8979773bafe6a9af3e4b97b
} }
return true; // CraftBukkit return true; // CraftBukkit
} }
@@ -2821,6 +2827,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2822,6 +2828,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return false; return false;
} }
// Spigot end // Spigot end
@@ -119,7 +119,7 @@ index 3971e5cf1fa98e8269c899f494a018042e83b69a..8bcbaafaa8979773bafe6a9af3e4b97b
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of(); this.passengers = ImmutableList.of();
} else { } else {
@@ -4571,4 +4585,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4572,4 +4586,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
} }
// Paper end // Paper end

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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a774e9a2ee85a8356fd9d39a8fbe98ff893f8f1f..558cd427e0b08a6b59b9851242386e89ca87b996 100644 index 4cea8ac36f618e86ef4fcbe214e8d95cf3bf6fcf..14e7aa4f781bda0d964194f9be6935e8bd057931 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -830,9 +830,15 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -831,9 +831,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 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) { if (flag1) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ad8e766c1b8262e9130fca3bd753b0cc6628db35..2ac6152896928b58d722355e24188b43b8b4d190 100644 index b32ce5c62c1a700ee612c4c2177c068e8a2f9f53..ece73bc2f6d67dde38bb2b42dd2dcf3bd5806691 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -890,7 +890,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -891,7 +891,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void checkOutOfWorld() { public void checkOutOfWorld() {
// Paper start - Configurable nether ceiling damage // Paper start - Configurable nether ceiling damage

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2ac6152896928b58d722355e24188b43b8b4d190..b4b527e496b117b6bf0e8fb6b77aeaf421ac5f41 100644 index ece73bc2f6d67dde38bb2b42dd2dcf3bd5806691..6ffeafc0c9ed077a3923d0b2c0540a83e0606942 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4625,5 +4625,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4626,5 +4626,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public boolean processClick(InteractionHand hand) { public boolean processClick(InteractionHand hand) {
return false; return false;
} }

View File

@@ -25,7 +25,7 @@ index be33d4c0c00804547da3f0aa56b52014343dd804..7edc474d30256811a04788e01d6f0ceb
public boolean spiderRidable = false; public boolean spiderRidable = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 2fec279d8880e310cbddea2eb12e2fc4baf99d8c..6e87153e62db14b5bc8a984c6c9c61780d102083 100644 index 7529bca82efe4c33dbf781bcf6f8b583fa54fa95..383a13a26ee9445fa6201770bb9bef274d72283a 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java --- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -15,6 +15,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature; @@ -15,6 +15,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature;
@@ -36,7 +36,7 @@ index 2fec279d8880e310cbddea2eb12e2fc4baf99d8c..6e87153e62db14b5bc8a984c6c9c6178
import net.minecraft.world.entity.animal.WaterAnimal; import net.minecraft.world.entity.animal.WaterAnimal;
import net.minecraft.world.entity.animal.horse.Llama; import net.minecraft.world.entity.animal.horse.Llama;
import net.minecraft.world.entity.boss.EnderDragonPart; import net.minecraft.world.entity.boss.EnderDragonPart;
@@ -392,6 +393,7 @@ public class ActivationRange @@ -396,6 +397,7 @@ public class ActivationRange
*/ */
public static boolean checkIfActive(Entity entity) public static boolean checkIfActive(Entity entity)
{ {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b4b527e496b117b6bf0e8fb6b77aeaf421ac5f41..49f655e9335a13110c2fbb11af02fc81e71e1dbe 100644 index 6ffeafc0c9ed077a3923d0b2c0540a83e0606942..a2a7fa5508c9975449174365299fc6884f51b936 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4079,6 +4079,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4080,6 +4080,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.yRotO = this.getYRot(); this.yRotO = this.getYRot();
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 49f655e9335a13110c2fbb11af02fc81e71e1dbe..d1c7f434d8779646ceef1e72af38a3e0d25d12f0 100644 index a2a7fa5508c9975449174365299fc6884f51b936..2f78b7c1b2bad8937ac0cdccd5be8faaf1057cbc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2892,7 +2892,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2893,7 +2893,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void handleInsidePortal(BlockPos pos) { public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) { if (this.isOnPortalCooldown()) {
this.setPortalCooldown(); this.setPortalCooldown();
@@ -17,7 +17,7 @@ index 49f655e9335a13110c2fbb11af02fc81e71e1dbe..d1c7f434d8779646ceef1e72af38a3e0
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable(); this.portalEntrancePos = pos.immutable();
} }
@@ -3568,7 +3568,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3569,7 +3569,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public boolean canChangeDimensions() { public boolean canChangeDimensions() {

View File

@@ -18,7 +18,7 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time % 192000; // Paper - fix guardian beam 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 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2e17a2c1b536715dd5a38e90615315b8670b1d8b..9b3717176ecb40f4c76a5191956f7d378f3f1478 100644 index a90befe6b38d6789e200535f688804d85dad13e7..a1f830b27137f660fd2f0d95eb4b6692ecb56943 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -31,7 +31,7 @@ index 2e17a2c1b536715dd5a38e90615315b8670b1d8b..9b3717176ecb40f4c76a5191956f7d37
} }
ServerPlayer entityplayer = (ServerPlayer) entityhuman; 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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 444a8207fe3610f4cd5f975c5983efab43ccbfea..656ea698078724362cd1a39d29d40ba763b1c12a 100644 index 6f2ec08bf3f7a2902b07e87bdca247d30ec900fe..ee9b4db369763cc579ac112be35167e0d0af6100 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/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 { @@ -212,6 +212,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -51,7 +51,7 @@ index 444a8207fe3610f4cd5f975c5983efab43ccbfea..656ea698078724362cd1a39d29d40ba7
} }
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) { public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
@@ -792,6 +795,13 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -793,6 +796,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setGameTime(i); this.serverLevelData.setGameTime(i);
this.serverLevelData.getScheduledEvents().tick(this.server, i); this.serverLevelData.getScheduledEvents().tick(this.server, i);
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
@@ -65,7 +65,7 @@ index 444a8207fe3610f4cd5f975c5983efab43ccbfea..656ea698078724362cd1a39d29d40ba7
this.setDayTime(this.levelData.getDayTime() + 1L); this.setDayTime(this.levelData.getDayTime() + 1L);
} }
@@ -800,7 +810,21 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -801,7 +811,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
public void setDayTime(long timeOfDay) { public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay); this.serverLevelData.setDayTime(timeOfDay);

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index fd3aee8e2d69487415a3a0c5725109fc29cc007c..92a04741779445bdccb6edafdff7209120507296 100644 index 2f78b7c1b2bad8937ac0cdccd5be8faaf1057cbc..5622d3a0732c3006cd9de90b62dec741da0caac4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1732,7 +1732,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1733,7 +1733,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return this.isInWater() || flag; return this.isInWater() || flag;
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 49a828e2c8859352a6a16b1ea43547dbcde1b9ba..52d0e1b5e461eaf5b1eb412e0adfb52e294af2be 100644 index eaf78967480585b57dece2f791f38609c08339d7..67d466b084b30c57898a6eae773c09daa78ca849 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1188,6 +1188,7 @@ public class ServerPlayer extends Player { @@ -1188,6 +1188,7 @@ public class ServerPlayer extends Player {
@@ -17,10 +17,10 @@ index 49a828e2c8859352a6a16b1ea43547dbcde1b9ba..52d0e1b5e461eaf5b1eb412e0adfb52e
// CraftBukkit end // CraftBukkit end
this.setLevel(worldserver); this.setLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 92a04741779445bdccb6edafdff7209120507296..e03bc5bd30b8a8960159edc855f7493bb6afd755 100644 index 5622d3a0732c3006cd9de90b62dec741da0caac4..c8d08fb02eefee08799661423fd4342f05f1b8f2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2889,12 +2889,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2890,12 +2890,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return Vec3.directionFromRotation(this.getRotationVector()); return Vec3.directionFromRotation(this.getRotationVector());
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e03bc5bd30b8a8960159edc855f7493bb6afd755..29974e78e864d19681a2eb4b35dad2063465acd4 100644 index c8d08fb02eefee08799661423fd4342f05f1b8f2..a3a76273bb6ce1621366cfd8dec22e5bd3f5c45e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3128,7 +3128,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3129,7 +3129,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public int getMaxAirSupply() { public int getMaxAirSupply() {
@@ -18,7 +18,7 @@ index e03bc5bd30b8a8960159edc855f7493bb6afd755..29974e78e864d19681a2eb4b35dad206
public int getAirSupply() { public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8272135f82a8b42e39f208b4d5758ce7d56d501e..f7473ee8fc0ced687d76ee7d569c1d7cb7ae8f63 100644 index 782bfe3a360b7e63f8457cb7b8b5973740d2b8db..a814faa3be41a60eb6c1a27bafd5a9489c6e8687 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -422,7 +422,7 @@ public abstract class LivingEntity extends Entity { @@ -422,7 +422,7 @@ public abstract class LivingEntity extends Entity {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev> Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b0a3d8f7b1b1ad02e11eede0dd4dd88c75ea93ca..cb51ff789d0de27a3cb81ccb863897e427475cd1 100644 index a3a76273bb6ce1621366cfd8dec22e5bd3f5c45e..bd76451230bb0b5abb744088b67b7e558a3241a4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4638,5 +4638,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4639,5 +4639,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public boolean canSaveToDisk() { public boolean canSaveToDisk() {
return true; return true;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ce844dfc6f01f3aa6463054174a41f6f3161ad7a..333cb9aaf281822ed47443d54a27fe2fc438cd21 100644 index bd76451230bb0b5abb744088b67b7e558a3241a4..c18ec8ea889eda26498ec7a31c631cafdaf53432 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2948,7 +2948,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2949,7 +2949,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
this.processPortalCooldown(); this.processPortalCooldown();

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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c96ce52b97881d48d81f0cbe6c44aa1c1505e43c..f08262d7c8c0c7ebaafe5e9d946d6f5328896463 100644 index 45257a5292b4f6e95c2628547233a81ce9e67008..4b86792bfdf02ac8235a981bfca8779527de5b38 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -973,7 +973,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -974,7 +974,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
return holder.is(PoiTypes.LIGHTNING_ROD); return holder.is(PoiTypes.LIGHTNING_ROD);
}, (blockposition1) -> { }, (blockposition1) -> {
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; 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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f08262d7c8c0c7ebaafe5e9d946d6f5328896463..38a2173688a4911fd62f7072acf6003bbbeabc13 100644 index 4b86792bfdf02ac8235a981bfca8779527de5b38..6a8c1da4e69f1ceaa74a30c7571af87910fe8562 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1022,11 +1022,27 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1023,11 +1023,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (this.canSleepThroughNights()) { if (this.canSleepThroughNights()) {
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);

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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 38a2173688a4911fd62f7072acf6003bbbeabc13..f869fe906a5c65c1ef045f77cff894d005aad835 100644 index 6a8c1da4e69f1ceaa74a30c7571af87910fe8562..1ae2b3ce635c6e4b3cdabddda253ec9c925d06cc 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1181,6 +1181,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1182,6 +1182,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
private void resetWeatherCycle() { private void resetWeatherCycle() {
// CraftBukkit start // CraftBukkit start
@@ -16,7 +16,7 @@ index 38a2173688a4911fd62f7072acf6003bbbeabc13..f869fe906a5c65c1ef045f77cff894d0
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night 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. // 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.... // Not that everyone ever manages to get the whole server to sleep at the same time....
@@ -1188,6 +1189,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1189,6 +1190,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setRainTime(0); this.serverLevelData.setRainTime(0);
} }
// CraftBukkit end // CraftBukkit end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to prevent spiders from climbing world border
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 333cb9aaf281822ed47443d54a27fe2fc438cd21..f9cf68820e01619a4ec319f18583a24115bfe112 100644 index c18ec8ea889eda26498ec7a31c631cafdaf53432..9ec8bb25f4b6101e0fe2f99ca6e15da2c000e6e7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -304,6 +304,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -304,6 +304,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -16,7 +16,7 @@ index 333cb9aaf281822ed47443d54a27fe2fc438cd21..f9cf68820e01619a4ec319f18583a241
public boolean hurtMarked; public boolean hurtMarked;
protected Vec3 stuckSpeedMultiplier; protected Vec3 stuckSpeedMultiplier;
@Nullable @Nullable
@@ -1416,7 +1417,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1417,7 +1418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, this.level.paperConfig().chunks.preventMovingIntoUnloadedChunks, io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, this.level.paperConfig().chunks.preventMovingIntoUnloadedChunks,
false, false, null, null); false, false, null, null);

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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f869fe906a5c65c1ef045f77cff894d005aad835..71ff2cfc4aba6da71911ea717e3557647c41c210 100644 index 1ae2b3ce635c6e4b3cdabddda253ec9c925d06cc..4ba091c3ecb1cf65839b91a459954545214ef15b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2700,7 +2700,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -2701,7 +2701,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot Start // Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start // Paper start

View File

@@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG. This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2988818acd52ae37f4ac4005ae550aefc40fe431..ef8d7c0c922cdc9e4ee857144677990c90c663ba 100644 index 9ec8bb25f4b6101e0fe2f99ca6e15da2c000e6e7..bf55ce8f12650037fab0a2133cc1c047a891b5bb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -576,7 +576,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -577,7 +577,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.bb = Entity.INITIAL_AABB; this.bb = Entity.INITIAL_AABB;
this.stuckSpeedMultiplier = Vec3.ZERO; this.stuckSpeedMultiplier = Vec3.ZERO;
this.nextStep = 1.0F; this.nextStep = 1.0F;

View File

@@ -88,7 +88,7 @@ index 8bc0cb9ad5bb4e76d962ff54305e2c08e279a17b..e8efbbeece7e866c6c4d7489677d2d9e
PacketUtils.LOGGER.debug("Ignoring packet due to disconnection: {}", packet); PacketUtils.LOGGER.debug("Ignoring packet due to disconnection: {}", packet);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 13d86c1fba2377808a5ef1e2820db445383af156..8569938bfc2b71ea32301ad78f64e5017149f5d7 100644 index 0a1662fc8bffca26de909c980b828f7ab05aa5a3..72ac77dd27840c834cbf368ffe5173ba5f21cc30 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1408,15 +1408,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1408,15 +1408,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -271,7 +271,7 @@ index cd04f57fee33097a45bcf670c25c6baf9b76851c..8b8655300fa81de8352dfec92c088f4f
@Override @Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 8d19dcf7a91d1e9c17d03e6e339885d99647ec92..6d819e330f55ddf7e2ccf2f615543f4c9eca1f71 100644 index 5b714df6faca6424e7c7d89e56a4e0425bd1b1c6..fac291c9a48b2563d33fe7250e57556aa29ec669 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/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 @@ -608,15 +608,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -354,7 +354,7 @@ index 8d19dcf7a91d1e9c17d03e6e339885d99647ec92..6d819e330f55ddf7e2ccf2f615543f4c
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 0b75caca3f77980505d0689601d920fb50f7ac4d..2af21158dfb44a49f15c07d765a09335f76ed3dd 100644 index 014255019ce3f22e0c8cf8f0a775669f909d18f4..6a11e522c5bd9042dcf89e2538d354448e501fbe 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -449,10 +449,10 @@ public class ServerChunkCache extends ChunkSource { @@ -449,10 +449,10 @@ public class ServerChunkCache extends ChunkSource {
@@ -477,7 +477,7 @@ index 0b75caca3f77980505d0689601d920fb50f7ac4d..2af21158dfb44a49f15c07d765a09335
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded // Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
// Paper start - controlled flush for entity tracker packets // 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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb663bcf5c 100644 index 4ba091c3ecb1cf65839b91a459954545214ef15b..c94246d19a0d2f2a87f74d6ca4b14a764ccfa948 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -686,7 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -686,7 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -533,9 +533,9 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
- timings.entityTick.startTiming(); // Spigot - timings.entityTick.startTiming(); // Spigot
+ //timings.entityTick.startTiming(); // Spigot // Purpur + //timings.entityTick.startTiming(); // Spigot // Purpur
this.entityTickList.forEach((entity) -> { this.entityTickList.forEach((entity) -> {
entity.activatedPriorityReset = false; // Pufferfish - DAB
if (!entity.isRemoved()) { if (!entity.isRemoved()) {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed @@ -768,8 +768,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -767,8 +767,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
}); });
@@ -546,7 +546,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
gameprofilerfiller.pop(); gameprofilerfiller.pop();
this.tickBlockEntities(); this.tickBlockEntities();
} }
@@ -930,7 +930,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -931,7 +931,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
gameprofilerfiller.popPush("randomTick"); gameprofilerfiller.popPush("randomTick");
@@ -555,7 +555,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
if (randomTickSpeed > 0) { if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections(); LevelChunkSection[] sections = chunk.getSections();
int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this); int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
@@ -964,7 +964,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 // Paper end - optimise random block ticking
@@ -564,7 +564,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
gameprofilerfiller.pop(); gameprofilerfiller.pop();
} }
@@ -1257,8 +1257,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1258,8 +1258,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot end // Spigot end
// Paper start- timings // Paper start- timings
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
@@ -575,7 +575,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
// Paper end - timings // Paper end - timings
entity.setOldPosAndRot(); entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = this.getProfiler(); ProfilerFiller gameprofilerfiller = this.getProfiler();
@@ -1274,7 +1274,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1275,7 +1275,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.postTick(); // CraftBukkit entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2 } else { entity.inactiveTick(); } // Paper - EAR 2
this.getProfiler().pop(); this.getProfiler().pop();
@@ -584,7 +584,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
Iterator iterator = entity.getPassengers().iterator(); Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1297,8 +1297,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1298,8 +1298,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (passenger instanceof Player || this.entityTickList.contains(passenger)) { if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
// Paper - EAR 2 // Paper - EAR 2
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger); final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
@@ -595,7 +595,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
// Paper end // Paper end
passenger.setOldPosAndRot(); passenger.setOldPosAndRot();
++passenger.tickCount; ++passenger.tickCount;
@@ -1328,7 +1328,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1329,7 +1329,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.tickPassenger(passenger, entity2); this.tickPassenger(passenger, entity2);
} }
@@ -604,7 +604,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
} }
} else { } else {
passenger.stopRiding(); passenger.stopRiding();
@@ -1348,14 +1348,14 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1349,14 +1349,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld()));
} }
@@ -622,7 +622,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
// Copied from save() // Copied from save()
// CraftBukkit start - moved from MinecraftServer.saveChunks // CraftBukkit start - moved from MinecraftServer.saveChunks
@@ -1367,7 +1367,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1368,7 +1368,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData()); this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
} }
// CraftBukkit end // CraftBukkit end
@@ -631,7 +631,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
} }
// Paper end // Paper end
@@ -1381,7 +1381,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1382,7 +1382,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (!savingDisabled) { if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@@ -640,7 +640,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
if (progressListener != null) { if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
} }
@@ -1391,11 +1391,11 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1392,11 +1392,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
progressListener.progressStage(Component.translatable("menu.savingChunks")); progressListener.progressStage(Component.translatable("menu.savingChunks"));
} }
@@ -656,7 +656,7 @@ index 71ff2cfc4aba6da71911ea717e3557647c41c210..550c3566b14aace0dbd4e77876abc2bb
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system } else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 799c279e63f23227cb473f7828aeaf7afb0de355..3503b7defe826db564370dbab78a8c91f5156d20 100644 index 20314fae0222f42849eb02d4b3ce4058f0b532d1..66c89b3c3668cfc0d427bca85918dbd7fc7089af 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2603,7 +2603,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -2603,7 +2603,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -687,7 +687,7 @@ index 799c279e63f23227cb473f7828aeaf7afb0de355..3503b7defe826db564370dbab78a8c91
} }
// CraftBukkit end // CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index eb3d0956a43f96d495ce6712f413e84acbc0fa1c..755d15af7cc0e47c1700db55f51e8169a521bfb8 100644 index 637099bcf299d56aeb9ef12b1a2ff69c8a2246a4..82634bd0ab2792f637573c2ee7d9d00ba1104900 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1287,7 +1287,7 @@ public abstract class PlayerList { @@ -1287,7 +1287,7 @@ public abstract class PlayerList {
@@ -790,7 +790,7 @@ index 09ae98db728bade8121587e9ded6f3ab98f3bb30..5e3acd365d9aca4271a590564e3eaad0
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
gameprofilerfiller.pop(); gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index eceae1230e672d95491405f3f7c550c90ea9b138..724f034d92f9f3f1021802e2bc2a845146c45efa 100644 index a182b3c804cf56855e15290f826fdebdc289a552..2d19db940d4f1624631cec29547e88842a4cfb98 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -132,7 +132,7 @@ public final class NaturalSpawner { @@ -132,7 +132,7 @@ public final class NaturalSpawner {
@@ -812,7 +812,7 @@ index eceae1230e672d95491405f3f7c550c90ea9b138..724f034d92f9f3f1021802e2bc2a8451
} }
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java 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 d9638971ac4d8dfaf4351cebb5ff6ea16327091e..434e33aa5c1c9722ea065627f1559c833954a342 100644 index e0e4a924e926b086699998095a1abddd01d8c002..772a2dc21071a3f687b51fbddf9f12a90d41ce79 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/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 { @@ -930,7 +930,7 @@ public class LevelChunk extends ChunkAccess {
@@ -929,7 +929,7 @@ index 138407c2d4b0bc55ddb9aac5d2aa3edadda090fb..a6e9e503a496c18e2501b03ec84f4600
// Paper end - add timings for scoreboard search // Paper end - add timings for scoreboard search
} }
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 6e87153e62db14b5bc8a984c6c9c61780d102083..937e3e783cf2f38b30024d29600eb4d042816058 100644 index 383a13a26ee9445fa6201770bb9bef274d72283a..fe830a419c81811f0a72add63a3f09a94392e4a7 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java --- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -170,7 +170,7 @@ public class ActivationRange @@ -170,7 +170,7 @@ public class ActivationRange
@@ -941,7 +941,7 @@ index 6e87153e62db14b5bc8a984c6c9c61780d102083..937e3e783cf2f38b30024d29600eb4d0
final int miscActivationRange = world.spigotConfig.miscActivationRange; final int miscActivationRange = world.spigotConfig.miscActivationRange;
final int raiderActivationRange = world.spigotConfig.raiderActivationRange; final int raiderActivationRange = world.spigotConfig.raiderActivationRange;
final int animalActivationRange = world.spigotConfig.animalActivationRange; final int animalActivationRange = world.spigotConfig.animalActivationRange;
@@ -240,7 +240,7 @@ public class ActivationRange @@ -244,7 +244,7 @@ public class ActivationRange
} }
// Paper end // Paper end
} }

View File

@@ -39,7 +39,7 @@ index edd378813873ed367784379b0f1666d1ccf2194d..eb4dac2239592d680ef31edf47f1ab66
return b0; return b0;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8569938bfc2b71ea32301ad78f64e5017149f5d7..0168d31480ded035584157c747f60df7f712f250 100644 index 72ac77dd27840c834cbf368ffe5173ba5f21cc30..2c6461491881da9f878bd5aa245272ea49dd5fd8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -328,13 +328,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -328,13 +328,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -538,7 +538,7 @@ index 6a11e522c5bd9042dcf89e2538d354448e501fbe..3bee0bfc481ffe3ea1860c5b23ad2efb
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016aaa77514 100644 index c94246d19a0d2f2a87f74d6ca4b14a764ccfa948..2833d47fd1e8913d2160cbf48f34e941ad885a78 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -653,12 +653,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -653,12 +653,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -614,7 +614,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
} }
org.spigotmc.ActivationRange.activateEntities(this); // Spigot org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -733,9 +733,9 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -734,9 +734,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 if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard(); entity.discard();
} else { } else {
@@ -626,7 +626,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list
Entity entity1 = entity.getVehicle(); Entity entity1 = entity.getVehicle();
@@ -747,7 +747,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -748,7 +748,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.stopRiding(); entity.stopRiding();
} }
@@ -635,7 +635,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
// Pufferfish start - copied from this.guardEntityTick // Pufferfish start - copied from this.guardEntityTick
try { try {
this.tickNonPassenger(entity); // Pufferfish - changed this.tickNonPassenger(entity); // Pufferfish - changed
@@ -762,22 +762,22 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -763,22 +763,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end // Paper end
} }
// Pufferfish end // Pufferfish end
@@ -663,7 +663,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
} }
@Override @Override
@@ -859,9 +859,9 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -860,9 +860,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag = this.isRaining(); boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX(); int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ(); int k = chunkcoordintpair.getMinBlockZ();
@@ -675,7 +675,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change 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 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
@@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -894,7 +894,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
@@ -684,7 +684,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
if (!this.paperConfig().environment.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Paper - optimise random ticking // Pufferfish - optimize further random ticking 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 // Paper start - optimise chunk ticking
this.getRandomBlockPosition(j, 0, k, 15, blockposition); this.getRandomBlockPosition(j, 0, k, 15, blockposition);
@@ -929,7 +929,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 // Paper start - optimise random block ticking
@@ -693,7 +693,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) { if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections(); LevelChunkSection[] sections = chunk.getSections();
@@ -965,7 +965,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -966,7 +966,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper end - optimise random block ticking // Paper end - optimise random block ticking
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur //timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
@@ -702,7 +702,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
} }
public Optional<BlockPos> findLightningRod(BlockPos pos) { public Optional<BlockPos> findLightningRod(BlockPos pos) {
@@ -1261,19 +1261,19 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1262,19 +1262,19 @@ public class ServerLevel extends Level implements WorldGenLevel {
//try { // Purpur //try { // Purpur
// Paper end - timings // Paper end - timings
entity.setOldPosAndRot(); entity.setOldPosAndRot();
@@ -727,7 +727,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
//} finally { timer.stopTiming(); } // Paper - timings // Purpur //} finally { timer.stopTiming(); } // Paper - timings // Purpur
Iterator iterator = entity.getPassengers().iterator(); Iterator iterator = entity.getPassengers().iterator();
@@ -1302,12 +1302,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1303,12 +1303,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end // Paper end
passenger.setOldPosAndRot(); passenger.setOldPosAndRot();
++passenger.tickCount; ++passenger.tickCount;
@@ -744,7 +744,7 @@ index a242d1d51784c5e22464c3c23cd45b62e338f5fd..55dfc1e2d7653a474aefed403dc67016
// Paper start - EAR 2 // Paper start - EAR 2
if (isActive) { if (isActive) {
passenger.rideTick(); passenger.rideTick();
@@ -1319,7 +1319,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1320,7 +1320,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
vehicle.positionRider(passenger); vehicle.positionRider(passenger);
} }
// Paper end - EAR 2 // Paper end - EAR 2
@@ -1013,10 +1013,10 @@ index 5725c6593480fada65facc29664a00a8cc073512..ccb1f998ae3122d1856d77149ff7e7df
}; };
} }
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f11bb9688 100644 index bf55ce8f12650037fab0a2133cc1c047a891b5bb..0981acb2a87bb2535a0b447c4f23e14befcc81d3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -821,7 +821,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -822,7 +822,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return; return;
} }
// Pufferfish end - entity TTL // Pufferfish end - entity TTL
@@ -1025,7 +1025,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
this.feetBlockState = null; this.feetBlockState = null;
if (this.isPassenger() && this.getVehicle().isRemoved()) { if (this.isPassenger() && this.getVehicle().isRemoved()) {
@@ -882,7 +882,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -883,7 +883,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
this.firstTick = false; this.firstTick = false;
@@ -1034,7 +1034,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
} }
public void setSharedFlagOnFire(boolean onFire) { public void setSharedFlagOnFire(boolean onFire) {
@@ -1056,7 +1056,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1057,7 +1057,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
} }
@@ -1043,7 +1043,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
movement = movement.multiply(this.stuckSpeedMultiplier); movement = movement.multiply(this.stuckSpeedMultiplier);
this.stuckSpeedMultiplier = Vec3.ZERO; this.stuckSpeedMultiplier = Vec3.ZERO;
@@ -1065,7 +1065,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1066,7 +1066,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// Paper start - ignore movement changes while inactive. // Paper start - ignore movement changes while inactive.
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
setDeltaMovement(Vec3.ZERO); setDeltaMovement(Vec3.ZERO);
@@ -1052,7 +1052,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
return; return;
} }
// Paper end // Paper end
@@ -1086,8 +1086,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1087,8 +1087,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
} }
@@ -1063,7 +1063,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag = !Mth.equal(movement.x, vec3d1.x);
boolean flag1 = !Mth.equal(movement.z, vec3d1.z); boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
@@ -1106,7 +1106,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1107,7 +1107,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition); this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition);
if (this.isRemoved()) { if (this.isRemoved()) {
@@ -1072,7 +1072,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
} else { } else {
if (this.horizontalCollision) { if (this.horizontalCollision) {
Vec3 vec3d2 = this.getDeltaMovement(); Vec3 vec3d2 = this.getDeltaMovement();
@@ -1247,7 +1247,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1248,7 +1248,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.setRemainingFireTicks(-this.getFireImmuneTicks()); this.setRemainingFireTicks(-this.getFireImmuneTicks());
} }
@@ -1081,7 +1081,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
} }
} }
// Paper start - detailed watchdog information // Paper start - detailed watchdog information
@@ -2916,7 +2916,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2917,7 +2917,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
@@ -1090,7 +1090,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
this.portalTime = i; this.portalTime = i;
// Paper start // Paper start
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
@@ -2934,7 +2934,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2935,7 +2935,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
} // Paper } // Paper
// CraftBukkit end // CraftBukkit end
@@ -1099,7 +1099,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
} }
this.isInsidePortal = false; this.isInsidePortal = false;
@@ -3392,14 +3392,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3393,14 +3393,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
// Paper end // Paper end
if (this.level instanceof ServerLevel && !this.isRemoved()) { if (this.level instanceof ServerLevel && !this.isRemoved()) {
@@ -1116,7 +1116,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
if (shapedetectorshape == null) { if (shapedetectorshape == null) {
@@ -3433,7 +3433,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3434,7 +3434,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.unRide(); this.unRide();
// CraftBukkit end // CraftBukkit end
@@ -1125,7 +1125,7 @@ index ef8d7c0c922cdc9e4ee857144677990c90c663ba..6c8a5126c45aec13dc881a1998bdbb0f
// Paper start - Change lead drop timing to prevent dupe // Paper start - Change lead drop timing to prevent dupe
if (this instanceof Mob) { if (this instanceof Mob) {
((Mob) this).dropLeash(true, true); // Paper drop lead ((Mob) this).dropLeash(true, true); // Paper drop lead
@@ -3456,10 +3456,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3457,10 +3457,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
this.removeAfterChangingDimensions(); this.removeAfterChangingDimensions();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6c8a5126c45aec13dc881a1998bdbb0f11bb9688..9f3a065a24d2e8cc2ea7ae307545af013fdbbf1b 100644 index 0981acb2a87bb2535a0b447c4f23e14befcc81d3..a9a915efb5b270b3f13cb7493f59b36d818312d8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -398,6 +398,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -398,6 +398,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -16,7 +16,7 @@ index 6c8a5126c45aec13dc881a1998bdbb0f11bb9688..9f3a065a24d2e8cc2ea7ae307545af01
public void setOrigin(@javax.annotation.Nonnull Location location) { public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector(); this.origin = location.toVector();
@@ -1664,7 +1665,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1665,7 +1666,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public boolean fireImmune() { public boolean fireImmune() {
@@ -25,7 +25,7 @@ index 6c8a5126c45aec13dc881a1998bdbb0f11bb9688..9f3a065a24d2e8cc2ea7ae307545af01
} }
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
@@ -2301,6 +2302,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2302,6 +2303,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
nbt.putBoolean("Paper.FreezeLock", true); nbt.putBoolean("Paper.FreezeLock", true);
} }
// Paper end // Paper end
@@ -37,7 +37,7 @@ index 6c8a5126c45aec13dc881a1998bdbb0f11bb9688..9f3a065a24d2e8cc2ea7ae307545af01
return nbt; return nbt;
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2468,6 +2474,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2469,6 +2475,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
freezeLocked = nbt.getBoolean("Paper.FreezeLock"); freezeLocked = nbt.getBoolean("Paper.FreezeLock");
} }
// Paper end // Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 9f3a065a24d2e8cc2ea7ae307545af013fdbbf1b..c8a24d1026671652cc5042d6b41b85e38ddfda8b 100644 index a9a915efb5b270b3f13cb7493f59b36d818312d8..dd13fc7cbf82948b1474ea33411e64b465608672 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -419,7 +419,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -420,7 +420,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score
public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // used where needed public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // used where needed
// Pufferfish end // Pufferfish end
@@ -17,7 +17,7 @@ index 9f3a065a24d2e8cc2ea7ae307545af013fdbbf1b..c8a24d1026671652cc5042d6b41b85e3
public float getBukkitYaw() { public float getBukkitYaw() {
return this.yRot; return this.yRot;
} }
@@ -896,6 +896,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -897,6 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v) && this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end // Paper end