From dc49efe49a29430ebf94149d68f2fffabfde4138 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 10 Sep 2020 21:09:10 -0500 Subject: [PATCH] Update to 1.16.3 Upstream has released updates that appears to apply and compile correctly Paper Changes: 7d85344e (1.16.3) Missed some fixes to include in commit 64ed4298 (FIRST 1.16.3): Update Paper to 1.16.3 fa9c5e0f (FINAL 1.16.2) Improve Entity Activation Range passenger behavior 6fda3fd0 (FINAL 1.16.2) Improve Timings support for Active vs Inactive vs Passengers 794e6baf Add additional open container api to HumanEntity 44e822f7 Fix block data exception when cancelling PortalCreateEvent (#4199) --- Paper | 2 +- current-paper | 2 +- patches/api/0001-Tuinity-API-Changes.patch | 6 +- patches/api/0002-Rebrand.patch | 4 +- .../server/0001-Tuinity-Server-Changes.patch | 187 ++++++++++-------- patches/server/0002-Rebrand.patch | 12 +- ...015-PlayerSetSpawnerTypeWithEggEvent.patch | 6 +- .../0016-EMC-MonsterEggSpawnEvent.patch | 4 +- patches/server/0020-EntityMoveEvent.patch | 4 +- patches/server/0031-Giants-AI-settings.patch | 10 +- .../server/0043-Cat-spawning-options.patch | 4 +- patches/server/0045-Cows-eat-mushrooms.patch | 6 +- ...0061-Fix-the-dead-lagging-the-server.patch | 8 +- ...o-disable-saving-projectiles-to-disk.patch | 8 +- ...0077-Configurable-void-damage-height.patch | 4 +- ...-should-not-bypass-cramming-gamerule.patch | 22 +-- .../0085-Implement-elytra-settings.patch | 4 +- .../server/0086-Item-entity-immunities.patch | 6 +- ...ed-to-crystals-and-crystals-shoot-ph.patch | 8 +- ...Stop-squids-floating-on-top-of-water.patch | 4 +- patches/server/0119-Ridables.patch | 56 +++--- ...tities-can-use-portals-configuration.patch | 6 +- 22 files changed, 194 insertions(+), 179 deletions(-) diff --git a/Paper b/Paper index 54890033d..7d85344ef 160000 --- a/Paper +++ b/Paper @@ -1 +1 @@ -Subproject commit 54890033d570f5bd0eff1ada5dbb5441dd65496d +Subproject commit 7d85344efd873c58947be779015124cb18f87f92 diff --git a/current-paper b/current-paper index df8ac859a..9d692dfc1 100644 --- a/current-paper +++ b/current-paper @@ -1 +1 @@ -1.16.2--20c1e6cad902fdd2b57434676b239614c0333c79 +1.16.3--5e33549a0469a6a8e7c2423751f46c056f5ac87c diff --git a/patches/api/0001-Tuinity-API-Changes.patch b/patches/api/0001-Tuinity-API-Changes.patch index 05a23eb8a..d4e1696c3 100644 --- a/patches/api/0001-Tuinity-API-Changes.patch +++ b/patches/api/0001-Tuinity-API-Changes.patch @@ -8,7 +8,7 @@ Tuinity config API to retrieve raw YamlConfiguration + timing exports diff --git a/pom.xml b/pom.xml -index 1a34f6880..95a99b7b5 100644 +index 29dafd4b..3b5dcb43 100644 --- a/pom.xml +++ b/pom.xml @@ -3,18 +3,18 @@ @@ -26,7 +26,7 @@ index 1a34f6880..95a99b7b5 100644 - com.destroystokyo.paper - paper-api + tuinity-api - 1.16.2-R0.1-SNAPSHOT + 1.16.3-R0.1-SNAPSHOT jar - Paper-API @@ -37,7 +37,7 @@ index 1a34f6880..95a99b7b5 100644 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index bacb3ee9a..e9fb263b6 100644 +index 7c0a7889..740a86a8 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1456,6 +1456,14 @@ public interface Server extends PluginMessageRecipient { diff --git a/patches/api/0002-Rebrand.patch b/patches/api/0002-Rebrand.patch index 24dc33063..e14bf8426 100644 --- a/patches/api/0002-Rebrand.patch +++ b/patches/api/0002-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/pom.xml b/pom.xml -index 95a99b7b..a7aca07e 100644 +index 3b5dcb43..d6060229 100644 --- a/pom.xml +++ b/pom.xml @@ -1,20 +1,19 @@ @@ -24,7 +24,7 @@ index 95a99b7b..a7aca07e 100644 - tuinity-api + purpur-api - 1.16.2-R0.1-SNAPSHOT + 1.16.3-R0.1-SNAPSHOT jar - Tuinity-API diff --git a/patches/server/0001-Tuinity-Server-Changes.patch b/patches/server/0001-Tuinity-Server-Changes.patch index b6fce8419..8c9ece19b 100644 --- a/patches/server/0001-Tuinity-Server-Changes.patch +++ b/patches/server/0001-Tuinity-Server-Changes.patch @@ -279,24 +279,18 @@ Simply return. Do not run vanilla update logic when eigencraft is enabled -Fix missing block property portal crash - -Looks like it appears when the portal isn't created (cancelled -event). So, just use the original direction and call it a day. - diff --git a/pom.xml b/pom.xml -index d018f900d..4f45b8158 100644 +index 838f199b6..f009b05e4 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,11 @@ -- 4.0.0 - paper + tuinity jar - 1.16.2-R0.1-SNAPSHOT + 1.16.3-R0.1-SNAPSHOT - Paper - https://papermc.io + Tuinity-Server @@ -345,7 +339,7 @@ index d018f900d..4f45b8158 100644 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java -index dd0722397..85b25eace 100644 +index 884b59d47..68ab5ccb2 100644 --- a/src/main/java/co/aikar/timings/MinecraftTimings.java +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -43,6 +43,9 @@ public final class MinecraftTimings { @@ -489,10 +483,10 @@ index e7624948e..77df68888 100644 diff --git a/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java b/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java new file mode 100644 -index 000000000..f599725e1 +index 000000000..b57006d04 --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java -@@ -0,0 +1,329 @@ +@@ -0,0 +1,349 @@ +package com.tuinity.tuinity.chunk; + +import co.aikar.timings.MinecraftTimings; @@ -502,6 +496,7 @@ index 000000000..f599725e1 +import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.objects.ReferenceLinkedOpenHashSet; +import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; ++import net.minecraft.server.ChunkCoordIntPair; +import net.minecraft.server.MCUtil; +import net.minecraft.server.WorldServer; +import java.util.ArrayList; @@ -659,6 +654,7 @@ index 000000000..f599725e1 + protected void recalculateRegion(final Region region) { + this.regionRecalculateTimings.startTiming(); + try { ++ region.markedForRecalc = false; + // clear unused regions + for (final Iterator> iterator = region.deadSections.iterator(); iterator.hasNext(); ) { + final RegionSection deadRegion = iterator.next(); @@ -745,7 +741,7 @@ index 000000000..f599725e1 + + protected void markRegionDead(final RegionSection section) { + this.deadSections.add(section); -+ if (!this.markedForRecalc && this.sections.size() >= this.regionManager.minSectionRecalcCount && this.getDeadSectionPercent() >= this.regionManager.maxDeadRegionPercent) { ++ if (!this.markedForRecalc && (this.sections.size() >= this.regionManager.minSectionRecalcCount || this.sections.size() == this.deadSections.size()) && this.getDeadSectionPercent() >= this.regionManager.maxDeadRegionPercent) { + this.regionManager.addToRecalcQueue(this); + this.markedForRecalc = true; + } @@ -798,9 +794,16 @@ index 000000000..f599725e1 + this.data.put(key, data); + } + ++ private static long getChunkIndex(final int chunkX, final int chunkZ) { ++ return 1L << ((chunkX & (REGION_CHUNK_SIZE - 1)) | ((chunkZ & (REGION_CHUNK_SIZE - 1)) << REGION_CHUNK_SIZE_SHIFT)); ++ } ++ + protected void addChunk(final int chunkX, final int chunkZ) { + final long bitset = this.chunksBitset; -+ this.chunksBitset = bitset | (1L << ((chunkX & (REGION_CHUNK_SIZE - 1)) | ((chunkZ & (REGION_CHUNK_SIZE - 1)) << REGION_CHUNK_SIZE_SHIFT))); ++ final long after = this.chunksBitset = bitset | getChunkIndex(chunkX, chunkZ); ++ if (after == bitset) { ++ throw new IllegalStateException("Cannot add a chunk to a region which already has the chunk! RegionSection: " + this + ", global chunk: " + new ChunkCoordIntPair(chunkX, chunkZ).toString()); ++ } + if (bitset != 0L) { + return; + } @@ -808,12 +811,23 @@ index 000000000..f599725e1 + } + + protected void removeChunk(final int chunkX, final int chunkZ) { -+ final long bitset = this.chunksBitset |= ~(1L << ((chunkX & (REGION_CHUNK_SIZE - 1)) | ((chunkZ & (REGION_CHUNK_SIZE - 1)) << REGION_CHUNK_SIZE_SHIFT))); ++ final long before = this.chunksBitset; ++ final long bitset = this.chunksBitset = before & ~getChunkIndex(chunkX, chunkZ); ++ if (before == bitset) { ++ throw new IllegalStateException("Cannot remove a chunk from a region which does not have that chunk! RegionSection: " + this + ", global chunk: " + new ChunkCoordIntPair(chunkX, chunkZ).toString()); ++ } + if (bitset != 0L) { + return; + } + this.region.markRegionDead(this); + } ++ ++ @Override ++ public String toString() { ++ return "RegionSection{" + ++ "regionCoordinate=" + new ChunkCoordIntPair(this.regionCoordinate).toString() + ++ '}'; ++ } + } + + public static interface RegionDataCreator & RegionDataCreator> { @@ -1212,10 +1226,10 @@ index 000000000..08ed24325 \ No newline at end of file diff --git a/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java b/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java new file mode 100644 -index 000000000..b0f1e21e6 +index 000000000..67fb1b533 --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java -@@ -0,0 +1,271 @@ +@@ -0,0 +1,274 @@ +package com.tuinity.tuinity.util.maplist; + +import it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap; @@ -1314,6 +1328,9 @@ index 000000000..b0f1e21e6 + this.firstInvalidIndex = index; + } + this.listElements[index] = null; ++ if (this.iteratorCount == 0 && this.getFragFactor() >= this.maxFragFactor) { ++ this.defrag(); ++ } + return true; + } else { + return this.pendingAdditions.remove(element); @@ -1870,7 +1887,7 @@ index 6b655b744..e811295b4 100644 } diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java -index 8265ed4da..2db488aba 100644 +index 505d40278..9d85ce027 100644 --- a/src/main/java/net/minecraft/server/BlockBase.java +++ b/src/main/java/net/minecraft/server/BlockBase.java @@ -182,8 +182,8 @@ public abstract class BlockBase { @@ -2005,19 +2022,6 @@ index 12a023044..9e5e6de52 100644 if (tileentity instanceof IInventory) { InventoryUtils.dropInventory(world, blockposition, (IInventory) tileentity); -diff --git a/src/main/java/net/minecraft/server/BlockPortalShape.java b/src/main/java/net/minecraft/server/BlockPortalShape.java -index 6ef81aeb4..a84844726 100644 ---- a/src/main/java/net/minecraft/server/BlockPortalShape.java -+++ b/src/main/java/net/minecraft/server/BlockPortalShape.java -@@ -227,7 +227,7 @@ public class BlockPortalShape { - public static ShapeDetectorShape a(WorldServer worldserver, BlockUtil.Rectangle blockutil_rectangle, EnumDirection.EnumAxis enumdirection_enumaxis, Vec3D vec3d, EntitySize entitysize, Vec3D vec3d1, float f, float f1, CraftPortalEvent portalEventInfo) { // CraftBukkit // PAIL rename toDetectorShape - BlockPosition blockposition = blockutil_rectangle.origin; - IBlockData iblockdata = worldserver.getType(blockposition); -- EnumDirection.EnumAxis enumdirection_enumaxis1 = (EnumDirection.EnumAxis) iblockdata.get(BlockProperties.E); -+ EnumDirection.EnumAxis enumdirection_enumaxis1 = !iblockdata.contains(BlockProperties.E) ? enumdirection_enumaxis : (EnumDirection.EnumAxis) iblockdata.get(BlockProperties.E); // Tuinity - use provided direction if the block doesn't have one - double d0 = (double) blockutil_rectangle.side1; - double d1 = (double) blockutil_rectangle.side2; - int i = enumdirection_enumaxis == enumdirection_enumaxis1 ? 0 : 90; diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java index 2d887af90..2291135ea 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java @@ -2980,7 +2984,7 @@ index 95ef96286..73163b417 100644 T t0 = this.h.a(this.a.a(i)); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 1c878265b..5907caa74 100644 +index 0eabd62ad..c4bbe4463 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -170,6 +170,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -3005,10 +3009,10 @@ index 550232cb3..229c3b0f0 100644 throwable = throwable1; throw throwable1; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1ee01486f..630fb5265 100644 +index cfb14c54d..3c63327ca 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -137,7 +137,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -135,7 +135,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public double D; public double E; public double F; @@ -3017,7 +3021,7 @@ index 1ee01486f..630fb5265 100644 public boolean noclip; public float I; protected final Random random; -@@ -208,6 +208,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -205,6 +205,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // CraftBukkit end @@ -3032,7 +3036,7 @@ index 1ee01486f..630fb5265 100644 // Paper start - optimise entity tracking final org.spigotmc.TrackingRange.TrackingRangeType trackingRangeType = org.spigotmc.TrackingRange.getTrackingRangeType(this); -@@ -223,6 +231,41 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -220,6 +228,41 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // Paper end - optimise entity tracking @@ -3074,7 +3078,7 @@ index 1ee01486f..630fb5265 100644 public Entity(EntityTypes entitytypes, World world) { this.id = Entity.entityCount.incrementAndGet(); this.passengers = Lists.newArrayList(); -@@ -591,7 +634,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -588,7 +631,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.onGround; } @@ -3114,7 +3118,7 @@ index 1ee01486f..630fb5265 100644 if (this.noclip) { this.a(this.getBoundingBox().c(vec3d)); this.recalcPosition(); -@@ -619,7 +694,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -616,7 +691,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke // Paper end vec3d = this.a(vec3d, enummovetype); @@ -3123,7 +3127,7 @@ index 1ee01486f..630fb5265 100644 if (vec3d1.g() > 1.0E-7D) { this.a(this.getBoundingBox().c(vec3d1)); -@@ -735,6 +810,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -732,6 +807,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.world.getMethodProfiler().exit(); } @@ -3137,7 +3141,7 @@ index 1ee01486f..630fb5265 100644 } protected BlockPosition ao() { -@@ -815,6 +897,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -812,6 +894,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return d0; } @@ -3270,7 +3274,7 @@ index 1ee01486f..630fb5265 100644 private Vec3D g(Vec3D vec3d) { AxisAlignedBB axisalignedbb = this.getBoundingBox(); VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this); -@@ -850,6 +1058,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -847,6 +1055,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return vec3d1; } @@ -3278,7 +3282,7 @@ index 1ee01486f..630fb5265 100644 public static double c(Vec3D vec3d) { return vec3d.x * vec3d.x + vec3d.z * vec3d.z; } -@@ -1934,11 +2143,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1931,11 +2140,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return EnumInteractionResult.PASS; } @@ -3294,7 +3298,7 @@ index 1ee01486f..630fb5265 100644 return false; } -@@ -3275,12 +3486,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3273,12 +3484,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.locBlock; } @@ -3311,7 +3315,7 @@ index 1ee01486f..630fb5265 100644 } public void setMot(double d0, double d1, double d2) { -@@ -3335,7 +3550,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3333,7 +3548,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // Paper end if (this.loc.x != d0 || this.loc.y != d1 || this.loc.z != d2) { @@ -3335,10 +3339,10 @@ index 314886398..79de11ce2 100644 this.setPersistent(); } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c622fb704..ec9174206 100644 +index 76185f042..0e000c718 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2846,7 +2846,11 @@ public abstract class EntityLiving extends Entity { +@@ -2847,7 +2847,11 @@ public abstract class EntityLiving extends Entity { return; } // Paper - end don't run getEntities if we're not going to use its result @@ -3351,7 +3355,7 @@ index c622fb704..ec9174206 100644 if (!list.isEmpty()) { // Paper - move up -@@ -2875,6 +2879,9 @@ public abstract class EntityLiving extends Entity { +@@ -2876,6 +2880,9 @@ public abstract class EntityLiving extends Entity { this.C(entity); } } @@ -3362,7 +3366,7 @@ index c622fb704..ec9174206 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 831298e3b..7ab013058 100644 +index 4efc40c01..f322dccd8 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -74,6 +74,7 @@ public class EntityTrackerEntry { @@ -3636,7 +3640,7 @@ index ff74be145..653ba0f1d 100644 0, 2, 60L, TimeUnit.SECONDS, new LinkedBlockingQueue(), diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 65e8dc340..106661fae 100644 +index 883c17f00..64f7e448c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -985,7 +985,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index fcd3388d8..1887b93e5 100644 +index fcd3388d8..6016a7bc5 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -121,31 +121,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -4415,15 +4419,26 @@ index fcd3388d8..1887b93e5 100644 asyncSaveData, chunk); chunk.setLastSaved(this.world.getTime()); -@@ -1043,6 +1071,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { - this.lightEngine.a(ichunkaccess.getPos()); +@@ -1020,7 +1048,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { + if (completablefuture1 != completablefuture) { + this.a(i, playerchunk); + } else { +- if (this.pendingUnload.remove(i, playerchunk) && ichunkaccess != null) { ++ // Tuinity start ++ boolean removed; ++ if ((removed = this.pendingUnload.remove(i, playerchunk)) && ichunkaccess != null) { // Tuinity end + if (ichunkaccess instanceof Chunk) { + ((Chunk) ichunkaccess).setLoaded(false); + } +@@ -1044,6 +1074,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.lightEngine.queueUpdate(); this.worldLoadListener.a(ichunkaccess.getPos(), (ChunkStatus) null); -+ this.dataRegionManager.removeChunk(playerchunk.location.x, playerchunk.location.z); // Tuinity } ++ if (removed) this.dataRegionManager.removeChunk(playerchunk.location.x, playerchunk.location.z); // Tuinity } -@@ -1059,6 +1088,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { + }; +@@ -1059,6 +1090,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } protected boolean b() { @@ -4431,7 +4446,7 @@ index fcd3388d8..1887b93e5 100644 if (!this.updatingChunksModified) { return false; } else { -@@ -1246,7 +1276,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1246,7 +1278,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } // Paper end this.mailboxWorldGen.a(ChunkTaskQueueSorter.a(playerchunk, runnable)); @@ -4443,7 +4458,7 @@ index fcd3388d8..1887b93e5 100644 } protected void c(ChunkCoordIntPair chunkcoordintpair) { -@@ -1498,6 +1531,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1498,6 +1533,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } public void setViewDistance(int i) { // Paper - public @@ -4451,7 +4466,7 @@ index fcd3388d8..1887b93e5 100644 int j = MathHelper.clamp(i + 1, 3, 33); // Paper - diff on change, these make the lower view distance limit 2 and the upper 32 if (j != this.viewDistance) { -@@ -1511,6 +1545,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1511,6 +1547,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // Paper start - no-tick view distance public final void setNoTickViewDistance(int viewDistance) { @@ -4459,7 +4474,7 @@ index fcd3388d8..1887b93e5 100644 viewDistance = viewDistance == -1 ? -1 : MathHelper.clamp(viewDistance, 2, 32); this.noTickViewDistance = viewDistance; -@@ -2037,23 +2072,20 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -2037,23 +2074,20 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private final void processTrackQueue() { this.world.timings.tracker1.startTiming(); try { @@ -5804,15 +5819,15 @@ index 2484293b1..1496c43fc 100644 private static JsonElement a(UserCache.UserCacheEntry usercache_usercacheentry, DateFormat dateformat) { diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index 3048ba008..84858ba39 100644 +index 7f05587d4..5af554870 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java @@ -4,7 +4,7 @@ import java.util.EnumSet; public class Vec3D implements IPosition { -- public static final Vec3D a = new Vec3D(0.0D, 0.0D, 0.0D); -+ public static final Vec3D a = new Vec3D(0.0D, 0.0D, 0.0D); public static Vec3D getZeroVector() { return Vec3D.a; } // Tuinity - OBFHELPER +- public static final Vec3D ORIGIN = new Vec3D(0.0D, 0.0D, 0.0D); ++ public static final Vec3D ORIGIN = new Vec3D(0.0D, 0.0D, 0.0D); public static Vec3D getZeroVector() { return Vec3D.ORIGIN; } // Tuinity - OBFHELPER public final double x; public final double y; public final double z; @@ -6137,7 +6152,7 @@ index e21c747b6..4bdadffee 100644 return voxelshape != b() && voxelshape1 != b() ? (voxelshape.isEmpty() && voxelshape1.isEmpty() ? false : !c(b(), b(voxelshape, voxelshape1, OperatorBoolean.OR), OperatorBoolean.ONLY_FIRST)) : true; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 724aec660..699dc4343 100644 +index eaa285393..a490662e0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -75,7 +75,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -6308,7 +6323,7 @@ index f01186988..26a8c4ffe 100644 return this.j.d(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index efe10b7f5..37c4abec6 100644 +index 25cdd7b0f..2eff22ed5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -51,12 +51,13 @@ import org.bukkit.event.server.MapInitializeEvent; @@ -6880,8 +6895,8 @@ index efe10b7f5..37c4abec6 100644 if (!(entity instanceof EntityHuman) && !this.getChunkProvider().a(entity)) { this.chunkCheck(entity); } else { -@@ -851,6 +1299,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { - } // Paper - timings +@@ -858,6 +1306,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { + //} finally { timer.stopTiming(); } // Paper - timings - move up } + // Tuinity start - log detailed entity tick information @@ -6892,7 +6907,7 @@ index efe10b7f5..37c4abec6 100644 } public void a(Entity entity, Entity entity1) { -@@ -894,6 +1347,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -915,6 +1368,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { int i = MathHelper.floor(entity.locX() / 16.0D); int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY() / 16.0D))); // Paper - stay consistent with chunk add/remove behavior int k = MathHelper.floor(entity.locZ() / 16.0D); @@ -6905,7 +6920,7 @@ index efe10b7f5..37c4abec6 100644 if (!entity.inChunk || entity.chunkX != i || entity.chunkY != j || entity.chunkZ != k) { // Paper start - remove entity if its in a chunk more correctly. -@@ -903,6 +1362,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -924,6 +1383,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { } // Paper end @@ -6918,7 +6933,7 @@ index efe10b7f5..37c4abec6 100644 if (entity.inChunk && this.isChunkLoaded(entity.chunkX, entity.chunkZ)) { this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY); } -@@ -916,6 +1381,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -937,6 +1402,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { } else { this.getChunkAt(i, k).a(entity); } @@ -6930,7 +6945,7 @@ index efe10b7f5..37c4abec6 100644 } this.getMethodProfiler().exit(); -@@ -1267,7 +1737,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1288,7 +1758,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { Entity entity = (Entity) iterator.next(); if (!(entity instanceof EntityPlayer)) { @@ -6939,7 +6954,7 @@ index efe10b7f5..37c4abec6 100644 throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!"))); } -@@ -1295,6 +1765,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1316,6 +1786,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { public void unregisterEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot @@ -6947,7 +6962,7 @@ index efe10b7f5..37c4abec6 100644 // Paper start - fix entity registration issues if (entity instanceof EntityComplexPart) { // Usually this is a no-op for complex parts, and ID's should be removed, but go ahead and remove it anyways -@@ -1361,17 +1832,108 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1382,17 +1853,108 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.getScoreboard().a(entity); // CraftBukkit start - SPIGOT-5278 if (entity instanceof EntityDrowned) { @@ -7059,7 +7074,7 @@ index efe10b7f5..37c4abec6 100644 private void registerEntity(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot // Paper start - don't double enqueue entity registration -@@ -1382,7 +1944,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1403,7 +1965,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { return; } // Paper end @@ -7068,7 +7083,7 @@ index efe10b7f5..37c4abec6 100644 if (!entity.isQueuedForRegister) { // Paper this.entitiesToAdd.add(entity); entity.isQueuedForRegister = true; // Paper -@@ -1390,6 +1952,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1411,6 +1973,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } else { entity.isQueuedForRegister = false; // Paper this.entitiesById.put(entity.getId(), entity); @@ -7076,7 +7091,7 @@ index efe10b7f5..37c4abec6 100644 if (entity instanceof EntityEnderDragon) { EntityComplexPart[] aentitycomplexpart = ((EntityEnderDragon) entity).eJ(); int i = aentitycomplexpart.length; -@@ -1398,6 +1961,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1419,6 +1982,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { EntityComplexPart entitycomplexpart = aentitycomplexpart[j]; this.entitiesById.put(entitycomplexpart.getId(), entitycomplexpart); @@ -7084,7 +7099,7 @@ index efe10b7f5..37c4abec6 100644 } } -@@ -1422,12 +1986,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1443,12 +2007,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { // this.getChunkProvider().addEntity(entity); // Paper - moved down below valid=true // CraftBukkit start - SPIGOT-5278 if (entity instanceof EntityDrowned) { @@ -7104,7 +7119,7 @@ index efe10b7f5..37c4abec6 100644 } entity.valid = true; // CraftBukkit this.getChunkProvider().addEntity(entity); // Paper - from above to be below valid=true -@@ -1443,7 +2011,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1464,7 +2032,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } public void removeEntity(Entity entity) { @@ -7113,7 +7128,7 @@ index efe10b7f5..37c4abec6 100644 throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!"))); } else { this.removeEntityFromChunk(entity); -@@ -1544,8 +2112,26 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1565,8 +2133,26 @@ public class WorldServer extends World implements GeneratorAccessSeed { VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition); if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) { @@ -7141,7 +7156,7 @@ index efe10b7f5..37c4abec6 100644 while (iterator.hasNext()) { NavigationAbstract navigationabstract = (NavigationAbstract) iterator.next(); -@@ -1553,7 +2139,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1574,7 +2160,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { if (!navigationabstract.i()) { navigationabstract.b(blockposition); } @@ -7191,7 +7206,7 @@ index ff8ba5457..ecedc167d 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5f5b39b3b..2b0e1e698 100644 +index fd649a0d2..77adc7528 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -230,7 +230,7 @@ import javax.annotation.Nullable; // Paper @@ -7299,7 +7314,7 @@ index 299f57ca2..4de6252f0 100644 }, MinecraftServer.getServer()); } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index bac292e6d..b4e65963e 100644 +index 9118f0542..a9c96d45c 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -138,6 +138,13 @@ public class Main { @@ -7326,7 +7341,7 @@ index bac292e6d..b4e65963e 100644 //Thread.sleep(TimeUnit.SECONDS.toMillis(20)); // Paper End diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 3584d20c7..f336f4ecf 100644 +index 3524b6775..b668b7c03 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -214,7 +214,7 @@ public class CraftBlock implements Block { diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index 37ac493cc..113abd03b 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Rebrand diff --git a/pom.xml b/pom.xml -index 4f45b8158..02ee19722 100644 +index f009b05e4..c6bd3d4fd 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,11 @@ - 4.0.0 - tuinity + purpur jar - 1.16.2-R0.1-SNAPSHOT + 1.16.3-R0.1-SNAPSHOT - Tuinity-Server - https://github.com/Spottedleaf/Tuinity + Purpur-Server @@ -98,7 +98,7 @@ index 74ed02fa9..c1280478e 100644 .completer(new ConsoleCommandCompleter(this.server)) ); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 106661fae..045c21d00 100644 +index 64f7e448c..bab892a93 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1510,7 +1510,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { @@ -25,7 +25,7 @@ index e23247e0a..2faa83fad 100644 public static MinecraftKey getName(EntityTypes entitytypes) { return IRegistry.ENTITY_TYPE.getKey(entitytypes); } -@@ -276,6 +286,16 @@ public class EntityTypes { +@@ -286,6 +296,16 @@ public class EntityTypes { return this.bg; } @@ -42,7 +42,7 @@ index e23247e0a..2faa83fad 100644 public String getDescriptionId() { return f(); } // Paper - OBFHELPER public String f() { if (this.bo == null) { -@@ -285,6 +305,7 @@ public class EntityTypes { +@@ -295,6 +315,7 @@ public class EntityTypes { return this.bo; } diff --git a/patches/server/0016-EMC-MonsterEggSpawnEvent.patch b/patches/server/0016-EMC-MonsterEggSpawnEvent.patch index 0281c0266..650e17059 100644 --- a/patches/server/0016-EMC-MonsterEggSpawnEvent.patch +++ b/patches/server/0016-EMC-MonsterEggSpawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 2faa83fad..c03b0b58b 100644 +index bf5436510..b089c8a3f 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java -@@ -177,19 +177,45 @@ public class EntityTypes { +@@ -187,19 +187,45 @@ public class EntityTypes { @Nullable public Entity spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) { diff --git a/patches/server/0020-EntityMoveEvent.patch b/patches/server/0020-EntityMoveEvent.patch index ef32077fa..d72e93a0c 100644 --- a/patches/server/0020-EntityMoveEvent.patch +++ b/patches/server/0020-EntityMoveEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] EntityMoveEvent diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c9cff4c07..c7c452e7f 100644 +index baf35465b..84e4c754a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2801,6 +2801,20 @@ public abstract class EntityLiving extends Entity { +@@ -2802,6 +2802,20 @@ public abstract class EntityLiving extends Entity { this.collideNearby(); this.world.getMethodProfiler().exit(); diff --git a/patches/server/0031-Giants-AI-settings.patch b/patches/server/0031-Giants-AI-settings.patch index ee7a7b21c..6906ac767 100644 --- a/patches/server/0031-Giants-AI-settings.patch +++ b/patches/server/0031-Giants-AI-settings.patch @@ -17,10 +17,10 @@ index c57e23e16..92aa104dc 100644 public AttributeModifiable a(AttributeBase attributebase) { return (AttributeModifiable) this.b.computeIfAbsent(attributebase, (attributebase1) -> { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5dd2a52d3..6bf087bd2 100644 +index 3c63327ca..ebe5dc115 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -137,7 +137,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -135,7 +135,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public double D; public double E; public double F; @@ -112,7 +112,7 @@ index 9f4f56c47..8dce2aad7 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 9cf496b5e..be23120a2 100644 +index 04eff0182..7c58c8238 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -940,6 +940,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -146,10 +146,10 @@ index 9cf496b5e..be23120a2 100644 return false; } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c7c452e7f..cf56621ba 100644 +index 84e4c754a..39f5ef025 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2159,7 +2159,7 @@ public abstract class EntityLiving extends Entity { +@@ -2160,7 +2160,7 @@ public abstract class EntityLiving extends Entity { this.enderTeleportTo(vec3d.x, vec3d.y, vec3d.z); } diff --git a/patches/server/0043-Cat-spawning-options.patch b/patches/server/0043-Cat-spawning-options.patch index 08cb569f4..6bfba8f5f 100644 --- a/patches/server/0043-Cat-spawning-options.patch +++ b/patches/server/0043-Cat-spawning-options.patch @@ -95,10 +95,10 @@ index a5718af9b..b6b4c8c49 100644 return this.E; } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 646f9180f..53ab03a29 100644 +index 006ebc113..18af94ceb 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -2536,6 +2536,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -2557,6 +2557,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } diff --git a/patches/server/0045-Cows-eat-mushrooms.patch b/patches/server/0045-Cows-eat-mushrooms.patch index a131c0ae4..359b7b4ba 100644 --- a/patches/server/0045-Cows-eat-mushrooms.patch +++ b/patches/server/0045-Cows-eat-mushrooms.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cows eat mushrooms diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6bf087bd2..2be922a71 100644 +index ebe5dc115..9ab0572f2 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2729,6 +2729,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2727,6 +2727,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.invulnerable = flag; } @@ -110,7 +110,7 @@ index 42e6761c8..cfb009c81 100644 public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) { return (EntityCow) EntityTypes.COW.a((World) worldserver); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index cf56621ba..76575ea5f 100644 +index 39f5ef025..ff412471c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -81,7 +81,7 @@ public abstract class EntityLiving extends Entity { diff --git a/patches/server/0061-Fix-the-dead-lagging-the-server.patch b/patches/server/0061-Fix-the-dead-lagging-the-server.patch index 41fffd801..f91b0ac12 100644 --- a/patches/server/0061-Fix-the-dead-lagging-the-server.patch +++ b/patches/server/0061-Fix-the-dead-lagging-the-server.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2be922a71..5bb1d8e51 100644 +index 9ab0572f2..d978f2b08 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1501,6 +1501,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1498,6 +1498,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F; this.lastYaw = this.yaw; this.lastPitch = this.pitch; @@ -17,10 +17,10 @@ index 2be922a71..5bb1d8e51 100644 public void f(double d0, double d1, double d2) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d9c19f8f5..91fc7ba76 100644 +index 75005b00d..3193e7172 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2477,7 +2477,7 @@ public abstract class EntityLiving extends Entity { +@@ -2478,7 +2478,7 @@ public abstract class EntityLiving extends Entity { } } diff --git a/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch b/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch index 8a483746c..532bc4388 100644 --- a/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch +++ b/patches/server/0076-Add-option-to-disable-saving-projectiles-to-disk.patch @@ -17,10 +17,10 @@ index c2adc7f52..24a6102b3 100644 // Paper start if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5bb1d8e51..49cf334fc 100644 +index d978f2b08..204d9e004 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -309,6 +309,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -306,6 +306,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size); } @@ -34,7 +34,7 @@ index 5bb1d8e51..49cf334fc 100644 return false; } diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java -index e3865a9b4..de55acd1c 100644 +index 08da58677..3ff61434c 100644 --- a/src/main/java/net/minecraft/server/EntityEnderSignal.java +++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java @@ -19,6 +19,13 @@ public class EntityEnderSignal extends Entity { @@ -48,7 +48,7 @@ index e3865a9b4..de55acd1c 100644 + } + // Purpur end + - public void b(ItemStack itemstack) { + public void setItem(ItemStack itemstack) { if (true || itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) { // CraftBukkit - always allow item changing this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java diff --git a/patches/server/0077-Configurable-void-damage-height.patch b/patches/server/0077-Configurable-void-damage-height.patch index c53582f54..17d0e04f3 100644 --- a/patches/server/0077-Configurable-void-damage-height.patch +++ b/patches/server/0077-Configurable-void-damage-height.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 49cf334fc..dfc54b6c1 100644 +index 204d9e004..55e765a3e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -612,7 +612,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -609,7 +609,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke // Paper start protected void performVoidDamage() { diff --git a/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch index 155905be4..b8df87ade 100644 --- a/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0083-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index dfc54b6c1..98b62223b 100644 +index 55e765a3e..6628a15bf 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1693,6 +1693,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1690,6 +1690,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean isCollidable() { @@ -22,7 +22,7 @@ index dfc54b6c1..98b62223b 100644 } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index afa23395c..4f950c6aa 100644 +index ab5d61848..484a5261c 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving { @@ -35,7 +35,7 @@ index afa23395c..4f950c6aa 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index a726dd676..b84aa1db8 100644 +index af67cf868..f230d84fa 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java @@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient { @@ -48,7 +48,7 @@ index a726dd676..b84aa1db8 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java -index 0f25d7cd6..5887b7a26 100644 +index 8d5594651..d8d4b6abf 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -106,7 +106,7 @@ public class EntityBoat extends Entity { @@ -61,7 +61,7 @@ index 0f25d7cd6..5887b7a26 100644 } diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index da79c7e63..8cfbf8abf 100644 +index 9f74d6e88..c7757f9d0 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java @@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -74,10 +74,10 @@ index da79c7e63..8cfbf8abf 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 91fc7ba76..ba4e4ace5 100644 +index 3193e7172..8346d8f3d 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2865,7 +2865,7 @@ public abstract class EntityLiving extends Entity { +@@ -2866,7 +2866,7 @@ public abstract class EntityLiving extends Entity { // Paper - end don't run getEntities if we're not going to use its result // Tuinity start - reduce memory allocation from collideNearby List list = com.tuinity.tuinity.util.CachedLists.getTempGetEntitiesList(); @@ -86,7 +86,7 @@ index 91fc7ba76..ba4e4ace5 100644 try { // Tuinity end - reduce memory allocation from collideNearby -@@ -3010,7 +3010,14 @@ public abstract class EntityLiving extends Entity { +@@ -3011,7 +3011,14 @@ public abstract class EntityLiving extends Entity { @Override public boolean isCollidable() { @@ -103,7 +103,7 @@ index 91fc7ba76..ba4e4ace5 100644 // CraftBukkit start - collidable API diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index d5e129678..5e64ca8a0 100644 +index 44eabc4ee..d6cb8becc 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -131,7 +131,7 @@ index 34e08dda2..6bb73f869 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index a99429080..2b22029ea 100644 +index 1f41d101e..e30dbf51d 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1772,8 +1772,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/patches/server/0085-Implement-elytra-settings.patch b/patches/server/0085-Implement-elytra-settings.patch index b25b987e3..394489a77 100644 --- a/patches/server/0085-Implement-elytra-settings.patch +++ b/patches/server/0085-Implement-elytra-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ba4e4ace5..11abe8a93 100644 +index 8346d8f3d..45a297938 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2836,7 +2836,16 @@ public abstract class EntityLiving extends Entity { +@@ -2837,7 +2837,16 @@ public abstract class EntityLiving extends Entity { if (itemstack.getItem() == Items.ELYTRA && ItemElytra.d(itemstack)) { flag = true; if (!this.world.isClientSide && (this.be + 1) % 20 == 0) { diff --git a/patches/server/0086-Item-entity-immunities.patch b/patches/server/0086-Item-entity-immunities.patch index 2d5700d01..b4157e05c 100644 --- a/patches/server/0086-Item-entity-immunities.patch +++ b/patches/server/0086-Item-entity-immunities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 98b62223b..5e010d115 100644 +index 6628a15bf..e8199db7b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1450,6 +1450,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1447,6 +1447,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } @@ -68,7 +68,7 @@ index bc4f84c88..b6cb52c10 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index c64bbde28..3c1cf5903 100644 +index aea72b0db..29731da08 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -106,6 +106,15 @@ public class EntityTrackerEntry { diff --git a/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index e8c559068..2b08dae5c 100644 --- a/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0089-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -17,10 +17,10 @@ index 6fe5678cf..bd0267ee4 100644 return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic(); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5e010d115..a15bcfc0b 100644 +index e8199db7b..617ab96f1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1569,6 +1569,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1566,6 +1566,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return d3 * d3 + d4 * d4 + d5 * d5; } @@ -28,7 +28,7 @@ index 5e010d115..a15bcfc0b 100644 public double h(Entity entity) { return this.e(entity.getPositionVector()); } -@@ -2100,8 +2101,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2097,8 +2098,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.a(new ItemStack(imaterial), (float) i); } @@ -108,7 +108,7 @@ index 362ca695d..1942fae27 100644 @Override protected void saveData(NBTTagCompound nbttagcompound) { diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java -index 550f80bfd..b3616185d 100644 +index 3a70900c7..92704a078 100644 --- a/src/main/java/net/minecraft/server/EntityPhantom.java +++ b/src/main/java/net/minecraft/server/EntityPhantom.java @@ -9,9 +9,10 @@ import javax.annotation.Nullable; diff --git a/patches/server/0118-Stop-squids-floating-on-top-of-water.patch b/patches/server/0118-Stop-squids-floating-on-top-of-water.patch index 8052447d2..af9bf5884 100644 --- a/patches/server/0118-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0118-Stop-squids-floating-on-top-of-water.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a15bcfc0b..a5e639361 100644 +index 617ab96f1..1fa6791cc 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -3399,8 +3399,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3397,8 +3397,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.lastYaw = this.yaw; } diff --git a/patches/server/0119-Ridables.patch b/patches/server/0119-Ridables.patch index 55cfe0d70..ae71a9680 100644 --- a/patches/server/0119-Ridables.patch +++ b/patches/server/0119-Ridables.patch @@ -161,10 +161,10 @@ index bd0267ee4..8b36ac2b0 100644 this.B = true; return this; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a5e639361..75e8b3367 100644 +index 1fa6791cc..2cff6eb90 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -81,7 +81,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -79,7 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper private CraftEntity bukkitEntity; @@ -173,7 +173,7 @@ index a5e639361..75e8b3367 100644 boolean collisionLoadChunks = false; // Paper Throwable addedToWorldStack; // Paper - entity debug public CraftEntity getBukkitEntity() { -@@ -106,7 +106,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -104,7 +104,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke private int id; public boolean i; public final boolean blocksEntitySpawning() { return this.i; } // Paper - OBFHELPER public final List passengers; @@ -182,7 +182,7 @@ index a5e639361..75e8b3367 100644 @Nullable private Entity vehicle; public boolean attachedToPlayer; -@@ -122,7 +122,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -120,7 +120,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public float lastYaw; public float lastPitch; private AxisAlignedBB boundingBox; @@ -191,7 +191,7 @@ index a5e639361..75e8b3367 100644 public boolean positionChanged; public boolean v; public boolean velocityChanged; -@@ -178,7 +178,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -176,7 +176,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke private boolean az; private final double[] aA; private long aB; @@ -200,7 +200,7 @@ index a5e639361..75e8b3367 100644 private float headHeight; // CraftBukkit start public boolean persist = true; -@@ -1460,6 +1460,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1457,6 +1457,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return !this.justCreated && this.M.getDouble(TagsFluid.LAVA) > 0.0D; } @@ -208,7 +208,7 @@ index a5e639361..75e8b3367 100644 public void a(float f, Vec3D vec3d) { Vec3D vec3d1 = a(vec3d, f, this.yaw); -@@ -2200,6 +2201,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2198,6 +2199,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.a(entity, false); } @@ -216,7 +216,7 @@ index a5e639361..75e8b3367 100644 public boolean a(Entity entity, boolean flag) { for (Entity entity1 = entity; entity1.vehicle != null; entity1 = entity1.vehicle) { if (entity1.vehicle == this) { -@@ -2295,6 +2297,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2293,6 +2295,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.passengers.add(entity); } @@ -230,7 +230,7 @@ index a5e639361..75e8b3367 100644 } return true; // CraftBukkit } -@@ -2335,6 +2344,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2333,6 +2342,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } // Spigot end @@ -243,7 +243,7 @@ index a5e639361..75e8b3367 100644 this.passengers.remove(entity); entity.j = 60; } -@@ -2500,6 +2515,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2498,6 +2513,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.setFlag(4, flag); } @@ -251,7 +251,7 @@ index a5e639361..75e8b3367 100644 public boolean bD() { return this.glowing || this.world.isClientSide && this.getFlag(6); } -@@ -2718,6 +2734,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2716,6 +2732,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public void setHeadRotation(float f) {} @@ -259,7 +259,7 @@ index a5e639361..75e8b3367 100644 public void n(float f) {} public boolean bK() { -@@ -3152,6 +3169,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3150,6 +3167,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } @@ -278,7 +278,7 @@ index a5e639361..75e8b3367 100644 @Override public void sendMessage(IChatBaseComponent ichatbasecomponent, UUID uuid) {} -@@ -3594,4 +3623,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3592,4 +3621,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke void accept(Entity entity, double d0, double d1, double d2); } @@ -327,7 +327,7 @@ index a5e639361..75e8b3367 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index b84aa1db8..34b7424c4 100644 +index f230d84fa..bbf61d011 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java @@ -14,9 +14,48 @@ public class EntityBat extends EntityAmbient { @@ -1436,7 +1436,7 @@ index c4b1f318f..30f602bbc 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java -index 9f3922b18..6864b9956 100644 +index ae7b269de..9abbbd59f 100644 --- a/src/main/java/net/minecraft/server/EntityEvoker.java +++ b/src/main/java/net/minecraft/server/EntityEvoker.java @@ -12,10 +12,23 @@ public class EntityEvoker extends EntityIllagerWizard { @@ -1802,7 +1802,7 @@ index 8dce2aad7..24eb6dca5 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillager.class, false)); diff --git a/src/main/java/net/minecraft/server/EntityGuardian.java b/src/main/java/net/minecraft/server/EntityGuardian.java -index 2d0f64d3b..be060cfbd 100644 +index d42750fdd..881b2dd45 100644 --- a/src/main/java/net/minecraft/server/EntityGuardian.java +++ b/src/main/java/net/minecraft/server/EntityGuardian.java @@ -24,15 +24,36 @@ public class EntityGuardian extends EntityMonster { @@ -1996,7 +1996,7 @@ index 069111952..bd63a25e2 100644 protected void eK() { this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue((double) this.fp()); diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index 8cfbf8abf..c14889b09 100644 +index c7757f9d0..a490d0715 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java @@ -39,12 +39,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -2162,7 +2162,7 @@ index 48f9feaea..6c2b57a29 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java -index 66bfebe1c..f23721c26 100644 +index f5c9e4e0a..5e6c7e317 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -20,6 +20,16 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan @@ -2199,7 +2199,7 @@ index 66bfebe1c..f23721c26 100644 this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300)); this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300)); diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 0ecc5bd28..6b0f7f399 100644 +index 7465e867b..0dc811ff7 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -29,7 +29,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -2362,7 +2362,7 @@ index bdff23688..954000a7b 100644 float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ad17c3d27..4fb2bd443 100644 +index a2d50a1fe..b8f59f29a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -466,7 +466,7 @@ public abstract class EntityLiving extends Entity { @@ -2374,7 +2374,7 @@ index ad17c3d27..4fb2bd443 100644 } protected void cT() { -@@ -2185,7 +2185,7 @@ public abstract class EntityLiving extends Entity { +@@ -2186,7 +2186,7 @@ public abstract class EntityLiving extends Entity { return 0.42F * this.getBlockJumpFactor(); } @@ -2383,7 +2383,7 @@ index ad17c3d27..4fb2bd443 100644 float f = this.dI(); if (this.hasEffect(MobEffects.JUMP)) { -@@ -2434,10 +2434,12 @@ public abstract class EntityLiving extends Entity { +@@ -2435,10 +2435,12 @@ public abstract class EntityLiving extends Entity { return this.onGround ? this.dM() * (0.21600002F / (f * f * f)) : this.aE; } @@ -2834,7 +2834,7 @@ index 6bb73f869..822fe2691 100644 this.goalSelector.a(2, new PathfinderGoalSit(this)); this.goalSelector.a(2, new PathfinderGoalFollowOwner(this, 1.0D, 5.0F, 1.0F, true)); diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java -index 706760bae..aea27a098 100644 +index 03c9a8d0c..ee1ff6dc1 100644 --- a/src/main/java/net/minecraft/server/EntityPhantom.java +++ b/src/main/java/net/minecraft/server/EntityPhantom.java @@ -25,6 +25,58 @@ public class EntityPhantom extends EntityFlying implements IMonster { @@ -3255,7 +3255,7 @@ index cd6d2e07e..c74a10d9b 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPufferFish.java b/src/main/java/net/minecraft/server/EntityPufferFish.java -index 10c8e2288..b22d5b377 100644 +index 639af6bd3..81e918572 100644 --- a/src/main/java/net/minecraft/server/EntityPufferFish.java +++ b/src/main/java/net/minecraft/server/EntityPufferFish.java @@ -17,6 +17,18 @@ public class EntityPufferFish extends EntityFish { @@ -3554,7 +3554,7 @@ index 2908e9cc4..04e585f44 100644 this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false)); diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java -index a990af15d..11bf731d7 100644 +index f0394fe52..c5853f9f5 100644 --- a/src/main/java/net/minecraft/server/EntityShulker.java +++ b/src/main/java/net/minecraft/server/EntityShulker.java @@ -29,12 +29,26 @@ public class EntityShulker extends EntityGolem implements IMonster { @@ -4103,7 +4103,7 @@ index 495c28ccb..2c9df356e 100644 protected void initDatawatcher() { super.initDatawatcher(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 430f9d23a..2f7570dd6 100644 +index e025eef47..c29803367 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -27,6 +27,18 @@ public class EntityTurtle extends EntityAnimal { @@ -4889,7 +4889,7 @@ index b2c64b314..515ba50ae 100644 Vec3D vec3d = entity.getMot(); World world = entity.world; diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index 84858ba39..9b8114d76 100644 +index 5af554870..c59305ef7 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java @@ -39,6 +39,7 @@ public class Vec3D implements IPosition { @@ -4917,7 +4917,7 @@ index 84858ba39..9b8114d76 100644 return new Vec3D(this.x * d0, this.y * d1, this.z * d2); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 640bcc566..77c72ec9f 100644 +index d6cdb329c..d13684c3d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1516,5 +1516,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/patches/server/0122-Entities-can-use-portals-configuration.patch b/patches/server/0122-Entities-can-use-portals-configuration.patch index d62013c68..299a2cf4e 100644 --- a/patches/server/0122-Entities-can-use-portals-configuration.patch +++ b/patches/server/0122-Entities-can-use-portals-configuration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 75e8b3367..a73ecbc07 100644 +index 2cff6eb90..6f1537e82 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2376,7 +2376,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2374,7 +2374,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public void d(BlockPosition blockposition) { if (this.ah()) { this.resetPortalCooldown(); @@ -17,7 +17,7 @@ index 75e8b3367..a73ecbc07 100644 if (!this.world.isClientSide && !blockposition.equals(this.ac)) { this.ac = blockposition.immutableCopy(); } -@@ -2945,7 +2945,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2943,7 +2943,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean canPortal() {