diff --git a/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 2b014b9c19..dae4043056 100644 --- a/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0094-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 266ec4e2b78a094c01dd21b0cbfb5a7a0af1dd88 Mon Sep 17 00:00:00 2001 +From e203155d1c320112cc87545f45d9112de0e0e302 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -91,10 +91,10 @@ index d277a640c..8ce32dcff 100644 for (int j = -short1; j <= short1; j += 16) { for (int k = -short1; k <= short1; k += 16) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 088e7f1f1..6afe4d463 100644 +index 887894005..5d8e85a0a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1428,8 +1428,9 @@ public class CraftWorld implements World { +@@ -1403,8 +1403,9 @@ public class CraftWorld implements World { int chunkCoordX = chunkcoordinates.getX() >> 4; int chunkCoordZ = chunkcoordinates.getZ() >> 4; // Cycle through the 25x25 Chunks around it to load/unload the chunks. diff --git a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch index 8b89266416..937785217d 100644 --- a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -1,4 +1,4 @@ -From fb6a6c45bb488b2b412351ffdc83baac4b87fedf Mon Sep 17 00:00:00 2001 +From b0efda0569a3f5e6285e5fb2abd2bb310d5a1565 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 18 Jun 2016 23:22:12 -0400 Subject: [PATCH] Delay Chunk Unloads based on Player Movement @@ -43,7 +43,7 @@ index ff1a2046f..0cd15c17e 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index e00b432ce..9d064d4fc 100644 +index 28ec8628d..234c9eb1c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -36,6 +36,7 @@ public class Chunk implements IChunkAccess { @@ -198,10 +198,10 @@ index 8aa4138a2..225f7574d 100644 this.methodProfiler.a(() -> { return String.valueOf(TileEntityTypes.a(tileentity.C())); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6afe4d463..0b3de7a76 100644 +index 5d8e85a0a..178f462c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1781,7 +1781,7 @@ public class CraftWorld implements World { +@@ -1756,7 +1756,7 @@ public class CraftWorld implements World { ChunkProviderServer cps = world.getChunkProviderServer(); for (net.minecraft.server.Chunk chunk : cps.chunks.values()) { // If in use, skip it diff --git a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index ae10dd975a..d5bd7b98d3 100644 --- a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From 9ec95842bd16ba04ce090036fe3e5491fc8ed682 Mon Sep 17 00:00:00 2001 +From c4483daa6889091ddc0b123bb58dfd4877ff6cf4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:31:46 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player @@ -8,7 +8,7 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index bb8b450ac4..163ce42c61 100644 +index bb8b450ac..163ce42c6 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -454,13 +454,13 @@ public class Block implements IMaterial { @@ -28,7 +28,7 @@ index bb8b450ac4..163ce42c61 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 69c8e245bd..8993fe1add 100644 +index 69c8e245b..8993fe1ad 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -618,7 +618,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo @@ -41,7 +41,7 @@ index 69c8e245bd..8993fe1add 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 1e25ade7cf..3e2312b866 100644 +index 1e25ade7c..3e2312b86 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -15,9 +15,59 @@ public class EntityExperienceOrb extends Entity { @@ -120,7 +120,7 @@ index 1e25ade7cf..3e2312b866 100644 public void d(EntityHuman entityhuman) { diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index e33ecfcda7..b164aff93f 100644 +index e33ecfcda..b164aff93 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -467,7 +467,7 @@ public class EntityFishingHook extends Entity { @@ -133,7 +133,7 @@ index e33ecfcda7..b164aff93f 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b2b575d0e8..48bb14805e 100644 +index b2b575d0e..48bb14805 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -354,7 +354,8 @@ public abstract class EntityLiving extends Entity { @@ -147,7 +147,7 @@ index b2b575d0e8..48bb14805e 100644 this.expToDrop = 0; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index a5e1939e05..e73dba09a6 100644 +index a5e1939e0..e73dba09a 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -36,7 +36,7 @@ public class EntityThrownExpBottle extends EntityProjectile { @@ -160,7 +160,7 @@ index a5e1939e05..e73dba09a6 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index f05a1483ff..70f54b1fb9 100644 +index f05a1483f..70f54b1fb 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -411,7 +411,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { @@ -173,7 +173,7 @@ index f05a1483ff..70f54b1fb9 100644 if (this.tradingPlayer instanceof EntityPlayer) { diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 4a128f707b..b870964674 100644 +index 4a128f707..b87096467 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java @@ -122,7 +122,7 @@ public class PathfinderGoalBreed extends PathfinderGoal { @@ -186,7 +186,7 @@ index 4a128f707b..b870964674 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index c8cfa3abe4..aa7780eff5 100644 +index c8cfa3abe..aa7780eff 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -390,7 +390,7 @@ public class PlayerInteractManager { @@ -199,7 +199,7 @@ index c8cfa3abe4..aa7780eff5 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index 22c47c63c7..52e296d468 100644 +index 22c47c63c..52e296d46 100644 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java @@ -9,7 +9,7 @@ import org.bukkit.event.inventory.FurnaceExtractEvent; @@ -221,10 +221,10 @@ index 22c47c63c7..52e296d468 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index dbc8dc4b9e..fe53db5d22 100644 +index d4627dbe0..bdcbef8dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1363,7 +1363,7 @@ public class CraftWorld implements World { +@@ -1338,7 +1338,7 @@ public class CraftWorld implements World { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new EntityTNTPrimed(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { @@ -234,7 +234,7 @@ index dbc8dc4b9e..fe53db5d22 100644 // not sure what this can do if (LightningStrike.class.isAssignableFrom(clazz)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java -index 3a09cab3d4..3302af0e45 100644 +index 3a09cab3d..3302af0e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -18,6 +18,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { diff --git a/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch index bbbe9f3f6b..a32335f0ba 100644 --- a/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0256-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 5a55d82dd5c5d083d78989e118dfc04954b88b5e Mon Sep 17 00:00:00 2001 +From 893e727e1f192d8b040c9947d818862524ccacff Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 15 Aug 2017 22:29:12 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -34,10 +34,10 @@ index 682e0b87e..a5dfc1ebf 100644 if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fe53db5d2..6b083daa9 100644 +index bdcbef8dc..4bd6b2376 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1770,11 +1770,17 @@ public class CraftWorld implements World { +@@ -1745,11 +1745,17 @@ public class CraftWorld implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 4fd7d6729d..d2cc5a1263 100644 --- a/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0260-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 170f9bfdcfc0f301f5a250b1210a4919019662da Mon Sep 17 00:00:00 2001 +From 4fb00387c71a4eee750e7649ef522e8c481fab24 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Jun 2018 20:39:20 -0400 Subject: [PATCH] Allow spawning Item entities with World.spawnEntity @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6b083daa9..1500c4a42 100644 +index 4bd6b2376..aec0bb395 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1079,6 +1079,10 @@ public class CraftWorld implements World { +@@ -1054,6 +1054,10 @@ public class CraftWorld implements World { if (Boat.class.isAssignableFrom(clazz)) { entity = new EntityBoat(world, x, y, z); entity.setPositionRotation(x, y, z, yaw, pitch); diff --git a/Spigot-Server-Patches/0276-Expand-Explosions-API.patch b/Spigot-Server-Patches/0276-Expand-Explosions-API.patch index 002ba86c0b..4d9fe37e26 100644 --- a/Spigot-Server-Patches/0276-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0276-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 10a9794d64920edae3b98ae7bdf742cf50cf5a4e Mon Sep 17 00:00:00 2001 +From 7206df2c7f5cbc0925ae55a706e870f35dea2681 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1500c4a42..767dc87dd 100644 +index aec0bb395..d3abaa9b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -548,6 +548,11 @@ public class CraftWorld implements World { +@@ -523,6 +523,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks) { return !world.createExplosion(null, x, y, z, power, setFire, breakBlocks).wasCanceled; } diff --git a/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch index 6ad4bc9e27..bc6cabc04e 100644 --- a/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0281-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From 51e1884b784aa8d72f01558878e449fad4e643a8 Mon Sep 17 00:00:00 2001 +From a06fff08f38b167f4a333c2ea0a949197ef1f5cd Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:08:14 +0200 Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 767dc87dd..a7be13c9c 100644 +index d3abaa9b6..be8cc2510 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -899,6 +899,14 @@ public class CraftWorld implements World { +@@ -874,6 +874,14 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch index 21a1e30c1e..e5f7b689cf 100644 --- a/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0311-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From 300fb54a858bda8b9e47f38237bc5fa8d7bf1e34 Mon Sep 17 00:00:00 2001 +From 2df6c84b94bf4d4c4e2b28e8b59c479128c63d57 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -71,10 +71,10 @@ index 965a598db..2aa4946c7 100644 if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a7be13c9c..911ea5ca0 100644 +index be8cc2510..a99aabc40 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -643,6 +643,7 @@ public class CraftWorld implements World { +@@ -618,6 +618,7 @@ public class CraftWorld implements World { for (Object o : world.entityList) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -82,7 +82,7 @@ index a7be13c9c..911ea5ca0 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -661,6 +662,7 @@ public class CraftWorld implements World { +@@ -636,6 +637,7 @@ public class CraftWorld implements World { for (Object o : world.entityList) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -90,7 +90,7 @@ index a7be13c9c..911ea5ca0 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -685,6 +687,7 @@ public class CraftWorld implements World { +@@ -660,6 +662,7 @@ public class CraftWorld implements World { for (Object entity: world.entityList) { if (entity instanceof net.minecraft.server.Entity) { @@ -98,7 +98,7 @@ index a7be13c9c..911ea5ca0 100644 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -707,6 +710,7 @@ public class CraftWorld implements World { +@@ -682,6 +685,7 @@ public class CraftWorld implements World { for (Object entity: world.entityList) { if (entity instanceof net.minecraft.server.Entity) { diff --git a/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch index baca856ad2..e8e71fae56 100644 --- a/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0332-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,4 +1,4 @@ -From 721b6150fa42e830e1bf1258a0e53346d5f3bcf8 Mon Sep 17 00:00:00 2001 +From f74ab97dfef96770cc68a42f8489e33a06367943 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Fri, 6 Jul 2018 13:21:30 +0100 Subject: [PATCH] Send nearby packets from world player list not server list @@ -119,10 +119,10 @@ index 17758c813..6e54b71e8 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 911ea5ca0..59d94dd88 100644 +index a99aabc40..98efce511 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1645,7 +1645,7 @@ public class CraftWorld implements World { +@@ -1620,7 +1620,7 @@ public class CraftWorld implements World { double z = loc.getZ(); PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch); diff --git a/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch b/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch index 8a512e2194..c1770c6584 100644 --- a/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch +++ b/Spigot-Server-Patches/0345-Implement-Force-Loaded-Chunk-API.patch @@ -1,4 +1,4 @@ -From 01bd6b8df3d94c248bee873ed40243024998f936 Mon Sep 17 00:00:00 2001 +From 6efe491434ee66156df70829d328ebdbb690c1ac Mon Sep 17 00:00:00 2001 From: willies952002 Date: Wed, 29 Aug 2018 00:37:42 -0400 Subject: [PATCH] Implement Force-Loaded Chunk API @@ -28,10 +28,10 @@ index 12c6d850d..b9371e3ae 100644 Arrays.fill(emptySkyLight, (byte) 0xFF); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 59d94dd88..098280e6d 100644 +index 98efce511..13d1551bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -595,6 +595,12 @@ public class CraftWorld implements World { +@@ -570,6 +570,12 @@ public class CraftWorld implements World { return getChunkAt(location.getBlockX() >> 4, location.getBlockZ() >> 4); } diff --git a/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch b/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch index ab36238bb6..3e79d56072 100644 --- a/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch +++ b/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch @@ -1,4 +1,4 @@ -From c3289a26bda694817e0110a865d6807030661c73 Mon Sep 17 00:00:00 2001 +From 7f80524406fbc47888a8909fb32ea6e0545bc294 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:55:04 -0400 Subject: [PATCH] Async Chunk Loading and Generation @@ -43,7 +43,7 @@ reading or writing to the chunk will be safe, so plugins still should not be touching chunks asynchronously! diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index b703e08486..77d35ac99d 100644 +index b703e0848..77d35ac99 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -385,4 +385,57 @@ public class PaperConfig { @@ -106,7 +106,7 @@ index b703e08486..77d35ac99d 100644 } diff --git a/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java b/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java new file mode 100644 -index 0000000000..e589aa356c +index 000000000..e589aa356 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java @@ -0,0 +1,298 @@ @@ -409,7 +409,7 @@ index 0000000000..e589aa356c + +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 479a84a250..340b756bb4 100644 +index 479a84a25..340b756bb 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -184,6 +184,7 @@ public class Chunk implements IChunkAccess { @@ -421,7 +421,7 @@ index 479a84a250..340b756bb4 100644 Iterator iterator = protochunk.s().iterator(); diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 39ac032b0b..1662e4eba5 100644 +index 39ac032b0..1662e4eba 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,9 +14,17 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -527,7 +527,7 @@ index 39ac032b0b..1662e4eba5 100644 public Chunk remove(Object object) { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index e64cb80514..7a1f848863 100644 +index e64cb8051..7a1f84886 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -35,12 +35,12 @@ public class ChunkProviderServer implements IChunkProvider { @@ -677,7 +677,7 @@ index e64cb80514..7a1f848863 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 9b4bc3ff68..4c22f6d756 100644 +index 9b4bc3ff6..4c22f6d75 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -120,7 +120,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -704,7 +704,7 @@ index 9b4bc3ff68..4c22f6d756 100644 completion = new Supplier() { public NBTTagCompound get() { diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index bdfc7d81ff..a5c4564d60 100644 +index bdfc7d81f..a5c4564d6 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -24,7 +24,17 @@ public class ChunkSection { @@ -726,7 +726,7 @@ index bdfc7d81ff..a5c4564d60 100644 public IBlockData getType(int i, int j, int k) { return this.blockIds.a(i, j, k); diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 34019bd1b3..fc9091c801 100644 +index 34019bd1b..fc9091c80 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -20,13 +20,14 @@ public class ChunkTaskScheduler extends Scheduler map) { diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 71a3636be6..ff0fe25417 100644 +index 71a3636be..ff0fe2541 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -3,7 +3,7 @@ package net.minecraft.server; @@ -882,7 +882,7 @@ index 71a3636be6..ff0fe25417 100644 // Paper start - Anti-Xray - Support default methods diff --git a/src/main/java/net/minecraft/server/DefinedStructureManager.java b/src/main/java/net/minecraft/server/DefinedStructureManager.java -index 271dc41d45..bd15534c23 100644 +index 271dc41d4..bd15534c2 100644 --- a/src/main/java/net/minecraft/server/DefinedStructureManager.java +++ b/src/main/java/net/minecraft/server/DefinedStructureManager.java @@ -19,7 +19,7 @@ import org.apache.logging.log4j.Logger; @@ -895,7 +895,7 @@ index 271dc41d45..bd15534c23 100644 private final MinecraftServer d; private final java.nio.file.Path e; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 13c0c7ee89..552be8cd88 100644 +index 13c0c7ee8..552be8cd8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -209,7 +209,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -908,7 +908,7 @@ index 13c0c7ee89..552be8cd88 100644 this.aJ = Sets.newHashSet(); this.aL = new double[] { 0.0D, 0.0D, 0.0D}; diff --git a/src/main/java/net/minecraft/server/IChunkLoader.java b/src/main/java/net/minecraft/server/IChunkLoader.java -index 4698ee99f8..dfb45cc4ea 100644 +index 4698ee99f..dfb45cc4e 100644 --- a/src/main/java/net/minecraft/server/IChunkLoader.java +++ b/src/main/java/net/minecraft/server/IChunkLoader.java @@ -6,6 +6,8 @@ import javax.annotation.Nullable; @@ -921,7 +921,7 @@ index 4698ee99f8..dfb45cc4ea 100644 Chunk a(GeneratorAccess generatoraccess, int i, int j, Consumer consumer) throws IOException; diff --git a/src/main/java/net/minecraft/server/MathHelper.java b/src/main/java/net/minecraft/server/MathHelper.java -index 49fba0979e..9ad646f8d4 100644 +index 49fba0979..9ad646f8d 100644 --- a/src/main/java/net/minecraft/server/MathHelper.java +++ b/src/main/java/net/minecraft/server/MathHelper.java @@ -142,6 +142,7 @@ public class MathHelper { @@ -933,7 +933,7 @@ index 49fba0979e..9ad646f8d4 100644 fx = fx % 360.0F; if (fx >= 180.0F) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 763130b036..67722440fd 100644 +index 763130b03..67722440f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -503,6 +503,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -1031,7 +1031,7 @@ index 763130b036..67722440fd 100644 diff --git a/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java b/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java new file mode 100644 -index 0000000000..c334462f20 +index 000000000..c334462f2 --- /dev/null +++ b/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java @@ -0,0 +1,619 @@ @@ -1655,7 +1655,7 @@ index 0000000000..c334462f20 + +} diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 2c7c8adf7c..62c524ef35 100644 +index 2c7c8adf7..62c524ef3 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -29,16 +29,59 @@ public class PlayerChunk { @@ -1757,7 +1757,7 @@ index 2c7c8adf7c..62c524ef35 100644 } } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 95baa1dc8b..9f60285868 100644 +index 95baa1dc8..9f6028586 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -27,10 +27,10 @@ public class PlayerChunkMap { @@ -1817,7 +1817,7 @@ index 95baa1dc8b..9f60285868 100644 private void e() { diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -index 9c34319b6e..7149b1472b 100644 +index 9c34319b6..7149b1472 100644 --- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java +++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java @@ -35,7 +35,7 @@ public class RegionLimitedWorldAccess implements GeneratorAccess { @@ -1830,7 +1830,7 @@ index 9c34319b6e..7149b1472b 100644 this.m = world.getChunkProvider().getChunkGenerator().getSettings(); this.i = world.getSeaLevel(); diff --git a/src/main/java/net/minecraft/server/SchedulerBatch.java b/src/main/java/net/minecraft/server/SchedulerBatch.java -index d868149d1a..0d45d933ee 100644 +index d868149d1..0d45d933e 100644 --- a/src/main/java/net/minecraft/server/SchedulerBatch.java +++ b/src/main/java/net/minecraft/server/SchedulerBatch.java @@ -9,6 +9,7 @@ public class SchedulerBatch, R> { @@ -1885,7 +1885,7 @@ index d868149d1a..0d45d933ee 100644 } } diff --git a/src/main/java/net/minecraft/server/StructurePiece.java b/src/main/java/net/minecraft/server/StructurePiece.java -index a5cf017da1..def8730b86 100644 +index a5cf017da..def8730b8 100644 --- a/src/main/java/net/minecraft/server/StructurePiece.java +++ b/src/main/java/net/minecraft/server/StructurePiece.java @@ -14,7 +14,7 @@ public abstract class StructurePiece { @@ -1912,7 +1912,7 @@ index a5cf017da1..def8730b86 100644 return null; } diff --git a/src/main/java/net/minecraft/server/StructureStart.java b/src/main/java/net/minecraft/server/StructureStart.java -index 1926c902ad..1117e4ae27 100644 +index 1926c902a..1117e4ae2 100644 --- a/src/main/java/net/minecraft/server/StructureStart.java +++ b/src/main/java/net/minecraft/server/StructureStart.java @@ -6,7 +6,7 @@ import java.util.List; @@ -1961,7 +1961,7 @@ index 1926c902ad..1117e4ae27 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 016d50d3cb..f1495d30cb 100644 +index 016d50d3c..f1495d30c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -46,7 +46,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -2058,7 +2058,7 @@ index 016d50d3cb..f1495d30cb 100644 if (entity == null) return false; if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java -index fa99fe0146..4f49786aa3 100644 +index fa99fe014..4f49786aa 100644 --- a/src/main/java/net/minecraft/server/WorldGenStronghold.java +++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java @@ -9,24 +9,29 @@ import java.util.Random; @@ -2205,7 +2205,7 @@ index fa99fe0146..4f49786aa3 100644 } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6e54b71e88..a54ea5a69c 100644 +index 6e54b71e8..a54ea5a69 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -731,7 +731,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -2218,7 +2218,7 @@ index 6e54b71e88..a54ea5a69c 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6d72db7bd3..32bf4e589c 100644 +index 6d72db7bd..32bf4e589 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1014,8 +1014,12 @@ public final class CraftServer implements Server { @@ -2246,7 +2246,7 @@ index 6d72db7bd3..32bf4e589c 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 604d1dbb38..fd494e9fc9 100644 +index 9c266b450..f3a9649ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -162,6 +162,16 @@ public class CraftWorld implements World { @@ -2266,7 +2266,7 @@ index 604d1dbb38..fd494e9fc9 100644 public Chunk getChunkAt(int x, int z) { return this.world.getChunkProviderServer().getChunkAt(x, z, true, true).bukkitChunk; } -@@ -1481,10 +1491,13 @@ public class CraftWorld implements World { +@@ -1456,10 +1466,13 @@ public class CraftWorld implements World { int chunkCoordZ = chunkcoordinates.getZ() >> 4; // Cycle through the 25x25 Chunks around it to load/unload the chunks. int radius = world.paperConfig.keepLoadedRange / 16; // Paper @@ -2284,7 +2284,7 @@ index 604d1dbb38..fd494e9fc9 100644 if (isChunkLoaded(chunkCoordX + x, chunkCoordZ + z)) { unloadChunk(chunkCoordX + x, chunkCoordZ + z); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 65f133bc1d..f4d1f58b87 100644 +index 439bf2c24..12e6a4ea3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -78,6 +78,7 @@ public class CraftEventFactory { @@ -2346,7 +2346,7 @@ index 65f133bc1d..f4d1f58b87 100644 if (!event.isCancelled()) { diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java -index 9c2adb2351..62c197b80d 100644 +index 9c2adb235..62c197b80 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java @@ -21,6 +21,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API @@ -29,10 +29,10 @@ index 23529954b..7914f9b60 100644 return this.G < 4; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fd494e9fc..29dc2c270 100644 +index f3a9649ef..9f3d87217 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -547,6 +547,12 @@ public class CraftWorld implements World { +@@ -522,6 +522,12 @@ public class CraftWorld implements World { } } diff --git a/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch b/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch index a2d9da3dff..a23e847d10 100644 --- a/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch +++ b/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch @@ -1,4 +1,4 @@ -From f3e4d066305817657c285030f97479dd74f4303c Mon Sep 17 00:00:00 2001 +From b1ec360d827b7964d124ac30a4bee31f689886b5 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 4 Oct 2018 10:08:02 -0500 Subject: [PATCH] Use EntityTypes for living entities @@ -699,10 +699,10 @@ index 818e4c376..4f9029c33 100644 entityhorseskeleton.s(true); entityhorseskeleton.setAgeRaw(0); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 29dc2c270..85cc4c4bd 100644 +index 9f3d87217..0eb23d52c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1196,153 +1196,153 @@ public class CraftWorld implements World { +@@ -1171,153 +1171,153 @@ public class CraftWorld implements World { entity.setPositionRotation(x, y, z, 0, 0); } else if (LivingEntity.class.isAssignableFrom(clazz)) { if (Chicken.class.isAssignableFrom(clazz)) { diff --git a/work/CraftBukkit b/work/CraftBukkit index 1057710a78..aed3aecbaf 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1057710a78ec00a5812b26ebd800f0b645edde34 +Subproject commit aed3aecbafff223bb8c48ace7cb18f8a7dd0b6d5