Updated Upstream (Paper & Tuinity)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
3dbb8926e Fix PotionSplashEvent for water splash potions (#5697)
b759d006e Adds per-world spawn limits (#4837)
81de619d3 Updated Upstream (CraftBukkit) (#5786)
5e3604f1b Better fix for invulnerable crystals and improve Origin API (#5761)
d5fe9c817 Updated Upstream (CraftBukkit) (#5784)

Tuinity Changes:
df76b3cc5 Update Upstream (Paper)
This commit is contained in:
BillyGalbreath
2021-06-08 07:28:51 -05:00
parent ed3ed978d1
commit a81e2e7c99
26 changed files with 89 additions and 129 deletions

2
Paper

Submodule Paper updated: d20e5b1954...3dbb8926e5

View File

@@ -5659,10 +5659,10 @@ index 0000000000000000000000000000000000000000..0e4442a94559346b19a536d35ce5def6
+}
diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..e1dc7c1025e19f7393a45719af8fe7aae016184d
index 0000000000000000000000000000000000000000..414c8de2bcc10165e2d328a5746899ac087698b4
--- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
@@ -0,0 +1,415 @@
@@ -0,0 +1,398 @@
+package com.tuinity.tuinity.config;
+
+import com.destroystokyo.paper.util.SneakyThrow;
@@ -5789,7 +5789,7 @@ index 0000000000000000000000000000000000000000..e1dc7c1025e19f7393a45719af8fe7aa
+ tickWorldsInParallel = TuinityConfig.getBoolean("tick-worlds-in-parallel", false);
+ tickThreads = TuinityConfig.getInt("server-tick-threads", 1); // will be 4 in the future
+ }*/
+
+
+ public static int delayChunkUnloadsBy;
+
+ private static void delayChunkUnloadsBy() {
@@ -6058,23 +6058,6 @@ index 0000000000000000000000000000000000000000..e1dc7c1025e19f7393a45719af8fe7aa
+ final int threads = this.getInt("tick-threads", -1);
+ this.threads = threads == -1 ? TuinityConfig.tickThreads : threads;
+ }*/
+
+ public int spawnLimitMonsters;
+ public int spawnLimitAnimals;
+ public int spawnLimitWaterAmbient;
+ public int spawnLimitWaterAnimals;
+ public int spawnLimitAmbient;
+
+ private void perWorldSpawnLimit() {
+ final String path = "spawn-limits";
+
+ this.spawnLimitMonsters = this.getInt(path + ".monsters", -1);
+ this.spawnLimitAnimals = this.getInt(path + ".animals", -1);
+ this.spawnLimitWaterAmbient = this.getInt(path + ".water-ambient", -1);
+ this.spawnLimitWaterAnimals = this.getInt(path + ".water-animals", -1);
+ this.spawnLimitAmbient = this.getInt(path + ".ambient", -1);
+ }
+
+ }
+
+}
@@ -11627,7 +11610,7 @@ index 3644e8b24b082e17752ef52934625416130aaa08..58e14c174cdf76cdea861fd3d4d1195f
class b extends ChunkMap {
diff --git a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
index 4a71f9a8a57ed123b31c725a8bd5f94ab0e2174d..e0ffea4f5d45a402d4ff5b4b831f2663f9d73eeb 100644
index 4a71f9a8a57ed123b31c725a8bd5f94ab0e2174d..1b86c032fde3409cb89b849b9ba094af82cd9269 100644
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
@@ -47,6 +47,12 @@ import net.minecraft.world.level.storage.WorldData;
@@ -11931,7 +11914,7 @@ index 4a71f9a8a57ed123b31c725a8bd5f94ab0e2174d..e0ffea4f5d45a402d4ff5b4b831f2663
this.world.timings.doChunkUnload.stopTiming(); // Spigot
this.world.getMethodProfiler().exit();
this.clearCache();
@@ -834,32 +1017,37 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -834,32 +1017,38 @@ public class ChunkProviderServer extends IChunkProvider {
for (EntityPlayer player : this.world.players) {
Arrays.fill(player.mobCounts, 0);
}
@@ -11951,7 +11934,7 @@ index 4a71f9a8a57ed123b31c725a8bd5f94ab0e2174d..e0ffea4f5d45a402d4ff5b4b831f2663
//List<PlayerChunk> list = Lists.newArrayList(this.playerChunkMap.f()); // Paper
//Collections.shuffle(list); // Paper
// Paper - moved up
- this.world.timings.chunkTicks.startTiming(); // Paper
this.world.timings.chunkTicks.startTiming(); // Paper
- final int[] chunksTicked = {0}; this.playerChunkMap.forEachVisibleChunk((playerchunk) -> { // Paper - safe iterator incase chunk loads, also no wrapping
- Optional<Chunk> optional = ((Either) playerchunk.a().getNow(PlayerChunk.UNLOADED_CHUNK)).left();
-
@@ -11980,7 +11963,7 @@ index 4a71f9a8a57ed123b31c725a8bd5f94ab0e2174d..e0ffea4f5d45a402d4ff5b4b831f2663
ChunkCoordIntPair chunkcoordintpair = playerchunk.i();
if (!this.playerChunkMap.isOutsideOfRange(playerchunk, chunkcoordintpair, false)) { // Paper - optimise isOutsideOfRange
@@ -871,12 +1059,15 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -871,11 +1060,15 @@ public class ChunkProviderServer extends IChunkProvider {
//this.world.timings.chunkTicks.startTiming(); // Spigot // Paper
this.world.a(chunk, k);
//this.world.timings.chunkTicks.stopTiming(); // Spigot // Paper
@@ -11990,16 +11973,15 @@ index 4a71f9a8a57ed123b31c725a8bd5f94ab0e2174d..e0ffea4f5d45a402d4ff5b4b831f2663
}
}
- });
- this.world.timings.chunkTicks.stopTiming(); // Paper
+ } // Tuinity start - optimise chunk tick iteration
+ } finally {
+ iterator.finishedIterating();
+ }
+ // Tuinity end - optimise chunk tick iteration
this.world.timings.chunkTicks.stopTiming(); // Paper
this.world.getMethodProfiler().enter("customSpawners");
if (flag1) {
try (co.aikar.timings.Timing ignored = this.world.timings.miscMobSpawning.startTiming()) { // Paper - timings
@@ -888,7 +1079,25 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -888,7 +1081,25 @@ public class ChunkProviderServer extends IChunkProvider {
this.world.getMethodProfiler().exit();
}
@@ -12025,7 +12007,7 @@ index 4a71f9a8a57ed123b31c725a8bd5f94ab0e2174d..e0ffea4f5d45a402d4ff5b4b831f2663
}
private void a(long i, Consumer<Chunk> consumer) {
@@ -1028,44 +1237,12 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -1028,44 +1239,12 @@ public class ChunkProviderServer extends IChunkProvider {
ChunkProviderServer.this.world.getMethodProfiler().c("runTask");
super.executeTask(runnable);
}
@@ -15372,7 +15354,7 @@ index dca2e9e45116df22d8c95d1be8f0a7e3c2d2b6b1..cb394ec310712cc97d65afe068284b27
try {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c340672dc816c8 100644
index 6e1304f7169c11f67c573b2c8dc11825bcc7da0d..89852779fd9cfd19058afe40feb0cf14ca8d2896 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -228,7 +228,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -15399,7 +15381,7 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
// Paper start - optimise entity tracking
final org.spigotmc.TrackingRange.TrackingRangeType trackingRangeType = org.spigotmc.TrackingRange.getTrackingRangeType(this);
@@ -309,11 +317,59 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -309,8 +317,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
}
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<EntityPlayer> getPlayersInTrackRange() {
@@ -15423,6 +15405,10 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
}
// Paper end - optimise entity tracking
@@ -345,6 +366,41 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
}
// Paper end - make end portalling safe
+ // Tuinity start
+ /**
+ * Overriding this field will cause memory leaks.
@@ -15458,9 +15444,9 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
+ }
+ // Tuinity end
+
// Paper start - make end portalling safe
public BlockPosition portalBlock;
public WorldServer portalWorld;
public Entity(EntityTypes<?> entitytypes, World world) {
this.id = Entity.entityCount.incrementAndGet();
this.passengers = Lists.newArrayList();
@@ -714,7 +770,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return this.onGround;
}
@@ -15750,7 +15736,7 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
public double h(Entity entity) {
return this.e(entity.getPositionVector());
}
@@ -2068,9 +2313,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2073,9 +2318,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
float f1 = this.size.width * 0.8F;
AxisAlignedBB axisalignedbb = AxisAlignedBB.g((double) f1, 0.10000000149011612D, (double) f1).d(this.locX(), this.getHeadY(), this.locZ());
@@ -15762,7 +15748,7 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
}
}
@@ -2078,11 +2323,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2083,11 +2328,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return EnumInteractionResult.PASS;
}
@@ -15778,7 +15764,7 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
return false;
}
@@ -2974,7 +3221,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2979,7 +3226,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
this.recursiveStream().forEach((entity) -> {
worldserver.chunkCheck(entity);
entity.az = true;
@@ -15787,7 +15773,7 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
while (iterator.hasNext()) {
Entity entity1 = (Entity) iterator.next();
@@ -3432,12 +3679,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -3437,12 +3684,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return this.locBlock;
}
@@ -15804,7 +15790,7 @@ index 8ef41182056052686055b7eb88ab19c161e84ed4..d88769e13410c6469df1d118b5c34067
}
public void setMot(double d0, double d1, double d2) {
@@ -3492,7 +3743,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -3497,7 +3748,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
}
// Paper end
if (this.loc.x != d0 || this.loc.y != d1 || this.loc.z != d2) {
@@ -20653,7 +20639,7 @@ index cebecee640ed5a7fc2b978e00ff7eb012228267d..507c5255542ba1b958470b4db2c35b1b
public void restart() {
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bcc78368fd 100644
index c0b49a0eaeda06b89a4fb425eec3d5bfa9717379..3562c20dee06913d03aee49d12cb27831c008842 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -298,7 +298,7 @@ public class CraftWorld implements World {
@@ -20674,22 +20660,7 @@ index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bc
if (chunkHolder.getChunk() != null) {
++ret;
}
@@ -353,6 +353,14 @@ public class CraftWorld implements World {
this.generator = gen;
environment = env;
+
+ //Tuinity start - per world spawn limits
+ monsterSpawn = world.tuinityConfig.spawnLimitMonsters;
+ animalSpawn = world.tuinityConfig.spawnLimitAnimals;
+ waterAmbientSpawn = world.tuinityConfig.spawnLimitWaterAmbient;
+ waterAnimalSpawn = world.tuinityConfig.spawnLimitWaterAnimals;
+ ambientSpawn = world.tuinityConfig.spawnLimitAmbient;
+ //Tuinity end
}
@Override
@@ -426,14 +434,7 @@ public class CraftWorld implements World {
@@ -433,14 +433,7 @@ public class CraftWorld implements World {
@Override
public Chunk getChunkAt(int x, int z) {
@@ -20705,7 +20676,7 @@ index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bc
}
// Paper start
@@ -481,13 +482,16 @@ public class CraftWorld implements World {
@@ -488,13 +481,16 @@ public class CraftWorld implements World {
public Chunk[] getLoadedChunks() {
// Paper start
if (Thread.currentThread() != world.getMinecraftWorld().serverThread) {
@@ -20726,7 +20697,7 @@ index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bc
return chunks.values().stream().map(PlayerChunk::getFullChunk).filter(Objects::nonNull).map(net.minecraft.world.level.chunk.Chunk::getBukkitChunk).toArray(Chunk[]::new);
}
@@ -516,6 +520,7 @@ public class CraftWorld implements World {
@@ -523,6 +519,7 @@ public class CraftWorld implements World {
org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot
if (isChunkLoaded(x, z)) {
world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 0, Unit.INSTANCE); // Paper
@@ -20734,7 +20705,7 @@ index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bc
}
return true;
@@ -729,6 +734,30 @@ public class CraftWorld implements World {
@@ -736,6 +733,30 @@ public class CraftWorld implements World {
return ret.entrySet().stream().collect(ImmutableMap.toImmutableMap(Map.Entry::getKey, (entry) -> entry.getValue().build()));
}
@@ -20765,7 +20736,7 @@ index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bc
@Override
public boolean isChunkForceLoaded(int x, int z) {
return getHandle().getForceLoadedChunks().contains(ChunkCoordIntPair.pair(x, z));
@@ -2661,7 +2690,7 @@ public class CraftWorld implements World {
@@ -2668,7 +2689,7 @@ public class CraftWorld implements World {
}
return this.world.getChunkProvider().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> {
net.minecraft.world.level.chunk.Chunk chunk = (net.minecraft.world.level.chunk.Chunk) either.left().orElse(null);
@@ -20774,7 +20745,7 @@ index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bc
return CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk());
}, net.minecraft.server.MinecraftServer.getServer());
}
@@ -2686,14 +2715,14 @@ public class CraftWorld implements World {
@@ -2693,14 +2714,14 @@ public class CraftWorld implements World {
throw new IllegalArgumentException("View distance " + viewDistance + " is out of range of [2, 32]");
}
PlayerChunkMap chunkMap = getHandle().getChunkProvider().playerChunkMap;
@@ -20791,7 +20762,7 @@ index 02198dbe9e80c2990e8a09b2b763748dae727a03..3b6b1f3229b07c84d99db652e01661bc
}
@Override
@@ -2702,11 +2731,22 @@ public class CraftWorld implements World {
@@ -2709,11 +2730,22 @@ public class CraftWorld implements World {
throw new IllegalArgumentException("View distance " + viewDistance + " is out of range of [2, 32]");
}
PlayerChunkMap chunkMap = getHandle().getChunkProvider().playerChunkMap;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d88769e13410c6469df1d118b5c340672dc816c8..d3cdc6ff2a3eed35ac8f1a25fd2085337802951a 100644
index 89852779fd9cfd19058afe40feb0cf14ca8d2896..611a2c34c80462826564705eb5a079bd6fdda4e1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -228,7 +228,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d3cdc6ff2a3eed35ac8f1a25fd2085337802951a..d6f4e31c6c9e2e579e87ab25707dd84f4ea2605a 100644
index 611a2c34c80462826564705eb5a079bd6fdda4e1..0f11984743ba49fc6f094c8fa6c563febf0ab7d6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2915,6 +2915,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2920,6 +2920,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
this.invulnerable = flag;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix the dead lagging the server
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d6f4e31c6c9e2e579e87ab25707dd84f4ea2605a..f9e2a7c4a7b427470a586d54c8ab9e1b3b03cf09 100644
index 0f11984743ba49fc6f094c8fa6c563febf0ab7d6..e458be6377595efed8dfb6527ab0b7a0f0f87d84 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1659,6 +1659,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f9e2a7c4a7b427470a586d54c8ab9e1b3b03cf09..c9d04e8a617c3535ff390dd685776a37d952ce93 100644
index e458be6377595efed8dfb6527ab0b7a0f0f87d84..cfe6a52fa45c8dfcb2136978456b6abf7a32258c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -444,6 +444,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne

View File

@@ -5,7 +5,7 @@ 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
index c9d04e8a617c3535ff390dd685776a37d952ce93..c07e3b3927c22db5e529dc3b9a7bd737716a9ab0 100644
index cfe6a52fa45c8dfcb2136978456b6abf7a32258c..b3618e2100404d1b13d2930d463b8e283ea62f64 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -747,7 +747,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne

View File

@@ -31,7 +31,7 @@ index d827e18d8c3b9b5869dbb1e233f415ba0efb7c1b..d876c5037b4704a174606629c80ba114
private final int trackingDistance;
private SectionPosition e;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c07e3b3927c22db5e529dc3b9a7bd737716a9ab0..a071e411ab107c50874147be47e2de9b1696ed14 100644
index b3618e2100404d1b13d2930d463b8e283ea62f64..d5882cac0dd43cea6e7184487e6d25fa34ebafc2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1608,6 +1608,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne

View File

@@ -4,23 +4,11 @@ Date: Thu, 9 May 2019 18:26:06 -0500
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index 53ea8a6d90faf4f7f8fd0819be4499422bdd4cbe..6ba14f603b8ec69597c70677cc317f802d6afae9 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -99,6 +99,7 @@ public class DamageSource {
return (new EntityDamageSourceIndirect("thrown", entity, entity1)).c();
}
+ public static DamageSource indirectMagic(Entity entity, @Nullable Entity owner) { return c(entity, owner); } // Purpur - OBFHELPER
public static DamageSource c(Entity entity, @Nullable Entity entity1) {
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a071e411ab107c50874147be47e2de9b1696ed14..2a71908105b308bffe37f3ad3b2d6b93360faa1b 100644
index d5882cac0dd43cea6e7184487e6d25fa34ebafc2..6dc051e0da0a97bcd9e4cba94c2cabc411ebb86f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2274,8 +2274,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2279,8 +2279,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return this.a(new ItemStack(imaterial), (float) i);
}
@@ -32,7 +20,7 @@ index a071e411ab107c50874147be47e2de9b1696ed14..2a71908105b308bffe37f3ad3b2d6b93
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
index 9658d93615a51375204481cfe0a1fce6f105fd70..2c983e6a092464d1867fcbe875b2e1461ec8556b 100644
index 5d48c2640f776c9e29598e19afe779ed6997acfc..4cd5d2de76e785e839c3b3a78d55f2304d9aa4c3 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
@@ -14,6 +14,7 @@ import net.minecraft.server.level.WorldServer;
@@ -43,10 +31,10 @@ index 9658d93615a51375204481cfe0a1fce6f105fd70..2c983e6a092464d1867fcbe875b2e146
import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.IBlockAccess;
import net.minecraft.world.level.World;
@@ -30,6 +31,12 @@ public class EntityEnderCrystal extends Entity {
private static final DataWatcherObject<Optional<BlockPosition>> c = DataWatcher.a(EntityEnderCrystal.class, DataWatcherRegistry.m);
@@ -31,6 +32,12 @@ public class EntityEnderCrystal extends Entity {
private static final DataWatcherObject<Boolean> d = DataWatcher.a(EntityEnderCrystal.class, DataWatcherRegistry.i);
public int b;
public boolean generatedByDragonFight = false; // Paper - Fix invulnerable end crystals
+ // Purpur start
+ private EntityPhantom targetPhantom;
+ private int phantomBeamTicks = 0;
@@ -56,8 +44,8 @@ index 9658d93615a51375204481cfe0a1fce6f105fd70..2c983e6a092464d1867fcbe875b2e146
public EntityEnderCrystal(EntityTypes<? extends EntityEnderCrystal> entitytypes, World world) {
super(entitytypes, world);
@@ -68,7 +75,50 @@ public class EntityEnderCrystal extends Entity {
}
@@ -80,7 +87,50 @@ public class EntityEnderCrystal extends Entity {
// Paper end
}
+ // Purpur start

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable end spike seed
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java b/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java
index 1960fc029262d54c6a5ee05c99d86428386cba4a..5ab5905e96c42a58bb0cd7bda449c288a03471cb 100644
index 1bf09c99ba318813755ea3d3456d0fbb60847e5c..a185d31911bb4e9e996640940dc035f2300cddec 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java
@@ -36,7 +36,8 @@ public class WorldGenEnder extends WorldGenerator<WorldGenFeatureEndSpikeConfigu

View File

@@ -18,7 +18,7 @@ index 5e672a0660d0aceffcdb26d185590ca18aa4f023..4b171a2a60e24947e884f8988920f335
}
final Object val = config.get(key);
diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
index e1dc7c1025e19f7393a45719af8fe7aae016184d..dd45a896998e4d5637ef0dd08f2b72d6b6f891de 100644
index 414c8de2bcc10165e2d328a5746899ac087698b4..673fc51f398e3a949f3a31c634c248b0f4ef788e 100644
--- a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
+++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
@@ -1,5 +1,6 @@
@@ -28,10 +28,11 @@ index e1dc7c1025e19f7393a45719af8fe7aae016184d..dd45a896998e4d5637ef0dd08f2b72d6
import com.destroystokyo.paper.util.SneakyThrow;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.TicketType;
@@ -410,6 +411,19 @@ public final class TuinityConfig {
this.spawnLimitAmbient = this.getInt(path + ".ambient", -1);
}
@@ -393,6 +394,20 @@ public final class TuinityConfig {
final int threads = this.getInt("tick-threads", -1);
this.threads = threads == -1 ? TuinityConfig.tickThreads : threads;
}*/
+
+ public Long populatorSeed;
+ public boolean useRandomPopulatorSeed;
+

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2a71908105b308bffe37f3ad3b2d6b93360faa1b..bd5ad73df33f795c91e1fc7b7187cdd8ee27021b 100644
index 6dc051e0da0a97bcd9e4cba94c2cabc411ebb86f..fdb7f1b582b791a938451b90914b621347a48189 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3585,8 +3585,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -3590,8 +3590,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
this.lastYaw = this.yaw;
}

View File

@@ -129,7 +129,7 @@ index 10c5af3949af4a3bee4999753e7545f0ac745e63..764ec67150a37f3a18eb1efde9d0c881
if ((entity instanceof EntityFish && origItem != null && origItem.getItem() == Items.WATER_BUCKET) && (event.isCancelled() || this.player.inventory.getItemInHand() == null || this.player.inventory.getItemInHand().getItem() != origItem)) {
this.sendPacket(new PacketPlayOutSpawnEntityLiving((EntityFish) entity));
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index 6ba14f603b8ec69597c70677cc317f802d6afae9..24fd920394774bf38d2818a4cd013670f7b20ba9 100644
index e6bf78f46acc37d9515d58cec3587e236ac0733c..5842d23a536449d0c394c7b23ee0cef3d54d8dff 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -67,6 +67,7 @@ public class DamageSource {
@@ -149,7 +149,7 @@ index 6ba14f603b8ec69597c70677cc317f802d6afae9..24fd920394774bf38d2818a4cd013670
this.B = true;
return this;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2a59b0cc0 100644
index fdb7f1b582b791a938451b90914b621347a48189..6d17a5f75e073acccabbad65b998b4eb9e8cf400 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -22,6 +22,7 @@ import net.minecraft.BlockUtil;
@@ -203,7 +203,7 @@ index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2
public void a(float f, Vec3D vec3d) {
Vec3D vec3d1 = a(vec3d, f, this.yaw);
@@ -2374,6 +2375,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2379,6 +2380,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return this.a(entity, false);
}
@@ -211,7 +211,7 @@ index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2
public boolean a(Entity entity, boolean flag) {
for (Entity entity1 = entity; entity1.vehicle != null; entity1 = entity1.vehicle) {
if (entity1.vehicle == this) {
@@ -2469,6 +2471,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2474,6 +2476,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
this.passengers.add(entity);
}
@@ -225,7 +225,7 @@ index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2
}
return true; // CraftBukkit
}
@@ -2509,6 +2518,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2514,6 +2523,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return false;
}
// Spigot end
@@ -238,7 +238,7 @@ index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2
this.passengers.remove(entity);
entity.j = 60;
}
@@ -2675,6 +2690,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2680,6 +2695,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
this.setFlag(4, flag);
}
@@ -246,7 +246,7 @@ index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2
public boolean bE() {
return this.glowing || this.world.isClientSide && this.getFlag(6);
}
@@ -2897,6 +2913,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2902,6 +2918,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
public void setHeadRotation(float f) {}
@@ -254,7 +254,7 @@ index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2
public void n(float f) {}
public boolean bL() {
@@ -3338,6 +3355,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -3343,6 +3360,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return false;
}
@@ -273,7 +273,7 @@ index bd5ad73df33f795c91e1fc7b7187cdd8ee27021b..ba50226c729d5ca26ff13f6e46d1e5c2
@Override
public void sendMessage(IChatBaseComponent ichatbasecomponent, UUID uuid) {}
@@ -3790,4 +3819,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -3795,4 +3824,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return ((ChunkProviderServer) world.getChunkProvider()).isInEntityTickingChunk(this);
}
// Paper end

View File

@@ -29,10 +29,10 @@ index 0ea0a1fc5f4d879d48bbdf24731dabec10dbccd1..df595dc52858807479584ce8da49390a
return this.getBlock().a(block);
}
diff --git a/src/main/java/net/minecraft/world/level/portal/BlockPortalShape.java b/src/main/java/net/minecraft/world/level/portal/BlockPortalShape.java
index 3f8a674345bcad8289a48d2daa5e2a283528e952..3c35f5d171df518f491cad1f49882622903302a6 100644
index 0bce061d5a0dd0fc08f0aa4d46ead9326beb4bc7..526ae936e6d4470efcf89c1b2892e90320c42201 100644
--- a/src/main/java/net/minecraft/world/level/portal/BlockPortalShape.java
+++ b/src/main/java/net/minecraft/world/level/portal/BlockPortalShape.java
@@ -30,7 +30,7 @@ import org.bukkit.event.world.PortalCreateEvent;
@@ -28,7 +28,7 @@ import org.bukkit.event.world.PortalCreateEvent;
public class BlockPortalShape {
private static final BlockBase.e a = (iblockdata, iblockaccess, blockposition) -> {

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
index ba50226c729d5ca26ff13f6e46d1e5c2a59b0cc0..9efb88657957482172b486827fa717e56d24be03 100644
index 6d17a5f75e073acccabbad65b998b4eb9e8cf400..e2de4d53e90b30f46a477c995505ac9f48cac842 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2550,7 +2550,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2555,7 +2555,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
public void d(BlockPosition blockposition) {
if (this.ai()) {
this.resetPortalCooldown();
@@ -17,7 +17,7 @@ index ba50226c729d5ca26ff13f6e46d1e5c2a59b0cc0..9efb88657957482172b486827fa717e5
if (!this.world.isClientSide && !blockposition.equals(this.ac)) {
this.ac = blockposition.immutableCopy();
}
@@ -3131,7 +3131,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -3136,7 +3136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
}
public boolean canPortal() {

View File

@@ -160,10 +160,10 @@ index 6f497fc1b1eb33d0d9dfb0dc014b25b7eeb0dfac..56de41fc11720f4a37ee4e1e7cbec1b2
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityPotion.java b/src/main/java/net/minecraft/world/entity/projectile/EntityPotion.java
index dbc0afc5fb9e358a3e6d596692f57fb28303c4da..a3344719bcf178df5b63cda6f6a854c2df174fa5 100644
index 9348288fb752e758fe7aee8c2a630ea0fb7b9a8c..fa2a4f9e9c0364893abf83ffc627f33b198b2e81 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityPotion.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityPotion.java
@@ -270,4 +270,11 @@ public class EntityPotion extends EntityProjectileThrowable {
@@ -283,4 +283,11 @@ public class EntityPotion extends EntityProjectileThrowable {
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Stonecutter damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 9efb88657957482172b486827fa717e56d24be03..f3d3626283b2cee502fcfc631d2580387afb0f9e 100644
index e2de4d53e90b30f46a477c995505ac9f48cac842..b15f117d64d4e6a1dccdda480417b6f092c161ec 100644
--- a/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 INamableTileEntity, ICommandListener, ne

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PaperPR - Config option for Piglins guarding chests
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 5c91c007691efeea1d4383efcd1ca06990d0660c..ff1718acdc780b7bbf13ba26612aca744d35d674 100644
index fcacc08db8f5a58ddd06be7f9f2cb2cf6b2231c3..03c26e4dfb4775bfd9caa4f155bde58e83865388 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -706,6 +706,11 @@ public class PaperWorldConfig {
@@ -719,6 +719,11 @@ public class PaperWorldConfig {
zombiesTargetTurtleEggs = getBoolean("zombies-target-turtle-eggs", zombiesTargetTurtleEggs);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lobotomize stuck villagers
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f3d3626283b2cee502fcfc631d2580387afb0f9e..69f279e9ff851e5b5d45ad8003c31b1edb01fe33 100644
index b15f117d64d4e6a1dccdda480417b6f092c161ec..ca5afdcc9c5ae7b5f67a2c12f62e89ef5e227e3c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -206,7 +206,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
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
index 69f279e9ff851e5b5d45ad8003c31b1edb01fe33..81662285659b330df014bd5cce2033266bc04451 100644
index ca5afdcc9c5ae7b5f67a2c12f62e89ef5e227e3c..6c5c950b129b5e7e7d0d614cfdbfb5c59fda86de 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1496,7 +1496,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne

View File

@@ -17,10 +17,10 @@ index c631e4d27518a1382869c184af41bec911cce908..2bae88b7b53d38f41808fe0177cd78a9
// CraftBukkit end
this.spawnIn(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 81662285659b330df014bd5cce2033266bc04451..5dece69b1b3343783457c507e8d25239e4da92f0 100644
index 6c5c950b129b5e7e7d0d614cfdbfb5c59fda86de..27cd04a4b6e0c87a300f5868f0b82fc02408a556 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2547,12 +2547,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2552,12 +2552,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
return new Vec2F(this.pitch, this.yaw);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] End crystal explosion options
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
index 2c983e6a092464d1867fcbe875b2e1461ec8556b..a92c900a6092c07b34711428fac268f446043c90 100644
index 4cd5d2de76e785e839c3b3a78d55f2304d9aa4c3..f2c4151671806f053ccadaf16c21af429f9c71bb 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
@@ -118,6 +118,22 @@ public class EntityEnderCrystal extends Entity {
@@ -130,6 +130,22 @@ public class EntityEnderCrystal extends Entity {
phantomDamageCooldown = 0;
idleCooldown = 60;
}
@@ -31,7 +31,7 @@ index 2c983e6a092464d1867fcbe875b2e1461ec8556b..a92c900a6092c07b34711428fac268f4
// Purpur end
@Override
@@ -161,15 +177,17 @@ public class EntityEnderCrystal extends Entity {
@@ -175,15 +191,17 @@ public class EntityEnderCrystal extends Entity {
// CraftBukkit end
this.die();
if (!damagesource.isExplosion()) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5dece69b1b3343783457c507e8d25239e4da92f0..52a374805eb5d2ac46abc8a07bf9b5e7c0decc16 100644
index 27cd04a4b6e0c87a300f5868f0b82fc02408a556..11924a84fd597da38e70aa0ab29c07e60ed8453a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2397,7 +2397,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2402,7 +2402,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
}
}

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
index 52a374805eb5d2ac46abc8a07bf9b5e7c0decc16..69f580e0caee96d81778047aae4d516776a71c2a 100644
index 11924a84fd597da38e70aa0ab29c07e60ed8453a..778c5ee222d51e35bac51bba42f336780fd153dc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2603,7 +2603,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -2608,7 +2608,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
}
public int getDefaultPortalCooldown() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable damage settings for magma blocks
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 69f580e0caee96d81778047aae4d516776a71c2a..408c138418dbf3049ef02f909d0caf3ffce63290 100644
index 778c5ee222d51e35bac51bba42f336780fd153dc..dcb8cff2671947140f5853b1f6d75ecc03ef368f 100644
--- a/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 INamableTileEntity, ICommandListener, ne

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 408c138418dbf3049ef02f909d0caf3ffce63290..286275b44cece17a7044eebd6549415600e06359 100644
index dcb8cff2671947140f5853b1f6d75ecc03ef368f..35c15afc3f4bbe10dc7638e926564f51285fda4c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1639,7 +1639,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -18,7 +18,7 @@ index 408c138418dbf3049ef02f909d0caf3ffce63290..286275b44cece17a7044eebd65494156
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(this.locX(), 0.0D, this.locZ());
if (this.world.isLoaded(blockposition_mutableblockposition)) {
@@ -3864,5 +3864,17 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
@@ -3869,5 +3869,17 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
public boolean processClick(EnumHand hand) {
return false;
}