From c2d29a73aca6f5a9171947766599631dfc03a7d2 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 21 Jul 2018 02:00:31 -0500 Subject: [PATCH 01/70] PlayerElytraBoostEvent --- .../0125-PlayerElytraBoostEvent.patch | 95 +++++++++++++++++++ .../0299-PlayerElytraBoostEvent.patch | 32 +++++++ 2 files changed, 127 insertions(+) create mode 100644 Spigot-API-Patches/0125-PlayerElytraBoostEvent.patch create mode 100644 Spigot-Server-Patches/0299-PlayerElytraBoostEvent.patch diff --git a/Spigot-API-Patches/0125-PlayerElytraBoostEvent.patch b/Spigot-API-Patches/0125-PlayerElytraBoostEvent.patch new file mode 100644 index 0000000000..d2970da16d --- /dev/null +++ b/Spigot-API-Patches/0125-PlayerElytraBoostEvent.patch @@ -0,0 +1,95 @@ +From f0c0d6c6182c1c89de1125c0c2f22559724cfaf5 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Sat, 21 Jul 2018 01:59:53 -0500 +Subject: [PATCH] PlayerElytraBoostEvent + + +diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java +new file mode 100644 +index 00000000..cecb2182 +--- /dev/null ++++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java +@@ -0,0 +1,80 @@ ++package com.destroystokyo.paper.event.player; ++ ++import org.bukkit.entity.Firework; ++import org.bukkit.entity.Player; ++import org.bukkit.event.Cancellable; ++import org.bukkit.event.HandlerList; ++import org.bukkit.event.player.PlayerEvent; ++import org.bukkit.inventory.ItemStack; ++ ++/** ++ * Fired when a player boosts elytra flight with a firework ++ */ ++public class PlayerElytraBoostEvent extends PlayerEvent implements Cancellable { ++ private static final HandlerList handlers = new HandlerList(); ++ private boolean cancelled = false; ++ private final ItemStack itemStack; ++ private Firework firework; ++ private boolean consume = true; ++ ++ public PlayerElytraBoostEvent(Player player, ItemStack itemStack, Firework firework) { ++ super(player); ++ this.itemStack = itemStack; ++ this.firework = firework; ++ } ++ ++ /** ++ * Get the firework itemstack used ++ * ++ * @return ItemStack of firework ++ */ ++ public ItemStack getItemStack() { ++ return itemStack; ++ } ++ ++ /** ++ * Get the firework entity that was spawned ++ * ++ * @return Firework entity ++ */ ++ public Firework getFirework() { ++ return firework; ++ } ++ ++ /** ++ * Get whether to consume the firework or not ++ * ++ * @return True to consume ++ */ ++ public boolean shouldConsume() { ++ return consume; ++ } ++ ++ /** ++ * Set whether to consume the firework or not ++ * ++ * @param consume True to consume ++ */ ++ public void setShouldConsume(boolean consume) { ++ this.consume = consume; ++ } ++ ++ @Override ++ public HandlerList getHandlers() { ++ return handlers; ++ } ++ ++ public static HandlerList getHandlerList() { ++ return handlers; ++ } ++ ++ @Override ++ public boolean isCancelled() { ++ return cancelled; ++ } ++ ++ @Override ++ public void setCancelled(boolean cancel) { ++ cancelled = cancel; ++ } ++} +-- +2.11.0 + diff --git a/Spigot-Server-Patches/0299-PlayerElytraBoostEvent.patch b/Spigot-Server-Patches/0299-PlayerElytraBoostEvent.patch new file mode 100644 index 0000000000..244a473cee --- /dev/null +++ b/Spigot-Server-Patches/0299-PlayerElytraBoostEvent.patch @@ -0,0 +1,32 @@ +From bddfab42af36131c6cadd4e233230ff085a16fc0 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Sat, 21 Jul 2018 01:59:59 -0500 +Subject: [PATCH] PlayerElytraBoostEvent + + +diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java +index 1493d0999..48cc5bf7d 100644 +--- a/src/main/java/net/minecraft/server/ItemFireworks.java ++++ b/src/main/java/net/minecraft/server/ItemFireworks.java +@@ -35,9 +35,15 @@ public class ItemFireworks extends Item { + EntityFireworks entityfireworks = new EntityFireworks(world, itemstack, entityhuman); + + entityfireworks.spawningEntity = entityhuman.getUniqueID(); // Paper +- world.addEntity(entityfireworks); +- if (!entityhuman.abilities.canInstantlyBuild) { +- itemstack.subtract(1); ++ // Paper start ++ com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Firework) entityfireworks.getBukkitEntity()); ++ if (event.callEvent() && world.addEntity(entityfireworks)) { ++ if (event.shouldConsume() && !entityhuman.abilities.canInstantlyBuild) { ++ itemstack.subtract(1); ++ } else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); ++ } else if (entityhuman instanceof EntityPlayer) { ++ ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); ++ // Paper end + } + } + +-- +2.11.0 + From fa8406dab407f007da6c91ce0a0aa5586f430f30 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:09:40 -0400 Subject: [PATCH 02/70] Create a symlink on not-windows to current minecraft decompile dir This is useful for project developers switching back and forth between 1.12.2 and 1.13 so we can have our IDE automatically use the current version we are working on for included mc-dev files. --- scripts/decompile.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/decompile.sh b/scripts/decompile.sh index f2c1754fdd..2018259c37 100755 --- a/scripts/decompile.sh +++ b/scripts/decompile.sh @@ -6,9 +6,9 @@ PS1="$" basedir="$(cd "$1" && pwd -P)" workdir="$basedir/work" minecraftversion=$(cat "$workdir/BuildData/info.json" | grep minecraftVersion | cut -d '"' -f 4) +windows="$([[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" ]] && echo "true" || echo "false")" decompiledir="$workdir/Minecraft/$minecraftversion" classdir="$decompiledir/classes" - echo "Extracting NMS classes..." if [ ! -d "$classdir" ]; then mkdir -p "$classdir" @@ -30,4 +30,13 @@ if [ ! -d "$decompiledir/net/minecraft/server" ]; then exit 1 fi fi + +# set a symlink to current +currentlink="$workdir/Minecraft/current" +if ([ ! -e "$currentlink" ] || [ -L "$currentlink" ]) && [ "$windows" == "false" ]; then + echo "Pointing $currentlink to $minecraftversion" + rm -rf "$currentlink" + ln -sfn "$minecraftversion" "$currentlink" +fi + ) From ff4ae7b05e6944b3de5436b5714ec6726d554bd8 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 21 Jul 2018 14:47:22 +0200 Subject: [PATCH 03/70] 1.13: Resend bed on cancelled interaction (#1245) Minecraft 1.13 requires resending the block for both parts of the bed --- ...-Extend-Player-Interact-cancellation.patch | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch index a9617aeea1..85611f086a 100644 --- a/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch +++ b/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch @@ -1,4 +1,4 @@ -From 8ee7700cdaccb5163a9398141a29fc19c30e0eea Mon Sep 17 00:00:00 2001 +From 0fb78f02246374d62846d855b0a0774ea91877cb Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Feb 2018 10:43:46 +0000 Subject: [PATCH] Extend Player Interact cancellation @@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds when cancelling interaction. diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index e34198e40..620efb1ac 100644 +index e34198e4..e375e255 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -110,6 +110,7 @@ public class PlayerInteractManager { @@ -24,7 +24,7 @@ index e34198e40..620efb1ac 100644 // Update any tile entity data for this block TileEntity tileentity = this.world.getTileEntity(blockposition); if (tileentity != null) { -@@ -249,6 +250,34 @@ public class PlayerInteractManager { +@@ -249,6 +250,33 @@ public class PlayerInteractManager { return flag; } @@ -42,15 +42,14 @@ index e34198e40..620efb1ac 100644 + BlockPosition piston = position.shift(data.get(BlockPistonExtension.FACING).opposite()); + this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(world, piston)); + } else if (block instanceof BlockBed) { -+ if (data.get(BlockBed.PART) == BlockPropertyBedPart.FOOT) { -+ // Restore head of bed -+ BlockPosition head = position.shift(data.get(BlockBed.FACING)); -+ this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(world, head)); ++ // Restore other half of bed ++ boolean foot = data.get(BlockBed.PART) == BlockPropertyBedPart.FOOT; ++ BlockPosition otherBlock = position.shift(foot ? data.get(BlockBed.FACING) : data.get(BlockBed.FACING).opposite()); ++ this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(world, otherBlock)); + -+ TileEntity tileentity = this.world.getTileEntity(head); -+ if (tileentity != null) { -+ this.player.playerConnection.sendPacket(tileentity.getUpdatePacket()); -+ } ++ TileEntity tileentity = this.world.getTileEntity(otherBlock); ++ if (tileentity != null) { ++ this.player.playerConnection.sendPacket(tileentity.getUpdatePacket()); + } + } + } @@ -59,7 +58,7 @@ index e34198e40..620efb1ac 100644 public boolean breakBlock(BlockPosition blockposition) { IBlockData iblockdata = this.world.getType(blockposition); // CraftBukkit start - fire BlockBreakEvent -@@ -297,11 +326,7 @@ public class PlayerInteractManager { +@@ -297,11 +325,7 @@ public class PlayerInteractManager { } // Let the client know the block still exists ((EntityPlayer) this.player).playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); @@ -72,7 +71,7 @@ index e34198e40..620efb1ac 100644 // Update any tile entity data for this block TileEntity tileentity = this.world.getTileEntity(blockposition); if (tileentity != null) { -@@ -459,7 +484,25 @@ public class PlayerInteractManager { +@@ -459,7 +483,25 @@ public class PlayerInteractManager { ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, bottom ? blockposition.up() : blockposition.down())); } else if (iblockdata.getBlock() instanceof BlockCake) { ((EntityPlayer) entityhuman).getBukkitEntity().sendHealthUpdate(); // SPIGOT-1341 - reset health for cake @@ -99,5 +98,5 @@ index e34198e40..620efb1ac 100644 enuminteractionresult = (event.useItemInHand() != Event.Result.ALLOW) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS; } else if (this.gamemode == EnumGamemode.SPECTATOR) { -- -2.18.0 +2.16.1.windows.1 From e67d55d00d990e222edd03036743351239cb51cf Mon Sep 17 00:00:00 2001 From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> Date: Sat, 21 Jul 2018 12:58:48 +0100 Subject: [PATCH 04/70] Extend player profile API to support skin changes Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile --- ...-profile-API-to-support-skin-changes.patch | 29 ++++ ...-profile-API-to-support-skin-changes.patch | 163 ++++++++++++++++++ 2 files changed, 192 insertions(+) create mode 100644 Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch create mode 100644 Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch diff --git a/Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch b/Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch new file mode 100644 index 0000000000..6e851c0fe9 --- /dev/null +++ b/Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch @@ -0,0 +1,29 @@ +From c54292b8620985a83368e984581d4835604512e1 Mon Sep 17 00:00:00 2001 +From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> +Date: Sat, 21 Jul 2018 01:30:41 +0100 +Subject: [PATCH] Extend player profile API to support skin changes + +Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile + +diff --git a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java +index e060c38a..98eade06 100644 +--- a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java ++++ b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java +@@ -132,6 +132,14 @@ public interface PlayerProfile { + * @return If the profile is now complete (has UUID and Name) (if you get rate limited, this operation may fail) + */ + boolean complete(boolean textures); ++ /** ++ * If this profile is not complete, then make the API call to complete it. ++ * This is a blocking operation and should be done asynchronously. ++ * ++ * Optionally will also fill textures. ++ * @return If the profile is now complete (has UUID and Name) (if you get rate limited, this operation may fail) ++ */ ++ boolean complete(boolean textures, boolean force); + + /** + * Whether or not this Profile has textures associated to it +-- +2.16.2.windows.1 + diff --git a/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch new file mode 100644 index 0000000000..ab79ee794b --- /dev/null +++ b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch @@ -0,0 +1,163 @@ +From e709f6448451449a488b16d4039b25ff467cc956 Mon Sep 17 00:00:00 2001 +From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> +Date: Sat, 21 Jul 2018 01:30:30 +0100 +Subject: [PATCH] Extend player profile API to support skin changes + +Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile + +diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java +index 9ad5853d..dda24052 100644 +--- a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java ++++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java +@@ -170,17 +170,21 @@ public class CraftPlayerProfile implements PlayerProfile { + } + + public boolean complete(boolean textures) { ++ return complete(textures, false); ++ } ++ ++ public boolean complete(boolean textures, boolean force) { + MinecraftServer server = MinecraftServer.getServer(); + + boolean isOnlineMode = server.getOnlineMode() || (SpigotConfig.bungee && PaperConfig.bungeeOnlineMode); + boolean isCompleteFromCache = this.completeFromCache(true); +- if (isOnlineMode && (!isCompleteFromCache || textures && !hasTextures())) { ++ if ((isOnlineMode || force) && (!isCompleteFromCache || textures && !hasTextures())) { + GameProfile result = server.getSessionService().fillProfileProperties(profile, true); + if (result != null) { + this.profile = result; + } + } +- return profile.isComplete() && (!isOnlineMode || !textures || hasTextures()); ++ return profile.isComplete() && (!(isOnlineMode || force) || !textures || hasTextures()); + } + + private static void copyProfileProperties(GameProfile source, GameProfile target) { +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index dd78a87b..e3f7be28 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -135,6 +135,12 @@ public class WorldServer extends World implements IAsyncTaskHandler { + return this; + } + ++ // Paper start - Provide dimension number of world ++ public int getDimension() { ++ return dimension; ++ } ++ // Paper end ++ + // CraftBukkit start + @Override + public TileEntity getTileEntity(BlockPosition pos) { +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +index 210e3bc4..b0335684 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +@@ -101,6 +101,12 @@ public class CraftWorld implements World { + } + // Paper end + ++ // Paper start - Provide dimension number of world ++ public int getDimension() { ++ return world.dimension; ++ } ++ // Paper end ++ + private static final Random rand = new Random(); + + public CraftWorld(WorldServer world, ChunkGenerator gen, Environment env) { +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +index 6cbf429f..bd743be5 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +@@ -55,6 +55,7 @@ import org.bukkit.craftbukkit.CraftStatistic; + import org.bukkit.craftbukkit.CraftWorld; + import org.bukkit.craftbukkit.advancement.CraftAdvancement; + import org.bukkit.craftbukkit.advancement.CraftAdvancementProgress; ++import org.bukkit.craftbukkit.inventory.CraftItemStack; + import org.bukkit.craftbukkit.map.CraftMapView; + import org.bukkit.craftbukkit.map.RenderData; + import org.bukkit.craftbukkit.scoreboard.CraftScoreboard; +@@ -1172,14 +1173,102 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + public void setPlayerProfile(PlayerProfile profile) { + EntityPlayer self = getHandle(); + self.setProfile(CraftPlayerProfile.asAuthlibCopy(profile)); +- List players = server.getServer().getPlayerList().players; +- for (EntityPlayer player : players) { +- player.getBukkitEntity().reregisterPlayer(self); +- } ++ refreshPlayer(); + } + public PlayerProfile getPlayerProfile() { + return new CraftPlayerProfile(this).clone(); + } ++ ++ private void refreshPlayer() { ++ int dimension = getWorld().getEnvironment().getId(); ++ Packet respawn = new PacketPlayOutRespawn(dimension, ((WorldServer)getHandle().getWorld()).worldData.getDifficulty(), ((WorldServer)getHandle().getWorld()).worldData.getType(), EnumGamemode.getById(getHandle().playerInteractManager.getGameMode().getId())); ++ Location l = getLocation(); ++ ++ Packet pos = new PacketPlayOutPosition(l.getX(), l.getY(), l.getZ(), l.getYaw(), l.getPitch(), new HashSet<>(), 0); ++ Packet mainhand = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(getInventory().getItemInMainHand())); ++ Packet offhand = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.OFFHAND, CraftItemStack.asNMSCopy(getInventory().getItemInOffHand())); ++ Packet helm = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.HEAD, CraftItemStack.asNMSCopy(getInventory().getHelmet())); ++ Packet chest = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.CHEST, CraftItemStack.asNMSCopy(getInventory().getChestplate())); ++ Packet legs = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.LEGS, CraftItemStack.asNMSCopy(getInventory().getLeggings())); ++ Packet feet = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.FEET, CraftItemStack.asNMSCopy(getInventory().getBoots())); ++ Packet slot = new PacketPlayOutHeldItemSlot(getInventory().getHeldItemSlot()); ++ ++ for (Player pOnline : Bukkit.getOnlinePlayers()) { ++ EntityPlayer handle = ((CraftPlayer) pOnline).getHandle(); ++ PlayerConnection playerCon = handle.playerConnection; ++ if (pOnline.equals(this)) { ++ reregisterPlayer(handle); ++ ++ //Respawn the player then update their position and selected slot ++ handle.playerConnection.sendPacket(respawn); ++ handle.updateAbilities(); ++ handle.playerConnection.sendPacket(pos); ++ handle.playerConnection.sendPacket(slot); ++ ++ ((CraftPlayer) pOnline).updateScaledHealth(); ++ pOnline.updateInventory(); ++ ++ handle.triggerHealthUpdate(); ++ ++ if (pOnline.isOp()) { ++ pOnline.setOp(false); ++ pOnline.setOp(true); ++ } ++ continue; ++ } ++ if (pOnline.getWorld().equals(getWorld()) && pOnline.canSee(this) && isOnline()) { ++ PacketPlayOutEntityDestroy removeEntity = new PacketPlayOutEntityDestroy(new int[]{getEntityId()}); ++ PacketPlayOutNamedEntitySpawn addNamed = new PacketPlayOutNamedEntitySpawn(getHandle()); ++ ++ //Remove and reregister the player ++ handle.playerConnection.sendPacket(removeEntity); ++ ((CraftPlayer) pOnline).reregisterPlayer(this.getHandle()); ++ handle.playerConnection.sendPacket(addNamed); ++ ++ //Send hand items ++ handle.playerConnection.sendPacket(mainhand); ++ handle.playerConnection.sendPacket(offhand); ++ ++ //Send armor ++ handle.playerConnection.sendPacket(helm); ++ handle.playerConnection.sendPacket(chest); ++ handle.playerConnection.sendPacket(legs); ++ handle.playerConnection.sendPacket(feet); ++ } else { ++ //Just send player update ++ ((CraftPlayer) pOnline).reregisterPlayer(this.getHandle()); ++ } ++ } ++ ++ } + // Paper end + + public void removeDisconnectingPlayer(Player player) { +-- +2.16.2.windows.1 + From 82bcd1408abe450d02d51116ab8f4dd13c3e3e88 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 09:03:10 -0400 Subject: [PATCH 05/70] Guard the Entity.SHARED_RANDOM from seed changes I don't clearly see any, but as a protection for future changes. --- ...085-Use-a-Shared-Random-for-Entities.patch | 23 +++++++++++++++---- .../0086-Don-t-teleport-dead-entities.patch | 6 ++--- ...nilla-per-world-scoreboard-coloring-.patch | 6 ++--- ...2-Vehicle-Event-Cancellation-Changes.patch | 10 ++++---- .../0128-Entity-Tracking-Improvements.patch | 6 ++--- ...6-Optional-TNT-doesn-t-move-in-water.patch | 8 +++---- .../0142-Make-entities-look-for-hoppers.patch | 6 ++--- ...5-Don-t-let-fishinghooks-use-portals.patch | 6 ++--- ...7-Vanished-players-don-t-have-rights.patch | 6 ++--- ...llow-entities-to-ride-themselves-572.patch | 6 ++--- .../0199-Cap-Entity-Collisions.patch | 6 ++--- .../0220-Entity-fromMobSpawner.patch | 10 ++++---- ...emove-entities-on-dimension-teleport.patch | 10 ++++---- 13 files changed, 61 insertions(+), 48 deletions(-) diff --git a/Spigot-Server-Patches/0085-Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/0085-Use-a-Shared-Random-for-Entities.patch index 3979ac1497..36b7f34061 100644 --- a/Spigot-Server-Patches/0085-Use-a-Shared-Random-for-Entities.patch +++ b/Spigot-Server-Patches/0085-Use-a-Shared-Random-for-Entities.patch @@ -1,4 +1,4 @@ -From 95dfc2d6b2593ea2603bc30932824b855b8bb672 Mon Sep 17 00:00:00 2001 +From 077011a996a7c44bb7ec934b0e46aaf16725f121 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:33:47 -0400 Subject: [PATCH] Use a Shared Random for Entities @@ -6,18 +6,31 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b4ad611fc..4a08db5ba 100644 +index f547dbfd0..daf97bce3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -46,6 +46,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -46,6 +46,20 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper // CraftBukkit start private static final int CURRENT_LEVEL = 2; -+ public static Random SHARED_RANDOM = new Random(); // Paper ++ // Paper start ++ public static Random SHARED_RANDOM = new Random() { ++ private boolean locked = false; ++ @Override ++ public synchronized void setSeed(long seed) { ++ if (locked) { ++ LogManager.getLogger().error("Ignoring setSeed on Entity.SHARED_RANDOM", new Throwable()); ++ } else { ++ super.setSeed(seed); ++ locked = true; ++ } ++ } ++ }; ++ // Paper end static boolean isLevelAtLeast(NBTTagCompound tag, int level) { return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -171,7 +172,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -171,7 +185,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper this.length = 1.8F; this.ax = 1; this.ay = 1.0F; diff --git a/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch b/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch index 473a755069..008e881726 100644 --- a/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch +++ b/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch @@ -1,4 +1,4 @@ -From d24cf71aec74d0f22ad259e435ccbce611139fed Mon Sep 17 00:00:00 2001 +From 3faa48aebbc50348a1c69b43c8f4be1f0d8d78e8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:55:23 -0400 Subject: [PATCH] Don't teleport dead entities @@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic. Potentially an old CB change that's no longer needed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index eb07d4233..e2202ed0c 100644 +index daf97bce3..87b82f908 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2399,7 +2399,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2412,7 +2412,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } public Entity teleportTo(Location exit, boolean portal) { diff --git a/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index 9ebe899189..0ae2981291 100644 --- a/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,4 +1,4 @@ -From 90ca9d579f3d73834d58123205d8db9cfe179b56 Mon Sep 17 00:00:00 2001 +From 0f917b2215537ad0e4c08b4c4add7ad3bdec07c7 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 6 Apr 2016 01:04:23 -0500 Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names @@ -19,10 +19,10 @@ index abc1aabdd..6ea608ba9 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e2202ed0c..88faa4601 100644 +index 87b82f908..fa9319aff 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2122,6 +2122,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2135,6 +2135,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper return this.getFlag(5); } diff --git a/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch index 6fd39b9597..6a893f66e7 100644 --- a/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch +++ b/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch @@ -1,14 +1,14 @@ -From eb11e43a94909435f4ce4020d2eded1eb0b8cdb1 Mon Sep 17 00:00:00 2001 +From 59d26d28500f04c9cced47dc4c99d71fc7efb7e5 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 18:20:05 -0500 Subject: [PATCH] Vehicle Event Cancellation Changes diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 88faa4601..aece54d26 100644 +index fa9319aff..a3e9ee052 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -70,7 +70,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -83,7 +83,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper public boolean i; public final List passengers; protected int j; @@ -17,7 +17,7 @@ index 88faa4601..aece54d26 100644 public boolean attachedToPlayer; public World world; public double lastX; -@@ -2004,6 +2004,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2017,6 +2017,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { // CraftBukkit start @@ -25,7 +25,7 @@ index 88faa4601..aece54d26 100644 CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); Entity orig = craft == null ? null : craft.getHandle(); if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { -@@ -2019,7 +2020,13 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2032,7 +2033,13 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } } // CraftBukkit end diff --git a/Spigot-Server-Patches/0128-Entity-Tracking-Improvements.patch b/Spigot-Server-Patches/0128-Entity-Tracking-Improvements.patch index 9430cc7514..f6efb164af 100644 --- a/Spigot-Server-Patches/0128-Entity-Tracking-Improvements.patch +++ b/Spigot-Server-Patches/0128-Entity-Tracking-Improvements.patch @@ -1,4 +1,4 @@ -From 2c29fda252395dc3caf19e77deea3ef876473ace Mon Sep 17 00:00:00 2001 +From 76366b2e02fbcffccddaec97bd494277c0d92d55 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Jun 2013 01:24:00 -0400 Subject: [PATCH] Entity Tracking Improvements @@ -7,10 +7,10 @@ If any part of a Vehicle/Passenger relationship is visible to a player, send all passenger/vehicles to the player in the chain. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d1f07bbbd..945f06c93 100644 +index a3e9ee052..9b01c23e0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -53,6 +53,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -66,6 +66,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper protected CraftEntity bukkitEntity; diff --git a/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch index aad33635f4..9db6798df2 100644 --- a/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch +++ b/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch @@ -1,4 +1,4 @@ -From d45df5fa649ad40f1cb1057bc29f5f23aed74c96 Mon Sep 17 00:00:00 2001 +From 036e57626907e289a1c0a842460a9bac8da4e5d3 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional TNT doesn't move in water @@ -32,10 +32,10 @@ index 067cb233e..06acdaaf0 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c105dd9b0..334441ed7 100644 +index 9b01c23e0..0a62ebf4a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1114,6 +1114,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -1127,6 +1127,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } public boolean aq() { @@ -47,7 +47,7 @@ index c105dd9b0..334441ed7 100644 if (this.bJ() instanceof EntityBoat) { this.inWater = false; } else if (this.world.a(this.getBoundingBox().grow(0.0D, -0.4000000059604645D, 0.0D).shrink(0.001D), Material.WATER, this)) { -@@ -2587,6 +2592,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2600,6 +2605,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } public boolean bo() { diff --git a/Spigot-Server-Patches/0142-Make-entities-look-for-hoppers.patch b/Spigot-Server-Patches/0142-Make-entities-look-for-hoppers.patch index 0670abef06..27b44cdbb8 100644 --- a/Spigot-Server-Patches/0142-Make-entities-look-for-hoppers.patch +++ b/Spigot-Server-Patches/0142-Make-entities-look-for-hoppers.patch @@ -1,4 +1,4 @@ -From b882250f89918c9a9e256def49d0d5b92d7e8916 Mon Sep 17 00:00:00 2001 +From 85cc2d8515551c826977868bf3c68b1d78cccead Mon Sep 17 00:00:00 2001 From: Techcable Date: Sat, 18 Jun 2016 01:01:37 -0500 Subject: [PATCH] Make entities look for hoppers @@ -133,10 +133,10 @@ index 008ed206d..b3c1f550c 100644 this.b = i; this.c = j; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cb9ef622c..c675a6e16 100644 +index 0a62ebf4a..0950c315f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -80,6 +80,19 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -93,6 +93,19 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper public double locX; public double locY; public double locZ; diff --git a/Spigot-Server-Patches/0175-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0175-Don-t-let-fishinghooks-use-portals.patch index 1a36277973..42c9d7aa3f 100644 --- a/Spigot-Server-Patches/0175-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0175-Don-t-let-fishinghooks-use-portals.patch @@ -1,14 +1,14 @@ -From 5f57f26f976b45cda5fcda4dffebc4981d748109 Mon Sep 17 00:00:00 2001 +From e04b0035798d951d1068d1625eda2fb758a34404 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 16 Dec 2016 16:03:19 -0600 Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c675a6e16..f71528b5f 100644 +index 0950c315f..d79844a98 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -144,7 +144,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -157,7 +157,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper public boolean ah; public boolean impulse; public int portalCooldown; diff --git a/Spigot-Server-Patches/0177-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0177-Vanished-players-don-t-have-rights.patch index b886675d17..1e5936195f 100644 --- a/Spigot-Server-Patches/0177-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0177-Vanished-players-don-t-have-rights.patch @@ -1,14 +1,14 @@ -From 570c45e9491173c215cae1bd4ff5ff9b9b8b1fa0 Mon Sep 17 00:00:00 2001 +From 6c9aa29b50e035dc386794e866d64ec07c4c9c19 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 16 Dec 2016 22:10:35 -0600 Subject: [PATCH] Vanished players don't have rights diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f71528b5f..b13830e87 100644 +index d79844a98..6d1e61e23 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -68,7 +68,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -81,7 +81,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper private static double f = 1.0D; private static int entityCount; private int id; diff --git a/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch index 09b189e532..945f6e86f9 100644 --- a/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch @@ -1,14 +1,14 @@ -From 977e13e598af25e22f19ad88220a047723a12193 Mon Sep 17 00:00:00 2001 +From 512e2cf16911c2f07c0c5b763d4b56b1788344fb Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Sun, 8 Jan 2017 04:31:36 +0000 Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b6711dcfa..e7f63c927 100644 +index 6d1e61e23..92b2bcb86 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1981,6 +1981,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -1994,6 +1994,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } protected void o(Entity entity) { diff --git a/Spigot-Server-Patches/0199-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0199-Cap-Entity-Collisions.patch index 7e698f0058..f17af28b92 100644 --- a/Spigot-Server-Patches/0199-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0199-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From a30098615015d5b407960dfe74033d7545d7eb12 Mon Sep 17 00:00:00 2001 +From 1ffe7e986e130686ef5b48ac41b63296f77b4e9c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jan 2017 18:07:56 -0500 Subject: [PATCH] Cap Entity Collisions @@ -27,10 +27,10 @@ index 5f06d4e5e..29b4bdb47 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 20324deeb..b4233df5f 100644 +index 92b2bcb86..5a4de30fe 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -170,6 +170,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -183,6 +183,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper public final boolean defaultActivationState; public long activatedTick = Integer.MIN_VALUE; public boolean fromMobSpawner; diff --git a/Spigot-Server-Patches/0220-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0220-Entity-fromMobSpawner.patch index 571795b26a..55e5e37873 100644 --- a/Spigot-Server-Patches/0220-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0220-Entity-fromMobSpawner.patch @@ -1,14 +1,14 @@ -From 57ed55129a54deecee7292fd00036b45ac0bd6ed Mon Sep 17 00:00:00 2001 +From 69193e9240f2c55715208ca6341f085a2b1cabca Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 18 Jun 2017 18:17:05 -0500 Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b4233df5f..00791faf2 100644 +index 5a4de30fe..2dbb88f2d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -170,6 +170,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -183,6 +183,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper public final boolean defaultActivationState; public long activatedTick = Integer.MIN_VALUE; public boolean fromMobSpawner; @@ -16,7 +16,7 @@ index b4233df5f..00791faf2 100644 protected int numCollisions = 0; // Paper public void inactiveTick() { } // Spigot end -@@ -1590,6 +1591,10 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -1603,6 +1604,10 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper if (origin != null) { nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index b4233df5f..00791faf2 100644 // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -1739,6 +1744,8 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -1752,6 +1757,8 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper if (!originTag.isEmpty()) { origin = new Location(world.getWorld(), originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2)); } diff --git a/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch b/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch index 30f2a43a6f..d2c3dd0b7e 100644 --- a/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch +++ b/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch @@ -1,4 +1,4 @@ -From b770be1d1eb24d049cd7ca1af1a96bb87aed62e3 Mon Sep 17 00:00:00 2001 +From 11c4b454e2dca08dc7d8823bf7d533e20d67c7ef Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:04:42 -0400 Subject: [PATCH] Properly remove entities on dimension teleport @@ -22,10 +22,10 @@ requirement, but plugins (such as my own) use this method to trigger a "reload" of the entity on the client. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7b17c32bb..d03e7c24f 100644 +index 2dbb88f2d..80ecdb282 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2449,7 +2449,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2462,7 +2462,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } // CraftBukkit end */ @@ -35,14 +35,14 @@ index 7b17c32bb..d03e7c24f 100644 this.world.methodProfiler.a("reposition"); /* CraftBukkit start - Handled in calculateTarget diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 49019d54d..9fe5c4406 100644 +index 49019d54d..bba2e164f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1205,6 +1205,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { } protected void c(Entity entity) { -+ if (!entity.valid) return; // Paper - Already removed, dont fire twice - this looks like it can happen even without our changes ++ if (!this.entitiesByUUID.containsKey(entity.getUniqueID()) && !entity.valid) return; // Paper - Already removed, dont fire twice - this looks like it can happen even without our changes super.c(entity); this.entitiesById.d(entity.getId()); this.entitiesByUUID.remove(entity.getUniqueID()); From c1c9d850f16509616e07b8868dfe855d4db98f64 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 10:29:14 -0400 Subject: [PATCH 06/70] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to enable more logging --- ...ies-option-to-debug-dupe-uuid-issues.patch | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch diff --git a/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch new file mode 100644 index 0000000000..c5f5055e2a --- /dev/null +++ b/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -0,0 +1,95 @@ +From b061a231214e88cde43e0c3880f779723828b2b4 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sat, 21 Jul 2018 08:25:40 -0400 +Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues + +Add -Ddebug.entities=true to your JVM flags to gain more information + +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index f6b755863..108654d63 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -73,6 +73,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper + } + return bukkitEntity; + } ++ Throwable addedToWorldStack; // Paper - entity debug + // CraftBukikt end + + private static final Logger a = LogManager.getLogger(); +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index b16324e1a..994d4bbb8 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -7,6 +7,7 @@ import com.google.common.util.concurrent.ListenableFuture; + import java.io.File; + import java.util.ArrayList; + import java.util.Collection; ++import java.util.Date; + import java.util.Iterator; + import java.util.List; + import java.util.Map; +@@ -53,6 +54,10 @@ public class WorldServer extends World implements IAsyncTaskHandler { + private final List W = Lists.newArrayList(); + + // CraftBukkit start ++ private static final boolean DEBUG_ENTITIES = Boolean.getBoolean("debug.entities"); // Paper ++ private static Throwable getAddToWorldStackTrace(Entity entity) { ++ return new Throwable(entity + " Added to world at " + new Date()); ++ } + public final int dimension; + + // Add env and gen to constructor +@@ -1160,6 +1165,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { + private boolean j(Entity entity) { + if (entity.dead) { + WorldServer.a.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.a(entity)); // CraftBukkit // Paper ++ if (DEBUG_ENTITIES) getAddToWorldStackTrace(entity).printStackTrace(); + return false; + } else { + UUID uuid = entity.getUniqueID(); +@@ -1171,8 +1177,14 @@ public class WorldServer extends World implements IAsyncTaskHandler { + this.f.remove(entity1); + } else { + if (!(entity instanceof EntityHuman)) { +- WorldServer.a.error("Keeping entity {} that already exists with UUID {} - " + entity1, EntityTypes.a(entity1), uuid.toString()); // CraftBukkit // Paper ++ WorldServer.a.error("Keeping entity {} that already exists with UUID {}", entity1, uuid.toString()); // CraftBukkit // Paper + WorldServer.a.error("Deleting duplicate entity {}", entity); // Paper ++ if (DEBUG_ENTITIES) { ++ if (entity1.addedToWorldStack != null) { ++ entity1.addedToWorldStack.printStackTrace(); ++ } ++ getAddToWorldStackTrace(entity).printStackTrace(); ++ } + return false; + } + +@@ -1189,7 +1201,24 @@ public class WorldServer extends World implements IAsyncTaskHandler { + protected void b(Entity entity) { + super.b(entity); + this.entitiesById.a(entity.getId(), entity); +- this.entitiesByUUID.put(entity.getUniqueID(), entity); ++ // Paper start ++ if (DEBUG_ENTITIES) { ++ entity.addedToWorldStack = getAddToWorldStackTrace(entity); ++ } ++ Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); ++ if (old != null && old.getId() != entity.getId() && old.valid) { ++ Logger logger = LogManager.getLogger(); ++ logger.error("Overwrote an existing entity " + old + " with " + entity); ++ if (DEBUG_ENTITIES) { ++ if (old.addedToWorldStack != null) { ++ old.addedToWorldStack.printStackTrace(); ++ } else { ++ logger.error("Oddly, the old entity was not added to the world in the normal way. Plugins?"); ++ } ++ entity.addedToWorldStack.printStackTrace(); ++ } ++ } ++ // Paper end + Entity[] aentity = entity.bb(); + + if (aentity != null) { +-- +2.18.0 + From 4a4d2996414f70dd04ba15c6929da7a92064a239 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 10:29:37 -0400 Subject: [PATCH 07/70] Add more information to Entity.toString() --- ...332-add-more-information-to-Entity.toString.patch} | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) rename Spigot-Server-Patches/{0332-add-uuid-to-Entity.toString.patch => 0332-add-more-information-to-Entity.toString.patch} (56%) diff --git a/Spigot-Server-Patches/0332-add-uuid-to-Entity.toString.patch b/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch similarity index 56% rename from Spigot-Server-Patches/0332-add-uuid-to-Entity.toString.patch rename to Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch index bddd131a92..ed65c069c0 100644 --- a/Spigot-Server-Patches/0332-add-uuid-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch @@ -1,19 +1,20 @@ -From 9b99af87d227e67cfc13b271b7b1b9d6dc37e45c Mon Sep 17 00:00:00 2001 +From 9737d708c393e0fabf927551a3a2eb5c7e27ac22 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 -Subject: [PATCH] add uuid to Entity.toString() +Subject: [PATCH] add more information to Entity.toString() +UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d03e7c24f..fe1ccba8d 100644 +index 80ecdb282..f6b755863 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2348,7 +2348,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2361,7 +2361,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } public String toString() { - return String.format("%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ)}); -+ return String.format("%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ)}); // Paper - add UUID ++ return String.format("%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), this.ticksLived, this.valid, this.dead}); // Paper - add more information } public boolean isInvulnerable(DamageSource damagesource) { From e5ea4656b23a82abca04d6dc20e478ed46983bf3 Mon Sep 17 00:00:00 2001 From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> Date: Sat, 21 Jul 2018 16:22:10 +0100 Subject: [PATCH 08/70] Extend player profile API to support skin changes Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile --- ...-profile-API-to-support-skin-changes.patch | 29 ---- ...-profile-API-to-support-skin-changes.patch | 128 ++++-------------- 2 files changed, 23 insertions(+), 134 deletions(-) delete mode 100644 Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch diff --git a/Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch b/Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch deleted file mode 100644 index 6e851c0fe9..0000000000 --- a/Spigot-API-Patches/0126-Extend-player-profile-API-to-support-skin-changes.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c54292b8620985a83368e984581d4835604512e1 Mon Sep 17 00:00:00 2001 -From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> -Date: Sat, 21 Jul 2018 01:30:41 +0100 -Subject: [PATCH] Extend player profile API to support skin changes - -Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile - -diff --git a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java -index e060c38a..98eade06 100644 ---- a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java -+++ b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java -@@ -132,6 +132,14 @@ public interface PlayerProfile { - * @return If the profile is now complete (has UUID and Name) (if you get rate limited, this operation may fail) - */ - boolean complete(boolean textures); -+ /** -+ * If this profile is not complete, then make the API call to complete it. -+ * This is a blocking operation and should be done asynchronously. -+ * -+ * Optionally will also fill textures. -+ * @return If the profile is now complete (has UUID and Name) (if you get rate limited, this operation may fail) -+ */ -+ boolean complete(boolean textures, boolean force); - - /** - * Whether or not this Profile has textures associated to it --- -2.16.2.windows.1 - diff --git a/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch index ab79ee794b..64e753aa43 100644 --- a/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch +++ b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch @@ -1,55 +1,10 @@ -From e709f6448451449a488b16d4039b25ff467cc956 Mon Sep 17 00:00:00 2001 +From ecf75579dcfbec00461841c87f96091901fe65fb Mon Sep 17 00:00:00 2001 From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> Date: Sat, 21 Jul 2018 01:30:30 +0100 Subject: [PATCH] Extend player profile API to support skin changes Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile -diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java -index 9ad5853d..dda24052 100644 ---- a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java -+++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java -@@ -170,17 +170,21 @@ public class CraftPlayerProfile implements PlayerProfile { - } - - public boolean complete(boolean textures) { -+ return complete(textures, false); -+ } -+ -+ public boolean complete(boolean textures, boolean force) { - MinecraftServer server = MinecraftServer.getServer(); - - boolean isOnlineMode = server.getOnlineMode() || (SpigotConfig.bungee && PaperConfig.bungeeOnlineMode); - boolean isCompleteFromCache = this.completeFromCache(true); -- if (isOnlineMode && (!isCompleteFromCache || textures && !hasTextures())) { -+ if ((isOnlineMode || force) && (!isCompleteFromCache || textures && !hasTextures())) { - GameProfile result = server.getSessionService().fillProfileProperties(profile, true); - if (result != null) { - this.profile = result; - } - } -- return profile.isComplete() && (!isOnlineMode || !textures || hasTextures()); -+ return profile.isComplete() && (!(isOnlineMode || force) || !textures || hasTextures()); - } - - private static void copyProfileProperties(GameProfile source, GameProfile target) { -diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index dd78a87b..e3f7be28 100644 ---- a/src/main/java/net/minecraft/server/WorldServer.java -+++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -135,6 +135,12 @@ public class WorldServer extends World implements IAsyncTaskHandler { - return this; - } - -+ // Paper start - Provide dimension number of world -+ public int getDimension() { -+ return dimension; -+ } -+ // Paper end -+ - // CraftBukkit start - @Override - public TileEntity getTileEntity(BlockPosition pos) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index 210e3bc4..b0335684 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -68,7 +23,7 @@ index 210e3bc4..b0335684 100644 public CraftWorld(WorldServer world, ChunkGenerator gen, Environment env) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6cbf429f..bd743be5 100644 +index 6cbf429f..57f17120 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -55,6 +55,7 @@ import org.bukkit.craftbukkit.CraftStatistic; @@ -79,14 +34,10 @@ index 6cbf429f..bd743be5 100644 import org.bukkit.craftbukkit.map.CraftMapView; import org.bukkit.craftbukkit.map.RenderData; import org.bukkit.craftbukkit.scoreboard.CraftScoreboard; -@@ -1172,14 +1173,102 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - public void setPlayerProfile(PlayerProfile profile) { - EntityPlayer self = getHandle(); - self.setProfile(CraftPlayerProfile.asAuthlibCopy(profile)); -- List players = server.getServer().getPlayerList().players; -- for (EntityPlayer player : players) { -- player.getBukkitEntity().reregisterPlayer(self); -- } +@@ -1176,10 +1177,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + for (EntityPlayer player : players) { + player.getBukkitEntity().reregisterPlayer(self); + } + refreshPlayer(); } public PlayerProfile getPlayerProfile() { @@ -94,64 +45,31 @@ index 6cbf429f..bd743be5 100644 } + + private void refreshPlayer() { -+ int dimension = getWorld().getEnvironment().getId(); -+ Packet respawn = new PacketPlayOutRespawn(dimension, ((WorldServer)getHandle().getWorld()).worldData.getDifficulty(), ((WorldServer)getHandle().getWorld()).worldData.getType(), EnumGamemode.getById(getHandle().playerInteractManager.getGameMode().getId())); -+ Location l = getLocation(); ++ EntityPlayer entityplayer = getHandle(); + ++ Packet respawn = new PacketPlayOutRespawn(entityplayer.dimension, entityplayer.world.getDifficulty(), entityplayer.world.getWorldData().getType(), entityplayer.playerInteractManager.getGameMode()); ++ Location l = getLocation(); + Packet pos = new PacketPlayOutPosition(l.getX(), l.getY(), l.getZ(), l.getYaw(), l.getPitch(), new HashSet<>(), 0); -+ Packet mainhand = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(getInventory().getItemInMainHand())); -+ Packet offhand = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.OFFHAND, CraftItemStack.asNMSCopy(getInventory().getItemInOffHand())); -+ Packet helm = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.HEAD, CraftItemStack.asNMSCopy(getInventory().getHelmet())); -+ Packet chest = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.CHEST, CraftItemStack.asNMSCopy(getInventory().getChestplate())); -+ Packet legs = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.LEGS, CraftItemStack.asNMSCopy(getInventory().getLeggings())); -+ Packet feet = new PacketPlayOutEntityEquipment(getEntityId(), EnumItemSlot.FEET, CraftItemStack.asNMSCopy(getInventory().getBoots())); + Packet slot = new PacketPlayOutHeldItemSlot(getInventory().getHeldItemSlot()); + -+ for (Player pOnline : Bukkit.getOnlinePlayers()) { -+ EntityPlayer handle = ((CraftPlayer) pOnline).getHandle(); -+ PlayerConnection playerCon = handle.playerConnection; -+ if (pOnline.equals(this)) { -+ reregisterPlayer(handle); ++ EntityPlayer handle = getHandle(); ++ PlayerConnection playerCon = handle.playerConnection; ++ reregisterPlayer(handle); + -+ //Respawn the player then update their position and selected slot -+ handle.playerConnection.sendPacket(respawn); -+ handle.updateAbilities(); -+ handle.playerConnection.sendPacket(pos); -+ handle.playerConnection.sendPacket(slot); ++ //Respawn the player then update their position and selected slot ++ playerCon.sendPacket(respawn); ++ handle.updateAbilities(); ++ playerCon.sendPacket(pos); ++ playerCon.sendPacket(slot); + -+ ((CraftPlayer) pOnline).updateScaledHealth(); -+ pOnline.updateInventory(); ++ updateScaledHealth(); ++ this.updateInventory(); + -+ handle.triggerHealthUpdate(); ++ handle.triggerHealthUpdate(); + -+ if (pOnline.isOp()) { -+ pOnline.setOp(false); -+ pOnline.setOp(true); -+ } -+ continue; -+ } -+ if (pOnline.getWorld().equals(getWorld()) && pOnline.canSee(this) && isOnline()) { -+ PacketPlayOutEntityDestroy removeEntity = new PacketPlayOutEntityDestroy(new int[]{getEntityId()}); -+ PacketPlayOutNamedEntitySpawn addNamed = new PacketPlayOutNamedEntitySpawn(getHandle()); -+ -+ //Remove and reregister the player -+ handle.playerConnection.sendPacket(removeEntity); -+ ((CraftPlayer) pOnline).reregisterPlayer(this.getHandle()); -+ handle.playerConnection.sendPacket(addNamed); -+ -+ //Send hand items -+ handle.playerConnection.sendPacket(mainhand); -+ handle.playerConnection.sendPacket(offhand); -+ -+ //Send armor -+ handle.playerConnection.sendPacket(helm); -+ handle.playerConnection.sendPacket(chest); -+ handle.playerConnection.sendPacket(legs); -+ handle.playerConnection.sendPacket(feet); -+ } else { -+ //Just send player update -+ ((CraftPlayer) pOnline).reregisterPlayer(this.getHandle()); -+ } ++ if (this.isOp()) { ++ this.setOp(false); ++ this.setOp(true); + } + + } From 09f013532aa4a80b8322bb500c77797f0a3894e6 Mon Sep 17 00:00:00 2001 From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> Date: Sat, 21 Jul 2018 16:54:52 +0100 Subject: [PATCH 09/70] Remove unsed method --- ...-profile-API-to-support-skin-changes.patch | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch index 64e753aa43..d26ee3fbd9 100644 --- a/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch +++ b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch @@ -1,27 +1,10 @@ -From ecf75579dcfbec00461841c87f96091901fe65fb Mon Sep 17 00:00:00 2001 +From 95e357f7dd549b278714a9ea76bf6d11d6c2b5fd Mon Sep 17 00:00:00 2001 From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> Date: Sat, 21 Jul 2018 01:30:30 +0100 Subject: [PATCH] Extend player profile API to support skin changes Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 210e3bc4..b0335684 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -101,6 +101,12 @@ public class CraftWorld implements World { - } - // Paper end - -+ // Paper start - Provide dimension number of world -+ public int getDimension() { -+ return world.dimension; -+ } -+ // Paper end -+ - private static final Random rand = new Random(); - - public CraftWorld(WorldServer world, ChunkGenerator gen, Environment env) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 6cbf429f..57f17120 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java From a24cb4d4d60b4457d63288afd23b3bfb6d2d9a07 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 12:07:33 -0400 Subject: [PATCH 10/70] change LAST_EDIT to PAPER_LAST_EDIT for edit commands LAST_EDIT is way too generic considering it pollutes the users global environment.... --- paper | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/paper b/paper index 24bc958b55..f80040c8f6 100755 --- a/paper +++ b/paper @@ -99,7 +99,7 @@ case "$1" in "e" | "edit") case "$2" in "s" | "server") - export LAST_EDIT="$basedir/Paper-Server" + export PAPER_LAST_EDIT="$basedir/Paper-Server" cd "$basedir/Paper-Server" ( set -e @@ -110,7 +110,7 @@ case "$1" in ) ;; "a" | "api") - export LAST_EDIT="$basedir/Paper-API" + export PAPER_LAST_EDIT="$basedir/Paper-API" cd "$basedir/Paper-API" ( set -e @@ -121,8 +121,8 @@ case "$1" in ) ;; "c" | "continue") - cd "$LAST_EDIT" - unset LAST_EDIT + cd "$PAPER_LAST_EDIT" + unset PAPER_LAST_EDIT ( set -e From 7dd5837dd00436339a68e4412e71f7e677fd7cb8 Mon Sep 17 00:00:00 2001 From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> Date: Sat, 21 Jul 2018 18:17:54 +0100 Subject: [PATCH 11/70] Fixed more stuff --- ...-profile-API-to-support-skin-changes.patch | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch index d26ee3fbd9..78bf913b3a 100644 --- a/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch +++ b/Spigot-Server-Patches/0336-Extend-player-profile-API-to-support-skin-changes.patch @@ -1,4 +1,4 @@ -From 95e357f7dd549b278714a9ea76bf6d11d6c2b5fd Mon Sep 17 00:00:00 2001 +From 8a9ff94f0db13f56873de8e6f555bc7893cffc31 Mon Sep 17 00:00:00 2001 From: NickAcPT <32451103+NickAcPT@users.noreply.github.com> Date: Sat, 21 Jul 2018 01:30:30 +0100 Subject: [PATCH] Extend player profile API to support skin changes @@ -6,18 +6,10 @@ Subject: [PATCH] Extend player profile API to support skin changes Added code that refreshes the player's skin by sending packets with a special order, telling the client to respawn the player and re-apply the game profile diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6cbf429f..57f17120 100644 +index 6cbf429f..01335b6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -55,6 +55,7 @@ import org.bukkit.craftbukkit.CraftStatistic; - import org.bukkit.craftbukkit.CraftWorld; - import org.bukkit.craftbukkit.advancement.CraftAdvancement; - import org.bukkit.craftbukkit.advancement.CraftAdvancementProgress; -+import org.bukkit.craftbukkit.inventory.CraftItemStack; - import org.bukkit.craftbukkit.map.CraftMapView; - import org.bukkit.craftbukkit.map.RenderData; - import org.bukkit.craftbukkit.scoreboard.CraftScoreboard; -@@ -1176,10 +1177,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1176,10 +1176,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player { for (EntityPlayer player : players) { player.getBukkitEntity().reregisterPlayer(self); } @@ -30,20 +22,17 @@ index 6cbf429f..57f17120 100644 + private void refreshPlayer() { + EntityPlayer entityplayer = getHandle(); + -+ Packet respawn = new PacketPlayOutRespawn(entityplayer.dimension, entityplayer.world.getDifficulty(), entityplayer.world.getWorldData().getType(), entityplayer.playerInteractManager.getGameMode()); -+ Location l = getLocation(); -+ Packet pos = new PacketPlayOutPosition(l.getX(), l.getY(), l.getZ(), l.getYaw(), l.getPitch(), new HashSet<>(), 0); -+ Packet slot = new PacketPlayOutHeldItemSlot(getInventory().getHeldItemSlot()); ++ Location loc = getLocation(); + + EntityPlayer handle = getHandle(); -+ PlayerConnection playerCon = handle.playerConnection; ++ PlayerConnection connection = handle.playerConnection; + reregisterPlayer(handle); + + //Respawn the player then update their position and selected slot -+ playerCon.sendPacket(respawn); ++ connection.sendPacket(new PacketPlayOutRespawn(entityplayer.dimension, entityplayer.world.getDifficulty(), entityplayer.world.getWorldData().getType(), entityplayer.playerInteractManager.getGameMode())); + handle.updateAbilities(); -+ playerCon.sendPacket(pos); -+ playerCon.sendPacket(slot); ++ connection.sendPacket(new PacketPlayOutPosition(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch(), new HashSet<>(), 0)); ++ connection.sendPacket(new PacketPlayOutHeldItemSlot(getInventory().getHeldItemSlot())); + + updateScaledHealth(); + this.updateInventory(); From 7279362307867518880a2bb499f5da276a4dda61 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:46:56 -0400 Subject: [PATCH 12/70] Add more information to Entity.toString --- .../0332-add-more-information-to-Entity.toString.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch index ed65c069c0..770ff6a464 100644 --- a/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From 9737d708c393e0fabf927551a3a2eb5c7e27ac22 Mon Sep 17 00:00:00 2001 +From b0c9be521fc1613e6ab93cbc058b8fbf2de7068a Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,7 +6,7 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 80ecdb282..f6b755863 100644 +index 80ecdb282..99dac412f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2361,7 +2361,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -14,7 +14,7 @@ index 80ecdb282..f6b755863 100644 public String toString() { - return String.format("%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ)}); -+ return String.format("%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), this.ticksLived, this.valid, this.dead}); // Paper - add more information ++ return String.format("%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f, cx=%d, cd=%d, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), getChunkX(), getChunkZ(), this.ticksLived, this.valid, this.dead}); // Paper - add more information } public boolean isInvulnerable(DamageSource damagesource) { From d0cd5b3b2355d4ac9cdeeb80bb49f2510df39731 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:47:05 -0400 Subject: [PATCH 13/70] Duplicate UUID Resolve Option Due to a bug in https://github.com/PaperMC/Paper/commit/2e29af3df05ec0a383f48be549d1c03200756d24 which was added all the way back in March of 2016, it was unknown (potentially not at the time) that an entity might actually change the seed of the random object. At some point, EntitySquid did start setting the seed. Due to this shared random, this caused every entity to use a Random object with a predictable seed. This has caused entities to potentially generate with the same UUID.... Over the years, servers have had entities disappear, but no sign of trouble because CraftBukkit removed the log lines indicating that something was wrong. We have fixed the root issue causing duplicate UUID's, however we now have chunk files full of entities that have the same UUID as another entity! When these chunks load, the 2nd entity will not be added to the world correctly. If that chunk loads in a different order in the future, then it will reverse and the missing one is now the one added to the world and not the other. This results in very inconsistent entity behavior. This change allows you to recover any duplicate entity by generating a new UUID for it. This also lets you delete them instead if you don't want to risk having new entities added to the world that you previously did not see. But for those who are ok with leaving this inconsistent behavior, you may use WARN or NOTHING options. It is recommended you regenerate the entities, as these were legit entities, and deserve your love. --- ...0337-Additional-Paper-Config-options.patch | 37 ++++ .../0338-Duplicate-UUID-Resolve-Option.patch | 209 ++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 Spigot-Server-Patches/0337-Additional-Paper-Config-options.patch create mode 100644 Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch diff --git a/Spigot-Server-Patches/0337-Additional-Paper-Config-options.patch b/Spigot-Server-Patches/0337-Additional-Paper-Config-options.patch new file mode 100644 index 0000000000..dfb9b18afc --- /dev/null +++ b/Spigot-Server-Patches/0337-Additional-Paper-Config-options.patch @@ -0,0 +1,37 @@ +From 9ac674cfb6f5f71dd61a4952c4bc7d88e3cfa3e5 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sat, 21 Jul 2018 14:23:31 -0400 +Subject: [PATCH] Additional Paper Config options + +Have to keep as sep patch for now until 1.13, otherwise we can't merge :/ + +diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java +index 62bce1806..5a17ce3d2 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +@@ -67,6 +67,10 @@ public class PaperConfig { + readConfig(PaperConfig.class, null); + } + ++ protected static void logError(String s) { ++ Bukkit.getLogger().severe(s); ++ } ++ + protected static void log(String s) { + if (verbose) { + Bukkit.getLogger().info(s); +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 50416f40a..14c8edeff 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -11,6 +11,7 @@ import org.bukkit.configuration.file.YamlConfiguration; + import org.spigotmc.SpigotWorldConfig; + + import static com.destroystokyo.paper.PaperConfig.log; ++import static com.destroystokyo.paper.PaperConfig.logError; + + public class PaperWorldConfig { + +-- +2.18.0 + diff --git a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch new file mode 100644 index 0000000000..5e9ec904e8 --- /dev/null +++ b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch @@ -0,0 +1,209 @@ +From 2a6d7b5cf9db036928914e854416039d7c8a14af Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sat, 21 Jul 2018 14:27:34 -0400 +Subject: [PATCH] Duplicate UUID Resolve Option + +Due to a bug in https://github.com/PaperMC/Paper/commit/2e29af3df05ec0a383f48be549d1c03200756d24 +which was added all the way back in March of 2016, it was unknown (potentially not at the time) +that an entity might actually change the seed of the random object. + +At some point, EntitySquid did start setting the seed. Due to this shared random, this caused +every entity to use a Random object with a predictable seed. + +This has caused entities to potentially generate with the same UUID.... + +Over the years, servers have had entities disappear, but no sign of trouble +because CraftBukkit removed the log lines indicating that something was wrong. + +We have fixed the root issue causing duplicate UUID's, however we now have chunk +files full of entities that have the same UUID as another entity! + +When these chunks load, the 2nd entity will not be added to the world correctly. + +If that chunk loads in a different order in the future, then it will reverse and the +missing one is now the one added to the world and not the other. This results in very +inconsistent entity behavior. + +This change allows you to recover any duplicate entity by generating a new UUID for it. +This also lets you delete them instead if you don't want to risk having new entities added to +the world that you previously did not see. + +But for those who are ok with leaving this inconsistent behavior, you may use WARN or NOTHING options. + +It is recommended you regenerate the entities, as these were legit entities, and deserve your love. + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 14c8edeff..e3f6557e1 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -541,4 +541,40 @@ public class PaperWorldConfig { + log("Bed Search Radius: " + bedSearchRadius); + } + } ++ ++ public enum DuplicateUUIDMode { ++ REGEN, DELETE, NOTHING, WARN ++ } ++ public DuplicateUUIDMode duplicateUUIDMode = DuplicateUUIDMode.REGEN; ++ public void repairDuplicateUUID() { ++ String desiredMode = getString("duplicate-uuid-resolver", "regenerate").toLowerCase().trim(); ++ switch (desiredMode.toLowerCase()) { ++ case "regen": ++ case "regenerate": ++ duplicateUUIDMode = DuplicateUUIDMode.REGEN; ++ log("Duplicate UUID Resolve: Regenerate New UUID"); ++ break; ++ case "remove": ++ case "delete": ++ duplicateUUIDMode = DuplicateUUIDMode.DELETE; ++ log("Duplicate UUID Resolve: Delete Entity"); ++ break; ++ case "silent": ++ case "nothing": ++ duplicateUUIDMode = DuplicateUUIDMode.NOTHING; ++ logError("Duplicate UUID Resolve: Do Nothing (no logs) - Warning, may lose indication of bad things happening"); ++ logError("PaperMC Strongly discourages use of this setting! Triggering these messages means SOMETHING IS WRONG!"); ++ break; ++ case "log": ++ case "warn": ++ duplicateUUIDMode = DuplicateUUIDMode.WARN; ++ log("Duplicate UUID Resolve: Warn (do nothing but log it happened, may be spammy)"); ++ break; ++ default: ++ duplicateUUIDMode = DuplicateUUIDMode.WARN; ++ logError("Warning: Invalidate duplicate-uuid-resolver config " + desiredMode + " - must be one of: regen, delete, nothing, warn"); ++ log("Duplicate UUID Resolve: Warn (do nothing but log it happened, may be spammy)"); ++ break; ++ } ++ } + } +diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java +index 04adf4e3c..ea9559583 100644 +--- a/src/main/java/net/minecraft/server/Chunk.java ++++ b/src/main/java/net/minecraft/server/Chunk.java +@@ -1,5 +1,10 @@ + package net.minecraft.server; + ++// Paper start ++import com.destroystokyo.paper.PaperWorldConfig.DuplicateUUIDMode; ++import java.util.HashMap; ++import java.util.UUID; ++// Paper end + import com.destroystokyo.paper.exception.ServerInternalException; + import com.google.common.base.Predicate; + import com.google.common.collect.Maps; +@@ -31,6 +36,7 @@ public class Chunk { + public final World world; + public final int[] heightMap; + public Long scheduledForUnload; // Paper - delay chunk unloads ++ private static final Logger logger = LogManager.getLogger(); // Paper + public final int locX; + public final int locZ; + private boolean m; +@@ -658,6 +664,7 @@ public class Chunk { + if (i != this.locX || j != this.locZ) { + Chunk.e.warn("Wrong location! ({}, {}) should be ({}, {}), {}", Integer.valueOf(i), Integer.valueOf(j), Integer.valueOf(this.locX), Integer.valueOf(this.locZ), entity); + entity.die(); ++ return; // Paper + } + + int k = MathHelper.floor(entity.locY / 16.0D); +@@ -851,6 +858,37 @@ public class Chunk { + + for (int j = 0; j < i; ++j) { + List entityslice = aentityslice[j]; // Spigot ++ // Paper start ++ DuplicateUUIDMode mode = world.paperConfig.duplicateUUIDMode; ++ if (mode == DuplicateUUIDMode.DELETE || mode == DuplicateUUIDMode.REGEN) { ++ Map thisChunk = new HashMap<>(); ++ for (Iterator iterator = ((List) entityslice).iterator(); iterator.hasNext(); ) { ++ Entity entity = iterator.next(); ++ Entity other = ((WorldServer) world).entitiesByUUID.get(entity.uniqueID); ++ if (other == null) { ++ other = thisChunk.get(entity.uniqueID); ++ } ++ if (other != null) { ++ switch (mode) { ++ case REGEN: { ++ entity.setUUID(UUID.randomUUID()); ++ logger.error("Duplicate UUID found used by " + other); ++ logger.error("Regenerated a new UUID for " + entity); ++ break; ++ } ++ case DELETE: { ++ logger.error("Duplicate UUID found used by " + other); ++ logger.error("Deleting duplicate entity " + entity); ++ entity.die(); ++ iterator.remove(); ++ break; ++ } ++ } ++ } ++ thisChunk.put(entity.uniqueID, entity); ++ } ++ } ++ // Paper end + + this.world.a((Collection) entityslice); + } +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index 0d3af8cb7..7188d0c99 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -2614,6 +2614,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper + }); + } + ++ public void setUUID(UUID uuid) { a(uuid); } // Paper - OBFHELPER + public void a(UUID uuid) { + this.uniqueID = uuid; + this.ar = this.uniqueID.toString(); +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index 994d4bbb8..1244baf45 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -42,7 +42,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { + private final PlayerChunkMap manager; + // private final Set nextTickListHash = Sets.newHashSet(); + private final HashTreeSet nextTickList = new HashTreeSet(); // CraftBukkit - HashTreeSet +- private final Map entitiesByUUID = Maps.newHashMap(); ++ public final Map entitiesByUUID = Maps.newHashMap(); // Paper + public boolean savingDisabled; + private boolean Q; + private int emptyTime; +@@ -1177,14 +1177,17 @@ public class WorldServer extends World implements IAsyncTaskHandler { + this.f.remove(entity1); + } else { + if (!(entity instanceof EntityHuman)) { +- WorldServer.a.error("Keeping entity {} that already exists with UUID {}", entity1, uuid.toString()); // CraftBukkit // Paper +- WorldServer.a.error("Deleting duplicate entity {}", entity); // Paper +- if (DEBUG_ENTITIES) { +- if (entity1.addedToWorldStack != null) { +- entity1.addedToWorldStack.printStackTrace(); ++ if (entity.world.paperConfig.duplicateUUIDMode != com.destroystokyo.paper.PaperWorldConfig.DuplicateUUIDMode.NOTHING) { ++ WorldServer.a.error("Keeping entity {} that already exists with UUID {}", entity1, uuid.toString()); // CraftBukkit // Paper ++ WorldServer.a.error("Duplicate entity {} will not be added to the world. See paper.yml duplicate-uuid-resolver and set this to either regen, delete or nothing to get rid of this message", entity); // Paper ++ if (DEBUG_ENTITIES) { ++ if (entity1.addedToWorldStack != null) { ++ entity1.addedToWorldStack.printStackTrace(); ++ } ++ getAddToWorldStackTrace(entity).printStackTrace(); + } +- getAddToWorldStackTrace(entity).printStackTrace(); + } ++ + return false; + } + +@@ -1206,7 +1209,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { + entity.addedToWorldStack = getAddToWorldStackTrace(entity); + } + Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); +- if (old != null && old.getId() != entity.getId() && old.valid) { ++ if (old != null && old.getId() != entity.getId() && old.valid && entity.world.paperConfig.duplicateUUIDMode != com.destroystokyo.paper.PaperWorldConfig.DuplicateUUIDMode.NOTHING) { + Logger logger = LogManager.getLogger(); + logger.error("Overwrote an existing entity " + old + " with " + entity); + if (DEBUG_ENTITIES) { +-- +2.18.0 + From dc8f51642433441e085669c47513921011e67b65 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:03:10 -0400 Subject: [PATCH 14/70] Update Upstream --- Spigot-Server-Patches/0009-Timings-v2.patch | 74 +++++++++---------- ...021-Further-improve-server-tick-loop.patch | 11 +-- .../0033-Disable-explosion-knockback.patch | 14 ++-- ...069-Handle-Item-Meta-Inconsistencies.patch | 22 +++--- ...4-Custom-replacement-for-eaten-items.patch | 8 +- ...th-absorb-values-and-repair-bad-data.patch | 10 +-- ...ityRegainHealthEvent-isFastRegen-API.patch | 8 +- ...-possibility-for-getServer-singleton.patch | 11 +-- .../0120-Optimize-UserCache-Thread-Safe.patch | 6 +- .../0139-Auto-Save-Improvements.patch | 44 +++++++---- .../0176-Cap-Entity-Collisions.patch | 10 +-- ...le-async-calls-to-restart-the-server.patch | 12 +-- ...oleAppender-for-console-improvements.patch | 16 ++-- .../0191-Basic-PlayerProfile-API.patch | 10 +-- .../0220-Add-PlayerArmorChangeEvent.patch | 8 +- .../0236-Add-ArmorStand-Item-Meta.patch | 8 +- ...nt-extended-PaperServerListPingEvent.patch | 8 +- ...e-shield-blocking-delay-configurable.patch | 12 +-- ...plement-EntityKnockbackByEntityEvent.patch | 8 +- ...ivingEntity-Hand-Raised-Item-Use-API.patch | 8 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 23 files changed, 165 insertions(+), 149 deletions(-) diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index f82c3bb1bb..7b36718622 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 59a7ce865916d62eafb935fa6317d16938e28df7 Mon Sep 17 00:00:00 2001 +From 3586286523db67ea246cf1e37a9693b8c6f902c6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 0000000000..4f624e39c7 +index 000000000..4f624e39c --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,125 @@ @@ -137,7 +137,7 @@ index 0000000000..4f624e39c7 +} diff --git a/src/main/java/co/aikar/timings/TimedChunkGenerator.java b/src/main/java/co/aikar/timings/TimedChunkGenerator.java new file mode 100644 -index 0000000000..0bb63600f3 +index 000000000..0bb63600f --- /dev/null +++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java @@ -0,0 +1,180 @@ @@ -323,7 +323,7 @@ index 0000000000..0bb63600f3 +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 0000000000..145cb274b0 +index 000000000..145cb274b --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,104 @@ @@ -432,7 +432,7 @@ index 0000000000..145cb274b0 + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5ab2cf6eec..b5795b6d34 100644 +index 5ab2cf6ee..b5795b6d3 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -476,7 +476,7 @@ index 5ab2cf6eec..b5795b6d34 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index ffb91b27b0..ff110c8e95 100644 +index ffb91b27b..ff110c8e9 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -29,8 +29,17 @@ public class Block implements IMaterial { @@ -500,7 +500,7 @@ index ffb91b27b0..ff110c8e95 100644 Object2ByteLinkedOpenHashMap object2bytelinkedopenhashmap = new Object2ByteLinkedOpenHashMap(200) { protected void rehash(int i) {} diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 5164e5c928..0c2386f5ec 100644 +index 5164e5c92..0c2386f5e 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,6 +14,7 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -531,7 +531,7 @@ index 5164e5c928..0c2386f5ec 100644 return chunk1; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 0296d3ef02..badfe86b22 100644 +index 0296d3ef0..badfe86b2 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -221,7 +221,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -544,7 +544,7 @@ index 0296d3ef02..badfe86b22 100644 this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 90d8571053..3a0e52d882 100644 +index 90d857105..3a0e52d88 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -591,7 +591,7 @@ index 90d8571053..3a0e52d882 100644 } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 9155aa727d..a3d58b5ce5 100644 +index 9155aa727..a3d58b5ce 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level; @@ -644,7 +644,7 @@ index 9155aa727d..a3d58b5ce5 100644 return waitable.get(); } catch (java.util.concurrent.ExecutionException e) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7a17a4ff99..2ed362791b 100644 +index 7a17a4ff9..2ed362791 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -683,7 +683,7 @@ index 7a17a4ff99..2ed362791b 100644 protected float ab() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 3c1adeea65..d7a8a82a6a 100644 +index b6dd6dc5d..f1840f4fa 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -695,7 +695,7 @@ index 3c1adeea65..d7a8a82a6a 100644 public abstract class EntityLiving extends Entity { -@@ -1982,7 +1982,6 @@ public abstract class EntityLiving extends Entity { +@@ -1984,7 +1984,6 @@ public abstract class EntityLiving extends Entity { } public void tick() { @@ -703,7 +703,7 @@ index 3c1adeea65..d7a8a82a6a 100644 super.tick(); this.cU(); this.o(); -@@ -2056,9 +2055,7 @@ public abstract class EntityLiving extends Entity { +@@ -2058,9 +2057,7 @@ public abstract class EntityLiving extends Entity { } } @@ -713,7 +713,7 @@ index 3c1adeea65..d7a8a82a6a 100644 double d0 = this.locX - this.lastX; double d1 = this.locZ - this.lastZ; float f = (float) (d0 * d0 + d1 * d1); -@@ -2134,8 +2131,6 @@ public abstract class EntityLiving extends Entity { +@@ -2136,8 +2133,6 @@ public abstract class EntityLiving extends Entity { } else { this.bv = 0; } @@ -722,7 +722,7 @@ index 3c1adeea65..d7a8a82a6a 100644 } protected float e(float f, float f1) { -@@ -2205,7 +2200,6 @@ public abstract class EntityLiving extends Entity { +@@ -2207,7 +2202,6 @@ public abstract class EntityLiving extends Entity { } this.world.methodProfiler.a("ai"); @@ -730,7 +730,7 @@ index 3c1adeea65..d7a8a82a6a 100644 if (this.isFrozen()) { this.bg = false; this.bh = 0.0F; -@@ -2216,7 +2210,6 @@ public abstract class EntityLiving extends Entity { +@@ -2218,7 +2212,6 @@ public abstract class EntityLiving extends Entity { this.doTick(); this.world.methodProfiler.e(); } @@ -738,7 +738,7 @@ index 3c1adeea65..d7a8a82a6a 100644 this.world.methodProfiler.e(); this.world.methodProfiler.a("jump"); -@@ -2241,9 +2234,7 @@ public abstract class EntityLiving extends Entity { +@@ -2243,9 +2236,7 @@ public abstract class EntityLiving extends Entity { this.n(); AxisAlignedBB axisalignedbb = this.getBoundingBox(); @@ -748,7 +748,7 @@ index 3c1adeea65..d7a8a82a6a 100644 this.world.methodProfiler.e(); this.world.methodProfiler.a("push"); if (this.bw > 0) { -@@ -2251,9 +2242,7 @@ public abstract class EntityLiving extends Entity { +@@ -2253,9 +2244,7 @@ public abstract class EntityLiving extends Entity { this.a(axisalignedbb, this.getBoundingBox()); } @@ -759,7 +759,7 @@ index 3c1adeea65..d7a8a82a6a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index ae31935c48..70c9b1f50c 100644 +index ae31935c4..70c9b1f50 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -168,7 +168,7 @@ public class EntityTracker { @@ -790,7 +790,7 @@ index ae31935c48..70c9b1f50c 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bcdd9e0fa4..590eb507c0 100644 +index d813c72e1..61ec088d2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,5 +1,6 @@ @@ -944,7 +944,7 @@ index bcdd9e0fa4..590eb507c0 100644 this.methodProfiler.e(); } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index ac6d8cc6e6..d975c2ccf1 100644 +index ac6d8cc6e..d975c2ccf 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,5 +1,6 @@ @@ -1038,7 +1038,7 @@ index ac6d8cc6e6..d975c2ccf1 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 6f21b01a83..359aa3997a 100644 +index 6f21b01a8..359aa3997 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -1077,7 +1077,7 @@ index 6f21b01a83..359aa3997a 100644 // this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index 889b32287e..69da194f52 100644 +index 889b32287..69da194f5 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -1,11 +1,17 @@ @@ -1100,7 +1100,7 @@ index 889b32287e..69da194f52 100644 throw CancelledPacketHandleException.INSTANCE; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 0156175fb8..1e3dd22e5a 100644 +index 0156175fb..1e3dd22e5 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1124,7 +1124,7 @@ index 0156175fb8..1e3dd22e5a 100644 public WhiteList getWhitelist() { diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java -index a07895935e..ee5c2421bb 100644 +index a07895935..ee5c2421b 100644 --- a/src/main/java/net/minecraft/server/TickListServer.java +++ b/src/main/java/net/minecraft/server/TickListServer.java @@ -24,13 +24,19 @@ public class TickListServer implements TickList { @@ -1178,7 +1178,7 @@ index a07895935e..ee5c2421bb 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index b992360ac2..5b7f6ca84c 100644 +index b992360ac..5b7f6ca84 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -4,12 +4,13 @@ import javax.annotation.Nullable; @@ -1198,7 +1198,7 @@ index b992360ac2..5b7f6ca84c 100644 private final TileEntityTypes e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 330ea4e72e..e6b916a5db 100644 +index 330ea4e72..e6b916a5d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,6 @@ @@ -1313,7 +1313,7 @@ index 330ea4e72e..e6b916a5db 100644 public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index cecc9bc623..271d75c48d 100644 +index cecc9bc62..271d75c48 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,6 @@ @@ -1429,7 +1429,7 @@ index cecc9bc623..271d75c48d 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 88766d30d8..d33f237b76 100644 +index 60182cecf..33826231d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1853,12 +1853,31 @@ public final class CraftServer implements Server { @@ -1466,7 +1466,7 @@ index 88766d30d8..d33f237b76 100644 org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index 4c8ab2bc97..0000000000 +index 4c8ab2bc9..000000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,174 +0,0 @@ @@ -1645,7 +1645,7 @@ index 4c8ab2bc97..0000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index 413dd35f06..52a8c48fa4 100644 +index 413dd35f0..52a8c48fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java @@ -1,6 +1,8 @@ @@ -1681,7 +1681,7 @@ index 413dd35f06..52a8c48fa4 100644 public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0a2199b6a5..fad258f116 100644 +index 0a2199b6a..fad258f11 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1665,6 +1665,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1698,7 +1698,7 @@ index 0a2199b6a5..fad258f116 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index f11bd7545f..93b9134d6e 100644 +index f11bd7545..93b9134d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -14,6 +14,7 @@ import java.util.concurrent.atomic.AtomicInteger; @@ -1774,7 +1774,7 @@ index f11bd7545f..93b9134d6e 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 7e7ce9a81b..46029ce246 100644 +index 7e7ce9a81..46029ce24 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -1,8 +1,8 @@ @@ -1856,7 +1856,7 @@ index 7e7ce9a81b..46029ce246 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b78..3d90b34268 100644 +index e52ef47b7..3d90b3426 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1868,7 +1868,7 @@ index e52ef47b78..3d90b34268 100644 this.value = value; } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e60fe5a920..f68e42c4d4 100644 +index e60fe5a92..f68e42c4d 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -30,7 +30,7 @@ import net.minecraft.server.EntityWither; diff --git a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch index 6742be6118..c400cc82a1 100644 --- a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch +++ b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch @@ -1,4 +1,4 @@ -From 8310c9fbbc16dd134af47991b8fd2b94ec6972f7 Mon Sep 17 00:00:00 2001 +From b51264983f1041ab516cbc32f6973fe9615826bd Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:09:29 -0600 Subject: [PATCH] Further improve server tick loop @@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4889a82a2..2e691b9f6 100644 +index cba7c18f2..093190108 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -141,17 +141,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -141,7 +141,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; public ConsoleReader reader; @@ -24,7 +24,8 @@ index 4889a82a2..2e691b9f6 100644 public final Thread primaryThread; public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; - public File bukkitDataPackFolder; +@@ -149,10 +149,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + public CommandDispatcher vanillaCommandDispatcher; // CraftBukkit end // Spigot start - public static final int TPS = 20; @@ -148,7 +149,7 @@ index 4889a82a2..2e691b9f6 100644 } lastTick = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 34a07a7e7..6e152fe17 100644 +index a1a0a9b34..f39ddbf09 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1850,6 +1850,17 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch index d5b90354ec..5ad06dff00 100644 --- a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch +++ b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch @@ -1,11 +1,11 @@ -From 615504d69426ef74c5f9e55af1daaa5e37221abd Mon Sep 17 00:00:00 2001 +From 2c3fc9d8180148edd78d5ce513eb6bd792cf7d0c Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:48:03 -0600 Subject: [PATCH] Disable explosion knockback diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 3626aa717d..be92c1af60 100644 +index 3626aa717..be92c1af6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -147,4 +147,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index 3626aa717d..be92c1af60 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d7a8a82a6a..18dd06980f 100644 +index f1840f4fa..17955d0f7 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -1002,6 +1002,7 @@ public abstract class EntityLiving extends Entity { +@@ -1004,6 +1004,7 @@ public abstract class EntityLiving extends Entity { } } @@ -30,7 +30,7 @@ index d7a8a82a6a..18dd06980f 100644 if (flag1) { if (flag) { this.world.broadcastEntityEffect(this, (byte) 29); -@@ -1018,6 +1019,7 @@ public abstract class EntityLiving extends Entity { +@@ -1020,6 +1021,7 @@ public abstract class EntityLiving extends Entity { b0 = 2; } @@ -38,7 +38,7 @@ index d7a8a82a6a..18dd06980f 100644 this.world.broadcastEntityEffect(this, b0); } -@@ -1041,6 +1043,8 @@ public abstract class EntityLiving extends Entity { +@@ -1043,6 +1045,8 @@ public abstract class EntityLiving extends Entity { } } @@ -48,7 +48,7 @@ index d7a8a82a6a..18dd06980f 100644 if (!this.e(damagesource)) { SoundEffect soundeffect = this.cr(); diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 8fdcd52b2f..75b21010b8 100644 +index 8fdcd52b2..75b21010b 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -152,7 +152,7 @@ public class Explosion { diff --git a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch index 9e8d20b63f..f31d53a6ca 100644 --- a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From 8025896d1051dc63efd41729fc4433bc18f66e61 Mon Sep 17 00:00:00 2001 +From 4535caf1f24d08822aa9144f91c6b40edb0dcf19 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -204,7 +204,7 @@ index d41459ef0..cadff64bf 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 3b73e52fa..e43a24989 100644 +index 86ae0a4b6..86c61abe4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -8,12 +8,14 @@ import java.lang.reflect.Constructor; @@ -222,7 +222,7 @@ index 3b73e52fa..e43a24989 100644 import net.minecraft.server.NBTBase; import net.minecraft.server.NBTTagCompound; import net.minecraft.server.NBTTagList; -@@ -46,6 +48,7 @@ import java.util.Arrays; +@@ -47,6 +49,7 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.HashSet; import java.util.Set; @@ -230,7 +230,7 @@ index 3b73e52fa..e43a24989 100644 import java.util.logging.Level; import java.util.logging.Logger; import net.minecraft.server.NBTCompressedStreamTools; -@@ -233,7 +236,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -234,7 +237,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private IChatBaseComponent displayName; private IChatBaseComponent locName; private List lore; @@ -239,7 +239,7 @@ index 3b73e52fa..e43a24989 100644 private int repairCost; private int hideFlag; private boolean unbreakable; -@@ -242,7 +245,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -243,7 +246,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private static final Set HANDLED_TAGS = Sets.newHashSet(); private NBTTagCompound internalTag; @@ -248,7 +248,7 @@ index 3b73e52fa..e43a24989 100644 CraftMetaItem(CraftMetaItem meta) { if (meta == null) { -@@ -257,7 +260,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -258,7 +261,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } if (meta.enchantments != null) { // Spigot @@ -257,7 +257,7 @@ index 3b73e52fa..e43a24989 100644 } this.repairCost = meta.repairCost; -@@ -482,13 +485,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -491,13 +494,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } @@ -273,7 +273,7 @@ index 3b73e52fa..e43a24989 100644 for (int i = 0; i < ench.size(); i++) { String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -563,13 +566,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -572,13 +575,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { void deserializeInternal(NBTTagCompound tag) { } @@ -289,7 +289,7 @@ index 3b73e52fa..e43a24989 100644 for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -724,13 +727,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -733,13 +736,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } public Map getEnchants() { @@ -305,7 +305,7 @@ index 3b73e52fa..e43a24989 100644 } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -918,7 +921,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -927,7 +930,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { clone.lore = new ArrayList(this.lore); } if (this.enchantments != null) { @@ -314,7 +314,7 @@ index 3b73e52fa..e43a24989 100644 } clone.hideFlag = this.hideFlag; clone.unbreakable = this.unbreakable; -@@ -1087,6 +1090,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1096,6 +1099,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } diff --git a/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch index d0e8a4f321..401a5f22d1 100644 --- a/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch +++ b/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch @@ -1,14 +1,14 @@ -From d5dd5cfd1519917997713ba04c795fffefcc22ee Mon Sep 17 00:00:00 2001 +From a9821eba8de7feae6fcaed3baccc7451992f2fc6 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 21 Jun 2015 15:07:20 -0400 Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ab64fb7872..8d06249b6c 100644 +index 00cd44a72..bcbc77ad2 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2561,12 +2561,13 @@ public abstract class EntityLiving extends Entity { +@@ -2563,12 +2563,13 @@ public abstract class EntityLiving extends Entity { protected void q() { if (!this.activeItem.isEmpty() && this.isHandRaised()) { @@ -23,7 +23,7 @@ index ab64fb7872..8d06249b6c 100644 world.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -2581,9 +2582,19 @@ public abstract class EntityLiving extends Entity { +@@ -2583,9 +2584,19 @@ public abstract class EntityLiving extends Entity { itemstack = this.activeItem.a(this.world, this); } diff --git a/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 0ea22445d8..91f30c57dc 100644 --- a/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/Spigot-Server-Patches/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -1,11 +1,11 @@ -From f094aeaa1e48c4982f902d3e2cb877c00ae32973 Mon Sep 17 00:00:00 2001 +From a56b31418ce5807fa4cfcf62f3e8b9628533a42b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 27 Sep 2015 01:18:02 -0400 Subject: [PATCH] handle NaN health/absorb values and repair bad data diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 8d06249b6c..ed9045f62a 100644 +index bcbc77ad2..746e19165 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -498,7 +498,13 @@ public abstract class EntityLiving extends Entity { @@ -23,7 +23,7 @@ index 8d06249b6c..ed9045f62a 100644 if (nbttagcompound.hasKeyOfType("Attributes", 9) && this.world != null && !this.world.isClientSide) { GenericAttributes.a(this.getAttributeMap(), nbttagcompound.getList("Attributes", 10)); } -@@ -888,6 +894,10 @@ public abstract class EntityLiving extends Entity { +@@ -890,6 +896,10 @@ public abstract class EntityLiving extends Entity { } public void setHealth(float f) { @@ -34,7 +34,7 @@ index 8d06249b6c..ed9045f62a 100644 // CraftBukkit start - Handle scaled health if (this instanceof EntityPlayer) { org.bukkit.craftbukkit.entity.CraftPlayer player = ((EntityPlayer) this).getBukkitEntity(); -@@ -2426,7 +2436,7 @@ public abstract class EntityLiving extends Entity { +@@ -2428,7 +2438,7 @@ public abstract class EntityLiving extends Entity { } public void setAbsorptionHearts(float f) { @@ -44,7 +44,7 @@ index 8d06249b6c..ed9045f62a 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f6a7f08f96..e71fc971d7 100644 +index f6a7f08f9..e71fc971d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1510,6 +1510,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch b/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch index 18f12e221f..4ae09c0201 100644 --- a/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch +++ b/Spigot-Server-Patches/0108-EntityRegainHealthEvent-isFastRegen-API.patch @@ -1,4 +1,4 @@ -From 1af002cf0a2e3574d4010d2c2f8f860e25163f35 Mon Sep 17 00:00:00 2001 +From 591dcb3f4be1fc57cd0db75c759f1dc05e13dfed Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 01:43:11 -0500 Subject: [PATCH] EntityRegainHealthEvent isFastRegen API @@ -6,10 +6,10 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API Don't even get me started diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ed9045f62a..1bef317758 100644 +index 746e19165..f5c3679b1 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -870,10 +870,16 @@ public abstract class EntityLiving extends Entity { +@@ -872,10 +872,16 @@ public abstract class EntityLiving extends Entity { } public void heal(float f, EntityRegainHealthEvent.RegainReason regainReason) { @@ -28,7 +28,7 @@ index ed9045f62a..1bef317758 100644 if (!event.isCancelled()) { diff --git a/src/main/java/net/minecraft/server/FoodMetaData.java b/src/main/java/net/minecraft/server/FoodMetaData.java -index bbcc488bd7..d886e476bf 100644 +index bbcc488bd..d886e476b 100644 --- a/src/main/java/net/minecraft/server/FoodMetaData.java +++ b/src/main/java/net/minecraft/server/FoodMetaData.java @@ -65,7 +65,7 @@ public class FoodMetaData { diff --git a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch index 851bfbb263..920642f447 100644 --- a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 6b309368c52f9b4108b0a3619f0b7089abad52bd Mon Sep 17 00:00:00 2001 +From c1a4ecfa714d709d6c41f26869d7f52f45e27db2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 Apr 2016 00:57:27 -0400 Subject: [PATCH] remove null possibility for getServer singleton @@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c5670fe8d..e11289217 100644 +index 3c201c2e2..05dc8451e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -68,6 +68,7 @@ import co.aikar.timings.MinecraftTimings; // Paper @@ -17,15 +17,16 @@ index c5670fe8d..e11289217 100644 public static final Logger LOGGER = LogManager.getLogger(); public static final File a = new File("usercache.json"); public Convertable convertable; -@@ -152,6 +153,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -153,6 +154,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot end public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) { + SERVER = this; // Paper - better singleton - this.commandDispatcher = commanddispatcher; // CraftBukkit ++ this.commandDispatcher = commanddispatcher; // CraftBukkit this.ac = new ResourceManager(EnumResourcePackType.SERVER_DATA); this.resourcePackRepository = new ResourcePackRepository(ResourcePackLoader::new); -@@ -1742,7 +1744,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + this.ag = new CraftingManager(); +@@ -1742,7 +1745,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // CraftBukkit start @Deprecated public static MinecraftServer getServer() { diff --git a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch index 1c77511768..28c6eed7a8 100644 --- a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 6a9d38a4159ce7e437079963862bfbf5baf9c766 Mon Sep 17 00:00:00 2001 +From 1b066a794864bf5d0073b12f7d575ee00775466e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 20:47:41 -0400 Subject: [PATCH] Optimize UserCache / Thread Safe @@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e11289217..49b2c27c6 100644 +index 05dc8451e..0e59fc9eb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -631,7 +631,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -632,7 +632,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot start if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { LOGGER.info("Saving usercache.json"); diff --git a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch index 78c7024f63..d8efe8730b 100644 --- a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From 221b6fda013cdc465dcf73d3765655e8c1d7522e Mon Sep 17 00:00:00 2001 +From 71e6ced752630d941c3d5bf62881eb81b72eb156 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -64,10 +64,22 @@ index 0e6c18b32..c182ceffb 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 6c6924937..5163bd11b 100644 +index 6c6924937..2f40f687a 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1013,11 +1013,9 @@ public class Chunk implements IChunkAccess { +@@ -52,9 +52,9 @@ public class Chunk implements IChunkAccess { + private final TickList t; + private final TickList u; + private boolean v; +- private boolean w; ++ private boolean w; public boolean hasEntities() { return w; } // Paper - OBFHELPER + private long lastSaved; +- private boolean y; ++ private boolean y; public boolean isModified() { return y; } // Paper - OBFHELPER + private int z; + private long A; public long getInhabitedTime() { return A; } // Paper - OBFHELPER + private int B; +@@ -1013,11 +1013,11 @@ public class Chunk implements IChunkAccess { if (this.w && this.world.getTime() != this.lastSaved || this.y) { return true; } @@ -76,8 +88,10 @@ index 6c6924937..5163bd11b 100644 } - - return this.y; -+ // This !flag section should say if y(isModified) or w(hasEntities), then check auto save -+ return ((this.y || this.w) && this.world.getTime() >= this.lastSaved + world.paperConfig.autoSavePeriod); // Paper - Make world configurable and incremental ++ // Paper start - Make world configurable and incremental ++ // This !flag section should say if isModified or hasEntities, then check auto save ++ return ((isModified() || hasEntities()) && this.world.getTime() >= this.lastSaved + world.paperConfig.autoSavePeriod); ++ // Paper end } public boolean isEmpty() { @@ -102,7 +116,7 @@ index 2e72a294d..1e6ea3084 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 5aafa4e23..f5fae7ba8 100644 +index 08d6f77ae..5122cee42 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -38,6 +38,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -114,18 +128,18 @@ index 5aafa4e23..f5fae7ba8 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 49b2c27c6..bf020293d 100644 +index 0e59fc9eb..603ce9fe2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -147,6 +147,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -143,6 +143,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; + public ConsoleReader reader; + public static int currentTick = 0; // Paper - Further improve tick loop ++ public boolean serverAutoSave = false; // Paper + public final Thread primaryThread; public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; - public File bukkitDataPackFolder; -+ public boolean serverAutoSave = false; // Paper - // CraftBukkit end - // Spigot start - public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); -@@ -868,22 +869,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -869,22 +870,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.n.b().a(agameprofile); } @@ -200,7 +214,7 @@ index 6b7d81933..3ee587014 100644 public WhiteList getWhitelist() { return this.whitelist; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index e3d62fc9c..72b3a6d40 100644 +index 6c976e3b1..a08ef197e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch index 94425ac9b2..54dc4fad6e 100644 --- a/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From d778eb49ecc9e8d5cbfcc4b20f33d607fbc13b00 Mon Sep 17 00:00:00 2001 +From 6dcddbc648362d5b4fa1548043beacd6596d15d7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jan 2017 18:07:56 -0500 Subject: [PATCH] Cap Entity Collisions @@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped. You can set this to 0 to disable collisions. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5df8b1143f..0b748d402b 100644 +index 5df8b1143..0b748d402 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -343,4 +343,10 @@ public class PaperWorldConfig { @@ -27,7 +27,7 @@ index 5df8b1143f..0b748d402b 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b47bf97387..db7e37aee6 100644 +index b47bf9738..db7e37aee 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -168,6 +168,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -39,10 +39,10 @@ index b47bf97387..db7e37aee6 100644 // Spigot end diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 9f493e43d4..fc0e440798 100644 +index b25d4b714..f85da758d 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2316,8 +2316,11 @@ public abstract class EntityLiving extends Entity { +@@ -2318,8 +2318,11 @@ public abstract class EntityLiving extends Entity { } } diff --git a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch index 79ef83c306..6794a152a6 100644 --- a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From b502589f3799987378d72bfd7fd843b6e888b490 Mon Sep 17 00:00:00 2001 +From 97859bd335e381d24dfb98d703ee44295283f04c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 12 May 2017 23:34:11 -0500 Subject: [PATCH] Properly handle async calls to restart the server @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f81ff5628..f679c6bc2 100644 +index ab3193295..5d13f053f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -85,6 +85,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -41,7 +41,7 @@ index f81ff5628..f679c6bc2 100644 private boolean isStopped; private int ticks; protected final Proxy d; -@@ -590,7 +591,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -591,7 +592,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (this.s != null) { MinecraftServer.LOGGER.info("Saving players"); this.s.savePlayers(); @@ -50,7 +50,7 @@ index f81ff5628..f679c6bc2 100644 try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets } -@@ -649,10 +650,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -650,10 +651,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.isRunning; } @@ -69,7 +69,7 @@ index f81ff5628..f679c6bc2 100644 // Paper start - Further improve server tick loop private static final int TPS = 20; private static final long SEC_IN_NANO = 1000000000; -@@ -1607,6 +1616,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1608,6 +1617,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.aa; } @@ -306,5 +306,5 @@ index 947c43a5d..f15fd9f37 100644 } } -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch index b1547310f6..26ad8fc2bb 100644 --- a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From 280084302de32062c408e239b644dda5e1b24a83 Mon Sep 17 00:00:00 2001 +From af3fcc467f9180b820aaa4e89b3695f7d7d420cd Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -199,7 +199,7 @@ index a3d58b5ce..681194e94 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f679c6bc2..39a8b1d69 100644 +index 5d13f053f..c95f12351 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,6 @@ import org.apache.commons.lang3.Validate; @@ -217,9 +217,9 @@ index f679c6bc2..39a8b1d69 100644 - public ConsoleReader reader; + //public ConsoleReader reader; // Paper public static int currentTick = 0; // Paper - Further improve tick loop + public boolean serverAutoSave = false; // Paper public final Thread primaryThread; - public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); -@@ -183,7 +182,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -184,7 +183,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.ac.a((IResourcePackListener) this.al); // CraftBukkit start this.options = options; @@ -229,7 +229,7 @@ index f679c6bc2..39a8b1d69 100644 if (System.console() == null && System.getProperty("jline.terminal") == null) { System.setProperty("jline.terminal", "jline.UnsupportedTerminal"); Main.useJline = false; -@@ -204,6 +205,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -205,6 +206,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati LOGGER.warn((String) null, ex); } } @@ -238,7 +238,7 @@ index f679c6bc2..39a8b1d69 100644 Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this)); this.serverThread = primaryThread = new Thread(this, "Server thread"); // Moved from main -@@ -804,7 +807,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -805,7 +808,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } finally { // CraftBukkit start - Restore terminal to original settings try { @@ -247,7 +247,7 @@ index f679c6bc2..39a8b1d69 100644 } catch (Exception ignored) { } // CraftBukkit end -@@ -1285,7 +1288,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1286,7 +1289,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } public void sendMessage(IChatBaseComponent ichatbasecomponent) { @@ -271,7 +271,7 @@ index 4c9ff8c29..9e403d625 100644 this.k = new GameProfileBanList(PlayerList.a); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 470e334f7..9fe7c6a0d 100644 +index 8719fe35e..f6dfe2e2b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -137,8 +137,8 @@ import java.nio.ByteBuffer; diff --git a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch index 06663bfeb0..4febc1ec51 100644 --- a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 7e4b09409f3d9851a51215a840be880c73a0c7f1 Mon Sep 17 00:00:00 2001 +From eb7e8603e48e1cfac564dfd91c528198ac7e7a8d Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -429,10 +429,10 @@ index 02940d697..4539b5601 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 39a8b1d69..4654e22c8 100644 +index c95f12351..26ace3cbf 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1114,7 +1114,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1115,7 +1115,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati */ // CraftBukkit end String s1 = "."; // PAIL? @@ -441,7 +441,7 @@ index 39a8b1d69..4654e22c8 100644 MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService(); GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository(); UserCache usercache = new UserCache(gameprofilerepository, new File(s1, MinecraftServer.a.getName())); -@@ -1562,6 +1562,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1563,6 +1563,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.G = i; } @@ -486,7 +486,7 @@ index a47a51a41..4c476f757 100644 private UserCacheEntry(GameProfile gameprofile, Date date) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 69cfe5c4d..0ef1186b9 100644 +index ac46e50ac..a8da20e35 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -152,6 +152,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; diff --git a/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch index 61455b7f6c..0d6aa4e73f 100644 --- a/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch +++ b/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch @@ -1,11 +1,11 @@ -From c181940c4734bff813360c6c3109e3c680107d55 Mon Sep 17 00:00:00 2001 +From 9cb4fc032e1908f0126b22723ebc8ec555e51884 Mon Sep 17 00:00:00 2001 From: pkt77 Date: Fri, 10 Nov 2017 23:46:34 -0500 Subject: [PATCH] Add PlayerArmorChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 38baecd862..2f325f695e 100644 +index 0dcafdbcc..a4026d64a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1,5 +1,6 @@ @@ -15,7 +15,7 @@ index 38baecd862..2f325f695e 100644 import com.google.common.base.Objects; import com.google.common.collect.Maps; import java.util.Collection; -@@ -2045,6 +2046,13 @@ public abstract class EntityLiving extends Entity { +@@ -2047,6 +2048,13 @@ public abstract class EntityLiving extends Entity { ItemStack itemstack1 = this.getEquipment(enumitemslot); if (!ItemStack.matches(itemstack1, itemstack)) { @@ -30,7 +30,7 @@ index 38baecd862..2f325f695e 100644 if (!itemstack.isEmpty()) { this.getAttributeMap().a(itemstack.a(enumitemslot)); diff --git a/src/main/java/net/minecraft/server/EnumItemSlot.java b/src/main/java/net/minecraft/server/EnumItemSlot.java -index cdf3a3ba4a..be5d0bf898 100644 +index cdf3a3ba4..be5d0bf89 100644 --- a/src/main/java/net/minecraft/server/EnumItemSlot.java +++ b/src/main/java/net/minecraft/server/EnumItemSlot.java @@ -16,6 +16,7 @@ public enum EnumItemSlot { diff --git a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch index 9ff4b2c843..82cf464c3c 100644 --- a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 3cdab27e9d5d15730d83f109ca6428e725e80c5e Mon Sep 17 00:00:00 2001 +From 461048847edbe22761d50fc017204a5f8ec15950 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta @@ -354,10 +354,10 @@ index 000000000..30941c7b0 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index e43a24989..df4bbba57 100644 +index 86c61abe4..c48911d00 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -134,6 +134,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -135,6 +135,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { .put(CraftMetaCharge.class, "FIREWORK_EFFECT") .put(CraftMetaKnowledgeBook.class, "KNOWLEDGE_BOOK") .put(CraftMetaTropicalFishBucket.class, "TROPICAL_FISH_BUCKET") @@ -365,7 +365,7 @@ index e43a24989..df4bbba57 100644 .put(CraftMetaItem.class, "UNSPECIFIC") .build(); -@@ -1083,7 +1084,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1092,7 +1093,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { CraftMetaCharge.EXPLOSION.NBT, CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT, CraftMetaKnowledgeBook.BOOK_RECIPES.NBT, diff --git a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch index ba80269169..608257e2c7 100644 --- a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From 557f91f2d60f8facf05cd18160e6c1d87ec5949e Mon Sep 17 00:00:00 2001 +From a663e14dc508e217a3ea771b2d515553552b3f7d Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -177,10 +177,10 @@ index 000000000..350410527 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4654e22c8..97581d995 100644 +index 26ace3cbf..bc2712898 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -870,7 +870,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -871,7 +871,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (i - this.Y >= 5000000000L) { this.Y = i; this.n.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.B(), this.A())); @@ -189,7 +189,7 @@ index 4654e22c8..97581d995 100644 int j = MathHelper.nextInt(this.o, 0, this.A() - agameprofile.length); for (int k = 0; k < agameprofile.length; ++k) { -@@ -1220,10 +1220,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1221,10 +1221,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return "1.13-pre7"; } diff --git a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch index e66dcad16d..026c56ed2c 100644 --- a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch @@ -1,11 +1,11 @@ -From 1fe88e14503474a32459e6777e8f2e8096c85adf Mon Sep 17 00:00:00 2001 +From 3bfec59ed4647d0c87081489077dfa8289754c27 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:18:16 -0500 Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index f1db4becde..ef4bfb480c 100644 +index f1db4becd..ef4bfb480 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -408,4 +408,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index f1db4becde..ef4bfb480c 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2f325f695e..ab3246ee02 100644 +index a4026d64a..dffa42ba5 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2661,7 +2661,7 @@ public abstract class EntityLiving extends Entity { +@@ -2663,7 +2663,7 @@ public abstract class EntityLiving extends Entity { if (this.isHandRaised() && !this.activeItem.isEmpty()) { Item item = this.activeItem.getItem(); @@ -31,7 +31,7 @@ index 2f325f695e..ab3246ee02 100644 } else { return false; } -@@ -2749,4 +2749,16 @@ public abstract class EntityLiving extends Entity { +@@ -2751,4 +2751,16 @@ public abstract class EntityLiving extends Entity { public boolean de() { return true; } @@ -49,7 +49,7 @@ index 2f325f695e..ab3246ee02 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 460a050cce..35ba95e0f5 100644 +index 460a050cc..35ba95e0f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -530,5 +530,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch index 056fabf378..c77c11eab0 100644 --- a/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch +++ b/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch @@ -1,4 +1,4 @@ -From be0ea88947f6c5be87e3dfd4c20665785d6858db Mon Sep 17 00:00:00 2001 +From 5d0b0c840d82488619f181d2b576147a2b0f194b Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 18 Jun 2018 15:46:23 +0200 Subject: [PATCH] Implement EntityKnockbackByEntityEvent @@ -6,10 +6,10 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent This event is called when an entity receives knockback by another entity. diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ab3246ee02..f67b4ca353 100644 +index dffa42ba5..7cacbaffe 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -1245,6 +1245,12 @@ public abstract class EntityLiving extends Entity { +@@ -1247,6 +1247,12 @@ public abstract class EntityLiving extends Entity { this.impulse = true; float f1 = MathHelper.sqrt(d0 * d0 + d1 * d1); @@ -22,7 +22,7 @@ index ab3246ee02..f67b4ca353 100644 this.motX /= 2.0D; this.motZ /= 2.0D; this.motX -= d0 / (double) f1 * (double) f; -@@ -1257,6 +1263,18 @@ public abstract class EntityLiving extends Entity { +@@ -1259,6 +1265,18 @@ public abstract class EntityLiving extends Entity { } } diff --git a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch index 8af5b0a0eb..34f7c1a4ab 100644 --- a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From 42f348c4866235a751a95a6c69abeaaf826dad17 Mon Sep 17 00:00:00 2001 +From d249802a700c76fd6306b36fc4aa5d808f5000da Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API @@ -6,10 +6,10 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f67b4ca353..cda8151487 100644 +index 7cacbaffe..5f3ccee2e 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2646,14 +2646,17 @@ public abstract class EntityLiving extends Entity { +@@ -2648,14 +2648,17 @@ public abstract class EntityLiving extends Entity { } @@ -28,7 +28,7 @@ index f67b4ca353..cda8151487 100644 return this.isHandRaised() ? this.activeItem.k() - this.cW() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 35ba95e0f5..0975181e06 100644 +index 35ba95e0f..0975181e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -540,5 +540,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/work/Bukkit b/work/Bukkit index ac92f0355a..2ba30dddd4 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit ac92f0355a7bf319d51b78837f8e7a3889b6c549 +Subproject commit 2ba30dddd4acb3bd789b4e487ed0647984576e8c diff --git a/work/CraftBukkit b/work/CraftBukkit index 7c0f69e449..961295e432 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 7c0f69e449b94547f95daa5c09407dd3f4a6fd52 +Subproject commit 961295e4327324766a0404857c1ca85051971995 diff --git a/work/Spigot b/work/Spigot index 751edf9136..3fa6cc486b 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 751edf9136cc98e37842b9dc43d4d119452c5433 +Subproject commit 3fa6cc486bf213165cc95cc3809162036cf9bf78 From 1d28f62522d0159e4b0909626095fa4ed5a6c39e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:43:00 -0400 Subject: [PATCH 15/70] Rebuild patches for upstream merge --- ...078-Use-a-Shared-Random-for-Entities.patch | 6 +-- .../0079-Don-t-teleport-dead-entities.patch | 6 +-- ...nilla-per-world-scoreboard-coloring-.patch | 6 +-- ...0-Vehicle-Event-Cancellation-Changes.patch | 10 ++-- .../0115-Entity-Tracking-Improvements.patch | 6 +-- ...2-Optional-TNT-doesn-t-move-in-water.patch | 8 +-- ...6-Don-t-let-fishinghooks-use-portals.patch | 6 +-- ...llow-entities-to-ride-themselves-572.patch | 8 +-- .../0176-Cap-Entity-Collisions.patch | 6 +-- .../0195-Entity-fromMobSpawner.patch | 10 ++-- ...emove-entities-on-dimension-teleport.patch | 8 +-- ...pawn-if-entity-is-in-a-chunk-schedu.patch} | 2 +- ...-if-stack-size-above-max-stack-size.patch} | 4 +- ...97-Use-asynchronous-Log4j-2-loggers.patch} | 6 +-- ...-more-information-to-Entity.toString.patch | 23 +++++++++ ...es-option-to-debug-dupe-uuid-issues.patch} | 49 ++++++++----------- ...300-Additional-Paper-Config-options.patch} | 6 +-- ... 0301-Duplicate-UUID-Resolve-Option.patch} | 42 ++++++++-------- ...-more-information-to-Entity.toString.patch | 23 --------- 19 files changed, 114 insertions(+), 121 deletions(-) rename Spigot-Server-Patches/{0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch => 0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch} (95%) rename Spigot-Server-Patches/{0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch => 0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch} (90%) rename Spigot-Server-Patches/{0298-Use-asynchronous-Log4j-2-loggers.patch => 0297-Use-asynchronous-Log4j-2-loggers.patch} (87%) create mode 100644 Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch rename Spigot-Server-Patches/{0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch => 0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch} (71%) rename Spigot-Server-Patches/{0337-Additional-Paper-Config-options.patch => 0300-Additional-Paper-Config-options.patch} (87%) rename Spigot-Server-Patches/{0338-Duplicate-UUID-Resolve-Option.patch => 0301-Duplicate-UUID-Resolve-Option.patch} (89%) delete mode 100644 Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch diff --git a/Spigot-Server-Patches/0078-Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/0078-Use-a-Shared-Random-for-Entities.patch index cad02b15a7..3a401143c6 100644 --- a/Spigot-Server-Patches/0078-Use-a-Shared-Random-for-Entities.patch +++ b/Spigot-Server-Patches/0078-Use-a-Shared-Random-for-Entities.patch @@ -1,4 +1,4 @@ -From 39039bfaab07bf1d1c0eec274aac6a6187a8781b Mon Sep 17 00:00:00 2001 +From ce7ffaa9f437f871b1c1b87d5f22b482e25e9edc Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:33:47 -0400 Subject: [PATCH] Use a Shared Random for Entities @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e16579116..c0367df20 100644 +index e16579116..56aa89b45 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -50,6 +50,20 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -30,7 +30,7 @@ index e16579116..c0367df20 100644 static boolean isLevelAtLeast(NBTTagCompound tag, int level) { return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -182,7 +183,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -182,7 +196,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.length = 1.8F; this.aA = 1.0F; this.aB = 1.0F; diff --git a/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch b/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch index 42f0912b06..9af0f571ad 100644 --- a/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch +++ b/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch @@ -1,4 +1,4 @@ -From 22bc88a7734d7cd8f0e59448076b9f781b60cc59 Mon Sep 17 00:00:00 2001 +From 66f0b458722d01614e1ecb8a82d09a92e4f5864a Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:55:23 -0400 Subject: [PATCH] Don't teleport dead entities @@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic. Potentially an old CB change that's no longer needed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c0367df20..c37c46e71 100644 +index 56aa89b45..f98f93c5c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2556,7 +2556,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2569,7 +2569,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public Entity teleportTo(Location exit, boolean portal) { diff --git a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index 39e315ae22..31814ff952 100644 --- a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,4 +1,4 @@ -From 9cfa1f4bdd459c8f829f60b971a5af65fb5ecb0c Mon Sep 17 00:00:00 2001 +From 95364b7e710394eda68ea6d81a7691c02b21907f Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 6 Apr 2016 01:04:23 -0500 Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names @@ -19,10 +19,10 @@ index 6ac58e5ec..ff9929a05 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c37c46e71..88092d823 100644 +index f98f93c5c..31c580de1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2251,6 +2251,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2264,6 +2264,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.getFlag(5); } diff --git a/Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch index 8619f48037..20ace0aafe 100644 --- a/Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch +++ b/Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch @@ -1,14 +1,14 @@ -From 3813dcf8105186f2ad6b22b3e3c8e129656c6dbb Mon Sep 17 00:00:00 2001 +From 173ce5b19ace1cc6316fe318b79cc36ee2c207d5 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 18:20:05 -0500 Subject: [PATCH] Vehicle Event Cancellation Changes diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 88092d823..9af242380 100644 +index 31c580de1..16d521dfd 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -93,7 +93,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public boolean j; public final List passengers; protected int k; @@ -17,7 +17,7 @@ index 88092d823..9af242380 100644 public boolean attachedToPlayer; public World world; public double lastX; -@@ -2110,6 +2110,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2123,6 +2123,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { // CraftBukkit start @@ -25,7 +25,7 @@ index 88092d823..9af242380 100644 CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); Entity orig = craft == null ? null : craft.getHandle(); if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { -@@ -2125,7 +2126,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2138,7 +2139,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } } // CraftBukkit end diff --git a/Spigot-Server-Patches/0115-Entity-Tracking-Improvements.patch b/Spigot-Server-Patches/0115-Entity-Tracking-Improvements.patch index dd8c333b09..dfa8f65f8a 100644 --- a/Spigot-Server-Patches/0115-Entity-Tracking-Improvements.patch +++ b/Spigot-Server-Patches/0115-Entity-Tracking-Improvements.patch @@ -1,4 +1,4 @@ -From be50c643cdcb8dc000e4a1bc88c37232418fbd0d Mon Sep 17 00:00:00 2001 +From dde88036ee16b61e39407d75420102c714842eef Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Jun 2013 01:24:00 -0400 Subject: [PATCH] Entity Tracking Improvements @@ -7,10 +7,10 @@ If any part of a Vehicle/Passenger relationship is visible to a player, send all passenger/vehicles to the player in the chain. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 9af242380..70694c8e5 100644 +index 16d521dfd..dd4ac4bfe 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -57,6 +57,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -70,6 +70,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke protected CraftEntity bukkitEntity; diff --git a/Spigot-Server-Patches/0122-Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/0122-Optional-TNT-doesn-t-move-in-water.patch index f9f4198b54..b35726fb29 100644 --- a/Spigot-Server-Patches/0122-Optional-TNT-doesn-t-move-in-water.patch +++ b/Spigot-Server-Patches/0122-Optional-TNT-doesn-t-move-in-water.patch @@ -1,4 +1,4 @@ -From 4a54757b19677e73932cc2db44dd47a907d8f82b Mon Sep 17 00:00:00 2001 +From 66110221d713089a4bd59d79a17a4b8f6100f015 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional TNT doesn't move in water @@ -32,10 +32,10 @@ index 38de48ebc..321da3be3 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 70694c8e5..51b42933d 100644 +index dd4ac4bfe..34c617958 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1182,6 +1182,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1195,6 +1195,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean aq() { @@ -48,7 +48,7 @@ index 70694c8e5..51b42933d 100644 return this.isInWater() || this.q(); } -@@ -2724,6 +2730,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2737,6 +2743,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean bw() { diff --git a/Spigot-Server-Patches/0156-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0156-Don-t-let-fishinghooks-use-portals.patch index f1720f02d1..be6e24e4c3 100644 --- a/Spigot-Server-Patches/0156-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0156-Don-t-let-fishinghooks-use-portals.patch @@ -1,14 +1,14 @@ -From cfd9c680af983aa5d1f25a5dc51d505beaa229be Mon Sep 17 00:00:00 2001 +From 3b917e4772c474dd49cf79fb2fcc46cbddf928bf Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 16 Dec 2016 16:03:19 -0600 Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 51b42933d..eb2a693af 100644 +index 34c617958..c7ef67a52 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -143,7 +143,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -156,7 +156,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public boolean ak; public boolean impulse; public int portalCooldown; diff --git a/Spigot-Server-Patches/0173-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0173-Don-t-allow-entities-to-ride-themselves-572.patch index 5a8283ed3b..17ea7f498f 100644 --- a/Spigot-Server-Patches/0173-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0173-Don-t-allow-entities-to-ride-themselves-572.patch @@ -1,14 +1,14 @@ -From 9998cb5e703231aa7a957c741909a28c120e59dd Mon Sep 17 00:00:00 2001 +From ed67deba02ff56017e9557fc956c66b39cf8c645 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Sun, 8 Jan 2017 04:31:36 +0000 Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index eb2a693af..b47bf9738 100644 +index c7ef67a52..4bfc49076 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2075,6 +2075,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2088,6 +2088,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } protected void o(Entity entity) { @@ -17,5 +17,5 @@ index eb2a693af..b47bf9738 100644 throw new IllegalStateException("Use x.startRiding(y), not y.addPassenger(x)"); } else { -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch index 54dc4fad6e..40512af49f 100644 --- a/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From 6dcddbc648362d5b4fa1548043beacd6596d15d7 Mon Sep 17 00:00:00 2001 +From a831d40bdd5ca262053ca1c02870cc533a90a306 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jan 2017 18:07:56 -0500 Subject: [PATCH] Cap Entity Collisions @@ -27,10 +27,10 @@ index 5df8b1143..0b748d402 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b47bf9738..db7e37aee 100644 +index 4bfc49076..8a04a801b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -168,6 +168,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -181,6 +181,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public final boolean defaultActivationState; public long activatedTick = Integer.MIN_VALUE; public boolean fromMobSpawner; diff --git a/Spigot-Server-Patches/0195-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0195-Entity-fromMobSpawner.patch index 8cd57f47d3..a4065b75f1 100644 --- a/Spigot-Server-Patches/0195-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0195-Entity-fromMobSpawner.patch @@ -1,14 +1,14 @@ -From e199a3a50ef50a8cb6818a7b18871b3dfdac874c Mon Sep 17 00:00:00 2001 +From fc4ab62ab798d05629a58a87394aedefd66ed528 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 18 Jun 2017 18:17:05 -0500 Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index db7e37aee..cd1639e26 100644 +index 8a04a801b..0d69e6187 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -168,6 +168,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -181,6 +181,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public final boolean defaultActivationState; public long activatedTick = Integer.MIN_VALUE; public boolean fromMobSpawner; @@ -16,7 +16,7 @@ index db7e37aee..cd1639e26 100644 protected int numCollisions = 0; // Paper public void inactiveTick() { } // Spigot end -@@ -1658,6 +1659,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1671,6 +1672,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (origin != null) { nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index db7e37aee..cd1639e26 100644 // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -1806,6 +1811,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1819,6 +1824,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (!originTag.isEmpty()) { origin = new Location(world.getWorld(), originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2)); } diff --git a/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch b/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch index f8b8f01169..b21fe4402e 100644 --- a/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch +++ b/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch @@ -1,4 +1,4 @@ -From 014b84371464966ee131a8b52ddf87154e02343e Mon Sep 17 00:00:00 2001 +From e8322305c667ce125bb50e00bd4e90c377f5348b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:04:42 -0400 Subject: [PATCH] Properly remove entities on dimension teleport @@ -22,10 +22,10 @@ requirement, but plugins (such as my own) use this method to trigger a "reload" of the entity on the client. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cd1639e26..ea42800ae 100644 +index 0d69e6187..67af3e25c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2594,7 +2594,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2607,7 +2607,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // CraftBukkit end */ @@ -35,7 +35,7 @@ index cd1639e26..ea42800ae 100644 this.world.methodProfiler.a("reposition"); /* CraftBukkit start - Handled in calculateTarget diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4ac2d39c5..d6d3ffa6f 100644 +index 9e3804579..44d867663 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1025,6 +1025,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch b/Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch similarity index 95% rename from Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch rename to Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch index 16803aeb02..cf4b522838 100644 --- a/Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch +++ b/Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch @@ -1,4 +1,4 @@ -From d826de1e7aa6bc2cd8e10f847e3617cbc895084e Mon Sep 17 00:00:00 2001 +From 0c344c05aeeb72e97f326c21aed89d3fa3ce316d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:23:00 -0400 Subject: [PATCH] Don't process despawn if entity is in a chunk scheduled for diff --git a/Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch b/Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch similarity index 90% rename from Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch rename to Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch index f7e05ca483..df781f6b12 100644 --- a/Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch +++ b/Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch @@ -1,11 +1,11 @@ -From 6e4c3841196ccf68344d2220c4e48186d0028e6f Mon Sep 17 00:00:00 2001 +From b2e003731c21eab3980ab9b81ff1cf52b6411e81 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 16 Jul 2018 12:42:20 +0200 Subject: [PATCH] Avoid item merge if stack size above max stack size diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index d232bab745..b0f22f8f09 100644 +index d232bab74..b0f22f8f0 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -173,6 +173,10 @@ public class EntityItem extends Entity { diff --git a/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch similarity index 87% rename from Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch rename to Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch index 5d7823b370..0031bf96ff 100644 --- a/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch +++ b/Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch @@ -1,11 +1,11 @@ -From 033fcb77bd332732f270f7a66f42cf2dfb3bc51e Mon Sep 17 00:00:00 2001 +From 3136e6f07a5a0626b4855b8be5470e0df089e9c5 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 17 Jul 2018 16:42:17 +0200 Subject: [PATCH] Use asynchronous Log4j 2 loggers diff --git a/pom.xml b/pom.xml -index 8fd1e36283..0c4b0daf56 100644 +index a034c87d6..efa52f356 100644 --- a/pom.xml +++ b/pom.xml @@ -103,6 +103,14 @@ @@ -25,7 +25,7 @@ index 8fd1e36283..0c4b0daf56 100644 junit diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties new file mode 100644 -index 0000000000..ee7c90784c +index 000000000..ee7c90784 --- /dev/null +++ b/src/main/resources/log4j2.component.properties @@ -0,0 +1 @@ diff --git a/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch new file mode 100644 index 0000000000..64b850e4f3 --- /dev/null +++ b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch @@ -0,0 +1,23 @@ +From 978703a87b11832ffaecca876f32c3610f67fd56 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Thu, 19 Jul 2018 01:13:28 -0400 +Subject: [PATCH] add more information to Entity.toString() + +UUID, ticks lived, valid, dead + +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index 67af3e25c..0e0dc72f0 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -2506,7 +2506,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + } + + public String toString() { +- return String.format(Locale.ROOT, "%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ)}); ++ return String.format(Locale.ROOT, "%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f, cx=%d, cz=%d, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), getChunkX(), getChunkZ(), this.ticksLived, this.valid, this.dead}); // Paper - add more information + } + + public boolean isInvulnerable(DamageSource damagesource) { +-- +2.18.0 + diff --git a/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch similarity index 71% rename from Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch rename to Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index c5f5055e2a..68788ffc93 100644 --- a/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From b061a231214e88cde43e0c3880f779723828b2b4 Mon Sep 17 00:00:00 2001 +From 0318662b299542a2245da28c82d08f5a3455fa69 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues @@ -6,53 +6,45 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f6b755863..108654d63 100644 +index 0e0dc72f0..d725bf13e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -73,6 +73,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper - } - return bukkitEntity; - } -+ Throwable addedToWorldStack; // Paper - entity debug - // CraftBukikt end +@@ -71,6 +71,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + protected CraftEntity bukkitEntity; - private static final Logger a = LogManager.getLogger(); + EntityTrackerEntry tracker; // Paper ++ Throwable addedToWorldStack; // Paper - entity debug + public CraftEntity getBukkitEntity() { + if (bukkitEntity == null) { + bukkitEntity = CraftEntity.getEntity(world.getServer(), this); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index b16324e1a..994d4bbb8 100644 +index fcb5f68f8..013f4eef5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -7,6 +7,7 @@ import com.google.common.util.concurrent.ListenableFuture; - import java.io.File; - import java.util.ArrayList; - import java.util.Collection; -+import java.util.Date; - import java.util.Iterator; - import java.util.List; - import java.util.Map; -@@ -53,6 +54,10 @@ public class WorldServer extends World implements IAsyncTaskHandler { - private final List W = Lists.newArrayList(); +@@ -53,6 +53,10 @@ public class WorldServer extends World implements IAsyncTaskHandler { + private boolean Q; // CraftBukkit start + private static final boolean DEBUG_ENTITIES = Boolean.getBoolean("debug.entities"); // Paper + private static Throwable getAddToWorldStackTrace(Entity entity) { -+ return new Throwable(entity + " Added to world at " + new Date()); ++ return new Throwable(entity + " Added to world at " + new java.util.Date()); + } public final int dimension; // Add env and gen to constructor -@@ -1160,6 +1165,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -980,6 +984,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { private boolean j(Entity entity) { if (entity.dead) { - WorldServer.a.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.a(entity)); // CraftBukkit // Paper + WorldServer.a.warn("Tried to add entity {} but it was marked as removed already: " + entity); // CraftBukkit // Paper + if (DEBUG_ENTITIES) getAddToWorldStackTrace(entity).printStackTrace(); return false; } else { UUID uuid = entity.getUniqueID(); -@@ -1171,8 +1177,14 @@ public class WorldServer extends World implements IAsyncTaskHandler { - this.f.remove(entity1); +@@ -991,8 +996,14 @@ public class WorldServer extends World implements IAsyncTaskHandler { + this.g.remove(entity1); } else { if (!(entity instanceof EntityHuman)) { -- WorldServer.a.error("Keeping entity {} that already exists with UUID {} - " + entity1, EntityTypes.a(entity1), uuid.toString()); // CraftBukkit // Paper +- WorldServer.a.error("Keeping entity {} that already exists with UUID {} - " + entity1, EntityTypes.getName(entity1.P()), uuid.toString()); // CraftBukkit // Paper + WorldServer.a.error("Keeping entity {} that already exists with UUID {}", entity1, uuid.toString()); // CraftBukkit // Paper WorldServer.a.error("Deleting duplicate entity {}", entity); // Paper + if (DEBUG_ENTITIES) { @@ -64,7 +56,7 @@ index b16324e1a..994d4bbb8 100644 return false; } -@@ -1189,7 +1201,24 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -1009,7 +1020,25 @@ public class WorldServer extends World implements IAsyncTaskHandler { protected void b(Entity entity) { super.b(entity); this.entitiesById.a(entity.getId(), entity); @@ -73,6 +65,7 @@ index b16324e1a..994d4bbb8 100644 + if (DEBUG_ENTITIES) { + entity.addedToWorldStack = getAddToWorldStackTrace(entity); + } ++ + Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); + if (old != null && old.getId() != entity.getId() && old.valid) { + Logger logger = LogManager.getLogger(); @@ -87,7 +80,7 @@ index b16324e1a..994d4bbb8 100644 + } + } + // Paper end - Entity[] aentity = entity.bb(); + Entity[] aentity = entity.bi(); if (aentity != null) { -- diff --git a/Spigot-Server-Patches/0337-Additional-Paper-Config-options.patch b/Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch similarity index 87% rename from Spigot-Server-Patches/0337-Additional-Paper-Config-options.patch rename to Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch index dfb9b18afc..9f3e05e555 100644 --- a/Spigot-Server-Patches/0337-Additional-Paper-Config-options.patch +++ b/Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch @@ -1,4 +1,4 @@ -From 9ac674cfb6f5f71dd61a4952c4bc7d88e3cfa3e5 Mon Sep 17 00:00:00 2001 +From fec119593dd482c5e813c4b3e343f17cfa6185d9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:23:31 -0400 Subject: [PATCH] Additional Paper Config options @@ -21,10 +21,10 @@ index 62bce1806..5a17ce3d2 100644 if (verbose) { Bukkit.getLogger().info(s); diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 50416f40a..14c8edeff 100644 +index 692206127..7bd7aa0d9 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -11,6 +11,7 @@ import org.bukkit.configuration.file.YamlConfiguration; +@@ -8,6 +8,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import org.spigotmc.SpigotWorldConfig; import static com.destroystokyo.paper.PaperConfig.log; diff --git a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch similarity index 89% rename from Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch rename to Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch index 5e9ec904e8..b3077d9f72 100644 --- a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 2a6d7b5cf9db036928914e854416039d7c8a14af Mon Sep 17 00:00:00 2001 +From 728fd7183c4e5a63f03aec4b53bfabb64d62f533 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,10 +33,10 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 14c8edeff..e3f6557e1 100644 +index 7bd7aa0d9..ba6d5b7ff 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -541,4 +541,40 @@ public class PaperWorldConfig { +@@ -430,4 +430,40 @@ public class PaperWorldConfig { log("Bed Search Radius: " + bedSearchRadius); } } @@ -78,7 +78,7 @@ index 14c8edeff..e3f6557e1 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 04adf4e3c..ea9559583 100644 +index 03afa1236..1f50004cb 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -90,17 +90,17 @@ index 04adf4e3c..ea9559583 100644 +import java.util.UUID; +// Paper end import com.destroystokyo.paper.exception.ServerInternalException; - import com.google.common.base.Predicate; import com.google.common.collect.Maps; -@@ -31,6 +36,7 @@ public class Chunk { + import com.google.common.collect.Queues; +@@ -40,6 +45,7 @@ public class Chunk implements IChunkAccess { public final World world; - public final int[] heightMap; + public final Map heightMap; public Long scheduledForUnload; // Paper - delay chunk unloads + private static final Logger logger = LogManager.getLogger(); // Paper public final int locX; public final int locZ; private boolean m; -@@ -658,6 +664,7 @@ public class Chunk { +@@ -689,6 +695,7 @@ public class Chunk implements IChunkAccess { if (i != this.locX || j != this.locZ) { Chunk.e.warn("Wrong location! ({}, {}) should be ({}, {}), {}", Integer.valueOf(i), Integer.valueOf(j), Integer.valueOf(this.locX), Integer.valueOf(this.locZ), entity); entity.die(); @@ -108,7 +108,7 @@ index 04adf4e3c..ea9559583 100644 } int k = MathHelper.floor(entity.locY / 16.0D); -@@ -851,6 +858,37 @@ public class Chunk { +@@ -868,6 +875,37 @@ public class Chunk implements IChunkAccess { for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot @@ -147,32 +147,32 @@ index 04adf4e3c..ea9559583 100644 this.world.a((Collection) entityslice); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0d3af8cb7..7188d0c99 100644 +index d725bf13e..7154692ee 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2614,6 +2614,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2735,6 +2735,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke }); } + public void setUUID(UUID uuid) { a(uuid); } // Paper - OBFHELPER public void a(UUID uuid) { this.uniqueID = uuid; - this.ar = this.uniqueID.toString(); + this.au = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 994d4bbb8..1244baf45 100644 +index 013f4eef5..b9d03d801 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -42,7 +42,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -40,7 +40,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { + private final MinecraftServer server; + public EntityTracker tracker; private final PlayerChunkMap manager; - // private final Set nextTickListHash = Sets.newHashSet(); - private final HashTreeSet nextTickList = new HashTreeSet(); // CraftBukkit - HashTreeSet - private final Map entitiesByUUID = Maps.newHashMap(); + public final Map entitiesByUUID = Maps.newHashMap(); // Paper public boolean savingDisabled; - private boolean Q; + private boolean K; private int emptyTime; -@@ -1177,14 +1177,17 @@ public class WorldServer extends World implements IAsyncTaskHandler { - this.f.remove(entity1); +@@ -996,14 +996,17 @@ public class WorldServer extends World implements IAsyncTaskHandler { + this.g.remove(entity1); } else { if (!(entity instanceof EntityHuman)) { - WorldServer.a.error("Keeping entity {} that already exists with UUID {}", entity1, uuid.toString()); // CraftBukkit // Paper @@ -195,9 +195,9 @@ index 994d4bbb8..1244baf45 100644 return false; } -@@ -1206,7 +1209,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { - entity.addedToWorldStack = getAddToWorldStackTrace(entity); +@@ -1026,7 +1029,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { } + Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); - if (old != null && old.getId() != entity.getId() && old.valid) { + if (old != null && old.getId() != entity.getId() && old.valid && entity.world.paperConfig.duplicateUUIDMode != com.destroystokyo.paper.PaperWorldConfig.DuplicateUUIDMode.NOTHING) { diff --git a/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch deleted file mode 100644 index 770ff6a464..0000000000 --- a/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch +++ /dev/null @@ -1,23 +0,0 @@ -From b0c9be521fc1613e6ab93cbc058b8fbf2de7068a Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Thu, 19 Jul 2018 01:13:28 -0400 -Subject: [PATCH] add more information to Entity.toString() - -UUID, ticks lived, valid, dead - -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 80ecdb282..99dac412f 100644 ---- a/src/main/java/net/minecraft/server/Entity.java -+++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2361,7 +2361,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper - } - - public String toString() { -- return String.format("%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ)}); -+ return String.format("%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f, cx=%d, cd=%d, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getName(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), getChunkX(), getChunkZ(), this.ticksLived, this.valid, this.dead}); // Paper - add more information - } - - public boolean isInvulnerable(DamageSource damagesource) { --- -2.18.0 - From 39ea0d21dc9e8c4edde9427653b621efcf4f854e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:55:43 -0400 Subject: [PATCH 16/70] Restore World.loadChunkAsync API - but load chunks sync We are still missing Async Chunk Loading, but plugins may be depending on this API, so it missing blocks upgrading. --- .../0125-Add-async-chunk-load-API.patch | 92 +++++++++++++++++++ .../0302-Add-async-chunk-load-API.patch | 41 +++++++++ 2 files changed, 133 insertions(+) create mode 100644 Spigot-API-Patches/0125-Add-async-chunk-load-API.patch create mode 100644 Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch diff --git a/Spigot-API-Patches/0125-Add-async-chunk-load-API.patch b/Spigot-API-Patches/0125-Add-async-chunk-load-API.patch new file mode 100644 index 0000000000..0ce23ae271 --- /dev/null +++ b/Spigot-API-Patches/0125-Add-async-chunk-load-API.patch @@ -0,0 +1,92 @@ +From 50fe6b99320148740160eec04f499d03b57987dc Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 29 Feb 2016 17:43:33 -0600 +Subject: [PATCH] Add async chunk load API + + +diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java +index 550c26be..121033e9 100644 +--- a/src/main/java/org/bukkit/World.java ++++ b/src/main/java/org/bukkit/World.java +@@ -137,6 +137,78 @@ public interface World extends PluginMessageRecipient, Metadatable { + */ + public Chunk getChunkAt(Block block); + ++ /** ++ * Used by {@link World#getChunkAtAsync(Location,ChunkLoadCallback)} methods ++ * to request a {@link Chunk} to be loaded, with this callback receiving ++ * the chunk when it is finished. ++ * ++ * This callback will be executed on synchronously on the main thread. ++ * ++ * Timing and order this callback is fired is intentionally not defined and ++ * and subject to change. ++ */ ++ public static interface ChunkLoadCallback { ++ public void onLoad(Chunk chunk); ++ } ++ ++ /** ++ * Requests a {@link Chunk} to be loaded at the given coordinates ++ * ++ * This method makes no guarantee on how fast the chunk will load, ++ * and will return the chunk to the callback at a later time. ++ * ++ * You should use this method if you need a chunk but do not need it ++ * immediately, and you wish to let the server control the speed ++ * of chunk loads, keeping performance in mind. ++ * ++ * The {@link ChunkLoadCallback} will always be executed synchronously ++ * on the main Server Thread. ++ * ++ * @param x Chunk X-coordinate of the chunk - (world coordinate / 16) ++ * @param z Chunk Z-coordinate of the chunk - (world coordinate / 16) ++ * @param cb Callback to receive the chunk when it is loaded. ++ * will be executed synchronously ++ */ ++ public void getChunkAtAsync(int x, int z, ChunkLoadCallback cb); ++ ++ /** ++ * Requests a {@link Chunk} to be loaded at the given {@link Location} ++ * ++ * This method makes no guarantee on how fast the chunk will load, ++ * and will return the chunk to the callback at a later time. ++ * ++ * You should use this method if you need a chunk but do not need it ++ * immediately, and you wish to let the server control the speed ++ * of chunk loads, keeping performance in mind. ++ * ++ * The {@link ChunkLoadCallback} will always be executed synchronously ++ * on the main Server Thread. ++ * ++ * @param location Location of the chunk ++ * @param cb Callback to receive the chunk when it is loaded. ++ * will be executed synchronously ++ */ ++ public void getChunkAtAsync(Location location, ChunkLoadCallback cb); ++ ++ /** ++ * Requests {@link Chunk} to be loaded that contains the given {@link Block} ++ * ++ * This method makes no guarantee on how fast the chunk will load, ++ * and will return the chunk to the callback at a later time. ++ * ++ * You should use this method if you need a chunk but do not need it ++ * immediately, and you wish to let the server control the speed ++ * of chunk loads, keeping performance in mind. ++ * ++ * The {@link ChunkLoadCallback} will always be executed synchronously ++ * on the main Server Thread. ++ * ++ * @param block Block to get the containing chunk from ++ * @param cb Callback to receive the chunk when it is loaded. ++ * will be executed synchronously ++ */ ++ public void getChunkAtAsync(Block block, ChunkLoadCallback cb); ++ + /** + * Checks if the specified {@link Chunk} is loaded + * +-- +2.18.0 + diff --git a/Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch b/Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch new file mode 100644 index 0000000000..41e1612101 --- /dev/null +++ b/Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch @@ -0,0 +1,41 @@ +From 589d50e9902c7adfcd9837768bbcddbfdd809ebd Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sat, 21 Jul 2018 16:55:04 -0400 +Subject: [PATCH] Add async chunk load API + + +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +index 0f4a894eb..995e02f1d 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +@@ -156,6 +156,27 @@ public class CraftWorld implements World { + } + } + ++ // Paper start - Async chunk load API ++ public void getChunkAtAsync(final int x, final int z, final ChunkLoadCallback callback) { ++ final ChunkProviderServer cps = this.world.getChunkProviderServer(); ++ callback.onLoad(cps.getChunkAt(x, z).bukkitChunk); // TODO: Add back async variant ++ /*cps.getChunkAt(x, z, new Runnable() { ++ @Override ++ public void run() { ++ callback.onLoad(cps.getChunkAt(x, z).bukkitChunk); ++ } ++ });*/ ++ } ++ ++ public void getChunkAtAsync(Block block, ChunkLoadCallback callback) { ++ getChunkAtAsync(block.getX() >> 4, block.getZ() >> 4, callback); ++ } ++ ++ public void getChunkAtAsync(Location location, ChunkLoadCallback callback) { ++ getChunkAtAsync(location.getBlockX() >> 4, location.getBlockZ() >> 4, callback); ++ } ++ // Paper end ++ + public Chunk getChunkAt(int x, int z) { + return this.world.getChunkProviderServer().getChunkAt(x, z).bukkitChunk; + } +-- +2.18.0 + From 13e34d8e1c1cf3f67d7f10a449e4285417883048 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:57:04 -0400 Subject: [PATCH 17/70] [CI-SKIP] delete removed patches --- .../api/0006-Add-async-chunk-load-API.patch | 92 ------------------- .../0023-Add-async-chunk-load-API.patch | 40 -------- 2 files changed, 132 deletions(-) delete mode 100644 removed/api/0006-Add-async-chunk-load-API.patch delete mode 100644 removed/server/0023-Add-async-chunk-load-API.patch diff --git a/removed/api/0006-Add-async-chunk-load-API.patch b/removed/api/0006-Add-async-chunk-load-API.patch deleted file mode 100644 index f9c375098b..0000000000 --- a/removed/api/0006-Add-async-chunk-load-API.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 2ad2461cb05bc1fa8091df72d18dc4c6bc7e363e Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Mon, 29 Feb 2016 17:43:33 -0600 -Subject: [PATCH] Add async chunk load API - - -diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 33b14a07..22ab4633 100644 ---- a/src/main/java/org/bukkit/World.java -+++ b/src/main/java/org/bukkit/World.java -@@ -107,6 +107,78 @@ public interface World extends PluginMessageRecipient, Metadatable { - */ - public Chunk getChunkAt(Block block); - -+ /** -+ * Used by {@link World#getChunkAtAsync(Location,ChunkLoadCallback)} methods -+ * to request a {@link Chunk} to be loaded, with this callback receiving -+ * the chunk when it is finished. -+ * -+ * This callback will be executed on synchronously on the main thread. -+ * -+ * Timing and order this callback is fired is intentionally not defined and -+ * and subject to change. -+ */ -+ public static interface ChunkLoadCallback { -+ public void onLoad(Chunk chunk); -+ } -+ -+ /** -+ * Requests a {@link Chunk} to be loaded at the given coordinates -+ * -+ * This method makes no guarantee on how fast the chunk will load, -+ * and will return the chunk to the callback at a later time. -+ * -+ * You should use this method if you need a chunk but do not need it -+ * immediately, and you wish to let the server control the speed -+ * of chunk loads, keeping performance in mind. -+ * -+ * The {@link ChunkLoadCallback} will always be executed synchronously -+ * on the main Server Thread. -+ * -+ * @param x Chunk X-coordinate of the chunk - (world coordinate / 16) -+ * @param z Chunk Z-coordinate of the chunk - (world coordinate / 16) -+ * @param cb Callback to receive the chunk when it is loaded. -+ * will be executed synchronously -+ */ -+ public void getChunkAtAsync(int x, int z, ChunkLoadCallback cb); -+ -+ /** -+ * Requests a {@link Chunk} to be loaded at the given {@link Location} -+ * -+ * This method makes no guarantee on how fast the chunk will load, -+ * and will return the chunk to the callback at a later time. -+ * -+ * You should use this method if you need a chunk but do not need it -+ * immediately, and you wish to let the server control the speed -+ * of chunk loads, keeping performance in mind. -+ * -+ * The {@link ChunkLoadCallback} will always be executed synchronously -+ * on the main Server Thread. -+ * -+ * @param location Location of the chunk -+ * @param cb Callback to receive the chunk when it is loaded. -+ * will be executed synchronously -+ */ -+ public void getChunkAtAsync(Location location, ChunkLoadCallback cb); -+ -+ /** -+ * Requests {@link Chunk} to be loaded that contains the given {@link Block} -+ * -+ * This method makes no guarantee on how fast the chunk will load, -+ * and will return the chunk to the callback at a later time. -+ * -+ * You should use this method if you need a chunk but do not need it -+ * immediately, and you wish to let the server control the speed -+ * of chunk loads, keeping performance in mind. -+ * -+ * The {@link ChunkLoadCallback} will always be executed synchronously -+ * on the main Server Thread. -+ * -+ * @param block Block to get the containing chunk from -+ * @param cb Callback to receive the chunk when it is loaded. -+ * will be executed synchronously -+ */ -+ public void getChunkAtAsync(Block block, ChunkLoadCallback cb); -+ - /** - * Checks if the specified {@link Chunk} is loaded - * --- -2.18.0 - diff --git a/removed/server/0023-Add-async-chunk-load-API.patch b/removed/server/0023-Add-async-chunk-load-API.patch deleted file mode 100644 index 5992a89ad0..0000000000 --- a/removed/server/0023-Add-async-chunk-load-API.patch +++ /dev/null @@ -1,40 +0,0 @@ -From cfeda276a4e161703f02b62d97e39a1ddd65193f Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Tue, 1 Mar 2016 23:19:01 -0600 -Subject: [PATCH] Add async chunk load API - - -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0b2a9d09d..4df849eef 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -133,6 +133,26 @@ public class CraftWorld implements World { - } - } - -+ // Paper start - Async chunk load API -+ public void getChunkAtAsync(final int x, final int z, final ChunkLoadCallback callback) { -+ final ChunkProviderServer cps = this.world.getChunkProviderServer(); -+ cps.getChunkAt(x, z, new Runnable() { -+ @Override -+ public void run() { -+ callback.onLoad(cps.getChunkAt(x, z).bukkitChunk); -+ } -+ }); -+ } -+ -+ public void getChunkAtAsync(Block block, ChunkLoadCallback callback) { -+ getChunkAtAsync(block.getX() >> 4, block.getZ() >> 4, callback); -+ } -+ -+ public void getChunkAtAsync(Location location, ChunkLoadCallback callback) { -+ getChunkAtAsync(location.getBlockX() >> 4, location.getBlockZ() >> 4, callback); -+ } -+ // Paper end -+ - public Chunk getChunkAt(int x, int z) { - return this.world.getChunkProviderServer().getChunkAt(x, z).bukkitChunk; - } --- -2.18.0 - From 34404e60c93c4e92c49d5ba9186bac92d85033e5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 17:03:26 -0400 Subject: [PATCH 18/70] Restore Configurable Allowance of Perm Chunk Loaders --- ...Allowance-of-Permanent-Chunk-Loaders.patch | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) rename removed/server/0292-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch => Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch (58%) diff --git a/removed/server/0292-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch b/Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch similarity index 58% rename from removed/server/0292-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch rename to Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch index 5c6925a575..709a2a08bd 100644 --- a/removed/server/0292-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch +++ b/Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch @@ -1,4 +1,4 @@ -From b3c4cbe3e4019d14276d36954449d2d91825336a Mon Sep 17 00:00:00 2001 +From eb46618fcdc4a12a5c3b48cbe4c9b3b2d1813ac5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Apr 2018 11:21:48 -0400 Subject: [PATCH] Configurable Allowance of Permanent Chunk Loaders @@ -7,14 +7,13 @@ This disables the behavior that allows players to keep chunks permanently loaded by default and allows server operators to enable it if they wish. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5a2fbf7c7..99d681ef1 100644 +index ba6d5b7ff..b9f5f4905 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -507,4 +507,10 @@ public class PaperWorldConfig { - private void disableSprintInterruptionOnAttack() { - disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false); +@@ -466,4 +466,9 @@ public class PaperWorldConfig { + break; + } } -+ + public boolean allowPermaChunkLoaders = false; + private void allowPermaChunkLoaders() { + allowPermaChunkLoaders = getBoolean("game-mechanics.allow-permanent-chunk-loaders", allowPermaChunkLoaders); @@ -22,18 +21,18 @@ index 5a2fbf7c7..99d681ef1 100644 + } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 55dada668..0eba3df57 100644 +index 70790386e..7f83ed51d 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -148,7 +148,7 @@ public class ChunkProviderServer implements IChunkProvider { - } +@@ -111,7 +111,7 @@ public class ChunkProviderServer implements IChunkProvider { + Long2ObjectMap long2objectmap = this.chunks; - public Chunk getChunkAt(int i, int j, Runnable runnable, boolean generate) { -- Chunk chunk = getLoadedChunkAt(i, j); -+ Chunk chunk = world.paperConfig.allowPermaChunkLoaders ? getLoadedChunkAt(i, j) : getChunkIfLoaded(i, j); // Paper - Configurable perma chunk loaders - ChunkRegionLoader loader = null; + synchronized (this.chunks) { +- Chunk chunk = this.getLoadedChunkAt(i, j); ++ Chunk chunk = world.paperConfig.allowPermaChunkLoaders ? getLoadedChunkAt(i, j) : getChunkIfLoaded(i, j); // Paper - Configurable perma chunk loaders - if (this.chunkLoader instanceof ChunkRegionLoader) { + return chunk != null ? chunk : this.loadChunkAt(i, j); + } -- 2.18.0 From bf2c56e8aecb81951d4232947a7b3c8e130928ff Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 17:24:18 -0400 Subject: [PATCH 19/70] Readd configurable max chunk gens per tick --- ...Configurable-Max-Chunk-Gens-per-Tick.patch | 111 ++++++++++ ...max-squid-spawn-height-configurable.patch} | 20 +- ...patch => 0232-PreCreatureSpawnEvent.patch} | 2 +- ...-PlayerNaturallySpawnCreaturesEvent.patch} | 2 +- ...-Add-SkullMeta.setPlayerProfile-API.patch} | 2 +- ...> 0235-Fill-Profile-Property-Events.patch} | 2 +- ...layerAdvancementCriterionGrantEvent.patch} | 2 +- ...ch => 0237-Add-ArmorStand-Item-Meta.patch} | 2 +- ...Extend-Player-Interact-cancellation.patch} | 6 +- ... 0239-Tameable-getOwnerUniqueId-API.patch} | 2 +- ...-crits-helps-mitigate-hacked-client.patch} | 6 +- ...ing-location-from-InventoryEnderChe.patch} | 2 +- ...ted-Ice-from-loading-holding-chunks.patch} | 2 +- ...e-Explicit-Network-Manager-Flushing.patch} | 2 +- ...t-extended-PaperServerListPingEvent.patch} | 2 +- ... 0245-Improved-Async-Task-Scheduler.patch} | 2 +- ...-PlayerProfile-in-AsyncPreLoginEven.patch} | 2 +- ...-PortalCreateEvent-for-exit-portals.patch} | 2 +- ...=> 0248-Player.setPlayerProfile-API.patch} | 4 +- ...h => 0249-Fix-Dragon-Server-Crashes.patch} | 2 +- ...patch => 0250-getPlayerUniqueId-API.patch} | 4 +- ...ake-player-data-saving-configurable.patch} | 2 +- ...e-legacy-ping-handler-more-reliable.patch} | 2 +- ...erverListPingEvent-for-legacy-pings.patch} | 2 +- ...4-Flag-to-disable-the-channel-limit.patch} | 2 +- ...-method-to-open-already-placed-sign.patch} | 2 +- ...oad-version-history-at-server-start.patch} | 4 +- ...rable-sprint-interruption-on-attack.patch} | 11 +- ...allowed-colored-signs-to-be-created.patch} | 2 +- ...t.patch => 0259-EndermanEscapeEvent.patch} | 2 +- ...h => 0260-Enderman.teleportRandomly.patch} | 2 +- ...261-Block-Enderpearl-Travel-Exploit.patch} | 2 +- ...d.spawnParticle-API-and-add-Builder.patch} | 4 +- ...h => 0263-EndermanAttackPlayerEvent.patch} | 2 +- ...tch => 0264-WitchConsumePotionEvent.patch} | 4 +- ...patch => 0265-WitchThrowPotionEvent.patch} | 4 +- ...tem-entities-with-World.spawnEntity.patch} | 2 +- ...oad-chunks-for-villager-door-checks.patch} | 2 +- ...patch => 0268-WitchReadyPotionEvent.patch} | 4 +- ...269-ItemStack-getMaxItemUseDuration.patch} | 2 +- ...ement-EntityTeleportEndGatewayEvent.patch} | 2 +- ...d-flag-on-cancel-of-Explosion-Event.patch} | 2 +- ...move-entities-on-dimension-teleport.patch} | 2 +- ...ch => 0273-Fix-CraftEntity-hashCode.patch} | 2 +- ...e-Alternative-LootPool-Luck-Formula.patch} | 2 +- ...ls-when-failing-to-save-player-data.patch} | 2 +- ...-shield-blocking-delay-configurable.patch} | 2 +- ...cipes-in-RecipeBook-to-avoid-data-e.patch} | 2 +- ...nt-consumeArrow-and-getArrowItem-AP.patch} | 8 +- ...patch => 0279-PlayerReadyArrowEvent.patch} | 2 +- ...-EntityShootBowEvent-for-Illusioner.patch} | 4 +- ...lement-EntityKnockbackByEntityEvent.patch} | 2 +- ...patch => 0282-Expand-Explosions-API.patch} | 2 +- ...vingEntity-Hand-Raised-Item-Use-API.patch} | 2 +- ...-API.patch => 0284-RangedEntity-API.patch} | 2 +- ...d-SentientNPC-Interface-to-Entities.patch} | 2 +- ...eHitEvent-to-include-the-BlockFace-.patch} | 4 +- ...o-disable-ender-dragon-legacy-check.patch} | 2 +- ...-Implement-World.getEntity-UUID-API.patch} | 2 +- ...0289-InventoryCloseEvent-Reason-API.patch} | 18 +- ...ps-for-Entity-TileEntity-Current-Ch.patch} | 4 +- ...0291-Configurable-Bed-Search-Radius.patch} | 2 +- ...-API.patch => 0292-Vex-getOwner-API.patch} | 2 +- ...ventory-when-cancelling-PlayerInter.patch} | 2 +- ...e-the-Entity-Random-seed-for-squids.patch} | 2 +- ...illa-entity-warnings-for-duplicates.patch} | 4 +- ...pawn-if-entity-is-in-a-chunk-schedu.patch} | 2 +- ...-if-stack-size-above-max-stack-size.patch} | 2 +- ...98-Use-asynchronous-Log4j-2-loggers.patch} | 2 +- ...more-information-to-Entity.toString.patch} | 2 +- ...es-option-to-debug-dupe-uuid-issues.patch} | 2 +- ...301-Additional-Paper-Config-options.patch} | 2 +- ... 0302-Duplicate-UUID-Resolve-Option.patch} | 2 +- ...ch => 0303-Add-async-chunk-load-API.patch} | 2 +- ...llowance-of-Permanent-Chunk-Loaders.patch} | 2 +- .../0248-Improve-Structures-Checking.patch | 199 ------------------ scripts/importmcdev.sh | 10 +- 77 files changed, 227 insertions(+), 320 deletions(-) create mode 100644 Spigot-Server-Patches/0230-Configurable-Max-Chunk-Gens-per-Tick.patch rename Spigot-Server-Patches/{0230-Make-max-squid-spawn-height-configurable.patch => 0231-Make-max-squid-spawn-height-configurable.patch} (71%) rename Spigot-Server-Patches/{0231-PreCreatureSpawnEvent.patch => 0232-PreCreatureSpawnEvent.patch} (98%) rename Spigot-Server-Patches/{0232-PlayerNaturallySpawnCreaturesEvent.patch => 0233-PlayerNaturallySpawnCreaturesEvent.patch} (96%) rename Spigot-Server-Patches/{0233-Add-SkullMeta.setPlayerProfile-API.patch => 0234-Add-SkullMeta.setPlayerProfile-API.patch} (96%) rename Spigot-Server-Patches/{0234-Fill-Profile-Property-Events.patch => 0235-Fill-Profile-Property-Events.patch} (96%) rename Spigot-Server-Patches/{0235-PlayerAdvancementCriterionGrantEvent.patch => 0236-PlayerAdvancementCriterionGrantEvent.patch} (94%) rename Spigot-Server-Patches/{0236-Add-ArmorStand-Item-Meta.patch => 0237-Add-ArmorStand-Item-Meta.patch} (99%) rename Spigot-Server-Patches/{0237-Extend-Player-Interact-cancellation.patch => 0238-Extend-Player-Interact-cancellation.patch} (98%) rename Spigot-Server-Patches/{0238-Tameable-getOwnerUniqueId-API.patch => 0239-Tameable-getOwnerUniqueId-API.patch} (96%) rename Spigot-Server-Patches/{0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch => 0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch} (92%) rename Spigot-Server-Patches/{0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch => 0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch} (95%) rename Spigot-Server-Patches/{0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch => 0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch} (96%) rename Spigot-Server-Patches/{0242-Disable-Explicit-Network-Manager-Flushing.patch => 0243-Disable-Explicit-Network-Manager-Flushing.patch} (96%) rename Spigot-Server-Patches/{0243-Implement-extended-PaperServerListPingEvent.patch => 0244-Implement-extended-PaperServerListPingEvent.patch} (99%) rename Spigot-Server-Patches/{0244-Improved-Async-Task-Scheduler.patch => 0245-Improved-Async-Task-Scheduler.patch} (99%) rename Spigot-Server-Patches/{0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch => 0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch} (97%) rename Spigot-Server-Patches/{0246-Call-PortalCreateEvent-for-exit-portals.patch => 0247-Call-PortalCreateEvent-for-exit-portals.patch} (98%) rename Spigot-Server-Patches/{0247-Player.setPlayerProfile-API.patch => 0248-Player.setPlayerProfile-API.patch} (98%) rename Spigot-Server-Patches/{0248-Fix-Dragon-Server-Crashes.patch => 0249-Fix-Dragon-Server-Crashes.patch} (95%) rename Spigot-Server-Patches/{0249-getPlayerUniqueId-API.patch => 0250-getPlayerUniqueId-API.patch} (94%) rename Spigot-Server-Patches/{0250-Make-player-data-saving-configurable.patch => 0251-Make-player-data-saving-configurable.patch} (96%) rename Spigot-Server-Patches/{0251-Make-legacy-ping-handler-more-reliable.patch => 0252-Make-legacy-ping-handler-more-reliable.patch} (98%) rename Spigot-Server-Patches/{0252-Call-PaperServerListPingEvent-for-legacy-pings.patch => 0253-Call-PaperServerListPingEvent-for-legacy-pings.patch} (99%) rename Spigot-Server-Patches/{0253-Flag-to-disable-the-channel-limit.patch => 0254-Flag-to-disable-the-channel-limit.patch} (96%) rename Spigot-Server-Patches/{0254-Add-method-to-open-already-placed-sign.patch => 0255-Add-method-to-open-already-placed-sign.patch} (95%) rename Spigot-Server-Patches/{0255-Load-version-history-at-server-start.patch => 0256-Load-version-history-at-server-start.patch} (89%) rename Spigot-Server-Patches/{0256-Configurable-sprint-interruption-on-attack.patch => 0257-Configurable-sprint-interruption-on-attack.patch} (88%) rename Spigot-Server-Patches/{0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch => 0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch} (94%) rename Spigot-Server-Patches/{0258-EndermanEscapeEvent.patch => 0259-EndermanEscapeEvent.patch} (98%) rename Spigot-Server-Patches/{0259-Enderman.teleportRandomly.patch => 0260-Enderman.teleportRandomly.patch} (96%) rename Spigot-Server-Patches/{0260-Block-Enderpearl-Travel-Exploit.patch => 0261-Block-Enderpearl-Travel-Exploit.patch} (97%) rename Spigot-Server-Patches/{0261-Expand-World.spawnParticle-API-and-add-Builder.patch => 0262-Expand-World.spawnParticle-API-and-add-Builder.patch} (97%) rename Spigot-Server-Patches/{0262-EndermanAttackPlayerEvent.patch => 0263-EndermanAttackPlayerEvent.patch} (95%) rename Spigot-Server-Patches/{0263-WitchConsumePotionEvent.patch => 0264-WitchConsumePotionEvent.patch} (93%) rename Spigot-Server-Patches/{0264-WitchThrowPotionEvent.patch => 0265-WitchThrowPotionEvent.patch} (94%) rename Spigot-Server-Patches/{0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch => 0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch} (95%) rename Spigot-Server-Patches/{0266-Don-t-load-chunks-for-villager-door-checks.patch => 0267-Don-t-load-chunks-for-villager-door-checks.patch} (93%) rename Spigot-Server-Patches/{0267-WitchReadyPotionEvent.patch => 0268-WitchReadyPotionEvent.patch} (93%) rename Spigot-Server-Patches/{0268-ItemStack-getMaxItemUseDuration.patch => 0269-ItemStack-getMaxItemUseDuration.patch} (96%) rename Spigot-Server-Patches/{0269-Implement-EntityTeleportEndGatewayEvent.patch => 0270-Implement-EntityTeleportEndGatewayEvent.patch} (96%) rename Spigot-Server-Patches/{0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch => 0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch} (95%) rename Spigot-Server-Patches/{0271-Properly-remove-entities-on-dimension-teleport.patch => 0272-Properly-remove-entities-on-dimension-teleport.patch} (97%) rename Spigot-Server-Patches/{0272-Fix-CraftEntity-hashCode.patch => 0273-Fix-CraftEntity-hashCode.patch} (96%) rename Spigot-Server-Patches/{0273-Configurable-Alternative-LootPool-Luck-Formula.patch => 0274-Configurable-Alternative-LootPool-Luck-Formula.patch} (98%) rename Spigot-Server-Patches/{0274-Print-Error-details-when-failing-to-save-player-data.patch => 0275-Print-Error-details-when-failing-to-save-player-data.patch} (93%) rename Spigot-Server-Patches/{0275-Make-shield-blocking-delay-configurable.patch => 0276-Make-shield-blocking-delay-configurable.patch} (97%) rename Spigot-Server-Patches/{0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch => 0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch} (96%) rename Spigot-Server-Patches/{0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch => 0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch} (96%) rename Spigot-Server-Patches/{0278-PlayerReadyArrowEvent.patch => 0279-PlayerReadyArrowEvent.patch} (98%) rename Spigot-Server-Patches/{0279-Fire-EntityShootBowEvent-for-Illusioner.patch => 0280-Fire-EntityShootBowEvent-for-Illusioner.patch} (93%) rename Spigot-Server-Patches/{0280-Implement-EntityKnockbackByEntityEvent.patch => 0281-Implement-EntityKnockbackByEntityEvent.patch} (96%) rename Spigot-Server-Patches/{0281-Expand-Explosions-API.patch => 0282-Expand-Explosions-API.patch} (95%) rename Spigot-Server-Patches/{0282-LivingEntity-Hand-Raised-Item-Use-API.patch => 0283-LivingEntity-Hand-Raised-Item-Use-API.patch} (96%) rename Spigot-Server-Patches/{0283-RangedEntity-API.patch => 0284-RangedEntity-API.patch} (99%) rename Spigot-Server-Patches/{0284-Add-SentientNPC-Interface-to-Entities.patch => 0285-Add-SentientNPC-Interface-to-Entities.patch} (99%) rename Spigot-Server-Patches/{0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch => 0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch} (92%) rename Spigot-Server-Patches/{0286-Add-config-to-disable-ender-dragon-legacy-check.patch => 0287-Add-config-to-disable-ender-dragon-legacy-check.patch} (97%) rename Spigot-Server-Patches/{0287-Implement-World.getEntity-UUID-API.patch => 0288-Implement-World.getEntity-UUID-API.patch} (93%) rename Spigot-Server-Patches/{0288-InventoryCloseEvent-Reason-API.patch => 0289-InventoryCloseEvent-Reason-API.patch} (96%) rename Spigot-Server-Patches/{0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch => 0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch} (97%) rename Spigot-Server-Patches/{0290-Configurable-Bed-Search-Radius.patch => 0291-Configurable-Bed-Search-Radius.patch} (98%) rename Spigot-Server-Patches/{0291-Vex-getOwner-API.patch => 0292-Vex-getOwner-API.patch} (96%) rename Spigot-Server-Patches/{0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch => 0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch} (95%) rename Spigot-Server-Patches/{0293-Don-t-change-the-Entity-Random-seed-for-squids.patch => 0294-Don-t-change-the-Entity-Random-seed-for-squids.patch} (92%) rename Spigot-Server-Patches/{0294-Re-add-vanilla-entity-warnings-for-duplicates.patch => 0295-Re-add-vanilla-entity-warnings-for-duplicates.patch} (94%) rename Spigot-Server-Patches/{0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch => 0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch} (95%) rename Spigot-Server-Patches/{0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch => 0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch} (93%) rename Spigot-Server-Patches/{0297-Use-asynchronous-Log4j-2-loggers.patch => 0298-Use-asynchronous-Log4j-2-loggers.patch} (93%) rename Spigot-Server-Patches/{0298-add-more-information-to-Entity.toString.patch => 0299-add-more-information-to-Entity.toString.patch} (95%) rename Spigot-Server-Patches/{0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch => 0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch} (98%) rename Spigot-Server-Patches/{0300-Additional-Paper-Config-options.patch => 0301-Additional-Paper-Config-options.patch} (95%) rename Spigot-Server-Patches/{0301-Duplicate-UUID-Resolve-Option.patch => 0302-Duplicate-UUID-Resolve-Option.patch} (99%) rename Spigot-Server-Patches/{0302-Add-async-chunk-load-API.patch => 0303-Add-async-chunk-load-API.patch} (95%) rename Spigot-Server-Patches/{0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch => 0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch} (96%) delete mode 100644 removed/server/0248-Improve-Structures-Checking.patch diff --git a/Spigot-Server-Patches/0230-Configurable-Max-Chunk-Gens-per-Tick.patch b/Spigot-Server-Patches/0230-Configurable-Max-Chunk-Gens-per-Tick.patch new file mode 100644 index 0000000000..172cabf936 --- /dev/null +++ b/Spigot-Server-Patches/0230-Configurable-Max-Chunk-Gens-per-Tick.patch @@ -0,0 +1,111 @@ +From 49fd7e234581b6c8da9707da2854313aae503874 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 1 Jan 2018 16:10:24 -0500 +Subject: [PATCH] Configurable Max Chunk Gens per Tick + +Limit the number of generations that can occur in a single tick, forcing them +to be spread out more. + +Defaulting to 10 as an average generation is going to be 3-6ms, which means 10 will +likely cause the server to lose TPS, but constrain how much. + +This should result in no noticeable speed reduction in generation for servers not +lagging, and let larger servers reduce this value according to their own desires. + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 703642c0b..faa7597b3 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -376,4 +376,15 @@ public class PaperWorldConfig { + } + log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick); + } ++ ++ public int maxChunkGensPerTick = 10; ++ private void maxChunkGensPerTick() { ++ maxChunkGensPerTick = getInt("max-chunk-gens-per-tick", maxChunkGensPerTick); ++ if (maxChunkGensPerTick <= 0) { ++ maxChunkGensPerTick = Integer.MAX_VALUE; ++ log("Max Chunk Gens Per Tick: Unlimited (NOT RECOMMENDED)"); ++ } else { ++ log("Max Chunk Gens Per Tick: " + maxChunkGensPerTick); ++ } ++ } + } +diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java +index 344b95233..fcd9f5491 100644 +--- a/src/main/java/net/minecraft/server/PlayerChunk.java ++++ b/src/main/java/net/minecraft/server/PlayerChunk.java +@@ -28,6 +28,7 @@ public class PlayerChunk { + // CraftBukkit start - add fields + // You know the drill, https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse + // All may seem good at first, but there's deeper issues if you play for a bit ++ boolean chunkExists; // Paper + private boolean loadInProgress = false; + private Runnable loadedRunnable = new Runnable() { + public void run() { +@@ -49,6 +50,7 @@ public class PlayerChunk { + this.playerChunkMap = playerchunkmap; + this.location = new ChunkCoordIntPair(i, j); + this.chunk = playerchunkmap.getWorld().getChunkProviderServer().getOrLoadChunkAt(i, j); ++ this.chunkExists = this.chunk != null || ChunkIOExecutor.hasQueuedChunkLoad(playerChunkMap.getWorld(), i, j); // Paper + markChunkUsed(); // Paper - delay chunk unloads + } + +diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java +index 9fd07f859..e29aaab2d 100644 +--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java ++++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +@@ -140,6 +140,7 @@ public class PlayerChunkMap { + // Spigot start + org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; + activityAccountant.startActivity(0.5); ++ int chunkGensAllowed = world.paperConfig.maxChunkGensPerTick; // Paper + // Spigot end + + Iterator iterator1 = this.h.iterator(); +@@ -149,6 +150,11 @@ public class PlayerChunkMap { + + if (playerchunk1.f() == null) { + boolean flag = playerchunk1.a(PlayerChunkMap.b); ++ // Paper start ++ if (flag && !playerchunk1.chunkExists && chunkGensAllowed-- <= 0) { ++ continue; ++ } ++ // Paper end + + if (playerchunk1.a(flag)) { + iterator1.remove(); +diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java +index 9aaca21a7..f50d55c8e 100644 +--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java ++++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java +@@ -35,4 +35,10 @@ public class ChunkIOExecutor { + public static void tick() { + instance.finishActive(); + } ++ ++ // Paper start ++ public static boolean hasQueuedChunkLoad(World world, int x, int z) { ++ return instance.hasTask(new QueuedChunk(x, z, null, world, null)); ++ } ++ // Paper end + } +diff --git a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java +index 193c3621c..cf1258c55 100644 +--- a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java ++++ b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java +@@ -351,4 +351,10 @@ public final class AsynchronousExecutor { + public void setActiveThreads(final int coreSize) { + pool.setCorePoolSize(coreSize); + } ++ ++ // Paper start ++ public boolean hasTask(P parameter) throws IllegalStateException { ++ return tasks.get(parameter) != null; ++ } ++ // Paper end + } +-- +2.18.0 + diff --git a/Spigot-Server-Patches/0230-Make-max-squid-spawn-height-configurable.patch b/Spigot-Server-Patches/0231-Make-max-squid-spawn-height-configurable.patch similarity index 71% rename from Spigot-Server-Patches/0230-Make-max-squid-spawn-height-configurable.patch rename to Spigot-Server-Patches/0231-Make-max-squid-spawn-height-configurable.patch index f988d9e677..5ae1da1b9a 100644 --- a/Spigot-Server-Patches/0230-Make-max-squid-spawn-height-configurable.patch +++ b/Spigot-Server-Patches/0231-Make-max-squid-spawn-height-configurable.patch @@ -1,4 +1,4 @@ -From a7d52d9da454870e13059c9cee1ea2b09943c662 Mon Sep 17 00:00:00 2001 +From 8717d750efce7685cb40fb5a2aada1deeca9a537 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 11 Jan 2018 16:47:28 -0600 Subject: [PATCH] Make max squid spawn height configurable @@ -7,30 +7,18 @@ I don't know why upstream made only the minimum height configurable but whatever diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 703642c0b..a33c55f41 100644 +index faa7597b3..fddd52caf 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -376,4 +376,21 @@ public class PaperWorldConfig { +@@ -387,4 +387,9 @@ public class PaperWorldConfig { + log("Max Chunk Gens Per Tick: " + maxChunkGensPerTick); } - log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick); } + -+ public int maxChunkGensPerTick = 10; -+ private void maxChunkGensPerTick() { -+ maxChunkGensPerTick = getInt("max-chunk-gens-per-tick", maxChunkGensPerTick); -+ if (maxChunkGensPerTick <= 0) { -+ maxChunkGensPerTick = Integer.MAX_VALUE; -+ log("Max Chunk Gens Per Tick: Unlimited (NOT RECOMMENDED)"); -+ } else { -+ log("Max Chunk Gens Per Tick: " + maxChunkGensPerTick); -+ } -+ } -+ + public double squidMaxSpawnHeight; + private void squidMaxSpawnHeight() { + squidMaxSpawnHeight = getDouble("squid-spawn-height.maximum", 0.0D); + } -+ } diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java index ffc6d0b68..70b251210 100644 diff --git a/Spigot-Server-Patches/0231-PreCreatureSpawnEvent.patch b/Spigot-Server-Patches/0232-PreCreatureSpawnEvent.patch similarity index 98% rename from Spigot-Server-Patches/0231-PreCreatureSpawnEvent.patch rename to Spigot-Server-Patches/0232-PreCreatureSpawnEvent.patch index 260691a08e..807440e5f0 100644 --- a/Spigot-Server-Patches/0231-PreCreatureSpawnEvent.patch +++ b/Spigot-Server-Patches/0232-PreCreatureSpawnEvent.patch @@ -1,4 +1,4 @@ -From 6e4911557836aeeaf25a0ee89018de637d0149a9 Mon Sep 17 00:00:00 2001 +From 58be61c968baa7692620f453e152388df99e325e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:01:31 -0500 Subject: [PATCH] PreCreatureSpawnEvent diff --git a/Spigot-Server-Patches/0232-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0233-PlayerNaturallySpawnCreaturesEvent.patch similarity index 96% rename from Spigot-Server-Patches/0232-PlayerNaturallySpawnCreaturesEvent.patch rename to Spigot-Server-Patches/0233-PlayerNaturallySpawnCreaturesEvent.patch index 1c7a7787cc..68345e32c9 100644 --- a/Spigot-Server-Patches/0232-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0233-PlayerNaturallySpawnCreaturesEvent.patch @@ -1,4 +1,4 @@ -From d3c65296d8baec00ffccc097fbd32c984eda341e Mon Sep 17 00:00:00 2001 +From 003dd0a240eaccbd9e0f2b221ced65a8fcd825e7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:36:02 -0500 Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent diff --git a/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch b/Spigot-Server-Patches/0234-Add-SkullMeta.setPlayerProfile-API.patch similarity index 96% rename from Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch rename to Spigot-Server-Patches/0234-Add-SkullMeta.setPlayerProfile-API.patch index f9904783ab..a0f613613b 100644 --- a/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0234-Add-SkullMeta.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 50b9db3c2112d6d203c3ba1d3ce14e0e494e3c44 Mon Sep 17 00:00:00 2001 +From 6df26539d98a00ba824fba020dfb08a68c3b673c Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 19 Jan 2018 00:36:25 -0500 Subject: [PATCH] Add SkullMeta.setPlayerProfile API diff --git a/Spigot-Server-Patches/0234-Fill-Profile-Property-Events.patch b/Spigot-Server-Patches/0235-Fill-Profile-Property-Events.patch similarity index 96% rename from Spigot-Server-Patches/0234-Fill-Profile-Property-Events.patch rename to Spigot-Server-Patches/0235-Fill-Profile-Property-Events.patch index 0ece840c7d..e2bcd2811c 100644 --- a/Spigot-Server-Patches/0234-Fill-Profile-Property-Events.patch +++ b/Spigot-Server-Patches/0235-Fill-Profile-Property-Events.patch @@ -1,4 +1,4 @@ -From 4e3afed7ad46f7fb12501512b3b056d43845b225 Mon Sep 17 00:00:00 2001 +From 8679d7a0df439bb22997dd86d4ce8789676d7a59 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 2 Jan 2018 00:31:26 -0500 Subject: [PATCH] Fill Profile Property Events diff --git a/Spigot-Server-Patches/0235-PlayerAdvancementCriterionGrantEvent.patch b/Spigot-Server-Patches/0236-PlayerAdvancementCriterionGrantEvent.patch similarity index 94% rename from Spigot-Server-Patches/0235-PlayerAdvancementCriterionGrantEvent.patch rename to Spigot-Server-Patches/0236-PlayerAdvancementCriterionGrantEvent.patch index 0e2b81d2de..70b3b478f7 100644 --- a/Spigot-Server-Patches/0235-PlayerAdvancementCriterionGrantEvent.patch +++ b/Spigot-Server-Patches/0236-PlayerAdvancementCriterionGrantEvent.patch @@ -1,4 +1,4 @@ -From 746b48fb737927fc6f25497d06fdbb40ef59be9b Mon Sep 17 00:00:00 2001 +From ac99b992d5076653bb7d4a4870b297ef15c78fc9 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 19 Jan 2018 08:15:29 -0600 Subject: [PATCH] PlayerAdvancementCriterionGrantEvent diff --git a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0237-Add-ArmorStand-Item-Meta.patch similarity index 99% rename from Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch rename to Spigot-Server-Patches/0237-Add-ArmorStand-Item-Meta.patch index 82cf464c3c..ee211c2575 100644 --- a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0237-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 461048847edbe22761d50fc017204a5f8ec15950 Mon Sep 17 00:00:00 2001 +From 3169647239cfc18b81e98e3ea928845f28bc0cc0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta diff --git a/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/0238-Extend-Player-Interact-cancellation.patch similarity index 98% rename from Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch rename to Spigot-Server-Patches/0238-Extend-Player-Interact-cancellation.patch index 85611f086a..118b007acc 100644 --- a/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch +++ b/Spigot-Server-Patches/0238-Extend-Player-Interact-cancellation.patch @@ -1,4 +1,4 @@ -From 0fb78f02246374d62846d855b0a0774ea91877cb Mon Sep 17 00:00:00 2001 +From 0d24007fe52669e5bd8aa604109f15490ae7cd07 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Feb 2018 10:43:46 +0000 Subject: [PATCH] Extend Player Interact cancellation @@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds when cancelling interaction. diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index e34198e4..e375e255 100644 +index e34198e40..e375e2556 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -110,6 +110,7 @@ public class PlayerInteractManager { @@ -98,5 +98,5 @@ index e34198e4..e375e255 100644 enuminteractionresult = (event.useItemInHand() != Event.Result.ALLOW) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS; } else if (this.gamemode == EnumGamemode.SPECTATOR) { -- -2.16.1.windows.1 +2.18.0 diff --git a/Spigot-Server-Patches/0238-Tameable-getOwnerUniqueId-API.patch b/Spigot-Server-Patches/0239-Tameable-getOwnerUniqueId-API.patch similarity index 96% rename from Spigot-Server-Patches/0238-Tameable-getOwnerUniqueId-API.patch rename to Spigot-Server-Patches/0239-Tameable-getOwnerUniqueId-API.patch index a751268120..0599134fce 100644 --- a/Spigot-Server-Patches/0238-Tameable-getOwnerUniqueId-API.patch +++ b/Spigot-Server-Patches/0239-Tameable-getOwnerUniqueId-API.patch @@ -1,4 +1,4 @@ -From b88bf8f54e70c80c89c723a466518a0a0bc7881d Mon Sep 17 00:00:00 2001 +From 0cc66b09744a98309a2bd93c8617d954006a83af Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 24 Feb 2018 01:14:55 -0500 Subject: [PATCH] Tameable#getOwnerUniqueId API diff --git a/Spigot-Server-Patches/0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch similarity index 92% rename from Spigot-Server-Patches/0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch rename to Spigot-Server-Patches/0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch index 418f3c8bee..43b367241f 100644 --- a/Spigot-Server-Patches/0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/Spigot-Server-Patches/0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -1,11 +1,11 @@ -From c343647c7c1da02fcf1fb959638cdf50c4517dbf Mon Sep 17 00:00:00 2001 +From 2da97a3a645321975638551ed8b7b0b1e79b4783 Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sat, 10 Mar 2018 00:50:24 +0100 Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index a33c55f41..4ca31c8eb 100644 +index fddd52caf..79df2c171 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -179,6 +179,11 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index a33c55f41..4ca31c8eb 100644 private void allChunksAreSlimeChunks() { allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false); diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index ae4dd621d..4fb300468 100644 +index 28688f2ac..98fdfcb60 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1021,6 +1021,7 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/Spigot-Server-Patches/0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch b/Spigot-Server-Patches/0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch similarity index 95% rename from Spigot-Server-Patches/0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch rename to Spigot-Server-Patches/0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch index 2efcc95866..254e4cfb5f 100644 --- a/Spigot-Server-Patches/0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch +++ b/Spigot-Server-Patches/0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch @@ -1,4 +1,4 @@ -From 60e36541916056a066dfbad3f6cba828ad68fd88 Mon Sep 17 00:00:00 2001 +From 8fb609894fd5ae64febc7444fc485735a565cbe6 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 10 Mar 2018 13:03:49 +0000 Subject: [PATCH] Fix NPE when getting location from InventoryEnderChest opened diff --git a/Spigot-Server-Patches/0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch b/Spigot-Server-Patches/0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch similarity index 96% rename from Spigot-Server-Patches/0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch rename to Spigot-Server-Patches/0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch index a585a3e97a..ee3ccd9676 100644 --- a/Spigot-Server-Patches/0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch +++ b/Spigot-Server-Patches/0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch @@ -1,4 +1,4 @@ -From 566c2f52f198e39d6ba6c4c94a0242ffc7e2d7a1 Mon Sep 17 00:00:00 2001 +From c0843c56ac5dec0d56f164336ba713dfe9349178 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 10 Mar 2018 16:33:15 -0500 Subject: [PATCH] Prevent Frosted Ice from loading/holding chunks diff --git a/Spigot-Server-Patches/0242-Disable-Explicit-Network-Manager-Flushing.patch b/Spigot-Server-Patches/0243-Disable-Explicit-Network-Manager-Flushing.patch similarity index 96% rename from Spigot-Server-Patches/0242-Disable-Explicit-Network-Manager-Flushing.patch rename to Spigot-Server-Patches/0243-Disable-Explicit-Network-Manager-Flushing.patch index d41ff3a3b0..0f5d5adb7f 100644 --- a/Spigot-Server-Patches/0242-Disable-Explicit-Network-Manager-Flushing.patch +++ b/Spigot-Server-Patches/0243-Disable-Explicit-Network-Manager-Flushing.patch @@ -1,4 +1,4 @@ -From 63e1dbdab75cf30b185ca29a91c5ce9f106f9da7 Mon Sep 17 00:00:00 2001 +From 630db698e03a4dbf59460f3ea2d1ea32a9a9081c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 11 Mar 2018 14:13:33 -0400 Subject: [PATCH] Disable Explicit Network Manager Flushing diff --git a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch similarity index 99% rename from Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch rename to Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch index 608257e2c7..43daec4af7 100644 --- a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From a663e14dc508e217a3ea771b2d515553552b3f7d Mon Sep 17 00:00:00 2001 +From a1e5ecf741cca8862642895e14580b92151b92ff Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent diff --git a/Spigot-Server-Patches/0244-Improved-Async-Task-Scheduler.patch b/Spigot-Server-Patches/0245-Improved-Async-Task-Scheduler.patch similarity index 99% rename from Spigot-Server-Patches/0244-Improved-Async-Task-Scheduler.patch rename to Spigot-Server-Patches/0245-Improved-Async-Task-Scheduler.patch index b0cd01a2ea..b988bb3664 100644 --- a/Spigot-Server-Patches/0244-Improved-Async-Task-Scheduler.patch +++ b/Spigot-Server-Patches/0245-Improved-Async-Task-Scheduler.patch @@ -1,4 +1,4 @@ -From f476b5d557791b1d72e162a31a0d6c1ba6225039 Mon Sep 17 00:00:00 2001 +From f06918c9b3d5ea2e59d9fdb97964765cc67e41f3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 16 Mar 2018 22:59:43 -0400 Subject: [PATCH] Improved Async Task Scheduler diff --git a/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-Server-Patches/0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 97% rename from Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to Spigot-Server-Patches/0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index 58adc7536e..81f6f26079 100644 --- a/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/Spigot-Server-Patches/0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -1,4 +1,4 @@ -From 4603e7767cf800889109614583659c4824185d35 Mon Sep 17 00:00:00 2001 +From fa21f31032976ddd5f0e58dd0b58a3dbdafe665d Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 11:45:57 -0400 Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent diff --git a/Spigot-Server-Patches/0246-Call-PortalCreateEvent-for-exit-portals.patch b/Spigot-Server-Patches/0247-Call-PortalCreateEvent-for-exit-portals.patch similarity index 98% rename from Spigot-Server-Patches/0246-Call-PortalCreateEvent-for-exit-portals.patch rename to Spigot-Server-Patches/0247-Call-PortalCreateEvent-for-exit-portals.patch index e8a31552d2..0c2b2c6219 100644 --- a/Spigot-Server-Patches/0246-Call-PortalCreateEvent-for-exit-portals.patch +++ b/Spigot-Server-Patches/0247-Call-PortalCreateEvent-for-exit-portals.patch @@ -1,4 +1,4 @@ -From 3d002d32e0ca98b0fe7dde739c78504adc12da55 Mon Sep 17 00:00:00 2001 +From 7c0b2a1664a8e7e9836aecccf5ae44c1562d669c Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sun, 18 Mar 2018 15:44:44 +0100 Subject: [PATCH] Call PortalCreateEvent for exit portals diff --git a/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0248-Player.setPlayerProfile-API.patch similarity index 98% rename from Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch rename to Spigot-Server-Patches/0248-Player.setPlayerProfile-API.patch index 5a8ed4aad6..820b862af4 100644 --- a/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0248-Player.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From b1272fc90f5669440ddbcb89feeb838d83930742 Mon Sep 17 00:00:00 2001 +From 6345c6f66496c41addcec4bb59a20042d54113fa Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 12:29:48 -0400 Subject: [PATCH] Player.setPlayerProfile API @@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 4fb300468..65f4ea6cc 100644 +index 98fdfcb60..de1b6ac86 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -67,7 +67,7 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/Spigot-Server-Patches/0248-Fix-Dragon-Server-Crashes.patch b/Spigot-Server-Patches/0249-Fix-Dragon-Server-Crashes.patch similarity index 95% rename from Spigot-Server-Patches/0248-Fix-Dragon-Server-Crashes.patch rename to Spigot-Server-Patches/0249-Fix-Dragon-Server-Crashes.patch index c5fb7eafd2..05cc9b6d7a 100644 --- a/Spigot-Server-Patches/0248-Fix-Dragon-Server-Crashes.patch +++ b/Spigot-Server-Patches/0249-Fix-Dragon-Server-Crashes.patch @@ -1,4 +1,4 @@ -From f115c470c9ec36d4a124b3ce10a655f0b4a1a6ea Mon Sep 17 00:00:00 2001 +From 2c68ce035af26d50da287bf6ffdf0cdab51c0cc8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Mar 2018 20:52:07 -0400 Subject: [PATCH] Fix Dragon Server Crashes diff --git a/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch similarity index 94% rename from Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch rename to Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch index 6dcfbb5119..4ed50da5b6 100644 --- a/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 8b072f7bcac5a64cbeb681a56c0a70d3b1760e45 Mon Sep 17 00:00:00 2001 +From 3cf669e70d479742197c2514cda5bd38a37c53d6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:40:24 -0400 Subject: [PATCH] getPlayerUniqueId API @@ -9,7 +9,7 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d605e5792..0b361d82f 100644 +index b1d3f2a5e..f3050b126 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1379,6 +1379,26 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0250-Make-player-data-saving-configurable.patch b/Spigot-Server-Patches/0251-Make-player-data-saving-configurable.patch similarity index 96% rename from Spigot-Server-Patches/0250-Make-player-data-saving-configurable.patch rename to Spigot-Server-Patches/0251-Make-player-data-saving-configurable.patch index ca1337a2c2..56abb4ebce 100644 --- a/Spigot-Server-Patches/0250-Make-player-data-saving-configurable.patch +++ b/Spigot-Server-Patches/0251-Make-player-data-saving-configurable.patch @@ -1,4 +1,4 @@ -From 252500c4df07e3b9ddca3342251edfc69eba13e2 Mon Sep 17 00:00:00 2001 +From 725c61e238b9e9a113f136f26b39315df99de52a Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Mon, 26 Mar 2018 18:30:53 +0300 Subject: [PATCH] Make player data saving configurable diff --git a/Spigot-Server-Patches/0251-Make-legacy-ping-handler-more-reliable.patch b/Spigot-Server-Patches/0252-Make-legacy-ping-handler-more-reliable.patch similarity index 98% rename from Spigot-Server-Patches/0251-Make-legacy-ping-handler-more-reliable.patch rename to Spigot-Server-Patches/0252-Make-legacy-ping-handler-more-reliable.patch index c9f70a20f3..62049e4f61 100644 --- a/Spigot-Server-Patches/0251-Make-legacy-ping-handler-more-reliable.patch +++ b/Spigot-Server-Patches/0252-Make-legacy-ping-handler-more-reliable.patch @@ -1,4 +1,4 @@ -From d9e2a3cf0ea3d161fe6ec584a55cefdffc86b308 Mon Sep 17 00:00:00 2001 +From c61ddf237a78a4fd0f77adf6bfef362304616d49 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 18:22:50 +0200 Subject: [PATCH] Make legacy ping handler more reliable diff --git a/Spigot-Server-Patches/0252-Call-PaperServerListPingEvent-for-legacy-pings.patch b/Spigot-Server-Patches/0253-Call-PaperServerListPingEvent-for-legacy-pings.patch similarity index 99% rename from Spigot-Server-Patches/0252-Call-PaperServerListPingEvent-for-legacy-pings.patch rename to Spigot-Server-Patches/0253-Call-PaperServerListPingEvent-for-legacy-pings.patch index 03eeca3008..190dd80905 100644 --- a/Spigot-Server-Patches/0252-Call-PaperServerListPingEvent-for-legacy-pings.patch +++ b/Spigot-Server-Patches/0253-Call-PaperServerListPingEvent-for-legacy-pings.patch @@ -1,4 +1,4 @@ -From 3cfed1cabdc149a5016551c477c05fea9dab436d Mon Sep 17 00:00:00 2001 +From 5eb3fa9c26c608913ef6ccf7f4c22fea153fa472 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 19:30:51 +0200 Subject: [PATCH] Call PaperServerListPingEvent for legacy pings diff --git a/Spigot-Server-Patches/0253-Flag-to-disable-the-channel-limit.patch b/Spigot-Server-Patches/0254-Flag-to-disable-the-channel-limit.patch similarity index 96% rename from Spigot-Server-Patches/0253-Flag-to-disable-the-channel-limit.patch rename to Spigot-Server-Patches/0254-Flag-to-disable-the-channel-limit.patch index 157b1c236c..18aaa6cdb7 100644 --- a/Spigot-Server-Patches/0253-Flag-to-disable-the-channel-limit.patch +++ b/Spigot-Server-Patches/0254-Flag-to-disable-the-channel-limit.patch @@ -1,4 +1,4 @@ -From cfcc5a751071bb5a3d54c5147ed2d0b1ce0652fc Mon Sep 17 00:00:00 2001 +From 98b33a4a6b8621669d139259b2c3906add1012ac Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 31 Mar 2018 17:04:26 +0100 Subject: [PATCH] Flag to disable the channel limit diff --git a/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0255-Add-method-to-open-already-placed-sign.patch similarity index 95% rename from Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch rename to Spigot-Server-Patches/0255-Add-method-to-open-already-placed-sign.patch index 9f87557093..35cc0df120 100644 --- a/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch +++ b/Spigot-Server-Patches/0255-Add-method-to-open-already-placed-sign.patch @@ -1,4 +1,4 @@ -From 0f0a1e0abec3f8dd616b1356ff2fd571fa693d28 Mon Sep 17 00:00:00 2001 +From 3ff982bb8588ed6f368c4c5bf145261dac55ba46 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sun, 1 Apr 2018 02:29:37 +0300 Subject: [PATCH] Add method to open already placed sign diff --git a/Spigot-Server-Patches/0255-Load-version-history-at-server-start.patch b/Spigot-Server-Patches/0256-Load-version-history-at-server-start.patch similarity index 89% rename from Spigot-Server-Patches/0255-Load-version-history-at-server-start.patch rename to Spigot-Server-Patches/0256-Load-version-history-at-server-start.patch index 813a9c4bcf..5c03678061 100644 --- a/Spigot-Server-Patches/0255-Load-version-history-at-server-start.patch +++ b/Spigot-Server-Patches/0256-Load-version-history-at-server-start.patch @@ -1,11 +1,11 @@ -From 1b5e237639a102046ad53bf1e8f0993344645ce7 Mon Sep 17 00:00:00 2001 +From edbff1c504156c4ac399e840b6d4124b259151b4 Mon Sep 17 00:00:00 2001 From: Kyle Wood Date: Thu, 1 Mar 2018 19:38:14 -0600 Subject: [PATCH] Load version history at server start diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 927cbeedcd..ae7a8c1046 100644 +index 927cbeedc..ae7a8c104 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -207,6 +207,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer diff --git a/Spigot-Server-Patches/0256-Configurable-sprint-interruption-on-attack.patch b/Spigot-Server-Patches/0257-Configurable-sprint-interruption-on-attack.patch similarity index 88% rename from Spigot-Server-Patches/0256-Configurable-sprint-interruption-on-attack.patch rename to Spigot-Server-Patches/0257-Configurable-sprint-interruption-on-attack.patch index 3b4e09befa..cd01cbf97e 100644 --- a/Spigot-Server-Patches/0256-Configurable-sprint-interruption-on-attack.patch +++ b/Spigot-Server-Patches/0257-Configurable-sprint-interruption-on-attack.patch @@ -1,4 +1,4 @@ -From 272351def6380d58c578121249084b58c33fb005 Mon Sep 17 00:00:00 2001 +From c825dfa73f7484821534a66ee58be1ed28c5a33b Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 14 Apr 2018 20:20:46 +0200 Subject: [PATCH] Configurable sprint interruption on attack @@ -6,20 +6,21 @@ Subject: [PATCH] Configurable sprint interruption on attack If the sprint interruption is disabled players continue sprinting when they attack entities. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 4ca31c8eb..b07ff9587 100644 +index 79df2c171..b07ff9587 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -398,4 +398,8 @@ public class PaperWorldConfig { +@@ -397,4 +397,9 @@ public class PaperWorldConfig { + private void squidMaxSpawnHeight() { squidMaxSpawnHeight = getDouble("squid-spawn-height.maximum", 0.0D); } - ++ + public boolean disableSprintInterruptionOnAttack; + private void disableSprintInterruptionOnAttack() { + disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false); + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 65f4ea6cc..a766a1467 100644 +index de1b6ac86..4aba5716c 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1073,7 +1073,11 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch similarity index 94% rename from Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch rename to Spigot-Server-Patches/0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index 99f743eada..c2eb210e2a 100644 --- a/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -1,4 +1,4 @@ -From 6728452343b99a6782ba86e8f06c8efc541ec1ce Mon Sep 17 00:00:00 2001 +From ec23704c6f67afe3004f9fe597196b976071492d Mon Sep 17 00:00:00 2001 From: 0x22 <0x22@futureclient.net> Date: Thu, 26 Apr 2018 04:41:11 -0400 Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/Spigot-Server-Patches/0258-EndermanEscapeEvent.patch b/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch similarity index 98% rename from Spigot-Server-Patches/0258-EndermanEscapeEvent.patch rename to Spigot-Server-Patches/0259-EndermanEscapeEvent.patch index 2170459097..82714f879d 100644 --- a/Spigot-Server-Patches/0258-EndermanEscapeEvent.patch +++ b/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch @@ -1,4 +1,4 @@ -From eff134b277d169c072ec4e9e4a625b4eed570ad8 Mon Sep 17 00:00:00 2001 +From b5b9280ab8819c53ce5fdcaf92e9967a002bc18a Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:15:55 -0400 Subject: [PATCH] EndermanEscapeEvent diff --git a/Spigot-Server-Patches/0259-Enderman.teleportRandomly.patch b/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch similarity index 96% rename from Spigot-Server-Patches/0259-Enderman.teleportRandomly.patch rename to Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch index 02dca261fd..437a1d66b1 100644 --- a/Spigot-Server-Patches/0259-Enderman.teleportRandomly.patch +++ b/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch @@ -1,4 +1,4 @@ -From 4aa456490016a276e95bc4671452be27080de984 Mon Sep 17 00:00:00 2001 +From 880a89e66ceb7046eff5ee0e63c34e8c58789991 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:29:44 -0400 Subject: [PATCH] Enderman.teleportRandomly() diff --git a/Spigot-Server-Patches/0260-Block-Enderpearl-Travel-Exploit.patch b/Spigot-Server-Patches/0261-Block-Enderpearl-Travel-Exploit.patch similarity index 97% rename from Spigot-Server-Patches/0260-Block-Enderpearl-Travel-Exploit.patch rename to Spigot-Server-Patches/0261-Block-Enderpearl-Travel-Exploit.patch index 6213a84d88..778d66e5a1 100644 --- a/Spigot-Server-Patches/0260-Block-Enderpearl-Travel-Exploit.patch +++ b/Spigot-Server-Patches/0261-Block-Enderpearl-Travel-Exploit.patch @@ -1,4 +1,4 @@ -From 1a3f838cf2b440c14f09906a39b4ce9d3296c3b0 Mon Sep 17 00:00:00 2001 +From 6e8f677a4eafa9506dd5330ae0007c16e706226b Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 17:15:26 -0400 Subject: [PATCH] Block Enderpearl Travel Exploit diff --git a/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0262-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 97% rename from Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch rename to Spigot-Server-Patches/0262-Expand-World.spawnParticle-API-and-add-Builder.patch index 09660ae013..1d3ef90510 100644 --- a/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0262-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From c2a083674e1af22455c5b81ea3d35a854280b245 Mon Sep 17 00:00:00 2001 +From 46f6693f3d0851bfe551d2ef6d25ccb0a2e5538c 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 @@ -9,7 +9,7 @@ the standard API is to send the packet to everyone in the world, which is ineffe This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c5da2cde3..4ac2d39c5 100644 +index 23414c776..9e3804579 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1205,14 +1205,20 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0262-EndermanAttackPlayerEvent.patch b/Spigot-Server-Patches/0263-EndermanAttackPlayerEvent.patch similarity index 95% rename from Spigot-Server-Patches/0262-EndermanAttackPlayerEvent.patch rename to Spigot-Server-Patches/0263-EndermanAttackPlayerEvent.patch index ef4ff0ca64..c24935be37 100644 --- a/Spigot-Server-Patches/0262-EndermanAttackPlayerEvent.patch +++ b/Spigot-Server-Patches/0263-EndermanAttackPlayerEvent.patch @@ -1,4 +1,4 @@ -From c021ee56772971a27376c93715633f054136944d Mon Sep 17 00:00:00 2001 +From a8c38caffb5b627db4b48c26b6091cae36ae6140 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 May 2018 20:18:54 -0400 Subject: [PATCH] EndermanAttackPlayerEvent diff --git a/Spigot-Server-Patches/0263-WitchConsumePotionEvent.patch b/Spigot-Server-Patches/0264-WitchConsumePotionEvent.patch similarity index 93% rename from Spigot-Server-Patches/0263-WitchConsumePotionEvent.patch rename to Spigot-Server-Patches/0264-WitchConsumePotionEvent.patch index 7e191df73b..8530bede14 100644 --- a/Spigot-Server-Patches/0263-WitchConsumePotionEvent.patch +++ b/Spigot-Server-Patches/0264-WitchConsumePotionEvent.patch @@ -1,4 +1,4 @@ -From b8489746b3b8239af444718a14db63df9a013f9e Mon Sep 17 00:00:00 2001 +From 0cbe97f322932b592af43ff5b7382b9a102e6f41 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 16 May 2018 20:35:16 -0400 Subject: [PATCH] WitchConsumePotionEvent @@ -6,7 +6,7 @@ Subject: [PATCH] WitchConsumePotionEvent Fires when a witch consumes the potion in their hand diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index 71d8b6f8f..cf0669589 100644 +index 524d84c5b..c77328e76 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -67,7 +67,11 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { diff --git a/Spigot-Server-Patches/0264-WitchThrowPotionEvent.patch b/Spigot-Server-Patches/0265-WitchThrowPotionEvent.patch similarity index 94% rename from Spigot-Server-Patches/0264-WitchThrowPotionEvent.patch rename to Spigot-Server-Patches/0265-WitchThrowPotionEvent.patch index 9ddd0df2cd..c6ff6f0fc7 100644 --- a/Spigot-Server-Patches/0264-WitchThrowPotionEvent.patch +++ b/Spigot-Server-Patches/0265-WitchThrowPotionEvent.patch @@ -1,4 +1,4 @@ -From 29d89398140ce66b1a3209076b0c1928e6998cef Mon Sep 17 00:00:00 2001 +From 9cb40d40ad0b4f9ca8d6ec60318d3a5479b47887 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 16 May 2018 20:44:58 -0400 Subject: [PATCH] WitchThrowPotionEvent @@ -6,7 +6,7 @@ Subject: [PATCH] WitchThrowPotionEvent Fired when a witch throws a potion at a player diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index cf0669589..59f3f4404 100644 +index c77328e76..2d8e307e7 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -154,7 +154,15 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { diff --git a/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch similarity index 95% rename from Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch rename to Spigot-Server-Patches/0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch index fb10bea3a9..afaf8e7971 100644 --- a/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From dc479ddb30269b2192d02a677dfee75596be4123 Mon Sep 17 00:00:00 2001 +From 73f57a0e2462538caca787a27b268815f6e8d629 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 diff --git a/Spigot-Server-Patches/0266-Don-t-load-chunks-for-villager-door-checks.patch b/Spigot-Server-Patches/0267-Don-t-load-chunks-for-villager-door-checks.patch similarity index 93% rename from Spigot-Server-Patches/0266-Don-t-load-chunks-for-villager-door-checks.patch rename to Spigot-Server-Patches/0267-Don-t-load-chunks-for-villager-door-checks.patch index 427bec202d..35ba71ef2d 100644 --- a/Spigot-Server-Patches/0266-Don-t-load-chunks-for-villager-door-checks.patch +++ b/Spigot-Server-Patches/0267-Don-t-load-chunks-for-villager-door-checks.patch @@ -1,4 +1,4 @@ -From c84eb9a263bf5bf86b6ed453989bce78ef18670f Mon Sep 17 00:00:00 2001 +From c6bbd29322e952519d7f2c351d868ee6cb60cf76 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 00:32:22 -0400 Subject: [PATCH] Don't load chunks for villager door checks diff --git a/Spigot-Server-Patches/0267-WitchReadyPotionEvent.patch b/Spigot-Server-Patches/0268-WitchReadyPotionEvent.patch similarity index 93% rename from Spigot-Server-Patches/0267-WitchReadyPotionEvent.patch rename to Spigot-Server-Patches/0268-WitchReadyPotionEvent.patch index 053fc0e3e0..305f3ab2fe 100644 --- a/Spigot-Server-Patches/0267-WitchReadyPotionEvent.patch +++ b/Spigot-Server-Patches/0268-WitchReadyPotionEvent.patch @@ -1,11 +1,11 @@ -From 6a0a12787818097574820822ec616173d555934d Mon Sep 17 00:00:00 2001 +From 8b9681193930f2c02174ea5fb7e6b1aca5ea07ad Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 22:47:26 -0400 Subject: [PATCH] WitchReadyPotionEvent diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index 59f3f4404..45b6e2b7b 100644 +index 2d8e307e7..b6f4ec842 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -100,7 +100,11 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { diff --git a/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0269-ItemStack-getMaxItemUseDuration.patch similarity index 96% rename from Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch rename to Spigot-Server-Patches/0269-ItemStack-getMaxItemUseDuration.patch index 9dd3a1a678..1e17eefe4e 100644 --- a/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-Server-Patches/0269-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From 2447f92f25673681de873f0f7c2c828e66749b07 Mon Sep 17 00:00:00 2001 +From b3a02b96725d11d0db406f34c2ff4dc2dec7aee6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 23:00:29 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration diff --git a/Spigot-Server-Patches/0269-Implement-EntityTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0270-Implement-EntityTeleportEndGatewayEvent.patch similarity index 96% rename from Spigot-Server-Patches/0269-Implement-EntityTeleportEndGatewayEvent.patch rename to Spigot-Server-Patches/0270-Implement-EntityTeleportEndGatewayEvent.patch index f69b679ecb..ec8ffedb18 100644 --- a/Spigot-Server-Patches/0269-Implement-EntityTeleportEndGatewayEvent.patch +++ b/Spigot-Server-Patches/0270-Implement-EntityTeleportEndGatewayEvent.patch @@ -1,4 +1,4 @@ -From 94174eb07753ceb680c9deb800186df594922629 Mon Sep 17 00:00:00 2001 +From b62e515f95531fb8a44ed48d0773987b0622100f Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 9 Jun 2018 14:08:39 +0200 Subject: [PATCH] Implement EntityTeleportEndGatewayEvent diff --git a/Spigot-Server-Patches/0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch similarity index 95% rename from Spigot-Server-Patches/0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch rename to Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch index ac233bfe7d..313cbaba6c 100644 --- a/Spigot-Server-Patches/0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch +++ b/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch @@ -1,4 +1,4 @@ -From d8cc785ed1c99aaa99a903e700fd4af772fc8622 Mon Sep 17 00:00:00 2001 +From 6ed48dc3d24f2c96bc25877a4b9039fb81dfe608 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 01:18:49 -0400 Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event diff --git a/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch b/Spigot-Server-Patches/0272-Properly-remove-entities-on-dimension-teleport.patch similarity index 97% rename from Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch rename to Spigot-Server-Patches/0272-Properly-remove-entities-on-dimension-teleport.patch index b21fe4402e..29173d801c 100644 --- a/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch +++ b/Spigot-Server-Patches/0272-Properly-remove-entities-on-dimension-teleport.patch @@ -1,4 +1,4 @@ -From e8322305c667ce125bb50e00bd4e90c377f5348b Mon Sep 17 00:00:00 2001 +From 8b876416290e13c07102b3f283e01512f9725557 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:04:42 -0400 Subject: [PATCH] Properly remove entities on dimension teleport diff --git a/Spigot-Server-Patches/0272-Fix-CraftEntity-hashCode.patch b/Spigot-Server-Patches/0273-Fix-CraftEntity-hashCode.patch similarity index 96% rename from Spigot-Server-Patches/0272-Fix-CraftEntity-hashCode.patch rename to Spigot-Server-Patches/0273-Fix-CraftEntity-hashCode.patch index fa3f914f4e..987dc4fdcd 100644 --- a/Spigot-Server-Patches/0272-Fix-CraftEntity-hashCode.patch +++ b/Spigot-Server-Patches/0273-Fix-CraftEntity-hashCode.patch @@ -1,4 +1,4 @@ -From 401b1eabffdb3192c2f5d29b2ae00ed856bc6f19 Mon Sep 17 00:00:00 2001 +From c19ab61ae52201550ca2cd3bd0b8d1046d94b7e7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:20:15 -0400 Subject: [PATCH] Fix CraftEntity hashCode diff --git a/Spigot-Server-Patches/0273-Configurable-Alternative-LootPool-Luck-Formula.patch b/Spigot-Server-Patches/0274-Configurable-Alternative-LootPool-Luck-Formula.patch similarity index 98% rename from Spigot-Server-Patches/0273-Configurable-Alternative-LootPool-Luck-Formula.patch rename to Spigot-Server-Patches/0274-Configurable-Alternative-LootPool-Luck-Formula.patch index 8a0e58e8ca..6ea2b684fa 100644 --- a/Spigot-Server-Patches/0273-Configurable-Alternative-LootPool-Luck-Formula.patch +++ b/Spigot-Server-Patches/0274-Configurable-Alternative-LootPool-Luck-Formula.patch @@ -1,4 +1,4 @@ -From 0bd14e1218f146e26524a3c799209482a53e99e0 Mon Sep 17 00:00:00 2001 +From bb83f7424505fdfcbde00c4a03cf33d1f5084158 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 15 Jun 2018 00:30:32 -0400 Subject: [PATCH] Configurable Alternative LootPool Luck Formula diff --git a/Spigot-Server-Patches/0274-Print-Error-details-when-failing-to-save-player-data.patch b/Spigot-Server-Patches/0275-Print-Error-details-when-failing-to-save-player-data.patch similarity index 93% rename from Spigot-Server-Patches/0274-Print-Error-details-when-failing-to-save-player-data.patch rename to Spigot-Server-Patches/0275-Print-Error-details-when-failing-to-save-player-data.patch index f28db80a53..32d6ca5743 100644 --- a/Spigot-Server-Patches/0274-Print-Error-details-when-failing-to-save-player-data.patch +++ b/Spigot-Server-Patches/0275-Print-Error-details-when-failing-to-save-player-data.patch @@ -1,4 +1,4 @@ -From f20915ce41068548c77552bce50c39b26cf2a669 Mon Sep 17 00:00:00 2001 +From 0174cd4916ed9847dc297dae74940d3053c18011 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 15 Jun 2018 20:37:03 -0400 Subject: [PATCH] Print Error details when failing to save player data diff --git a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch similarity index 97% rename from Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch rename to Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch index 026c56ed2c..6225fdc916 100644 --- a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch @@ -1,4 +1,4 @@ -From 3bfec59ed4647d0c87081489077dfa8289754c27 Mon Sep 17 00:00:00 2001 +From 8d4c2d59264801c858ea9086dcda25380a409942 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:18:16 -0500 Subject: [PATCH] Make shield blocking delay configurable diff --git a/Spigot-Server-Patches/0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch b/Spigot-Server-Patches/0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch similarity index 96% rename from Spigot-Server-Patches/0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch rename to Spigot-Server-Patches/0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch index 7e8c08286c..1997547d6c 100644 --- a/Spigot-Server-Patches/0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch +++ b/Spigot-Server-Patches/0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch @@ -1,4 +1,4 @@ -From 4d81780db6fefcf2f2854874aaff39f758fd2c23 Mon Sep 17 00:00:00 2001 +From aadf97220e1f6f86636f331da7fe9f0eaad87fa5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 16 Jun 2018 16:23:38 -0400 Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors diff --git a/Spigot-Server-Patches/0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch similarity index 96% rename from Spigot-Server-Patches/0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch rename to Spigot-Server-Patches/0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index e5da2e7956..1575ff282c 100644 --- a/Spigot-Server-Patches/0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-Server-Patches/0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -1,4 +1,4 @@ -From ce9ae41f9c1a58dfb36d50e022a54f9a693baf9b Mon Sep 17 00:00:00 2001 +From ab2bedbe6a0f08e88ef7726bf5693669443a2bbf Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 15 Jun 2013 19:51:17 -0400 Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API @@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API Adds ability to get what arrow was shot, and control if it should be consumed. diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index c2bc8060ac..1ae967d1c0 100644 +index c2bc8060a..1ae967d1c 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -160,7 +160,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -19,7 +19,7 @@ index c2bc8060ac..1ae967d1c0 100644 event.getProjectile().remove(); return; diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java -index 4aa3b6249f..c8fc180458 100644 +index 4aa3b6249..c8fc18045 100644 --- a/src/main/java/net/minecraft/server/ItemBow.java +++ b/src/main/java/net/minecraft/server/ItemBow.java @@ -57,6 +57,7 @@ public class ItemBow extends Item { @@ -58,7 +58,7 @@ index 4aa3b6249f..c8fc180458 100644 if (itemstack1.isEmpty()) { entityhuman.inventory.f(itemstack1); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8df07536f8..28b156e439 100644 +index 8df07536f..28b156e43 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -244,7 +244,7 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0278-PlayerReadyArrowEvent.patch b/Spigot-Server-Patches/0279-PlayerReadyArrowEvent.patch similarity index 98% rename from Spigot-Server-Patches/0278-PlayerReadyArrowEvent.patch rename to Spigot-Server-Patches/0279-PlayerReadyArrowEvent.patch index c83835479a..6ff21eaf5f 100644 --- a/Spigot-Server-Patches/0278-PlayerReadyArrowEvent.patch +++ b/Spigot-Server-Patches/0279-PlayerReadyArrowEvent.patch @@ -1,4 +1,4 @@ -From afc01323c53932b9808ec3b3b386bf5bc371b41d Mon Sep 17 00:00:00 2001 +From 7f76c01206344b8ab4296cec33cd11c3be5763e6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 18 Jun 2018 01:12:53 -0400 Subject: [PATCH] PlayerReadyArrowEvent diff --git a/Spigot-Server-Patches/0279-Fire-EntityShootBowEvent-for-Illusioner.patch b/Spigot-Server-Patches/0280-Fire-EntityShootBowEvent-for-Illusioner.patch similarity index 93% rename from Spigot-Server-Patches/0279-Fire-EntityShootBowEvent-for-Illusioner.patch rename to Spigot-Server-Patches/0280-Fire-EntityShootBowEvent-for-Illusioner.patch index 5aa81da5d7..463186a4f5 100644 --- a/Spigot-Server-Patches/0279-Fire-EntityShootBowEvent-for-Illusioner.patch +++ b/Spigot-Server-Patches/0280-Fire-EntityShootBowEvent-for-Illusioner.patch @@ -1,11 +1,11 @@ -From 6bdfc29966cb4da65d45841001ec76f154cbf34c Mon Sep 17 00:00:00 2001 +From f0b6ccf18509b9884389988eae1ee25d85819505 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 18 Jun 2018 22:19:36 -0400 Subject: [PATCH] Fire EntityShootBowEvent for Illusioner diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java -index d03fa6318..16c3be42e 100644 +index d64664c4d..4832fdd02 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -123,8 +123,18 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan diff --git a/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0281-Implement-EntityKnockbackByEntityEvent.patch similarity index 96% rename from Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch rename to Spigot-Server-Patches/0281-Implement-EntityKnockbackByEntityEvent.patch index c77c11eab0..2415823103 100644 --- a/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch +++ b/Spigot-Server-Patches/0281-Implement-EntityKnockbackByEntityEvent.patch @@ -1,4 +1,4 @@ -From 5d0b0c840d82488619f181d2b576147a2b0f194b Mon Sep 17 00:00:00 2001 +From 121cd30c4f384f19b62d0ba25b4a7a31d0b9e6ef Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 18 Jun 2018 15:46:23 +0200 Subject: [PATCH] Implement EntityKnockbackByEntityEvent diff --git a/Spigot-Server-Patches/0281-Expand-Explosions-API.patch b/Spigot-Server-Patches/0282-Expand-Explosions-API.patch similarity index 95% rename from Spigot-Server-Patches/0281-Expand-Explosions-API.patch rename to Spigot-Server-Patches/0282-Expand-Explosions-API.patch index 657174bad2..1084e1ed7e 100644 --- a/Spigot-Server-Patches/0281-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0282-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 72cd1ffe96f7827b81fbbca604f1e55ffe645d8e Mon Sep 17 00:00:00 2001 +From 11db157dbfdbc9b58395db8ec6042f0b839d2b91 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API diff --git a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 96% rename from Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch rename to Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch index 34f7c1a4ab..0716db9a0d 100644 --- a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From d249802a700c76fd6306b36fc4aa5d808f5000da Mon Sep 17 00:00:00 2001 +From a8a715a958825c0714c667dd9fb939e330e09551 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API diff --git a/Spigot-Server-Patches/0283-RangedEntity-API.patch b/Spigot-Server-Patches/0284-RangedEntity-API.patch similarity index 99% rename from Spigot-Server-Patches/0283-RangedEntity-API.patch rename to Spigot-Server-Patches/0284-RangedEntity-API.patch index 4623d4a41f..0d22333137 100644 --- a/Spigot-Server-Patches/0283-RangedEntity-API.patch +++ b/Spigot-Server-Patches/0284-RangedEntity-API.patch @@ -1,4 +1,4 @@ -From a00c8433613cb510195c2a63ac60ce2f14c41a6b Mon Sep 17 00:00:00 2001 +From 420a90ce0cca816c8a0599edb797468e80b1d779 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 26 Jun 2018 22:00:49 -0400 Subject: [PATCH] RangedEntity API diff --git a/Spigot-Server-Patches/0284-Add-SentientNPC-Interface-to-Entities.patch b/Spigot-Server-Patches/0285-Add-SentientNPC-Interface-to-Entities.patch similarity index 99% rename from Spigot-Server-Patches/0284-Add-SentientNPC-Interface-to-Entities.patch rename to Spigot-Server-Patches/0285-Add-SentientNPC-Interface-to-Entities.patch index f4ec0220b7..cd84a9b277 100644 --- a/Spigot-Server-Patches/0284-Add-SentientNPC-Interface-to-Entities.patch +++ b/Spigot-Server-Patches/0285-Add-SentientNPC-Interface-to-Entities.patch @@ -1,4 +1,4 @@ -From ac0823ffa12e8a2db3761180150b1eb95ce4f15b Mon Sep 17 00:00:00 2001 +From fd187d957c8bf19ff2a0c3ae4e740f288f12ea83 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 1 Jul 2018 22:06:29 -0400 Subject: [PATCH] Add SentientNPC Interface to Entities diff --git a/Spigot-Server-Patches/0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-Server-Patches/0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch similarity index 92% rename from Spigot-Server-Patches/0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch rename to Spigot-Server-Patches/0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch index a9ecbf09ff..2a1b1e6bbc 100644 --- a/Spigot-Server-Patches/0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch +++ b/Spigot-Server-Patches/0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch @@ -1,4 +1,4 @@ -From 82b68d951b4bd0d4016c4ff31929c87fe6b7365c Mon Sep 17 00:00:00 2001 +From 70fe646bea2f7c4ca1178600fccadf5c353679b1 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 30 Jun 2018 05:45:39 +0200 Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the @@ -6,7 +6,7 @@ Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 28b156e439..8ac599b7a2 100644 +index 28b156e43..8ac599b7a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -823,7 +823,7 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0286-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0287-Add-config-to-disable-ender-dragon-legacy-check.patch similarity index 97% rename from Spigot-Server-Patches/0286-Add-config-to-disable-ender-dragon-legacy-check.patch rename to Spigot-Server-Patches/0287-Add-config-to-disable-ender-dragon-legacy-check.patch index e7b52d9c76..b71300d3b0 100644 --- a/Spigot-Server-Patches/0286-Add-config-to-disable-ender-dragon-legacy-check.patch +++ b/Spigot-Server-Patches/0287-Add-config-to-disable-ender-dragon-legacy-check.patch @@ -1,4 +1,4 @@ -From 0caefe772325cd5a57cffef2e691f1be25a4deee Mon Sep 17 00:00:00 2001 +From 055edcc6b62bace3a2471207d453296e73532325 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 22 Jun 2018 10:38:31 -0500 Subject: [PATCH] Add config to disable ender dragon legacy check diff --git a/Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0288-Implement-World.getEntity-UUID-API.patch similarity index 93% rename from Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch rename to Spigot-Server-Patches/0288-Implement-World.getEntity-UUID-API.patch index d599c424dc..7cec39c53a 100644 --- a/Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0288-Implement-World.getEntity-UUID-API.patch @@ -1,4 +1,4 @@ -From 4a50c881283ee28bd0e56a8072dfb5dfb0001b73 Mon Sep 17 00:00:00 2001 +From 8055597cb297475d5e271dcffc2495a85b2a2702 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/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch similarity index 96% rename from Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch rename to Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch index cbd24bee3e..1caff55cf7 100644 --- a/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From a4b348249773be2b2366d73f8e54d35aa39c2e21 Mon Sep 17 00:00:00 2001 +From 087cf44f244fd8c9afe5831e5714891a26585028 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index f31524eb02..2612d4207f 100644 +index ac90ca802..9e798038b 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -886,7 +886,7 @@ public class Chunk implements IChunkAccess { @@ -29,7 +29,7 @@ index f31524eb02..2612d4207f 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 4aba5716ce..d84bb0e40c 100644 +index 4aba5716c..d84bb0e40 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -153,7 +153,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -56,7 +56,7 @@ index 4aba5716ce..d84bb0e40c 100644 this.activeContainer = this.defaultContainer; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 5db6e07640..99c638857b 100644 +index 5db6e0764..99c638857 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -343,7 +343,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -110,7 +110,7 @@ index 5db6e07640..99c638857b 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 067f7b9908..97b315bca0 100644 +index 067f7b990..97b315bca 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2038,7 +2038,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -123,7 +123,7 @@ index 067f7b9908..97b315bca0 100644 this.player.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 879780c5b1..907f0232bf 100644 +index 879780c5b..907f0232b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -422,7 +422,7 @@ public abstract class PlayerList { @@ -136,7 +136,7 @@ index 879780c5b1..907f0232bf 100644 PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); cserver.getPluginManager().callEvent(playerQuitEvent); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 4b9ecb4a62..b602a5d1b9 100644 +index 4b9ecb4a6..b602a5d1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -402,8 +402,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -155,7 +155,7 @@ index 4b9ecb4a62..b602a5d1b9 100644 public boolean isBlocking() { return getHandle().isBlocking(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 60bc6d3316..b25980027b 100644 +index 60bc6d331..b25980027 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -687,7 +687,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -168,7 +168,7 @@ index 60bc6d3316..b25980027b 100644 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8ac599b7a2..cf398cd250 100644 +index 8ac599b7a..cf398cd25 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -913,8 +913,19 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch b/Spigot-Server-Patches/0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch similarity index 97% rename from Spigot-Server-Patches/0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch rename to Spigot-Server-Patches/0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch index 0c7e5df307..c69e102600 100644 --- a/Spigot-Server-Patches/0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch +++ b/Spigot-Server-Patches/0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch @@ -1,4 +1,4 @@ -From b774b0ac70ae00b43fd54c2c65648d60e096175c Mon Sep 17 00:00:00 2001 +From e447edc0e8d60a97f6c61bf5c498f2cb90d5d0e7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 03:39:51 -0400 Subject: [PATCH] Avoid Chunk Lookups for Entity/TileEntity Current Chunk @@ -10,7 +10,7 @@ to the object directly on the Entity/TileEntity object we can directly grab. Use that local value instead to reduce lookups in many hot places. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 2612d4207..b3cdc0b7d 100644 +index 9e798038b..03afa1236 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -721,6 +721,7 @@ public class Chunk implements IChunkAccess { diff --git a/Spigot-Server-Patches/0290-Configurable-Bed-Search-Radius.patch b/Spigot-Server-Patches/0291-Configurable-Bed-Search-Radius.patch similarity index 98% rename from Spigot-Server-Patches/0290-Configurable-Bed-Search-Radius.patch rename to Spigot-Server-Patches/0291-Configurable-Bed-Search-Radius.patch index d9d0bed451..90a9b0dc0b 100644 --- a/Spigot-Server-Patches/0290-Configurable-Bed-Search-Radius.patch +++ b/Spigot-Server-Patches/0291-Configurable-Bed-Search-Radius.patch @@ -1,4 +1,4 @@ -From a597b4290dec2a27e9682b460854fecab8a225a3 Mon Sep 17 00:00:00 2001 +From bf9f070bd5c6e334801791d85ebb2af51a53a1e6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 15:22:06 -0400 Subject: [PATCH] Configurable Bed Search Radius diff --git a/Spigot-Server-Patches/0291-Vex-getOwner-API.patch b/Spigot-Server-Patches/0292-Vex-getOwner-API.patch similarity index 96% rename from Spigot-Server-Patches/0291-Vex-getOwner-API.patch rename to Spigot-Server-Patches/0292-Vex-getOwner-API.patch index 96597b48e4..7cbe481578 100644 --- a/Spigot-Server-Patches/0291-Vex-getOwner-API.patch +++ b/Spigot-Server-Patches/0292-Vex-getOwner-API.patch @@ -1,4 +1,4 @@ -From d1b09605870a98731d5ea3f2cf15f20c60969243 Mon Sep 17 00:00:00 2001 +From 3ec7cf2dd409d5331a0b0715086104d1147d4f7e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 15:30:22 -0400 Subject: [PATCH] Vex#getOwner API diff --git a/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch similarity index 95% rename from Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch rename to Spigot-Server-Patches/0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch index dc61bce635..a9d806535a 100644 --- a/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -1,4 +1,4 @@ -From 82702cb25e3b6fb831782517c7c57c4733876eab Mon Sep 17 00:00:00 2001 +From 2f8f876bb0fd67dc5c808631f0f2e5b4d96bae3f Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 13 Jul 2018 14:54:43 +0200 Subject: [PATCH] Refresh player inventory when cancelling diff --git a/Spigot-Server-Patches/0293-Don-t-change-the-Entity-Random-seed-for-squids.patch b/Spigot-Server-Patches/0294-Don-t-change-the-Entity-Random-seed-for-squids.patch similarity index 92% rename from Spigot-Server-Patches/0293-Don-t-change-the-Entity-Random-seed-for-squids.patch rename to Spigot-Server-Patches/0294-Don-t-change-the-Entity-Random-seed-for-squids.patch index c9a9a9a545..a60f53816e 100644 --- a/Spigot-Server-Patches/0293-Don-t-change-the-Entity-Random-seed-for-squids.patch +++ b/Spigot-Server-Patches/0294-Don-t-change-the-Entity-Random-seed-for-squids.patch @@ -1,4 +1,4 @@ -From c7a2c715e0925f5129d329923893d2b3ec42c530 Mon Sep 17 00:00:00 2001 +From c6f4d4c98bc7fd4c6a536160e1c3150f4117b387 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:05:00 -0400 Subject: [PATCH] Don't change the Entity Random seed for squids diff --git a/Spigot-Server-Patches/0294-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0295-Re-add-vanilla-entity-warnings-for-duplicates.patch similarity index 94% rename from Spigot-Server-Patches/0294-Re-add-vanilla-entity-warnings-for-duplicates.patch rename to Spigot-Server-Patches/0295-Re-add-vanilla-entity-warnings-for-duplicates.patch index c8ee179e69..1d78d85f2f 100644 --- a/Spigot-Server-Patches/0294-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0295-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -1,4 +1,4 @@ -From 9f56f07c54c891e59a6eb024f9f5df8426c00a85 Mon Sep 17 00:00:00 2001 +From 2546c359772a7d9a0a6b347c8e07a6562fefcc37 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:08:05 -0400 Subject: [PATCH] Re-add vanilla entity warnings for duplicates @@ -8,7 +8,7 @@ These are a critical sign that somethin went wrong, and you've lost some data... We should kind of know about these things you know. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d6d3ffa6f..2c5004e61 100644 +index 44d867663..fcb5f68f8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -979,7 +979,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch b/Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch similarity index 95% rename from Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch rename to Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch index cf4b522838..729d4fc41c 100644 --- a/Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch +++ b/Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch @@ -1,4 +1,4 @@ -From 0c344c05aeeb72e97f326c21aed89d3fa3ce316d Mon Sep 17 00:00:00 2001 +From 525217b8e83b87a99cd4e9733f5729c0d4cb9ac3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:23:00 -0400 Subject: [PATCH] Don't process despawn if entity is in a chunk scheduled for diff --git a/Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch b/Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch similarity index 93% rename from Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch rename to Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch index df781f6b12..f9b1904a6d 100644 --- a/Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch +++ b/Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch @@ -1,4 +1,4 @@ -From b2e003731c21eab3980ab9b81ff1cf52b6411e81 Mon Sep 17 00:00:00 2001 +From 5528d5deb733bbad1d1aa7f9e9820750bbec2813 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 16 Jul 2018 12:42:20 +0200 Subject: [PATCH] Avoid item merge if stack size above max stack size diff --git a/Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch similarity index 93% rename from Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch rename to Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch index 0031bf96ff..3f8946ea49 100644 --- a/Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch +++ b/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch @@ -1,4 +1,4 @@ -From 3136e6f07a5a0626b4855b8be5470e0df089e9c5 Mon Sep 17 00:00:00 2001 +From 1b2b2a7ce9672bd95eb9708047a5761eb9b64b80 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 17 Jul 2018 16:42:17 +0200 Subject: [PATCH] Use asynchronous Log4j 2 loggers diff --git a/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0299-add-more-information-to-Entity.toString.patch similarity index 95% rename from Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch rename to Spigot-Server-Patches/0299-add-more-information-to-Entity.toString.patch index 64b850e4f3..480bbbec13 100644 --- a/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0299-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From 978703a87b11832ffaecca876f32c3610f67fd56 Mon Sep 17 00:00:00 2001 +From ba47092b597856758723b579a1eae506c01d7d54 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() diff --git a/Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch similarity index 98% rename from Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch rename to Spigot-Server-Patches/0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 68788ffc93..5ad950356e 100644 --- a/Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From 0318662b299542a2245da28c82d08f5a3455fa69 Mon Sep 17 00:00:00 2001 +From c7266c6cc9e99625f22a54a8cbbca62a10d7acf0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues diff --git a/Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch b/Spigot-Server-Patches/0301-Additional-Paper-Config-options.patch similarity index 95% rename from Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch rename to Spigot-Server-Patches/0301-Additional-Paper-Config-options.patch index 9f3e05e555..3408f8c8b1 100644 --- a/Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch +++ b/Spigot-Server-Patches/0301-Additional-Paper-Config-options.patch @@ -1,4 +1,4 @@ -From fec119593dd482c5e813c4b3e343f17cfa6185d9 Mon Sep 17 00:00:00 2001 +From 98c8705126dd30ffab51ce8a21ee8069941c7477 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:23:31 -0400 Subject: [PATCH] Additional Paper Config options diff --git a/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch similarity index 99% rename from Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch rename to Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch index b3077d9f72..26686fc3b3 100644 --- a/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 728fd7183c4e5a63f03aec4b53bfabb64d62f533 Mon Sep 17 00:00:00 2001 +From 5f6f08cc867183a3e8e3e5d52a3d31d030100e4c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option diff --git a/Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch b/Spigot-Server-Patches/0303-Add-async-chunk-load-API.patch similarity index 95% rename from Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch rename to Spigot-Server-Patches/0303-Add-async-chunk-load-API.patch index 41e1612101..05c8fbbc6f 100644 --- a/Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch +++ b/Spigot-Server-Patches/0303-Add-async-chunk-load-API.patch @@ -1,4 +1,4 @@ -From 589d50e9902c7adfcd9837768bbcddbfdd809ebd Mon Sep 17 00:00:00 2001 +From c956b264d891943cfe291d01eb7218d88eabe347 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:55:04 -0400 Subject: [PATCH] Add async chunk load API diff --git a/Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch b/Spigot-Server-Patches/0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch similarity index 96% rename from Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch rename to Spigot-Server-Patches/0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch index 709a2a08bd..c1e62eca7e 100644 --- a/Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch +++ b/Spigot-Server-Patches/0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch @@ -1,4 +1,4 @@ -From eb46618fcdc4a12a5c3b48cbe4c9b3b2d1813ac5 Mon Sep 17 00:00:00 2001 +From 48823e6b74986eb521e651c82065f4ffcea3673e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Apr 2018 11:21:48 -0400 Subject: [PATCH] Configurable Allowance of Permanent Chunk Loaders diff --git a/removed/server/0248-Improve-Structures-Checking.patch b/removed/server/0248-Improve-Structures-Checking.patch deleted file mode 100644 index 69966591d1..0000000000 --- a/removed/server/0248-Improve-Structures-Checking.patch +++ /dev/null @@ -1,199 +0,0 @@ -From 13d727f38a8615e821d1794176154b34780c0c19 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Sat, 11 Nov 2017 17:57:39 -0500 -Subject: [PATCH] Improve Structures Checking - -Improves performance by keying every chunk thats part of a structure to a hashmap -instead of only the first one. - -This allows us to avoid iterating the entire structures value set to see -if a block position is inside of a structure. - -This should have pretty decent performance improvement to any standard world -that has been around for a whilewith lots of structures due to ineffeciencies -in how MC stores structures (even unloaded chunks has structured data loaded) - -diff --git a/src/main/java/net/minecraft/server/StructureBoundingBox.java b/src/main/java/net/minecraft/server/StructureBoundingBox.java -index db419cd99..d9329bd42 100644 ---- a/src/main/java/net/minecraft/server/StructureBoundingBox.java -+++ b/src/main/java/net/minecraft/server/StructureBoundingBox.java -@@ -4,12 +4,14 @@ import com.google.common.base.MoreObjects; - - public class StructureBoundingBox { - -- public int a; -- public int b; -- public int c; -- public int d; -- public int e; -- public int f; -+ public int a; // Paper - If changes, verify low/high getters -+ public int b; // Paper - If changes, verify low/high getters -+ public int c; // Paper - If changes, verify low/high getters -+ public int d; // Paper - If changes, verify low/high getters -+ public int e; // Paper - If changes, verify low/high getters -+ public int f; // Paper - If changes, verify low/high getters -+ public BaseBlockPosition getLowPosition() { return new BaseBlockPosition(a, b, c); } // Paper -+ public BaseBlockPosition getHighPosition() { return new BaseBlockPosition(d, e, f); } // Paper - - public StructureBoundingBox() {} - -@@ -114,6 +116,7 @@ public class StructureBoundingBox { - this.f += k; - } - -+ public boolean contains(BaseBlockPosition baseblockposition) { return b(baseblockposition); } // Paper - OBFHELPER - public boolean b(BaseBlockPosition baseblockposition) { - return baseblockposition.getX() >= this.a && baseblockposition.getX() <= this.d && baseblockposition.getZ() >= this.c && baseblockposition.getZ() <= this.f && baseblockposition.getY() >= this.b && baseblockposition.getY() <= this.e; - } -diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java -index e8263baa4..f4dfba8f3 100644 ---- a/src/main/java/net/minecraft/server/StructureGenerator.java -+++ b/src/main/java/net/minecraft/server/StructureGenerator.java -@@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectMap; - import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; - import it.unimi.dsi.fastutil.objects.ObjectIterator; - import java.util.Iterator; -+import java.util.List; - import java.util.Random; - import javax.annotation.Nullable; - -@@ -14,6 +15,7 @@ public abstract class StructureGenerator extends WorldGenBase { - private final Timing timing = MinecraftTimings.getStructureTiming(this); // Paper - private PersistentStructure a; - protected Long2ObjectMap c = new Long2ObjectOpenHashMap(1024); -+ protected Long2ObjectMap allStructures = new Long2ObjectOpenHashMap(1024); // Paper - Holds ref to structures for every chunk its part of, where as the one above this only holds the vanilla oriented ones. - - public StructureGenerator() {} - -@@ -29,6 +31,7 @@ public abstract class StructureGenerator extends WorldGenBase { - if (this.a(i, j)) { - StructureStart structurestart = this.b(i, j); - -+ populateStructure(structurestart); // Paper - this.c.put(ChunkCoordIntPair.a(i, j), structurestart); - if (structurestart.a()) { - this.a(i, j, structurestart); -@@ -106,6 +109,19 @@ public abstract class StructureGenerator extends WorldGenBase { - - @Nullable - protected StructureStart c(BlockPosition blockposition) { -+ // Paper start - replace method -+ StructureStart structureStart = allStructures.get(ChunkCoordIntPair.asLong(blockposition)); -+ if (structureStart != null && structureStart.isSizeable() && structureStart.getBoundingBox().contains(blockposition)) { -+ List structurePieces = structureStart.getStructurePieces(); -+ for (StructurePiece piece : structurePieces) { -+ if (piece.getBoundingBox().contains(blockposition)) { -+ return structureStart; -+ } -+ } -+ } -+ -+ return null; -+ /* - ObjectIterator objectiterator = this.c.values().iterator(); - - while (objectiterator.hasNext()) { -@@ -125,11 +141,16 @@ public abstract class StructureGenerator extends WorldGenBase { - } - - return null; -+ */ - } - - public boolean a(World world, BlockPosition blockposition) { - if (this.g == null) return false; // Paper - this.a(world); -+ // Paper start - Replace method -+ StructureStart structureStart = this.allStructures.get(ChunkCoordIntPair.asLong(blockposition)); -+ return structureStart != null && structureStart.isSizeable() && structureStart.getBoundingBox().contains(blockposition); -+ /* // comment out rest - ObjectIterator objectiterator = this.c.values().iterator(); - - StructureStart structurestart; -@@ -142,7 +163,7 @@ public abstract class StructureGenerator extends WorldGenBase { - structurestart = (StructureStart) objectiterator.next(); - } while (!structurestart.a() || !structurestart.b().b((BaseBlockPosition) blockposition)); - -- return true; -+ return true;*/ // Paper end - } - - @Nullable -@@ -177,6 +198,7 @@ public abstract class StructureGenerator extends WorldGenBase { - StructureStart structurestart = WorldGenFactory.a(nbttagcompound1, world); - - if (structurestart != null) { -+ populateStructure(structurestart); // Paper - this.c.put(ChunkCoordIntPair.a(i, j), structurestart); - } - } -@@ -187,6 +209,27 @@ public abstract class StructureGenerator extends WorldGenBase { - - } - -+ // Paper start -+ private void populateStructure(StructureStart structurestart) { -+ for (StructurePiece piece : structurestart.getStructurePieces()) { -+ populateStructure(structurestart, piece.getBoundingBox()); -+ } -+ populateStructure(structurestart, structurestart.getBoundingBox()); -+ } -+ private void populateStructure(StructureStart structurestart, StructureBoundingBox bb) { -+ if (bb == null) { -+ return; -+ } -+ final BaseBlockPosition low = bb.getLowPosition(); -+ final BaseBlockPosition high = bb.getHighPosition(); -+ for (int x = low.getX() >> 4, maxX = high.getX() >> 4; x <= maxX; x++) { -+ for (int z = low.getZ() >> 4, maxZ = high.getZ() >> 4; z <= maxZ; z++) { -+ allStructures.put(ChunkCoordIntPair.asLong(x, z), structurestart); -+ } -+ } -+ } -+ // Paper end -+ - private void a(int i, int j, StructureStart structurestart) { - this.a.a(structurestart.a(i, j), i, j); - this.a.c(); -diff --git a/src/main/java/net/minecraft/server/StructurePiece.java b/src/main/java/net/minecraft/server/StructurePiece.java -index 93903bc67..fcc13f811 100644 ---- a/src/main/java/net/minecraft/server/StructurePiece.java -+++ b/src/main/java/net/minecraft/server/StructurePiece.java -@@ -53,6 +53,7 @@ public abstract class StructurePiece { - - public abstract boolean a(World world, Random random, StructureBoundingBox structureboundingbox); - -+ public StructureBoundingBox getBoundingBox() { return d(); } // Paper - OBFHELPER - public StructureBoundingBox d() { - return this.l; - } -diff --git a/src/main/java/net/minecraft/server/StructureStart.java b/src/main/java/net/minecraft/server/StructureStart.java -index b6abc74e0..f9bb953d0 100644 ---- a/src/main/java/net/minecraft/server/StructureStart.java -+++ b/src/main/java/net/minecraft/server/StructureStart.java -@@ -19,10 +19,12 @@ public abstract class StructureStart { - this.d = j; - } - -+ public StructureBoundingBox getBoundingBox() { return b(); } // Paper - OBFHELPER - public StructureBoundingBox b() { - return this.b; - } - -+ public List getStructurePieces() { return c(); } // Paper - OBFHELPER - public List c() { - return this.a; - } -@@ -137,7 +139,7 @@ public abstract class StructureStart { - - } - -- public boolean a() { -+ public boolean isSizeable() { return a(); } public boolean a() { // Paper - OBFHELPER - return true; - } - --- -2.18.0 - diff --git a/scripts/importmcdev.sh b/scripts/importmcdev.sh index 255d8b25f4..9217d06df0 100755 --- a/scripts/importmcdev.sh +++ b/scripts/importmcdev.sh @@ -69,8 +69,14 @@ for f in $files; do fi done -import NBTList -import NBTBase +# Temporarily add new NMS dev imports here before you run paper patch +# but after you have paper rb'd your changes, remove the line from this file before committing. +# we do not need any lines added to this file + +# import FileName + + + set -e cd "$workdir/Spigot/Spigot-Server/" From 6219932b892f2cc6c9ab3c4778825899a50ec880 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 00:45:49 -0400 Subject: [PATCH 20/70] Add mc util methods --- Spigot-Server-Patches/0008-MC-Utils.patch | 77 +++++++++++++++++-- .../0165-String-based-Action-Bar-API.patch | 16 ++-- .../0191-Basic-PlayerProfile-API.patch | 6 +- 3 files changed, 82 insertions(+), 17 deletions(-) diff --git a/Spigot-Server-Patches/0008-MC-Utils.patch b/Spigot-Server-Patches/0008-MC-Utils.patch index b27358e130..93dd00f914 100644 --- a/Spigot-Server-Patches/0008-MC-Utils.patch +++ b/Spigot-Server-Patches/0008-MC-Utils.patch @@ -1,4 +1,4 @@ -From 68857c2aac1bd54c01818909cbcd0ca010e2affa Mon Sep 17 00:00:00 2001 +From 34e03f427dce5395f45f2fbfa8400f4c40b73194 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils @@ -18,7 +18,7 @@ index c3e990bdf..e2a7b4be2 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 002da2a19..70a7edf57 100644 +index 121a137f3..35ec4981c 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -10,7 +10,7 @@ import org.apache.logging.log4j.Logger; @@ -181,10 +181,10 @@ index a540167d6..add618866 100644 } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java new file mode 100644 -index 000000000..a4b0901cf +index 000000000..edaa7713d --- /dev/null +++ b/src/main/java/net/minecraft/server/MCUtil.java -@@ -0,0 +1,201 @@ +@@ -0,0 +1,266 @@ +package net.minecraft.server; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; @@ -193,9 +193,13 @@ index 000000000..a4b0901cf +import org.spigotmc.AsyncCatcher; + +import javax.annotation.Nullable; ++import java.util.Queue; ++import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; ++import java.util.concurrent.TimeUnit; ++import java.util.concurrent.TimeoutException; +import java.util.function.Supplier; +import java.util.regex.Pattern; + @@ -205,6 +209,65 @@ index 000000000..a4b0901cf + private MCUtil() {} + + ++ public static boolean isMainThread() { ++ return MinecraftServer.getServer().isMainThread(); ++ } ++ ++ public static void processQueue() { ++ Runnable runnable; ++ Queue processQueue = getProcessQueue(); ++ while ((runnable = processQueue.poll()) != null) { ++ try { ++ runnable.run(); ++ } catch (Exception e) { ++ MinecraftServer.LOGGER.error("Error executing task", e); ++ } ++ } ++ } ++ public static T processQueueWhileWaiting(CompletableFuture future) { ++ try { ++ if (isMainThread()) { ++ while (!future.isDone()) { ++ try { ++ return future.get(1, TimeUnit.MILLISECONDS); ++ } catch (TimeoutException ignored) { ++ processQueue(); ++ } ++ } ++ } ++ return future.get(); ++ } catch (Exception e) { ++ throw new RuntimeException(e); ++ } ++ } ++ ++ public static void ensureMain(Runnable run) { ++ ensureMain(null, run); ++ } ++ /** ++ * Ensures the target code is running on the main thread ++ * @param reason ++ * @param run ++ * @return ++ */ ++ public static void ensureMain(String reason, Runnable run) { ++ if (AsyncCatcher.enabled && Thread.currentThread() != MinecraftServer.getServer().primaryThread) { ++ if (reason != null) { ++ new IllegalStateException("Asynchronous " + reason + "!").printStackTrace(); ++ } ++ getProcessQueue().add(run); ++ return; ++ } ++ run.run(); ++ } ++ ++ private static Queue getProcessQueue() { ++ return MinecraftServer.getServer().processQueue; ++ } ++ ++ public static T ensureMain(Supplier run) { ++ return ensureMain(null, run); ++ } + /** + * Ensures the target code is running on the main thread + * @param reason @@ -214,14 +277,16 @@ index 000000000..a4b0901cf + */ + public static T ensureMain(String reason, Supplier run) { + if (AsyncCatcher.enabled && Thread.currentThread() != MinecraftServer.getServer().primaryThread) { -+ new IllegalStateException( "Asynchronous " + reason + "! Blocking thread until it returns ").printStackTrace(); ++ if (reason != null) { ++ new IllegalStateException("Asynchronous " + reason + "! Blocking thread until it returns ").printStackTrace(); ++ } + Waitable wait = new Waitable() { + @Override + protected T evaluate() { + return run.get(); + } + }; -+ MinecraftServer.getServer().processQueue.add(wait); ++ getProcessQueue().add(wait); + try { + return wait.get(); + } catch (InterruptedException | ExecutionException e) { diff --git a/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch index 3a4684e68c..bcf8c91913 100644 --- a/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch +++ b/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch @@ -1,11 +1,11 @@ -From 470c28710bb1546fec26de9724cad439462497a7 Mon Sep 17 00:00:00 2001 +From fb8e8823dca02ed4ef2a87cd6c993de3d69a2b91 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 15:02:42 -0500 Subject: [PATCH] String based Action Bar API diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index a4b0901cf..02940d697 100644 +index edaa7713d..70db1cc14 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,10 +1,13 @@ @@ -20,9 +20,9 @@ index a4b0901cf..02940d697 100644 +import javax.annotation.Nonnull; import javax.annotation.Nullable; - import java.util.concurrent.ExecutionException; - import java.util.concurrent.Executor; -@@ -17,6 +20,24 @@ public final class MCUtil { + import java.util.Queue; + import java.util.concurrent.CompletableFuture; +@@ -21,6 +24,24 @@ public final class MCUtil { private MCUtil() {} @@ -45,9 +45,9 @@ index a4b0901cf..02940d697 100644 + return ExceptionUtils.getFullStackTrace(new Throwable(str)); + } - /** - * Ensures the target code is running on the main thread -@@ -198,4 +219,13 @@ public final class MCUtil { + public static boolean isMainThread() { + return MinecraftServer.getServer().isMainThread(); +@@ -263,4 +284,13 @@ public final class MCUtil { } return null; } diff --git a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch index 4febc1ec51..d75e9913d7 100644 --- a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From eb7e8603e48e1cfac564dfd91c528198ac7e7a8d Mon Sep 17 00:00:00 2001 +From 6a116ada95d75bf31b18a32818efe792c9b39d49 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -404,7 +404,7 @@ index 000000000..3aceb0ea8 + } +} diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 02940d697..4539b5601 100644 +index 70db1cc14..9ab3844fc 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,6 +1,9 @@ @@ -417,7 +417,7 @@ index 02940d697..4539b5601 100644 import org.apache.commons.lang.exception.ExceptionUtils; import org.bukkit.Location; import org.bukkit.craftbukkit.CraftWorld; -@@ -66,6 +69,10 @@ public final class MCUtil { +@@ -131,6 +134,10 @@ public final class MCUtil { return run.get(); } From e2c75e81f7580440f1b6c1a02a13a2f61b9c67ec Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 01:27:46 -0400 Subject: [PATCH 21/70] Update Paper to 1.13 proper - THIS IS STILL HIGHLY UNSTABLE DO NOT RUN ON PRODUCTION SERVERS!!! Use Backups!! --- Spigot-API-Patches/0001-POM-changes.patch | 6 +- .../0006-Entity-Origin-API.patch | 6 +- Spigot-Server-Patches/0001-POM-Changes.patch | 21 ++--- .../0002-Paper-config-files.patch | 18 ++-- Spigot-Server-Patches/0009-Timings-v2.patch | 94 +++++++++++-------- .../0013-Allow-nerfed-mobs-to-jump.patch | 15 ++- ...ient-crashes-server-lists-and-Mojang.patch | 12 +-- .../0018-Player-affects-spawning-API.patch | 16 ++-- ...021-Further-improve-server-tick-loop.patch | 16 ++-- ...event-tile-entity-and-entity-crashes.patch | 8 +- .../0028-Lighting-Queue.patch | 16 ++-- .../0031-Optimize-explosions.patch | 10 +- .../0033-Disable-explosion-knockback.patch | 8 +- .../0047-Optimize-Pathfinding.patch | 6 +- .../0049-Expose-server-CommandMap.patch | 6 +- .../0057-Add-exception-reporting-event.patch | 22 ++--- .../0062-Chunk-save-queue-improvements.patch | 27 ++---- .../0063-Chunk-Save-Reattempt.patch | 10 +- ...llow-Reloading-of-Custom-Permissions.patch | 6 +- .../0068-Fix-Furnace-cook-time-bug.patch | 6 +- ...72-Optimized-Light-Level-Comparisons.patch | 14 +-- ...4-Custom-replacement-for-eaten-items.patch | 11 ++- ...Location-getType-and-getBlockData-fo.patch | 14 +-- .../0087-EntityPathfindEvent.patch | 8 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 14 +-- ...am-reload-spawn-chunks-in-nether-end.patch | 6 +- ...Remove-unused-World-Tile-Entity-List.patch | 6 +- .../0103-Configurable-Player-Collision.patch | 12 +-- ...-possibility-for-getServer-singleton.patch | 8 +- ...-API-Replenishable-Lootables-Feature.patch | 14 +-- ...y-scoreboard-teams-to-scoreboard.dat.patch | 6 +- .../0117-Fix-Chunk-Unload-Queue-Issues.patch | 8 +- .../0120-Optimize-UserCache-Thread-Safe.patch | 6 +- .../0125-Add-server-name-parameter.patch | 6 +- ...unk-Unloads-based-on-Player-Movement.patch | 10 +- .../0128-Fix-Double-World-Add-issues.patch | 8 +- ...setting-for-proxy-online-mode-status.patch | 6 +- .../0139-Auto-Save-Improvements.patch | 22 ++--- .../0140-Chunk-registration-fixes.patch | 6 +- ...Chunks-from-Hoppers-and-other-things.patch | 6 +- ...vent-Auto-Save-if-Save-Queue-is-full.patch | 10 +- .../0148-Chunk-Save-Stats-Debug-Option.patch | 12 +-- ...3-Allow-Reloading-of-Command-Aliases.patch | 6 +- ...to-control-if-armour-stands-can-move.patch | 6 +- ...64-Properly-fix-item-duplication-bug.patch | 8 +- .../0166-Activation-Range-Improvements.patch | 18 ++-- .../0171-Enforce-Sync-Player-Saves.patch | 8 +- ...PI-for-Reason-Source-Triggering-play.patch | 30 +++--- ...more-aggressive-in-the-chunk-unload-.patch | 8 +- .../0180-Do-not-let-armorstands-drown.patch | 14 +-- ...le-async-calls-to-restart-the-server.patch | 16 ++-- ...n-option-to-prevent-player-names-fro.patch | 6 +- ...oleAppender-for-console-improvements.patch | 36 +++---- ...urable-option-to-disable-creeper-lin.patch | 6 +- .../0191-Basic-PlayerProfile-API.patch | 12 +-- ...player-logins-during-server-shutdown.patch | 6 +- .../0202-ProfileWhitelistVerifyEvent.patch | 6 +- .../0203-Fix-this-stupid-bullshit.patch | 6 +- ...ams-to-redirect-System.out-err-to-lo.patch | 8 +- ...n-prefixes-using-Log4J-configuration.patch | 8 +- ...-Include-Log4J2-SLF4J-implementation.patch | 6 +- .../0213-Add-PlayerJumpEvent.patch | 14 +-- ...dEffects-only-to-players-who-can-see.patch | 8 +- .../0224-AsyncTabCompleteEvent.patch | 8 +- ...nt-extended-PaperServerListPingEvent.patch | 12 +-- .../0250-getPlayerUniqueId-API.patch | 6 +- .../0259-EndermanEscapeEvent.patch | 12 +-- .../0260-Enderman.teleportRandomly.patch | 8 +- ...ed-flag-on-cancel-of-Explosion-Event.patch | 6 +- ...e-shield-blocking-delay-configurable.patch | 12 +-- ...ivingEntity-Hand-Raised-Item-Use-API.patch | 34 ++++--- .../0289-InventoryCloseEvent-Reason-API.patch | 16 ++-- ...298-Use-asynchronous-Log4j-2-loggers.patch | 6 +- work/BuildData | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 77 files changed, 454 insertions(+), 452 deletions(-) diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch index b3a5921d3b..0298688ced 100644 --- a/Spigot-API-Patches/0001-POM-changes.patch +++ b/Spigot-API-Patches/0001-POM-changes.patch @@ -1,11 +1,11 @@ -From 7439e7e3c94eb559415193440a9e1515335819c7 Mon Sep 17 00:00:00 2001 +From 012c183c1c668f4ab31e7b6e0e6ae61005127510 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 00:16:08 +0100 Subject: [PATCH] POM changes diff --git a/pom.xml b/pom.xml -index 3e6c8707..c2d0651e 100644 +index e946bccf..7374304f 100644 --- a/pom.xml +++ b/pom.xml @@ -3,29 +3,35 @@ @@ -21,7 +21,7 @@ index 3e6c8707..c2d0651e 100644 + + + paper-api - 1.13-pre7-R0.1-SNAPSHOT + 1.13-R0.1-SNAPSHOT jar - Spigot-API diff --git a/Spigot-API-Patches/0006-Entity-Origin-API.patch b/Spigot-API-Patches/0006-Entity-Origin-API.patch index afc96b456b..ac51c91301 100644 --- a/Spigot-API-Patches/0006-Entity-Origin-API.patch +++ b/Spigot-API-Patches/0006-Entity-Origin-API.patch @@ -1,4 +1,4 @@ -From 4e2445c63fba52523da6ce11e8cf8a241cf593f3 Mon Sep 17 00:00:00 2001 +From ac7a0eff76dedc21f1bc6fc1eb0d6cbb367f6f90 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Mon, 29 Feb 2016 17:50:31 -0600 Subject: [PATCH] Entity Origin API @@ -25,10 +25,10 @@ index 28b169d2..9b0f97f1 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java -index 9d34e691..b0b1defc 100644 +index 0cd830d9..170a9aee 100644 --- a/src/main/java/org/bukkit/entity/FallingBlock.java +++ b/src/main/java/org/bukkit/entity/FallingBlock.java -@@ -52,4 +52,15 @@ public interface FallingBlock extends Entity { +@@ -51,4 +51,15 @@ public interface FallingBlock extends Entity { * @param hurtEntities whether entities will be damaged by this block. */ void setHurtEntities(boolean hurtEntities); diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch index 5200e9fa86..559b1f089d 100644 --- a/Spigot-Server-Patches/0001-POM-Changes.patch +++ b/Spigot-Server-Patches/0001-POM-Changes.patch @@ -1,23 +1,22 @@ -From 05b70bbd7bf543c94832d486d58987b490016c8d Mon Sep 17 00:00:00 2001 +From 6842476267fe66eaac1bffd41ef47e5e82cf4964 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 20:40:33 -0600 Subject: [PATCH] POM Changes diff --git a/pom.xml b/pom.xml -index 958eb763a..17bc80776 100644 +index 5d398f7cb..09b4ddf19 100644 --- a/pom.xml +++ b/pom.xml -@@ -1,12 +1,12 @@ +@@ -1,12 +1,11 @@ 4.0.0 - org.spigotmc - spigot -+ com.destroystokyo.paper + paper jar - 1.13-pre7-R0.1-SNAPSHOT + 1.13-R0.1-SNAPSHOT - Spigot - http://www.spigotmc.org + Paper @@ -25,7 +24,7 @@ index 958eb763a..17bc80776 100644 UTF-8 -@@ -21,16 +21,16 @@ +@@ -21,16 +20,16 @@ @@ -46,7 +45,7 @@ index 958eb763a..17bc80776 100644 ${project.version} compile -@@ -101,34 +101,22 @@ +@@ -101,34 +100,22 @@ @@ -92,7 +91,7 @@ index 958eb763a..17bc80776 100644 -@@ -138,11 +126,12 @@ +@@ -138,11 +125,12 @@ maven-jar-plugin 2.4 @@ -106,7 +105,7 @@ index 958eb763a..17bc80776 100644 ${maven.build.timestamp} Bukkit ${api.version} -@@ -182,19 +171,22 @@ +@@ -182,19 +170,22 @@ shade @@ -137,7 +136,7 @@ index 958eb763a..17bc80776 100644 org.bukkit.craftbukkit org.bukkit.craftbukkit.v${minecraft_version} -@@ -220,18 +212,6 @@ +@@ -220,18 +211,6 @@ org.apache.maven.plugins maven-compiler-plugin 3.7.0 @@ -156,7 +155,7 @@ index 958eb763a..17bc80776 100644 org.apache.maven.plugins -@@ -250,6 +230,11 @@ +@@ -250,6 +229,11 @@ development diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index a6ce669c2b..f0a9d3aedb 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -1,4 +1,4 @@ -From a54aaf050878b967a9ee98b9264f67e476ff26ba Mon Sep 17 00:00:00 2001 +From b03f578652215491a2fda2190e0b3941e902b2dc Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:02:09 -0600 Subject: [PATCH] Paper config files @@ -499,7 +499,7 @@ index 000000000..621bf7051 + } +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 8563712d9..9155aa727 100644 +index 5ff1e9686..3706e44a3 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -192,6 +192,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -514,7 +514,7 @@ index 8563712d9..9155aa727 100644 DedicatedServer.LOGGER.info("Generating keypair"); this.a(MinecraftEncryption.b()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 015959b9f..f3f8b65be 100644 +index 5046ecb3b..3fa32228b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -134,9 +134,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { @@ -531,7 +531,7 @@ index 015959b9f..f3f8b65be 100644 public boolean impulse; public int portalCooldown; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index a0c701f35..557a3f97f 100644 +index ad3f89199..ca2a14d7a 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -555,7 +555,7 @@ index a0c701f35..557a3f97f 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c7f5cba2d..330ea4e72 100644 +index 13c404337..b2bb06c79 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -127,6 +127,8 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -576,7 +576,7 @@ index c7f5cba2d..330ea4e72 100644 this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ce5ebcc54..88766d30d 100644 +index 4dc0c8fcb..99d397872 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -743,6 +743,7 @@ public final class CraftServer implements Server { @@ -603,7 +603,7 @@ index ce5ebcc54..88766d30d 100644 overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*"); ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -1880,4 +1883,26 @@ public final class CraftServer implements Server { +@@ -1862,4 +1865,26 @@ public final class CraftServer implements Server { { return spigot; } @@ -631,10 +631,10 @@ index ce5ebcc54..88766d30d 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index c234b8749..5e49bca8a 100644 +index df07dc594..57da619d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -126,6 +126,14 @@ public class Main { +@@ -128,6 +128,14 @@ public class Main { .defaultsTo(new File("spigot.yml")) .describedAs("Yml file"); // Spigot End diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 7b36718622..5fc42925ca 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 3586286523db67ea246cf1e37a9693b8c6f902c6 Mon Sep 17 00:00:00 2001 +From 4a42cad650e2d9c8a48001ef506ce74e0437cf22 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -476,10 +476,10 @@ index 5ab2cf6ee..b5795b6d3 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index ffb91b27b..ff110c8e9 100644 +index 06f10e1e8..43feccef8 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java -@@ -29,8 +29,17 @@ public class Block implements IMaterial { +@@ -28,8 +28,16 @@ public class Block implements IMaterial { private IBlockData blockData; protected final boolean o; private final boolean p; @@ -495,8 +495,7 @@ index ffb91b27b..ff110c8e9 100644 + return timing; + } + // Paper end -+ - private static final ThreadLocal>> r = ThreadLocal.withInitial(() -> { + private static final ThreadLocal> r = ThreadLocal.withInitial(() -> { Object2ByteLinkedOpenHashMap object2bytelinkedopenhashmap = new Object2ByteLinkedOpenHashMap(200) { protected void rehash(int i) {} diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java @@ -531,10 +530,27 @@ index 5164e5c92..0c2386f5e 100644 return chunk1; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 0296d3ef0..badfe86b2 100644 +index 0296d3ef0..d23f4e80c 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -221,7 +221,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -122,14 +122,13 @@ public class ChunkProviderServer implements IChunkProvider { + if (chunk != null) { + return chunk; + } else { +- try { +- world.timings.syncChunkLoadTimer.startTiming(); // Spigot ++ try (co.aikar.timings.Timing timing = world.timings.chunkGeneration.startTiming()) { ++ ; // Spigot + chunk = (Chunk) this.generateChunk(i, j).get(); + return chunk; + } catch (ExecutionException | InterruptedException interruptedexception) { + throw this.a(i, j, (Throwable) interruptedexception); + } +- finally { world.timings.syncChunkLoadTimer.stopTiming(); } // Spigot + } + } + +@@ -221,7 +220,7 @@ public class ChunkProviderServer implements IChunkProvider { } public void saveChunk(IChunkAccess ichunkaccess, boolean unloaded) { // Spigot @@ -544,7 +560,7 @@ index 0296d3ef0..badfe86b2 100644 this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 90d857105..3a0e52d88 100644 +index 88301ee61..5001fd11d 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -554,7 +570,7 @@ index 90d857105..3a0e52d88 100644 import com.google.common.collect.Maps; import com.mojang.datafixers.DataFixTypes; import com.mojang.datafixers.DataFixer; -@@ -688,7 +689,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -690,7 +691,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { public void loadEntities(NBTTagCompound nbttagcompound, Chunk chunk) { NBTTagList nbttaglist = nbttagcompound.getList("Entities", 10); World world = chunk.getWorld(); @@ -563,7 +579,7 @@ index 90d857105..3a0e52d88 100644 for (int i = 0; i < nbttaglist.size(); ++i) { NBTTagCompound nbttagcompound1 = nbttaglist.getCompound(i); -@@ -697,8 +698,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -699,8 +700,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { chunk.f(true); } @@ -572,7 +588,7 @@ index 90d857105..3a0e52d88 100644 NBTTagList nbttaglist1 = nbttagcompound.getList("TileEntities", 10); for (int j = 0; j < nbttaglist1.size(); ++j) { -@@ -715,8 +714,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -717,8 +716,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { } } } @@ -581,7 +597,7 @@ index 90d857105..3a0e52d88 100644 if (nbttagcompound.hasKeyOfType("TileTicks", 9) && world.I() instanceof TickListServer) { ((TickListServer) world.I()).a(nbttagcompound.getList("TileTicks", 10)); -@@ -725,7 +722,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -727,7 +724,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { if (nbttagcompound.hasKeyOfType("LiquidTicks", 9) && world.H() instanceof TickListServer) { ((TickListServer) world.H()).a(nbttagcompound.getList("LiquidTicks", 10)); } @@ -591,7 +607,7 @@ index 90d857105..3a0e52d88 100644 } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 9155aa727..a3d58b5ce 100644 +index 3706e44a3..bf1fffcfe 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level; @@ -644,7 +660,7 @@ index 9155aa727..a3d58b5ce 100644 return waitable.get(); } catch (java.util.concurrent.ExecutionException e) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7a17a4ff9..2ed362791 100644 +index 36cc0c18d..4830c7b8b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -683,7 +699,7 @@ index 7a17a4ff9..2ed362791 100644 protected float ab() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b6dd6dc5d..f1840f4fa 100644 +index 514c95151..d6e9915c1 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -701,7 +717,7 @@ index b6dd6dc5d..f1840f4fa 100644 public void tick() { - SpigotTimings.timerEntityBaseTick.startTiming(); // Spigot super.tick(); - this.cU(); + this.cV(); this.o(); @@ -2058,9 +2057,7 @@ public abstract class EntityLiving extends Entity { } @@ -753,7 +769,7 @@ index b6dd6dc5d..f1840f4fa 100644 } - SpigotTimings.timerEntityAICollision.startTiming(); // Spigot - this.cM(); + this.cN(); - SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot this.world.methodProfiler.e(); } @@ -790,7 +806,7 @@ index ae31935c4..70c9b1f50 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d813c72e1..61ec088d2 100644 +index 71ee66a9b..1839bf7d2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,5 +1,6 @@ @@ -810,7 +826,7 @@ index d813c72e1..61ec088d2 100644 public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStatistics, ICommandListener, Runnable { -@@ -560,6 +561,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -599,6 +600,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } // CraftBukkit end MinecraftServer.LOGGER.info("Stopping server"); @@ -818,7 +834,7 @@ index d813c72e1..61ec088d2 100644 // CraftBukkit start if (this.server != null) { this.server.disablePlugins(); -@@ -766,7 +768,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -805,7 +807,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati public void u() {} protected void v() { @@ -827,7 +843,7 @@ index d813c72e1..61ec088d2 100644 this.slackActivityAccountant.tickStarted(); // Spigot long i = SystemUtils.c(); -@@ -793,7 +795,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -832,7 +834,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit @@ -835,7 +851,7 @@ index d813c72e1..61ec088d2 100644 this.methodProfiler.a("save"); this.s.savePlayers(); // Spigot Start -@@ -808,7 +809,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -847,7 +848,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // this.saveChunks(true); // Spigot End this.methodProfiler.e(); @@ -843,7 +859,7 @@ index d813c72e1..61ec088d2 100644 } this.methodProfiler.a("snooper"); -@@ -829,14 +829,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -868,14 +868,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.methodProfiler.e(); org.spigotmc.WatchdogThread.tick(); // Spigot this.slackActivityAccountant.tickEnded(l); // Spigot @@ -862,7 +878,7 @@ index d813c72e1..61ec088d2 100644 this.methodProfiler.a("jobs"); FutureTask futuretask; -@@ -844,26 +844,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -883,26 +883,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati while ((futuretask = (FutureTask) this.g.poll()) != null) { SystemUtils.a(futuretask, MinecraftServer.LOGGER); } @@ -871,7 +887,7 @@ index d813c72e1..61ec088d2 100644 this.methodProfiler.c("commandFunctions"); - SpigotTimings.commandFunctionsTimer.startTiming(); // Spigot + MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot - this.aD().X_(); + this.getFunctionData().Y_(); - SpigotTimings.commandFunctionsTimer.stopTiming(); // Spigot + MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot this.methodProfiler.c("levels"); @@ -897,7 +913,7 @@ index d813c72e1..61ec088d2 100644 // Send time updates to everyone, it will get the right time from the world the player is in. if (this.ticks % 20 == 0) { for (int i = 0; i < this.getPlayerList().players.size(); ++i) { -@@ -871,7 +872,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -910,7 +911,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time } } @@ -906,7 +922,7 @@ index d813c72e1..61ec088d2 100644 int i; -@@ -930,9 +931,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -969,9 +970,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.methodProfiler.e(); this.methodProfiler.a("tracker"); @@ -916,7 +932,7 @@ index d813c72e1..61ec088d2 100644 this.methodProfiler.e(); this.methodProfiler.e(); } -@@ -941,20 +940,19 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -980,20 +979,19 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } this.methodProfiler.c("connection"); @@ -936,7 +952,7 @@ index d813c72e1..61ec088d2 100644 - SpigotTimings.tickablesTimer.startTiming(); // Spigot + MinecraftTimings.tickablesTimer.startTiming(); // Spigot for (i = 0; i < this.l.size(); ++i) { - ((ITickable) this.l.get(i)).X_(); + ((ITickable) this.l.get(i)).Y_(); } - SpigotTimings.tickablesTimer.stopTiming(); // Spigot + MinecraftTimings.tickablesTimer.stopTiming(); // Spigot @@ -1038,7 +1054,7 @@ index ac6d8cc6e..d975c2ccf 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 6f21b01a8..359aa3997 100644 +index 556989f60..17b925f88 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -1100,7 +1116,7 @@ index 889b32287..69da194f5 100644 throw CancelledPacketHandleException.INSTANCE; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 0156175fb..1e3dd22e5 100644 +index e476d3433..9cef6b9af 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1110,7 +1126,7 @@ index 0156175fb..1e3dd22e5 100644 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -1186,10 +1187,11 @@ public abstract class PlayerList { +@@ -1179,10 +1180,11 @@ public abstract class PlayerList { } public void savePlayers() { @@ -1178,7 +1194,7 @@ index a07895935..ee5c2421b 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index b992360ac..5b7f6ca84 100644 +index cffbcb8f7..6b8a1c8c8 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -4,12 +4,13 @@ import javax.annotation.Nullable; @@ -1198,7 +1214,7 @@ index b992360ac..5b7f6ca84 100644 private final TileEntityTypes e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 330ea4e72..e6b916a5d 100644 +index b2bb06c79..562a85b72 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,6 @@ @@ -1303,7 +1319,7 @@ index 330ea4e72..e6b916a5d 100644 if (entity.isPassenger()) { entity.aH(); } else { -@@ -1402,8 +1408,6 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -1406,8 +1412,6 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose } } } @@ -1313,7 +1329,7 @@ index 330ea4e72..e6b916a5d 100644 public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index cecc9bc62..271d75c48 100644 +index 2c6f6de4c..f032ecab6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,6 @@ @@ -1429,10 +1445,10 @@ index cecc9bc62..271d75c48 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 60182cecf..33826231d 100644 +index 99d397872..bc1f858af 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1853,12 +1853,31 @@ public final class CraftServer implements Server { +@@ -1835,12 +1835,31 @@ public final class CraftServer implements Server { private final Spigot spigot = new Spigot() { @@ -1681,7 +1697,7 @@ index 413dd35f0..52a8c48fa 100644 public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0a2199b6a..fad258f11 100644 +index 75d56ee3b..47f650e42 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1665,6 +1665,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch index 7e11177ad4..4178704fe3 100644 --- a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch +++ b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch @@ -1,4 +1,4 @@ -From 505cb60061caae705dbb6fccad730e81f9634672 Mon Sep 17 00:00:00 2001 +From e2da442d9796c473f37e5fde6c8ff6b17cc2593b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 13:24:16 -0600 Subject: [PATCH] Allow nerfed mobs to jump @@ -31,7 +31,7 @@ index 4ed5192c6..489beed26 100644 this.b.o(this.a); this.a = false; diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 5de20721c..27b01d1ee 100644 +index d24ff109c..3744d01ec 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -32,6 +32,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -56,24 +56,21 @@ index 5de20721c..27b01d1ee 100644 } // Spigot End diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java -index 4d8876cae..2cb9d1b5a 100644 +index 0d9505138..38a0b2db1 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java -@@ -6,6 +6,7 @@ public class PathfinderGoalFloat extends PathfinderGoal { +@@ -6,14 +6,17 @@ public class PathfinderGoalFloat extends PathfinderGoal { public PathfinderGoalFloat(EntityInsentient entityinsentient) { this.a = entityinsentient; + if (entityinsentient.getWorld().paperConfig.nerfedMobsShouldJump) entityinsentient.goalFloat = this; // Paper this.a(4); - if (entityinsentient.getNavigation() instanceof Navigation) { - ((Navigation) entityinsentient.getNavigation()).c(true); -@@ -15,10 +16,12 @@ public class PathfinderGoalFloat extends PathfinderGoal { - + entityinsentient.getNavigation().d(true); } + public boolean validConditions() { return this.a(); } // Paper - OBFHELPER public boolean a() { - return this.a.isInWater() || this.a.ax(); + return this.a.isInWater() && this.a.bY() > 0.4D || this.a.ax(); } + public void update() { this.e(); } // Paper - OBFHELPER diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 013c03a550..242aeffc8c 100644 --- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -1,4 +1,4 @@ -From 7bcfdec2f367b97a5459b023661911495b573125 Mon Sep 17 00:00:00 2001 +From ececfb43f16b065d3755a1bfc4e889287c0e3c95 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 14:32:43 -0600 Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang @@ -25,10 +25,10 @@ index 220ca7bca..eb4b08be4 100644 } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 590eb507c..4889a82a2 100644 +index 1839bf7d2..5d5aa72ca 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1151,7 +1151,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1205,7 +1205,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } public String getServerModName() { @@ -38,7 +38,7 @@ index 590eb507c..4889a82a2 100644 public CrashReport b(CrashReport crashreport) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 88ea651ba..28f6cdf96 100644 +index bc1f858af..ce87736da 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -152,7 +152,7 @@ import org.bukkit.event.server.TabCompleteEvent; @@ -51,10 +51,10 @@ index 88ea651ba..28f6cdf96 100644 private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 5e49bca8a..d9059129d 100644 +index 57da619d8..38e696aa9 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -198,7 +198,7 @@ public class Main { +@@ -200,7 +200,7 @@ public class Main { deadline.add(Calendar.DAY_OF_YEAR, -3); if (buildDate.before(deadline.getTime())) { System.err.println("*** Error, this build is outdated ***"); diff --git a/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch index 5bd57f79b2..0072ac5de4 100644 --- a/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch +++ b/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch @@ -1,11 +1,11 @@ -From fd20af56dbf1982c04406fcd9a0360b54568d965 Mon Sep 17 00:00:00 2001 +From 655295872243600487c4870e833198a8746aecf1 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Tue, 1 Mar 2016 14:47:52 -0600 Subject: [PATCH] Player affects spawning API diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 40efd6c60..1aa32bf11 100644 +index fc64ba3c9..a47ef2ca5 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -72,6 +72,9 @@ public abstract class EntityHuman extends EntityLiving { @@ -19,7 +19,7 @@ index 40efd6c60..1aa32bf11 100644 // CraftBukkit start public boolean fauxSleeping; diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index c8c191667..d29364b01 100644 +index 27c97530f..3723fd977 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -614,7 +614,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -32,7 +32,7 @@ index c8c191667..d29364b01 100644 double d1 = entityhuman.locY - this.locY; double d2 = entityhuman.locZ - this.locZ; diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java -index 6cb4f889c..a1ebf5c68 100644 +index 75040a0f2..683191c4a 100644 --- a/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java @@ -96,7 +96,7 @@ public class EntitySilverfish extends EntityMonster { @@ -45,7 +45,7 @@ index 6cb4f889c..a1ebf5c68 100644 return false; } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 44fb75c6f..aec9cdae5 100644 +index e54dcaa99..b12e767db 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -37,7 +37,7 @@ public final class SpawnerCreature { @@ -58,7 +58,7 @@ index 44fb75c6f..aec9cdae5 100644 j = MathHelper.floor(entityhuman.locZ / 16.0D); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 05d363171..fd64b75ed 100644 +index 6ca7a2069..ae11c2e43 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -28,6 +28,7 @@ import org.bukkit.craftbukkit.block.data.CraftBlockData; @@ -69,7 +69,7 @@ index 05d363171..fd64b75ed 100644 import org.bukkit.event.block.BlockCanBuildEvent; import org.bukkit.event.block.BlockPhysicsEvent; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; -@@ -2407,7 +2408,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -2411,7 +2412,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose for (int i = 0; i < this.players.size(); ++i) { EntityHuman entityhuman = (EntityHuman) this.players.get(i); @@ -79,7 +79,7 @@ index 05d363171..fd64b75ed 100644 if (d3 < 0.0D || d4 < d3 * d3) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fad258f11..c67137a80 100644 +index 47f650e42..0109d8e97 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1585,7 +1585,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch index c400cc82a1..24641bfb82 100644 --- a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch +++ b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch @@ -1,4 +1,4 @@ -From b51264983f1041ab516cbc32f6973fe9615826bd Mon Sep 17 00:00:00 2001 +From 977746b6c79dbf14c44ccb350fef1a1ab88084b7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:09:29 -0600 Subject: [PATCH] Further improve server tick loop @@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cba7c18f2..093190108 100644 +index 5d5aa72ca..ae17796ce 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -141,7 +141,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -142,7 +142,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; public ConsoleReader reader; @@ -24,7 +24,7 @@ index cba7c18f2..093190108 100644 public final Thread primaryThread; public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -149,10 +149,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -150,10 +150,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati public CommandDispatcher vanillaCommandDispatcher; // CraftBukkit end // Spigot start @@ -35,7 +35,7 @@ index cba7c18f2..093190108 100644 public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); // Spigot end -@@ -637,12 +633,54 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -676,12 +672,54 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.isRunning = false; } @@ -95,7 +95,7 @@ index cba7c18f2..093190108 100644 public void run() { try { -@@ -654,24 +692,41 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -693,24 +731,41 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot start Arrays.fill( recentTps, 20 ); @@ -149,10 +149,10 @@ index cba7c18f2..093190108 100644 } lastTick = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a1a0a9b34..f39ddbf09 100644 +index ce87736da..fdcdbf508 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1850,6 +1850,17 @@ public final class CraftServer implements Server { +@@ -1832,6 +1832,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch index a0cbdf41ca..07a2a1c591 100644 --- a/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch +++ b/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch @@ -1,11 +1,11 @@ -From 3b55d88bdefa6b3479ff0e0ee21da64912d24f0b Mon Sep 17 00:00:00 2001 +From 258c176a476363f322e5c45f1e9a9e2cb9e9530e Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:52:34 -0600 Subject: [PATCH] Prevent tile entity and entity crashes diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 5b7f6ca84..8cab71c0e 100644 +index 6b8a1c8c8..e03965fc7 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -175,7 +175,12 @@ public abstract class TileEntity implements KeyedObject { @@ -23,7 +23,7 @@ index 5b7f6ca84..8cab71c0e 100644 } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 3f0b6ac26..c605d7e52 100644 +index e3c56a750..bfe09a205 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1166,10 +1166,12 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -44,7 +44,7 @@ index 3f0b6ac26..c605d7e52 100644 } @@ -1232,10 +1234,13 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose - ((ITickable) tileentity).X_(); + ((ITickable) tileentity).Y_(); this.methodProfiler.e(); } catch (Throwable throwable2) { - crashreport1 = CrashReport.a(throwable2, "Ticking block entity"); diff --git a/Spigot-Server-Patches/0028-Lighting-Queue.patch b/Spigot-Server-Patches/0028-Lighting-Queue.patch index 98de27d7d7..bd89b86ecf 100644 --- a/Spigot-Server-Patches/0028-Lighting-Queue.patch +++ b/Spigot-Server-Patches/0028-Lighting-Queue.patch @@ -1,4 +1,4 @@ -From fe837b054c13a5ef4ad79e3111af573ff28c2bca Mon Sep 17 00:00:00 2001 +From 6a23a851deddbd06d8dbde1734d8ebd1644fb666 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 00:52:31 -0600 Subject: [PATCH] Lighting Queue @@ -43,7 +43,7 @@ index a340866f3..1e3405cc1 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 4a4cc6c59..b0060c363 100644 +index 091a53371..d46578b3e 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -91,6 +91,7 @@ public class Chunk implements IChunkAccess { @@ -102,10 +102,10 @@ index 4a4cc6c59..b0060c363 100644 IMMEDIATE, QUEUED, CHECK; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index badfe86b2..51bc23daf 100644 +index d23f4e80c..48b484da1 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -323,6 +323,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -322,6 +322,7 @@ public class ChunkProviderServer implements IChunkProvider { return false; } save = event.isSaveChunk(); @@ -114,10 +114,10 @@ index badfe86b2..51bc23daf 100644 // Update neighbor counts for (int x = -2; x < 3; x++) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2e691b9f6..4473c3b51 100644 +index ae17796ce..1ac8d61cd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -825,7 +825,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -864,7 +864,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati protected void v() { co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper this.slackActivityAccountant.tickStarted(); // Spigot @@ -126,7 +126,7 @@ index 2e691b9f6..4473c3b51 100644 ++this.ticks; if (this.S) { -@@ -883,6 +883,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -922,6 +922,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.methodProfiler.e(); this.methodProfiler.e(); org.spigotmc.WatchdogThread.tick(); // Spigot @@ -233,7 +233,7 @@ index 000000000..345cd5824 + } +} diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c605d7e52..f57bd081b 100644 +index bfe09a205..c40ecbc0c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -325,7 +325,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0031-Optimize-explosions.patch b/Spigot-Server-Patches/0031-Optimize-explosions.patch index ec7be6e19e..82fe2c247b 100644 --- a/Spigot-Server-Patches/0031-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0031-Optimize-explosions.patch @@ -1,4 +1,4 @@ -From 46d962a94e8bfe83e54319f47e57da34b4e7f741 Mon Sep 17 00:00:00 2001 +From b8d7f6c6cd036f9e845a1f07708681a023b68a2e Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 11:59:48 -0600 Subject: [PATCH] Optimize explosions @@ -25,7 +25,7 @@ index dccccbf5b..3626aa717 100644 + } } diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 6b9f6c956..8fdcd52b2 100644 +index e558a3a57..18c55402d 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -136,7 +136,7 @@ public class Explosion { @@ -124,10 +124,10 @@ index 6b9f6c956..8fdcd52b2 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4473c3b51..1027b0588 100644 +index 1ac8d61cd..96d31f874 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -990,6 +990,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1029,6 +1029,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati worldserver.getTracker().updatePlayers(); this.methodProfiler.e(); this.methodProfiler.e(); @@ -136,7 +136,7 @@ index 4473c3b51..1027b0588 100644 // this.f[i][this.ticks % 100] = SystemUtils.c() - j; // CraftBukkit diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f57bd081b..04493a1f9 100644 +index c40ecbc0c..1ca3eef11 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -18,6 +18,7 @@ import org.apache.logging.log4j.Logger; diff --git a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch index 5ad06dff00..08b06b4be3 100644 --- a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch +++ b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch @@ -1,4 +1,4 @@ -From 2c3fc9d8180148edd78d5ce513eb6bd792cf7d0c Mon Sep 17 00:00:00 2001 +From f620d59ecbd4bff1544e6d010208a17cb8549df5 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:48:03 -0600 Subject: [PATCH] Disable explosion knockback @@ -19,7 +19,7 @@ index 3626aa717..be92c1af6 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f1840f4fa..17955d0f7 100644 +index d6e9915c1..574883462 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1004,6 +1004,7 @@ public abstract class EntityLiving extends Entity { @@ -46,9 +46,9 @@ index f1840f4fa..17955d0f7 100644 + if (this.getHealth() <= 0.0F) { if (!this.e(damagesource)) { - SoundEffect soundeffect = this.cr(); + SoundEffect soundeffect = this.cs(); diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 8fdcd52b2..75b21010b 100644 +index 18c55402d..7c676f9f3 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -152,7 +152,7 @@ public class Explosion { diff --git a/Spigot-Server-Patches/0047-Optimize-Pathfinding.patch b/Spigot-Server-Patches/0047-Optimize-Pathfinding.patch index dc3f59b879..ed5f4093cb 100644 --- a/Spigot-Server-Patches/0047-Optimize-Pathfinding.patch +++ b/Spigot-Server-Patches/0047-Optimize-Pathfinding.patch @@ -1,4 +1,4 @@ -From 77d4e20f2d1dcbac4798b664c809dbcf3819dbf2 Mon Sep 17 00:00:00 2001 +From a582f2795d2b29ef1c1d52de9dafde6db552ec36 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:02:07 -0600 Subject: [PATCH] Optimize Pathfinding @@ -7,7 +7,7 @@ Prevents pathfinding from spamming failures for things such as arrow attacks. diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 9337b9397..1964684ac 100644 +index 62cb81516..8111317e3 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java @@ -122,10 +122,26 @@ public abstract class NavigationAbstract { @@ -41,7 +41,7 @@ index 9337b9397..1964684ac 100644 @@ -258,6 +274,7 @@ public abstract class NavigationAbstract { } - public void r() { + public void q() { + this.pathfindFailures = 0; this.lastFailure = 0; // Paper - Pathfinding optimizations this.c = null; } diff --git a/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch b/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch index 72c0fd7576..7ebdadc0a7 100644 --- a/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch +++ b/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch @@ -1,14 +1,14 @@ -From 7ad52fafe34a337de31950cfcb5714b42936672c Mon Sep 17 00:00:00 2001 +From bd50b8b817431b942df9ac1ed7cb17e6f9854b63 Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 3 Mar 2016 02:15:57 -0600 Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d637199ca..703d38f0c 100644 +index 2d8820070..6d00be24b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1604,6 +1604,7 @@ public final class CraftServer implements Server { +@@ -1586,6 +1586,7 @@ public final class CraftServer implements Server { return helpMap; } diff --git a/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch index 152ceab6e7..2a7408d55d 100644 --- a/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 8dbd8eba1f8a7f3c7dc31d92225602ea6438fb91 Mon Sep 17 00:00:00 2001 +From 1bba90c8786ff7744430062680e3f9f2fb1e09be Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -50,7 +50,7 @@ index 000000000..93397188b +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 2d55abd7a..7ea4b9b5c 100644 +index 0c2540938..15ecac26c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -98,7 +98,7 @@ index 2d55abd7a..7ea4b9b5c 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 51bc23daf..bb96a7392 100644 +index 48b484da1..6917fdbe0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -17,6 +17,7 @@ import java.util.concurrent.ExecutionException; @@ -109,7 +109,7 @@ index 51bc23daf..bb96a7392 100644 import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -215,7 +216,11 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -214,7 +215,11 @@ public class ChunkProviderServer implements IChunkProvider { try { // this.chunkLoader.a(this.world, chunk); // Spigot } catch (Exception exception) { @@ -122,7 +122,7 @@ index 51bc23daf..bb96a7392 100644 } } -@@ -225,9 +230,14 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -224,9 +229,14 @@ public class ChunkProviderServer implements IChunkProvider { ichunkaccess.setLastSaved(this.world.getTime()); this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { @@ -167,7 +167,7 @@ index 33e5aaf2c..f13534917 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PersistentCollection.java b/src/main/java/net/minecraft/server/PersistentCollection.java -index 0ffca4301..86d8fd0d9 100644 +index 6b5600ba5..72f386720 100644 --- a/src/main/java/net/minecraft/server/PersistentCollection.java +++ b/src/main/java/net/minecraft/server/PersistentCollection.java @@ -1,5 +1,6 @@ @@ -194,7 +194,7 @@ index 0ffca4301..86d8fd0d9 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 94364baae..c80d724f0 100644 +index 31899549d..cc7cad8be 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -212,7 +212,7 @@ index 94364baae..c80d724f0 100644 } } -@@ -209,6 +211,7 @@ public class RegionFile { +@@ -237,6 +239,7 @@ public class RegionFile { this.b(i, j, (int) (SystemUtils.d() / 1000L)); } catch (IOException ioexception) { ioexception.printStackTrace(); @@ -221,7 +221,7 @@ index 94364baae..c80d724f0 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index d394645a5..384628ccc 100644 +index 0e91aeec3..ff473a263 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -1,5 +1,6 @@ @@ -240,7 +240,7 @@ index d394645a5..384628ccc 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index aec9cdae5..6d842df62 100644 +index b12e767db..342a15db5 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -10,6 +10,7 @@ import org.apache.logging.log4j.LogManager; @@ -288,7 +288,7 @@ index 4ff243dab..67b2e41c7 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 26b2a1fd4..d51ed0f80 100644 +index 30cafca04..fa75ed496 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,6 +1,8 @@ diff --git a/Spigot-Server-Patches/0062-Chunk-save-queue-improvements.patch b/Spigot-Server-Patches/0062-Chunk-save-queue-improvements.patch index 7521d504a1..de30af69f8 100644 --- a/Spigot-Server-Patches/0062-Chunk-save-queue-improvements.patch +++ b/Spigot-Server-Patches/0062-Chunk-save-queue-improvements.patch @@ -1,4 +1,4 @@ -From ac2e096b98ab349ce20eb01bb7543fa3aaf4f4ee Mon Sep 17 00:00:00 2001 +From 9cb479ab95970eba850de078eaa105429a3024a7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Mar 2016 18:18:37 -0600 Subject: [PATCH] Chunk save queue improvements @@ -41,7 +41,7 @@ index 36689db74..3898ad8fa 100644 + } } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 3a0e52d88..8701777cc 100644 +index 5001fd11d..b247d5f07 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -25,6 +25,7 @@ import java.util.function.Consumer; @@ -75,22 +75,7 @@ index 3a0e52d88..8701777cc 100644 private final File c; private final DataFixer d; private PersistentStructureLegacy e; -@@ -285,7 +299,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { - } - }; - } else { -- if (this.b.containsKey(chunkcoordintpair) && this.a(this.b.get(chunkcoordintpair).get()) == ChunkStatus.Type.LEVELCHUNK || this.a(this.b(world, chunkcoordintpair.x, chunkcoordintpair.z)) == ChunkStatus.Type.LEVELCHUNK) { -+ // Paper start -+ Supplier existingSave; -+ synchronized (this) { -+ existingSave = this.b.get(chunkcoordintpair); -+ } -+ if (existingSave != null && this.a(existingSave.get()) == ChunkStatus.Type.LEVELCHUNK || this.a(this.b(world, chunkcoordintpair.x, chunkcoordintpair.z)) == ChunkStatus.Type.LEVELCHUNK) { // Paper - extract existingSave to synchronized lookup -+ // Paper end - return; - } - -@@ -296,8 +316,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -298,8 +312,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { } }; } @@ -101,7 +86,7 @@ index 3a0e52d88..8701777cc 100644 // Spigot end } catch (Exception exception) { ChunkRegionLoader.a.error("Failed to save chunk", exception); -@@ -306,18 +326,22 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -308,18 +322,22 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { } protected synchronized void a(ChunkCoordIntPair chunkcoordintpair, Supplier nbttagcompound) { // Spigot @@ -128,7 +113,7 @@ index 3a0e52d88..8701777cc 100644 if (logCompletion) { // CraftBukkit end ChunkRegionLoader.a.info("ThreadedAnvilChunkStorage ({}): All chunks are saved", this.c.getName()); -@@ -325,17 +349,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -327,17 +345,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { return false; } else { @@ -148,7 +133,7 @@ index 3a0e52d88..8701777cc 100644 if (nbttagcompound != null) { try { -@@ -347,7 +367,14 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -349,7 +363,14 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { flag = true; } finally { diff --git a/Spigot-Server-Patches/0063-Chunk-Save-Reattempt.patch b/Spigot-Server-Patches/0063-Chunk-Save-Reattempt.patch index bcd919ae19..b115bd7efd 100644 --- a/Spigot-Server-Patches/0063-Chunk-Save-Reattempt.patch +++ b/Spigot-Server-Patches/0063-Chunk-Save-Reattempt.patch @@ -1,4 +1,4 @@ -From 2fafede916dc83820145ee9a6663fa1f9725d8da Mon Sep 17 00:00:00 2001 +From cd1396b77d29f151316d181df8ce104bd61c5974 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Mar 2013 23:46:10 -0500 Subject: [PATCH] Chunk Save Reattempt @@ -6,10 +6,10 @@ Subject: [PATCH] Chunk Save Reattempt We commonly have "Stream Closed" errors on chunk saving, so this code should re-try to save the chunk in the event of failure and hopefully prevent rollbacks. diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 8701777cc..ad3bd3808 100644 +index b247d5f07..f007af2e1 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -358,11 +358,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -354,11 +354,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { NBTTagCompound nbttagcompound = SupplierUtils.getIfExists(chunk.compoundSupplier); // Spigot // Paper if (nbttagcompound != null) { @@ -28,10 +28,10 @@ index 8701777cc..ad3bd3808 100644 flag = true; diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index c80d724f0..3f9aa5923 100644 +index cc7cad8be..b8b514c87 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java -@@ -210,8 +210,7 @@ public class RegionFile { +@@ -238,8 +238,7 @@ public class RegionFile { this.b(i, j, (int) (SystemUtils.d() / 1000L)); } catch (IOException ioexception) { diff --git a/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch b/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch index 327c6df06f..7e0f39fb3d 100644 --- a/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch +++ b/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch @@ -1,4 +1,4 @@ -From 63781dcbca84f8aa63d89c21777f46521465843f Mon Sep 17 00:00:00 2001 +From 03aaffbcad2bfeb80e38be011d9da2f2934c57e8 Mon Sep 17 00:00:00 2001 From: William Date: Fri, 18 Mar 2016 03:30:17 -0400 Subject: [PATCH] Allow Reloading of Custom Permissions @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4db5aacc4..1c9637ff7 100644 +index ff966de55..3f51eb384 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1960,5 +1960,20 @@ public final class CraftServer implements Server { +@@ -1942,5 +1942,20 @@ public final class CraftServer implements Server { return false; } } diff --git a/Spigot-Server-Patches/0068-Fix-Furnace-cook-time-bug.patch b/Spigot-Server-Patches/0068-Fix-Furnace-cook-time-bug.patch index 2b39eb7d3d..6da7d4e90e 100644 --- a/Spigot-Server-Patches/0068-Fix-Furnace-cook-time-bug.patch +++ b/Spigot-Server-Patches/0068-Fix-Furnace-cook-time-bug.patch @@ -1,4 +1,4 @@ -From 2223947a61cc98c1e2b2c3e52c5e0bad7399dceb Mon Sep 17 00:00:00 2001 +From db448a33d090f16e94422a122727963472d771a1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 14:24:53 -0400 Subject: [PATCH] Fix Furnace cook time bug @@ -9,10 +9,10 @@ cook in the expected amount of time as the cook time was not decremented correct This patch ensures that furnaces cook to the correct wall time expectation. diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 8f9a59693..3a587a766 100644 +index b484fc721..bc158b877 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java -@@ -272,7 +272,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve +@@ -267,7 +267,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve if (this.isBurning() && this.canBurn(irecipe)) { this.cookTime += elapsedTicks; if (this.cookTime >= this.cookTimeTotal) { diff --git a/Spigot-Server-Patches/0072-Optimized-Light-Level-Comparisons.patch b/Spigot-Server-Patches/0072-Optimized-Light-Level-Comparisons.patch index 53cc71b7f5..e4bcd1cc5c 100644 --- a/Spigot-Server-Patches/0072-Optimized-Light-Level-Comparisons.patch +++ b/Spigot-Server-Patches/0072-Optimized-Light-Level-Comparisons.patch @@ -1,4 +1,4 @@ -From b13a9f38c46d3600d2b142d3b69bee8e8c6f5cd4 Mon Sep 17 00:00:00 2001 +From a773200d9ab31e884e149a3fd9a108d1e94e618b Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 21:22:56 -0400 Subject: [PATCH] Optimized Light Level Comparisons @@ -8,7 +8,7 @@ Use an optimized method to test if a block position meets a desired light level. This method benefits from returning as soon as the desired light level matches. diff --git a/src/main/java/net/minecraft/server/BlockCrops.java b/src/main/java/net/minecraft/server/BlockCrops.java -index e64b6dbda..8acfe9e66 100644 +index b392846aa..c64e6c197 100644 --- a/src/main/java/net/minecraft/server/BlockCrops.java +++ b/src/main/java/net/minecraft/server/BlockCrops.java @@ -44,7 +44,7 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement @@ -17,9 +17,9 @@ index e64b6dbda..8acfe9e66 100644 super.a(iblockdata, world, blockposition, random); - if (world.getLightLevel(blockposition.up(), 0) >= 9) { + if (world.isLightLevel(blockposition.up(), 9)) { // Paper - int i = this.j(iblockdata); + int i = this.k(iblockdata); - if (i < this.d()) { + if (i < this.e()) { diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java index 723e5c9b4..e24fb1736 100644 --- a/src/main/java/net/minecraft/server/BlockSapling.java @@ -34,7 +34,7 @@ index 723e5c9b4..e24fb1736 100644 world.captureTreeGeneration = true; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/BlockStem.java b/src/main/java/net/minecraft/server/BlockStem.java -index 3959e0700..c4aff522b 100644 +index 0192f9386..334c42d0d 100644 --- a/src/main/java/net/minecraft/server/BlockStem.java +++ b/src/main/java/net/minecraft/server/BlockStem.java @@ -27,7 +27,7 @@ public class BlockStem extends BlockPlant implements IBlockFragilePlantElement { @@ -47,7 +47,7 @@ index 3959e0700..c4aff522b 100644 if (random.nextInt((int) ((100.0F / (this == Blocks.PUMPKIN_STEM ? world.spigotConfig.pumpkinModifier : world.spigotConfig.melonModifier)) * (25.0F / f)) + 1) == 0) { // Spigot diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java -index bef146aa9..9c387365b 100644 +index 494ce0bc0..f06c34c6f 100644 --- a/src/main/java/net/minecraft/server/EntityMonster.java +++ b/src/main/java/net/minecraft/server/EntityMonster.java @@ -64,9 +64,18 @@ public abstract class EntityMonster extends EntityCreature implements IMonster { @@ -73,7 +73,7 @@ index bef146aa9..9c387365b 100644 } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 268e4d57b..24224efc6 100644 +index 9f8f667c1..90aa8641b 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -262,7 +262,7 @@ public class EntityZombie extends EntityMonster { diff --git a/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch index 401a5f22d1..c0cddfc8d6 100644 --- a/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch +++ b/Spigot-Server-Patches/0074-Custom-replacement-for-eaten-items.patch @@ -1,11 +1,11 @@ -From a9821eba8de7feae6fcaed3baccc7451992f2fc6 Mon Sep 17 00:00:00 2001 +From 7b31831037d962e312445ec6f9e32fa2506bc4f9 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 21 Jun 2015 15:07:20 -0400 Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 00cd44a72..bcbc77ad2 100644 +index dd48c6af0..acd8034e8 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2563,12 +2563,13 @@ public abstract class EntityLiving extends Entity { @@ -23,7 +23,7 @@ index 00cd44a72..bcbc77ad2 100644 world.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -2583,9 +2584,19 @@ public abstract class EntityLiving extends Entity { +@@ -2583,9 +2584,20 @@ public abstract class EntityLiving extends Entity { itemstack = this.activeItem.a(this.world, this); } @@ -33,13 +33,14 @@ index 00cd44a72..bcbc77ad2 100644 + itemstack = CraftItemStack.asNMSCopy(event.getReplacement()); + } + // Paper end - this.a(this.cT(), itemstack); + this.a(this.cU(), itemstack); // CraftBukkit end - this.cZ(); + this.da(); + // Paper start - if the replacement is anything but the default, update the client inventory + if (this instanceof EntityPlayer && !com.google.common.base.Objects.equal(defaultReplacement, itemstack)) { + ((EntityPlayer) this).getBukkitEntity().updateInventory(); + } ++ // Paper end } } diff --git a/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index 8c7364fb4b..9635d0a07c 100644 --- a/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From 4710b24774a3e974f01b1db6348dcc36a4d2ded7 Mon Sep 17 00:00:00 2001 +From 2ad7998f791d185616cd9fe917db69a70eed172a Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -31,7 +31,7 @@ index e2a7b4be2..58f8b4b72 100644 public BaseBlockPosition(int i, int j, int k) { this.a = i; diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 70a7edf57..fff08f09d 100644 +index 35ec4981c..ca73ac82f 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -339,6 +339,16 @@ public class BlockPosition extends BaseBlockPosition { @@ -52,7 +52,7 @@ index 70a7edf57..fff08f09d 100644 public MutableBlockPosition() { this(0, 0, 0); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index fb27dcac2..1c0580f79 100644 +index 0dc05b644..94d036865 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -430,12 +430,24 @@ public class Chunk implements IChunkAccess { @@ -96,7 +96,7 @@ index 7c6308dbe..880058a9e 100644 private NibbleArray skyLight; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d3785f73b..f8e4cd14c 100644 +index 11cf087e7..489c152ee 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -262,11 +262,11 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -172,7 +172,7 @@ index d3785f73b..f8e4cd14c 100644 return FluidTypes.a.i(); } else { Chunk chunk = this.getChunkAtWorldCoords(blockposition); -@@ -1764,7 +1764,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -1768,7 +1768,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose public Map capturedTileEntities = Maps.newHashMap(); @Nullable public TileEntity getTileEntity(BlockPosition blockposition) { @@ -181,7 +181,7 @@ index d3785f73b..f8e4cd14c 100644 return null; } else { // CraftBukkit start -@@ -1805,7 +1805,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -1809,7 +1809,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose } public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) { @@ -190,7 +190,7 @@ index d3785f73b..f8e4cd14c 100644 if (tileentity != null && !tileentity.x()) { // CraftBukkit start if (captureBlockStates) { -@@ -1866,7 +1866,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -1870,7 +1870,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose } public boolean p(BlockPosition blockposition) { diff --git a/Spigot-Server-Patches/0087-EntityPathfindEvent.patch b/Spigot-Server-Patches/0087-EntityPathfindEvent.patch index 56d56bbf1c..db09293411 100644 --- a/Spigot-Server-Patches/0087-EntityPathfindEvent.patch +++ b/Spigot-Server-Patches/0087-EntityPathfindEvent.patch @@ -1,4 +1,4 @@ -From 6455ce561b9117bf7b6752c1553f5159fb3712f3 Mon Sep 17 00:00:00 2001 +From 6f900d976e49e29d9a3cfd377e94d7121ddb6e65 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 21:22:26 -0400 Subject: [PATCH] EntityPathfindEvent @@ -6,7 +6,7 @@ Subject: [PATCH] EntityPathfindEvent Fires when an Entity decides to start moving to a location. diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 1964684ac..0c5215657 100644 +index 8111317e3..76d1f4bd2 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java @@ -4,7 +4,7 @@ import javax.annotation.Nullable; @@ -24,7 +24,7 @@ index 1964684ac..0c5215657 100644 } else { + if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(getEntity().world, blockposition), null).callEvent()) { return null; } // Paper this.q = blockposition; - float f = this.k(); + float f = this.j(); @@ -102,6 +103,7 @@ public abstract class NavigationAbstract { if (this.c != null && !this.c.b() && blockposition.equals(this.q)) { @@ -32,7 +32,7 @@ index 1964684ac..0c5215657 100644 } else { + if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(entity.world, blockposition), entity.getBukkitEntity()).callEvent()) { return null; } // Paper this.q = blockposition; - float f = this.k(); + float f = this.j(); -- 2.18.0 diff --git a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch index d9ec20d082..8c6371c766 100644 --- a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From a064f1ff86cfe2af3e4659d3b4ab7191c1bbdee5 Mon Sep 17 00:00:00 2001 +From dfd965ef359e7bf7dfc9ed33736374439c753e83 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 @@ -21,10 +21,10 @@ index eb09be512..6ac58e5ec 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1027b0588..b7aa9e869 100644 +index 96d31f874..664007c29 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -446,8 +446,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -485,8 +485,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati ArrayList arraylist = Lists.newArrayList(); Set set = Sets.newConcurrentHashSet(); @@ -39,10 +39,10 @@ index 1027b0588..b7aa9e869 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index cc1492e4d..2c6774082 100644 +index 6ec1ee26d..a4c8e62e2 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2821,8 +2821,9 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -2825,8 +2825,9 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose int k = i * 16 + 8 - blockposition.getX(); int l = j * 16 + 8 - blockposition.getZ(); boolean flag = true; @@ -54,10 +54,10 @@ index cc1492e4d..2c6774082 100644 public void a(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f90dc11f2..06b59657f 100644 +index 62872675d..7cb795dd8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1008,7 +1008,7 @@ public final class CraftServer implements Server { +@@ -990,7 +990,7 @@ public final class CraftServer implements Server { System.out.println("Preparing start region for level " + (console.worlds.size() - 1) + " (Seed: " + internal.getSeed() + ")"); if (internal.getWorld().getKeepSpawnInMemory()) { diff --git a/Spigot-Server-Patches/0097-Don-t-spam-reload-spawn-chunks-in-nether-end.patch b/Spigot-Server-Patches/0097-Don-t-spam-reload-spawn-chunks-in-nether-end.patch index 49cae9e035..b269197e88 100644 --- a/Spigot-Server-Patches/0097-Don-t-spam-reload-spawn-chunks-in-nether-end.patch +++ b/Spigot-Server-Patches/0097-Don-t-spam-reload-spawn-chunks-in-nether-end.patch @@ -1,14 +1,14 @@ -From 0fcdea66258db413a6b24290ed64dbe31665a343 Mon Sep 17 00:00:00 2001 +From afb30e11f473e9edbeff81f0bad1736ab90b28b9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Apr 2016 19:42:22 -0400 Subject: [PATCH] Don't spam reload spawn chunks in nether/end diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 5b2d67260..3aecf7a5d 100644 +index ae953d85d..e747d1e46 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2817,6 +2817,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -2821,6 +2821,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose return this.K; } diff --git a/Spigot-Server-Patches/0101-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0101-Remove-unused-World-Tile-Entity-List.patch index 7cd2cd6a6d..04e27d162d 100644 --- a/Spigot-Server-Patches/0101-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0101-Remove-unused-World-Tile-Entity-List.patch @@ -1,4 +1,4 @@ -From e2d1cd0843677e1a8e8dea3ed851c5c8e2e94e69 Mon Sep 17 00:00:00 2001 +From 43bd8c9254a8f40906a62978cf6045d7e1eff64b Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 00:25:28 -0400 Subject: [PATCH] Remove unused World Tile Entity List @@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List Massive hit to performance and it is completely unnecessary. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 3aecf7a5d..e5ecfdbf0 100644 +index e747d1e46..46eab028d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -73,7 +73,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -57,7 +57,7 @@ index 3aecf7a5d..e5ecfdbf0 100644 this.tileEntityListTick.add(tileentity); } -@@ -1852,7 +1852,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -1856,7 +1856,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose } else { if (tileentity != null) { this.c.remove(tileentity); diff --git a/Spigot-Server-Patches/0103-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0103-Configurable-Player-Collision.patch index f9dc5f7b25..153b01ec85 100644 --- a/Spigot-Server-Patches/0103-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0103-Configurable-Player-Collision.patch @@ -1,4 +1,4 @@ -From 9f2f1b9ab1eed83663f5141642da3ed16f93bdaf Mon Sep 17 00:00:00 2001 +From 3ee292c7290a2edfc9b0e97fb5ff14e1f8e0a595 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 02:10:49 -0400 Subject: [PATCH] Configurable Player Collision @@ -19,10 +19,10 @@ index ec4643384..430b5d0cd 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b7aa9e869..c5670fe8d 100644 +index 664007c29..eb0e1361a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -379,6 +379,20 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -418,6 +418,20 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.a(this.getDifficulty()); this.g_(); @@ -44,7 +44,7 @@ index b7aa9e869..c5670fe8d 100644 protected void a(File file, WorldData worlddata) { diff --git a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java -index 5f54e7b9c..759288b97 100644 +index a6aed2531..575e3762b 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java @@ -94,7 +94,7 @@ public class PacketPlayOutScoreboardTeam implements Packet Date: Thu, 28 Apr 2016 00:57:27 -0400 Subject: [PATCH] remove null possibility for getServer singleton @@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3c201c2e2..05dc8451e 100644 +index eb0e1361a..68ab9b7eb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -68,6 +68,7 @@ import co.aikar.timings.MinecraftTimings; // Paper @@ -17,7 +17,7 @@ index 3c201c2e2..05dc8451e 100644 public static final Logger LOGGER = LogManager.getLogger(); public static final File a = new File("usercache.json"); public Convertable convertable; -@@ -153,6 +154,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -154,6 +155,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot end public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) { @@ -26,7 +26,7 @@ index 3c201c2e2..05dc8451e 100644 this.ac = new ResourceManager(EnumResourcePackType.SERVER_DATA); this.resourcePackRepository = new ResourcePackRepository(ResourcePackLoader::new); this.ag = new CraftingManager(); -@@ -1742,7 +1745,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1806,7 +1809,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // CraftBukkit start @Deprecated public static MinecraftServer getServer() { diff --git a/Spigot-Server-Patches/0113-LootTable-API-Replenishable-Lootables-Feature.patch b/Spigot-Server-Patches/0113-LootTable-API-Replenishable-Lootables-Feature.patch index 6192979185..157ce8fa8d 100644 --- a/Spigot-Server-Patches/0113-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/Spigot-Server-Patches/0113-LootTable-API-Replenishable-Lootables-Feature.patch @@ -1,4 +1,4 @@ -From 9d96b8545503e22d3196831671b54fc1a5e80009 Mon Sep 17 00:00:00 2001 +From 89c539bf9cd6e0a1ac5fd61cbcb7bf6a08ed570d Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 1 May 2016 21:19:14 -0400 Subject: [PATCH] LootTable API & Replenishable Lootables Feature @@ -418,7 +418,7 @@ index 000000000..9a65603bc + } +} diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java -index dc329dcc5..d3bf88585 100644 +index 9ec73ac06..8bd7976f9 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java +++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java @@ -6,17 +6,21 @@ import javax.annotation.Nullable; @@ -445,7 +445,7 @@ index dc329dcc5..d3bf88585 100644 // CraftBukkit start public List transaction = new java.util.ArrayList(); -@@ -159,12 +163,13 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -168,12 +172,13 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp protected void b(NBTTagCompound nbttagcompound) { super.b(nbttagcompound); @@ -460,7 +460,7 @@ index dc329dcc5..d3bf88585 100644 ContainerUtil.a(nbttagcompound, this.items); } -@@ -172,11 +177,12 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -181,11 +186,12 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp protected void a(NBTTagCompound nbttagcompound) { super.a(nbttagcompound); @@ -474,7 +474,7 @@ index dc329dcc5..d3bf88585 100644 ContainerUtil.b(nbttagcompound, this.items); } -@@ -225,10 +231,10 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -234,10 +240,10 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp } public void f(@Nullable EntityHuman entityhuman) { @@ -487,7 +487,7 @@ index dc329dcc5..d3bf88585 100644 Random random; if (this.d == 0L) { -@@ -253,12 +259,51 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -262,12 +268,51 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp this.items.clear(); } @@ -540,7 +540,7 @@ index dc329dcc5..d3bf88585 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/TileEntityLootable.java b/src/main/java/net/minecraft/server/TileEntityLootable.java -index ce710d219..9c8bebe4b 100644 +index fbda02b32..e6fc1ae92 100644 --- a/src/main/java/net/minecraft/server/TileEntityLootable.java +++ b/src/main/java/net/minecraft/server/TileEntityLootable.java @@ -1,12 +1,16 @@ diff --git a/Spigot-Server-Patches/0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/Spigot-Server-Patches/0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch index 7a2d842aae..c79726b5d3 100644 --- a/Spigot-Server-Patches/0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch +++ b/Spigot-Server-Patches/0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch @@ -1,4 +1,4 @@ -From e1f368e70c67a8656883a4a1025adfce7f085a83 Mon Sep 17 00:00:00 2001 +From a348c3710bdb5813fc2278b285f8f77f3a5d4368 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 May 2016 23:33:08 -0400 Subject: [PATCH] Don't save empty scoreboard teams to scoreboard.dat @@ -19,10 +19,10 @@ index 430b5d0cd..011cbf5e3 100644 + } } diff --git a/src/main/java/net/minecraft/server/PersistentScoreboard.java b/src/main/java/net/minecraft/server/PersistentScoreboard.java -index 81afa3195..ed3d5c889 100644 +index 0260fb7ec..45d8de1b7 100644 --- a/src/main/java/net/minecraft/server/PersistentScoreboard.java +++ b/src/main/java/net/minecraft/server/PersistentScoreboard.java -@@ -175,6 +175,7 @@ public class PersistentScoreboard extends PersistentBase { +@@ -177,6 +177,7 @@ public class PersistentScoreboard extends PersistentBase { while (iterator.hasNext()) { ScoreboardTeam scoreboardteam = (ScoreboardTeam) iterator.next(); diff --git a/Spigot-Server-Patches/0117-Fix-Chunk-Unload-Queue-Issues.patch b/Spigot-Server-Patches/0117-Fix-Chunk-Unload-Queue-Issues.patch index 3929c98595..34736a4cfb 100644 --- a/Spigot-Server-Patches/0117-Fix-Chunk-Unload-Queue-Issues.patch +++ b/Spigot-Server-Patches/0117-Fix-Chunk-Unload-Queue-Issues.patch @@ -1,4 +1,4 @@ -From 5f52336745925855acb58d3b4f55fc404c5a1766 Mon Sep 17 00:00:00 2001 +From 570d7c506c2cc65f5899a4ca5e6b5cd5c2f38182 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 12 May 2016 02:03:56 -0400 Subject: [PATCH] Fix Chunk Unload Queue Issues @@ -9,7 +9,7 @@ has not resolved all the bugs with the changes. This patch fixes known issues and really should be applied by Spigot team. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 744b5bc6d..718ebfea0 100644 +index 49c5953fb..8da7e39ee 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -58,7 +58,7 @@ public class Chunk implements IChunkAccess { @@ -22,10 +22,10 @@ index 744b5bc6d..718ebfea0 100644 private int E; private final AtomicInteger F; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index bb96a7392..7825dc91b 100644 +index 6917fdbe0..bac5c921b 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -302,6 +302,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -301,6 +301,7 @@ public class ChunkProviderServer implements IChunkProvider { if (chunk != null && chunk.d) { // CraftBukkit start - move unload logic to own method diff --git a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch index 28c6eed7a8..441eca78e7 100644 --- a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 1b066a794864bf5d0073b12f7d575ee00775466e Mon Sep 17 00:00:00 2001 +From 575168a9432ee2e2241160b96d5a72f299dfa366 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 20:47:41 -0400 Subject: [PATCH] Optimize UserCache / Thread Safe @@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 05dc8451e..0e59fc9eb 100644 +index 68ab9b7eb..0e385e4ea 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -632,7 +632,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -671,7 +671,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot start if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { LOGGER.info("Saving usercache.json"); diff --git a/Spigot-Server-Patches/0125-Add-server-name-parameter.patch b/Spigot-Server-Patches/0125-Add-server-name-parameter.patch index c41a320171..981b629d8f 100644 --- a/Spigot-Server-Patches/0125-Add-server-name-parameter.patch +++ b/Spigot-Server-Patches/0125-Add-server-name-parameter.patch @@ -1,14 +1,14 @@ -From 6b56636274fd02421525e8c2000511fe4cf89272 Mon Sep 17 00:00:00 2001 +From 66f789bf81987858175b8ef9204c85c50a69d1b1 Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Sat, 28 May 2016 16:54:03 +0200 Subject: [PATCH] Add server-name parameter diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index d9059129d..aad208f47 100644 +index 38e696aa9..c552c624e 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -134,6 +134,14 @@ public class Main { +@@ -136,6 +136,14 @@ public class Main { .defaultsTo(new File("paper.yml")) .describedAs("Yml file"); // Paper end diff --git a/Spigot-Server-Patches/0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch index f841ac3ee6..9b99a796d9 100644 --- a/Spigot-Server-Patches/0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -1,4 +1,4 @@ -From 8b0ebf88191276c87b61235e51405887463861a3 Mon Sep 17 00:00:00 2001 +From 51db9f7a8b2e9545edec3a323c0d6c1e298d30d8 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 @@ -40,7 +40,7 @@ index 321da3be3..0e6c18b32 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 718ebfea0..6c6924937 100644 +index 8da7e39ee..99421aca9 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -39,6 +39,7 @@ public class Chunk implements IChunkAccess { @@ -52,10 +52,10 @@ index 718ebfea0..6c6924937 100644 public final int locZ; private boolean m; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 7825dc91b..2e72a294d 100644 +index bac5c921b..4f9ece9e4 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -318,6 +318,19 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -317,6 +317,19 @@ public class ChunkProviderServer implements IChunkProvider { activityAccountant.endActivity(); // Spigot } @@ -131,7 +131,7 @@ index 4d888d6d4..cf5c76a78 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 5102f24ed..c9b6b57af 100644 +index f1c036aa6..95ec4f48f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1294,7 +1294,13 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0128-Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/0128-Fix-Double-World-Add-issues.patch index 9ebbe36217..484c94d664 100644 --- a/Spigot-Server-Patches/0128-Fix-Double-World-Add-issues.patch +++ b/Spigot-Server-Patches/0128-Fix-Double-World-Add-issues.patch @@ -1,4 +1,4 @@ -From c4546f54875964aa47af70957bae0bc9a8840b28 Mon Sep 17 00:00:00 2001 +From dbfe877863ead07c12ce6bc9fe159f20cd3a8563 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 21 Jun 2016 22:54:34 -0400 Subject: [PATCH] Fix Double World Add issues @@ -8,10 +8,10 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added. Also add debug if something else tries to, and abort before world gets bad state diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index ad3bd3808..e70c2184c 100644 +index f007af2e1..2f1488ee5 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -1058,7 +1058,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -1050,7 +1050,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { } public static void a(Entity entity, GeneratorAccess generatoraccess, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) { @@ -21,7 +21,7 @@ index ad3bd3808..e70c2184c 100644 Iterator iterator = entity.bP().iterator(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c9b6b57af..067b92f3e 100644 +index 95ec4f48f..45ab70167 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -955,6 +955,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0133-Add-setting-for-proxy-online-mode-status.patch b/Spigot-Server-Patches/0133-Add-setting-for-proxy-online-mode-status.patch index b78841f5d7..6709510ea1 100644 --- a/Spigot-Server-Patches/0133-Add-setting-for-proxy-online-mode-status.patch +++ b/Spigot-Server-Patches/0133-Add-setting-for-proxy-online-mode-status.patch @@ -1,4 +1,4 @@ -From 3345a0866470144d0accf25736ef329d09bdf279 Mon Sep 17 00:00:00 2001 +From ee073c0208ecf659a81f02bd43bf65b4fe99699d Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Fri, 5 Aug 2016 01:03:08 +0200 Subject: [PATCH] Add setting for proxy online mode status @@ -33,10 +33,10 @@ index f13534917..85c7a96c5 100644 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 06b59657f..6c7151536 100644 +index 7cb795dd8..e125632ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1375,7 +1375,8 @@ public final class CraftServer implements Server { +@@ -1357,7 +1357,8 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch index d8efe8730b..75d9199035 100644 --- a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From 71e6ced752630d941c3d5bf62881eb81b72eb156 Mon Sep 17 00:00:00 2001 +From b790f76209c8a401084cc4d03b4c78164ee79c41 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -64,7 +64,7 @@ index 0e6c18b32..c182ceffb 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 6c6924937..2f40f687a 100644 +index 99421aca9..ee992e346 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -52,9 +52,9 @@ public class Chunk implements IChunkAccess { @@ -96,7 +96,7 @@ index 6c6924937..2f40f687a 100644 public boolean isEmpty() { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 2e72a294d..1e6ea3084 100644 +index 4f9ece9e4..afeb0685b 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -1,5 +1,6 @@ @@ -106,7 +106,7 @@ index 2e72a294d..1e6ea3084 100644 import com.google.common.collect.Lists; import it.unimi.dsi.fastutil.longs.Long2ObjectMap; import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; -@@ -260,7 +261,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -259,7 +260,7 @@ public class ChunkProviderServer implements IChunkProvider { this.saveChunk(chunk, false); // Spigot chunk.a(false); ++i; @@ -116,7 +116,7 @@ index 2e72a294d..1e6ea3084 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 08d6f77ae..5122cee42 100644 +index 982e18f8a..1879c3238 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -38,6 +38,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -128,10 +128,10 @@ index 08d6f77ae..5122cee42 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0e59fc9eb..603ce9fe2 100644 +index 0e385e4ea..326d4242d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -143,6 +143,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -144,6 +144,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; public ConsoleReader reader; public static int currentTick = 0; // Paper - Further improve tick loop @@ -139,7 +139,7 @@ index 0e59fc9eb..603ce9fe2 100644 public final Thread primaryThread; public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -869,22 +870,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -908,22 +909,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.n.b().a(agameprofile); } @@ -175,7 +175,7 @@ index 0e59fc9eb..603ce9fe2 100644 this.methodProfiler.a("snooper"); if (getSnooperEnabled() && !this.j.d() && this.ticks > 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 6b7d81933..3ee587014 100644 +index d0c547cc9..12f6812d6 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -341,6 +341,7 @@ public abstract class PlayerList { @@ -186,7 +186,7 @@ index 6b7d81933..3ee587014 100644 this.playerFileData.save(entityplayer); ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) entityplayer.getStatisticManager(); // CraftBukkit -@@ -1220,13 +1221,25 @@ public abstract class PlayerList { +@@ -1213,13 +1214,25 @@ public abstract class PlayerList { } @@ -214,7 +214,7 @@ index 6b7d81933..3ee587014 100644 public WhiteList getWhitelist() { return this.whitelist; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6c976e3b1..a08ef197e 100644 +index 96002184b..bf07155bc 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0140-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0140-Chunk-registration-fixes.patch index 78a3f71998..3fbfc4895c 100644 --- a/Spigot-Server-Patches/0140-Chunk-registration-fixes.patch +++ b/Spigot-Server-Patches/0140-Chunk-registration-fixes.patch @@ -1,4 +1,4 @@ -From 977d7d2021db60c67df0f9fa5fa7fc5ae5089144 Mon Sep 17 00:00:00 2001 +From be60b6d44fc147afab85cfd2e75313fd053fd746 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 22:54:28 -0400 Subject: [PATCH] Chunk registration fixes @@ -8,10 +8,10 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr Keep them consistent diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 067b92f3e..04b5521cd 100644 +index 45ab70167..5d3378be0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1470,7 +1470,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -1474,7 +1474,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose } i = MathHelper.floor(entity.locX / 16.0D); diff --git a/Spigot-Server-Patches/0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/Spigot-Server-Patches/0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch index f6a69ab83d..3aa6029cf5 100644 --- a/Spigot-Server-Patches/0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch +++ b/Spigot-Server-Patches/0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch @@ -1,4 +1,4 @@ -From 86f5120f1974823a7b6aa8ffd62575bfcdb812fb Mon Sep 17 00:00:00 2001 +From c6e872685630cb2732c1f34b2f53d95867fcea05 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Nov 2016 20:28:12 -0400 Subject: [PATCH] Don't load Chunks from Hoppers and other things @@ -13,13 +13,13 @@ This of course is undesirable, so just return the loaded side as "primary" and treat it as a single chest if the other sides are unloaded diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java -index f8be07258..633c75ffe 100644 +index 1ad39aca3..7262c2b19 100644 --- a/src/main/java/net/minecraft/server/BlockChest.java +++ b/src/main/java/net/minecraft/server/BlockChest.java @@ -196,7 +196,12 @@ public class BlockChest extends BlockTileEntity implements IFluidSource, IFluidC return (ITileInventory) object; } else { - BlockPosition blockposition1 = blockposition.shift(j(iblockdata)); + BlockPosition blockposition1 = blockposition.shift(k(iblockdata)); - IBlockData iblockdata1 = world.getType(blockposition1); + // Paper start - don't load chunks if the other side of the chest is in unloaded chunk + final IBlockData iblockdata1 = world.getTypeIfLoaded(blockposition1); // Paper diff --git a/Spigot-Server-Patches/0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch b/Spigot-Server-Patches/0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch index 043c5072d9..fd8e7a45ef 100644 --- a/Spigot-Server-Patches/0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch +++ b/Spigot-Server-Patches/0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch @@ -1,4 +1,4 @@ -From 3efd56fcbb76e3a5ed65644d6040c9e030f641b7 Mon Sep 17 00:00:00 2001 +From 821c5c8577518add23e8a91fec1d7dc1ca81d7f2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Nov 2016 21:52:22 -0400 Subject: [PATCH] Prevent Auto Save if Save Queue is full @@ -23,10 +23,10 @@ index 9a2ec0793..f88444c7e 100644 private void removeCorruptTEs() { removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false); diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 1e6ea3084..9145401bc 100644 +index afeb0685b..a4c4a9486 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -250,6 +250,14 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -249,6 +249,14 @@ public class ChunkProviderServer implements IChunkProvider { ArrayList arraylist = Lists.newArrayList(this.chunks.values()); Iterator iterator = arraylist.iterator(); @@ -41,7 +41,7 @@ index 1e6ea3084..9145401bc 100644 while (iterator.hasNext()) { Chunk chunk = (Chunk) iterator.next(); -@@ -261,7 +269,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -260,7 +268,7 @@ public class ChunkProviderServer implements IChunkProvider { this.saveChunk(chunk, false); // Spigot chunk.a(false); ++i; @@ -51,7 +51,7 @@ index 1e6ea3084..9145401bc 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index e70c2184c..20aa20a98 100644 +index 2f1488ee5..859148cb8 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -137,6 +137,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { diff --git a/Spigot-Server-Patches/0148-Chunk-Save-Stats-Debug-Option.patch b/Spigot-Server-Patches/0148-Chunk-Save-Stats-Debug-Option.patch index e625c95f63..1fc1f7bd6d 100644 --- a/Spigot-Server-Patches/0148-Chunk-Save-Stats-Debug-Option.patch +++ b/Spigot-Server-Patches/0148-Chunk-Save-Stats-Debug-Option.patch @@ -1,4 +1,4 @@ -From 2180b64ba27758854a3d43a078e959ae159b8a8d Mon Sep 17 00:00:00 2001 +From 908a149ec4d6d824d1457eb2745f45e5afbfb942 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Nov 2016 02:12:10 -0400 Subject: [PATCH] Chunk Save Stats Debug Option @@ -8,7 +8,7 @@ Adds a command line flag to enable stats on how chunk saves are processing. Stats on current queue, how many was processed and how many were queued. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 9145401bc..ef35eb7ec 100644 +index a4c4a9486..4be7173bf 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -36,6 +36,11 @@ public class ChunkProviderServer implements IChunkProvider { @@ -23,7 +23,7 @@ index 9145401bc..ef35eb7ec 100644 public final WorldServer world; public ChunkProviderServer(WorldServer worldserver, IChunkLoader ichunkloader, ChunkGenerator chunkgenerator, IAsyncTaskHandler iasynctaskhandler) { -@@ -253,6 +258,30 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -252,6 +257,30 @@ public class ChunkProviderServer implements IChunkProvider { // Paper start final ChunkRegionLoader chunkLoader = (ChunkRegionLoader) world.getChunkProviderServer().chunkLoader; final int queueSize = chunkLoader.getQueueSize(); @@ -55,7 +55,7 @@ index 9145401bc..ef35eb7ec 100644 return false; } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 20aa20a98..de2231bb0 100644 +index 859148cb8..ea8684747 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -137,7 +137,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -73,7 +73,7 @@ index 20aa20a98..de2231bb0 100644 // CraftBukkit start - Add async variant, provide compatibility @Nullable -@@ -329,6 +335,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -325,6 +331,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { protected synchronized void a(ChunkCoordIntPair chunkcoordintpair, Supplier nbttagcompound) { // Spigot queue.add(new QueuedChunk(chunkcoordintpair, nbttagcompound)); // Paper - Chunk queue improvements @@ -81,7 +81,7 @@ index 20aa20a98..de2231bb0 100644 this.b.put(chunkcoordintpair, nbttagcompound); FileIOThread.a().a(this); } -@@ -352,6 +359,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -348,6 +355,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { return false; } else { ChunkCoordIntPair chunkcoordintpair = chunk.coords; // Paper - Chunk queue improvements diff --git a/Spigot-Server-Patches/0153-Allow-Reloading-of-Command-Aliases.patch b/Spigot-Server-Patches/0153-Allow-Reloading-of-Command-Aliases.patch index c3205942bd..2f87c93386 100644 --- a/Spigot-Server-Patches/0153-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-Server-Patches/0153-Allow-Reloading-of-Command-Aliases.patch @@ -1,4 +1,4 @@ -From 21a06c5a111434636227935f23120b53773e3316 Mon Sep 17 00:00:00 2001 +From 8c64658c0fc06e452f61e18f3e5c5191edd1890b Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 28 Nov 2016 10:21:52 -0500 Subject: [PATCH] Allow Reloading of Command Aliases @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6c7151536..1b6a849e2 100644 +index e125632ff..d7247a1ec 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1986,5 +1986,24 @@ public final class CraftServer implements Server { +@@ -1968,5 +1968,24 @@ public final class CraftServer implements Server { }); } } diff --git a/Spigot-Server-Patches/0162-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0162-Add-API-methods-to-control-if-armour-stands-can-move.patch index 2f14a6ed2e..47890bf920 100644 --- a/Spigot-Server-Patches/0162-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0162-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From c454c72a987b25fdfd7dd8a651f4aa4beb8b891e Mon Sep 17 00:00:00 2001 +From 542ff3ee75511fdfb8bd5963063c428d43a82747 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 4c615baea..52a1036fd 100644 +index cf11a2225..578d96640 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -44,6 +44,7 @@ public class EntityArmorStand extends EntityLiving { @@ -17,7 +17,7 @@ index 4c615baea..52a1036fd 100644 public EntityArmorStand(World world) { super(EntityTypes.ARMOR_STAND, world); @@ -755,4 +756,13 @@ public class EntityArmorStand extends EntityLiving { - public boolean de() { + public boolean df() { return false; } + diff --git a/Spigot-Server-Patches/0164-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0164-Properly-fix-item-duplication-bug.patch index 56963e80d3..3ad1c4ef4e 100644 --- a/Spigot-Server-Patches/0164-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0164-Properly-fix-item-duplication-bug.patch @@ -1,4 +1,4 @@ -From 905fa22f222f8547b63412650bc2927850fa8382 Mon Sep 17 00:00:00 2001 +From 92dd98b36207e4e5aa69b572e52cf01641543621 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Tue, 27 Dec 2016 01:57:57 +0000 Subject: [PATCH] Properly fix item duplication bug @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index cf2a39384..c91caf578 100644 +index 4bde378af..7059fc118 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1531,7 +1531,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1525,7 +1525,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override protected boolean isFrozen() { @@ -19,7 +19,7 @@ index cf2a39384..c91caf578 100644 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 1f2cfbc92..f26636e30 100644 +index fc4e927d6..9ac86f7af 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2504,7 +2504,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0166-Activation-Range-Improvements.patch b/Spigot-Server-Patches/0166-Activation-Range-Improvements.patch index 3264336628..4980f156d0 100644 --- a/Spigot-Server-Patches/0166-Activation-Range-Improvements.patch +++ b/Spigot-Server-Patches/0166-Activation-Range-Improvements.patch @@ -1,4 +1,4 @@ -From 527982777c9728d51edc763ccf27080487902c05 Mon Sep 17 00:00:00 2001 +From f99c9ad753cb27454bb9bbc36b4c9ba4d54027e2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 22:38:06 -0500 Subject: [PATCH] Activation Range Improvements @@ -6,7 +6,7 @@ Subject: [PATCH] Activation Range Improvements Fixes and adds new Immunities to improve gameplay behavior diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java -index e2e1095118..34dcd01ded 100644 +index b34756769..53b25dd80 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -6,6 +6,7 @@ import org.bukkit.event.entity.EntityUnleashEvent; @@ -18,7 +18,7 @@ index e2e1095118..34dcd01ded 100644 private float b; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 1bef317758..c1618f8c36 100644 +index 8dbff3c37..3da4bc356 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -74,7 +74,7 @@ public abstract class EntityLiving extends Entity { @@ -31,19 +31,19 @@ index 1bef317758..c1618f8c36 100644 protected int ticksFarFromPlayer; protected float aZ; diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index 2698579603..864ca3cc6e 100644 +index bb86ecb2f..5cd8c3f28 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -363,6 +363,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn return this.bR != null; } -+ public boolean inCaravan() { return this.em(); } // Paper - OBFHELPER - public boolean em() { ++ public boolean inCaravan() { return this.en(); } // Paper - OBFHELPER + public boolean en() { return this.bQ != null; } diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java -index a146a8b459..a19853463c 100644 +index a146a8b45..a19853463 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoal.java +++ b/src/main/java/net/minecraft/server/PathfinderGoal.java @@ -18,7 +18,10 @@ public abstract class PathfinderGoal { @@ -59,7 +59,7 @@ index a146a8b459..a19853463c 100644 public void e() {} diff --git a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java -index d5c08aa7cb..fe6570c88d 100644 +index d5c08aa7c..fe6570c88 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java @@ -2,17 +2,24 @@ package net.minecraft.server; @@ -99,7 +99,7 @@ index d5c08aa7cb..fe6570c88d 100644 } } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e02647f806..cdbf769e7b 100644 +index e02647f80..cdbf769e7 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -20,6 +20,7 @@ import net.minecraft.server.EntityFireball; diff --git a/Spigot-Server-Patches/0171-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0171-Enforce-Sync-Player-Saves.patch index e72a606c44..dbc70c0181 100644 --- a/Spigot-Server-Patches/0171-Enforce-Sync-Player-Saves.patch +++ b/Spigot-Server-Patches/0171-Enforce-Sync-Player-Saves.patch @@ -1,4 +1,4 @@ -From 61d3c06b65d8a1032845bff14e2dbfc071cd9906 Mon Sep 17 00:00:00 2001 +From 0e2d3a5968ee223fd6d7c206a3393be137bd0046 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:41:58 -0500 Subject: [PATCH] Enforce Sync Player Saves @@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 3ee587014..fdbc01792 100644 +index 12f6812d6..c8b5a610a 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1227,6 +1227,7 @@ public abstract class PlayerList { +@@ -1220,6 +1220,7 @@ public abstract class PlayerList { } public void savePlayers(Integer interval) { @@ -18,7 +18,7 @@ index 3ee587014..fdbc01792 100644 long now = MinecraftServer.currentTick; MinecraftTimings.savePlayers.startTiming(); // Paper int numSaved = 0; // Paper -@@ -1238,6 +1239,7 @@ public abstract class PlayerList { +@@ -1231,6 +1232,7 @@ public abstract class PlayerList { } } MinecraftTimings.savePlayers.stopTiming(); // Paper diff --git a/Spigot-Server-Patches/0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 38dec7c0b2..dde65c5e8d 100644 --- a/Spigot-Server-Patches/0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From b381115d1a60cf615a6bc13d874fd8bb29a02c1b Mon Sep 17 00:00:00 2001 +From cf91146dbca0cbe6b854ea98e00be7a4bf6de4c6 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,10 +8,10 @@ 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 ff110c8e95..d95587c8cc 100644 +index 43feccef8..e820bfbd5 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java -@@ -473,13 +473,13 @@ public class Block implements IMaterial { +@@ -471,13 +471,13 @@ public class Block implements IMaterial { } } @@ -28,7 +28,7 @@ index ff110c8e95..d95587c8cc 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index e5f0645774..e237c5dc1a 100644 +index 131f8a515..d8ab87e21 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 e5f0645774..e237c5dc1a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 3c888d6015..79d80596df 100644 +index 3c888d601..79d80596d 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 3c888d6015..79d80596df 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 7440e4a2a9..895254c155 100644 +index 1804a49de..82e4d2eab 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 { @@ -131,9 +131,9 @@ index 7440e4a2a9..895254c155 100644 + this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX, this.owner.locY + 0.5D, this.owner.locZ + 0.5D, playerFishEvent.getExpToDrop(), org.bukkit.entity.ExperienceOrb.SpawnReason.FISHING, this.owner, this)); // Paper } // CraftBukkit end - if (itemstack1.getItem().a(TagsItem.G)) { + if (itemstack1.getItem().a(TagsItem.D)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c1618f8c36..9f493e43d4 100644 +index 3da4bc356..f9a76ce27 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -353,7 +353,8 @@ public abstract class EntityLiving extends Entity { @@ -147,7 +147,7 @@ index c1618f8c36..9f493e43d4 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 fc0c1cc3b2..dd4ecfa883 100644 +index e8fdf8625..b51543ea7 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 fc0c1cc3b2..dd4ecfa883 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 33b5080147..e34198e407 100644 +index 545a98302..55ec29bd2 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -384,7 +384,7 @@ public class PlayerInteractManager { @@ -199,7 +199,7 @@ index 33b5080147..e34198e407 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index 998662d9e6..6b4eb7f053 100644 +index 998662d9e..6b4eb7f05 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,7 +221,7 @@ index 998662d9e6..6b4eb7f053 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 86848543d0..7004f11764 100644 +index 86848543d..7004f1176 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1220,7 +1220,7 @@ public class CraftWorld implements World { @@ -234,7 +234,7 @@ index 86848543d0..7004f11764 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/0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index 26b90fc196..95f1267b68 100644 --- a/Spigot-Server-Patches/0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/Spigot-Server-Patches/0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -1,14 +1,14 @@ -From 31b95b88c25e4b25cf7ef32ff4692d1bf937b679 Mon Sep 17 00:00:00 2001 +From 990b651cbd64dc43013878c653744f461492478e Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 7 Feb 2017 16:55:35 -0600 Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index ef35eb7ec..70790386e 100644 +index 4be7173bf..7d77c5fb3 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -328,7 +328,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -327,7 +327,7 @@ public class ChunkProviderServer implements IChunkProvider { // Spigot start org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; activityAccountant.startActivity(0.5); @@ -18,5 +18,5 @@ index ef35eb7ec..70790386e 100644 LongIterator longiterator = this.unloadQueue.iterator(); -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0180-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0180-Do-not-let-armorstands-drown.patch index 345adb220a..72d2b8bf6f 100644 --- a/Spigot-Server-Patches/0180-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0180-Do-not-let-armorstands-drown.patch @@ -1,11 +1,11 @@ -From 0628af2631258500bd906bbaf21bcaca89c8de03 Mon Sep 17 00:00:00 2001 +From 0fa5dce73cc9cdf2630c65eaa2ffaf4787580165 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 18 Feb 2017 19:29:58 -0600 Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 52a1036fdb..26171b3430 100644 +index 578d96640..e9a746f13 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -764,5 +764,10 @@ public class EntityArmorStand extends EntityLiving { @@ -20,23 +20,23 @@ index 52a1036fdb..26171b3430 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index fc0e440798..38baecd862 100644 +index 3b4867bfc..b596a616f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -201,6 +201,7 @@ public abstract class EntityLiving extends Entity { super.a(d0, flag, iblockdata, blockposition); } -+ public boolean canBreatheUnderwater() { return this.bZ(); } // Paper - OBFHELPER - public boolean bZ() { ++ public boolean canBreatheUnderwater() { return this.ca(); } // Paper - OBFHELPER + public boolean ca() { return this.getMonsterType() == EnumMonsterType.UNDEAD; } @@ -235,7 +236,7 @@ public abstract class EntityLiving extends Entity { if (this.isAlive()) { if (this.a(TagsFluid.a) && this.world.getType(new BlockPosition(this.locX, this.locY + (double) this.getHeadHeight(), this.locZ)).getBlock() != Blocks.BUBBLE_COLUMN) { -- if (!this.bZ() && !MobEffectUtil.c(this) && !flag1) { -+ if (!this.canBreatheUnderwater() && !MobEffectUtil.c(this) && !flag1) { // Paper - use OBFHELPER +- if (!this.ca() && !MobEffectUtil.c(this) && !flag1) { ++ if (!this.canBreatheUnderwater() && !MobEffectUtil.c(this) && !flag1) { // Paper - use OBFHELPER so it can be overridden this.setAirTicks(this.l(this.getAirTicks())); if (this.getAirTicks() == -20) { this.setAirTicks(0); diff --git a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch index 6794a152a6..46159481dd 100644 --- a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From 97859bd335e381d24dfb98d703ee44295283f04c Mon Sep 17 00:00:00 2001 +From a196d99aed3b693c24cece49966b2089b7123812 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 12 May 2017 23:34:11 -0500 Subject: [PATCH] Properly handle async calls to restart the server @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ab3193295..5d13f053f 100644 +index 9405dc7bf..eb8c7aaad 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -85,6 +85,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -41,7 +41,7 @@ index ab3193295..5d13f053f 100644 private boolean isStopped; private int ticks; protected final Proxy d; -@@ -591,7 +592,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -630,7 +631,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (this.s != null) { MinecraftServer.LOGGER.info("Saving players"); this.s.savePlayers(); @@ -50,7 +50,7 @@ index ab3193295..5d13f053f 100644 try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets } -@@ -650,10 +651,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -689,10 +690,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.isRunning; } @@ -69,7 +69,7 @@ index ab3193295..5d13f053f 100644 // Paper start - Further improve server tick loop private static final int TPS = 20; private static final long SEC_IN_NANO = 1000000000; -@@ -1608,6 +1617,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1662,6 +1671,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.aa; } @@ -78,10 +78,10 @@ index ab3193295..5d13f053f 100644 return this.serverThread; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index fdbc01792..4c9ff8c29 100644 +index c8b5a610a..0b0d99652 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1345,10 +1345,15 @@ public abstract class PlayerList { +@@ -1338,10 +1338,15 @@ public abstract class PlayerList { entityplayer.playerInteractManager.b(generatoraccess.getWorldData().getGameType()); } @@ -98,7 +98,7 @@ index fdbc01792..4c9ff8c29 100644 } // CraftBukkit end // Paper start - Remove collideRule team if it exists -@@ -1359,6 +1364,7 @@ public abstract class PlayerList { +@@ -1352,6 +1357,7 @@ public abstract class PlayerList { } // Paper end } diff --git a/Spigot-Server-Patches/0184-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-Server-Patches/0184-Add-configuration-option-to-prevent-player-names-fro.patch index f1902243ad..fa1f9493a6 100644 --- a/Spigot-Server-Patches/0184-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-Server-Patches/0184-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From 7c1020f87381d93af07c2ac419e8780a643c7405 Mon Sep 17 00:00:00 2001 +From b7ebc8e864503bb53440d7d919063dbce2971df6 Mon Sep 17 00:00:00 2001 From: kashike Date: Fri, 9 Jun 2017 07:24:34 -0700 Subject: [PATCH] Add configuration option to prevent player names from being @@ -20,10 +20,10 @@ index ea6fcb39f..dbafef023 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1b6a849e2..470e334f7 100644 +index d7247a1ec..ff9346023 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2005,5 +2005,10 @@ public final class CraftServer implements Server { +@@ -1987,5 +1987,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch index 26ad8fc2bb..c972f52867 100644 --- a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From af3fcc467f9180b820aaa4e89b3695f7d7d420cd Mon Sep 17 00:00:00 2001 +From 9192bd2b48900aca881a1ac43bc94dfea1585a2f Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -19,10 +19,10 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index 17bc80776..47cb2c036 100644 +index 09b4ddf19..47e307a24 100644 --- a/pom.xml +++ b/pom.xml -@@ -40,12 +40,6 @@ +@@ -39,12 +39,6 @@ ${minecraft.version}-SNAPSHOT compile @@ -35,7 +35,7 @@ index 17bc80776..47cb2c036 100644 org.ow2.asm asm -@@ -70,6 +64,32 @@ +@@ -69,6 +63,32 @@ 3.0.3 compile @@ -68,7 +68,7 @@ index 17bc80776..47cb2c036 100644 junit -@@ -203,10 +223,18 @@ +@@ -202,10 +222,18 @@ META-INF/services/java.sql.Driver @@ -157,7 +157,7 @@ index 000000000..685deaa0e + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index a3d58b5ce..681194e94 100644 +index bf1fffcfe..af430b73f 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -79,6 +79,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -199,7 +199,7 @@ index a3d58b5ce..681194e94 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5d13f053f..c95f12351 100644 +index eb8c7aaad..88900121d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,6 @@ import org.apache.commons.lang3.Validate; @@ -210,7 +210,7 @@ index 5d13f053f..c95f12351 100644 import joptsimple.OptionSet; import org.bukkit.Bukkit; import org.bukkit.craftbukkit.CraftServer; -@@ -142,7 +141,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -143,7 +142,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati public OptionSet options; public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; @@ -219,7 +219,7 @@ index 5d13f053f..c95f12351 100644 public static int currentTick = 0; // Paper - Further improve tick loop public boolean serverAutoSave = false; // Paper public final Thread primaryThread; -@@ -184,7 +183,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -185,7 +184,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.ac.a((IResourcePackListener) this.al); // CraftBukkit start this.options = options; @@ -229,7 +229,7 @@ index 5d13f053f..c95f12351 100644 if (System.console() == null && System.getProperty("jline.terminal") == null) { System.setProperty("jline.terminal", "jline.UnsupportedTerminal"); Main.useJline = false; -@@ -205,6 +206,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -206,6 +207,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati LOGGER.warn((String) null, ex); } } @@ -238,7 +238,7 @@ index 5d13f053f..c95f12351 100644 Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this)); this.serverThread = primaryThread = new Thread(this, "Server thread"); // Moved from main -@@ -805,7 +808,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -844,7 +847,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } finally { // CraftBukkit start - Restore terminal to original settings try { @@ -247,7 +247,7 @@ index 5d13f053f..c95f12351 100644 } catch (Exception ignored) { } // CraftBukkit end -@@ -1286,7 +1289,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1340,7 +1343,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } public void sendMessage(IChatBaseComponent ichatbasecomponent) { @@ -257,7 +257,7 @@ index 5d13f053f..c95f12351 100644 public KeyPair G() { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 4c9ff8c29..9e403d625 100644 +index 0b0d99652..4cbe14801 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -78,8 +78,7 @@ public abstract class PlayerList { @@ -271,7 +271,7 @@ index 4c9ff8c29..9e403d625 100644 this.k = new GameProfileBanList(PlayerList.a); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8719fe35e..f6dfe2e2b 100644 +index ff9346023..21d9f381c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -137,8 +137,8 @@ import java.nio.ByteBuffer; @@ -284,7 +284,7 @@ index 8719fe35e..f6dfe2e2b 100644 import org.bukkit.NamespacedKey; import org.bukkit.block.data.BlockData; import org.bukkit.craftbukkit.block.data.CraftBlockData; -@@ -1141,9 +1141,13 @@ public final class CraftServer implements Server { +@@ -1123,9 +1123,13 @@ public final class CraftServer implements Server { return logger; } @@ -299,7 +299,7 @@ index 8719fe35e..f6dfe2e2b 100644 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index aad208f47..ac38028d7 100644 +index c552c624e..3245fded9 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -14,7 +14,7 @@ import java.util.logging.Logger; @@ -311,7 +311,7 @@ index aad208f47..ac38028d7 100644 public class Main { public static boolean useJline = true; -@@ -176,6 +176,8 @@ public class Main { +@@ -178,6 +178,8 @@ public class Main { } try { @@ -320,7 +320,7 @@ index aad208f47..ac38028d7 100644 // This trick bypasses Maven Shade's clever rewriting of our getProperty call when using String literals String jline_UnsupportedTerminal = new String(new char[] {'j','l','i','n','e','.','U','n','s','u','p','p','o','r','t','e','d','T','e','r','m','i','n','a','l'}); String jline_terminal = new String(new char[] {'j','l','i','n','e','.','t','e','r','m','i','n','a','l'}); -@@ -193,10 +195,18 @@ public class Main { +@@ -195,10 +197,18 @@ public class Main { // This ensures the terminal literal will always match the jline implementation System.setProperty(jline.TerminalFactory.JLINE_TERMINAL, jline.UnsupportedTerminal.class.getName()); } diff --git a/Spigot-Server-Patches/0186-provide-a-configurable-option-to-disable-creeper-lin.patch b/Spigot-Server-Patches/0186-provide-a-configurable-option-to-disable-creeper-lin.patch index 9bcf342695..6391c95b6f 100644 --- a/Spigot-Server-Patches/0186-provide-a-configurable-option-to-disable-creeper-lin.patch +++ b/Spigot-Server-Patches/0186-provide-a-configurable-option-to-disable-creeper-lin.patch @@ -1,4 +1,4 @@ -From bf87bdd3574f5c1a208ffe8ea73199994905069c Mon Sep 17 00:00:00 2001 +From 36d19d1a7e42d31db09f1d3b94cb2293dbf484df Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Jun 2017 21:01:18 +0100 Subject: [PATCH] provide a configurable option to disable creeper lingering @@ -21,11 +21,11 @@ index 99fe720e8..c80d84b9b 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index f286b6286..f37169d73 100644 +index 8b0134ecd..0147054df 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -214,7 +214,7 @@ public class EntityCreeper extends EntityMonster { - private void dF() { + private void dG() { Collection collection = this.getEffects(); - if (!collection.isEmpty()) { diff --git a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch index d75e9913d7..85c6d2cd7c 100644 --- a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 6a116ada95d75bf31b18a32818efe792c9b39d49 Mon Sep 17 00:00:00 2001 +From 5ba0adc0334b2371f2b4647ac4f91d800402923e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -429,10 +429,10 @@ index 70db1cc14..9ab3844fc 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c95f12351..26ace3cbf 100644 +index 88900121d..5d12855ba 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1115,7 +1115,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1157,7 +1157,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati */ // CraftBukkit end String s1 = "."; // PAIL? @@ -441,7 +441,7 @@ index c95f12351..26ace3cbf 100644 MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService(); GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository(); UserCache usercache = new UserCache(gameprofilerepository, new File(s1, MinecraftServer.a.getName())); -@@ -1563,6 +1563,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1617,6 +1617,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.G = i; } @@ -486,7 +486,7 @@ index a47a51a41..4c476f757 100644 private UserCacheEntry(GameProfile gameprofile, Date date) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ac46e50ac..a8da20e35 100644 +index 814a65ec5..202c6c492 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -152,6 +152,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; @@ -500,7 +500,7 @@ index ac46e50ac..a8da20e35 100644 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -2021,5 +2025,21 @@ public final class CraftServer implements Server { +@@ -2003,5 +2007,21 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/Spigot-Server-Patches/0194-Block-player-logins-during-server-shutdown.patch b/Spigot-Server-Patches/0194-Block-player-logins-during-server-shutdown.patch index 93755a20f3..084db50ba0 100644 --- a/Spigot-Server-Patches/0194-Block-player-logins-during-server-shutdown.patch +++ b/Spigot-Server-Patches/0194-Block-player-logins-during-server-shutdown.patch @@ -1,17 +1,17 @@ -From 147cea6aa1decfdcbf1f3d7fc2bca8f22fdaae5a Mon Sep 17 00:00:00 2001 +From dd04e617cb4eb245710fe0691eb157a0ab850400 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 2 Jul 2017 21:35:56 -0500 Subject: [PATCH] Block player logins during server shutdown diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 89a11a496..bab13a4fd 100644 +index b6e829682..85eff6e2d 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -50,6 +50,12 @@ public class LoginListener implements PacketLoginInListener, ITickable { } - public void X_() { + public void Y_() { + // Paper start - Do not allow logins while the server is shutting down + if (!MinecraftServer.getServer().isRunning()) { + this.disconnect(new ChatMessage(org.spigotmc.SpigotConfig.restartMessage)); diff --git a/Spigot-Server-Patches/0202-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0202-ProfileWhitelistVerifyEvent.patch index 5edff7a999..b4775558df 100644 --- a/Spigot-Server-Patches/0202-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-Server-Patches/0202-ProfileWhitelistVerifyEvent.patch @@ -1,11 +1,11 @@ -From 29abeacb899601637af19e18457fff1ba671f470 Mon Sep 17 00:00:00 2001 +From 81ace36f21de4341d47d827637fcfe406d40b33a Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 3 Jul 2017 18:11:10 -0500 Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 9e403d625..879780c5b 100644 +index 4cbe14801..45e42e998 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -543,9 +543,9 @@ public abstract class PlayerList { @@ -20,7 +20,7 @@ index 9e403d625..879780c5b 100644 } else if (getIPBans().isBanned(socketaddress) && !getIPBans().get(socketaddress).hasExpired()) { IpBanEntry ipbanentry = this.l.get(socketaddress); -@@ -1184,9 +1184,25 @@ public abstract class PlayerList { +@@ -1177,9 +1177,25 @@ public abstract class PlayerList { this.server.getCommandDispatcher().a(entityplayer); } diff --git a/Spigot-Server-Patches/0203-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0203-Fix-this-stupid-bullshit.patch index 074d34b953..4855f3b464 100644 --- a/Spigot-Server-Patches/0203-Fix-this-stupid-bullshit.patch +++ b/Spigot-Server-Patches/0203-Fix-this-stupid-bullshit.patch @@ -1,4 +1,4 @@ -From 65acab73c8ed9963f274dd34e30d183069604441 Mon Sep 17 00:00:00 2001 +From ae43b5d79b454b6a616f610119360894023cb5c1 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sun, 6 Aug 2017 17:17:53 -0500 Subject: [PATCH] Fix this stupid bullshit @@ -9,10 +9,10 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa and to provide some level of hint without being disruptive. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index ac38028d7..ad0635925 100644 +index 3245fded9..d4f6e009e 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -215,10 +215,12 @@ public class Main { +@@ -217,10 +217,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); deadline.add(Calendar.DAY_OF_YEAR, -3); if (buildDate.before(deadline.getTime())) { diff --git a/Spigot-Server-Patches/0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/Spigot-Server-Patches/0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch index 6d1d4a7fcd..ed0ebe3f64 100644 --- a/Spigot-Server-Patches/0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch +++ b/Spigot-Server-Patches/0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -1,4 +1,4 @@ -From 85d40c5071b3c70477b3dfbb204207f97904c8d3 Mon Sep 17 00:00:00 2001 +From 73bbebc2ba89bec6a0a886d598bac3901e2f81c8 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Mon, 18 Sep 2017 12:00:03 +0200 Subject: [PATCH] Use Log4j IOStreams to redirect System.out/err to logger @@ -12,10 +12,10 @@ results in a separate line, even though it should not result in a line break. Log4j's implementation handles it correctly. diff --git a/pom.xml b/pom.xml -index f2c7d2ba8b..fa6c3702a7 100644 +index 47e307a24..a93ed45df 100644 --- a/pom.xml +++ b/pom.xml -@@ -90,6 +90,13 @@ +@@ -89,6 +89,13 @@ runtime @@ -30,7 +30,7 @@ index f2c7d2ba8b..fa6c3702a7 100644 junit diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 681194e94f..927cbeedcd 100644 +index af430b73f..8c7630018 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -131,8 +131,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer diff --git a/Spigot-Server-Patches/0210-Handle-plugin-prefixes-using-Log4J-configuration.patch b/Spigot-Server-Patches/0210-Handle-plugin-prefixes-using-Log4J-configuration.patch index 344e696fb9..495741d009 100644 --- a/Spigot-Server-Patches/0210-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/Spigot-Server-Patches/0210-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -1,4 +1,4 @@ -From 3b947e0656877c19c211ce7680e3937ae5dea267 Mon Sep 17 00:00:00 2001 +From d5b28ecc49de351485333e2960919669c43780e7 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:14:55 +0200 Subject: [PATCH] Handle plugin prefixes using Log4J configuration @@ -15,10 +15,10 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/pom.xml b/pom.xml -index 9d2473317..eb2cdf129 100644 +index a93ed45df..bb32cb749 100644 --- a/pom.xml +++ b/pom.xml -@@ -87,7 +87,7 @@ +@@ -86,7 +86,7 @@ org.apache.logging.log4j log4j-core 2.8.1 @@ -28,7 +28,7 @@ index 9d2473317..eb2cdf129 100644 diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 9a1ffed07..b39096f04 100644 +index 676780b61..5a873fe9d 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -286,7 +286,7 @@ public class SpigotConfig diff --git a/Spigot-Server-Patches/0211-Include-Log4J2-SLF4J-implementation.patch b/Spigot-Server-Patches/0211-Include-Log4J2-SLF4J-implementation.patch index 9f1d8cf8c7..f15a0e056f 100644 --- a/Spigot-Server-Patches/0211-Include-Log4J2-SLF4J-implementation.patch +++ b/Spigot-Server-Patches/0211-Include-Log4J2-SLF4J-implementation.patch @@ -1,14 +1,14 @@ -From edb75eca4cd2549499d4475155065a2e73d4b9c0 Mon Sep 17 00:00:00 2001 +From 7c9fbb91ca5a19e2e151dbf2e4021220d5347a31 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:33:35 +0200 Subject: [PATCH] Include Log4J2 SLF4J implementation diff --git a/pom.xml b/pom.xml -index eb2cdf129..353a5560e 100644 +index bb32cb749..a319cfe3b 100644 --- a/pom.xml +++ b/pom.xml -@@ -91,6 +91,12 @@ +@@ -90,6 +90,12 @@ diff --git a/Spigot-Server-Patches/0213-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0213-Add-PlayerJumpEvent.patch index 70a5eb21b1..3c22920fa1 100644 --- a/Spigot-Server-Patches/0213-Add-PlayerJumpEvent.patch +++ b/Spigot-Server-Patches/0213-Add-PlayerJumpEvent.patch @@ -1,23 +1,23 @@ -From dd4f541fca1b685e85db063ff2813f6d552cb262 Mon Sep 17 00:00:00 2001 +From e2039fa94b546d69eae59942ae8af658cb991af5 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 28 Sep 2017 17:21:44 -0400 Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index f08c0ba60..1b944abea 100644 +index b20cab58b..1bfe9d0e7 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1460,6 +1460,7 @@ public abstract class EntityHuman extends EntityLiving { return 0; } -+ public void jump() { this.cG(); } // Paper - OBFHELPER - public void cG() { - super.cG(); ++ public void jump() { this.cH(); } // Paper - OBFHELPER + public void cH() { + super.cH(); this.a(StatisticList.JUMP); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 383ef87ba..480b93aa0 100644 +index 932eeb19d..7465c548a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -57,6 +57,8 @@ import org.bukkit.inventory.CraftingInventory; @@ -33,7 +33,7 @@ index 383ef87ba..480b93aa0 100644 d8 = d5 - this.p; d9 = d6 - this.q; if (this.player.onGround && !packetplayinflying.b() && d8 > 0.0D) { -- this.player.cG(); +- this.player.cH(); + // Paper start - Add player jump event + Player player = this.getPlayer(); + Location from = new Location(player.getWorld(), lastPosX, lastPosY, lastPosZ, lastYaw, lastPitch); // Get the Players previous Event location. diff --git a/Spigot-Server-Patches/0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch index c4ec08e7d0..c0d5b85eb2 100644 --- a/Spigot-Server-Patches/0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/Spigot-Server-Patches/0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch @@ -1,4 +1,4 @@ -From 6ded5c4dfe33c7a2da270fb889d550c0f89afcc2 Mon Sep 17 00:00:00 2001 +From 68d7cdfbe8d650efad86ee10f528f15670eabe04 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 31 Oct 2017 03:26:18 +0100 Subject: [PATCH] Send attack SoundEffects only to players who can see the @@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1b944abea..ae4dd621d 100644 +index 1bfe9d0e7..cd3e021a0 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -981,6 +981,15 @@ public abstract class EntityHuman extends EntityLiving { @@ -40,7 +40,7 @@ index 1b944abea..ae4dd621d 100644 - this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.bV(), 1.0F, 1.0F); + sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.bV(), 1.0F, 1.0F); // Paper - send while respecting visibility - this.dk(); + this.dl(); } @@ -1113,15 +1122,15 @@ public abstract class EntityHuman extends EntityLiving { @@ -72,7 +72,7 @@ index 1b944abea..ae4dd621d 100644 entity.extinguish(); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d0ce6b363..56292fad9 100644 +index 2f9aa10f8..2904a845b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -916,6 +916,12 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0224-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0224-AsyncTabCompleteEvent.patch index 9b522cc50a..74797e9ae6 100644 --- a/Spigot-Server-Patches/0224-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0224-AsyncTabCompleteEvent.patch @@ -1,4 +1,4 @@ -From 9b2ecdc4d560d69dfd41dad01498207a3ef040f9 Mon Sep 17 00:00:00 2001 +From f4914b7018762e1d9e23715905c35c231f5d697c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 26 Nov 2017 13:19:58 -0500 Subject: [PATCH] AsyncTabCompleteEvent @@ -14,7 +14,7 @@ completion, such as offline players. Also adds isCommand and getLocation to the sync TabCompleteEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7e96c4eb4..ab2bd6dae 100644 +index cb9f25e96..c0249933b 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -504,18 +504,59 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -85,10 +85,10 @@ index 7e96c4eb4..ab2bd6dae 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0ef1186b9..d605e5792 100644 +index 202c6c492..c74831b3d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1685,7 +1685,7 @@ public final class CraftServer implements Server { +@@ -1667,7 +1667,7 @@ public final class CraftServer implements Server { offers = tabCompleteChat(player, message); } diff --git a/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch index 43daec4af7..723436e45c 100644 --- a/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From a1e5ecf741cca8862642895e14580b92151b92ff Mon Sep 17 00:00:00 2001 +From 0d34338ddc54622e57515a7f8281f3726f33b1f6 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -177,10 +177,10 @@ index 000000000..350410527 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 26ace3cbf..bc2712898 100644 +index 5d12855ba..ebc0709eb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -871,7 +871,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -910,7 +910,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (i - this.Y >= 5000000000L) { this.Y = i; this.n.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.B(), this.A())); @@ -189,8 +189,8 @@ index 26ace3cbf..bc2712898 100644 int j = MathHelper.nextInt(this.o, 0, this.A() - agameprofile.length); for (int k = 0; k < agameprofile.length; ++k) { -@@ -1221,10 +1221,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati - return "1.13-pre7"; +@@ -1275,10 +1275,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + return "1.13"; } + public int getPlayerCount() { return A(); } // Paper - OBFHELPER @@ -251,7 +251,7 @@ index d7e1ecc03..f20cddc41 100644 this.c = agameprofile; } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index b39096f04..d89224e7d 100644 +index 5a873fe9d..42bd3b6ed 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -285,7 +285,7 @@ public class SpigotConfig diff --git a/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch index 4ed50da5b6..177a127264 100644 --- a/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 3cf669e70d479742197c2514cda5bd38a37c53d6 Mon Sep 17 00:00:00 2001 +From 2881f51e09aaf6feb720969e323bbdcb87b054b7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:40:24 -0400 Subject: [PATCH] getPlayerUniqueId API @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b1d3f2a5e..f3050b126 100644 +index c74831b3d..e860a83d3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1379,6 +1379,26 @@ public final class CraftServer implements Server { +@@ -1361,6 +1361,26 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch b/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch index 82714f879d..c3a6b276d4 100644 --- a/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch +++ b/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch @@ -1,4 +1,4 @@ -From b5b9280ab8819c53ce5fdcaf92e9967a002bc18a Mon Sep 17 00:00:00 2001 +From 2c487e159f55a7145d0e7a32048fa08fa60dcdae Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:15:55 -0400 Subject: [PATCH] EndermanEscapeEvent @@ -8,7 +8,7 @@ Fires an event anytime an enderman intends to teleport away from the player You may cancel this, enabling ranged attacks to damage the enderman for example. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index 96e29539b..e5eb0189d 100644 +index ddf64ee6c..a766b3895 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -1,6 +1,7 @@ @@ -39,7 +39,7 @@ index 96e29539b..e5eb0189d 100644 - if (f > 0.5F && this.world.e(new BlockPosition(this)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F) { + if (f > 0.5F && this.world.e(new BlockPosition(this)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && tryEscape(EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper this.setGoalTarget((EntityLiving) null); - this.dz(); + this.dA(); } @@ -247,7 +254,7 @@ public class EntityEnderman extends EntityMonster { public boolean damageEntity(DamageSource damagesource, float f) { @@ -48,7 +48,7 @@ index 96e29539b..e5eb0189d 100644 - } else if (damagesource instanceof EntityDamageSourceIndirect) { + } else if (damagesource instanceof EntityDamageSourceIndirect && tryEscape(EndermanEscapeEvent.Reason.INDIRECT)) { // Paper for (int i = 0; i < 64; ++i) { - if (this.dz()) { + if (this.dA()) { return true; @@ -258,7 +265,7 @@ public class EntityEnderman extends EntityMonster { } else { @@ -56,7 +56,7 @@ index 96e29539b..e5eb0189d 100644 - if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0) { + if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0 && tryEscape(damagesource == DamageSource.DROWN ? EndermanEscapeEvent.Reason.DROWN : EndermanEscapeEvent.Reason.CRITICAL_HIT)) { // Paper - this.dz(); + this.dA(); } @@ -347,7 +354,7 @@ public class EntityEnderman extends EntityMonster { @@ -74,7 +74,7 @@ index 96e29539b..e5eb0189d 100644 if (this.i.f((EntityHuman) this.d)) { - if (((EntityHuman) this.d).h(this.i) < 16.0D) { + if (((EntityHuman) this.d).h(this.i) < 16.0D && this.getEnderman().tryEscape(EndermanEscapeEvent.Reason.STARE)) { // Paper - this.i.dz(); + this.i.dA(); } -- diff --git a/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch b/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch index 437a1d66b1..076c64b117 100644 --- a/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch +++ b/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch @@ -1,4 +1,4 @@ -From 880a89e66ceb7046eff5ee0e63c34e8c58789991 Mon Sep 17 00:00:00 2001 +From 4554c34485e08548f66997ac51e4ae290a56eecf Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:29:44 -0400 Subject: [PATCH] Enderman.teleportRandomly() @@ -6,15 +6,15 @@ Subject: [PATCH] Enderman.teleportRandomly() Ability to trigger the vanilla "teleport randomly" mechanic of an enderman. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index e5eb0189d..df94b4ca9 100644 +index a766b3895..0f64c8f2b 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -184,6 +184,7 @@ public class EntityEnderman extends EntityMonster { super.mobTick(); } -+ public boolean teleportRandomly() { return dz(); } // Paper - OBFHELPER - protected boolean dz() { ++ public boolean teleportRandomly() { return dA(); } // Paper - OBFHELPER + protected boolean dA() { double d0 = this.locX + (this.random.nextDouble() - 0.5D) * 64.0D; double d1 = this.locY + (double) (this.random.nextInt(64) - 32); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java diff --git a/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch index 313cbaba6c..8c0187303a 100644 --- a/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch +++ b/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch @@ -1,4 +1,4 @@ -From 6ed48dc3d24f2c96bc25877a4b9039fb81dfe608 Mon Sep 17 00:00:00 2001 +From f00d585a8bbb438d74f7802fd5fb536bfc69185b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 01:18:49 -0400 Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event @@ -6,7 +6,7 @@ Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event Otherwise the creeper infinite explodes diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index f37169d73..86935f70a 100644 +index 0147054df..bbb4ca0fe 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -12,7 +12,7 @@ public class EntityCreeper extends EntityMonster { @@ -19,7 +19,7 @@ index f37169d73..86935f70a 100644 private int fuseTicks; public int maxFuseTicks = 30; @@ -205,6 +205,7 @@ public class EntityCreeper extends EntityMonster { - this.dF(); + this.dG(); } else { fuseTicks = 0; + this.datawatcher.set(isIgnitedDW, Boolean.valueOf(false)); // Paper diff --git a/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch index 6225fdc916..d37042c508 100644 --- a/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch @@ -1,4 +1,4 @@ -From 8d4c2d59264801c858ea9086dcda25380a409942 Mon Sep 17 00:00:00 2001 +From 1bf8f7ce7285ba62fda47503cf9ac20e460b2926 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:18:16 -0500 Subject: [PATCH] Make shield blocking delay configurable @@ -19,10 +19,10 @@ index f1db4becd..ef4bfb480 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index a4026d64a..dffa42ba5 100644 +index 999a02cad..eaab10a14 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2663,7 +2663,7 @@ public abstract class EntityLiving extends Entity { +@@ -2664,7 +2664,7 @@ public abstract class EntityLiving extends Entity { if (this.isHandRaised() && !this.activeItem.isEmpty()) { Item item = this.activeItem.getItem(); @@ -31,8 +31,8 @@ index a4026d64a..dffa42ba5 100644 } else { return false; } -@@ -2751,4 +2751,16 @@ public abstract class EntityLiving extends Entity { - public boolean de() { +@@ -2752,4 +2752,16 @@ public abstract class EntityLiving extends Entity { + public boolean df() { return true; } + @@ -49,7 +49,7 @@ index a4026d64a..dffa42ba5 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 460a050cc..35ba95e0f 100644 +index 524cfd99b..a6f847e31 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -530,5 +530,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch index 0716db9a0d..8470753b9d 100644 --- a/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From a8a715a958825c0714c667dd9fb939e330e09551 Mon Sep 17 00:00:00 2001 +From 8f9dd75bf0186ef9e145b0399cedd29b5b090740 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API @@ -6,29 +6,33 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 7cacbaffe..5f3ccee2e 100644 +index 4455dc489..8be1ba526 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2648,14 +2648,17 @@ public abstract class EntityLiving extends Entity { - - } - -+ public ItemStack getActiveItem() { return cV(); } // Paper - OBFHELPER - public ItemStack cV() { +@@ -106,7 +106,7 @@ public abstract class EntityLiving extends Entity { + private float bI; + private int bJ; + private float bK; +- protected ItemStack activeItem; ++ public ItemStack activeItem; // Paper - public + protected int bu; + protected int bv; + private BlockPosition bL; +@@ -2653,10 +2653,12 @@ public abstract class EntityLiving extends Entity { return this.activeItem; } -+ public int getItemUseRemainingTime() { return cW(); } // Paper - OBFHELPER - public int cW() { ++ public int getItemUseRemainingTime() { return cX(); } // Paper - OBFHELPER + public int cX() { return this.bu; } -+ public int getHandRaisedTime() { return cX(); } // Paper - OBFHELPER - public int cX() { - return this.isHandRaised() ? this.activeItem.k() - this.cW() : 0; ++ public int getHandRaisedTime() { return cY(); } // Paper - OBFHELPER + public int cY() { + return this.isHandRaised() ? this.activeItem.k() - this.cX() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 35ba95e0f..0975181e0 100644 +index a6f847e31..768bce141 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -540,5 +540,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -38,7 +42,7 @@ index 35ba95e0f..0975181e0 100644 + + @Override + public ItemStack getActiveItem() { -+ return getHandle().getActiveItem().asBukkitMirror(); ++ return getHandle().activeItem.asBukkitMirror(); + } + + @Override diff --git a/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch index 1caff55cf7..4dc1a88f01 100644 --- a/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From 087cf44f244fd8c9afe5831e5714891a26585028 Mon Sep 17 00:00:00 2001 +From a110ff1f46dcdda93c0d692af44fd4d36b0dbc26 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ac90ca802..9e798038b 100644 +index a5a63a01d..e504b7858 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -886,7 +886,7 @@ public class Chunk implements IChunkAccess { @@ -29,11 +29,11 @@ index ac90ca802..9e798038b 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 4aba5716c..d84bb0e40 100644 +index 738ac8570..14a61f68e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -153,7 +153,7 @@ public abstract class EntityHuman extends EntityLiving { - this.df(); + this.dg(); super.tick(); if (!this.world.isClientSide && this.activeContainer != null && !this.activeContainer.canUse(this)) { - this.closeInventory(); @@ -56,7 +56,7 @@ index 4aba5716c..d84bb0e40 100644 this.activeContainer = this.defaultContainer; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 5db6e0764..99c638857 100644 +index 7059fc118..0c01f8daf 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -343,7 +343,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -110,7 +110,7 @@ index 5db6e0764..99c638857 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 067f7b990..97b315bca 100644 +index 42bb86d31..2860df860 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2038,7 +2038,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -123,7 +123,7 @@ index 067f7b990..97b315bca 100644 this.player.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 879780c5b..907f0232b 100644 +index 45e42e998..7a2b219c6 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -422,7 +422,7 @@ public abstract class PlayerList { @@ -155,7 +155,7 @@ index 4b9ecb4a6..b602a5d1b 100644 public boolean isBlocking() { return getHandle().isBlocking(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 60bc6d331..b25980027 100644 +index ab9956fa2..0f3e1d5ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -687,7 +687,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch index 3f8946ea49..b42c6fd7f3 100644 --- a/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch +++ b/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch @@ -1,14 +1,14 @@ -From 1b2b2a7ce9672bd95eb9708047a5761eb9b64b80 Mon Sep 17 00:00:00 2001 +From 4f6298ddaea7e4a4437ea321033433a16d8cf8fd Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 17 Jul 2018 16:42:17 +0200 Subject: [PATCH] Use asynchronous Log4j 2 loggers diff --git a/pom.xml b/pom.xml -index a034c87d6..efa52f356 100644 +index a319cfe3b..ddee1b048 100644 --- a/pom.xml +++ b/pom.xml -@@ -103,6 +103,14 @@ +@@ -102,6 +102,14 @@ 2.8.1 diff --git a/work/BuildData b/work/BuildData index a5effc6142..351106b633 160000 --- a/work/BuildData +++ b/work/BuildData @@ -1 +1 @@ -Subproject commit a5effc614208d06202688a775f25d7b820b36d47 +Subproject commit 351106b6336fc52f6acf94aabd34ac54fc772432 diff --git a/work/Bukkit b/work/Bukkit index 2ba30dddd4..7f22259662 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 2ba30dddd4acb3bd789b4e487ed0647984576e8c +Subproject commit 7f2225966203a65e7d2c32d686121360489375f3 diff --git a/work/CraftBukkit b/work/CraftBukkit index 961295e432..4e2f571337 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 961295e4327324766a0404857c1ca85051971995 +Subproject commit 4e2f57133714acc3f84bec56d8ebcbcfc0228326 diff --git a/work/Spigot b/work/Spigot index 3fa6cc486b..ed1cec9ae9 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 3fa6cc486bf213165cc95cc3809162036cf9bf78 +Subproject commit ed1cec9ae9ee07f1b51bdda14dfe14b40e92c9ed From c025f19c314f1f948016a8626e5793d133e3e173 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 01:30:37 -0400 Subject: [PATCH 22/70] because upstream force pushed... lets try again --- work/Bukkit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/work/Bukkit b/work/Bukkit index 7f22259662..7731ecdea4 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 7f2225966203a65e7d2c32d686121360489375f3 +Subproject commit 7731ecdea45210a641cedc66d7ef91a8176e3cfc From 4b66f1978dfe8c180ae560e75d17518d932beee3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 13:10:15 -0400 Subject: [PATCH 23/70] Update upstream --- ...0019-Remove-invalid-mob-spawner-tile-entities.patch | 6 +++--- Spigot-Server-Patches/0028-Lighting-Queue.patch | 6 +++--- ...8-Avoid-hopper-searches-if-there-are-no-items.patch | 8 ++++---- .../0057-Add-exception-reporting-event.patch | 6 +++--- .../0086-Configurable-Chunk-Inhabited-Timer.patch | 6 +++--- .../0139-Auto-Save-Improvements.patch | 6 +++--- .../0144-Option-to-remove-corrupt-tile-entities.patch | 8 ++++---- .../0289-InventoryCloseEvent-Reason-API.patch | 8 ++++---- .../0302-Duplicate-UUID-Resolve-Option.patch | 10 +++++----- work/CraftBukkit | 2 +- 10 files changed, 33 insertions(+), 33 deletions(-) diff --git a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch index 9756b48932..741bf00d81 100644 --- a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch +++ b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch @@ -1,14 +1,14 @@ -From ab5cb9f6f247e8ddd7219a298e41a4f5fffab5e5 Mon Sep 17 00:00:00 2001 +From ea2724d8433bd98200623fc0b3b9c6e9c9a4f406 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 15:08:03 -0600 Subject: [PATCH] Remove invalid mob spawner tile entities diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 3b97981bc..4a4cc6c59 100644 +index 0a0d04cf6..adf3dee2e 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -777,6 +777,10 @@ public class Chunk implements IChunkAccess { +@@ -774,6 +774,10 @@ public class Chunk implements IChunkAccess { tileentity.z(); this.tileEntities.put(blockposition, tileentity); // CraftBukkit start diff --git a/Spigot-Server-Patches/0028-Lighting-Queue.patch b/Spigot-Server-Patches/0028-Lighting-Queue.patch index bd89b86ecf..ec3567f1b7 100644 --- a/Spigot-Server-Patches/0028-Lighting-Queue.patch +++ b/Spigot-Server-Patches/0028-Lighting-Queue.patch @@ -1,4 +1,4 @@ -From 6a23a851deddbd06d8dbde1734d8ebd1644fb666 Mon Sep 17 00:00:00 2001 +From 6cb336dbbff71913a308dcd2a18fc2db4c6c6c6a Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 00:52:31 -0600 Subject: [PATCH] Lighting Queue @@ -43,7 +43,7 @@ index a340866f3..1e3405cc1 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 091a53371..d46578b3e 100644 +index adf3dee2e..eb7a41977 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -91,6 +91,7 @@ public class Chunk implements IChunkAccess { @@ -84,7 +84,7 @@ index 091a53371..d46578b3e 100644 } TileEntity tileentity; -@@ -1290,6 +1300,16 @@ public class Chunk implements IChunkAccess { +@@ -1287,6 +1297,16 @@ public class Chunk implements IChunkAccess { return this.E == 8; } diff --git a/Spigot-Server-Patches/0048-Avoid-hopper-searches-if-there-are-no-items.patch b/Spigot-Server-Patches/0048-Avoid-hopper-searches-if-there-are-no-items.patch index 645e874428..b228cd3320 100644 --- a/Spigot-Server-Patches/0048-Avoid-hopper-searches-if-there-are-no-items.patch +++ b/Spigot-Server-Patches/0048-Avoid-hopper-searches-if-there-are-no-items.patch @@ -1,4 +1,4 @@ -From ea3bad289da996b408a4296df89f75f24925f97e Mon Sep 17 00:00:00 2001 +From 95ed822af92f103ee523e42be376d2136d663b7b Mon Sep 17 00:00:00 2001 From: CullanP Date: Thu, 3 Mar 2016 02:13:38 -0600 Subject: [PATCH] Avoid hopper searches if there are no items @@ -14,7 +14,7 @@ And since minecart hoppers are used _very_ rarely near we can avoid alot of sear Combined, this adds up a lot. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b0060c363..2d55abd7a 100644 +index eb7a41977..0d80d811a 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -92,6 +92,10 @@ public class Chunk implements IChunkAccess { @@ -52,7 +52,7 @@ index b0060c363..2d55abd7a 100644 entity.setCurrentChunk(null); entityCounts.decrement(entity.entityKeyString); // Paper end -@@ -901,6 +915,15 @@ public class Chunk implements IChunkAccess { +@@ -898,6 +912,15 @@ public class Chunk implements IChunkAccess { if (!this.entitySlices[k].isEmpty()) { Iterator iterator = this.entitySlices[k].iterator(); @@ -68,7 +68,7 @@ index b0060c363..2d55abd7a 100644 while (iterator.hasNext()) { Entity entity1 = (Entity) iterator.next(); -@@ -937,7 +960,18 @@ public class Chunk implements IChunkAccess { +@@ -934,7 +957,18 @@ public class Chunk implements IChunkAccess { i = MathHelper.clamp(i, 0, this.entitySlices.length - 1); j = MathHelper.clamp(j, 0, this.entitySlices.length - 1); diff --git a/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch index 2a7408d55d..6461894025 100644 --- a/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 1bba90c8786ff7744430062680e3f9f2fb1e09be Mon Sep 17 00:00:00 2001 +From bc419c45755963ad83e1443d17994292bfa81259 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -50,7 +50,7 @@ index 000000000..93397188b +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0c2540938..15ecac26c 100644 +index 0d80d811a..e3f7ec610 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -77,7 +77,7 @@ index 0c2540938..15ecac26c 100644 public IBlockData getType(BlockPosition blockposition) { return this.getBlockData(blockposition.getX(), blockposition.getY(), blockposition.getZ()); } -@@ -806,10 +810,15 @@ public class Chunk implements IChunkAccess { +@@ -803,10 +807,15 @@ public class Chunk implements IChunkAccess { this.tileEntities.remove(blockposition); // Paper end } else { diff --git a/Spigot-Server-Patches/0086-Configurable-Chunk-Inhabited-Timer.patch b/Spigot-Server-Patches/0086-Configurable-Chunk-Inhabited-Timer.patch index 43118563eb..4ccd7716aa 100644 --- a/Spigot-Server-Patches/0086-Configurable-Chunk-Inhabited-Timer.patch +++ b/Spigot-Server-Patches/0086-Configurable-Chunk-Inhabited-Timer.patch @@ -1,4 +1,4 @@ -From 1ab4c742c0d8d9b7da4be54e6228aca0471342e9 Mon Sep 17 00:00:00 2001 +From 3ba69a9113ba68ccbe0efb4fc90b93e7116a8a9e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:46:14 -0400 Subject: [PATCH] Configurable Chunk Inhabited Timer @@ -23,7 +23,7 @@ index 1c2209270..17fb883f6 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 1c0580f79..744b5bc6d 100644 +index 5d1812ab0..695c6d3b7 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -55,7 +55,7 @@ public class Chunk implements IChunkAccess { @@ -35,7 +35,7 @@ index 1c0580f79..744b5bc6d 100644 private int B; private final ConcurrentLinkedQueue C; public boolean d; -@@ -1231,7 +1231,7 @@ public class Chunk implements IChunkAccess { +@@ -1228,7 +1228,7 @@ public class Chunk implements IChunkAccess { } public long m() { diff --git a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch index 75d9199035..ee10df8e03 100644 --- a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From b790f76209c8a401084cc4d03b4c78164ee79c41 Mon Sep 17 00:00:00 2001 +From 10a2933aa9c03c4525c9e19672a5532ea55965e4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -64,7 +64,7 @@ index 0e6c18b32..c182ceffb 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 99421aca9..ee992e346 100644 +index c27073d27..06d6814b8 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -52,9 +52,9 @@ public class Chunk implements IChunkAccess { @@ -79,7 +79,7 @@ index 99421aca9..ee992e346 100644 private int z; private long A; public long getInhabitedTime() { return A; } // Paper - OBFHELPER private int B; -@@ -1013,11 +1013,11 @@ public class Chunk implements IChunkAccess { +@@ -1010,11 +1010,11 @@ public class Chunk implements IChunkAccess { if (this.w && this.world.getTime() != this.lastSaved || this.y) { return true; } diff --git a/Spigot-Server-Patches/0144-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0144-Option-to-remove-corrupt-tile-entities.patch index 445794536d..0445b2649d 100644 --- a/Spigot-Server-Patches/0144-Option-to-remove-corrupt-tile-entities.patch +++ b/Spigot-Server-Patches/0144-Option-to-remove-corrupt-tile-entities.patch @@ -1,4 +1,4 @@ -From 04a43a703bb0f5eef6a82418f681d69837c38f6e Mon Sep 17 00:00:00 2001 +From 2a9a58bbd5fc82a274e2189b2fd43d7719e6c64c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 5 Oct 2016 16:27:36 -0500 Subject: [PATCH] Option to remove corrupt tile entities @@ -19,10 +19,10 @@ index c182ceffb..9a2ec0793 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 5163bd11b..f31524eb0 100644 +index 06d6814b8..7a797bef0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -832,6 +832,12 @@ public class Chunk implements IChunkAccess { +@@ -829,6 +829,12 @@ public class Chunk implements IChunkAccess { "Chunk coordinates: " + (this.locX * 16) + "," + (this.locZ * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); @@ -35,7 +35,7 @@ index 5163bd11b..f31524eb0 100644 // Paper end // CraftBukkit end } -@@ -841,6 +847,7 @@ public class Chunk implements IChunkAccess { +@@ -838,6 +844,7 @@ public class Chunk implements IChunkAccess { this.i.put(new BlockPosition(nbttagcompound.getInt("x"), nbttagcompound.getInt("y"), nbttagcompound.getInt("z")), nbttagcompound); } diff --git a/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch index 4dc1a88f01..911d167e92 100644 --- a/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From a110ff1f46dcdda93c0d692af44fd4d36b0dbc26 Mon Sep 17 00:00:00 2001 +From bb581a508ed49e47db77cfe8cd9a3fb642b03acc Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,10 +7,10 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a5a63a01d..e504b7858 100644 +index 7a797bef0..7a7d65692 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -886,7 +886,7 @@ public class Chunk implements IChunkAccess { +@@ -883,7 +883,7 @@ public class Chunk implements IChunkAccess { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -19,7 +19,7 @@ index a5a63a01d..e504b7858 100644 } } } -@@ -911,7 +911,7 @@ public class Chunk implements IChunkAccess { +@@ -908,7 +908,7 @@ public class Chunk implements IChunkAccess { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { diff --git a/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch index 26686fc3b3..f0315797f8 100644 --- a/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 5f6f08cc867183a3e8e3e5d52a3d31d030100e4c Mon Sep 17 00:00:00 2001 +From 92a07e301c03b31ac531b25614d11b10168c3ae8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -78,7 +78,7 @@ index 7bd7aa0d9..ba6d5b7ff 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 03afa1236..1f50004cb 100644 +index b37fa3829..c56e435b1 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -108,7 +108,7 @@ index 03afa1236..1f50004cb 100644 } int k = MathHelper.floor(entity.locY / 16.0D); -@@ -868,6 +875,37 @@ public class Chunk implements IChunkAccess { +@@ -865,6 +872,37 @@ public class Chunk implements IChunkAccess { for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot @@ -147,7 +147,7 @@ index 03afa1236..1f50004cb 100644 this.world.a((Collection) entityslice); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d725bf13e..7154692ee 100644 +index be3b1f096..6eceb1dce 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2735,6 +2735,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -159,7 +159,7 @@ index d725bf13e..7154692ee 100644 this.uniqueID = uuid; this.au = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 013f4eef5..b9d03d801 100644 +index 747d99dbe..7a9f28421 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -40,7 +40,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/work/CraftBukkit b/work/CraftBukkit index 4e2f571337..1c7adf74e4 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 4e2f57133714acc3f84bec56d8ebcbcfc0228326 +Subproject commit 1c7adf74e45bb83545603c1e4b7974ad979c442c From 4dd6ddb86b9cc27e0cbd42d1f7baf6675914360a Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 18:46:13 -0400 Subject: [PATCH 24/70] Re-add block inlining - Closes #1229 Also reordered MC Utils to be higher up --- ...008-MC-Utils.patch => 0004-MC-Utils.patch} | 23 ++- ...Metrics.patch => 0005-Paper-Metrics.patch} | 4 +- ...MinecraftKey-Information-to-Objects.patch} | 10 +- ...o-current-Chunk-for-Entity-and-Bloc.patch} | 10 +- ...s-for-each-Entity-Block-Entity-Type.patch} | 4 +- ...Location-getType-and-getBlockData-fo.patch | 8 +- ...-Speedup-BlockPos-by-fixing-inlining.patch | 171 ++++++++++-------- 7 files changed, 124 insertions(+), 106 deletions(-) rename Spigot-Server-Patches/{0008-MC-Utils.patch => 0004-MC-Utils.patch} (97%) rename Spigot-Server-Patches/{0004-Paper-Metrics.patch => 0005-Paper-Metrics.patch} (99%) rename Spigot-Server-Patches/{0005-Add-MinecraftKey-Information-to-Objects.patch => 0006-Add-MinecraftKey-Information-to-Objects.patch} (96%) rename Spigot-Server-Patches/{0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch => 0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch} (97%) rename Spigot-Server-Patches/{0007-Store-counts-for-each-Entity-Block-Entity-Type.patch => 0008-Store-counts-for-each-Entity-Block-Entity-Type.patch} (95%) rename removed/server/0174-Speedup-BlockPos-by-fixing-inlining.patch => Spigot-Server-Patches/0305-Speedup-BlockPos-by-fixing-inlining.patch (51%) diff --git a/Spigot-Server-Patches/0008-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch similarity index 97% rename from Spigot-Server-Patches/0008-MC-Utils.patch rename to Spigot-Server-Patches/0004-MC-Utils.patch index 93dd00f914..0b266a33af 100644 --- a/Spigot-Server-Patches/0008-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,4 +1,4 @@ -From 34e03f427dce5395f45f2fbfa8400f4c40b73194 Mon Sep 17 00:00:00 2001 +From cfbaba5f9368ad26dde9c81f8a41a73743a39239 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils @@ -18,19 +18,18 @@ index c3e990bdf..e2a7b4be2 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 121a137f3..35ec4981c 100644 +index 121a137f3..279045e49 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java -@@ -10,7 +10,7 @@ import org.apache.logging.log4j.Logger; +@@ -10,7 +10,6 @@ import org.apache.logging.log4j.Logger; @Immutable public class BlockPosition extends BaseBlockPosition { - private static final Logger b = LogManager.getLogger(); -+ private static final Logger LOGGER = LogManager.getLogger(); // Paper - b > LOGGER - attempts to avoid /some/ stupidity public static final BlockPosition ZERO = new BlockPosition(0, 0, 0); private static final int c = 1 + MathHelper.e(MathHelper.c(30000000)); private static final int d = BlockPosition.c; -@@ -45,6 +45,7 @@ public class BlockPosition extends BaseBlockPosition { +@@ -45,6 +44,7 @@ public class BlockPosition extends BaseBlockPosition { return d0 == 0.0D && d1 == 0.0D && d2 == 0.0D ? this : new BlockPosition((double) this.getX() + d0, (double) this.getY() + d1, (double) this.getZ() + d2); } @@ -38,7 +37,7 @@ index 121a137f3..35ec4981c 100644 public BlockPosition a(int i, int j, int k) { return i == 0 && j == 0 && k == 0 ? this : new BlockPosition(this.getX() + i, this.getY() + j, this.getZ() + k); } -@@ -382,6 +383,7 @@ public class BlockPosition extends BaseBlockPosition { +@@ -382,6 +382,7 @@ public class BlockPosition extends BaseBlockPosition { return this.d; } @@ -46,7 +45,7 @@ index 121a137f3..35ec4981c 100644 public BlockPosition.MutableBlockPosition c(int i, int j, int k) { this.b = i; this.c = j; -@@ -389,6 +391,7 @@ public class BlockPosition extends BaseBlockPosition { +@@ -389,6 +390,7 @@ public class BlockPosition extends BaseBlockPosition { return this; } @@ -55,7 +54,7 @@ index 121a137f3..35ec4981c 100644 return this.c(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2)); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0ae780c8e..3b97981bc 100644 +index 411ab6061..cd4fbee0c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -28,7 +28,7 @@ import com.google.common.collect.Lists; // CraftBukkit @@ -67,7 +66,7 @@ index 0ae780c8e..3b97981bc 100644 private final ChunkSection[] sections; private final BiomeBase[] g; private final boolean[] h; -@@ -730,6 +730,7 @@ public class Chunk implements IChunkAccess { +@@ -693,6 +693,7 @@ public class Chunk implements IChunkAccess { return this.a(blockposition, Chunk.EnumTileEntityState.CHECK); } @@ -89,7 +88,7 @@ index 00a530c51..2947d9ff6 100644 return (long) i & 4294967295L | ((long) j & 4294967295L) << 32; } diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 97cfd6695..81605b10f 100644 +index ca2a14d7a..9a513b4e3 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -122,7 +121,7 @@ index 97cfd6695..81605b10f 100644 @Nullable public static MinecraftKey getName(EntityTypes entitytypes) { -@@ -278,7 +290,7 @@ public class EntityTypes { +@@ -277,7 +289,7 @@ public class EntityTypes { public static class a { @@ -601,7 +600,7 @@ index b3c944d70..a8280acf9 100644 - } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2fb86aa19..6f21b01a8 100644 +index 2f2f4c6c6..556989f60 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -66,9 +66,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0004-Paper-Metrics.patch b/Spigot-Server-Patches/0005-Paper-Metrics.patch similarity index 99% rename from Spigot-Server-Patches/0004-Paper-Metrics.patch rename to Spigot-Server-Patches/0005-Paper-Metrics.patch index dfed421da9..c3151bf58a 100644 --- a/Spigot-Server-Patches/0004-Paper-Metrics.patch +++ b/Spigot-Server-Patches/0005-Paper-Metrics.patch @@ -1,4 +1,4 @@ -From c6779cede78872af84c68078b5c44deff9b32089 Mon Sep 17 00:00:00 2001 +From 7c4375fab7a71d9ff634dd0c4a2d1aaba13cee49 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 24 Mar 2017 23:56:01 -0500 Subject: [PATCH] Paper Metrics @@ -671,7 +671,7 @@ index 3d8ee9ed3..5ab2cf6ee 100644 static void readConfig(Class clazz, Object instance) { diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index ac36ea08e..09100408e 100644 +index 5175e9523..676780b61 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -84,6 +84,7 @@ public class SpigotConfig diff --git a/Spigot-Server-Patches/0005-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch similarity index 96% rename from Spigot-Server-Patches/0005-Add-MinecraftKey-Information-to-Objects.patch rename to Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch index ed6d118426..9b6e781f21 100644 --- a/Spigot-Server-Patches/0005-Add-MinecraftKey-Information-to-Objects.patch +++ b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch @@ -1,4 +1,4 @@ -From a0f2f840d13536973078d4e2700e65ceff320081 Mon Sep 17 00:00:00 2001 +From 6e81d6e82a4e7ba0d6c513918f3a3f597851df36 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 01:40:13 -0400 Subject: [PATCH] Add MinecraftKey Information to Objects @@ -26,7 +26,7 @@ index a0ebc1eaa..e4c771a39 100644 + } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 515c9d875..53fc37088 100644 +index 3fa32228b..e65558f7a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -45,7 +45,7 @@ import org.bukkit.event.entity.EntityPortalEvent; @@ -88,10 +88,10 @@ index 515c9d875..53fc37088 100644 protected abstract void a(NBTTagCompound nbttagcompound); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 557a3f97f..97cfd6695 100644 +index 9a513b4e3..fa268f354 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java -@@ -226,6 +226,7 @@ public class EntityTypes { +@@ -238,6 +238,7 @@ public class EntityTypes { } } @@ -114,7 +114,7 @@ index 000000000..61c2b993c + } +} diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 093e7eb7f..b09325097 100644 +index 8a0453245..257dd1da9 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -7,11 +7,11 @@ import org.apache.logging.log4j.Logger; diff --git a/Spigot-Server-Patches/0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch similarity index 97% rename from Spigot-Server-Patches/0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch rename to Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch index 8f60c65ff8..c2b1b2e36c 100644 --- a/Spigot-Server-Patches/0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch +++ b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch @@ -1,4 +1,4 @@ -From 9f15dcf160d9412793b5069dfa9d92e692ac1abc Mon Sep 17 00:00:00 2001 +From 241415266671ef0d001deac110827cb2cd1e46bb Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:10:36 -0400 Subject: [PATCH] Store reference to current Chunk for Entity and Block @@ -8,7 +8,7 @@ This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 9500c456d..120e66c78 100644 +index cd4fbee0c..7837f1024 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -33,7 +33,7 @@ public class Chunk implements IChunkAccess { @@ -86,7 +86,7 @@ index 9500c456d..120e66c78 100644 public boolean c(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 53fc37088..1ef52cc6d 100644 +index e65558f7a..36cc0c18d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1786,6 +1786,40 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -131,7 +131,7 @@ index 53fc37088..1ef52cc6d 100644 public final String entityKeyString; diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index b09325097..b992360ac 100644 +index 257dd1da9..cffbcb8f7 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -38,6 +38,15 @@ public abstract class TileEntity implements KeyedObject { @@ -151,7 +151,7 @@ index b09325097..b992360ac 100644 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 70143c4d3..1e3675e4f 100644 +index 72164e11a..f09251eec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -9,6 +9,7 @@ import java.util.UUID; diff --git a/Spigot-Server-Patches/0007-Store-counts-for-each-Entity-Block-Entity-Type.patch b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch similarity index 95% rename from Spigot-Server-Patches/0007-Store-counts-for-each-Entity-Block-Entity-Type.patch rename to Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch index 807ae934d2..9dbbf1792d 100644 --- a/Spigot-Server-Patches/0007-Store-counts-for-each-Entity-Block-Entity-Type.patch +++ b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch @@ -1,4 +1,4 @@ -From fd0ed98b73db46e809681e54d3b823d7b710b507 Mon Sep 17 00:00:00 2001 +From 54bc9c613540e749baf2c4582f5000d0ea7f9ae9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:13:59 -0400 Subject: [PATCH] Store counts for each Entity/Block Entity Type @@ -6,7 +6,7 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type Opens door for future patches to optimize performance diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 120e66c78..0ae780c8e 100644 +index 7837f1024..0a0d04cf6 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -64,15 +64,19 @@ public class Chunk implements IChunkAccess { diff --git a/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index 9635d0a07c..3488e657f9 100644 --- a/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From 2ad7998f791d185616cd9fe917db69a70eed172a Mon Sep 17 00:00:00 2001 +From 6ebe7f1a09ee9925c972a7800d3c654e3d86695e Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -31,10 +31,10 @@ index e2a7b4be2..58f8b4b72 100644 public BaseBlockPosition(int i, int j, int k) { this.a = i; diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 35ec4981c..ca73ac82f 100644 +index 279045e49..7122a9aa8 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java -@@ -339,6 +339,16 @@ public class BlockPosition extends BaseBlockPosition { +@@ -338,6 +338,16 @@ public class BlockPosition extends BaseBlockPosition { protected int b; protected int c; protected int d; @@ -52,7 +52,7 @@ index 35ec4981c..ca73ac82f 100644 public MutableBlockPosition() { this(0, 0, 0); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0dc05b644..94d036865 100644 +index 32c1dbd0b..5d1812ab0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -430,12 +430,24 @@ public class Chunk implements IChunkAccess { diff --git a/removed/server/0174-Speedup-BlockPos-by-fixing-inlining.patch b/Spigot-Server-Patches/0305-Speedup-BlockPos-by-fixing-inlining.patch similarity index 51% rename from removed/server/0174-Speedup-BlockPos-by-fixing-inlining.patch rename to Spigot-Server-Patches/0305-Speedup-BlockPos-by-fixing-inlining.patch index 82925800bb..15d1b98326 100644 --- a/removed/server/0174-Speedup-BlockPos-by-fixing-inlining.patch +++ b/Spigot-Server-Patches/0305-Speedup-BlockPos-by-fixing-inlining.patch @@ -1,4 +1,4 @@ -From 3492554953e265e90b7507d8085b7ee78ab418fc Mon Sep 17 00:00:00 2001 +From 24b5fbaa4e37f418c3eefd5a6ab6678aa6e095ac Mon Sep 17 00:00:00 2001 From: Techcable Date: Wed, 30 Nov 2016 20:56:58 -0600 Subject: [PATCH] Speedup BlockPos by fixing inlining @@ -21,96 +21,108 @@ This is based upon conclusions drawn from inspecting the assenmbly generated byt They had 'callq' (invoke) instead of 'mov' (get from memory) instructions. diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 679d5504e..8e737718e 100644 +index 58f8b4b72..98992513d 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java -@@ -7,11 +7,12 @@ import javax.annotation.concurrent.Immutable; +@@ -7,22 +7,22 @@ import javax.annotation.concurrent.Immutable; public class BaseBlockPosition implements Comparable { public static final BaseBlockPosition ZERO = new BaseBlockPosition(0, 0, 0); - private final int a; - private final int b; - private final int c; -- // Paper start -- public boolean isValidLocation() { -+ // Paper start - Make mutable and protected for MutableBlockPos and PooledBlockPos -+ protected int a; -+ protected int b; -+ protected int c; -+ -+ public final boolean isValidLocation() { - return a >= -30000000 && c >= -30000000 && a < 30000000 && c < 30000000 && b >= 0 && b < 256; + // Paper start ++ protected int x; ++ protected int y; ++ protected int z; + public boolean isValidLocation() { +- return a >= -30000000 && c >= -30000000 && a < 30000000 && c < 30000000 && b >= 0 && b < 256; ++ return x >= -30000000 && z >= -30000000 && x < 30000000 && z < 30000000 && y >= 0 && y < 256; } public boolean isInvalidYLocation() { -@@ -49,17 +50,19 @@ public class BaseBlockPosition implements Comparable { +- return b < 0 || b >= 256; ++ return y < 0 || y >= 256; + } + // Paper end + + public BaseBlockPosition(int i, int j, int k) { +- this.a = i; +- this.b = j; +- this.c = k; ++ this.x = i; ++ this.y = j; ++ this.z = k; + } + + public BaseBlockPosition(double d0, double d1, double d2) { +@@ -49,17 +49,19 @@ public class BaseBlockPosition implements Comparable { return this.getY() == baseblockposition.getY() ? (this.getZ() == baseblockposition.getZ() ? this.getX() - baseblockposition.getX() : this.getZ() - baseblockposition.getZ()) : this.getY() - baseblockposition.getY(); } - public int getX() { -+ // Paper start - Only allow a single implementation +- return this.a; ++ // Paper start + public final int getX() { - return this.a; ++ return this.x; } -- public int getY() { -+ public final int getY() { - return this.b; + public int getY() { +- return this.b; ++ return this.y; } -- public int getZ() { -+ public final int getZ() { - return this.c; + public int getZ() { +- return this.c; ++ return this.z; } + // Paper end public BaseBlockPosition d(BaseBlockPosition baseblockposition) { return new BaseBlockPosition(this.getY() * baseblockposition.getZ() - this.getZ() * baseblockposition.getY(), this.getZ() * baseblockposition.getX() - this.getX() * baseblockposition.getZ(), this.getX() * baseblockposition.getY() - this.getY() * baseblockposition.getX()); diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index b3c1f550c..6a0b3a62d 100644 +index 7122a9aa8..2f6fc330b 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java -@@ -211,19 +211,21 @@ public class BlockPosition extends BaseBlockPosition { - if (this.b == null) { - this.b = new BlockPosition.MutableBlockPosition(i, j, k); - return this.b; -- } else if (this.b.b == l && this.b.c == i1 && this.b.d == j1) { -+ // Paper start - b, c, d, refer to x, y, z, and as such, a, b, c of BaseBlockPosition -+ } else if (((BaseBlockPosition)this.b).a == l && ((BaseBlockPosition)this.b).b == i1 && ((BaseBlockPosition)this.b).c == j1) { - return (BlockPosition.MutableBlockPosition) this.endOfData(); - } else { -- if (this.b.b < l) { -- ++this.b.b; -- } else if (this.b.c < i1) { -- this.b.b = i; -- ++this.b.c; -- } else if (this.b.d < j1) { -- this.b.b = i; -- this.b.c = j; -- ++this.b.d; -+ if (((BaseBlockPosition) this.b).a < l) { -+ ++((BaseBlockPosition) this.b).a; -+ } else if (((BaseBlockPosition) this.b).b < i1) { -+ ((BaseBlockPosition) this.b).a = i; -+ ++((BaseBlockPosition) this.b).b; -+ } else if (((BaseBlockPosition) this.b).c < j1) { -+ ((BaseBlockPosition) this.b).a = i; -+ ((BaseBlockPosition) this.b).b = j; -+ ++((BaseBlockPosition) this.b).c; - } +@@ -207,15 +207,17 @@ public class BlockPosition extends BaseBlockPosition { + if (this.g == null) { + this.g = new BlockPosition.MutableBlockPosition(i, j, k); + return this.g; +- } else if (this.g.b == l && this.g.c == i1 && this.g.d == j1) { ++ } else if (this.g.x == l && this.g.y == i1 && this.g.z == j1) { // Paper + return (BlockPosition.MutableBlockPosition) this.endOfData(); + } else { +- if (this.g.b < l) { +- ++this.g.b; +- } else if (this.g.c < i1) { +- ++this.g.c; +- } else if (this.g.d < j1) { +- ++this.g.d; ++ // Paper start - use xyz ++ if (this.g.x < l) { ++ ++this.g.x; ++ } else if (this.g.y < i1) { ++ ++this.g.y; ++ } else if (this.g.z < j1) { ++ ++this.g.z; + // Paper end - - return this.b; } -@@ -338,6 +340,8 @@ public class BlockPosition extends BaseBlockPosition { + + return this.g; +@@ -335,10 +337,12 @@ public class BlockPosition extends BaseBlockPosition { public static class MutableBlockPosition extends BlockPosition { -+ // Paper start - Remove variables ++ // Paper start - comment out + /* protected int b; protected int c; protected int d; -@@ -350,6 +354,7 @@ public class BlockPosition extends BaseBlockPosition { +- // Paper start ++ + @Override + public boolean isValidLocation() { + return b >= -30000000 && d >= -30000000 && b < 30000000 && d < 30000000 && c >= 0 && c < 256; +@@ -347,6 +351,7 @@ public class BlockPosition extends BaseBlockPosition { public boolean isInvalidYLocation() { return c < 0 || c >= 256; } @@ -118,61 +130,68 @@ index b3c1f550c..6a0b3a62d 100644 // Paper end public MutableBlockPosition() { -@@ -362,9 +367,11 @@ public class BlockPosition extends BaseBlockPosition { +@@ -358,10 +363,13 @@ public class BlockPosition extends BaseBlockPosition { + } public MutableBlockPosition(int i, int j, int k) { - super(0, 0, 0); -- this.b = i; -- this.c = j; +- super(0, 0, 0); ++ // Paper start ++ super(i, j, k); ++ /* + this.b = i; + this.c = j; - this.d = k; -+ // Paper start - Modify base position variables -+ ((BaseBlockPosition) this).a = i; -+ ((BaseBlockPosition) this).b = j; -+ ((BaseBlockPosition) this).c = k; ++ this.d = k;*/ + // Paper end } public BlockPosition a(double d0, double d1, double d2) { -@@ -383,6 +390,8 @@ public class BlockPosition extends BaseBlockPosition { +@@ -380,6 +388,8 @@ public class BlockPosition extends BaseBlockPosition { return super.a(enumblockrotation).h(); } -+ // Paper start - Use superclass methods + /* ++ // Paper start - use parent getters public int getX() { return this.b; } -@@ -394,12 +403,16 @@ public class BlockPosition extends BaseBlockPosition { +@@ -390,13 +400,16 @@ public class BlockPosition extends BaseBlockPosition { + public int getZ() { return this.d; - } -+ */ +- } ++ }*/ + // Paper end - public void setValues(int x, int y, int z) { c(x, y, z); } // Paper - OBFHELPER + public BlockPosition.MutableBlockPosition setValues(int i, int j, int k) { return c(i, j, k);} // Paper - OBFHELPER public BlockPosition.MutableBlockPosition c(int i, int j, int k) { - this.b = i; - this.c = j; - this.d = k; -+ // Paper start - Modify base position variables -+ ((BaseBlockPosition) this).a = i; -+ ((BaseBlockPosition) this).b = j; -+ ((BaseBlockPosition) this).c = k; ++ // Paper start - use xyz ++ this.x = i; ++ this.y = j; ++ this.z = k; + // Paper end return this; } -@@ -416,11 +429,11 @@ public class BlockPosition extends BaseBlockPosition { +@@ -414,15 +427,15 @@ public class BlockPosition extends BaseBlockPosition { } public BlockPosition.MutableBlockPosition c(EnumDirection enumdirection, int i) { - return this.c(this.b + enumdirection.getAdjacentX() * i, this.c + enumdirection.getAdjacentY() * i, this.d + enumdirection.getAdjacentZ() * i); -+ return this.c(this.getX() + enumdirection.getAdjacentX() * i, this.getY() + enumdirection.getAdjacentY() * i, this.getZ() + enumdirection.getAdjacentZ() * i); // Paper - USE THE BLEEPING GETTERS ++ return this.c(x + enumdirection.getAdjacentX() * i, y + enumdirection.getAdjacentY() * i, z + enumdirection.getAdjacentZ() * i); // Paper - use xyz + } + + public BlockPosition.MutableBlockPosition d(int i, int j, int k) { +- return this.c(this.b + i, this.c + j, this.d + k); ++ return this.c(x + i, y + j, z + k); // Paper - use xyz } public void p(int i) { - this.c = i; -+ ((BaseBlockPosition) this).b = i; // Paper - Modify base variable ++ this.y = i; // Paper change to y } public BlockPosition h() { From 9a279b3947d1f71e6a78d3b21f2adbbd58a50d9a Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 19:03:54 -0400 Subject: [PATCH 25/70] Re-add Optimize Hoppers patch --- .../0306-Optimize-Hoppers.patch | 287 ++++++++++++++++++ ...Configurable-Max-Chunk-Gens-per-Tick.patch | 112 ------- 2 files changed, 287 insertions(+), 112 deletions(-) create mode 100644 Spigot-Server-Patches/0306-Optimize-Hoppers.patch delete mode 100644 removed/server/0259-Configurable-Max-Chunk-Gens-per-Tick.patch diff --git a/Spigot-Server-Patches/0306-Optimize-Hoppers.patch b/Spigot-Server-Patches/0306-Optimize-Hoppers.patch new file mode 100644 index 0000000000..f3a3686310 --- /dev/null +++ b/Spigot-Server-Patches/0306-Optimize-Hoppers.patch @@ -0,0 +1,287 @@ +From c48ed623914dfeed35ef536b48b527415a70eabd Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 27 Apr 2016 22:09:52 -0400 +Subject: [PATCH] Optimize Hoppers + +* Removes unnecessary extra calls to .update() that are very expensive +* Lots of itemstack cloning removed. Only clone if the item is actually moved +* Return true when a plugin cancels inventory move item event instead of false, as false causes pulls to cycle through all items. + However, pushes do not exhibit the same behavior, so this is not something plugins could of been relying on. +* Add option (Default on) to cooldown hoppers when they fail to move an item due to full inventory +* Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index b9f5f4905..a8470e6e7 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -399,6 +399,15 @@ public class PaperWorldConfig { + squidMaxSpawnHeight = getDouble("squid-spawn-height.maximum", 0.0D); + } + ++ public boolean cooldownHopperWhenFull = true; ++ public boolean disableHopperMoveEvents = false; ++ private void hopperOptimizations() { ++ cooldownHopperWhenFull = getBoolean("hopper.cooldown-when-full", cooldownHopperWhenFull); ++ log("Cooldown Hoppers when Full: " + (cooldownHopperWhenFull ? "enabled" : "disabled")); ++ disableHopperMoveEvents = getBoolean("hopper.disable-move-event", disableHopperMoveEvents); ++ log("Hopper Move Item Events: " + (disableHopperMoveEvents ? "disabled" : "enabled")); ++ } ++ + public boolean disableSprintInterruptionOnAttack; + private void disableSprintInterruptionOnAttack() { + disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false); +diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java +index ebc0709eb..d989b065d 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -1017,6 +1017,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + + if (true || i == 0 || this.getAllowNether()) { // CraftBukkit + WorldServer worldserver = this.worlds.get(i); ++ TileEntityHopper.skipHopperEvents = worldserver.paperConfig.disableHopperMoveEvents || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper + + this.methodProfiler.a(() -> { + return worldserver.getWorldData().getName(); +diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java +index 3e9b357c8..db78274a8 100644 +--- a/src/main/java/net/minecraft/server/TileEntity.java ++++ b/src/main/java/net/minecraft/server/TileEntity.java +@@ -49,6 +49,7 @@ public abstract class TileEntity implements KeyedObject { + public void setCurrentChunk(Chunk chunk) { + this.currentChunk = chunk != null ? new java.lang.ref.WeakReference<>(chunk) : null; + } ++ static boolean IGNORE_TILE_UPDATES = false; + // Paper end + + @Nullable +@@ -121,6 +122,7 @@ public abstract class TileEntity implements KeyedObject { + + public void update() { + if (this.world != null) { ++ if (IGNORE_TILE_UPDATES) return; // Paper + this.f = this.world.getType(this.position); + this.world.b(this.position, this); + if (!this.f.isAir()) { +diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java +index bb41d4780..9e7a91fe4 100644 +--- a/src/main/java/net/minecraft/server/TileEntityHopper.java ++++ b/src/main/java/net/minecraft/server/TileEntityHopper.java +@@ -190,6 +190,154 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + return false; + } + ++ // Paper start - Optimize Hoppers ++ private static boolean skipPullModeEventFire = false; ++ private static boolean skipPushModeEventFire = false; ++ static boolean skipHopperEvents = false; ++ ++ private boolean hopperPush(IInventory iinventory, EnumDirection enumdirection) { ++ skipPushModeEventFire = skipHopperEvents; ++ boolean foundItem = false; ++ for (int i = 0; i < this.getSize(); ++i) { ++ if (!this.getItem(i).isEmpty()) { ++ foundItem = true; ++ ItemStack origItemStack = this.getItem(i); ++ ItemStack itemstack = origItemStack; ++ ++ final int origCount = origItemStack.getCount(); ++ final int moved = Math.min(world.spigotConfig.hopperAmount, origCount); ++ origItemStack.setCount(moved); ++ ++ // We only need to fire the event once to give protection plugins a chance to cancel this event ++ // Because nothing uses getItem, every event call should end up the same result. ++ if (!skipPushModeEventFire) { ++ itemstack = callPushMoveEvent(iinventory, itemstack); ++ if (itemstack == null) { // cancelled ++ origItemStack.setCount(origCount); ++ return false; ++ } ++ } ++ final ItemStack itemstack2 = addItem(this, iinventory, itemstack, enumdirection); ++ final int remaining = itemstack2.getCount(); ++ if (remaining != moved) { ++ origItemStack = origItemStack.cloneItemStack(); ++ origItemStack.setCount(origCount - moved + remaining); ++ this.setItem(i, origItemStack); ++ iinventory.update(); ++ return true; ++ } ++ origItemStack.setCount(origCount); ++ } ++ } ++ if (foundItem && world.paperConfig.cooldownHopperWhenFull) { // Inventory was full - cooldown ++ this.setCooldown(world.spigotConfig.hopperTransfer); ++ } ++ return false; ++ } ++ ++ private static boolean hopperPull(IHopper ihopper, IInventory iinventory, int i) { ++ ItemStack origItemStack = iinventory.getItem(i); ++ ItemStack itemstack = origItemStack; ++ final int origCount = origItemStack.getCount(); ++ final World world = ihopper.getWorld(); ++ final int moved = Math.min(world.spigotConfig.hopperAmount, origCount); ++ itemstack.setCount(moved); ++ ++ if (!skipPullModeEventFire) { ++ itemstack = callPullMoveEvent(ihopper, iinventory, itemstack); ++ if (itemstack == null) { // cancelled ++ origItemStack.setCount(origCount); ++ // Drastically improve performance by returning true. ++ // No plugin could of relied on the behavior of false as the other call ++ // site for IMIE did not exhibit the same behavior ++ return true; ++ } ++ } ++ ++ final ItemStack itemstack2 = addItem(iinventory, ihopper, itemstack, null); ++ final int remaining = itemstack2.getCount(); ++ if (remaining != moved) { ++ origItemStack = origItemStack.cloneItemStack(); ++ origItemStack.setCount(origCount - moved + remaining); ++ IGNORE_TILE_UPDATES = true; ++ iinventory.setItem(i, origItemStack); ++ IGNORE_TILE_UPDATES = false; ++ iinventory.update(); ++ return true; ++ } ++ origItemStack.setCount(origCount); ++ ++ if (world.paperConfig.cooldownHopperWhenFull) { ++ cooldownHopper(ihopper); ++ } ++ ++ return false; ++ } ++ ++ private ItemStack callPushMoveEvent(IInventory iinventory, ItemStack itemstack) { ++ Inventory destinationInventory = getInventory(iinventory); ++ InventoryMoveItemEvent event = new InventoryMoveItemEvent(this.getOwner(false).getInventory(), ++ CraftItemStack.asCraftMirror(itemstack), destinationInventory, true); ++ boolean result = event.callEvent(); ++ if (!event.calledGetItem && !event.calledSetItem) { ++ skipPushModeEventFire = true; ++ } ++ if (!result) { ++ cooldownHopper(this); ++ return null; ++ } ++ ++ if (event.calledSetItem) { ++ return CraftItemStack.asNMSCopy(event.getItem()); ++ } else { ++ return itemstack; ++ } ++ } ++ ++ private static ItemStack callPullMoveEvent(IHopper hopper, IInventory iinventory, ItemStack itemstack) { ++ Inventory sourceInventory = getInventory(iinventory); ++ Inventory destination = getInventory(hopper); ++ ++ InventoryMoveItemEvent event = new InventoryMoveItemEvent(sourceInventory, ++ // Mirror is safe as we no plugins ever use this item ++ CraftItemStack.asCraftMirror(itemstack), destination, false); ++ boolean result = event.callEvent(); ++ if (!event.calledGetItem && !event.calledSetItem) { ++ skipPullModeEventFire = true; ++ } ++ if (!result) { ++ cooldownHopper(hopper); ++ return null; ++ } ++ ++ if (event.calledSetItem) { ++ return CraftItemStack.asNMSCopy(event.getItem()); ++ } else { ++ return itemstack; ++ } ++ } ++ ++ private static Inventory getInventory(IInventory iinventory) { ++ Inventory sourceInventory;// Have to special case large chests as they work oddly ++ if (iinventory instanceof InventoryLargeChest) { ++ sourceInventory = new org.bukkit.craftbukkit.inventory.CraftInventoryDoubleChest((InventoryLargeChest) iinventory); ++ } else if (iinventory instanceof TileEntity) { ++ sourceInventory = ((TileEntity) iinventory).getOwner(false).getInventory(); ++ } else { ++ sourceInventory = iinventory.getOwner().getInventory(); ++ } ++ return sourceInventory; ++ } ++ ++ private static void cooldownHopper(IHopper hopper) { ++ if (hopper instanceof TileEntityHopper) { ++ ((TileEntityHopper) hopper).setCooldown(hopper.getWorld().spigotConfig.hopperTransfer); ++ } else if (hopper instanceof EntityMinecartHopper) { ++ ((EntityMinecartHopper) hopper).setCooldown(hopper.getWorld().spigotConfig.hopperTransfer / 2); ++ } ++ } ++ ++ // Paper end + private boolean s() { + IInventory iinventory = this.D(); + +@@ -201,6 +349,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + if (this.a(iinventory, enumdirection)) { + return false; + } else { ++ return hopperPush(iinventory, enumdirection); /* // Paper - disable rest + for (int i = 0; i < this.getSize(); ++i) { + if (!this.getItem(i).isEmpty()) { + ItemStack itemstack = this.getItem(i).cloneItemStack(); +@@ -242,7 +391,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + } + } + +- return false; ++ return false;*/ // Paper - end commenting out replaced block for Hopper Optimizations + } + } + } +@@ -313,6 +462,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + if (b(iinventory, enumdirection)) { + return false; + } ++ skipPullModeEventFire = skipHopperEvents; // Paper + + if (iinventory instanceof IWorldInventory) { + IWorldInventory iworldinventory = (IWorldInventory) iinventory; +@@ -355,6 +505,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + ItemStack itemstack = iinventory.getItem(i); + + if (!itemstack.isEmpty() && b(iinventory, itemstack, i, enumdirection)) { ++ return hopperPull(ihopper, iinventory, i); /* // Paper - disable rest + ItemStack itemstack1 = itemstack.cloneItemStack(); + // ItemStack itemstack2 = addItem(iinventory, ihopper, iinventory.splitStack(i, 1), (EnumDirection) null); + // CraftBukkit start - Call event on collection of items from inventories into the hopper +@@ -395,7 +546,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + } + + itemstack1.subtract(origCount - itemstack2.getCount()); // Spigot +- iinventory.setItem(i, itemstack1); ++ iinventory.setItem(i, itemstack1);*/ // Paper - end commenting out replaced block for Hopper Optimizations + } + + return false; +@@ -404,7 +555,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + public static boolean a(IInventory iinventory, EntityItem entityitem) { + boolean flag = false; + // CraftBukkit start +- InventoryPickupItemEvent event = new InventoryPickupItemEvent(iinventory.getOwner().getInventory(), (org.bukkit.entity.Item) entityitem.getBukkitEntity()); ++ InventoryPickupItemEvent event = new InventoryPickupItemEvent(getInventory(iinventory), (org.bukkit.entity.Item) entityitem.getBukkitEntity()); // Paper - use getInventory() to avoid snapshot creation + entityitem.world.getServer().getPluginManager().callEvent(event); + if (event.isCancelled()) { + return false; +@@ -458,7 +609,9 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi + boolean flag1 = iinventory1.P_(); + + if (itemstack1.isEmpty()) { ++ IGNORE_TILE_UPDATES = true; // Paper + iinventory1.setItem(i, itemstack); ++ IGNORE_TILE_UPDATES = false; // Paper + itemstack = ItemStack.a; + flag = true; + } else if (a(itemstack1, itemstack)) { +-- +2.18.0 + diff --git a/removed/server/0259-Configurable-Max-Chunk-Gens-per-Tick.patch b/removed/server/0259-Configurable-Max-Chunk-Gens-per-Tick.patch deleted file mode 100644 index 2032691ad4..0000000000 --- a/removed/server/0259-Configurable-Max-Chunk-Gens-per-Tick.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 9b92490838fd8805b3e867cc7235a0bcf0854f7f Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Mon, 1 Jan 2018 16:10:24 -0500 -Subject: [PATCH] Configurable Max Chunk Gens per Tick - -Limit the number of generations that can occur in a single tick, forcing them -to be spread out more. - -Defaulting to 10 as an average generation is going to be 3-6ms, which means 10 will -likely cause the server to lose TPS, but constrain how much. - -This should result in no noticeable speed reduction in generation for servers not -lagging, and let larger servers reduce this value according to their own desires. - -diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index e3ff78180..0ddf826f9 100644 ---- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -472,4 +472,16 @@ public class PaperWorldConfig { - } - log("Max Chunk Sends Per Tick: " + maxChunkSendsPerTick); - } -+ -+ public int maxChunkGensPerTick = 10; -+ private void maxChunkGensPerTick() { -+ maxChunkGensPerTick = getInt("max-chunk-gens-per-tick", maxChunkGensPerTick); -+ if (maxChunkGensPerTick <= 0) { -+ maxChunkGensPerTick = Integer.MAX_VALUE; -+ log("Max Chunk Gens Per Tick: Unlimited (NOT RECOMMENDED)"); -+ } else { -+ log("Max Chunk Gens Per Tick: " + maxChunkGensPerTick); -+ } -+ } -+ - } -diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 395386f29..baf72404e 100644 ---- a/src/main/java/net/minecraft/server/PlayerChunk.java -+++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -27,6 +27,7 @@ public class PlayerChunk { - private boolean done; - - // CraftBukkit start - add fields -+ boolean chunkExists; // Paper - private boolean loadInProgress = false; - private Runnable loadedRunnable = new Runnable() { - public void run() { -@@ -50,6 +51,7 @@ public class PlayerChunk { - // CraftBukkit start - loadInProgress = true; - this.chunk = playerchunkmap.getWorld().getChunkProviderServer().getChunkAt(i, j, loadedRunnable, false); -+ this.chunkExists = this.chunk != null || ChunkIOExecutor.hasQueuedChunkLoad(playerChunkMap.getWorld(), i, j); // Paper - markChunkUsed(); // Paper - delay chunk unloads - // CraftBukkit end - } -diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 6ee9f6cfb..99652ae3e 100644 ---- a/src/main/java/net/minecraft/server/PlayerChunkMap.java -+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -166,6 +166,7 @@ public class PlayerChunkMap { - // Spigot start - org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; - activityAccountant.startActivity(0.5); -+ int chunkGensAllowed = world.paperConfig.maxChunkGensPerTick; // Paper - // Spigot end - - Iterator iterator1 = this.h.iterator(); -@@ -175,6 +176,11 @@ public class PlayerChunkMap { - - if (playerchunk1.f() == null) { - boolean flag = playerchunk1.a(PlayerChunkMap.b); -+ // Paper start -+ if (flag && !playerchunk1.chunkExists && chunkGensAllowed-- <= 0) { -+ continue; -+ } -+ // Paper end - - if (playerchunk1.a(flag)) { - iterator1.remove(); -diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java -index 9aaca21a7..f50d55c8e 100644 ---- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java -+++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java -@@ -35,4 +35,10 @@ public class ChunkIOExecutor { - public static void tick() { - instance.finishActive(); - } -+ -+ // Paper start -+ public static boolean hasQueuedChunkLoad(World world, int x, int z) { -+ return instance.hasTask(new QueuedChunk(x, z, null, world, null)); -+ } -+ // Paper end - } -diff --git a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java -index 193c3621c..cf1258c55 100644 ---- a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java -+++ b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java -@@ -351,4 +351,10 @@ public final class AsynchronousExecutor { - public void setActiveThreads(final int coreSize) { - pool.setCorePoolSize(coreSize); - } -+ -+ // Paper start -+ public boolean hasTask(P parameter) throws IllegalStateException { -+ return tasks.get(parameter) != null; -+ } -+ // Paper end - } --- -2.18.0 - From b801b4baa89aa3afa4d29a3b2a93876df302bd72 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 19:39:56 -0400 Subject: [PATCH 26/70] Fix Chest open/close animations --- Spigot-Server-Patches/0004-MC-Utils.patch | 32 ++++++++++++-- .../0020-Optimize-TileEntity-Ticking.patch | 44 ++++++++++++++----- ...rable-Disabling-Cat-Chest-Detection.patch} | 7 +-- .../0165-String-based-Action-Bar-API.patch | 8 ++-- .../0191-Basic-PlayerProfile-API.patch | 6 +-- 5 files changed, 73 insertions(+), 24 deletions(-) rename Spigot-Server-Patches/{0044-Disable-chest-cat-detection.patch => 0044-Configurable-Disabling-Cat-Chest-Detection.patch} (88%) diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 0b266a33af..b4e14d04e7 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,4 +1,4 @@ -From cfbaba5f9368ad26dde9c81f8a41a73743a39239 Mon Sep 17 00:00:00 2001 +From 767daac10e6f8de9fccba88decfb0327905f9c9b Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils @@ -180,10 +180,10 @@ index a540167d6..add618866 100644 } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java new file mode 100644 -index 000000000..edaa7713d +index 000000000..70cdc3f10 --- /dev/null +++ b/src/main/java/net/minecraft/server/MCUtil.java -@@ -0,0 +1,266 @@ +@@ -0,0 +1,292 @@ +package net.minecraft.server; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; @@ -212,6 +212,32 @@ index 000000000..edaa7713d + return MinecraftServer.getServer().isMainThread(); + } + ++ private static class DelayedRunnable implements Runnable { ++ ++ private final int ticks; ++ private final Runnable run; ++ ++ private DelayedRunnable(int ticks, Runnable run) { ++ this.ticks = ticks; ++ this.run = run; ++ } ++ ++ @Override ++ public void run() { ++ if (ticks <= 0) { ++ run.run(); ++ } else { ++ scheduleTask(ticks-1, run); ++ } ++ } ++ } ++ ++ public static void scheduleTask(int ticks, Runnable runnable) { ++ // We use post to main instead of process queue as we don't want to process these mid tick if ++ // Someone uses processQueueWhileWaiting ++ MinecraftServer.getServer().postToMainThread(new DelayedRunnable(ticks, runnable)); ++ } ++ + public static void processQueue() { + Runnable runnable; + Queue processQueue = getProcessQueue(); diff --git a/Spigot-Server-Patches/0020-Optimize-TileEntity-Ticking.patch b/Spigot-Server-Patches/0020-Optimize-TileEntity-Ticking.patch index 2d446bbee4..0779f29f92 100644 --- a/Spigot-Server-Patches/0020-Optimize-TileEntity-Ticking.patch +++ b/Spigot-Server-Patches/0020-Optimize-TileEntity-Ticking.patch @@ -1,11 +1,11 @@ -From b7e91c371fc4c629af5440e38cd70bfd2a59b293 Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Tue, 1 Mar 2016 22:01:19 -0600 +From 13443f9b6f42a4de1fa7b993ef0a6b9bb3be23e2 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sun, 8 Mar 2015 22:55:25 -0600 Subject: [PATCH] Optimize TileEntity Ticking diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index de06bd59a..9b54cbfdc 100644 +index a534c441a..591524f1e 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -7,7 +7,7 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; @@ -30,18 +30,19 @@ index de06bd59a..9b54cbfdc 100644 + int i = this.position.getX(); + int j = this.position.getY(); + int k = this.position.getZ(); -+ if (!this.world.isClientSide && this.f != 0 /*&& (this.k + i + j + k) % 200 == 0*/) { // Paper - comment out tick rate limiter ++ if (false && !this.world.isClientSide && this.f != 0 && (this.k + i + j + k) % 200 == 0) { // Paper - disable block + // Paper end this.f = 0; f = 5.0F; List list = this.world.a(EntityHuman.class, new AxisAlignedBB((double) ((float) i - 5.0F), (double) ((float) j - 5.0F), (double) ((float) k - 5.0F), (double) ((float) (i + 1) + 5.0F), (double) ((float) (j + 1) + 5.0F), (double) ((float) (k + 1) + 5.0F))); -@@ -134,11 +140,14 @@ public class TileEntityChest extends TileEntityLootable implements ITickable { +@@ -134,13 +140,17 @@ public class TileEntityChest extends TileEntityLootable implements ITickable { } } - this.e = this.a; - f = 0.1F; - if (this.f > 0 && this.a == 0.0F) { +- if (this.f > 0 && this.a == 0.0F) { ++ if (this.f == 1 && this.a == 0.0F) { // check == 1 instead of > 0, first open this.a(SoundEffects.BLOCK_CHEST_OPEN); } + // Paper start @@ -50,9 +51,30 @@ index de06bd59a..9b54cbfdc 100644 + this.e = this.a; + // Paper end - if (this.f == 0 && this.a > 0.0F || this.f > 0 && this.a < 1.0F) { +- if (this.f == 0 && this.a > 0.0F || this.f > 0 && this.a < 1.0F) { ++ if (this.f == 0/* && this.a > 0.0F || this.f > 0 && this.a < 1.0F*/) { // Paper disable all but player count check ++ /* // Paper disable animation stuff float f1 = this.a; -@@ -203,6 +212,7 @@ public class TileEntityChest extends TileEntityLootable implements ITickable { + + if (this.f > 0) { +@@ -155,9 +165,14 @@ public class TileEntityChest extends TileEntityLootable implements ITickable { + + float f2 = 0.5F; + ++ + if (this.a < 0.5F && f1 >= 0.5F) { +- this.a(SoundEffects.BLOCK_CHEST_CLOSE); +- } ++ */ ++ // add some delay ++ MCUtil.scheduleTask(10, () -> { ++ if (this.f == 0) this.a(SoundEffects.BLOCK_CHEST_CLOSE); ++ }); ++ // } // Paper end + + if (this.a < 0.0F) { + this.a = 0.0F; +@@ -203,6 +218,7 @@ public class TileEntityChest extends TileEntityLootable implements ITickable { ++this.f; if (this.world == null) return; // CraftBukkit @@ -60,7 +82,7 @@ index de06bd59a..9b54cbfdc 100644 // CraftBukkit start - Call redstone event if (this.getBlock() == Blocks.TRAPPED_CHEST) { -@@ -224,6 +234,7 @@ public class TileEntityChest extends TileEntityLootable implements ITickable { +@@ -224,6 +240,7 @@ public class TileEntityChest extends TileEntityLootable implements ITickable { --this.f; // CraftBukkit start - Call redstone event @@ -69,7 +91,7 @@ index de06bd59a..9b54cbfdc 100644 int newPower = Math.max(0, Math.min(15, this.f)); diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java -index f275fd1c3..7d7628b04 100644 +index 61edd7cc6..9407a8c97 100644 --- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java +++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java @@ -1,6 +1,6 @@ diff --git a/Spigot-Server-Patches/0044-Disable-chest-cat-detection.patch b/Spigot-Server-Patches/0044-Configurable-Disabling-Cat-Chest-Detection.patch similarity index 88% rename from Spigot-Server-Patches/0044-Disable-chest-cat-detection.patch rename to Spigot-Server-Patches/0044-Configurable-Disabling-Cat-Chest-Detection.patch index c4e1113278..26c9801f1a 100644 --- a/Spigot-Server-Patches/0044-Disable-chest-cat-detection.patch +++ b/Spigot-Server-Patches/0044-Configurable-Disabling-Cat-Chest-Detection.patch @@ -1,8 +1,9 @@ -From 0a6e431075e7177f15c75f170b214b3957ed37de Mon Sep 17 00:00:00 2001 +From b10258425b32f52227c068e59270453ce6fbaac5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 01:13:45 -0600 -Subject: [PATCH] Disable chest cat detection +Subject: [PATCH] Configurable Disabling Cat Chest Detection +Offers a gameplay feature to stop cats from blocking chests diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java index 26d8dbb60..43aa73e1d 100644 @@ -19,7 +20,7 @@ index 26d8dbb60..43aa73e1d 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java -index d55122c66..f8be07258 100644 +index 0f6902747..1ad39aca3 100644 --- a/src/main/java/net/minecraft/server/BlockChest.java +++ b/src/main/java/net/minecraft/server/BlockChest.java @@ -235,6 +235,11 @@ public class BlockChest extends BlockTileEntity implements IFluidSource, IFluidC diff --git a/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch index bcf8c91913..759ae55c71 100644 --- a/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch +++ b/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch @@ -1,11 +1,11 @@ -From fb8e8823dca02ed4ef2a87cd6c993de3d69a2b91 Mon Sep 17 00:00:00 2001 +From 3d11f50f3781e08137517897b588503b5eede4d7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 15:02:42 -0500 Subject: [PATCH] String based Action Bar API diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index edaa7713d..70db1cc14 100644 +index 70cdc3f10..381542e0d 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,10 +1,13 @@ @@ -47,7 +47,7 @@ index edaa7713d..70db1cc14 100644 public static boolean isMainThread() { return MinecraftServer.getServer().isMainThread(); -@@ -263,4 +284,13 @@ public final class MCUtil { +@@ -289,4 +310,13 @@ public final class MCUtil { } return null; } @@ -62,7 +62,7 @@ index edaa7713d..70db1cc14 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7d4355439..1c8c364d3 100644 +index dea59d3fa..a546f3118 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -208,6 +208,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch index 85c6d2cd7c..dfd7cce257 100644 --- a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 5ba0adc0334b2371f2b4647ac4f91d800402923e Mon Sep 17 00:00:00 2001 +From f69c68a61170d29cde2e2b8f41e5fcd7601a3d7b Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -404,7 +404,7 @@ index 000000000..3aceb0ea8 + } +} diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 70db1cc14..9ab3844fc 100644 +index 381542e0d..80927de08 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,6 +1,9 @@ @@ -417,7 +417,7 @@ index 70db1cc14..9ab3844fc 100644 import org.apache.commons.lang.exception.ExceptionUtils; import org.bukkit.Location; import org.bukkit.craftbukkit.CraftWorld; -@@ -131,6 +134,10 @@ public final class MCUtil { +@@ -157,6 +160,10 @@ public final class MCUtil { return run.get(); } From 643187e289f436dfa2d5018202b1253259a3acdf Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 19:53:01 -0400 Subject: [PATCH 27/70] Fix spawn loading percentages --- ...le-Keep-Spawn-Loaded-range-per-world.patch | 30 +++++++++++++++++-- ...-possibility-for-getServer-singleton.patch | 6 ++-- .../0120-Optimize-UserCache-Thread-Safe.patch | 6 ++-- .../0139-Auto-Save-Improvements.patch | 6 ++-- ...le-async-calls-to-restart-the-server.patch | 10 +++---- ...oleAppender-for-console-improvements.patch | 8 ++--- .../0191-Basic-PlayerProfile-API.patch | 8 ++--- ...nt-extended-PaperServerListPingEvent.patch | 8 ++--- .../0306-Optimize-Hoppers.patch | 6 ++-- 9 files changed, 56 insertions(+), 32 deletions(-) diff --git a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 8c6371c766..8f00c80c11 100644 --- a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From dfd965ef359e7bf7dfc9ed33736374439c753e83 Mon Sep 17 00:00:00 2001 +From 47ce849db0e23612ca6013dafefca6cfa5129b3d 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 @@ -21,10 +21,10 @@ index eb09be512..6ac58e5ec 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 96d31f874..664007c29 100644 +index 96d31f874..7fb0a58f9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -485,8 +485,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -485,13 +485,21 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati ArrayList arraylist = Lists.newArrayList(); Set set = Sets.newConcurrentHashSet(); @@ -37,6 +37,30 @@ index 96d31f874..664007c29 100644 + // Paper end arraylist.add(new ChunkCoordIntPair(blockposition.getX() + i >> 4, blockposition.getZ() + j >> 4)); } ++ } // Paper ++ if (true) { // Paper ++ int expected = arraylist.size(); // Paper ++ + + CompletableFuture completablefuture = worldserver.getChunkProviderServer().a((Iterable) arraylist, (chunk) -> { + set.add(chunk.getPos()); ++ if (set.size() < expected && set.size() % 25 == 0) this.a(new ChatMessage("menu.preparingSpawn", new Object[0]), set.size() * 100 / expected); // Paper + }); + + while (!completablefuture.isDone()) { +@@ -506,11 +514,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + + throw new RuntimeException(executionexception.getCause()); + } catch (TimeoutException timeoutexception) { +- this.a(new ChatMessage("menu.preparingSpawn", new Object[0]), set.size() * 100 / 625); ++ this.a(new ChatMessage("menu.preparingSpawn", new Object[0]), set.size() * 100 / expected); // Paper + } + } + +- this.a(new ChatMessage("menu.preparingSpawn", new Object[0]), set.size() * 100 / 625); ++ this.a(new ChatMessage("menu.preparingSpawn", new Object[0]), set.size() * 100 / expected); // Paper + } + } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java index 6ec1ee26d..a4c8e62e2 100644 diff --git a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch index a2884024e5..18eae85d87 100644 --- a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 977b959e4d5d6964c13e43d5f3a6b6db6af2cb32 Mon Sep 17 00:00:00 2001 +From 767ba63e4bab628feacd5454d38b96a849cb089d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 Apr 2016 00:57:27 -0400 Subject: [PATCH] remove null possibility for getServer singleton @@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index eb0e1361a..68ab9b7eb 100644 +index c181acd99..6de0b22f7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -68,6 +68,7 @@ import co.aikar.timings.MinecraftTimings; // Paper @@ -26,7 +26,7 @@ index eb0e1361a..68ab9b7eb 100644 this.ac = new ResourceManager(EnumResourcePackType.SERVER_DATA); this.resourcePackRepository = new ResourcePackRepository(ResourcePackLoader::new); this.ag = new CraftingManager(); -@@ -1806,7 +1809,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1811,7 +1814,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // CraftBukkit start @Deprecated public static MinecraftServer getServer() { diff --git a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch index 441eca78e7..73810beb26 100644 --- a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 575168a9432ee2e2241160b96d5a72f299dfa366 Mon Sep 17 00:00:00 2001 +From 55c50523df7924649d44089d0ef4e4bd9471334a Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 20:47:41 -0400 Subject: [PATCH] Optimize UserCache / Thread Safe @@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 68ab9b7eb..0e385e4ea 100644 +index 6de0b22f7..5f17ec1e9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -671,7 +671,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -676,7 +676,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati // Spigot start if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { LOGGER.info("Saving usercache.json"); diff --git a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch index ee10df8e03..1f2cb88d02 100644 --- a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From 10a2933aa9c03c4525c9e19672a5532ea55965e4 Mon Sep 17 00:00:00 2001 +From d90131ced1d9d0e53f7c997d16e8ebffb3c3a761 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -128,7 +128,7 @@ index 982e18f8a..1879c3238 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0e385e4ea..326d4242d 100644 +index 5f17ec1e9..94df23c31 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -144,6 +144,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -139,7 +139,7 @@ index 0e385e4ea..326d4242d 100644 public final Thread primaryThread; public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -908,22 +909,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -913,22 +914,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.n.b().a(agameprofile); } diff --git a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch index 46159481dd..33a140c4dd 100644 --- a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From a196d99aed3b693c24cece49966b2089b7123812 Mon Sep 17 00:00:00 2001 +From 62401f6501f068b9494c86dc02f8ec41b2825a25 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 12 May 2017 23:34:11 -0500 Subject: [PATCH] Properly handle async calls to restart the server @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9405dc7bf..eb8c7aaad 100644 +index c97953a2f..8576545bb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -85,6 +85,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -41,7 +41,7 @@ index 9405dc7bf..eb8c7aaad 100644 private boolean isStopped; private int ticks; protected final Proxy d; -@@ -630,7 +631,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -635,7 +636,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (this.s != null) { MinecraftServer.LOGGER.info("Saving players"); this.s.savePlayers(); @@ -50,7 +50,7 @@ index 9405dc7bf..eb8c7aaad 100644 try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets } -@@ -689,10 +690,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -694,10 +695,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.isRunning; } @@ -69,7 +69,7 @@ index 9405dc7bf..eb8c7aaad 100644 // Paper start - Further improve server tick loop private static final int TPS = 20; private static final long SEC_IN_NANO = 1000000000; -@@ -1662,6 +1671,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1667,6 +1676,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return this.aa; } diff --git a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch index c972f52867..2f6894d6ee 100644 --- a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From 9192bd2b48900aca881a1ac43bc94dfea1585a2f Mon Sep 17 00:00:00 2001 +From fac7eb134f5fdf048ac9db058b571944ed8c6015 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -199,7 +199,7 @@ index bf1fffcfe..af430b73f 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index eb8c7aaad..88900121d 100644 +index 8576545bb..0808da26f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,6 @@ import org.apache.commons.lang3.Validate; @@ -238,7 +238,7 @@ index eb8c7aaad..88900121d 100644 Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this)); this.serverThread = primaryThread = new Thread(this, "Server thread"); // Moved from main -@@ -844,7 +847,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -849,7 +852,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } finally { // CraftBukkit start - Restore terminal to original settings try { @@ -247,7 +247,7 @@ index eb8c7aaad..88900121d 100644 } catch (Exception ignored) { } // CraftBukkit end -@@ -1340,7 +1343,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1345,7 +1348,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati } public void sendMessage(IChatBaseComponent ichatbasecomponent) { diff --git a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch index dfd7cce257..cdbc52d0e0 100644 --- a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From f69c68a61170d29cde2e2b8f41e5fcd7601a3d7b Mon Sep 17 00:00:00 2001 +From ab857a7e34a6916af5ef7105f553d74934c8f5fb Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -429,10 +429,10 @@ index 381542e0d..80927de08 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 88900121d..5d12855ba 100644 +index 0808da26f..cdcc37592 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1157,7 +1157,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1162,7 +1162,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati */ // CraftBukkit end String s1 = "."; // PAIL? @@ -441,7 +441,7 @@ index 88900121d..5d12855ba 100644 MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService(); GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository(); UserCache usercache = new UserCache(gameprofilerepository, new File(s1, MinecraftServer.a.getName())); -@@ -1617,6 +1617,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1622,6 +1622,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.G = i; } diff --git a/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch index 723436e45c..56faf741ef 100644 --- a/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From 0d34338ddc54622e57515a7f8281f3726f33b1f6 Mon Sep 17 00:00:00 2001 +From 7eb0bcaafabf173fa684587c8b7654a86a81417a Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -177,10 +177,10 @@ index 000000000..350410527 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5d12855ba..ebc0709eb 100644 +index cdcc37592..66b637326 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -910,7 +910,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -915,7 +915,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (i - this.Y >= 5000000000L) { this.Y = i; this.n.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.B(), this.A())); @@ -189,7 +189,7 @@ index 5d12855ba..ebc0709eb 100644 int j = MathHelper.nextInt(this.o, 0, this.A() - agameprofile.length); for (int k = 0; k < agameprofile.length; ++k) { -@@ -1275,10 +1275,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1280,10 +1280,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati return "1.13"; } diff --git a/Spigot-Server-Patches/0306-Optimize-Hoppers.patch b/Spigot-Server-Patches/0306-Optimize-Hoppers.patch index f3a3686310..166fd72720 100644 --- a/Spigot-Server-Patches/0306-Optimize-Hoppers.patch +++ b/Spigot-Server-Patches/0306-Optimize-Hoppers.patch @@ -1,4 +1,4 @@ -From c48ed623914dfeed35ef536b48b527415a70eabd Mon Sep 17 00:00:00 2001 +From 4d6153f46915538901e3983474ee836e2ea49d97 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Apr 2016 22:09:52 -0400 Subject: [PATCH] Optimize Hoppers @@ -31,10 +31,10 @@ index b9f5f4905..a8470e6e7 100644 private void disableSprintInterruptionOnAttack() { disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ebc0709eb..d989b065d 100644 +index 66b637326..f9a7bde0b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1017,6 +1017,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati +@@ -1022,6 +1022,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati if (true || i == 0 || this.getAllowNether()) { // CraftBukkit WorldServer worldserver = this.worlds.get(i); From dda43c2566fe46e7ba3948e5ec0727683ccd3fdf Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 21:25:48 -0400 Subject: [PATCH 28/70] Don't save Proto Chunks These chunks are unfinished, and waste cpu time saving these unfinished chunks. the loadChunk method refuses to acknoledge they exists, and will restart a new chunk generation process to begin with, so saving them serves no benefit. --- .../0307-Don-t-save-Proto-Chunks.patch | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch diff --git a/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch b/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch new file mode 100644 index 0000000000..808e7996f9 --- /dev/null +++ b/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch @@ -0,0 +1,46 @@ +From 5fcdb15e3e736e338a24f294f5f59e8a255d9080 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sun, 22 Jul 2018 21:21:41 -0400 +Subject: [PATCH] Don't save Proto Chunks + +These chunks are unfinished, and waste cpu time saving these unfinished chunks. +the loadChunk method refuses to acknoledge they exists, and will restart +a new chunk generation process to begin with, so saving them serves no benefit. + +diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java +index fd8430a68..b425704b1 100644 +--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java ++++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java +@@ -250,7 +250,7 @@ public class ChunkProviderServer implements IChunkProvider { + public boolean a(boolean flag) { + int i = 0; + +- this.f.a(); ++ //this.f.a(); // Paper - don't save proto chunks + ArrayList arraylist = Lists.newArrayList(this.chunks.values()); + Iterator iterator = arraylist.iterator(); + +@@ -369,7 +369,7 @@ public class ChunkProviderServer implements IChunkProvider { + } + // Paper end + +- this.f.a(); ++ //this.f.a(); // Paper - don't save proto chunks + this.chunkLoader.b(); + } + +diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +index ea8684747..7acb3744d 100644 +--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java ++++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +@@ -282,6 +282,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { + } + + public synchronized void saveChunk(World world, IChunkAccess ichunkaccess, boolean unloaded) throws IOException, ExceptionWorldConflict { ++ if (ichunkaccess.i().d() == ChunkStatus.Type.PROTOCHUNK) { new Throwable().printStackTrace(); return; } // Paper - don't save proto chunks + // Spigot end + world.checkSession(); + +-- +2.18.0 + From 6e3ef06255722faf39a7e908f2f248cb21125f23 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 22:33:43 -0400 Subject: [PATCH 29/70] Remove debug that got left in proto chunk change last build --- Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch b/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch index 808e7996f9..db407f5763 100644 --- a/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch +++ b/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch @@ -1,4 +1,4 @@ -From 5fcdb15e3e736e338a24f294f5f59e8a255d9080 Mon Sep 17 00:00:00 2001 +From 0793b868c59fa342bf8438b1f23b489f1fe730ae Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 21:21:41 -0400 Subject: [PATCH] Don't save Proto Chunks @@ -30,14 +30,14 @@ index fd8430a68..b425704b1 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index ea8684747..7acb3744d 100644 +index ea8684747..a97e024ec 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -282,6 +282,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { } public synchronized void saveChunk(World world, IChunkAccess ichunkaccess, boolean unloaded) throws IOException, ExceptionWorldConflict { -+ if (ichunkaccess.i().d() == ChunkStatus.Type.PROTOCHUNK) { new Throwable().printStackTrace(); return; } // Paper - don't save proto chunks ++ if (ichunkaccess.i().d() == ChunkStatus.Type.PROTOCHUNK) { return; } // Paper - don't save proto chunks // Spigot end world.checkSession(); From aad194a32ec20310e3ca1f22f4f94652161ba3b7 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 23 Jul 2018 09:39:55 +0100 Subject: [PATCH 30/70] Update B/CB/S --- ...y-disable-plugins-that-fail-to-load.patch} | 2 +- ...Made-EntityDismountEvent-Cancellable.patch | 47 ------------------- ...ch => 0013-Expose-server-CommandMap.patch} | 4 +- ...ord-chat-API-from-spigot-subclasses.patch} | 4 +- ...0015-Player-Tab-List-and-Title-APIs.patch} | 2 +- ... 0016-Add-exception-reporting-event.patch} | 2 +- ...rverListPingEvent-flagging-as-Async.patch} | 2 +- ...-sendMessage-methods-to-CommandSend.patch} | 2 +- ...orking-with-arrows-stuck-in-living-.patch} | 2 +- ... => 0020-Complete-resource-pack-API.patch} | 2 +- ...=> 0021-Use-ASM-for-event-executors.patch} | 4 +- ... => 0022-Add-a-call-helper-to-Event.patch} | 2 +- ...er-name-to-commands.yml-replacement.patch} | 2 +- ...load-permissions.yml-and-require-co.patch} | 2 +- ...-Custom-replacement-for-eaten-items.patch} | 2 +- ... 0026-Access-items-by-EquipmentSlot.patch} | 2 +- ...ntity-AddTo-RemoveFrom-World-Events.patch} | 2 +- ...t.patch => 0028-EntityPathfindEvent.patch} | 2 +- ...ynchronization-in-MetadataStoreBase.patch} | 2 +- ...-MetadataStoreBase.removeAll-Plugin.patch} | 2 +- ...031-Add-PlayerUseUnknownEntityEvent.patch} | 2 +- ...nt-to-allow-plugins-to-handle-clien.patch} | 2 +- ...patch => 0033-Arrow-pickup-rule-API.patch} | 2 +- ...tyRegainHealthEvent-isFastRegen-API.patch} | 2 +- ...ble-API.patch => 0035-LootTable-API.patch} | 2 +- ...nt.patch => 0036-Add-EntityZapEvent.patch} | 2 +- ...Misc-Utils.patch => 0037-Misc-Utils.patch} | 2 +- ...-Allow-Reloading-of-Command-Aliases.patch} | 2 +- ...-Add-source-to-PlayerExpChangeEvent.patch} | 2 +- ... => 0040-Add-ProjectileCollideEvent.patch} | 2 +- ...041-Add-String-based-Action-Bar-API.patch} | 2 +- ...o-control-if-armour-stands-can-move.patch} | 2 +- ...nt.patch => 0043-IllegalPacketEvent.patch} | 2 +- ...API-s.patch => 0044-Fireworks-API-s.patch} | 2 +- ... 0045-PlayerTeleportEndGatewayEvent.patch} | 2 +- ...ovide-E-TE-Chunk-count-stat-methods.patch} | 2 +- ...I-for-Reason-Source-Triggering-play.patch} | 2 +- ...rldBorder-isInBounds-Location-check.patch} | 2 +- ...-option-to-prevent-player-names-fro.patch} | 2 +- ...pstream-javadoc-warnings-and-errors.patch} | 4 +- ....patch => 0051-Item-canEntityPickup.patch} | 2 +- ...layerPickupItemEvent-setFlyAtPlayer.patch} | 2 +- ...> 0053-PlayerAttemptPickupItemEvent.patch} | 2 +- ...tch => 0054-Add-UnknownCommandEvent.patch} | 2 +- ...tch => 0055-Basic-PlayerProfile-API.patch} | 2 +- ... 0056-Shoulder-Entities-Release-API.patch} | 2 +- ...patch => 0057-Profile-Lookup-Events.patch} | 4 +- ...patch => 0058-Entity-fromMobSpawner.patch} | 2 +- ...9-Improve-the-Saddle-API-for-Horses.patch} | 2 +- ...=> 0060-ensureServerConversions-API.patch} | 2 +- ... => 0061-Add-getI18NDisplayName-API.patch} | 2 +- ...=> 0062-ProfileWhitelistVerifyEvent.patch} | 2 +- ...0063-Make-plugins-list-alphabetical.patch} | 2 +- ...atch => 0064-LivingEntity-setKiller.patch} | 2 +- ...fixes-in-implementation-logging-con.patch} | 2 +- ...ow-plugins-to-use-SLF4J-for-logging.patch} | 4 +- ...r-plugins-modifying-the-parent-of-t.patch} | 2 +- ...t.patch => 0068-Add-PlayerJumpEvent.patch} | 2 +- ...t-protocol-version-and-virtual-host.patch} | 2 +- ... => 0070-Add-PlayerArmorChangeEvent.patch} | 2 +- ...get-a-BlockState-without-a-snapshot.patch} | 2 +- ...patch => 0072-AsyncTabCompleteEvent.patch} | 2 +- ...ay-warning-on-deprecated-recipe-API.patch} | 2 +- ...=> 0074-PlayerPickupExperienceEvent.patch} | 2 +- ...tch => 0075-ExperienceOrbMergeEvent.patch} | 2 +- ...-Ability-to-apply-mending-to-XP-API.patch} | 2 +- ...patch => 0077-PreCreatureSpawnEvent.patch} | 2 +- ...-PlayerNaturallySpawnCreaturesEvent.patch} | 2 +- ...-Add-SkullMeta.setPlayerProfile-API.patch} | 2 +- ...> 0080-Fill-Profile-Property-Events.patch} | 2 +- ...layerAdvancementCriterionGrantEvent.patch} | 2 +- ...ch => 0082-Add-ArmorStand-Item-Meta.patch} | 2 +- ...pers.patch => 0083-Optimize-Hoppers.patch} | 2 +- ... 0084-Tameable-getOwnerUniqueId-API.patch} | 2 +- ...-PlayerProfile-in-AsyncPreLoginEven.patch} | 2 +- ...d-extended-PaperServerListPingEvent.patch} | 2 +- ...=> 0087-Player.setPlayerProfile-API.patch} | 2 +- ...patch => 0088-getPlayerUniqueId-API.patch} | 4 +- ...support-to-PaperServerListPingEvent.patch} | 2 +- ...-method-to-open-already-placed-sign.patch} | 2 +- ...-version-history-to-version-command.patch} | 2 +- ...2-Add-Ban-Methods-to-Player-Objects.patch} | 2 +- ...t.patch => 0093-EndermanEscapeEvent.patch} | 2 +- ...h => 0094-Enderman.teleportRandomly.patch} | 2 +- ...ional-world.getNearbyEntities-API-s.patch} | 2 +- ... => 0096-Location.isChunkLoaded-API.patch} | 2 +- ...d.spawnParticle-API-and-add-Builder.patch} | 2 +- ...h => 0098-EndermanAttackPlayerEvent.patch} | 2 +- ...ose-Plugin-Class-Loaders-on-Disable.patch} | 2 +- ...tch => 0100-WitchConsumePotionEvent.patch} | 2 +- ...patch => 0101-WitchThrowPotionEvent.patch} | 2 +- ...on.toBlockLocation-toCenterLocation.patch} | 2 +- ... => 0103-PotionEffect-clone-methods.patch} | 2 +- ...patch => 0104-WitchReadyPotionEvent.patch} | 2 +- ...105-ItemStack-getMaxItemUseDuration.patch} | 2 +- ...6-Add-EntityTeleportEndGatewayEvent.patch} | 2 +- ...d-SentientNPC-Interface-to-Entities.patch} | 2 +- ...-shield-blocking-delay-configurable.patch} | 2 +- ...nt-consumeArrow-and-getArrowItem-AP.patch} | 2 +- ...dd-getNearbyXXX-methods-to-Location.patch} | 2 +- ...patch => 0111-PlayerReadyArrowEvent.patch} | 2 +- ...12-Add-EntityKnockbackByEntityEvent.patch} | 2 +- ...patch => 0113-Expand-Explosions-API.patch} | 2 +- ...I-additions-for-quantity-flags-lore.patch} | 2 +- ...vingEntity-Hand-Raised-Item-Use-API.patch} | 2 +- ...-API.patch => 0116-RangedEntity-API.patch} | 2 +- ...eHitEvent-to-include-the-BlockFace-.patch} | 2 +- ...> 0118-Add-World.getEntity-UUID-API.patch} | 2 +- ...0119-InventoryCloseEvent-Reason-API.patch} | 2 +- ...I.patch => 0120-Entity-getChunk-API.patch} | 2 +- ...-API.patch => 0121-Vex-getOwner-API.patch} | 2 +- ...d-an-asterisk-to-legacy-API-plugins.patch} | 4 +- ...c-1.13-versioning-branch-build-name.patch} | 4 +- ...ch => 0124-Add-async-chunk-load-API.patch} | 2 +- Spigot-Server-Patches/0004-MC-Utils.patch | 38 +++++++-------- ...oreboards-for-non-players-by-default.patch | 8 ++-- ...069-Handle-Item-Meta-Inconsistencies.patch | 30 ++++++------ .../0079-Don-t-teleport-dead-entities.patch | 6 +-- ...nilla-per-world-scoreboard-coloring-.patch | 10 ++-- ...0-Vehicle-Event-Cancellation-Changes.patch | 45 ------------------ ...possibility-for-getServer-singleton.patch} | 4 +- ...tem-frames-performance-and-bug-fixe.patch} | 12 ++--- ...API-Replenishable-Lootables-Feature.patch} | 32 ++++++------- ...-Do-not-load-chunks-for-pathfinding.patch} | 4 +- ...> 0114-Entity-Tracking-Improvements.patch} | 6 +-- ...-scoreboard-teams-to-scoreboard.dat.patch} | 6 +-- ... 0116-Fix-Chunk-Unload-Queue-Issues.patch} | 6 +-- ...em-property-for-disabling-watchdoge.patch} | 4 +- ...mize-EAR.patch => 0118-Optimize-EAR.patch} | 4 +- ...0119-Optimize-UserCache-Thread-Safe.patch} | 6 +-- ...locking-on-Network-Manager-creation.patch} | 4 +- ...-Optional-TNT-doesn-t-move-in-water.patch} | 10 ++-- ...-redstone-torch-rapid-clock-removal.patch} | 4 +- ...Ensure-Chunks-never-ever-load-async.patch} | 6 +-- ...h => 0124-Add-server-name-parameter.patch} | 4 +- ...n-Wither-Death-sounds-to-same-world.patch} | 6 +-- ...nk-Unloads-based-on-Player-Movement.patch} | 18 +++---- ...=> 0127-Fix-Double-World-Add-issues.patch} | 6 +-- ...tch => 0128-Fix-Old-Sign-Conversion.patch} | 10 ++-- ...-profiles-that-have-no-UUID-and-no-.patch} | 4 +- ...ative-vehicle-moved-wrongly-message.patch} | 4 +- ...rs-that-dismount-from-other-players.patch} | 4 +- ...etting-for-proxy-online-mode-status.patch} | 8 ++-- ...-BlockStateEnum-hashCode-and-equals.patch} | 4 +- ...0134-Disable-ticking-of-snow-blocks.patch} | 4 +- ...35-Fix-AIOOBE-in-inventory-handling.patch} | 4 +- ...nfigurable-packet-in-spam-threshold.patch} | 6 +-- ...7-Configurable-flying-kick-messages.patch} | 6 +-- ...atch => 0138-Auto-Save-Improvements.patch} | 18 +++---- ...ch => 0139-Chunk-registration-fixes.patch} | 4 +- ...k-reference-on-Craft-Entity-removal.patch} | 4 +- ...to-fix-bad-Y-levels-on-player-login.patch} | 4 +- ...ch => 0142-Disable-Vanilla-Chunk-GC.patch} | 4 +- ...ion-to-remove-corrupt-tile-entities.patch} | 6 +-- ...nt.patch => 0144-Add-EntityZapEvent.patch} | 6 +-- ...hunks-from-Hoppers-and-other-things.patch} | 4 +- ...ent-Auto-Save-if-Save-Queue-is-full.patch} | 8 ++-- ... 0147-Chunk-Save-Stats-Debug-Option.patch} | 6 +-- ...-from-ArmorStand-and-SpawnEgg-items.patch} | 6 +-- ...49-Cache-user-authenticator-threads.patch} | 4 +- ...atch => 0150-Optimize-Network-Queue.patch} | 4 +- ....patch => 0151-Optimise-removeQueue.patch} | 4 +- ...-Allow-Reloading-of-Command-Aliases.patch} | 4 +- ...-Add-source-to-PlayerExpChangeEvent.patch} | 2 +- ...mize-World.isLoaded-BlockPosition-Z.patch} | 4 +- ...-Don-t-let-fishinghooks-use-portals.patch} | 6 +-- ... => 0156-Add-ProjectileCollideEvent.patch} | 4 +- ...ent-Pathfinding-out-of-World-Border.patch} | 6 +-- ...Bound-Treasure-Maps-to-World-Border.patch} | 6 +-- ...igurable-Cartographer-Treasure-Maps.patch} | 6 +-- ... => 0160-Optimize-ItemStack.isEmpty.patch} | 4 +- ...o-control-if-armour-stands-can-move.patch} | 6 +-- ...option-to-remove-invalid-statistics.patch} | 6 +-- ...3-Properly-fix-item-duplication-bug.patch} | 6 +-- ...=> 0164-String-based-Action-Bar-API.patch} | 6 +-- ... 0165-Activation-Range-Improvements.patch} | 14 +++--- ...-API-s.patch => 0166-Firework-API-s.patch} | 10 ++-- ... 0167-PlayerTeleportEndGatewayEvent.patch} | 4 +- ... => 0168-ShulkerBox-Dupe-Prevention.patch} | 4 +- ...ovide-E-TE-Chunk-count-stat-methods.patch} | 4 +- ...h => 0170-Enforce-Sync-Player-Saves.patch} | 4 +- ... => 0171-Enforce-Sync-Chunk-Unloads.patch} | 4 +- ...low-entities-to-ride-themselves-572.patch} | 4 +- ...atch => 0173-Fix-block-break-desync.patch} | 6 +-- ...I-for-Reason-Source-Triggering-play.patch} | 26 +++++----- ...patch => 0175-Cap-Entity-Collisions.patch} | 8 ++-- ...-CraftScheduler-Async-Task-Debugger.patch} | 6 +-- ...g.patch => 0177-Shame-on-you-Mojang.patch} | 6 +-- ...ore-aggressive-in-the-chunk-unload-.patch} | 4 +- ...> 0179-Do-not-let-armorstands-drown.patch} | 6 +-- ...e-async-calls-to-restart-the-server.patch} | 8 ++-- ...roperty-to-disable-book-size-limits.patch} | 6 +-- ...e-parrots-stay-on-shoulders-despite.patch} | 8 ++-- ...-option-to-prevent-player-names-fro.patch} | 6 +-- ...leAppender-for-console-improvements.patch} | 28 +++++------ ...rable-option-to-disable-creeper-lin.patch} | 6 +-- ....patch => 0186-Item-canEntityPickup.patch} | 8 ++-- ...layerPickupItemEvent-setFlyAtPlayer.patch} | 4 +- ...> 0188-PlayerAttemptPickupItemEvent.patch} | 4 +- ...tch => 0189-Add-UnknownCommandEvent.patch} | 4 +- ...tch => 0190-Basic-PlayerProfile-API.patch} | 20 ++++---- ... 0191-Shoulder-Entities-Release-API.patch} | 6 +-- ...patch => 0192-Profile-Lookup-Events.patch} | 4 +- ...layer-logins-during-server-shutdown.patch} | 4 +- ...patch => 0194-Entity-fromMobSpawner.patch} | 8 ++-- ...0195-Fix-Anvil-Level-sync-to-client.patch} | 6 +-- ...ages-for-getTileEntity-in-order-to-.patch} | 4 +- ...7-Improve-the-Saddle-API-for-Horses.patch} | 8 ++-- ...plement-ensureServerConversions-API.patch} | 4 +- ...> 0199-Implement-getI18NDisplayName.patch} | 4 +- ...ving-disabled-before-unloading-all-.patch} | 4 +- ...=> 0201-ProfileWhitelistVerifyEvent.patch} | 4 +- ...ch => 0202-Fix-this-stupid-bullshit.patch} | 4 +- ...wns-should-honor-nametags-and-leash.patch} | 4 +- ...mer-when-spawner-event-is-cancelled.patch} | 4 +- ...5-Fix-MC-117075-TE-Unload-Lag-Spike.patch} | 4 +- ...a-custom-authentication-servers-dow.patch} | 6 +-- ...atch => 0207-LivingEntity-setKiller.patch} | 4 +- ...ms-to-redirect-System.out-err-to-lo.patch} | 6 +-- ...-prefixes-using-Log4J-configuration.patch} | 8 ++-- ...Include-Log4J2-SLF4J-implementation.patch} | 4 +- ...efix-for-various-plugins-bypassing-.patch} | 4 +- ...t.patch => 0212-Add-PlayerJumpEvent.patch} | 6 +-- ...-handle-PacketPlayInKeepAlive-async.patch} | 4 +- ...t-protocol-version-and-virtual-host.patch} | 12 ++--- ...t-serverside-behavior-of-keepalives.patch} | 4 +- ...ith-fastutil-s-ObjectOpenHashSet-in.patch} | 4 +- ...Effects-only-to-players-who-can-see.patch} | 6 +-- ...maximum-exp-value-when-merging-orbs.patch} | 6 +-- ... => 0219-Add-PlayerArmorChangeEvent.patch} | 6 +-- ...om-being-processed-when-the-player-.patch} | 4 +- ...-implementations-for-captured-block.patch} | 4 +- ...get-a-BlockState-without-a-snapshot.patch} | 10 ++-- ...patch => 0223-AsyncTabCompleteEvent.patch} | 14 +++--- ...24-Avoid-NPE-in-PathfinderGoalTempt.patch} | 4 +- ...=> 0225-PlayerPickupExperienceEvent.patch} | 4 +- ...tch => 0226-ExperienceOrbMergeEvent.patch} | 4 +- ...-Ability-to-apply-mending-to-XP-API.patch} | 10 ++-- ...rable-Chunks-Sends-per-Tick-setting.patch} | 6 +-- ...onfigurable-Max-Chunk-Gens-per-Tick.patch} | 12 ++--- ...max-squid-spawn-height-configurable.patch} | 6 +-- ...patch => 0231-PreCreatureSpawnEvent.patch} | 6 +-- ...-PlayerNaturallySpawnCreaturesEvent.patch} | 4 +- ...-Add-SkullMeta.setPlayerProfile-API.patch} | 4 +- ...> 0234-Fill-Profile-Property-Events.patch} | 4 +- ...layerAdvancementCriterionGrantEvent.patch} | 4 +- ...ch => 0236-Add-ArmorStand-Item-Meta.patch} | 16 +++---- ...Extend-Player-Interact-cancellation.patch} | 4 +- ... 0238-Tameable-getOwnerUniqueId-API.patch} | 6 +-- ...-crits-helps-mitigate-hacked-client.patch} | 6 +-- ...ing-location-from-InventoryEnderChe.patch} | 4 +- ...ted-Ice-from-loading-holding-chunks.patch} | 4 +- ...e-Explicit-Network-Manager-Flushing.patch} | 4 +- ...t-extended-PaperServerListPingEvent.patch} | 16 +++---- ... 0244-Improved-Async-Task-Scheduler.patch} | 6 +-- ...-PlayerProfile-in-AsyncPreLoginEven.patch} | 4 +- ...-PortalCreateEvent-for-exit-portals.patch} | 4 +- ...=> 0247-Player.setPlayerProfile-API.patch} | 8 ++-- ...h => 0248-Fix-Dragon-Server-Crashes.patch} | 4 +- ...patch => 0249-getPlayerUniqueId-API.patch} | 4 +- ...ake-player-data-saving-configurable.patch} | 6 +-- ...e-legacy-ping-handler-more-reliable.patch} | 4 +- ...erverListPingEvent-for-legacy-pings.patch} | 6 +-- ...3-Flag-to-disable-the-channel-limit.patch} | 4 +- ...-method-to-open-already-placed-sign.patch} | 4 +- ...oad-version-history-at-server-start.patch} | 4 +- ...rable-sprint-interruption-on-attack.patch} | 6 +-- ...allowed-colored-signs-to-be-created.patch} | 6 +-- ...t.patch => 0258-EndermanEscapeEvent.patch} | 4 +- ...h => 0259-Enderman.teleportRandomly.patch} | 6 +-- ...260-Block-Enderpearl-Travel-Exploit.patch} | 6 +-- ...d.spawnParticle-API-and-add-Builder.patch} | 6 +-- ...h => 0262-EndermanAttackPlayerEvent.patch} | 4 +- ...tch => 0263-WitchConsumePotionEvent.patch} | 4 +- ...patch => 0264-WitchThrowPotionEvent.patch} | 4 +- ...tem-entities-with-World.spawnEntity.patch} | 4 +- ...oad-chunks-for-villager-door-checks.patch} | 4 +- ...patch => 0267-WitchReadyPotionEvent.patch} | 4 +- ...268-ItemStack-getMaxItemUseDuration.patch} | 8 ++-- ...ement-EntityTeleportEndGatewayEvent.patch} | 4 +- ...d-flag-on-cancel-of-Explosion-Event.patch} | 4 +- ...move-entities-on-dimension-teleport.patch} | 8 ++-- ...ch => 0272-Fix-CraftEntity-hashCode.patch} | 4 +- ...e-Alternative-LootPool-Luck-Formula.patch} | 6 +-- ...ls-when-failing-to-save-player-data.patch} | 4 +- ...-shield-blocking-delay-configurable.patch} | 8 ++-- ...cipes-in-RecipeBook-to-avoid-data-e.patch} | 4 +- ...nt-consumeArrow-and-getArrowItem-AP.patch} | 8 ++-- ...patch => 0278-PlayerReadyArrowEvent.patch} | 4 +- ...-EntityShootBowEvent-for-Illusioner.patch} | 4 +- ...lement-EntityKnockbackByEntityEvent.patch} | 4 +- ...patch => 0281-Expand-Explosions-API.patch} | 4 +- ...vingEntity-Hand-Raised-Item-Use-API.patch} | 6 +-- ...-API.patch => 0283-RangedEntity-API.patch} | 18 +++---- ...d-SentientNPC-Interface-to-Entities.patch} | 14 +++--- ...eHitEvent-to-include-the-BlockFace-.patch} | 4 +- ...o-disable-ender-dragon-legacy-check.patch} | 6 +-- ...-Implement-World.getEntity-UUID-API.patch} | 4 +- ...0288-InventoryCloseEvent-Reason-API.patch} | 20 ++++---- ...ps-for-Entity-TileEntity-Current-Ch.patch} | 6 +-- ...0290-Configurable-Bed-Search-Radius.patch} | 6 +-- ...-API.patch => 0291-Vex-getOwner-API.patch} | 6 +-- ...ventory-when-cancelling-PlayerInter.patch} | 6 +-- ...e-the-Entity-Random-seed-for-squids.patch} | 4 +- ...illa-entity-warnings-for-duplicates.patch} | 4 +- ...pawn-if-entity-is-in-a-chunk-schedu.patch} | 4 +- ...-if-stack-size-above-max-stack-size.patch} | 4 +- ...97-Use-asynchronous-Log4j-2-loggers.patch} | 6 +-- ...more-information-to-Entity.toString.patch} | 6 +-- ...es-option-to-debug-dupe-uuid-issues.patch} | 6 +-- ...300-Additional-Paper-Config-options.patch} | 6 +-- ... 0301-Duplicate-UUID-Resolve-Option.patch} | 12 ++--- ...ch => 0302-Add-async-chunk-load-API.patch} | 4 +- ...llowance-of-Permanent-Chunk-Loaders.patch} | 6 +-- ...Speedup-BlockPos-by-fixing-inlining.patch} | 6 +-- ...pers.patch => 0305-Optimize-Hoppers.patch} | 10 ++-- ...tch => 0306-Don-t-save-Proto-Chunks.patch} | 6 +-- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 320 files changed, 790 insertions(+), 882 deletions(-) rename Spigot-API-Patches/{0013-Automatically-disable-plugins-that-fail-to-load.patch => 0012-Automatically-disable-plugins-that-fail-to-load.patch} (94%) delete mode 100644 Spigot-API-Patches/0012-Made-EntityDismountEvent-Cancellable.patch rename Spigot-API-Patches/{0014-Expose-server-CommandMap.patch => 0013-Expose-server-CommandMap.patch} (95%) rename Spigot-API-Patches/{0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch => 0014-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch} (97%) rename Spigot-API-Patches/{0016-Player-Tab-List-and-Title-APIs.patch => 0015-Player-Tab-List-and-Title-APIs.patch} (99%) rename Spigot-API-Patches/{0017-Add-exception-reporting-event.patch => 0016-Add-exception-reporting-event.patch} (99%) rename Spigot-API-Patches/{0018-Fix-ServerListPingEvent-flagging-as-Async.patch => 0017-Fix-ServerListPingEvent-flagging-as-Async.patch} (97%) rename Spigot-API-Patches/{0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch => 0018-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch} (97%) rename Spigot-API-Patches/{0020-Add-methods-for-working-with-arrows-stuck-in-living-.patch => 0019-Add-methods-for-working-with-arrows-stuck-in-living-.patch} (93%) rename Spigot-API-Patches/{0021-Complete-resource-pack-API.patch => 0020-Complete-resource-pack-API.patch} (98%) rename Spigot-API-Patches/{0022-Use-ASM-for-event-executors.patch => 0021-Use-ASM-for-event-executors.patch} (99%) rename Spigot-API-Patches/{0023-Add-a-call-helper-to-Event.patch => 0022-Add-a-call-helper-to-Event.patch} (94%) rename Spigot-API-Patches/{0024-Add-sender-name-to-commands.yml-replacement.patch => 0023-Add-sender-name-to-commands.yml-replacement.patch} (96%) rename Spigot-API-Patches/{0025-Add-command-to-reload-permissions.yml-and-require-co.patch => 0024-Add-command-to-reload-permissions.yml-and-require-co.patch} (98%) rename Spigot-API-Patches/{0026-Custom-replacement-for-eaten-items.patch => 0025-Custom-replacement-for-eaten-items.patch} (97%) rename Spigot-API-Patches/{0027-Access-items-by-EquipmentSlot.patch => 0026-Access-items-by-EquipmentSlot.patch} (94%) rename Spigot-API-Patches/{0028-Entity-AddTo-RemoveFrom-World-Events.patch => 0027-Entity-AddTo-RemoveFrom-World-Events.patch} (97%) rename Spigot-API-Patches/{0029-EntityPathfindEvent.patch => 0028-EntityPathfindEvent.patch} (97%) rename Spigot-API-Patches/{0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch => 0029-Reduce-thread-synchronization-in-MetadataStoreBase.patch} (98%) rename Spigot-API-Patches/{0031-Add-MetadataStoreBase.removeAll-Plugin.patch => 0030-Add-MetadataStoreBase.removeAll-Plugin.patch} (95%) rename Spigot-API-Patches/{0032-Add-PlayerUseUnknownEntityEvent.patch => 0031-Add-PlayerUseUnknownEntityEvent.patch} (96%) rename Spigot-API-Patches/{0033-Add-handshake-event-to-allow-plugins-to-handle-clien.patch => 0032-Add-handshake-event-to-allow-plugins-to-handle-clien.patch} (99%) rename Spigot-API-Patches/{0034-Arrow-pickup-rule-API.patch => 0033-Arrow-pickup-rule-API.patch} (96%) rename Spigot-API-Patches/{0035-EntityRegainHealthEvent-isFastRegen-API.patch => 0034-EntityRegainHealthEvent-isFastRegen-API.patch} (96%) rename Spigot-API-Patches/{0036-LootTable-API.patch => 0035-LootTable-API.patch} (99%) rename Spigot-API-Patches/{0037-Add-EntityZapEvent.patch => 0036-Add-EntityZapEvent.patch} (98%) rename Spigot-API-Patches/{0038-Misc-Utils.patch => 0037-Misc-Utils.patch} (94%) rename Spigot-API-Patches/{0039-Allow-Reloading-of-Command-Aliases.patch => 0038-Allow-Reloading-of-Command-Aliases.patch} (98%) rename Spigot-API-Patches/{0040-Add-source-to-PlayerExpChangeEvent.patch => 0039-Add-source-to-PlayerExpChangeEvent.patch} (96%) rename Spigot-API-Patches/{0041-Add-ProjectileCollideEvent.patch => 0040-Add-ProjectileCollideEvent.patch} (97%) rename Spigot-API-Patches/{0042-Add-String-based-Action-Bar-API.patch => 0041-Add-String-based-Action-Bar-API.patch} (98%) rename Spigot-API-Patches/{0043-Add-API-methods-to-control-if-armour-stands-can-move.patch => 0042-Add-API-methods-to-control-if-armour-stands-can-move.patch} (94%) rename Spigot-API-Patches/{0044-IllegalPacketEvent.patch => 0043-IllegalPacketEvent.patch} (97%) rename Spigot-API-Patches/{0045-Fireworks-API-s.patch => 0044-Fireworks-API-s.patch} (93%) rename Spigot-API-Patches/{0046-PlayerTeleportEndGatewayEvent.patch => 0045-PlayerTeleportEndGatewayEvent.patch} (95%) rename Spigot-API-Patches/{0047-Provide-E-TE-Chunk-count-stat-methods.patch => 0046-Provide-E-TE-Chunk-count-stat-methods.patch} (95%) rename Spigot-API-Patches/{0048-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch => 0047-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch} (98%) rename Spigot-API-Patches/{0049-Expose-WorldBorder-isInBounds-Location-check.patch => 0048-Expose-WorldBorder-isInBounds-Location-check.patch} (94%) rename Spigot-API-Patches/{0050-Add-configuration-option-to-prevent-player-names-fro.patch => 0049-Add-configuration-option-to-prevent-player-names-fro.patch} (97%) rename Spigot-API-Patches/{0051-Fix-upstream-javadoc-warnings-and-errors.patch => 0050-Fix-upstream-javadoc-warnings-and-errors.patch} (99%) rename Spigot-API-Patches/{0052-Item-canEntityPickup.patch => 0051-Item-canEntityPickup.patch} (93%) rename Spigot-API-Patches/{0053-PlayerPickupItemEvent-setFlyAtPlayer.patch => 0052-PlayerPickupItemEvent-setFlyAtPlayer.patch} (96%) rename Spigot-API-Patches/{0054-PlayerAttemptPickupItemEvent.patch => 0053-PlayerAttemptPickupItemEvent.patch} (97%) rename Spigot-API-Patches/{0055-Add-UnknownCommandEvent.patch => 0054-Add-UnknownCommandEvent.patch} (97%) rename Spigot-API-Patches/{0056-Basic-PlayerProfile-API.patch => 0055-Basic-PlayerProfile-API.patch} (99%) rename Spigot-API-Patches/{0057-Shoulder-Entities-Release-API.patch => 0056-Shoulder-Entities-Release-API.patch} (95%) rename Spigot-API-Patches/{0058-Profile-Lookup-Events.patch => 0057-Profile-Lookup-Events.patch} (98%) rename Spigot-API-Patches/{0059-Entity-fromMobSpawner.patch => 0058-Entity-fromMobSpawner.patch} (92%) rename Spigot-API-Patches/{0060-Improve-the-Saddle-API-for-Horses.patch => 0059-Improve-the-Saddle-API-for-Horses.patch} (97%) rename Spigot-API-Patches/{0061-ensureServerConversions-API.patch => 0060-ensureServerConversions-API.patch} (97%) rename Spigot-API-Patches/{0062-Add-getI18NDisplayName-API.patch => 0061-Add-getI18NDisplayName-API.patch} (96%) rename Spigot-API-Patches/{0063-ProfileWhitelistVerifyEvent.patch => 0062-ProfileWhitelistVerifyEvent.patch} (98%) rename Spigot-API-Patches/{0064-Make-plugins-list-alphabetical.patch => 0063-Make-plugins-list-alphabetical.patch} (96%) rename Spigot-API-Patches/{0065-LivingEntity-setKiller.patch => 0064-LivingEntity-setKiller.patch} (94%) rename Spigot-API-Patches/{0066-Handle-plugin-prefixes-in-implementation-logging-con.patch => 0065-Handle-plugin-prefixes-in-implementation-logging-con.patch} (96%) rename Spigot-API-Patches/{0067-Allow-plugins-to-use-SLF4J-for-logging.patch => 0066-Allow-plugins-to-use-SLF4J-for-logging.patch} (94%) rename Spigot-API-Patches/{0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch => 0067-Add-workaround-for-plugins-modifying-the-parent-of-t.patch} (98%) rename Spigot-API-Patches/{0069-Add-PlayerJumpEvent.patch => 0068-Add-PlayerJumpEvent.patch} (98%) rename Spigot-API-Patches/{0070-Expose-client-protocol-version-and-virtual-host.patch => 0069-Expose-client-protocol-version-and-virtual-host.patch} (97%) rename Spigot-API-Patches/{0071-Add-PlayerArmorChangeEvent.patch => 0070-Add-PlayerArmorChangeEvent.patch} (98%) rename Spigot-API-Patches/{0072-API-to-get-a-BlockState-without-a-snapshot.patch => 0071-API-to-get-a-BlockState-without-a-snapshot.patch} (94%) rename Spigot-API-Patches/{0073-AsyncTabCompleteEvent.patch => 0072-AsyncTabCompleteEvent.patch} (99%) rename Spigot-API-Patches/{0074-Display-warning-on-deprecated-recipe-API.patch => 0073-Display-warning-on-deprecated-recipe-API.patch} (97%) rename Spigot-API-Patches/{0075-PlayerPickupExperienceEvent.patch => 0074-PlayerPickupExperienceEvent.patch} (98%) rename Spigot-API-Patches/{0076-ExperienceOrbMergeEvent.patch => 0075-ExperienceOrbMergeEvent.patch} (98%) rename Spigot-API-Patches/{0077-Ability-to-apply-mending-to-XP-API.patch => 0076-Ability-to-apply-mending-to-XP-API.patch} (96%) rename Spigot-API-Patches/{0078-PreCreatureSpawnEvent.patch => 0077-PreCreatureSpawnEvent.patch} (98%) rename Spigot-API-Patches/{0079-PlayerNaturallySpawnCreaturesEvent.patch => 0078-PlayerNaturallySpawnCreaturesEvent.patch} (97%) rename Spigot-API-Patches/{0080-Add-SkullMeta.setPlayerProfile-API.patch => 0079-Add-SkullMeta.setPlayerProfile-API.patch} (95%) rename Spigot-API-Patches/{0081-Fill-Profile-Property-Events.patch => 0080-Fill-Profile-Property-Events.patch} (98%) rename Spigot-API-Patches/{0082-PlayerAdvancementCriterionGrantEvent.patch => 0081-PlayerAdvancementCriterionGrantEvent.patch} (97%) rename Spigot-API-Patches/{0083-Add-ArmorStand-Item-Meta.patch => 0082-Add-ArmorStand-Item-Meta.patch} (97%) rename Spigot-API-Patches/{0084-Optimize-Hoppers.patch => 0083-Optimize-Hoppers.patch} (96%) rename Spigot-API-Patches/{0085-Tameable-getOwnerUniqueId-API.patch => 0084-Tameable-getOwnerUniqueId-API.patch} (94%) rename Spigot-API-Patches/{0086-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch => 0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch} (96%) rename Spigot-API-Patches/{0087-Add-extended-PaperServerListPingEvent.patch => 0086-Add-extended-PaperServerListPingEvent.patch} (99%) rename Spigot-API-Patches/{0088-Player.setPlayerProfile-API.patch => 0087-Player.setPlayerProfile-API.patch} (95%) rename Spigot-API-Patches/{0089-getPlayerUniqueId-API.patch => 0088-getPlayerUniqueId-API.patch} (95%) rename Spigot-API-Patches/{0090-Add-legacy-ping-support-to-PaperServerListPingEvent.patch => 0089-Add-legacy-ping-support-to-PaperServerListPingEvent.patch} (94%) rename Spigot-API-Patches/{0091-Add-method-to-open-already-placed-sign.patch => 0090-Add-method-to-open-already-placed-sign.patch} (92%) rename Spigot-API-Patches/{0092-Add-version-history-to-version-command.patch => 0091-Add-version-history-to-version-command.patch} (99%) rename Spigot-API-Patches/{0093-Add-Ban-Methods-to-Player-Objects.patch => 0092-Add-Ban-Methods-to-Player-Objects.patch} (99%) rename Spigot-API-Patches/{0094-EndermanEscapeEvent.patch => 0093-EndermanEscapeEvent.patch} (97%) rename Spigot-API-Patches/{0095-Enderman.teleportRandomly.patch => 0094-Enderman.teleportRandomly.patch} (93%) rename Spigot-API-Patches/{0096-Additional-world.getNearbyEntities-API-s.patch => 0095-Additional-world.getNearbyEntities-API-s.patch} (99%) rename Spigot-API-Patches/{0097-Location.isChunkLoaded-API.patch => 0096-Location.isChunkLoaded-API.patch} (91%) rename Spigot-API-Patches/{0098-Expand-World.spawnParticle-API-and-add-Builder.patch => 0097-Expand-World.spawnParticle-API-and-add-Builder.patch} (99%) rename Spigot-API-Patches/{0099-EndermanAttackPlayerEvent.patch => 0098-EndermanAttackPlayerEvent.patch} (98%) rename Spigot-API-Patches/{0100-Close-Plugin-Class-Loaders-on-Disable.patch => 0099-Close-Plugin-Class-Loaders-on-Disable.patch} (99%) rename Spigot-API-Patches/{0101-WitchConsumePotionEvent.patch => 0100-WitchConsumePotionEvent.patch} (98%) rename Spigot-API-Patches/{0102-WitchThrowPotionEvent.patch => 0101-WitchThrowPotionEvent.patch} (97%) rename Spigot-API-Patches/{0103-Location.toBlockLocation-toCenterLocation.patch => 0102-Location.toBlockLocation-toCenterLocation.patch} (95%) rename Spigot-API-Patches/{0104-PotionEffect-clone-methods.patch => 0103-PotionEffect-clone-methods.patch} (96%) rename Spigot-API-Patches/{0105-WitchReadyPotionEvent.patch => 0104-WitchReadyPotionEvent.patch} (97%) rename Spigot-API-Patches/{0106-ItemStack-getMaxItemUseDuration.patch => 0105-ItemStack-getMaxItemUseDuration.patch} (93%) rename Spigot-API-Patches/{0107-Add-EntityTeleportEndGatewayEvent.patch => 0106-Add-EntityTeleportEndGatewayEvent.patch} (95%) rename Spigot-API-Patches/{0108-Add-SentientNPC-Interface-to-Entities.patch => 0107-Add-SentientNPC-Interface-to-Entities.patch} (99%) rename Spigot-API-Patches/{0109-Make-shield-blocking-delay-configurable.patch => 0108-Make-shield-blocking-delay-configurable.patch} (94%) rename Spigot-API-Patches/{0110-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch => 0109-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch} (96%) rename Spigot-API-Patches/{0111-Add-getNearbyXXX-methods-to-Location.patch => 0110-Add-getNearbyXXX-methods-to-Location.patch} (99%) rename Spigot-API-Patches/{0112-PlayerReadyArrowEvent.patch => 0111-PlayerReadyArrowEvent.patch} (98%) rename Spigot-API-Patches/{0113-Add-EntityKnockbackByEntityEvent.patch => 0112-Add-EntityKnockbackByEntityEvent.patch} (97%) rename Spigot-API-Patches/{0114-Expand-Explosions-API.patch => 0113-Expand-Explosions-API.patch} (99%) rename Spigot-API-Patches/{0115-ItemStack-API-additions-for-quantity-flags-lore.patch => 0114-ItemStack-API-additions-for-quantity-flags-lore.patch} (98%) rename Spigot-API-Patches/{0116-LivingEntity-Hand-Raised-Item-Use-API.patch => 0115-LivingEntity-Hand-Raised-Item-Use-API.patch} (96%) rename Spigot-API-Patches/{0117-RangedEntity-API.patch => 0116-RangedEntity-API.patch} (98%) rename Spigot-API-Patches/{0118-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch => 0117-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch} (96%) rename Spigot-API-Patches/{0119-Add-World.getEntity-UUID-API.patch => 0118-Add-World.getEntity-UUID-API.patch} (93%) rename Spigot-API-Patches/{0120-InventoryCloseEvent-Reason-API.patch => 0119-InventoryCloseEvent-Reason-API.patch} (97%) rename Spigot-API-Patches/{0121-Entity-getChunk-API.patch => 0120-Entity-getChunk-API.patch} (93%) rename Spigot-API-Patches/{0122-Vex-getOwner-API.patch => 0121-Vex-getOwner-API.patch} (92%) rename Spigot-API-Patches/{0123-Add-an-asterisk-to-legacy-API-plugins.patch => 0122-Add-an-asterisk-to-legacy-API-plugins.patch} (97%) rename Spigot-API-Patches/{0124-Use-specific-1.13-versioning-branch-build-name.patch => 0123-Use-specific-1.13-versioning-branch-build-name.patch} (97%) rename Spigot-API-Patches/{0125-Add-async-chunk-load-API.patch => 0124-Add-async-chunk-load-API.patch} (98%) delete mode 100644 Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch rename Spigot-Server-Patches/{0111-remove-null-possibility-for-getServer-singleton.patch => 0110-remove-null-possibility-for-getServer-singleton.patch} (95%) rename Spigot-Server-Patches/{0112-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch => 0111-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch} (96%) rename Spigot-Server-Patches/{0113-LootTable-API-Replenishable-Lootables-Feature.patch => 0112-LootTable-API-Replenishable-Lootables-Feature.patch} (98%) rename Spigot-Server-Patches/{0114-Do-not-load-chunks-for-pathfinding.patch => 0113-Do-not-load-chunks-for-pathfinding.patch} (87%) rename Spigot-Server-Patches/{0115-Entity-Tracking-Improvements.patch => 0114-Entity-Tracking-Improvements.patch} (96%) rename Spigot-Server-Patches/{0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch => 0115-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch} (92%) rename Spigot-Server-Patches/{0117-Fix-Chunk-Unload-Queue-Issues.patch => 0116-Fix-Chunk-Unload-Queue-Issues.patch} (92%) rename Spigot-Server-Patches/{0118-System-property-for-disabling-watchdoge.patch => 0117-System-property-for-disabling-watchdoge.patch} (90%) rename Spigot-Server-Patches/{0119-Optimize-EAR.patch => 0118-Optimize-EAR.patch} (96%) rename Spigot-Server-Patches/{0120-Optimize-UserCache-Thread-Safe.patch => 0119-Optimize-UserCache-Thread-Safe.patch} (96%) rename Spigot-Server-Patches/{0121-Avoid-blocking-on-Network-Manager-creation.patch => 0120-Avoid-blocking-on-Network-Manager-creation.patch} (96%) rename Spigot-Server-Patches/{0122-Optional-TNT-doesn-t-move-in-water.patch => 0121-Optional-TNT-doesn-t-move-in-water.patch} (94%) rename Spigot-Server-Patches/{0123-Faster-redstone-torch-rapid-clock-removal.patch => 0122-Faster-redstone-torch-rapid-clock-removal.patch} (94%) rename Spigot-Server-Patches/{0124-Ensure-Chunks-never-ever-load-async.patch => 0123-Ensure-Chunks-never-ever-load-async.patch} (95%) rename Spigot-Server-Patches/{0125-Add-server-name-parameter.patch => 0124-Add-server-name-parameter.patch} (90%) rename Spigot-Server-Patches/{0126-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch => 0125-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch} (95%) rename Spigot-Server-Patches/{0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch => 0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch} (96%) rename Spigot-Server-Patches/{0128-Fix-Double-World-Add-issues.patch => 0127-Fix-Double-World-Add-issues.patch} (93%) rename Spigot-Server-Patches/{0129-Fix-Old-Sign-Conversion.patch => 0128-Fix-Old-Sign-Conversion.patch} (95%) rename Spigot-Server-Patches/{0130-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch => 0129-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch} (90%) rename Spigot-Server-Patches/{0131-More-informative-vehicle-moved-wrongly-message.patch => 0130-More-informative-vehicle-moved-wrongly-message.patch} (90%) rename Spigot-Server-Patches/{0132-Re-track-players-that-dismount-from-other-players.patch => 0131-Re-track-players-that-dismount-from-other-players.patch} (91%) rename Spigot-Server-Patches/{0133-Add-setting-for-proxy-online-mode-status.patch => 0132-Add-setting-for-proxy-online-mode-status.patch} (93%) rename Spigot-Server-Patches/{0134-Optimise-BlockStateEnum-hashCode-and-equals.patch => 0133-Optimise-BlockStateEnum-hashCode-and-equals.patch} (96%) rename Spigot-Server-Patches/{0135-Disable-ticking-of-snow-blocks.patch => 0134-Disable-ticking-of-snow-blocks.patch} (89%) rename Spigot-Server-Patches/{0136-Fix-AIOOBE-in-inventory-handling.patch => 0135-Fix-AIOOBE-in-inventory-handling.patch} (91%) rename Spigot-Server-Patches/{0137-Configurable-packet-in-spam-threshold.patch => 0136-Configurable-packet-in-spam-threshold.patch} (94%) rename Spigot-Server-Patches/{0138-Configurable-flying-kick-messages.patch => 0137-Configurable-flying-kick-messages.patch} (94%) rename Spigot-Server-Patches/{0139-Auto-Save-Improvements.patch => 0138-Auto-Save-Improvements.patch} (97%) rename Spigot-Server-Patches/{0140-Chunk-registration-fixes.patch => 0139-Chunk-registration-fixes.patch} (90%) rename Spigot-Server-Patches/{0141-Remove-FishingHook-reference-on-Craft-Entity-removal.patch => 0140-Remove-FishingHook-reference-on-Craft-Entity-removal.patch} (89%) rename Spigot-Server-Patches/{0142-Auto-fix-bad-Y-levels-on-player-login.patch => 0141-Auto-fix-bad-Y-levels-on-player-login.patch} (90%) rename Spigot-Server-Patches/{0143-Disable-Vanilla-Chunk-GC.patch => 0142-Disable-Vanilla-Chunk-GC.patch} (92%) rename Spigot-Server-Patches/{0144-Option-to-remove-corrupt-tile-entities.patch => 0143-Option-to-remove-corrupt-tile-entities.patch} (93%) rename Spigot-Server-Patches/{0145-Add-EntityZapEvent.patch => 0144-Add-EntityZapEvent.patch} (96%) rename Spigot-Server-Patches/{0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch => 0145-Don-t-load-Chunks-from-Hoppers-and-other-things.patch} (94%) rename Spigot-Server-Patches/{0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch => 0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch} (94%) rename Spigot-Server-Patches/{0148-Chunk-Save-Stats-Debug-Option.patch => 0147-Chunk-Save-Stats-Debug-Option.patch} (97%) rename Spigot-Server-Patches/{0149-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch => 0148-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch} (94%) rename Spigot-Server-Patches/{0150-Cache-user-authenticator-threads.patch => 0149-Cache-user-authenticator-threads.patch} (96%) rename Spigot-Server-Patches/{0151-Optimize-Network-Queue.patch => 0150-Optimize-Network-Queue.patch} (90%) rename Spigot-Server-Patches/{0152-Optimise-removeQueue.patch => 0151-Optimise-removeQueue.patch} (96%) rename Spigot-Server-Patches/{0153-Allow-Reloading-of-Command-Aliases.patch => 0152-Allow-Reloading-of-Command-Aliases.patch} (93%) rename Spigot-Server-Patches/{0154-Add-source-to-PlayerExpChangeEvent.patch => 0153-Add-source-to-PlayerExpChangeEvent.patch} (97%) rename Spigot-Server-Patches/{0155-Optimize-World.isLoaded-BlockPosition-Z.patch => 0154-Optimize-World.isLoaded-BlockPosition-Z.patch} (90%) rename Spigot-Server-Patches/{0156-Don-t-let-fishinghooks-use-portals.patch => 0155-Don-t-let-fishinghooks-use-portals.patch} (91%) rename Spigot-Server-Patches/{0157-Add-ProjectileCollideEvent.patch => 0156-Add-ProjectileCollideEvent.patch} (98%) rename Spigot-Server-Patches/{0158-Prevent-Pathfinding-out-of-World-Border.patch => 0157-Prevent-Pathfinding-out-of-World-Border.patch} (93%) rename Spigot-Server-Patches/{0159-Bound-Treasure-Maps-to-World-Border.patch => 0158-Bound-Treasure-Maps-to-World-Border.patch} (95%) rename Spigot-Server-Patches/{0160-Configurable-Cartographer-Treasure-Maps.patch => 0159-Configurable-Cartographer-Treasure-Maps.patch} (93%) rename Spigot-Server-Patches/{0161-Optimize-ItemStack.isEmpty.patch => 0160-Optimize-ItemStack.isEmpty.patch} (89%) rename Spigot-Server-Patches/{0162-Add-API-methods-to-control-if-armour-stands-can-move.patch => 0161-Add-API-methods-to-control-if-armour-stands-can-move.patch} (92%) rename Spigot-Server-Patches/{0163-Add-option-to-remove-invalid-statistics.patch => 0162-Add-option-to-remove-invalid-statistics.patch} (94%) rename Spigot-Server-Patches/{0164-Properly-fix-item-duplication-bug.patch => 0163-Properly-fix-item-duplication-bug.patch} (91%) rename Spigot-Server-Patches/{0165-String-based-Action-Bar-API.patch => 0164-String-based-Action-Bar-API.patch} (95%) rename Spigot-Server-Patches/{0166-Activation-Range-Improvements.patch => 0165-Activation-Range-Improvements.patch} (96%) rename Spigot-Server-Patches/{0167-Firework-API-s.patch => 0166-Firework-API-s.patch} (96%) rename Spigot-Server-Patches/{0168-PlayerTeleportEndGatewayEvent.patch => 0167-PlayerTeleportEndGatewayEvent.patch} (92%) rename Spigot-Server-Patches/{0169-ShulkerBox-Dupe-Prevention.patch => 0168-ShulkerBox-Dupe-Prevention.patch} (90%) rename Spigot-Server-Patches/{0170-Provide-E-TE-Chunk-count-stat-methods.patch => 0169-Provide-E-TE-Chunk-count-stat-methods.patch} (93%) rename Spigot-Server-Patches/{0171-Enforce-Sync-Player-Saves.patch => 0170-Enforce-Sync-Player-Saves.patch} (91%) rename Spigot-Server-Patches/{0172-Enforce-Sync-Chunk-Unloads.patch => 0171-Enforce-Sync-Chunk-Unloads.patch} (92%) rename Spigot-Server-Patches/{0173-Don-t-allow-entities-to-ride-themselves-572.patch => 0172-Don-t-allow-entities-to-ride-themselves-572.patch} (89%) rename Spigot-Server-Patches/{0174-Fix-block-break-desync.patch => 0173-Fix-block-break-desync.patch} (90%) rename Spigot-Server-Patches/{0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch => 0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch} (96%) rename Spigot-Server-Patches/{0176-Cap-Entity-Collisions.patch => 0175-Cap-Entity-Collisions.patch} (93%) rename Spigot-Server-Patches/{0177-Remove-CraftScheduler-Async-Task-Debugger.patch => 0176-Remove-CraftScheduler-Async-Task-Debugger.patch} (96%) rename Spigot-Server-Patches/{0178-Shame-on-you-Mojang.patch => 0177-Shame-on-you-Mojang.patch} (91%) rename Spigot-Server-Patches/{0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch => 0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch} (91%) rename Spigot-Server-Patches/{0180-Do-not-let-armorstands-drown.patch => 0179-Do-not-let-armorstands-drown.patch} (93%) rename Spigot-Server-Patches/{0181-Properly-handle-async-calls-to-restart-the-server.patch => 0180-Properly-handle-async-calls-to-restart-the-server.patch} (98%) rename Spigot-Server-Patches/{0182-Add-system-property-to-disable-book-size-limits.patch => 0181-Add-system-property-to-disable-book-size-limits.patch} (96%) rename Spigot-Server-Patches/{0183-Add-option-to-make-parrots-stay-on-shoulders-despite.patch => 0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch} (94%) rename Spigot-Server-Patches/{0184-Add-configuration-option-to-prevent-player-names-fro.patch => 0183-Add-configuration-option-to-prevent-player-names-fro.patch} (91%) rename Spigot-Server-Patches/{0185-Use-TerminalConsoleAppender-for-console-improvements.patch => 0184-Use-TerminalConsoleAppender-for-console-improvements.patch} (98%) rename Spigot-Server-Patches/{0186-provide-a-configurable-option-to-disable-creeper-lin.patch => 0185-provide-a-configurable-option-to-disable-creeper-lin.patch} (92%) rename Spigot-Server-Patches/{0187-Item-canEntityPickup.patch => 0186-Item-canEntityPickup.patch} (92%) rename Spigot-Server-Patches/{0188-PlayerPickupItemEvent-setFlyAtPlayer.patch => 0187-PlayerPickupItemEvent-setFlyAtPlayer.patch} (95%) rename Spigot-Server-Patches/{0189-PlayerAttemptPickupItemEvent.patch => 0188-PlayerAttemptPickupItemEvent.patch} (94%) rename Spigot-Server-Patches/{0190-Add-UnknownCommandEvent.patch => 0189-Add-UnknownCommandEvent.patch} (93%) rename Spigot-Server-Patches/{0191-Basic-PlayerProfile-API.patch => 0190-Basic-PlayerProfile-API.patch} (98%) rename Spigot-Server-Patches/{0192-Shoulder-Entities-Release-API.patch => 0191-Shoulder-Entities-Release-API.patch} (96%) rename Spigot-Server-Patches/{0193-Profile-Lookup-Events.patch => 0192-Profile-Lookup-Events.patch} (97%) rename Spigot-Server-Patches/{0194-Block-player-logins-during-server-shutdown.patch => 0193-Block-player-logins-during-server-shutdown.patch} (90%) rename Spigot-Server-Patches/{0195-Entity-fromMobSpawner.patch => 0194-Entity-fromMobSpawner.patch} (95%) rename Spigot-Server-Patches/{0196-Fix-Anvil-Level-sync-to-client.patch => 0195-Fix-Anvil-Level-sync-to-client.patch} (93%) rename Spigot-Server-Patches/{0197-Add-missing-coverages-for-getTileEntity-in-order-to-.patch => 0196-Add-missing-coverages-for-getTileEntity-in-order-to-.patch} (90%) rename Spigot-Server-Patches/{0198-Improve-the-Saddle-API-for-Horses.patch => 0197-Improve-the-Saddle-API-for-Horses.patch} (94%) rename Spigot-Server-Patches/{0199-Implement-ensureServerConversions-API.patch => 0198-Implement-ensureServerConversions-API.patch} (91%) rename Spigot-Server-Patches/{0200-Implement-getI18NDisplayName.patch => 0199-Implement-getI18NDisplayName.patch} (92%) rename Spigot-Server-Patches/{0201-GH-806-Respect-saving-disabled-before-unloading-all-.patch => 0200-GH-806-Respect-saving-disabled-before-unloading-all-.patch} (91%) rename Spigot-Server-Patches/{0202-ProfileWhitelistVerifyEvent.patch => 0201-ProfileWhitelistVerifyEvent.patch} (96%) rename Spigot-Server-Patches/{0203-Fix-this-stupid-bullshit.patch => 0202-Fix-this-stupid-bullshit.patch} (94%) rename Spigot-Server-Patches/{0204-Ocelot-despawns-should-honor-nametags-and-leash.patch => 0203-Ocelot-despawns-should-honor-nametags-and-leash.patch} (89%) rename Spigot-Server-Patches/{0205-Reset-spawner-timer-when-spawner-event-is-cancelled.patch => 0204-Reset-spawner-timer-when-spawner-event-is-cancelled.patch} (92%) rename Spigot-Server-Patches/{0206-Fix-MC-117075-TE-Unload-Lag-Spike.patch => 0205-Fix-MC-117075-TE-Unload-Lag-Spike.patch} (92%) rename Spigot-Server-Patches/{0207-Allow-specifying-a-custom-authentication-servers-dow.patch => 0206-Allow-specifying-a-custom-authentication-servers-dow.patch} (94%) rename Spigot-Server-Patches/{0208-LivingEntity-setKiller.patch => 0207-LivingEntity-setKiller.patch} (92%) rename Spigot-Server-Patches/{0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch => 0208-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch} (93%) rename Spigot-Server-Patches/{0210-Handle-plugin-prefixes-using-Log4J-configuration.patch => 0209-Handle-plugin-prefixes-using-Log4J-configuration.patch} (95%) rename Spigot-Server-Patches/{0211-Include-Log4J2-SLF4J-implementation.patch => 0210-Include-Log4J2-SLF4J-implementation.patch} (87%) rename Spigot-Server-Patches/{0212-Disable-logger-prefix-for-various-plugins-bypassing-.patch => 0211-Disable-logger-prefix-for-various-plugins-bypassing-.patch} (95%) rename Spigot-Server-Patches/{0213-Add-PlayerJumpEvent.patch => 0212-Add-PlayerJumpEvent.patch} (96%) rename Spigot-Server-Patches/{0214-handle-PacketPlayInKeepAlive-async.patch => 0213-handle-PacketPlayInKeepAlive-async.patch} (95%) rename Spigot-Server-Patches/{0215-Expose-client-protocol-version-and-virtual-host.patch => 0214-Expose-client-protocol-version-and-virtual-host.patch} (95%) rename Spigot-Server-Patches/{0216-revert-serverside-behavior-of-keepalives.patch => 0215-revert-serverside-behavior-of-keepalives.patch} (97%) rename Spigot-Server-Patches/{0217-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch => 0216-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch} (92%) rename Spigot-Server-Patches/{0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch => 0217-Send-attack-SoundEffects-only-to-players-who-can-see.patch} (97%) rename Spigot-Server-Patches/{0219-Option-for-maximum-exp-value-when-merging-orbs.patch => 0218-Option-for-maximum-exp-value-when-merging-orbs.patch} (95%) rename Spigot-Server-Patches/{0220-Add-PlayerArmorChangeEvent.patch => 0219-Add-PlayerArmorChangeEvent.patch} (94%) rename Spigot-Server-Patches/{0221-Prevent-logins-from-being-processed-when-the-player-.patch => 0220-Prevent-logins-from-being-processed-when-the-player-.patch} (91%) rename Spigot-Server-Patches/{0222-use-CB-BlockState-implementations-for-captured-block.patch => 0221-use-CB-BlockState-implementations-for-captured-block.patch} (94%) rename Spigot-Server-Patches/{0223-API-to-get-a-BlockState-without-a-snapshot.patch => 0222-API-to-get-a-BlockState-without-a-snapshot.patch} (96%) rename Spigot-Server-Patches/{0224-AsyncTabCompleteEvent.patch => 0223-AsyncTabCompleteEvent.patch} (96%) rename Spigot-Server-Patches/{0225-Avoid-NPE-in-PathfinderGoalTempt.patch => 0224-Avoid-NPE-in-PathfinderGoalTempt.patch} (89%) rename Spigot-Server-Patches/{0226-PlayerPickupExperienceEvent.patch => 0225-PlayerPickupExperienceEvent.patch} (91%) rename Spigot-Server-Patches/{0227-ExperienceOrbMergeEvent.patch => 0226-ExperienceOrbMergeEvent.patch} (93%) rename Spigot-Server-Patches/{0228-Ability-to-apply-mending-to-XP-API.patch => 0227-Ability-to-apply-mending-to-XP-API.patch} (95%) rename Spigot-Server-Patches/{0229-Configurable-Chunks-Sends-per-Tick-setting.patch => 0228-Configurable-Chunks-Sends-per-Tick-setting.patch} (92%) rename Spigot-Server-Patches/{0230-Configurable-Max-Chunk-Gens-per-Tick.patch => 0229-Configurable-Max-Chunk-Gens-per-Tick.patch} (95%) rename Spigot-Server-Patches/{0231-Make-max-squid-spawn-height-configurable.patch => 0230-Make-max-squid-spawn-height-configurable.patch} (92%) rename Spigot-Server-Patches/{0232-PreCreatureSpawnEvent.patch => 0231-PreCreatureSpawnEvent.patch} (97%) rename Spigot-Server-Patches/{0233-PlayerNaturallySpawnCreaturesEvent.patch => 0232-PlayerNaturallySpawnCreaturesEvent.patch} (93%) rename Spigot-Server-Patches/{0234-Add-SkullMeta.setPlayerProfile-API.patch => 0233-Add-SkullMeta.setPlayerProfile-API.patch} (94%) rename Spigot-Server-Patches/{0235-Fill-Profile-Property-Events.patch => 0234-Fill-Profile-Property-Events.patch} (94%) rename Spigot-Server-Patches/{0236-PlayerAdvancementCriterionGrantEvent.patch => 0235-PlayerAdvancementCriterionGrantEvent.patch} (90%) rename Spigot-Server-Patches/{0237-Add-ArmorStand-Item-Meta.patch => 0236-Add-ArmorStand-Item-Meta.patch} (97%) rename Spigot-Server-Patches/{0238-Extend-Player-Interact-cancellation.patch => 0237-Extend-Player-Interact-cancellation.patch} (98%) rename Spigot-Server-Patches/{0239-Tameable-getOwnerUniqueId-API.patch => 0238-Tameable-getOwnerUniqueId-API.patch} (91%) rename Spigot-Server-Patches/{0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch => 0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch} (92%) rename Spigot-Server-Patches/{0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch => 0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch} (92%) rename Spigot-Server-Patches/{0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch => 0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch} (94%) rename Spigot-Server-Patches/{0243-Disable-Explicit-Network-Manager-Flushing.patch => 0242-Disable-Explicit-Network-Manager-Flushing.patch} (94%) rename Spigot-Server-Patches/{0244-Implement-extended-PaperServerListPingEvent.patch => 0243-Implement-extended-PaperServerListPingEvent.patch} (97%) rename Spigot-Server-Patches/{0245-Improved-Async-Task-Scheduler.patch => 0244-Improved-Async-Task-Scheduler.patch} (99%) rename Spigot-Server-Patches/{0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch => 0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch} (96%) rename Spigot-Server-Patches/{0247-Call-PortalCreateEvent-for-exit-portals.patch => 0246-Call-PortalCreateEvent-for-exit-portals.patch} (98%) rename Spigot-Server-Patches/{0248-Player.setPlayerProfile-API.patch => 0247-Player.setPlayerProfile-API.patch} (97%) rename Spigot-Server-Patches/{0249-Fix-Dragon-Server-Crashes.patch => 0248-Fix-Dragon-Server-Crashes.patch} (92%) rename Spigot-Server-Patches/{0250-getPlayerUniqueId-API.patch => 0249-getPlayerUniqueId-API.patch} (94%) rename Spigot-Server-Patches/{0251-Make-player-data-saving-configurable.patch => 0250-Make-player-data-saving-configurable.patch} (93%) rename Spigot-Server-Patches/{0252-Make-legacy-ping-handler-more-reliable.patch => 0251-Make-legacy-ping-handler-more-reliable.patch} (98%) rename Spigot-Server-Patches/{0253-Call-PaperServerListPingEvent-for-legacy-pings.patch => 0252-Call-PaperServerListPingEvent-for-legacy-pings.patch} (98%) rename Spigot-Server-Patches/{0254-Flag-to-disable-the-channel-limit.patch => 0253-Flag-to-disable-the-channel-limit.patch} (94%) rename Spigot-Server-Patches/{0255-Add-method-to-open-already-placed-sign.patch => 0254-Add-method-to-open-already-placed-sign.patch} (92%) rename Spigot-Server-Patches/{0256-Load-version-history-at-server-start.patch => 0255-Load-version-history-at-server-start.patch} (89%) rename Spigot-Server-Patches/{0257-Configurable-sprint-interruption-on-attack.patch => 0256-Configurable-sprint-interruption-on-attack.patch} (92%) rename Spigot-Server-Patches/{0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch => 0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch} (86%) rename Spigot-Server-Patches/{0259-EndermanEscapeEvent.patch => 0258-EndermanEscapeEvent.patch} (97%) rename Spigot-Server-Patches/{0260-Enderman.teleportRandomly.patch => 0259-Enderman.teleportRandomly.patch} (91%) rename Spigot-Server-Patches/{0261-Block-Enderpearl-Travel-Exploit.patch => 0260-Block-Enderpearl-Travel-Exploit.patch} (93%) rename Spigot-Server-Patches/{0262-Expand-World.spawnParticle-API-and-add-Builder.patch => 0261-Expand-World.spawnParticle-API-and-add-Builder.patch} (96%) rename Spigot-Server-Patches/{0263-EndermanAttackPlayerEvent.patch => 0262-EndermanAttackPlayerEvent.patch} (93%) rename Spigot-Server-Patches/{0264-WitchConsumePotionEvent.patch => 0263-WitchConsumePotionEvent.patch} (93%) rename Spigot-Server-Patches/{0265-WitchThrowPotionEvent.patch => 0264-WitchThrowPotionEvent.patch} (94%) rename Spigot-Server-Patches/{0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch => 0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch} (92%) rename Spigot-Server-Patches/{0267-Don-t-load-chunks-for-villager-door-checks.patch => 0266-Don-t-load-chunks-for-villager-door-checks.patch} (90%) rename Spigot-Server-Patches/{0268-WitchReadyPotionEvent.patch => 0267-WitchReadyPotionEvent.patch} (93%) rename Spigot-Server-Patches/{0269-ItemStack-getMaxItemUseDuration.patch => 0268-ItemStack-getMaxItemUseDuration.patch} (88%) rename Spigot-Server-Patches/{0270-Implement-EntityTeleportEndGatewayEvent.patch => 0269-Implement-EntityTeleportEndGatewayEvent.patch} (95%) rename Spigot-Server-Patches/{0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch => 0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch} (93%) rename Spigot-Server-Patches/{0272-Properly-remove-entities-on-dimension-teleport.patch => 0271-Properly-remove-entities-on-dimension-teleport.patch} (91%) rename Spigot-Server-Patches/{0273-Fix-CraftEntity-hashCode.patch => 0272-Fix-CraftEntity-hashCode.patch} (94%) rename Spigot-Server-Patches/{0274-Configurable-Alternative-LootPool-Luck-Formula.patch => 0273-Configurable-Alternative-LootPool-Luck-Formula.patch} (97%) rename Spigot-Server-Patches/{0275-Print-Error-details-when-failing-to-save-player-data.patch => 0274-Print-Error-details-when-failing-to-save-player-data.patch} (89%) rename Spigot-Server-Patches/{0276-Make-shield-blocking-delay-configurable.patch => 0275-Make-shield-blocking-delay-configurable.patch} (94%) rename Spigot-Server-Patches/{0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch => 0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch} (93%) rename Spigot-Server-Patches/{0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch => 0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch} (96%) rename Spigot-Server-Patches/{0279-PlayerReadyArrowEvent.patch => 0278-PlayerReadyArrowEvent.patch} (97%) rename Spigot-Server-Patches/{0280-Fire-EntityShootBowEvent-for-Illusioner.patch => 0279-Fire-EntityShootBowEvent-for-Illusioner.patch} (93%) rename Spigot-Server-Patches/{0281-Implement-EntityKnockbackByEntityEvent.patch => 0280-Implement-EntityKnockbackByEntityEvent.patch} (94%) rename Spigot-Server-Patches/{0282-Expand-Explosions-API.patch => 0281-Expand-Explosions-API.patch} (92%) rename Spigot-Server-Patches/{0283-LivingEntity-Hand-Raised-Item-Use-API.patch => 0282-LivingEntity-Hand-Raised-Item-Use-API.patch} (94%) rename Spigot-Server-Patches/{0284-RangedEntity-API.patch => 0283-RangedEntity-API.patch} (95%) rename Spigot-Server-Patches/{0285-Add-SentientNPC-Interface-to-Entities.patch => 0284-Add-SentientNPC-Interface-to-Entities.patch} (96%) rename Spigot-Server-Patches/{0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch => 0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch} (92%) rename Spigot-Server-Patches/{0287-Add-config-to-disable-ender-dragon-legacy-check.patch => 0286-Add-config-to-disable-ender-dragon-legacy-check.patch} (94%) rename Spigot-Server-Patches/{0288-Implement-World.getEntity-UUID-API.patch => 0287-Implement-World.getEntity-UUID-API.patch} (89%) rename Spigot-Server-Patches/{0289-InventoryCloseEvent-Reason-API.patch => 0288-InventoryCloseEvent-Reason-API.patch} (95%) rename Spigot-Server-Patches/{0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch => 0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch} (96%) rename Spigot-Server-Patches/{0291-Configurable-Bed-Search-Radius.patch => 0290-Configurable-Bed-Search-Radius.patch} (96%) rename Spigot-Server-Patches/{0292-Vex-getOwner-API.patch => 0291-Vex-getOwner-API.patch} (92%) rename Spigot-Server-Patches/{0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch => 0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch} (88%) rename Spigot-Server-Patches/{0294-Don-t-change-the-Entity-Random-seed-for-squids.patch => 0293-Don-t-change-the-Entity-Random-seed-for-squids.patch} (88%) rename Spigot-Server-Patches/{0295-Re-add-vanilla-entity-warnings-for-duplicates.patch => 0294-Re-add-vanilla-entity-warnings-for-duplicates.patch} (94%) rename Spigot-Server-Patches/{0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch => 0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch} (92%) rename Spigot-Server-Patches/{0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch => 0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch} (90%) rename Spigot-Server-Patches/{0298-Use-asynchronous-Log4j-2-loggers.patch => 0297-Use-asynchronous-Log4j-2-loggers.patch} (87%) rename Spigot-Server-Patches/{0299-add-more-information-to-Entity.toString.patch => 0298-add-more-information-to-Entity.toString.patch} (89%) rename Spigot-Server-Patches/{0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch => 0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch} (96%) rename Spigot-Server-Patches/{0301-Additional-Paper-Config-options.patch => 0300-Additional-Paper-Config-options.patch} (90%) rename Spigot-Server-Patches/{0302-Duplicate-UUID-Resolve-Option.patch => 0301-Duplicate-UUID-Resolve-Option.patch} (97%) rename Spigot-Server-Patches/{0303-Add-async-chunk-load-API.patch => 0302-Add-async-chunk-load-API.patch} (93%) rename Spigot-Server-Patches/{0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch => 0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch} (92%) rename Spigot-Server-Patches/{0305-Speedup-BlockPos-by-fixing-inlining.patch => 0304-Speedup-BlockPos-by-fixing-inlining.patch} (98%) rename Spigot-Server-Patches/{0306-Optimize-Hoppers.patch => 0305-Optimize-Hoppers.patch} (98%) rename Spigot-Server-Patches/{0307-Don-t-save-Proto-Chunks.patch => 0306-Don-t-save-Proto-Chunks.patch} (93%) diff --git a/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch b/Spigot-API-Patches/0012-Automatically-disable-plugins-that-fail-to-load.patch similarity index 94% rename from Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch rename to Spigot-API-Patches/0012-Automatically-disable-plugins-that-fail-to-load.patch index eef236b0a7..bd4ae59d0a 100644 --- a/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch +++ b/Spigot-API-Patches/0012-Automatically-disable-plugins-that-fail-to-load.patch @@ -1,4 +1,4 @@ -From 283da38a9b2ea8a978ea570e8446f487caaf6f10 Mon Sep 17 00:00:00 2001 +From 9a230e904d502c69610fe0507d3bbaabc19cd059 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 19:45:21 -0600 Subject: [PATCH] Automatically disable plugins that fail to load diff --git a/Spigot-API-Patches/0012-Made-EntityDismountEvent-Cancellable.patch b/Spigot-API-Patches/0012-Made-EntityDismountEvent-Cancellable.patch deleted file mode 100644 index 3b8d8a99cd..0000000000 --- a/Spigot-API-Patches/0012-Made-EntityDismountEvent-Cancellable.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 8afe8ac5e2901bf492b1465e4a5ec43117bebdc2 Mon Sep 17 00:00:00 2001 -From: Nik Gil -Date: Mon, 29 Feb 2016 19:42:10 -0600 -Subject: [PATCH] Made EntityDismountEvent Cancellable - - -diff --git a/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java b/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java -index 24d4942a..ce989bb1 100644 ---- a/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java -+++ b/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java -@@ -1,6 +1,7 @@ - package org.spigotmc.event.entity; - - import org.bukkit.entity.Entity; -+import org.bukkit.event.Cancellable; - import org.bukkit.event.HandlerList; - import org.bukkit.event.entity.EntityEvent; - -@@ -8,7 +9,7 @@ import org.bukkit.event.entity.EntityEvent; - * Called when an entity stops riding another entity. - * - */ --public class EntityDismountEvent extends EntityEvent -+public class EntityDismountEvent extends EntityEvent implements Cancellable // Paper - implement Cancellable - { - - private static final HandlerList handlers = new HandlerList(); -@@ -36,4 +37,16 @@ public class EntityDismountEvent extends EntityEvent - { - return handlers; - } -+ -+ // Paper start - Implement cancellable methods -+ @Override -+ public boolean isCancelled() { -+ return cancelled; -+ } -+ -+ @Override -+ public void setCancelled(boolean cancelled) { -+ this.cancelled = cancelled; -+ } -+ // Paper end - } --- -2.18.0 - diff --git a/Spigot-API-Patches/0014-Expose-server-CommandMap.patch b/Spigot-API-Patches/0013-Expose-server-CommandMap.patch similarity index 95% rename from Spigot-API-Patches/0014-Expose-server-CommandMap.patch rename to Spigot-API-Patches/0013-Expose-server-CommandMap.patch index 1294089752..defa706f76 100644 --- a/Spigot-API-Patches/0014-Expose-server-CommandMap.patch +++ b/Spigot-API-Patches/0013-Expose-server-CommandMap.patch @@ -1,4 +1,4 @@ -From d7b3294ee2ca409a7de9da69d863974ee1823872 Mon Sep 17 00:00:00 2001 +From ab362d03af4b94722a764c5c06fe197fbda4d2d3 Mon Sep 17 00:00:00 2001 From: kashike Date: Mon, 29 Feb 2016 19:48:59 -0600 Subject: [PATCH] Expose server CommandMap @@ -39,7 +39,7 @@ index f3252e20..a291ebd6 100644 { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index eb98c600..2b43ac1f 100644 +index e6a5cd2a..901199e3 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -19,10 +19,7 @@ import org.bukkit.boss.BarColor; diff --git a/Spigot-API-Patches/0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/Spigot-API-Patches/0014-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch similarity index 97% rename from Spigot-API-Patches/0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch rename to Spigot-API-Patches/0014-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index 7786d2feda..c7a3edc612 100644 --- a/Spigot-API-Patches/0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/Spigot-API-Patches/0014-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -1,4 +1,4 @@ -From 3b0d21ce147ba8825a3e5b64923a11d1a81fdbbf Mon Sep 17 00:00:00 2001 +From 25d86246284e115f6bc1aa65fc26dac0e77de5fa Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 19:54:32 -0600 Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses @@ -37,7 +37,7 @@ index a291ebd6..0844862c 100644 * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 2b43ac1f..d8ce8173 100644 +index 901199e3..1ad2cba4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -228,6 +228,26 @@ public interface Server extends PluginMessageRecipient { diff --git a/Spigot-API-Patches/0016-Player-Tab-List-and-Title-APIs.patch b/Spigot-API-Patches/0015-Player-Tab-List-and-Title-APIs.patch similarity index 99% rename from Spigot-API-Patches/0016-Player-Tab-List-and-Title-APIs.patch rename to Spigot-API-Patches/0015-Player-Tab-List-and-Title-APIs.patch index ae28c173df..f2677979c5 100644 --- a/Spigot-API-Patches/0016-Player-Tab-List-and-Title-APIs.patch +++ b/Spigot-API-Patches/0015-Player-Tab-List-and-Title-APIs.patch @@ -1,4 +1,4 @@ -From e5ee86a01a83c6c38f2ad58a4e534af73d54847c Mon Sep 17 00:00:00 2001 +From d9b9cd6fb36cdf689bbe3760147795092a6b111f Mon Sep 17 00:00:00 2001 From: Techcable Date: Mon, 29 Feb 2016 20:02:40 -0600 Subject: [PATCH] Player Tab List and Title APIs diff --git a/Spigot-API-Patches/0017-Add-exception-reporting-event.patch b/Spigot-API-Patches/0016-Add-exception-reporting-event.patch similarity index 99% rename from Spigot-API-Patches/0017-Add-exception-reporting-event.patch rename to Spigot-API-Patches/0016-Add-exception-reporting-event.patch index 55e970ab15..d299a68aed 100644 --- a/Spigot-API-Patches/0017-Add-exception-reporting-event.patch +++ b/Spigot-API-Patches/0016-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From ec5c5dcdcd3e5a6dd7a4d5620c73274f94071b80 Mon Sep 17 00:00:00 2001 +From 487fd736664c77fdc1da6257aadc398d7e9cdac3 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 20:24:35 -0600 Subject: [PATCH] Add exception reporting event diff --git a/Spigot-API-Patches/0018-Fix-ServerListPingEvent-flagging-as-Async.patch b/Spigot-API-Patches/0017-Fix-ServerListPingEvent-flagging-as-Async.patch similarity index 97% rename from Spigot-API-Patches/0018-Fix-ServerListPingEvent-flagging-as-Async.patch rename to Spigot-API-Patches/0017-Fix-ServerListPingEvent-flagging-as-Async.patch index c2d3275ff6..9f65d69461 100644 --- a/Spigot-API-Patches/0018-Fix-ServerListPingEvent-flagging-as-Async.patch +++ b/Spigot-API-Patches/0017-Fix-ServerListPingEvent-flagging-as-Async.patch @@ -1,4 +1,4 @@ -From 8f1e66f25039c51d7e83c9c9ffae25ac434acb2b Mon Sep 17 00:00:00 2001 +From cb1afe86f6ab48949d4e19d3549a4669b1ceae28 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 20:26:39 -0600 Subject: [PATCH] Fix ServerListPingEvent flagging as Async diff --git a/Spigot-API-Patches/0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch b/Spigot-API-Patches/0018-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch similarity index 97% rename from Spigot-API-Patches/0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch rename to Spigot-API-Patches/0018-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch index 35f5789451..2d11be49c5 100644 --- a/Spigot-API-Patches/0019-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch +++ b/Spigot-API-Patches/0018-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch @@ -1,4 +1,4 @@ -From 4d1f4491596b61d5a58c4446d1a58954e53b1f1d Mon Sep 17 00:00:00 2001 +From 5c6c0d9b5742c5c31017b1951334b325b04faac0 Mon Sep 17 00:00:00 2001 From: kashike Date: Tue, 8 Mar 2016 13:05:59 -0800 Subject: [PATCH] Add BaseComponent sendMessage methods to CommandSender diff --git a/Spigot-API-Patches/0020-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/Spigot-API-Patches/0019-Add-methods-for-working-with-arrows-stuck-in-living-.patch similarity index 93% rename from Spigot-API-Patches/0020-Add-methods-for-working-with-arrows-stuck-in-living-.patch rename to Spigot-API-Patches/0019-Add-methods-for-working-with-arrows-stuck-in-living-.patch index a29ca0659d..d63328d35c 100644 --- a/Spigot-API-Patches/0020-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/Spigot-API-Patches/0019-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -1,4 +1,4 @@ -From 70a25e1acdf0f9edfdde947fdb97aef644535ee3 Mon Sep 17 00:00:00 2001 +From a2e517e59ee21c1ce489f3917b75bcb8a94d1bea Mon Sep 17 00:00:00 2001 From: mrapple Date: Sun, 25 Nov 2012 13:47:27 -0600 Subject: [PATCH] Add methods for working with arrows stuck in living entities diff --git a/Spigot-API-Patches/0021-Complete-resource-pack-API.patch b/Spigot-API-Patches/0020-Complete-resource-pack-API.patch similarity index 98% rename from Spigot-API-Patches/0021-Complete-resource-pack-API.patch rename to Spigot-API-Patches/0020-Complete-resource-pack-API.patch index e01f783736..e58e189801 100644 --- a/Spigot-API-Patches/0021-Complete-resource-pack-API.patch +++ b/Spigot-API-Patches/0020-Complete-resource-pack-API.patch @@ -1,4 +1,4 @@ -From 1d993cf07f29d709b5cae8a3e04528675d7e7aea Mon Sep 17 00:00:00 2001 +From b2c4a432b883c52071cb4b538f1f117ea62d7a2e Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 4 Apr 2015 22:59:54 -0400 Subject: [PATCH] Complete resource pack API diff --git a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch b/Spigot-API-Patches/0021-Use-ASM-for-event-executors.patch similarity index 99% rename from Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch rename to Spigot-API-Patches/0021-Use-ASM-for-event-executors.patch index 278d0a07b6..2c77abb150 100644 --- a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch +++ b/Spigot-API-Patches/0021-Use-ASM-for-event-executors.patch @@ -1,4 +1,4 @@ -From 1469b97863ed5e841689d1347d6183189fef27cb Mon Sep 17 00:00:00 2001 +From cf7ba1c723ee537f7bbc7cc8d339d6357e5f0694 Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 3 Mar 2016 13:20:33 -0700 Subject: [PATCH] Use ASM for event executors. @@ -6,7 +6,7 @@ Subject: [PATCH] Use ASM for event executors. Uses method handles for private or static methods. diff --git a/pom.xml b/pom.xml -index 5e2024ca..bd9146dd 100644 +index a8a87820..a58d4424 100644 --- a/pom.xml +++ b/pom.xml @@ -127,6 +127,17 @@ diff --git a/Spigot-API-Patches/0023-Add-a-call-helper-to-Event.patch b/Spigot-API-Patches/0022-Add-a-call-helper-to-Event.patch similarity index 94% rename from Spigot-API-Patches/0023-Add-a-call-helper-to-Event.patch rename to Spigot-API-Patches/0022-Add-a-call-helper-to-Event.patch index 0224e527a2..5c9f4f75c3 100644 --- a/Spigot-API-Patches/0023-Add-a-call-helper-to-Event.patch +++ b/Spigot-API-Patches/0022-Add-a-call-helper-to-Event.patch @@ -1,4 +1,4 @@ -From e9cc1e95622f2b2f51b02a3a0b32911c3c760613 Mon Sep 17 00:00:00 2001 +From b6c1b5a967f036414fecc13493846b18a6c60ffe Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 19 May 2013 20:36:58 -0400 Subject: [PATCH] Add a call helper to Event diff --git a/Spigot-API-Patches/0024-Add-sender-name-to-commands.yml-replacement.patch b/Spigot-API-Patches/0023-Add-sender-name-to-commands.yml-replacement.patch similarity index 96% rename from Spigot-API-Patches/0024-Add-sender-name-to-commands.yml-replacement.patch rename to Spigot-API-Patches/0023-Add-sender-name-to-commands.yml-replacement.patch index 0323eec35a..23e445bc80 100644 --- a/Spigot-API-Patches/0024-Add-sender-name-to-commands.yml-replacement.patch +++ b/Spigot-API-Patches/0023-Add-sender-name-to-commands.yml-replacement.patch @@ -1,4 +1,4 @@ -From b5c4f4748f637c8ddccffbcdef249b4abe7f4401 Mon Sep 17 00:00:00 2001 +From 77a78428fcc16fb82c0a2e0d2173db22a1476266 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 22 Jul 2015 18:50:41 -0400 Subject: [PATCH] Add sender name to commands.yml replacement diff --git a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch b/Spigot-API-Patches/0024-Add-command-to-reload-permissions.yml-and-require-co.patch similarity index 98% rename from Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch rename to Spigot-API-Patches/0024-Add-command-to-reload-permissions.yml-and-require-co.patch index 674b989cfb..8ce76a62e4 100644 --- a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/Spigot-API-Patches/0024-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -1,4 +1,4 @@ -From 1a2b3bc3c46affceeb6ae0f93d166778eabba78b Mon Sep 17 00:00:00 2001 +From 665f0cb22362dab461d1939b4aabbcf6a553907f Mon Sep 17 00:00:00 2001 From: William Date: Fri, 18 Mar 2016 03:28:07 -0400 Subject: [PATCH] Add command to reload permissions.yml and require confirm to diff --git a/Spigot-API-Patches/0026-Custom-replacement-for-eaten-items.patch b/Spigot-API-Patches/0025-Custom-replacement-for-eaten-items.patch similarity index 97% rename from Spigot-API-Patches/0026-Custom-replacement-for-eaten-items.patch rename to Spigot-API-Patches/0025-Custom-replacement-for-eaten-items.patch index ad908ee6fc..aa5d96f386 100644 --- a/Spigot-API-Patches/0026-Custom-replacement-for-eaten-items.patch +++ b/Spigot-API-Patches/0025-Custom-replacement-for-eaten-items.patch @@ -1,4 +1,4 @@ -From c92da34fc23a3a8c4bd298cf1e752b43ce81a88a Mon Sep 17 00:00:00 2001 +From 9b4d4b26e75b1e6467c11da7432ba08453689686 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 21 Jun 2015 15:05:21 -0400 Subject: [PATCH] Custom replacement for eaten items diff --git a/Spigot-API-Patches/0027-Access-items-by-EquipmentSlot.patch b/Spigot-API-Patches/0026-Access-items-by-EquipmentSlot.patch similarity index 94% rename from Spigot-API-Patches/0027-Access-items-by-EquipmentSlot.patch rename to Spigot-API-Patches/0026-Access-items-by-EquipmentSlot.patch index d2e3318656..1cee62c3ed 100644 --- a/Spigot-API-Patches/0027-Access-items-by-EquipmentSlot.patch +++ b/Spigot-API-Patches/0026-Access-items-by-EquipmentSlot.patch @@ -1,4 +1,4 @@ -From ad5444f104e8943b5cd8fe2110dfa6e74c47ab0c Mon Sep 17 00:00:00 2001 +From a4f2ef92d3cb775e916cbf50f2613f901b0e07e3 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 20 Mar 2016 06:44:49 -0400 Subject: [PATCH] Access items by EquipmentSlot diff --git a/Spigot-API-Patches/0028-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-API-Patches/0027-Entity-AddTo-RemoveFrom-World-Events.patch similarity index 97% rename from Spigot-API-Patches/0028-Entity-AddTo-RemoveFrom-World-Events.patch rename to Spigot-API-Patches/0027-Entity-AddTo-RemoveFrom-World-Events.patch index 5312eab728..3ad2bfe7b3 100644 --- a/Spigot-API-Patches/0028-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-API-Patches/0027-Entity-AddTo-RemoveFrom-World-Events.patch @@ -1,4 +1,4 @@ -From d66b6b3d8cf42eee8c7d432bfeeb8618eb1c3125 Mon Sep 17 00:00:00 2001 +From db294a56ff3cbb40493caea0ce0506dc6261de4d Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:26:34 -0400 Subject: [PATCH] Entity AddTo/RemoveFrom World Events diff --git a/Spigot-API-Patches/0029-EntityPathfindEvent.patch b/Spigot-API-Patches/0028-EntityPathfindEvent.patch similarity index 97% rename from Spigot-API-Patches/0029-EntityPathfindEvent.patch rename to Spigot-API-Patches/0028-EntityPathfindEvent.patch index d2ca317f0a..efa6f26612 100644 --- a/Spigot-API-Patches/0029-EntityPathfindEvent.patch +++ b/Spigot-API-Patches/0028-EntityPathfindEvent.patch @@ -1,4 +1,4 @@ -From e3f57f03c3b0a7dfb8399bc60c9854d7c5369397 Mon Sep 17 00:00:00 2001 +From 0f4f69d6a81d66c4906f1c05cac664bbdb129cf7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 21:15:34 -0400 Subject: [PATCH] EntityPathfindEvent diff --git a/Spigot-API-Patches/0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch b/Spigot-API-Patches/0029-Reduce-thread-synchronization-in-MetadataStoreBase.patch similarity index 98% rename from Spigot-API-Patches/0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch rename to Spigot-API-Patches/0029-Reduce-thread-synchronization-in-MetadataStoreBase.patch index 7700b6e156..73c734e753 100644 --- a/Spigot-API-Patches/0030-Reduce-thread-synchronization-in-MetadataStoreBase.patch +++ b/Spigot-API-Patches/0029-Reduce-thread-synchronization-in-MetadataStoreBase.patch @@ -1,4 +1,4 @@ -From c0a5945074128db7e77a353aa9035b7d0f01acb7 Mon Sep 17 00:00:00 2001 +From 9cd7b0f5a8832c7d1b3db973c9f65db555013762 Mon Sep 17 00:00:00 2001 From: crast Date: Sat, 1 Jun 2013 13:52:30 -0600 Subject: [PATCH] Reduce thread synchronization in MetadataStoreBase diff --git a/Spigot-API-Patches/0031-Add-MetadataStoreBase.removeAll-Plugin.patch b/Spigot-API-Patches/0030-Add-MetadataStoreBase.removeAll-Plugin.patch similarity index 95% rename from Spigot-API-Patches/0031-Add-MetadataStoreBase.removeAll-Plugin.patch rename to Spigot-API-Patches/0030-Add-MetadataStoreBase.removeAll-Plugin.patch index 446d41d4a3..10497f7511 100644 --- a/Spigot-API-Patches/0031-Add-MetadataStoreBase.removeAll-Plugin.patch +++ b/Spigot-API-Patches/0030-Add-MetadataStoreBase.removeAll-Plugin.patch @@ -1,4 +1,4 @@ -From ff8d88096d58f9f801a4d6b49ef0eede65667989 Mon Sep 17 00:00:00 2001 +From 9a9ae4bff73c2649084dc753efa60f86ac91c2dd Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 16 Jul 2013 21:26:50 -0400 Subject: [PATCH] Add MetadataStoreBase.removeAll(Plugin) diff --git a/Spigot-API-Patches/0032-Add-PlayerUseUnknownEntityEvent.patch b/Spigot-API-Patches/0031-Add-PlayerUseUnknownEntityEvent.patch similarity index 96% rename from Spigot-API-Patches/0032-Add-PlayerUseUnknownEntityEvent.patch rename to Spigot-API-Patches/0031-Add-PlayerUseUnknownEntityEvent.patch index e6eaf9ebaf..f922ed959b 100644 --- a/Spigot-API-Patches/0032-Add-PlayerUseUnknownEntityEvent.patch +++ b/Spigot-API-Patches/0031-Add-PlayerUseUnknownEntityEvent.patch @@ -1,4 +1,4 @@ -From 97a35e82ddb729fd74ce6d252a2c928a24b39d55 Mon Sep 17 00:00:00 2001 +From 57f2ba957f3cf3753fdf4f51697cda7e52daefc7 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 2 Apr 2016 05:08:36 -0400 Subject: [PATCH] Add PlayerUseUnknownEntityEvent diff --git a/Spigot-API-Patches/0033-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/Spigot-API-Patches/0032-Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 99% rename from Spigot-API-Patches/0033-Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to Spigot-API-Patches/0032-Add-handshake-event-to-allow-plugins-to-handle-clien.patch index 872f0177d0..d9c2c29f90 100644 --- a/Spigot-API-Patches/0033-Add-handshake-event-to-allow-plugins-to-handle-clien.patch +++ b/Spigot-API-Patches/0032-Add-handshake-event-to-allow-plugins-to-handle-clien.patch @@ -1,4 +1,4 @@ -From 7c3fcd8ee8df766361c426d25955b626eac60d88 Mon Sep 17 00:00:00 2001 +From 4e0abf8c461a8e517fa30a281d90f8c60bd5686a Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 13 Apr 2016 20:20:18 -0700 Subject: [PATCH] Add handshake event to allow plugins to handle client diff --git a/Spigot-API-Patches/0034-Arrow-pickup-rule-API.patch b/Spigot-API-Patches/0033-Arrow-pickup-rule-API.patch similarity index 96% rename from Spigot-API-Patches/0034-Arrow-pickup-rule-API.patch rename to Spigot-API-Patches/0033-Arrow-pickup-rule-API.patch index 55b5f46885..905c0a4777 100644 --- a/Spigot-API-Patches/0034-Arrow-pickup-rule-API.patch +++ b/Spigot-API-Patches/0033-Arrow-pickup-rule-API.patch @@ -1,4 +1,4 @@ -From 19fcaea4b23887be2eaa4d5e5bded0fa3ceca3ab Mon Sep 17 00:00:00 2001 +From 57f8f2e8bfc9419a07a28ad20fb52c13ee3e5562 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Fri, 4 Mar 2016 03:13:18 -0500 Subject: [PATCH] Arrow pickup rule API diff --git a/Spigot-API-Patches/0035-EntityRegainHealthEvent-isFastRegen-API.patch b/Spigot-API-Patches/0034-EntityRegainHealthEvent-isFastRegen-API.patch similarity index 96% rename from Spigot-API-Patches/0035-EntityRegainHealthEvent-isFastRegen-API.patch rename to Spigot-API-Patches/0034-EntityRegainHealthEvent-isFastRegen-API.patch index e1661cae07..4201deae25 100644 --- a/Spigot-API-Patches/0035-EntityRegainHealthEvent-isFastRegen-API.patch +++ b/Spigot-API-Patches/0034-EntityRegainHealthEvent-isFastRegen-API.patch @@ -1,4 +1,4 @@ -From 49a798ea1efd88482f5860292339b3229ebbf877 Mon Sep 17 00:00:00 2001 +From 8121678797e7b682fc53643ab34992d1aeacba8d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 01:43:11 -0500 Subject: [PATCH] EntityRegainHealthEvent isFastRegen API diff --git a/Spigot-API-Patches/0036-LootTable-API.patch b/Spigot-API-Patches/0035-LootTable-API.patch similarity index 99% rename from Spigot-API-Patches/0036-LootTable-API.patch rename to Spigot-API-Patches/0035-LootTable-API.patch index 467e51b016..d2d95fd7f9 100644 --- a/Spigot-API-Patches/0036-LootTable-API.patch +++ b/Spigot-API-Patches/0035-LootTable-API.patch @@ -1,4 +1,4 @@ -From 47d3999f281a9271cec4bdec2cc226b05d3ebf40 Mon Sep 17 00:00:00 2001 +From 4f1dc63c147f7ba3ae36ad4c04f55c852ae84dd7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 1 May 2016 15:19:49 -0400 Subject: [PATCH] LootTable API diff --git a/Spigot-API-Patches/0037-Add-EntityZapEvent.patch b/Spigot-API-Patches/0036-Add-EntityZapEvent.patch similarity index 98% rename from Spigot-API-Patches/0037-Add-EntityZapEvent.patch rename to Spigot-API-Patches/0036-Add-EntityZapEvent.patch index bba41a875d..7e3cf3e72b 100644 --- a/Spigot-API-Patches/0037-Add-EntityZapEvent.patch +++ b/Spigot-API-Patches/0036-Add-EntityZapEvent.patch @@ -1,4 +1,4 @@ -From fa59003d856eb5f54a4a9bf0a26b7e55ae3a0713 Mon Sep 17 00:00:00 2001 +From 8cfb250c7604959047200370c281919b0ae0c420 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Sun, 16 Oct 2016 23:19:34 -0700 Subject: [PATCH] Add EntityZapEvent diff --git a/Spigot-API-Patches/0038-Misc-Utils.patch b/Spigot-API-Patches/0037-Misc-Utils.patch similarity index 94% rename from Spigot-API-Patches/0038-Misc-Utils.patch rename to Spigot-API-Patches/0037-Misc-Utils.patch index d18b1edcb5..3dd8d2ab46 100644 --- a/Spigot-API-Patches/0038-Misc-Utils.patch +++ b/Spigot-API-Patches/0037-Misc-Utils.patch @@ -1,4 +1,4 @@ -From ae850cec0afe270d11a66245c0d9e46a16339283 Mon Sep 17 00:00:00 2001 +From f3a8ebcad45891f6cb7d243095d3739c1f1980d2 Mon Sep 17 00:00:00 2001 From: vemacs Date: Wed, 23 Nov 2016 12:53:43 -0500 Subject: [PATCH] Misc Utils diff --git a/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch b/Spigot-API-Patches/0038-Allow-Reloading-of-Command-Aliases.patch similarity index 98% rename from Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch rename to Spigot-API-Patches/0038-Allow-Reloading-of-Command-Aliases.patch index 5ac111f001..98aadba608 100644 --- a/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-API-Patches/0038-Allow-Reloading-of-Command-Aliases.patch @@ -1,4 +1,4 @@ -From 5573a13dbba10bfedcf8610d255a13293bda79bd Mon Sep 17 00:00:00 2001 +From 03ea3274fc02f71bb86eed95ab422f493a544873 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 28 Nov 2016 10:16:39 -0500 Subject: [PATCH] Allow Reloading of Command Aliases diff --git a/Spigot-API-Patches/0040-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-API-Patches/0039-Add-source-to-PlayerExpChangeEvent.patch similarity index 96% rename from Spigot-API-Patches/0040-Add-source-to-PlayerExpChangeEvent.patch rename to Spigot-API-Patches/0039-Add-source-to-PlayerExpChangeEvent.patch index 6263fac243..969451283b 100644 --- a/Spigot-API-Patches/0040-Add-source-to-PlayerExpChangeEvent.patch +++ b/Spigot-API-Patches/0039-Add-source-to-PlayerExpChangeEvent.patch @@ -1,4 +1,4 @@ -From e08937fe0886d2dbce1bdb74980b7cdbc778e628 Mon Sep 17 00:00:00 2001 +From 47a6be4ee58f0b7650ee3f74933311d0e0dbab0e Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Thu, 8 Sep 2016 08:47:08 -0700 Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/Spigot-API-Patches/0041-Add-ProjectileCollideEvent.patch b/Spigot-API-Patches/0040-Add-ProjectileCollideEvent.patch similarity index 97% rename from Spigot-API-Patches/0041-Add-ProjectileCollideEvent.patch rename to Spigot-API-Patches/0040-Add-ProjectileCollideEvent.patch index 83205aeec3..e59beae1c8 100644 --- a/Spigot-API-Patches/0041-Add-ProjectileCollideEvent.patch +++ b/Spigot-API-Patches/0040-Add-ProjectileCollideEvent.patch @@ -1,4 +1,4 @@ -From da74019f26ab71c97991b2cf3474bc40a2c63bce Mon Sep 17 00:00:00 2001 +From 4eac0975455ab0ef81f5dac6bf83d475951f9a81 Mon Sep 17 00:00:00 2001 From: Techcable Date: Fri, 16 Dec 2016 21:25:39 -0600 Subject: [PATCH] Add ProjectileCollideEvent diff --git a/Spigot-API-Patches/0042-Add-String-based-Action-Bar-API.patch b/Spigot-API-Patches/0041-Add-String-based-Action-Bar-API.patch similarity index 98% rename from Spigot-API-Patches/0042-Add-String-based-Action-Bar-API.patch rename to Spigot-API-Patches/0041-Add-String-based-Action-Bar-API.patch index 0d2d159fce..4f330d38ee 100644 --- a/Spigot-API-Patches/0042-Add-String-based-Action-Bar-API.patch +++ b/Spigot-API-Patches/0041-Add-String-based-Action-Bar-API.patch @@ -1,4 +1,4 @@ -From d1c10cb8d00c3b6e9c8612bc30e9e7a715dd1ecf Mon Sep 17 00:00:00 2001 +From 12f234e11bae353a39c478f79e9d4c640b004c0e Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 20 Dec 2016 15:55:55 -0500 Subject: [PATCH] Add String based Action Bar API diff --git a/Spigot-API-Patches/0043-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-API-Patches/0042-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 94% rename from Spigot-API-Patches/0043-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to Spigot-API-Patches/0042-Add-API-methods-to-control-if-armour-stands-can-move.patch index 061c3f1db3..e2a1751e9c 100644 --- a/Spigot-API-Patches/0043-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-API-Patches/0042-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,4 +1,4 @@ -From 3c437859f9ef78609aac37e3afe173588ae67ee9 Mon Sep 17 00:00:00 2001 +From 718a96c9c13faf9b22291e81c70b0170fd4a0501 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/Spigot-API-Patches/0044-IllegalPacketEvent.patch b/Spigot-API-Patches/0043-IllegalPacketEvent.patch similarity index 97% rename from Spigot-API-Patches/0044-IllegalPacketEvent.patch rename to Spigot-API-Patches/0043-IllegalPacketEvent.patch index 5ebf8914fb..6d4e261d55 100644 --- a/Spigot-API-Patches/0044-IllegalPacketEvent.patch +++ b/Spigot-API-Patches/0043-IllegalPacketEvent.patch @@ -1,4 +1,4 @@ -From dea71c291e5e4139c86b7570e6eed8897bde2e94 Mon Sep 17 00:00:00 2001 +From 0f595a2260083d3940ed487003e0351bb75aa1a5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 4 Dec 2016 01:19:14 -0500 Subject: [PATCH] IllegalPacketEvent diff --git a/Spigot-API-Patches/0045-Fireworks-API-s.patch b/Spigot-API-Patches/0044-Fireworks-API-s.patch similarity index 93% rename from Spigot-API-Patches/0045-Fireworks-API-s.patch rename to Spigot-API-Patches/0044-Fireworks-API-s.patch index 2c02d41dd5..432fb38209 100644 --- a/Spigot-API-Patches/0045-Fireworks-API-s.patch +++ b/Spigot-API-Patches/0044-Fireworks-API-s.patch @@ -1,4 +1,4 @@ -From 6705469275b33dd3cbb08048e0226fbca6c8599d Mon Sep 17 00:00:00 2001 +From 8e86bdb38a51cea9f5b62c820732617366fce895 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 28 Dec 2016 01:18:55 -0500 Subject: [PATCH] Fireworks API's diff --git a/Spigot-API-Patches/0046-PlayerTeleportEndGatewayEvent.patch b/Spigot-API-Patches/0045-PlayerTeleportEndGatewayEvent.patch similarity index 95% rename from Spigot-API-Patches/0046-PlayerTeleportEndGatewayEvent.patch rename to Spigot-API-Patches/0045-PlayerTeleportEndGatewayEvent.patch index c69e7cb9b2..cec5a5f63e 100644 --- a/Spigot-API-Patches/0046-PlayerTeleportEndGatewayEvent.patch +++ b/Spigot-API-Patches/0045-PlayerTeleportEndGatewayEvent.patch @@ -1,4 +1,4 @@ -From f0f71311d0761cfb9c8ba1c5901f3e29223994ad Mon Sep 17 00:00:00 2001 +From 718717b647158518a34c36bb8e5623d838e88e29 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 31 Dec 2016 20:29:33 -0500 Subject: [PATCH] PlayerTeleportEndGatewayEvent diff --git a/Spigot-API-Patches/0047-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-API-Patches/0046-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 95% rename from Spigot-API-Patches/0047-Provide-E-TE-Chunk-count-stat-methods.patch rename to Spigot-API-Patches/0046-Provide-E-TE-Chunk-count-stat-methods.patch index 39e8776cd4..78ae86dc02 100644 --- a/Spigot-API-Patches/0047-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-API-Patches/0046-Provide-E-TE-Chunk-count-stat-methods.patch @@ -1,4 +1,4 @@ -From 33b64ea35d49023c95c359e7c8664335e202f7c0 Mon Sep 17 00:00:00 2001 +From 9e7f9915a3c7e0c57d407ff884ef4262aea8568b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:23:03 -0500 Subject: [PATCH] Provide E/TE/Chunk count stat methods diff --git a/Spigot-API-Patches/0048-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-API-Patches/0047-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 98% rename from Spigot-API-Patches/0048-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to Spigot-API-Patches/0047-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 1d8537586c..105a7b0b99 100644 --- a/Spigot-API-Patches/0048-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-API-Patches/0047-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From 0e3f92f938875e2030ff8e1b7f559ecddca777f7 Mon Sep 17 00:00:00 2001 +From a5987f0c76258d3d57fe1611b8355438ebbcc058 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:28:32 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player diff --git a/Spigot-API-Patches/0049-Expose-WorldBorder-isInBounds-Location-check.patch b/Spigot-API-Patches/0048-Expose-WorldBorder-isInBounds-Location-check.patch similarity index 94% rename from Spigot-API-Patches/0049-Expose-WorldBorder-isInBounds-Location-check.patch rename to Spigot-API-Patches/0048-Expose-WorldBorder-isInBounds-Location-check.patch index 133dc7c0b2..4ff719941c 100644 --- a/Spigot-API-Patches/0049-Expose-WorldBorder-isInBounds-Location-check.patch +++ b/Spigot-API-Patches/0048-Expose-WorldBorder-isInBounds-Location-check.patch @@ -1,4 +1,4 @@ -From 0187592c026f6b460628219f3f2c4e48e9413bfc Mon Sep 17 00:00:00 2001 +From 2938561e612928e665b3e9db9f50e44d5284970e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 21 Jan 2017 17:03:10 -0600 Subject: [PATCH] Expose WorldBorder#isInBounds(Location) check diff --git a/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-API-Patches/0049-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 97% rename from Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch rename to Spigot-API-Patches/0049-Add-configuration-option-to-prevent-player-names-fro.patch index 15c4eacaca..a09454f313 100644 --- a/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-API-Patches/0049-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From bb52f66da14375368ceff766b8cf92decd2caada Mon Sep 17 00:00:00 2001 +From 6f46820d7b4ee0f41a22f79597a5371439d6521d Mon Sep 17 00:00:00 2001 From: kashike Date: Fri, 9 Jun 2017 07:24:24 -0700 Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/Spigot-API-Patches/0051-Fix-upstream-javadoc-warnings-and-errors.patch b/Spigot-API-Patches/0050-Fix-upstream-javadoc-warnings-and-errors.patch similarity index 99% rename from Spigot-API-Patches/0051-Fix-upstream-javadoc-warnings-and-errors.patch rename to Spigot-API-Patches/0050-Fix-upstream-javadoc-warnings-and-errors.patch index 438ba4bd5a..7031f0ffb1 100644 --- a/Spigot-API-Patches/0051-Fix-upstream-javadoc-warnings-and-errors.patch +++ b/Spigot-API-Patches/0050-Fix-upstream-javadoc-warnings-and-errors.patch @@ -1,4 +1,4 @@ -From 95cc7e013040f4cc243d1d421ec2d8a62dacbfa2 Mon Sep 17 00:00:00 2001 +From 6bd3a5ad8d74d0174b70ec10216020d6f7c1206d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 10 Jun 2017 16:59:40 -0500 Subject: [PATCH] Fix upstream javadoc warnings and errors @@ -6,7 +6,7 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues. diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java -index 1ed8f7e4..bd5238ce 100644 +index 43239f84..fe8d3468 100644 --- a/src/main/java/org/bukkit/NamespacedKey.java +++ b/src/main/java/org/bukkit/NamespacedKey.java @@ -38,8 +38,8 @@ public final class NamespacedKey { diff --git a/Spigot-API-Patches/0052-Item-canEntityPickup.patch b/Spigot-API-Patches/0051-Item-canEntityPickup.patch similarity index 93% rename from Spigot-API-Patches/0052-Item-canEntityPickup.patch rename to Spigot-API-Patches/0051-Item-canEntityPickup.patch index 08748d15b3..e6f929fdd1 100644 --- a/Spigot-API-Patches/0052-Item-canEntityPickup.patch +++ b/Spigot-API-Patches/0051-Item-canEntityPickup.patch @@ -1,4 +1,4 @@ -From dc66c4f09cb93dc94893badd5da732ed2178aa45 Mon Sep 17 00:00:00 2001 +From 360118be75c9c955ddc56da1a41976f2238136af Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 5 May 2017 03:57:08 -0500 Subject: [PATCH] Item#canEntityPickup diff --git a/Spigot-API-Patches/0053-PlayerPickupItemEvent-setFlyAtPlayer.patch b/Spigot-API-Patches/0052-PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 96% rename from Spigot-API-Patches/0053-PlayerPickupItemEvent-setFlyAtPlayer.patch rename to Spigot-API-Patches/0052-PlayerPickupItemEvent-setFlyAtPlayer.patch index 3bbe8f5d9e..e9ae025b3f 100644 --- a/Spigot-API-Patches/0053-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/Spigot-API-Patches/0052-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -1,4 +1,4 @@ -From d9917e835f1e81e0b7d84ffc7ea4b60ca08eb3c4 Mon Sep 17 00:00:00 2001 +From 158701799346c25d8daf92beb3fb9c59922c3aec Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 May 2017 06:26:01 -0500 Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer diff --git a/Spigot-API-Patches/0054-PlayerAttemptPickupItemEvent.patch b/Spigot-API-Patches/0053-PlayerAttemptPickupItemEvent.patch similarity index 97% rename from Spigot-API-Patches/0054-PlayerAttemptPickupItemEvent.patch rename to Spigot-API-Patches/0053-PlayerAttemptPickupItemEvent.patch index 97de3e04a3..0e7d9f3740 100644 --- a/Spigot-API-Patches/0054-PlayerAttemptPickupItemEvent.patch +++ b/Spigot-API-Patches/0053-PlayerAttemptPickupItemEvent.patch @@ -1,4 +1,4 @@ -From 1f46a8b98f035e8a17ccef525526dc0d02b7acbb Mon Sep 17 00:00:00 2001 +From b989dc1168c035e24f94e0ff25514d579e52f6f7 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 11 Jun 2017 16:30:37 -0500 Subject: [PATCH] PlayerAttemptPickupItemEvent diff --git a/Spigot-API-Patches/0055-Add-UnknownCommandEvent.patch b/Spigot-API-Patches/0054-Add-UnknownCommandEvent.patch similarity index 97% rename from Spigot-API-Patches/0055-Add-UnknownCommandEvent.patch rename to Spigot-API-Patches/0054-Add-UnknownCommandEvent.patch index 67133ccd70..358ff4d94b 100644 --- a/Spigot-API-Patches/0055-Add-UnknownCommandEvent.patch +++ b/Spigot-API-Patches/0054-Add-UnknownCommandEvent.patch @@ -1,4 +1,4 @@ -From d8cb5d408bac83ef3e7e83da92cc90904d4cd379 Mon Sep 17 00:00:00 2001 +From 170f61cabc9f329e6a4159b4a9dc9db4a5d76836 Mon Sep 17 00:00:00 2001 From: Sweepyoface Date: Sat, 17 Jun 2017 18:48:06 -0400 Subject: [PATCH] Add UnknownCommandEvent diff --git a/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch b/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch similarity index 99% rename from Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch rename to Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch index 94761dcae0..1274924626 100644 --- a/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch +++ b/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 2a6044898ccb64c5c3bd65f556ec5e93834917b2 Mon Sep 17 00:00:00 2001 +From e2c8fd3966e4d7bbf8825d9b7e22b527d2304811 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 21:46:46 -0500 Subject: [PATCH] Basic PlayerProfile API diff --git a/Spigot-API-Patches/0057-Shoulder-Entities-Release-API.patch b/Spigot-API-Patches/0056-Shoulder-Entities-Release-API.patch similarity index 95% rename from Spigot-API-Patches/0057-Shoulder-Entities-Release-API.patch rename to Spigot-API-Patches/0056-Shoulder-Entities-Release-API.patch index 8f92ff7868..a873817a51 100644 --- a/Spigot-API-Patches/0057-Shoulder-Entities-Release-API.patch +++ b/Spigot-API-Patches/0056-Shoulder-Entities-Release-API.patch @@ -1,4 +1,4 @@ -From 495ea88275a4d9b96efb1db20a52c4566f3458e5 Mon Sep 17 00:00:00 2001 +From cde8228c35b12307dc50eb03eb3550aa2f41c485 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 15:04:51 -0400 Subject: [PATCH] Shoulder Entities Release API diff --git a/Spigot-API-Patches/0058-Profile-Lookup-Events.patch b/Spigot-API-Patches/0057-Profile-Lookup-Events.patch similarity index 98% rename from Spigot-API-Patches/0058-Profile-Lookup-Events.patch rename to Spigot-API-Patches/0057-Profile-Lookup-Events.patch index e35ead083f..503fd02c5d 100644 --- a/Spigot-API-Patches/0058-Profile-Lookup-Events.patch +++ b/Spigot-API-Patches/0057-Profile-Lookup-Events.patch @@ -1,4 +1,4 @@ -From c836087cd8822e93732c4f292489a13b77223a89 Mon Sep 17 00:00:00 2001 +From 960d92e62001a815ee391c27085ed77ac367020f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 16:30:44 -0400 Subject: [PATCH] Profile Lookup Events @@ -7,7 +7,7 @@ Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in p profiles that had to be looked up. diff --git a/pom.xml b/pom.xml -index bd9146dd..44a8b2a5 100644 +index a58d4424..bfe580f1 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,13 @@ diff --git a/Spigot-API-Patches/0059-Entity-fromMobSpawner.patch b/Spigot-API-Patches/0058-Entity-fromMobSpawner.patch similarity index 92% rename from Spigot-API-Patches/0059-Entity-fromMobSpawner.patch rename to Spigot-API-Patches/0058-Entity-fromMobSpawner.patch index d31fd8b335..616565bd80 100644 --- a/Spigot-API-Patches/0059-Entity-fromMobSpawner.patch +++ b/Spigot-API-Patches/0058-Entity-fromMobSpawner.patch @@ -1,4 +1,4 @@ -From 0a3125353c085b5a16edb538480d5f712a6afde3 Mon Sep 17 00:00:00 2001 +From d12b4647862ab81272f1030da1a9fbeb2e7d30b1 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 18 Jun 2017 18:17:05 -0500 Subject: [PATCH] Entity#fromMobSpawner() diff --git a/Spigot-API-Patches/0060-Improve-the-Saddle-API-for-Horses.patch b/Spigot-API-Patches/0059-Improve-the-Saddle-API-for-Horses.patch similarity index 97% rename from Spigot-API-Patches/0060-Improve-the-Saddle-API-for-Horses.patch rename to Spigot-API-Patches/0059-Improve-the-Saddle-API-for-Horses.patch index f8848466ce..e6b76fee94 100644 --- a/Spigot-API-Patches/0060-Improve-the-Saddle-API-for-Horses.patch +++ b/Spigot-API-Patches/0059-Improve-the-Saddle-API-for-Horses.patch @@ -1,4 +1,4 @@ -From 233f6d000f7fa14bd2de6d6c5ba88cd4b9dc4170 Mon Sep 17 00:00:00 2001 +From 93347de85dca36fb232ea77c2c767563e1e40ada Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 10 Dec 2016 16:12:48 -0500 Subject: [PATCH] Improve the Saddle API for Horses diff --git a/Spigot-API-Patches/0061-ensureServerConversions-API.patch b/Spigot-API-Patches/0060-ensureServerConversions-API.patch similarity index 97% rename from Spigot-API-Patches/0061-ensureServerConversions-API.patch rename to Spigot-API-Patches/0060-ensureServerConversions-API.patch index fb4d2dd571..c0c4d13b42 100644 --- a/Spigot-API-Patches/0061-ensureServerConversions-API.patch +++ b/Spigot-API-Patches/0060-ensureServerConversions-API.patch @@ -1,4 +1,4 @@ -From 4f36318d8921ffa44333a86eac125200caad51d5 Mon Sep 17 00:00:00 2001 +From b02d5605bac4c8543b6f9fb6935a997cb2fe4149 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:55:48 -0400 Subject: [PATCH] ensureServerConversions API diff --git a/Spigot-API-Patches/0062-Add-getI18NDisplayName-API.patch b/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch similarity index 96% rename from Spigot-API-Patches/0062-Add-getI18NDisplayName-API.patch rename to Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch index 773172c197..23dcaf83bc 100644 --- a/Spigot-API-Patches/0062-Add-getI18NDisplayName-API.patch +++ b/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch @@ -1,4 +1,4 @@ -From c1dbeb3ae74907b1336b1d68f76279b883bb35e3 Mon Sep 17 00:00:00 2001 +From 5576e3c1a73f5a51ee3e041d001a827252a8d724 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:55:48 -0400 Subject: [PATCH] Add getI18NDisplayName API diff --git a/Spigot-API-Patches/0063-ProfileWhitelistVerifyEvent.patch b/Spigot-API-Patches/0062-ProfileWhitelistVerifyEvent.patch similarity index 98% rename from Spigot-API-Patches/0063-ProfileWhitelistVerifyEvent.patch rename to Spigot-API-Patches/0062-ProfileWhitelistVerifyEvent.patch index 082630f5e6..07f2172257 100644 --- a/Spigot-API-Patches/0063-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-API-Patches/0062-ProfileWhitelistVerifyEvent.patch @@ -1,4 +1,4 @@ -From 285c68e987f4db6db40f653a723754b5793dc6e8 Mon Sep 17 00:00:00 2001 +From 71beda67b3983f467674f9b2b65a54e9199fda7a Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 3 Jul 2017 18:11:34 -0500 Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/Spigot-API-Patches/0064-Make-plugins-list-alphabetical.patch b/Spigot-API-Patches/0063-Make-plugins-list-alphabetical.patch similarity index 96% rename from Spigot-API-Patches/0064-Make-plugins-list-alphabetical.patch rename to Spigot-API-Patches/0063-Make-plugins-list-alphabetical.patch index f21470f756..e2f99c63fa 100644 --- a/Spigot-API-Patches/0064-Make-plugins-list-alphabetical.patch +++ b/Spigot-API-Patches/0063-Make-plugins-list-alphabetical.patch @@ -1,4 +1,4 @@ -From 03867368971fb3bfad36b8ebe68d5948fd20ce0a Mon Sep 17 00:00:00 2001 +From 37638b5c57bc22517f707779b8c216d3cd24c131 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 02:08:55 -0500 Subject: [PATCH] Make /plugins list alphabetical diff --git a/Spigot-API-Patches/0065-LivingEntity-setKiller.patch b/Spigot-API-Patches/0064-LivingEntity-setKiller.patch similarity index 94% rename from Spigot-API-Patches/0065-LivingEntity-setKiller.patch rename to Spigot-API-Patches/0064-LivingEntity-setKiller.patch index 0302725a89..73d2e4d02a 100644 --- a/Spigot-API-Patches/0065-LivingEntity-setKiller.patch +++ b/Spigot-API-Patches/0064-LivingEntity-setKiller.patch @@ -1,4 +1,4 @@ -From 054913afc1358179ae54b96956bce518334591ae Mon Sep 17 00:00:00 2001 +From bed7ac830a6ec1ab5b4b4e19a6c4abe47a2ba813 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:49:43 -0500 Subject: [PATCH] LivingEntity#setKiller diff --git a/Spigot-API-Patches/0066-Handle-plugin-prefixes-in-implementation-logging-con.patch b/Spigot-API-Patches/0065-Handle-plugin-prefixes-in-implementation-logging-con.patch similarity index 96% rename from Spigot-API-Patches/0066-Handle-plugin-prefixes-in-implementation-logging-con.patch rename to Spigot-API-Patches/0065-Handle-plugin-prefixes-in-implementation-logging-con.patch index 79ffabc76f..2faa23a84e 100644 --- a/Spigot-API-Patches/0066-Handle-plugin-prefixes-in-implementation-logging-con.patch +++ b/Spigot-API-Patches/0065-Handle-plugin-prefixes-in-implementation-logging-con.patch @@ -1,4 +1,4 @@ -From ffdbb97e00e44a8d86086aee473e45fa54e0b281 Mon Sep 17 00:00:00 2001 +From daf70a992ec9bf7b009aeda61cca417d7930e989 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:14:13 +0200 Subject: [PATCH] Handle plugin prefixes in implementation logging diff --git a/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch b/Spigot-API-Patches/0066-Allow-plugins-to-use-SLF4J-for-logging.patch similarity index 94% rename from Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch rename to Spigot-API-Patches/0066-Allow-plugins-to-use-SLF4J-for-logging.patch index 167db2a6ea..6acef6979d 100644 --- a/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch +++ b/Spigot-API-Patches/0066-Allow-plugins-to-use-SLF4J-for-logging.patch @@ -1,4 +1,4 @@ -From f9af8335c02b21624aeee8ac4cb1909d31bbff56 Mon Sep 17 00:00:00 2001 +From 8e55e6baef53dcb9a217b5e3f0169b57a5835bac Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:33:12 +0200 Subject: [PATCH] Allow plugins to use SLF4J for logging @@ -14,7 +14,7 @@ it without having to shade it in the plugin and going through several layers of logging abstraction. diff --git a/pom.xml b/pom.xml -index 44a8b2a5..c176dd7b 100644 +index bfe580f1..5167f5b9 100644 --- a/pom.xml +++ b/pom.xml @@ -121,6 +121,14 @@ diff --git a/Spigot-API-Patches/0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch b/Spigot-API-Patches/0067-Add-workaround-for-plugins-modifying-the-parent-of-t.patch similarity index 98% rename from Spigot-API-Patches/0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch rename to Spigot-API-Patches/0067-Add-workaround-for-plugins-modifying-the-parent-of-t.patch index dd2b7d9194..b418a93c8b 100644 --- a/Spigot-API-Patches/0068-Add-workaround-for-plugins-modifying-the-parent-of-t.patch +++ b/Spigot-API-Patches/0067-Add-workaround-for-plugins-modifying-the-parent-of-t.patch @@ -1,4 +1,4 @@ -From df23e00168bf3e3ff97132c082e03cc7c1728649 Mon Sep 17 00:00:00 2001 +From f0c22fcef9d528f8b773dbef3bb56968db826396 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 19:41:20 +0200 Subject: [PATCH] Add workaround for plugins modifying the parent of the plugin diff --git a/Spigot-API-Patches/0069-Add-PlayerJumpEvent.patch b/Spigot-API-Patches/0068-Add-PlayerJumpEvent.patch similarity index 98% rename from Spigot-API-Patches/0069-Add-PlayerJumpEvent.patch rename to Spigot-API-Patches/0068-Add-PlayerJumpEvent.patch index a8659d45fd..86bba03d78 100644 --- a/Spigot-API-Patches/0069-Add-PlayerJumpEvent.patch +++ b/Spigot-API-Patches/0068-Add-PlayerJumpEvent.patch @@ -1,4 +1,4 @@ -From 9f1f05d5857e0ce2cd806931ce4db9230c379989 Mon Sep 17 00:00:00 2001 +From 8e15888fcc667e68e2cb6f6d2b2febe36a7b3acd Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 28 Sep 2017 17:21:32 -0400 Subject: [PATCH] Add PlayerJumpEvent diff --git a/Spigot-API-Patches/0070-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-API-Patches/0069-Expose-client-protocol-version-and-virtual-host.patch similarity index 97% rename from Spigot-API-Patches/0070-Expose-client-protocol-version-and-virtual-host.patch rename to Spigot-API-Patches/0069-Expose-client-protocol-version-and-virtual-host.patch index 602c3789c0..3ab65581b8 100644 --- a/Spigot-API-Patches/0070-Expose-client-protocol-version-and-virtual-host.patch +++ b/Spigot-API-Patches/0069-Expose-client-protocol-version-and-virtual-host.patch @@ -1,4 +1,4 @@ -From 4a4df5cf1adcaa8a25be2876c550c2ff2a517a67 Mon Sep 17 00:00:00 2001 +From 7505bac8503213c06c401a6196dd1c870060ae75 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 10 Oct 2017 18:44:42 +0200 Subject: [PATCH] Expose client protocol version and virtual host diff --git a/Spigot-API-Patches/0071-Add-PlayerArmorChangeEvent.patch b/Spigot-API-Patches/0070-Add-PlayerArmorChangeEvent.patch similarity index 98% rename from Spigot-API-Patches/0071-Add-PlayerArmorChangeEvent.patch rename to Spigot-API-Patches/0070-Add-PlayerArmorChangeEvent.patch index 30fe3ec790..87882fba9b 100644 --- a/Spigot-API-Patches/0071-Add-PlayerArmorChangeEvent.patch +++ b/Spigot-API-Patches/0070-Add-PlayerArmorChangeEvent.patch @@ -1,4 +1,4 @@ -From e7a01ce105a27097d7f08442b7db2aad136bcd7f Mon Sep 17 00:00:00 2001 +From 4ceb745753f3bb90b932daacc58c3fc104e8a795 Mon Sep 17 00:00:00 2001 From: pkt77 Date: Fri, 10 Nov 2017 23:45:59 -0500 Subject: [PATCH] Add PlayerArmorChangeEvent diff --git a/Spigot-API-Patches/0072-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-API-Patches/0071-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 94% rename from Spigot-API-Patches/0072-API-to-get-a-BlockState-without-a-snapshot.patch rename to Spigot-API-Patches/0071-API-to-get-a-BlockState-without-a-snapshot.patch index cefb98c0fa..59cc90d4f2 100644 --- a/Spigot-API-Patches/0072-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/Spigot-API-Patches/0071-API-to-get-a-BlockState-without-a-snapshot.patch @@ -1,4 +1,4 @@ -From 1cb04b32f151759c17629a384fa8547a255334a6 Mon Sep 17 00:00:00 2001 +From 9833fee48ce1a110ee78003439deafc84f689c55 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 6 Nov 2017 21:10:01 -0500 Subject: [PATCH] API to get a BlockState without a snapshot diff --git a/Spigot-API-Patches/0073-AsyncTabCompleteEvent.patch b/Spigot-API-Patches/0072-AsyncTabCompleteEvent.patch similarity index 99% rename from Spigot-API-Patches/0073-AsyncTabCompleteEvent.patch rename to Spigot-API-Patches/0072-AsyncTabCompleteEvent.patch index 7713ebb31f..2e07b73b37 100644 --- a/Spigot-API-Patches/0073-AsyncTabCompleteEvent.patch +++ b/Spigot-API-Patches/0072-AsyncTabCompleteEvent.patch @@ -1,4 +1,4 @@ -From c98afebdb0e60908d750e33e33c06ad612ac6434 Mon Sep 17 00:00:00 2001 +From edc4698e52433d90bcaaf7007245e7acad4d52f1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 26 Nov 2017 13:17:09 -0500 Subject: [PATCH] AsyncTabCompleteEvent diff --git a/Spigot-API-Patches/0074-Display-warning-on-deprecated-recipe-API.patch b/Spigot-API-Patches/0073-Display-warning-on-deprecated-recipe-API.patch similarity index 97% rename from Spigot-API-Patches/0074-Display-warning-on-deprecated-recipe-API.patch rename to Spigot-API-Patches/0073-Display-warning-on-deprecated-recipe-API.patch index 046b029460..8fcff4c8b8 100644 --- a/Spigot-API-Patches/0074-Display-warning-on-deprecated-recipe-API.patch +++ b/Spigot-API-Patches/0073-Display-warning-on-deprecated-recipe-API.patch @@ -1,4 +1,4 @@ -From 120a11417f9d48ca7ae42393b88e4751583391ef Mon Sep 17 00:00:00 2001 +From 4fc07207023b06376573d258a25b0fde0dae728e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 9 Dec 2017 12:40:25 -0500 Subject: [PATCH] Display warning on deprecated recipe API diff --git a/Spigot-API-Patches/0075-PlayerPickupExperienceEvent.patch b/Spigot-API-Patches/0074-PlayerPickupExperienceEvent.patch similarity index 98% rename from Spigot-API-Patches/0075-PlayerPickupExperienceEvent.patch rename to Spigot-API-Patches/0074-PlayerPickupExperienceEvent.patch index f04a712c73..580f36fcb6 100644 --- a/Spigot-API-Patches/0075-PlayerPickupExperienceEvent.patch +++ b/Spigot-API-Patches/0074-PlayerPickupExperienceEvent.patch @@ -1,4 +1,4 @@ -From 7583b7eef0eb813aa2a79d214dea15eaab1b6dc7 Mon Sep 17 00:00:00 2001 +From 82123411c5381dec16732f3e729b996f3bfd6baa Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 22:00:41 -0500 Subject: [PATCH] PlayerPickupExperienceEvent diff --git a/Spigot-API-Patches/0076-ExperienceOrbMergeEvent.patch b/Spigot-API-Patches/0075-ExperienceOrbMergeEvent.patch similarity index 98% rename from Spigot-API-Patches/0076-ExperienceOrbMergeEvent.patch rename to Spigot-API-Patches/0075-ExperienceOrbMergeEvent.patch index be8b56e8aa..127f53b8d7 100644 --- a/Spigot-API-Patches/0076-ExperienceOrbMergeEvent.patch +++ b/Spigot-API-Patches/0075-ExperienceOrbMergeEvent.patch @@ -1,4 +1,4 @@ -From ac086d03f6617bcc272e6d9d7547ed7d1e94c808 Mon Sep 17 00:00:00 2001 +From 690ed111958090f2e13c9a53e6f3296820662330 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 22:56:24 -0500 Subject: [PATCH] ExperienceOrbMergeEvent diff --git a/Spigot-API-Patches/0077-Ability-to-apply-mending-to-XP-API.patch b/Spigot-API-Patches/0076-Ability-to-apply-mending-to-XP-API.patch similarity index 96% rename from Spigot-API-Patches/0077-Ability-to-apply-mending-to-XP-API.patch rename to Spigot-API-Patches/0076-Ability-to-apply-mending-to-XP-API.patch index 5e006a0631..51128039ee 100644 --- a/Spigot-API-Patches/0077-Ability-to-apply-mending-to-XP-API.patch +++ b/Spigot-API-Patches/0076-Ability-to-apply-mending-to-XP-API.patch @@ -1,4 +1,4 @@ -From a4490dff8b9cf87a9efbc8bbe807b629de2df02b Mon Sep 17 00:00:00 2001 +From 1dce855cf72b840b3c8ca68eef03f47850ea3169 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Dec 2017 17:38:07 -0500 Subject: [PATCH] Ability to apply mending to XP API diff --git a/Spigot-API-Patches/0078-PreCreatureSpawnEvent.patch b/Spigot-API-Patches/0077-PreCreatureSpawnEvent.patch similarity index 98% rename from Spigot-API-Patches/0078-PreCreatureSpawnEvent.patch rename to Spigot-API-Patches/0077-PreCreatureSpawnEvent.patch index c05dfa30a5..2c1a5b4898 100644 --- a/Spigot-API-Patches/0078-PreCreatureSpawnEvent.patch +++ b/Spigot-API-Patches/0077-PreCreatureSpawnEvent.patch @@ -1,4 +1,4 @@ -From d96e899da4fd2b553148ba115ac5b68ee27952ad Mon Sep 17 00:00:00 2001 +From ed685ade98b7c91a16ea129ed517a8739cdb63d5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 16:59:43 -0500 Subject: [PATCH] PreCreatureSpawnEvent diff --git a/Spigot-API-Patches/0079-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-API-Patches/0078-PlayerNaturallySpawnCreaturesEvent.patch similarity index 97% rename from Spigot-API-Patches/0079-PlayerNaturallySpawnCreaturesEvent.patch rename to Spigot-API-Patches/0078-PlayerNaturallySpawnCreaturesEvent.patch index 81743e5478..d624f1f0d9 100644 --- a/Spigot-API-Patches/0079-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-API-Patches/0078-PlayerNaturallySpawnCreaturesEvent.patch @@ -1,4 +1,4 @@ -From c5154039ff463f366dae9a072e0c014f92eabedb Mon Sep 17 00:00:00 2001 +From eda3592be1d17598e7261a86c55c4377289c2721 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:31:37 -0500 Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent diff --git a/Spigot-API-Patches/0080-Add-SkullMeta.setPlayerProfile-API.patch b/Spigot-API-Patches/0079-Add-SkullMeta.setPlayerProfile-API.patch similarity index 95% rename from Spigot-API-Patches/0080-Add-SkullMeta.setPlayerProfile-API.patch rename to Spigot-API-Patches/0079-Add-SkullMeta.setPlayerProfile-API.patch index c50c7a0b61..8692bf1192 100644 --- a/Spigot-API-Patches/0080-Add-SkullMeta.setPlayerProfile-API.patch +++ b/Spigot-API-Patches/0079-Add-SkullMeta.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 956b151ae68497ff34ebf1f4dc540cc88754f276 Mon Sep 17 00:00:00 2001 +From 0a29a32a10268a1478ad045924aa706d7da5685a Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 19 Jan 2018 00:29:28 -0500 Subject: [PATCH] Add SkullMeta.setPlayerProfile API diff --git a/Spigot-API-Patches/0081-Fill-Profile-Property-Events.patch b/Spigot-API-Patches/0080-Fill-Profile-Property-Events.patch similarity index 98% rename from Spigot-API-Patches/0081-Fill-Profile-Property-Events.patch rename to Spigot-API-Patches/0080-Fill-Profile-Property-Events.patch index c5cf7243f1..559cf7d516 100644 --- a/Spigot-API-Patches/0081-Fill-Profile-Property-Events.patch +++ b/Spigot-API-Patches/0080-Fill-Profile-Property-Events.patch @@ -1,4 +1,4 @@ -From c3ae932f11c94cfa5b46fc5b11b04a283260708f Mon Sep 17 00:00:00 2001 +From d6ace9b5fd0e4dc637739347aefb6bcac808120c Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 2 Jan 2018 00:31:08 -0500 Subject: [PATCH] Fill Profile Property Events diff --git a/Spigot-API-Patches/0082-PlayerAdvancementCriterionGrantEvent.patch b/Spigot-API-Patches/0081-PlayerAdvancementCriterionGrantEvent.patch similarity index 97% rename from Spigot-API-Patches/0082-PlayerAdvancementCriterionGrantEvent.patch rename to Spigot-API-Patches/0081-PlayerAdvancementCriterionGrantEvent.patch index 5c6f84294f..3fa960b358 100644 --- a/Spigot-API-Patches/0082-PlayerAdvancementCriterionGrantEvent.patch +++ b/Spigot-API-Patches/0081-PlayerAdvancementCriterionGrantEvent.patch @@ -1,4 +1,4 @@ -From c74290391d661bac5694c965fdd19e56cb6c9e42 Mon Sep 17 00:00:00 2001 +From 37b0fe3449844988fdd20179130e820106c703c7 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 19 Jan 2018 08:15:14 -0600 Subject: [PATCH] PlayerAdvancementCriterionGrantEvent diff --git a/Spigot-API-Patches/0083-Add-ArmorStand-Item-Meta.patch b/Spigot-API-Patches/0082-Add-ArmorStand-Item-Meta.patch similarity index 97% rename from Spigot-API-Patches/0083-Add-ArmorStand-Item-Meta.patch rename to Spigot-API-Patches/0082-Add-ArmorStand-Item-Meta.patch index dc184d0c03..49d6ce7d99 100644 --- a/Spigot-API-Patches/0083-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-API-Patches/0082-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From d49f8976711a2afe8d57cf0a546332f8c95df6ad Mon Sep 17 00:00:00 2001 +From c8dfb1c1ac5047c3989ed89c48a202c8e565f4d3 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:06:24 -0500 Subject: [PATCH] Add ArmorStand Item Meta diff --git a/Spigot-API-Patches/0084-Optimize-Hoppers.patch b/Spigot-API-Patches/0083-Optimize-Hoppers.patch similarity index 96% rename from Spigot-API-Patches/0084-Optimize-Hoppers.patch rename to Spigot-API-Patches/0083-Optimize-Hoppers.patch index bbc05ec122..5c84eddf95 100644 --- a/Spigot-API-Patches/0084-Optimize-Hoppers.patch +++ b/Spigot-API-Patches/0083-Optimize-Hoppers.patch @@ -1,4 +1,4 @@ -From ad00ddb857bd631a9ae93eaabe76c044436f51d1 Mon Sep 17 00:00:00 2001 +From 6c67c5ba8e8ce89bfdd90a1d6264d14ba6a9037b Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 18 Jan 2018 01:00:27 -0500 Subject: [PATCH] Optimize Hoppers diff --git a/Spigot-API-Patches/0085-Tameable-getOwnerUniqueId-API.patch b/Spigot-API-Patches/0084-Tameable-getOwnerUniqueId-API.patch similarity index 94% rename from Spigot-API-Patches/0085-Tameable-getOwnerUniqueId-API.patch rename to Spigot-API-Patches/0084-Tameable-getOwnerUniqueId-API.patch index 2b73ed654b..af75200bbd 100644 --- a/Spigot-API-Patches/0085-Tameable-getOwnerUniqueId-API.patch +++ b/Spigot-API-Patches/0084-Tameable-getOwnerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 49e9ab9b0b462f724ac9f77fbf6dd7c0c319225d Mon Sep 17 00:00:00 2001 +From ba8f331145982701fc0e9dc323c75e54fb5130d2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 24 Feb 2018 00:55:52 -0500 Subject: [PATCH] Tameable#getOwnerUniqueId API diff --git a/Spigot-API-Patches/0086-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-API-Patches/0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 96% rename from Spigot-API-Patches/0086-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to Spigot-API-Patches/0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index 29a6bbac14..43c1e2acf8 100644 --- a/Spigot-API-Patches/0086-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/Spigot-API-Patches/0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -1,4 +1,4 @@ -From 03d67fdc4e326c291edce8d26e66146c8d1dd111 Mon Sep 17 00:00:00 2001 +From 320c3d77f68b7b02d88d293898e91681cac3c90e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 11:43:30 -0400 Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent diff --git a/Spigot-API-Patches/0087-Add-extended-PaperServerListPingEvent.patch b/Spigot-API-Patches/0086-Add-extended-PaperServerListPingEvent.patch similarity index 99% rename from Spigot-API-Patches/0087-Add-extended-PaperServerListPingEvent.patch rename to Spigot-API-Patches/0086-Add-extended-PaperServerListPingEvent.patch index 1dbc2dc12d..7649b3a2d4 100644 --- a/Spigot-API-Patches/0087-Add-extended-PaperServerListPingEvent.patch +++ b/Spigot-API-Patches/0086-Add-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From e983285e16c5833593ce8aaa6f806219cc08a641 Mon Sep 17 00:00:00 2001 +From 49a9d5dd768670e0cf6bb85313727ad57bc8428e Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:55:38 +0200 Subject: [PATCH] Add extended PaperServerListPingEvent diff --git a/Spigot-API-Patches/0088-Player.setPlayerProfile-API.patch b/Spigot-API-Patches/0087-Player.setPlayerProfile-API.patch similarity index 95% rename from Spigot-API-Patches/0088-Player.setPlayerProfile-API.patch rename to Spigot-API-Patches/0087-Player.setPlayerProfile-API.patch index 966aa8d13b..228fb1610a 100644 --- a/Spigot-API-Patches/0088-Player.setPlayerProfile-API.patch +++ b/Spigot-API-Patches/0087-Player.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From f2bc9bc75a61d71a627a18f57f66a965ba99f1c3 Mon Sep 17 00:00:00 2001 +From c2dcfe42c36ad71eafe754ab961333e503857c34 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 12:28:55 -0400 Subject: [PATCH] Player.setPlayerProfile API diff --git a/Spigot-API-Patches/0089-getPlayerUniqueId-API.patch b/Spigot-API-Patches/0088-getPlayerUniqueId-API.patch similarity index 95% rename from Spigot-API-Patches/0089-getPlayerUniqueId-API.patch rename to Spigot-API-Patches/0088-getPlayerUniqueId-API.patch index d6c19d057a..82f837055a 100644 --- a/Spigot-API-Patches/0089-getPlayerUniqueId-API.patch +++ b/Spigot-API-Patches/0088-getPlayerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 4f4d3dad507842141ff628337284fdd59deb9ab8 Mon Sep 17 00:00:00 2001 +From c4f01447191d4f50f00aa4e4975f70ddc174cf34 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:39:28 -0400 Subject: [PATCH] getPlayerUniqueId API @@ -34,7 +34,7 @@ index 01a226d9..b389677a 100644 * Gets the plugin manager for interfacing with plugins. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e7aab4bb..17ac4241 100644 +index 6c96fc14..f5aee1c5 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -356,6 +356,18 @@ public interface Server extends PluginMessageRecipient { diff --git a/Spigot-API-Patches/0090-Add-legacy-ping-support-to-PaperServerListPingEvent.patch b/Spigot-API-Patches/0089-Add-legacy-ping-support-to-PaperServerListPingEvent.patch similarity index 94% rename from Spigot-API-Patches/0090-Add-legacy-ping-support-to-PaperServerListPingEvent.patch rename to Spigot-API-Patches/0089-Add-legacy-ping-support-to-PaperServerListPingEvent.patch index b480566aff..af5d9d3ee2 100644 --- a/Spigot-API-Patches/0090-Add-legacy-ping-support-to-PaperServerListPingEvent.patch +++ b/Spigot-API-Patches/0089-Add-legacy-ping-support-to-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From 1a2033967ffb93634c6d4cd0af4e9d27d5d27b6e Mon Sep 17 00:00:00 2001 +From e730e57eded25def56fa85f4d51aa44cbcc5a135 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 19:30:20 +0200 Subject: [PATCH] Add legacy ping support to PaperServerListPingEvent diff --git a/Spigot-API-Patches/0091-Add-method-to-open-already-placed-sign.patch b/Spigot-API-Patches/0090-Add-method-to-open-already-placed-sign.patch similarity index 92% rename from Spigot-API-Patches/0091-Add-method-to-open-already-placed-sign.patch rename to Spigot-API-Patches/0090-Add-method-to-open-already-placed-sign.patch index 41e083f71c..a98088897d 100644 --- a/Spigot-API-Patches/0091-Add-method-to-open-already-placed-sign.patch +++ b/Spigot-API-Patches/0090-Add-method-to-open-already-placed-sign.patch @@ -1,4 +1,4 @@ -From 82828abda963ddcea2a0df4c15a8f0d3bb2f20c8 Mon Sep 17 00:00:00 2001 +From b8fbba03fc7abd8c77f063e41fc16537c4117102 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sun, 1 Apr 2018 02:28:43 +0300 Subject: [PATCH] Add method to open already placed sign diff --git a/Spigot-API-Patches/0092-Add-version-history-to-version-command.patch b/Spigot-API-Patches/0091-Add-version-history-to-version-command.patch similarity index 99% rename from Spigot-API-Patches/0092-Add-version-history-to-version-command.patch rename to Spigot-API-Patches/0091-Add-version-history-to-version-command.patch index a85be8779b..4077b0b100 100644 --- a/Spigot-API-Patches/0092-Add-version-history-to-version-command.patch +++ b/Spigot-API-Patches/0091-Add-version-history-to-version-command.patch @@ -1,4 +1,4 @@ -From f4043d993253dd4c573166dd6cc91347bf85bbcf Mon Sep 17 00:00:00 2001 +From ec7ab0fda0b8db766c75b88b151228cd8a7f99e6 Mon Sep 17 00:00:00 2001 From: Kyle Wood Date: Thu, 1 Mar 2018 19:37:52 -0600 Subject: [PATCH] Add version history to version command diff --git a/Spigot-API-Patches/0093-Add-Ban-Methods-to-Player-Objects.patch b/Spigot-API-Patches/0092-Add-Ban-Methods-to-Player-Objects.patch similarity index 99% rename from Spigot-API-Patches/0093-Add-Ban-Methods-to-Player-Objects.patch rename to Spigot-API-Patches/0092-Add-Ban-Methods-to-Player-Objects.patch index 4d98eb9bef..2c16c9e32e 100644 --- a/Spigot-API-Patches/0093-Add-Ban-Methods-to-Player-Objects.patch +++ b/Spigot-API-Patches/0092-Add-Ban-Methods-to-Player-Objects.patch @@ -1,4 +1,4 @@ -From 6514d05e7994ca64d84829f5ea5f08881d896143 Mon Sep 17 00:00:00 2001 +From 4b6fe9261d73d066a8b0a10b1205c3a8db3f4e25 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Apr 2018 10:28:50 -0400 Subject: [PATCH] Add Ban Methods to Player Objects diff --git a/Spigot-API-Patches/0094-EndermanEscapeEvent.patch b/Spigot-API-Patches/0093-EndermanEscapeEvent.patch similarity index 97% rename from Spigot-API-Patches/0094-EndermanEscapeEvent.patch rename to Spigot-API-Patches/0093-EndermanEscapeEvent.patch index ed8c92b565..9248bc08d0 100644 --- a/Spigot-API-Patches/0094-EndermanEscapeEvent.patch +++ b/Spigot-API-Patches/0093-EndermanEscapeEvent.patch @@ -1,4 +1,4 @@ -From f6de564e86fa93c0f80a7f13fea4c725fde220a7 Mon Sep 17 00:00:00 2001 +From e6e2f854d47264daa82dac76e0e9b50e1d048112 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:14:30 -0400 Subject: [PATCH] EndermanEscapeEvent diff --git a/Spigot-API-Patches/0095-Enderman.teleportRandomly.patch b/Spigot-API-Patches/0094-Enderman.teleportRandomly.patch similarity index 93% rename from Spigot-API-Patches/0095-Enderman.teleportRandomly.patch rename to Spigot-API-Patches/0094-Enderman.teleportRandomly.patch index 66ffe6baaa..16e901302f 100644 --- a/Spigot-API-Patches/0095-Enderman.teleportRandomly.patch +++ b/Spigot-API-Patches/0094-Enderman.teleportRandomly.patch @@ -1,4 +1,4 @@ -From 1ec75ba436761bb918589563fcd3b71d19846ce0 Mon Sep 17 00:00:00 2001 +From d39ff6984ee7da570e62149453cc739c70608e7d Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:29:15 -0400 Subject: [PATCH] Enderman.teleportRandomly() diff --git a/Spigot-API-Patches/0096-Additional-world.getNearbyEntities-API-s.patch b/Spigot-API-Patches/0095-Additional-world.getNearbyEntities-API-s.patch similarity index 99% rename from Spigot-API-Patches/0096-Additional-world.getNearbyEntities-API-s.patch rename to Spigot-API-Patches/0095-Additional-world.getNearbyEntities-API-s.patch index 25ba151fa2..b23470b827 100644 --- a/Spigot-API-Patches/0096-Additional-world.getNearbyEntities-API-s.patch +++ b/Spigot-API-Patches/0095-Additional-world.getNearbyEntities-API-s.patch @@ -1,4 +1,4 @@ -From 684b4b13045cf9a8ed1c8246539feb43afd55cee Mon Sep 17 00:00:00 2001 +From abf7402bc4ecece3ae26cdc95077e1948f349189 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 17:55:28 -0400 Subject: [PATCH] Additional world.getNearbyEntities API's diff --git a/Spigot-API-Patches/0097-Location.isChunkLoaded-API.patch b/Spigot-API-Patches/0096-Location.isChunkLoaded-API.patch similarity index 91% rename from Spigot-API-Patches/0097-Location.isChunkLoaded-API.patch rename to Spigot-API-Patches/0096-Location.isChunkLoaded-API.patch index db72eb50fc..592318344c 100644 --- a/Spigot-API-Patches/0097-Location.isChunkLoaded-API.patch +++ b/Spigot-API-Patches/0096-Location.isChunkLoaded-API.patch @@ -1,4 +1,4 @@ -From 5d998b54fbc373ae8d50dd5c19ddb64cd5db3e2c Mon Sep 17 00:00:00 2001 +From d6390344700e8736df3210e7fe2b54d942dd0b3f Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 19:27:31 -0400 Subject: [PATCH] Location.isChunkLoaded() API diff --git a/Spigot-API-Patches/0098-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-API-Patches/0097-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 99% rename from Spigot-API-Patches/0098-Expand-World.spawnParticle-API-and-add-Builder.patch rename to Spigot-API-Patches/0097-Expand-World.spawnParticle-API-and-add-Builder.patch index 537a9e5072..7b94dd6e1c 100644 --- a/Spigot-API-Patches/0098-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-API-Patches/0097-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 16fae4609fea741833ed1b7936b260fc18628cee Mon Sep 17 00:00:00 2001 +From 8c9cae0f00a34d7db7987f0de3e348143fca2559 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 29 Aug 2017 23:58:48 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder diff --git a/Spigot-API-Patches/0099-EndermanAttackPlayerEvent.patch b/Spigot-API-Patches/0098-EndermanAttackPlayerEvent.patch similarity index 98% rename from Spigot-API-Patches/0099-EndermanAttackPlayerEvent.patch rename to Spigot-API-Patches/0098-EndermanAttackPlayerEvent.patch index 0846cc6edf..5d94b9a560 100644 --- a/Spigot-API-Patches/0099-EndermanAttackPlayerEvent.patch +++ b/Spigot-API-Patches/0098-EndermanAttackPlayerEvent.patch @@ -1,4 +1,4 @@ -From 6c6a2ce230f36f7b42b89b2ba7be407dc28c3a3c Mon Sep 17 00:00:00 2001 +From 859fbcc49fee34e570ef93b1cedeea6129c923d7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 May 2018 20:17:44 -0400 Subject: [PATCH] EndermanAttackPlayerEvent diff --git a/Spigot-API-Patches/0100-Close-Plugin-Class-Loaders-on-Disable.patch b/Spigot-API-Patches/0099-Close-Plugin-Class-Loaders-on-Disable.patch similarity index 99% rename from Spigot-API-Patches/0100-Close-Plugin-Class-Loaders-on-Disable.patch rename to Spigot-API-Patches/0099-Close-Plugin-Class-Loaders-on-Disable.patch index 4025c46b3d..858710131e 100644 --- a/Spigot-API-Patches/0100-Close-Plugin-Class-Loaders-on-Disable.patch +++ b/Spigot-API-Patches/0099-Close-Plugin-Class-Loaders-on-Disable.patch @@ -1,4 +1,4 @@ -From 7fde4c2352b99a7f57694bdae89f691ecc656c68 Mon Sep 17 00:00:00 2001 +From 9e6d679a2e1a3956d445cf4a45b317dafd5ab8b0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 May 2018 21:33:35 -0400 Subject: [PATCH] Close Plugin Class Loaders on Disable diff --git a/Spigot-API-Patches/0101-WitchConsumePotionEvent.patch b/Spigot-API-Patches/0100-WitchConsumePotionEvent.patch similarity index 98% rename from Spigot-API-Patches/0101-WitchConsumePotionEvent.patch rename to Spigot-API-Patches/0100-WitchConsumePotionEvent.patch index efe6ff9b09..d921808430 100644 --- a/Spigot-API-Patches/0101-WitchConsumePotionEvent.patch +++ b/Spigot-API-Patches/0100-WitchConsumePotionEvent.patch @@ -1,4 +1,4 @@ -From aad0ca777756d4b341f053bd70ffce06d04b3206 Mon Sep 17 00:00:00 2001 +From 4c4ed4d357e2ee60585351f515c1e2ef82754042 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 16 May 2018 20:26:16 -0400 Subject: [PATCH] WitchConsumePotionEvent diff --git a/Spigot-API-Patches/0102-WitchThrowPotionEvent.patch b/Spigot-API-Patches/0101-WitchThrowPotionEvent.patch similarity index 97% rename from Spigot-API-Patches/0102-WitchThrowPotionEvent.patch rename to Spigot-API-Patches/0101-WitchThrowPotionEvent.patch index a541c585e2..6c353f8b3a 100644 --- a/Spigot-API-Patches/0102-WitchThrowPotionEvent.patch +++ b/Spigot-API-Patches/0101-WitchThrowPotionEvent.patch @@ -1,4 +1,4 @@ -From 541ae193668500d017ebe33cda73a44121ee3455 Mon Sep 17 00:00:00 2001 +From ec8448715301fcfc22907e25053ce24046112ec7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 16 May 2018 20:39:09 -0400 Subject: [PATCH] WitchThrowPotionEvent diff --git a/Spigot-API-Patches/0103-Location.toBlockLocation-toCenterLocation.patch b/Spigot-API-Patches/0102-Location.toBlockLocation-toCenterLocation.patch similarity index 95% rename from Spigot-API-Patches/0103-Location.toBlockLocation-toCenterLocation.patch rename to Spigot-API-Patches/0102-Location.toBlockLocation-toCenterLocation.patch index 63fdf01fea..95d0a1f7b7 100644 --- a/Spigot-API-Patches/0103-Location.toBlockLocation-toCenterLocation.patch +++ b/Spigot-API-Patches/0102-Location.toBlockLocation-toCenterLocation.patch @@ -1,4 +1,4 @@ -From a6bcc9478c95e056ec412ed1317f4d597b0a7017 Mon Sep 17 00:00:00 2001 +From 6b5682f52304efe35982bf2d15e3d9a25b840b66 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 24 May 2018 21:01:13 -0400 Subject: [PATCH] Location.toBlockLocation/toCenterLocation() diff --git a/Spigot-API-Patches/0104-PotionEffect-clone-methods.patch b/Spigot-API-Patches/0103-PotionEffect-clone-methods.patch similarity index 96% rename from Spigot-API-Patches/0104-PotionEffect-clone-methods.patch rename to Spigot-API-Patches/0103-PotionEffect-clone-methods.patch index e3c0c81d48..85abfd11bc 100644 --- a/Spigot-API-Patches/0104-PotionEffect-clone-methods.patch +++ b/Spigot-API-Patches/0103-PotionEffect-clone-methods.patch @@ -1,4 +1,4 @@ -From cc7e0cbb65f4290788d5f4864898611eb01d38ca Mon Sep 17 00:00:00 2001 +From 4855d23362468c0d6936adad449d9b43a4a8c80d Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 3 Jun 2018 04:10:13 -0400 Subject: [PATCH] PotionEffect clone methods diff --git a/Spigot-API-Patches/0105-WitchReadyPotionEvent.patch b/Spigot-API-Patches/0104-WitchReadyPotionEvent.patch similarity index 97% rename from Spigot-API-Patches/0105-WitchReadyPotionEvent.patch rename to Spigot-API-Patches/0104-WitchReadyPotionEvent.patch index 3665efcdaf..7fa0f72acd 100644 --- a/Spigot-API-Patches/0105-WitchReadyPotionEvent.patch +++ b/Spigot-API-Patches/0104-WitchReadyPotionEvent.patch @@ -1,4 +1,4 @@ -From aa70385f1487c465957bf670526c427fe9a31f57 Mon Sep 17 00:00:00 2001 +From 148d9f989050de122ceed7cbc9ee8f3a74affc28 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 22:47:08 -0400 Subject: [PATCH] WitchReadyPotionEvent diff --git a/Spigot-API-Patches/0106-ItemStack-getMaxItemUseDuration.patch b/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch similarity index 93% rename from Spigot-API-Patches/0106-ItemStack-getMaxItemUseDuration.patch rename to Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch index c8999a1a6c..a7996add96 100644 --- a/Spigot-API-Patches/0106-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From e336f7984ef9c18c49bfe743e7f33e9201c4fc24 Mon Sep 17 00:00:00 2001 +From 34ff6fed0aafab40ec06d9c768117a5c1b4f2d4e Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 22:59:50 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration diff --git a/Spigot-API-Patches/0107-Add-EntityTeleportEndGatewayEvent.patch b/Spigot-API-Patches/0106-Add-EntityTeleportEndGatewayEvent.patch similarity index 95% rename from Spigot-API-Patches/0107-Add-EntityTeleportEndGatewayEvent.patch rename to Spigot-API-Patches/0106-Add-EntityTeleportEndGatewayEvent.patch index 09be9b67fe..f36760f400 100644 --- a/Spigot-API-Patches/0107-Add-EntityTeleportEndGatewayEvent.patch +++ b/Spigot-API-Patches/0106-Add-EntityTeleportEndGatewayEvent.patch @@ -1,4 +1,4 @@ -From 7886764d86b2cbb9c33aaa5b57d103adf51482ba Mon Sep 17 00:00:00 2001 +From cf716be25a5b5aeea97c416dcc32c03d4572b7d2 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 9 Jun 2018 13:08:21 +0100 Subject: [PATCH] Add EntityTeleportEndGatewayEvent diff --git a/Spigot-API-Patches/0108-Add-SentientNPC-Interface-to-Entities.patch b/Spigot-API-Patches/0107-Add-SentientNPC-Interface-to-Entities.patch similarity index 99% rename from Spigot-API-Patches/0108-Add-SentientNPC-Interface-to-Entities.patch rename to Spigot-API-Patches/0107-Add-SentientNPC-Interface-to-Entities.patch index 587b69b5f4..91d731a843 100644 --- a/Spigot-API-Patches/0108-Add-SentientNPC-Interface-to-Entities.patch +++ b/Spigot-API-Patches/0107-Add-SentientNPC-Interface-to-Entities.patch @@ -1,4 +1,4 @@ -From ae233d1060a039c57855d6b48ad29ee9f16534e5 Mon Sep 17 00:00:00 2001 +From ea3a8f5ed1c5ca4b73d03342500ca257864570f7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 16 Jun 2018 13:41:00 -0400 Subject: [PATCH] Add SentientNPC Interface to Entities diff --git a/Spigot-API-Patches/0109-Make-shield-blocking-delay-configurable.patch b/Spigot-API-Patches/0108-Make-shield-blocking-delay-configurable.patch similarity index 94% rename from Spigot-API-Patches/0109-Make-shield-blocking-delay-configurable.patch rename to Spigot-API-Patches/0108-Make-shield-blocking-delay-configurable.patch index 8b34c8407e..d1e2fac6ee 100644 --- a/Spigot-API-Patches/0109-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-API-Patches/0108-Make-shield-blocking-delay-configurable.patch @@ -1,4 +1,4 @@ -From af11f7559e3f9bf8f9862caecff1e2fa97495ae3 Mon Sep 17 00:00:00 2001 +From 047d17dce86b980dda8c0c0ec7220d90c321cd92 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:17:39 -0500 Subject: [PATCH] Make shield blocking delay configurable diff --git a/Spigot-API-Patches/0110-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-API-Patches/0109-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch similarity index 96% rename from Spigot-API-Patches/0110-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch rename to Spigot-API-Patches/0109-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index dc61a1ee4e..e98fe3ce6c 100644 --- a/Spigot-API-Patches/0110-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-API-Patches/0109-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -1,4 +1,4 @@ -From 66bb665b7640a43ad6eeca4479360a07b3be11d3 Mon Sep 17 00:00:00 2001 +From 15994adb8231b553c5bd352326141857af8bfb25 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 15 Jun 2013 19:52:04 -0400 Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API diff --git a/Spigot-API-Patches/0111-Add-getNearbyXXX-methods-to-Location.patch b/Spigot-API-Patches/0110-Add-getNearbyXXX-methods-to-Location.patch similarity index 99% rename from Spigot-API-Patches/0111-Add-getNearbyXXX-methods-to-Location.patch rename to Spigot-API-Patches/0110-Add-getNearbyXXX-methods-to-Location.patch index 75cd402a7d..d66bf5f7c9 100644 --- a/Spigot-API-Patches/0111-Add-getNearbyXXX-methods-to-Location.patch +++ b/Spigot-API-Patches/0110-Add-getNearbyXXX-methods-to-Location.patch @@ -1,4 +1,4 @@ -From 440009ac512a6ce127c556e999cea1e45804eab8 Mon Sep 17 00:00:00 2001 +From 557a8969ea196e6da7dea055516a9b66c30ec492 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 18 Jun 2018 00:41:46 -0500 Subject: [PATCH] Add "getNearbyXXX" methods to Location diff --git a/Spigot-API-Patches/0112-PlayerReadyArrowEvent.patch b/Spigot-API-Patches/0111-PlayerReadyArrowEvent.patch similarity index 98% rename from Spigot-API-Patches/0112-PlayerReadyArrowEvent.patch rename to Spigot-API-Patches/0111-PlayerReadyArrowEvent.patch index d915c073be..06eceec300 100644 --- a/Spigot-API-Patches/0112-PlayerReadyArrowEvent.patch +++ b/Spigot-API-Patches/0111-PlayerReadyArrowEvent.patch @@ -1,4 +1,4 @@ -From 3b93e8bc7dc2bbdd6056c88375614f626c24ac3b Mon Sep 17 00:00:00 2001 +From 3c3e3c01d2d70fd004685f314dc5d222cdf6ae96 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 18 Jun 2018 01:09:27 -0400 Subject: [PATCH] PlayerReadyArrowEvent diff --git a/Spigot-API-Patches/0113-Add-EntityKnockbackByEntityEvent.patch b/Spigot-API-Patches/0112-Add-EntityKnockbackByEntityEvent.patch similarity index 97% rename from Spigot-API-Patches/0113-Add-EntityKnockbackByEntityEvent.patch rename to Spigot-API-Patches/0112-Add-EntityKnockbackByEntityEvent.patch index e89370a22b..8aab51ca81 100644 --- a/Spigot-API-Patches/0113-Add-EntityKnockbackByEntityEvent.patch +++ b/Spigot-API-Patches/0112-Add-EntityKnockbackByEntityEvent.patch @@ -1,4 +1,4 @@ -From 73104eda9ba4087e6bf0460769ae4c6894bb6740 Mon Sep 17 00:00:00 2001 +From eaa1c2e41c62b988a2617ebc76bf905450f2222e Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 18 Jun 2018 15:40:39 +0200 Subject: [PATCH] Add EntityKnockbackByEntityEvent diff --git a/Spigot-API-Patches/0114-Expand-Explosions-API.patch b/Spigot-API-Patches/0113-Expand-Explosions-API.patch similarity index 99% rename from Spigot-API-Patches/0114-Expand-Explosions-API.patch rename to Spigot-API-Patches/0113-Expand-Explosions-API.patch index eb2c5e7c15..f510261fc0 100644 --- a/Spigot-API-Patches/0114-Expand-Explosions-API.patch +++ b/Spigot-API-Patches/0113-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 88204b64c1d28285d937ec1c7a85dd9e4e2d4a83 Mon Sep 17 00:00:00 2001 +From 43407287b576901c8c0706ff95904f8399a80d5f Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:24:42 -0500 Subject: [PATCH] Expand Explosions API diff --git a/Spigot-API-Patches/0115-ItemStack-API-additions-for-quantity-flags-lore.patch b/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch similarity index 98% rename from Spigot-API-Patches/0115-ItemStack-API-additions-for-quantity-flags-lore.patch rename to Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch index f2cfed82fc..5e784cf74c 100644 --- a/Spigot-API-Patches/0115-ItemStack-API-additions-for-quantity-flags-lore.patch +++ b/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch @@ -1,4 +1,4 @@ -From 656a16565559bb80edf1f4cf49f007132c16650e Mon Sep 17 00:00:00 2001 +From 7cce1cf01bc05d8bbdbe79d43c1427c0acb7831d Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 22 Jun 2018 22:59:18 -0400 Subject: [PATCH] ItemStack API additions for quantity/flags/lore diff --git a/Spigot-API-Patches/0116-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-API-Patches/0115-LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 96% rename from Spigot-API-Patches/0116-LivingEntity-Hand-Raised-Item-Use-API.patch rename to Spigot-API-Patches/0115-LivingEntity-Hand-Raised-Item-Use-API.patch index a4bc45cfbb..cffdeb9509 100644 --- a/Spigot-API-Patches/0116-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-API-Patches/0115-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From cf99646a663b14d01ef54e22020b8faa8fa555f0 Mon Sep 17 00:00:00 2001 +From 04b67e12230f3c0feea220732944b891d5ca71c2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:19:19 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API diff --git a/Spigot-API-Patches/0117-RangedEntity-API.patch b/Spigot-API-Patches/0116-RangedEntity-API.patch similarity index 98% rename from Spigot-API-Patches/0117-RangedEntity-API.patch rename to Spigot-API-Patches/0116-RangedEntity-API.patch index 96d82b9ddf..3c6f27e262 100644 --- a/Spigot-API-Patches/0117-RangedEntity-API.patch +++ b/Spigot-API-Patches/0116-RangedEntity-API.patch @@ -1,4 +1,4 @@ -From 3dfec6aa624fc7663fa0d677c115efe822c05171 Mon Sep 17 00:00:00 2001 +From cf0088878648dbcf7c0a341569456b3b20ddba42 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 26 Jun 2018 21:34:40 -0400 Subject: [PATCH] RangedEntity API diff --git a/Spigot-API-Patches/0118-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-API-Patches/0117-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch similarity index 96% rename from Spigot-API-Patches/0118-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch rename to Spigot-API-Patches/0117-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch index d91a09c712..afc86048ed 100644 --- a/Spigot-API-Patches/0118-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch +++ b/Spigot-API-Patches/0117-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch @@ -1,4 +1,4 @@ -From 1026157cdfadb0aa749625df4fa4bd1c7dfd2a2c Mon Sep 17 00:00:00 2001 +From daa7931f24c915c80bcd1783f63ef11db9a0f232 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 30 Jun 2018 05:45:04 +0200 Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the diff --git a/Spigot-API-Patches/0119-Add-World.getEntity-UUID-API.patch b/Spigot-API-Patches/0118-Add-World.getEntity-UUID-API.patch similarity index 93% rename from Spigot-API-Patches/0119-Add-World.getEntity-UUID-API.patch rename to Spigot-API-Patches/0118-Add-World.getEntity-UUID-API.patch index b3ef285261..f063008e22 100644 --- a/Spigot-API-Patches/0119-Add-World.getEntity-UUID-API.patch +++ b/Spigot-API-Patches/0118-Add-World.getEntity-UUID-API.patch @@ -1,4 +1,4 @@ -From e4b5d675c5e8bb6aab767b25b2cf9ef27476b655 Mon Sep 17 00:00:00 2001 +From afba86e7d21df889c5255fc1fdd9404bed8f9202 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:07:16 +0200 Subject: [PATCH] Add World.getEntity(UUID) API diff --git a/Spigot-API-Patches/0120-InventoryCloseEvent-Reason-API.patch b/Spigot-API-Patches/0119-InventoryCloseEvent-Reason-API.patch similarity index 97% rename from Spigot-API-Patches/0120-InventoryCloseEvent-Reason-API.patch rename to Spigot-API-Patches/0119-InventoryCloseEvent-Reason-API.patch index 206164d44a..0372d7c614 100644 --- a/Spigot-API-Patches/0120-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-API-Patches/0119-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From 4deb6973896972f14c56e83e4ef64ca3beee04e9 Mon Sep 17 00:00:00 2001 +From f9e5dde76a9d7df4e99e9677c7a09a8fbca3711b Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:52:52 -0400 Subject: [PATCH] InventoryCloseEvent Reason API diff --git a/Spigot-API-Patches/0121-Entity-getChunk-API.patch b/Spigot-API-Patches/0120-Entity-getChunk-API.patch similarity index 93% rename from Spigot-API-Patches/0121-Entity-getChunk-API.patch rename to Spigot-API-Patches/0120-Entity-getChunk-API.patch index 071d8d7175..6c79e5691f 100644 --- a/Spigot-API-Patches/0121-Entity-getChunk-API.patch +++ b/Spigot-API-Patches/0120-Entity-getChunk-API.patch @@ -1,4 +1,4 @@ -From 5a3a031ef1c7d8f9023f94a7c514f210afe0c1c4 Mon Sep 17 00:00:00 2001 +From 3d06d7bea98b884dbda0cf95be3494af6c509546 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:25:48 -0400 Subject: [PATCH] Entity#getChunk API diff --git a/Spigot-API-Patches/0122-Vex-getOwner-API.patch b/Spigot-API-Patches/0121-Vex-getOwner-API.patch similarity index 92% rename from Spigot-API-Patches/0122-Vex-getOwner-API.patch rename to Spigot-API-Patches/0121-Vex-getOwner-API.patch index b2be59228c..ffb1a88278 100644 --- a/Spigot-API-Patches/0122-Vex-getOwner-API.patch +++ b/Spigot-API-Patches/0121-Vex-getOwner-API.patch @@ -1,4 +1,4 @@ -From 9e4176114616d5b73fa13fcb5736cc5d2ff5bc52 Mon Sep 17 00:00:00 2001 +From 9701c04abd7b6530433049cf90502e7569f70ab0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 15:29:21 -0400 Subject: [PATCH] Vex#getOwner API diff --git a/Spigot-API-Patches/0123-Add-an-asterisk-to-legacy-API-plugins.patch b/Spigot-API-Patches/0122-Add-an-asterisk-to-legacy-API-plugins.patch similarity index 97% rename from Spigot-API-Patches/0123-Add-an-asterisk-to-legacy-API-plugins.patch rename to Spigot-API-Patches/0122-Add-an-asterisk-to-legacy-API-plugins.patch index 0403a37fbc..58d44933ad 100644 --- a/Spigot-API-Patches/0123-Add-an-asterisk-to-legacy-API-plugins.patch +++ b/Spigot-API-Patches/0122-Add-an-asterisk-to-legacy-API-plugins.patch @@ -1,4 +1,4 @@ -From a91f4cbb8c66889302966caa04d7fbbd3ad265cc Mon Sep 17 00:00:00 2001 +From d7ad6275b2c4d850e971e43d3d3fe0dbeed04cea Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 19 Jul 2018 15:07:02 -0500 Subject: [PATCH] Add an asterisk to legacy API plugins @@ -62,5 +62,5 @@ index 3cff01b6..2b9aad0a 100644 JavaPlugin jPlugin = (JavaPlugin) plugin; -- -2.17.1 +2.18.0 diff --git a/Spigot-API-Patches/0124-Use-specific-1.13-versioning-branch-build-name.patch b/Spigot-API-Patches/0123-Use-specific-1.13-versioning-branch-build-name.patch similarity index 97% rename from Spigot-API-Patches/0124-Use-specific-1.13-versioning-branch-build-name.patch rename to Spigot-API-Patches/0123-Use-specific-1.13-versioning-branch-build-name.patch index 38578e7b00..d2d9fa7379 100644 --- a/Spigot-API-Patches/0124-Use-specific-1.13-versioning-branch-build-name.patch +++ b/Spigot-API-Patches/0123-Use-specific-1.13-versioning-branch-build-name.patch @@ -1,4 +1,4 @@ -From 07605531827fe881188f2dc08385c6a82b23215f Mon Sep 17 00:00:00 2001 +From 104243eb412fa6c00f206d6ea2102ffa5090ee74 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 19 Jul 2018 17:32:47 -0500 Subject: [PATCH] Use specific 1.13 versioning branch/build name @@ -40,5 +40,5 @@ index c45faf4c..7041085c 100644 if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) return -2; // Unknown commit try ( -- -2.17.1 +2.18.0 diff --git a/Spigot-API-Patches/0125-Add-async-chunk-load-API.patch b/Spigot-API-Patches/0124-Add-async-chunk-load-API.patch similarity index 98% rename from Spigot-API-Patches/0125-Add-async-chunk-load-API.patch rename to Spigot-API-Patches/0124-Add-async-chunk-load-API.patch index 0ce23ae271..02ac5b36aa 100644 --- a/Spigot-API-Patches/0125-Add-async-chunk-load-API.patch +++ b/Spigot-API-Patches/0124-Add-async-chunk-load-API.patch @@ -1,4 +1,4 @@ -From 50fe6b99320148740160eec04f499d03b57987dc Mon Sep 17 00:00:00 2001 +From 2b95e12f292000685d4475a372dbcb4e2c275db2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 17:43:33 -0600 Subject: [PATCH] Add async chunk load API diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index b4e14d04e7..e5f625c8df 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,11 +1,11 @@ -From 767daac10e6f8de9fccba88decfb0327905f9c9b Mon Sep 17 00:00:00 2001 +From 196e3b344fb42d27702bca99fd7e635d140d9d24 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index c3e990bdf..e2a7b4be2 100644 +index c3e990bdff..e2a7b4be2c 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -93,7 +93,7 @@ public class BaseBlockPosition implements Comparable { @@ -18,7 +18,7 @@ index c3e990bdf..e2a7b4be2 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 121a137f3..279045e49 100644 +index 121a137f3b..279045e499 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -10,7 +10,6 @@ import org.apache.logging.log4j.Logger; @@ -54,7 +54,7 @@ index 121a137f3..279045e49 100644 return this.c(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2)); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 411ab6061..cd4fbee0c 100644 +index 411ab6061b..cd4fbee0ca 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -28,7 +28,7 @@ import com.google.common.collect.Lists; // CraftBukkit @@ -75,7 +75,7 @@ index 411ab6061..cd4fbee0c 100644 public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java -index 00a530c51..2947d9ff6 100644 +index 00a530c51c..2947d9ff6a 100644 --- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java +++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java @@ -24,6 +24,8 @@ public class ChunkCoordIntPair { @@ -88,7 +88,7 @@ index 00a530c51..2947d9ff6 100644 return (long) i & 4294967295L | ((long) j & 4294967295L) << 32; } diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index ca2a14d7a..9a513b4e3 100644 +index ca2a14d7ac..9a513b4e3a 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -131,7 +131,7 @@ index ca2a14d7a..9a513b4e3 100644 private boolean c = true; private boolean d = true; diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 3f0c5d7dd..68a59e708 100644 +index 1e27433b90..c973397898 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -25,6 +25,7 @@ import org.bukkit.Location; @@ -142,7 +142,7 @@ index 3f0c5d7dd..68a59e708 100644 import org.bukkit.craftbukkit.util.CraftMagicNumbers; import org.bukkit.entity.Player; import org.bukkit.event.world.StructureGrowEvent; -@@ -553,6 +554,17 @@ public final class ItemStack { +@@ -563,6 +564,17 @@ public final class ItemStack { return this.tag != null ? this.tag.getList("Enchantments", 10) : new NBTTagList(); } @@ -161,7 +161,7 @@ index 3f0c5d7dd..68a59e708 100644 this.tag = nbttagcompound; } diff --git a/src/main/java/net/minecraft/server/LotoSelectorEntry.java b/src/main/java/net/minecraft/server/LotoSelectorEntry.java -index a540167d6..add618866 100644 +index a540167d6d..add618866b 100644 --- a/src/main/java/net/minecraft/server/LotoSelectorEntry.java +++ b/src/main/java/net/minecraft/server/LotoSelectorEntry.java @@ -85,11 +85,11 @@ public abstract class LotoSelectorEntry { @@ -180,7 +180,7 @@ index a540167d6..add618866 100644 } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java new file mode 100644 -index 000000000..70cdc3f10 +index 0000000000..70cdc3f102 --- /dev/null +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -0,0 +1,292 @@ @@ -477,7 +477,7 @@ index 000000000..70cdc3f10 + } +} diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java -index 8170a8428..e21e60b00 100644 +index 8170a84280..e21e60b003 100644 --- a/src/main/java/net/minecraft/server/NBTBase.java +++ b/src/main/java/net/minecraft/server/NBTBase.java @@ -20,7 +20,7 @@ public interface NBTBase { @@ -499,7 +499,7 @@ index 8170a8428..e21e60b00 100644 case 0: return "TAG_End"; diff --git a/src/main/java/net/minecraft/server/NBTList.java b/src/main/java/net/minecraft/server/NBTList.java -index 1a81d8e5f..057c2077a 100644 +index 1a81d8e5f6..057c2077a0 100644 --- a/src/main/java/net/minecraft/server/NBTList.java +++ b/src/main/java/net/minecraft/server/NBTList.java @@ -13,7 +13,7 @@ public abstract class NBTList extends AbstractList impleme @@ -525,7 +525,7 @@ index 1a81d8e5f..057c2077a 100644 + public abstract NBTList clone(); // Paper - decompile fix } diff --git a/src/main/java/net/minecraft/server/NBTTagByteArray.java b/src/main/java/net/minecraft/server/NBTTagByteArray.java -index 11ffa6c34..3ff3a2983 100644 +index 11ffa6c342..3ff3a29835 100644 --- a/src/main/java/net/minecraft/server/NBTTagByteArray.java +++ b/src/main/java/net/minecraft/server/NBTTagByteArray.java @@ -66,7 +66,8 @@ public class NBTTagByteArray extends NBTList { @@ -539,7 +539,7 @@ index 11ffa6c34..3ff3a2983 100644 System.arraycopy(this.data, 0, abyte, 0, this.data.length); diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index 7fc9b5ff3..e658816c2 100644 +index 7fc9b5ff32..e658816c24 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java @@ -24,7 +24,7 @@ public class NBTTagCompound implements NBTBase { @@ -575,7 +575,7 @@ index 7fc9b5ff3..e658816c2 100644 - } } diff --git a/src/main/java/net/minecraft/server/NBTTagIntArray.java b/src/main/java/net/minecraft/server/NBTTagIntArray.java -index f5c9b97d5..d121ad4f7 100644 +index f5c9b97d5c..d121ad4f7a 100644 --- a/src/main/java/net/minecraft/server/NBTTagIntArray.java +++ b/src/main/java/net/minecraft/server/NBTTagIntArray.java @@ -132,7 +132,7 @@ public class NBTTagIntArray extends NBTList { @@ -588,7 +588,7 @@ index f5c9b97d5..d121ad4f7 100644 } } diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index b3c944d70..a8280acf9 100644 +index b3c944d701..a8280acf94 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -14,7 +14,7 @@ import org.apache.logging.log4j.Logger; @@ -626,7 +626,7 @@ index b3c944d70..a8280acf9 100644 - } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2f2f4c6c6..556989f60 100644 +index 2f2f4c6c60..556989f603 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -66,9 +66,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -643,7 +643,7 @@ index 2f2f4c6c6..556989f60 100644 private volatile int chatThrottle; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index ef332d651..7cc7eb773 100644 +index ef332d6517..7cc7eb7735 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -8,7 +8,7 @@ import java.util.Iterator; @@ -665,7 +665,7 @@ index ef332d651..7cc7eb773 100644 this.c.set(i, t0); diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index 2179664a0..d7e1ecc03 100644 +index 2179664a0c..d7e1ecc031 100644 --- a/src/main/java/net/minecraft/server/ServerPing.java +++ b/src/main/java/net/minecraft/server/ServerPing.java @@ -102,11 +102,11 @@ public class ServerPing { diff --git a/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch index 55a54dc449..cd54074b3e 100644 --- a/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch +++ b/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch @@ -1,4 +1,4 @@ -From e3d93eaaa690554b73b4a0a9ad90f214559284ec Mon Sep 17 00:00:00 2001 +From 4f6efae4b2d228e98af8ea5272a70d3677808374 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 8 Mar 2016 23:25:45 -0500 Subject: [PATCH] Disable Scoreboards for non players by default @@ -25,10 +25,10 @@ index 6fc3b7621d..93486b4b82 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d378f1a9df..e16579116a 100644 +index 1870930f69..085f95dfe3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2252,6 +2252,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2258,6 +2258,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @Nullable public ScoreboardTeamBase be() { @@ -37,7 +37,7 @@ index d378f1a9df..e16579116a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 18dd06980f..ab64fb7872 100644 +index 574883462d..dd48c6af0c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -537,6 +537,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch index f31d53a6ca..dcf616588a 100644 --- a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From 4535caf1f24d08822aa9144f91c6b40edb0dcf19 Mon Sep 17 00:00:00 2001 +From a796eafbb7a903319071385b8f6aef1a0c9bcb4b Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the ItemMeta API equivalents, and should deprecate the old API's. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 68a59e708..ed714c2cc 100644 +index c973397898..e120521611 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -7,6 +7,8 @@ import com.mojang.brigadier.StringReader; @@ -61,7 +61,7 @@ index 68a59e708..ed714c2cc 100644 this.getItem().a(this.tag); // CraftBukkit end } -@@ -567,6 +586,7 @@ public final class ItemStack { +@@ -577,6 +596,7 @@ public final class ItemStack { // Paper end public void setTag(@Nullable NBTTagCompound nbttagcompound) { this.tag = nbttagcompound; @@ -69,7 +69,7 @@ index 68a59e708..ed714c2cc 100644 } public IChatBaseComponent getName() { -@@ -643,6 +663,7 @@ public final class ItemStack { +@@ -653,6 +673,7 @@ public final class ItemStack { nbttagcompound.setString("id", String.valueOf(Enchantment.enchantments.b(enchantment))); nbttagcompound.setShort("lvl", (short) ((byte) i)); nbttaglist.add((NBTBase) nbttagcompound); @@ -78,7 +78,7 @@ index 68a59e708..ed714c2cc 100644 public boolean hasEnchantments() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index d41459ef0..cadff64bf 100644 +index d41459ef01..cadff64bfb 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -4,6 +4,7 @@ import static org.bukkit.craftbukkit.inventory.CraftMetaItem.ENCHANTMENTS; @@ -204,7 +204,7 @@ index d41459ef0..cadff64bf 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 86ae0a4b6..86c61abe4 100644 +index b2190b01d4..f1430d226f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -8,12 +8,14 @@ import java.lang.reflect.Constructor; @@ -229,8 +229,8 @@ index 86ae0a4b6..86c61abe4 100644 +import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; - import net.minecraft.server.NBTCompressedStreamTools; -@@ -234,7 +237,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { + import net.minecraft.server.ChatComponentText; +@@ -235,7 +238,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private IChatBaseComponent displayName; private IChatBaseComponent locName; private List lore; @@ -239,7 +239,7 @@ index 86ae0a4b6..86c61abe4 100644 private int repairCost; private int hideFlag; private boolean unbreakable; -@@ -243,7 +246,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -244,7 +247,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private static final Set HANDLED_TAGS = Sets.newHashSet(); private NBTTagCompound internalTag; @@ -248,7 +248,7 @@ index 86ae0a4b6..86c61abe4 100644 CraftMetaItem(CraftMetaItem meta) { if (meta == null) { -@@ -258,7 +261,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -259,7 +262,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } if (meta.enchantments != null) { // Spigot @@ -257,7 +257,7 @@ index 86ae0a4b6..86c61abe4 100644 } this.repairCost = meta.repairCost; -@@ -491,13 +494,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -492,13 +495,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } @@ -273,7 +273,7 @@ index 86ae0a4b6..86c61abe4 100644 for (int i = 0; i < ench.size(); i++) { String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -572,13 +575,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -573,13 +576,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { void deserializeInternal(NBTTagCompound tag) { } @@ -289,7 +289,7 @@ index 86ae0a4b6..86c61abe4 100644 for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -733,13 +736,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -734,13 +737,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } public Map getEnchants() { @@ -305,7 +305,7 @@ index 86ae0a4b6..86c61abe4 100644 } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -927,7 +930,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -928,7 +931,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { clone.lore = new ArrayList(this.lore); } if (this.enchantments != null) { @@ -314,7 +314,7 @@ index 86ae0a4b6..86c61abe4 100644 } clone.hideFlag = this.hideFlag; clone.unbreakable = this.unbreakable; -@@ -1096,6 +1099,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1097,6 +1100,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } diff --git a/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch b/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch index 9af0f571ad..ddf8d12054 100644 --- a/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch +++ b/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch @@ -1,4 +1,4 @@ -From 66f0b458722d01614e1ecb8a82d09a92e4f5864a Mon Sep 17 00:00:00 2001 +From aba15fcba7f9d46fd103d2e8776d4732d800902c Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:55:23 -0400 Subject: [PATCH] Don't teleport dead entities @@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic. Potentially an old CB change that's no longer needed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 56aa89b45..f98f93c5c 100644 +index dd47797724..a465f1cf79 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2569,7 +2569,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2575,7 +2575,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public Entity teleportTo(Location exit, boolean portal) { diff --git a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index 31814ff952..eebc0eebe1 100644 --- a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,11 +1,11 @@ -From 95364b7e710394eda68ea6d81a7691c02b21907f Mon Sep 17 00:00:00 2001 +From 0b9bcb936fe6d77e2a1ffd169ec008a2f91ff999 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 6 Apr 2016 01:04:23 -0500 Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 6ac58e5ec..ff9929a05 100644 +index 6ac58e5ec5..ff9929a051 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -238,4 +238,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index 6ac58e5ec..ff9929a05 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f98f93c5c..31c580de1 100644 +index a465f1cf79..76934f81a8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2264,6 +2264,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2270,6 +2270,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.getFlag(5); } @@ -31,7 +31,7 @@ index f98f93c5c..31c580de1 100644 public ScoreboardTeamBase be() { if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index a3486bd46..79fddc866 100644 +index 12b7afc524..9d705ed7d1 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1622,7 +1622,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch deleted file mode 100644 index 20ace0aafe..0000000000 --- a/Spigot-Server-Patches/0110-Vehicle-Event-Cancellation-Changes.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 173ce5b19ace1cc6316fe318b79cc36ee2c207d5 Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Fri, 22 Apr 2016 18:20:05 -0500 -Subject: [PATCH] Vehicle Event Cancellation Changes - - -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 31c580de1..16d521dfd 100644 ---- a/src/main/java/net/minecraft/server/Entity.java -+++ b/src/main/java/net/minecraft/server/Entity.java -@@ -93,7 +93,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - public boolean j; - public final List passengers; - protected int k; -- private Entity ax; -+ private Entity ax;public void setVehicle(Entity entity) { this.ax = entity; } // Paper - OBFHELPER - public boolean attachedToPlayer; - public World world; - public double lastX; -@@ -2123,6 +2123,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); - } else { - // CraftBukkit start -+ entity.setVehicle(this); // Paper - Set the vehicle back for the event - CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); - Entity orig = craft == null ? null : craft.getHandle(); - if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { -@@ -2138,7 +2139,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - } - } - // CraftBukkit end -- Bukkit.getPluginManager().callEvent( new org.spigotmc.event.entity.EntityDismountEvent(entity.getBukkitEntity(), this.getBukkitEntity())); // Spigot -+ // Paper start - make EntityDismountEvent cancellable -+ if (!new org.spigotmc.event.entity.EntityDismountEvent(entity.getBukkitEntity(), this.getBukkitEntity()).callEvent()) { -+ return; -+ } -+ entity.setVehicle(null); -+ // Paper end -+ - this.passengers.remove(entity); - entity.k = 60; - } --- -2.18.0 - diff --git a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0110-remove-null-possibility-for-getServer-singleton.patch similarity index 95% rename from Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch rename to Spigot-Server-Patches/0110-remove-null-possibility-for-getServer-singleton.patch index 18eae85d87..64f9a4b97c 100644 --- a/Spigot-Server-Patches/0111-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0110-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 767ba63e4bab628feacd5454d38b96a849cb089d Mon Sep 17 00:00:00 2001 +From bf2bd153e0203883f109de1266912090918f6b5d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 Apr 2016 00:57:27 -0400 Subject: [PATCH] remove null possibility for getServer singleton @@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c181acd99..6de0b22f7 100644 +index c181acd991..6de0b22f72 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -68,6 +68,7 @@ import co.aikar.timings.MinecraftTimings; // Paper diff --git a/Spigot-Server-Patches/0112-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/Spigot-Server-Patches/0111-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 96% rename from Spigot-Server-Patches/0112-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to Spigot-Server-Patches/0111-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index 61a0032634..7e277002f5 100644 --- a/Spigot-Server-Patches/0112-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/Spigot-Server-Patches/0111-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -1,4 +1,4 @@ -From 1b250f7abc586467c2a08285ab380754c75fc64e Mon Sep 17 00:00:00 2001 +From 7917e09469846bbe6836f8397451bea1a44a2df6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Apr 2016 20:02:00 -0400 Subject: [PATCH] Improve Maps (in item frames) performance and bug fixes @@ -13,7 +13,7 @@ custom renderers are in use, defaulting to the much simpler Vanilla system. Additionally, numerous issues to player position tracking on maps has been fixed. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1aa32bf11..83bfb6611 100644 +index a47ef2ca50..06b663c4db 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -610,6 +610,12 @@ public abstract class EntityHuman extends EntityLiving { @@ -30,7 +30,7 @@ index 1aa32bf11..83bfb6611 100644 ItemStack itemstack1 = this.a(entityitem); diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 6ae576a2e..af1981967 100644 +index 40e0bd7ce2..a04a06f3bf 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -90,7 +90,7 @@ public class EntityTrackerEntry { @@ -43,7 +43,7 @@ index 6ae576a2e..af1981967 100644 ItemStack itemstack = entityitemframe.getItem(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e5ecfdbf0..5102f24ed 100644 +index 46eab028d9..f1c036aa6a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1075,6 +1075,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -55,7 +55,7 @@ index e5ecfdbf0..5102f24ed 100644 } } diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java -index 445a016b7..4c64f90be 100644 +index 445a016b72..4c64f90be3 100644 --- a/src/main/java/net/minecraft/server/WorldMap.java +++ b/src/main/java/net/minecraft/server/WorldMap.java @@ -29,6 +29,7 @@ public class WorldMap extends PersistentBase { @@ -127,7 +127,7 @@ index 445a016b7..4c64f90be 100644 for ( org.bukkit.map.MapCursor cursor : render.cursors) { diff --git a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java -index 256a13178..5768cd512 100644 +index 256a131781..5768cd512e 100644 --- a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java +++ b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java @@ -5,7 +5,7 @@ import org.bukkit.map.MapCursor; diff --git a/Spigot-Server-Patches/0113-LootTable-API-Replenishable-Lootables-Feature.patch b/Spigot-Server-Patches/0112-LootTable-API-Replenishable-Lootables-Feature.patch similarity index 98% rename from Spigot-Server-Patches/0113-LootTable-API-Replenishable-Lootables-Feature.patch rename to Spigot-Server-Patches/0112-LootTable-API-Replenishable-Lootables-Feature.patch index 157ce8fa8d..2278c6d9b8 100644 --- a/Spigot-Server-Patches/0113-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/Spigot-Server-Patches/0112-LootTable-API-Replenishable-Lootables-Feature.patch @@ -1,4 +1,4 @@ -From 89c539bf9cd6e0a1ac5fd61cbcb7bf6a08ed570d Mon Sep 17 00:00:00 2001 +From ec99cec780a2ae3c3ff8194fc74467161697b99f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 1 May 2016 21:19:14 -0400 Subject: [PATCH] LootTable API & Replenishable Lootables Feature @@ -11,7 +11,7 @@ This feature is good for long term worlds so that newer players do not suffer with "Every chest has been looted" diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0c50cb4bd..38de48ebc 100644 +index 0c50cb4bd6..38de48ebc2 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -253,4 +253,26 @@ public class PaperWorldConfig { @@ -43,7 +43,7 @@ index 0c50cb4bd..38de48ebc 100644 } diff --git a/src/main/java/com/destroystokyo/paper/loottable/CraftLootable.java b/src/main/java/com/destroystokyo/paper/loottable/CraftLootable.java new file mode 100644 -index 000000000..36c36d158 +index 0000000000..36c36d158f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootable.java @@ -0,0 +1,12 @@ @@ -61,7 +61,7 @@ index 000000000..36c36d158 +} diff --git a/src/main/java/com/destroystokyo/paper/loottable/CraftLootableBlockInventory.java b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableBlockInventory.java new file mode 100644 -index 000000000..20d236c45 +index 0000000000..20d236c451 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableBlockInventory.java @@ -0,0 +1,33 @@ @@ -100,7 +100,7 @@ index 000000000..20d236c45 +} diff --git a/src/main/java/com/destroystokyo/paper/loottable/CraftLootableEntityInventory.java b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableEntityInventory.java new file mode 100644 -index 000000000..1150dee01 +index 0000000000..1150dee01e --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableEntityInventory.java @@ -0,0 +1,31 @@ @@ -137,7 +137,7 @@ index 000000000..1150dee01 +} diff --git a/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventory.java b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventory.java new file mode 100644 -index 000000000..668097620 +index 0000000000..668097620f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventory.java @@ -0,0 +1,88 @@ @@ -231,7 +231,7 @@ index 000000000..668097620 +} diff --git a/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java new file mode 100644 -index 000000000..9a65603bc +index 0000000000..9a65603bcb --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java @@ -0,0 +1,182 @@ @@ -418,7 +418,7 @@ index 000000000..9a65603bc + } +} diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java -index 9ec73ac06..8bd7976f9 100644 +index 9ec73ac06a..8bd7976f97 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java +++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java @@ -6,17 +6,21 @@ import javax.annotation.Nullable; @@ -540,7 +540,7 @@ index 9ec73ac06..8bd7976f9 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/TileEntityLootable.java b/src/main/java/net/minecraft/server/TileEntityLootable.java -index fbda02b32..e6fc1ae92 100644 +index fbda02b321..e6fc1ae923 100644 --- a/src/main/java/net/minecraft/server/TileEntityLootable.java +++ b/src/main/java/net/minecraft/server/TileEntityLootable.java @@ -1,12 +1,16 @@ @@ -657,7 +657,7 @@ index fbda02b32..e6fc1ae92 100644 + } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index ac9b4297b..0558cafe3 100644 +index ac9b4297b2..0558cafe31 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -61,7 +61,7 @@ public class CraftBlockEntityState extends CraftBlockState @@ -670,7 +670,7 @@ index ac9b4297b..0558cafe3 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java -index 6a54f2a16..a94c78512 100644 +index 6a54f2a166..a94c785126 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java @@ -1,6 +1,7 @@ @@ -691,7 +691,7 @@ index 6a54f2a16..a94c78512 100644 public CraftChest(final Block block) { super(block, TileEntityChest.class); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java b/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java -index 1dc8bfecd..bfcf9b6c4 100644 +index 1dc8bfecd2..bfcf9b6c4d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftDispenser.java @@ -1,5 +1,6 @@ @@ -711,7 +711,7 @@ index 1dc8bfecd..bfcf9b6c4 100644 public CraftDispenser(final Block block) { super(block, TileEntityDispenser.class); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java b/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java -index 6566554ab..df156d0d9 100644 +index 6566554ab6..df156d0d92 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftHopper.java @@ -1,5 +1,6 @@ @@ -731,7 +731,7 @@ index 6566554ab..df156d0d9 100644 public CraftHopper(final Block block) { super(block, TileEntityHopper.class); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java b/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java -index c029a1244..c26f0b5af 100644 +index c029a12441..c26f0b5afc 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftShulkerBox.java @@ -1,5 +1,6 @@ @@ -751,7 +751,7 @@ index c029a1244..c26f0b5af 100644 public CraftShulkerBox(final Block block) { super(block, TileEntityShulkerBox.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartChest.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartChest.java -index 69435c457..4291edf25 100644 +index 69435c4576..4291edf252 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartChest.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartChest.java @@ -1,5 +1,6 @@ @@ -771,7 +771,7 @@ index 69435c457..4291edf25 100644 public CraftMinecartChest(CraftServer server, EntityMinecartChest entity) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartHopper.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartHopper.java -index e9963e21c..acb4dee04 100644 +index e9963e21cd..acb4dee04f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartHopper.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecartHopper.java @@ -1,5 +1,6 @@ diff --git a/Spigot-Server-Patches/0114-Do-not-load-chunks-for-pathfinding.patch b/Spigot-Server-Patches/0113-Do-not-load-chunks-for-pathfinding.patch similarity index 87% rename from Spigot-Server-Patches/0114-Do-not-load-chunks-for-pathfinding.patch rename to Spigot-Server-Patches/0113-Do-not-load-chunks-for-pathfinding.patch index 13d0f956d4..66c88d73a6 100644 --- a/Spigot-Server-Patches/0114-Do-not-load-chunks-for-pathfinding.patch +++ b/Spigot-Server-Patches/0113-Do-not-load-chunks-for-pathfinding.patch @@ -1,11 +1,11 @@ -From 8377c919dfb9fe70801510f6e077bbf6a9847d8f Mon Sep 17 00:00:00 2001 +From bc7a01c2d7b9be7bfabb73c3ead9364433e5fee1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Jan 2016 00:13:19 -0500 Subject: [PATCH] Do not load chunks for pathfinding diff --git a/src/main/java/net/minecraft/server/ChunkCache.java b/src/main/java/net/minecraft/server/ChunkCache.java -index 6d153e431..07444a86a 100644 +index 6d153e4311..07444a86ac 100644 --- a/src/main/java/net/minecraft/server/ChunkCache.java +++ b/src/main/java/net/minecraft/server/ChunkCache.java @@ -27,7 +27,7 @@ public class ChunkCache implements IIBlockAccess { diff --git a/Spigot-Server-Patches/0115-Entity-Tracking-Improvements.patch b/Spigot-Server-Patches/0114-Entity-Tracking-Improvements.patch similarity index 96% rename from Spigot-Server-Patches/0115-Entity-Tracking-Improvements.patch rename to Spigot-Server-Patches/0114-Entity-Tracking-Improvements.patch index dfa8f65f8a..1729de72ae 100644 --- a/Spigot-Server-Patches/0115-Entity-Tracking-Improvements.patch +++ b/Spigot-Server-Patches/0114-Entity-Tracking-Improvements.patch @@ -1,4 +1,4 @@ -From dde88036ee16b61e39407d75420102c714842eef Mon Sep 17 00:00:00 2001 +From a4ca6f81234296ae1cfb63d2e7a2344d48456e67 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Jun 2013 01:24:00 -0400 Subject: [PATCH] Entity Tracking Improvements @@ -7,7 +7,7 @@ If any part of a Vehicle/Passenger relationship is visible to a player, send all passenger/vehicles to the player in the chain. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 16d521dfd..dd4ac4bfe 100644 +index 76934f81a8..93df154b15 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -70,6 +70,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -19,7 +19,7 @@ index 16d521dfd..dd4ac4bfe 100644 if (bukkitEntity == null) { bukkitEntity = CraftEntity.getEntity(world.getServer(), this); diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index af1981967..e054ae905 100644 +index a04a06f3bf..c405cc74ba 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -49,6 +49,7 @@ public class EntityTrackerEntry { diff --git a/Spigot-Server-Patches/0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/Spigot-Server-Patches/0115-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch similarity index 92% rename from Spigot-Server-Patches/0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch rename to Spigot-Server-Patches/0115-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch index c79726b5d3..c643be32f5 100644 --- a/Spigot-Server-Patches/0116-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch +++ b/Spigot-Server-Patches/0115-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch @@ -1,11 +1,11 @@ -From a348c3710bdb5813fc2278b285f8f77f3a5d4368 Mon Sep 17 00:00:00 2001 +From e285eb1fe1e6cbe2acba6d05392b04005024bb6f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 May 2016 23:33:08 -0400 Subject: [PATCH] Don't save empty scoreboard teams to scoreboard.dat diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 430b5d0cd..011cbf5e3 100644 +index 430b5d0cdc..011cbf5e31 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -225,4 +225,9 @@ public class PaperConfig { @@ -19,7 +19,7 @@ index 430b5d0cd..011cbf5e3 100644 + } } diff --git a/src/main/java/net/minecraft/server/PersistentScoreboard.java b/src/main/java/net/minecraft/server/PersistentScoreboard.java -index 0260fb7ec..45d8de1b7 100644 +index 0260fb7ec9..45d8de1b7b 100644 --- a/src/main/java/net/minecraft/server/PersistentScoreboard.java +++ b/src/main/java/net/minecraft/server/PersistentScoreboard.java @@ -177,6 +177,7 @@ public class PersistentScoreboard extends PersistentBase { diff --git a/Spigot-Server-Patches/0117-Fix-Chunk-Unload-Queue-Issues.patch b/Spigot-Server-Patches/0116-Fix-Chunk-Unload-Queue-Issues.patch similarity index 92% rename from Spigot-Server-Patches/0117-Fix-Chunk-Unload-Queue-Issues.patch rename to Spigot-Server-Patches/0116-Fix-Chunk-Unload-Queue-Issues.patch index 34736a4cfb..000dd4aa61 100644 --- a/Spigot-Server-Patches/0117-Fix-Chunk-Unload-Queue-Issues.patch +++ b/Spigot-Server-Patches/0116-Fix-Chunk-Unload-Queue-Issues.patch @@ -1,4 +1,4 @@ -From 570d7c506c2cc65f5899a4ca5e6b5cd5c2f38182 Mon Sep 17 00:00:00 2001 +From 30ff596e33f0ee629ff67ef52d067a7957ef540d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 12 May 2016 02:03:56 -0400 Subject: [PATCH] Fix Chunk Unload Queue Issues @@ -9,7 +9,7 @@ has not resolved all the bugs with the changes. This patch fixes known issues and really should be applied by Spigot team. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 49c5953fb..8da7e39ee 100644 +index 695c6d3b70..acc21aec02 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -58,7 +58,7 @@ public class Chunk implements IChunkAccess { @@ -22,7 +22,7 @@ index 49c5953fb..8da7e39ee 100644 private int E; private final AtomicInteger F; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 6917fdbe0..bac5c921b 100644 +index 6917fdbe04..bac5c921b6 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -301,6 +301,7 @@ public class ChunkProviderServer implements IChunkProvider { diff --git a/Spigot-Server-Patches/0118-System-property-for-disabling-watchdoge.patch b/Spigot-Server-Patches/0117-System-property-for-disabling-watchdoge.patch similarity index 90% rename from Spigot-Server-Patches/0118-System-property-for-disabling-watchdoge.patch rename to Spigot-Server-Patches/0117-System-property-for-disabling-watchdoge.patch index 47d08c74a8..c5593b5eae 100644 --- a/Spigot-Server-Patches/0118-System-property-for-disabling-watchdoge.patch +++ b/Spigot-Server-Patches/0117-System-property-for-disabling-watchdoge.patch @@ -1,11 +1,11 @@ -From 2c589fea6f44a9eceb5240d226fab7a8aa65879d Mon Sep 17 00:00:00 2001 +From d898f0e91a714338c156db3161c150ec25996761 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 12 May 2016 23:02:58 -0500 Subject: [PATCH] System property for disabling watchdoge diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index 0c106ea9c..57a4748a3 100644 +index 0c106ea9c5..57a4748a30 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -52,7 +52,7 @@ public class WatchdogThread extends Thread diff --git a/Spigot-Server-Patches/0119-Optimize-EAR.patch b/Spigot-Server-Patches/0118-Optimize-EAR.patch similarity index 96% rename from Spigot-Server-Patches/0119-Optimize-EAR.patch rename to Spigot-Server-Patches/0118-Optimize-EAR.patch index 92cee707e8..31e1f79031 100644 --- a/Spigot-Server-Patches/0119-Optimize-EAR.patch +++ b/Spigot-Server-Patches/0118-Optimize-EAR.patch @@ -1,11 +1,11 @@ -From 85b6d5e7f7854bd7803c2b5afc06a7250039fed7 Mon Sep 17 00:00:00 2001 +From c8e46d2dfb85a7fb46d51d433b842e9d195139eb Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 13 May 2016 01:38:06 -0400 Subject: [PATCH] Optimize EAR diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 1aade75f3..a9b84fdec 100644 +index 1aade75f34..a9b84fdec4 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -2,6 +2,8 @@ package org.spigotmc; diff --git a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0119-Optimize-UserCache-Thread-Safe.patch similarity index 96% rename from Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch rename to Spigot-Server-Patches/0119-Optimize-UserCache-Thread-Safe.patch index 73810beb26..1cb4f75edc 100644 --- a/Spigot-Server-Patches/0120-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0119-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 55c50523df7924649d44089d0ef4e4bd9471334a Mon Sep 17 00:00:00 2001 +From b2db33ed633fd55ba4fe042e9f24bc90bf378979 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 20:47:41 -0400 Subject: [PATCH] Optimize UserCache / Thread Safe @@ -10,7 +10,7 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6de0b22f7..5f17ec1e9 100644 +index 6de0b22f72..5f17ec1e9d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -676,7 +676,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -23,7 +23,7 @@ index 6de0b22f7..5f17ec1e9 100644 // Spigot end } diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java -index 0e168ad34..f8b7d695c 100644 +index 0e168ad349..f8b7d695c6 100644 --- a/src/main/java/net/minecraft/server/UserCache.java +++ b/src/main/java/net/minecraft/server/UserCache.java @@ -109,7 +109,7 @@ public class UserCache { diff --git a/Spigot-Server-Patches/0121-Avoid-blocking-on-Network-Manager-creation.patch b/Spigot-Server-Patches/0120-Avoid-blocking-on-Network-Manager-creation.patch similarity index 96% rename from Spigot-Server-Patches/0121-Avoid-blocking-on-Network-Manager-creation.patch rename to Spigot-Server-Patches/0120-Avoid-blocking-on-Network-Manager-creation.patch index 817c70c732..715f6cfce1 100644 --- a/Spigot-Server-Patches/0121-Avoid-blocking-on-Network-Manager-creation.patch +++ b/Spigot-Server-Patches/0120-Avoid-blocking-on-Network-Manager-creation.patch @@ -1,4 +1,4 @@ -From 4b72a52f493d03f141642c45278dd654ef5fdb69 Mon Sep 17 00:00:00 2001 +From a883b4d3d653824a53997fa6971ef99341f807b0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 23:19:16 -0400 Subject: [PATCH] Avoid blocking on Network Manager creation @@ -6,7 +6,7 @@ Subject: [PATCH] Avoid blocking on Network Manager creation Per Paper issue 294 diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java -index be8d07f41..9808561eb 100644 +index be8d07f41e..9808561eb3 100644 --- a/src/main/java/net/minecraft/server/ServerConnection.java +++ b/src/main/java/net/minecraft/server/ServerConnection.java @@ -40,6 +40,15 @@ public class ServerConnection { diff --git a/Spigot-Server-Patches/0122-Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/0121-Optional-TNT-doesn-t-move-in-water.patch similarity index 94% rename from Spigot-Server-Patches/0122-Optional-TNT-doesn-t-move-in-water.patch rename to Spigot-Server-Patches/0121-Optional-TNT-doesn-t-move-in-water.patch index b35726fb29..2c786b2be9 100644 --- a/Spigot-Server-Patches/0122-Optional-TNT-doesn-t-move-in-water.patch +++ b/Spigot-Server-Patches/0121-Optional-TNT-doesn-t-move-in-water.patch @@ -1,11 +1,11 @@ -From 66110221d713089a4bd59d79a17a4b8f6100f015 Mon Sep 17 00:00:00 2001 +From 371a7184180641fd732e454d8ef10f8606018c60 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional TNT doesn't move in water diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 38de48ebc..321da3be3 100644 +index 38de48ebc2..321da3be35 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,7 +2,6 @@ package com.destroystokyo.paper; @@ -32,7 +32,7 @@ index 38de48ebc..321da3be3 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index dd4ac4bfe..34c617958 100644 +index 93df154b15..e56f458ca9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1195,6 +1195,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -48,7 +48,7 @@ index dd4ac4bfe..34c617958 100644 return this.isInWater() || this.q(); } -@@ -2737,6 +2743,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2736,6 +2742,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean bw() { @@ -61,7 +61,7 @@ index dd4ac4bfe..34c617958 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index 87f3205f8..8c1d25979 100644 +index 87f3205f82..8c1d25979f 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -147,4 +147,49 @@ public class EntityTNTPrimed extends Entity { diff --git a/Spigot-Server-Patches/0123-Faster-redstone-torch-rapid-clock-removal.patch b/Spigot-Server-Patches/0122-Faster-redstone-torch-rapid-clock-removal.patch similarity index 94% rename from Spigot-Server-Patches/0123-Faster-redstone-torch-rapid-clock-removal.patch rename to Spigot-Server-Patches/0122-Faster-redstone-torch-rapid-clock-removal.patch index 1b04bbceba..2633e8dc4f 100644 --- a/Spigot-Server-Patches/0123-Faster-redstone-torch-rapid-clock-removal.patch +++ b/Spigot-Server-Patches/0122-Faster-redstone-torch-rapid-clock-removal.patch @@ -1,4 +1,4 @@ -From 0ab83c3fcfa7cba9f3436c814c560124d4013e2a Mon Sep 17 00:00:00 2001 +From bd9abe1adfe269fd95965e845ff7b18f9edc7d2a Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Mon, 23 May 2016 12:12:37 +0200 Subject: [PATCH] Faster redstone torch rapid clock removal @@ -6,7 +6,7 @@ Subject: [PATCH] Faster redstone torch rapid clock removal Only resize the the redstone torch list once, since resizing arrays / lists is costly diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java -index 6a54da4d6..ebd47196b 100644 +index c912fb8ae0..d2246cfb10 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java @@ -63,9 +63,17 @@ public class BlockRedstoneTorch extends BlockTorch { diff --git a/Spigot-Server-Patches/0124-Ensure-Chunks-never-ever-load-async.patch b/Spigot-Server-Patches/0123-Ensure-Chunks-never-ever-load-async.patch similarity index 95% rename from Spigot-Server-Patches/0124-Ensure-Chunks-never-ever-load-async.patch rename to Spigot-Server-Patches/0123-Ensure-Chunks-never-ever-load-async.patch index dc00202cc8..b9ecbbcde0 100644 --- a/Spigot-Server-Patches/0124-Ensure-Chunks-never-ever-load-async.patch +++ b/Spigot-Server-Patches/0123-Ensure-Chunks-never-ever-load-async.patch @@ -1,4 +1,4 @@ -From eca617fa0198e46fcf7d2b215ab9c3661546ad39 Mon Sep 17 00:00:00 2001 +From 36c2a934001480dd1365190147d4e70a1f791018 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 27 May 2016 21:41:26 -0400 Subject: [PATCH] Ensure Chunks never ever load async @@ -6,7 +6,7 @@ Subject: [PATCH] Ensure Chunks never ever load async Safely pushes the operation to main thread, then back to the posting thread diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java -index 7b7a3d01b..9aaca21a7 100644 +index 7b7a3d01b9..9aaca21a79 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java @@ -4,6 +4,7 @@ import com.destroystokyo.paper.PaperConfig; @@ -27,7 +27,7 @@ index 7b7a3d01b..9aaca21a7 100644 public static void queueChunkLoad(World world, ChunkRegionLoader loader, ChunkProviderServer provider, int x, int z, Runnable runnable) { diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index 52a8c48fa..2bbd5a7e2 100644 +index 52a8c48fa4..2bbd5a7e2a 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java @@ -35,9 +35,9 @@ class ChunkIOProvider implements AsynchronousExecutor.CallBackProvider Date: Sat, 28 May 2016 16:54:03 +0200 Subject: [PATCH] Add server-name parameter diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 38e696aa9..c552c624e 100644 +index 38e696aa94..c552c624e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -136,6 +136,14 @@ public class Main { diff --git a/Spigot-Server-Patches/0126-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch b/Spigot-Server-Patches/0125-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch similarity index 95% rename from Spigot-Server-Patches/0126-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch rename to Spigot-Server-Patches/0125-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch index 23408ddcf4..31b3e96d98 100644 --- a/Spigot-Server-Patches/0126-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch +++ b/Spigot-Server-Patches/0125-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch @@ -1,4 +1,4 @@ -From 75a746991400c961cb2e2e48ffc77195d999a16d Mon Sep 17 00:00:00 2001 +From dd0d1f30603f537e6468a4fa50fbc416e5c49d1b Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 31 May 2016 22:53:50 -0400 Subject: [PATCH] Only send Dragon/Wither Death sounds to same world @@ -6,7 +6,7 @@ Subject: [PATCH] Only send Dragon/Wither Death sounds to same world Also fix view distance lookup diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 24cce6c03..e5f064577 100644 +index bbd807315a..131f8a5156 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -573,8 +573,12 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo @@ -25,7 +25,7 @@ index 24cce6c03..e5f064577 100644 double deltaZ = this.locZ - player.locZ; double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index e9d9ec239..28f524468 100644 +index 4f73b02baf..0d68a9be6c 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -199,8 +199,12 @@ public class EntityWither extends EntityMonster implements IRangedEntity { diff --git a/Spigot-Server-Patches/0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch similarity index 96% rename from Spigot-Server-Patches/0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch rename to Spigot-Server-Patches/0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch index 9b99a796d9..b0924decad 100644 --- a/Spigot-Server-Patches/0127-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -1,4 +1,4 @@ -From 51db9f7a8b2e9545edec3a323c0d6c1e298d30d8 Mon Sep 17 00:00:00 2001 +From d94fba211d446e594b97bb2eecd19a7dc92544d8 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 @@ -17,7 +17,7 @@ This allows servers with smaller worlds who do less long distance exploring to s wasting cpu cycles on saving/unloading/reloading chunks repeatedly. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 321da3be3..0e6c18b32 100644 +index 321da3be35..0e6c18b327 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -284,4 +284,18 @@ public class PaperWorldConfig { @@ -40,7 +40,7 @@ index 321da3be3..0e6c18b32 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8da7e39ee..99421aca9 100644 +index acc21aec02..c27073d27c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -39,6 +39,7 @@ public class Chunk implements IChunkAccess { @@ -52,7 +52,7 @@ index 8da7e39ee..99421aca9 100644 public final int locZ; private boolean m; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index bac5c921b..4f9ece9e4 100644 +index bac5c921b6..4f9ece9e47 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -317,6 +317,19 @@ public class ChunkProviderServer implements IChunkProvider { @@ -76,7 +76,7 @@ index bac5c921b..4f9ece9e4 100644 this.f.a(); this.chunkLoader.b(); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index ffff87dc0..344b95233 100644 +index ffff87dc03..344b95233f 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -33,14 +33,23 @@ public class PlayerChunk { @@ -112,7 +112,7 @@ index ffff87dc0..344b95233 100644 return this.chunk != null; diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 4d888d6d4..cf5c76a78 100644 +index 4d888d6d4f..cf5c76a78e 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -461,7 +461,13 @@ public class PlayerChunkMap { @@ -131,7 +131,7 @@ index 4d888d6d4..cf5c76a78 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f1c036aa6..95ec4f48f 100644 +index f1c036aa6a..95ec4f48f2 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1294,7 +1294,13 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -150,7 +150,7 @@ index f1c036aa6..95ec4f48f 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 ff3558363..90e260f3b 100644 +index ff3558363b..90e260f3b3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1581,7 +1581,7 @@ public class CraftWorld implements World { @@ -163,7 +163,7 @@ index ff3558363..90e260f3b 100644 } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index a9b84fdec..e02647f80 100644 +index a9b84fdec4..e02647f806 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -284,6 +284,10 @@ public class ActivationRange diff --git a/Spigot-Server-Patches/0128-Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/0127-Fix-Double-World-Add-issues.patch similarity index 93% rename from Spigot-Server-Patches/0128-Fix-Double-World-Add-issues.patch rename to Spigot-Server-Patches/0127-Fix-Double-World-Add-issues.patch index 484c94d664..ecfefdab69 100644 --- a/Spigot-Server-Patches/0128-Fix-Double-World-Add-issues.patch +++ b/Spigot-Server-Patches/0127-Fix-Double-World-Add-issues.patch @@ -1,4 +1,4 @@ -From dbfe877863ead07c12ce6bc9fe159f20cd3a8563 Mon Sep 17 00:00:00 2001 +From d3ba0114303906b3d911da03acd12d54ef66d382 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 21 Jun 2016 22:54:34 -0400 Subject: [PATCH] Fix Double World Add issues @@ -8,7 +8,7 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added. Also add debug if something else tries to, and abort before world gets bad state diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index f007af2e1..2f1488ee5 100644 +index f007af2e1a..2f1488ee53 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1050,7 +1050,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -21,7 +21,7 @@ index f007af2e1..2f1488ee5 100644 Iterator iterator = entity.bP().iterator(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 95ec4f48f..45ab70167 100644 +index 95ec4f48f2..45ab70167a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -955,6 +955,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0129-Fix-Old-Sign-Conversion.patch b/Spigot-Server-Patches/0128-Fix-Old-Sign-Conversion.patch similarity index 95% rename from Spigot-Server-Patches/0129-Fix-Old-Sign-Conversion.patch rename to Spigot-Server-Patches/0128-Fix-Old-Sign-Conversion.patch index fb27b26e3d..96d0013ced 100644 --- a/Spigot-Server-Patches/0129-Fix-Old-Sign-Conversion.patch +++ b/Spigot-Server-Patches/0128-Fix-Old-Sign-Conversion.patch @@ -1,4 +1,4 @@ -From 6b3f4ff9f1bbc1a21ec0b323e444cf24e6582eb9 Mon Sep 17 00:00:00 2001 +From 597a59550c1b3edf942a5b9d3fbe9f5d4400c285 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 17 Jun 2016 20:50:11 -0400 Subject: [PATCH] Fix Old Sign Conversion @@ -9,7 +9,7 @@ Subject: [PATCH] Fix Old Sign Conversion This causes Igloos and such to render broken signs. We fix this by ignoring sign conversion for Defined Structures diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java -index 15c7cc170..2109f316d 100644 +index 785a1a2184..528db8704e 100644 --- a/src/main/java/net/minecraft/server/DefinedStructure.java +++ b/src/main/java/net/minecraft/server/DefinedStructure.java @@ -218,9 +218,11 @@ public class DefinedStructure { @@ -25,7 +25,7 @@ index 15c7cc170..2109f316d 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 8cab71c0e..2cfe2202e 100644 +index e03965fc7c..9ad14417e3 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -11,6 +11,7 @@ import org.bukkit.inventory.InventoryHolder; // CraftBukkit @@ -37,7 +37,7 @@ index 8cab71c0e..2cfe2202e 100644 private final TileEntityTypes e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER protected World world; diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index 939d8790f..335a4d27f 100644 +index c5164ca3f4..2591c2f0b2 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -49,13 +49,14 @@ public class TileEntitySign extends TileEntity implements ICommandListener { @@ -58,5 +58,5 @@ index 939d8790f..335a4d27f 100644 if (this.world instanceof WorldServer) { try { -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0130-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch b/Spigot-Server-Patches/0129-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch similarity index 90% rename from Spigot-Server-Patches/0130-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch rename to Spigot-Server-Patches/0129-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch index 867723c393..e208ea63c5 100644 --- a/Spigot-Server-Patches/0130-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch +++ b/Spigot-Server-Patches/0129-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch @@ -1,11 +1,11 @@ -From 52368f047b0365b4b14565ec92e5770fcf62c463 Mon Sep 17 00:00:00 2001 +From c0b4e3b3ba563f5560520a639f972179352c3418 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 16 Jul 2016 19:11:17 -0500 Subject: [PATCH] Don't lookup game profiles that have no UUID and no name diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java -index f8b7d695c..a47a51a41 100644 +index f8b7d695c6..a47a51a412 100644 --- a/src/main/java/net/minecraft/server/UserCache.java +++ b/src/main/java/net/minecraft/server/UserCache.java @@ -87,7 +87,7 @@ public class UserCache { diff --git a/Spigot-Server-Patches/0131-More-informative-vehicle-moved-wrongly-message.patch b/Spigot-Server-Patches/0130-More-informative-vehicle-moved-wrongly-message.patch similarity index 90% rename from Spigot-Server-Patches/0131-More-informative-vehicle-moved-wrongly-message.patch rename to Spigot-Server-Patches/0130-More-informative-vehicle-moved-wrongly-message.patch index 2fed575944..3ecc36059e 100644 --- a/Spigot-Server-Patches/0131-More-informative-vehicle-moved-wrongly-message.patch +++ b/Spigot-Server-Patches/0130-More-informative-vehicle-moved-wrongly-message.patch @@ -1,11 +1,11 @@ -From 62b82aafb470f62c90f6b4af01f863508532a0c1 Mon Sep 17 00:00:00 2001 +From 5fe385d1c9048225ddd1b55d874c0782d527d01f Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 28 Jul 2016 17:58:53 -0500 Subject: [PATCH] More informative vehicle moved wrongly message diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 79fddc866..32cef8e30 100644 +index 9d705ed7d1..fc33baf2bf 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -354,7 +354,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0132-Re-track-players-that-dismount-from-other-players.patch b/Spigot-Server-Patches/0131-Re-track-players-that-dismount-from-other-players.patch similarity index 91% rename from Spigot-Server-Patches/0132-Re-track-players-that-dismount-from-other-players.patch rename to Spigot-Server-Patches/0131-Re-track-players-that-dismount-from-other-players.patch index 89fe9ca76b..1951d5dec2 100644 --- a/Spigot-Server-Patches/0132-Re-track-players-that-dismount-from-other-players.patch +++ b/Spigot-Server-Patches/0131-Re-track-players-that-dismount-from-other-players.patch @@ -1,11 +1,11 @@ -From 4bea6aa92d099eca90ad5acad6cba3724c67deed Mon Sep 17 00:00:00 2001 +From bcfa3dba803fbc577ffba930dab5c3e7617d6533 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 31 Jul 2016 16:33:03 -0500 Subject: [PATCH] Re-track players that dismount from other players diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 8b5cfc78a..5aafa4e23 100644 +index 27ea8984fb..982e18f8af 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -733,6 +733,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/Spigot-Server-Patches/0133-Add-setting-for-proxy-online-mode-status.patch b/Spigot-Server-Patches/0132-Add-setting-for-proxy-online-mode-status.patch similarity index 93% rename from Spigot-Server-Patches/0133-Add-setting-for-proxy-online-mode-status.patch rename to Spigot-Server-Patches/0132-Add-setting-for-proxy-online-mode-status.patch index 6709510ea1..34bef9c589 100644 --- a/Spigot-Server-Patches/0133-Add-setting-for-proxy-online-mode-status.patch +++ b/Spigot-Server-Patches/0132-Add-setting-for-proxy-online-mode-status.patch @@ -1,11 +1,11 @@ -From ee073c0208ecf659a81f02bd43bf65b4fe99699d Mon Sep 17 00:00:00 2001 +From 0a01c1e28d8e2357e9fa7cdf4682286cafc51820 Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Fri, 5 Aug 2016 01:03:08 +0200 Subject: [PATCH] Add setting for proxy online mode status diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 011cbf5e3..cf06f8ac3 100644 +index 011cbf5e31..cf06f8ac3c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -230,4 +230,9 @@ public class PaperConfig { @@ -19,7 +19,7 @@ index 011cbf5e3..cf06f8ac3 100644 + } } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index f13534917..85c7a96c5 100644 +index f135349174..85c7a96c5a 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -60,7 +60,8 @@ public class NameReferencingFileConverter { @@ -33,7 +33,7 @@ index f13534917..85c7a96c5 100644 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7cb795dd8..e125632ff 100644 +index 7cb795dd89..e125632ffe 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1357,7 +1357,8 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0134-Optimise-BlockStateEnum-hashCode-and-equals.patch b/Spigot-Server-Patches/0133-Optimise-BlockStateEnum-hashCode-and-equals.patch similarity index 96% rename from Spigot-Server-Patches/0134-Optimise-BlockStateEnum-hashCode-and-equals.patch rename to Spigot-Server-Patches/0133-Optimise-BlockStateEnum-hashCode-and-equals.patch index dbfc695357..407fd4450e 100644 --- a/Spigot-Server-Patches/0134-Optimise-BlockStateEnum-hashCode-and-equals.patch +++ b/Spigot-Server-Patches/0133-Optimise-BlockStateEnum-hashCode-and-equals.patch @@ -1,11 +1,11 @@ -From 8581e708e437ba0aedfd536cef77fcd7cadf7abe Mon Sep 17 00:00:00 2001 +From 300e97ecdb34c2c837b4610065ce834de7be0afb Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Fri, 19 Aug 2016 01:52:56 +0100 Subject: [PATCH] Optimise BlockStateEnum hashCode and equals diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java -index 725087de5..5e6cb5d7d 100644 +index 725087de59..5e6cb5d7de 100644 --- a/src/main/java/net/minecraft/server/BlockStateEnum.java +++ b/src/main/java/net/minecraft/server/BlockStateEnum.java @@ -17,6 +17,11 @@ public class BlockStateEnum & INamable> extends BlockState diff --git a/Spigot-Server-Patches/0135-Disable-ticking-of-snow-blocks.patch b/Spigot-Server-Patches/0134-Disable-ticking-of-snow-blocks.patch similarity index 89% rename from Spigot-Server-Patches/0135-Disable-ticking-of-snow-blocks.patch rename to Spigot-Server-Patches/0134-Disable-ticking-of-snow-blocks.patch index d4756dbaed..6839453fc7 100644 --- a/Spigot-Server-Patches/0135-Disable-ticking-of-snow-blocks.patch +++ b/Spigot-Server-Patches/0134-Disable-ticking-of-snow-blocks.patch @@ -1,11 +1,11 @@ -From 27d2d5a316ab5a3c70afafb1fec9c236c35b02ab Mon Sep 17 00:00:00 2001 +From 5f1f0cd80117d5f1a165875516edbd0a6f44510f Mon Sep 17 00:00:00 2001 From: killme Date: Tue, 30 Aug 2016 16:39:48 +0200 Subject: [PATCH] Disable ticking of snow blocks diff --git a/src/main/java/net/minecraft/server/BlockSnowBlock.java b/src/main/java/net/minecraft/server/BlockSnowBlock.java -index 0c8f9d37f..44ed65626 100644 +index 0c8f9d37fd..44ed656263 100644 --- a/src/main/java/net/minecraft/server/BlockSnowBlock.java +++ b/src/main/java/net/minecraft/server/BlockSnowBlock.java @@ -16,6 +16,8 @@ public class BlockSnowBlock extends Block { diff --git a/Spigot-Server-Patches/0136-Fix-AIOOBE-in-inventory-handling.patch b/Spigot-Server-Patches/0135-Fix-AIOOBE-in-inventory-handling.patch similarity index 91% rename from Spigot-Server-Patches/0136-Fix-AIOOBE-in-inventory-handling.patch rename to Spigot-Server-Patches/0135-Fix-AIOOBE-in-inventory-handling.patch index 84d61a6ec1..89f4951316 100644 --- a/Spigot-Server-Patches/0136-Fix-AIOOBE-in-inventory-handling.patch +++ b/Spigot-Server-Patches/0135-Fix-AIOOBE-in-inventory-handling.patch @@ -1,11 +1,11 @@ -From 6fabf2f21ad94320e5e9a0ce4662598185a03b2e Mon Sep 17 00:00:00 2001 +From 5b34a9ea3ba3c3732c57d3ff3703e608c4eef485 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sun, 4 Sep 2016 16:35:43 -0500 Subject: [PATCH] Fix AIOOBE in inventory handling diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 32cef8e30..b17540ecb 100644 +index fc33baf2bf..9ec898d164 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2085,7 +2085,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0137-Configurable-packet-in-spam-threshold.patch b/Spigot-Server-Patches/0136-Configurable-packet-in-spam-threshold.patch similarity index 94% rename from Spigot-Server-Patches/0137-Configurable-packet-in-spam-threshold.patch rename to Spigot-Server-Patches/0136-Configurable-packet-in-spam-threshold.patch index c4ff8687da..70077b324d 100644 --- a/Spigot-Server-Patches/0137-Configurable-packet-in-spam-threshold.patch +++ b/Spigot-Server-Patches/0136-Configurable-packet-in-spam-threshold.patch @@ -1,11 +1,11 @@ -From d7bbea2686479f0573da09c114879cc3c4768962 Mon Sep 17 00:00:00 2001 +From 337acb808b81ce7d4dbfe020a896347e929ec663 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 11 Sep 2016 14:30:57 -0500 Subject: [PATCH] Configurable packet in spam threshold diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index cf06f8ac3..2001175bf 100644 +index cf06f8ac3c..2001175bf8 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -235,4 +235,13 @@ public class PaperConfig { @@ -23,7 +23,7 @@ index cf06f8ac3..2001175bf 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index b17540ecb..a41fa05ee 100644 +index 9ec898d164..7baa679e16 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1186,13 +1186,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0138-Configurable-flying-kick-messages.patch b/Spigot-Server-Patches/0137-Configurable-flying-kick-messages.patch similarity index 94% rename from Spigot-Server-Patches/0138-Configurable-flying-kick-messages.patch rename to Spigot-Server-Patches/0137-Configurable-flying-kick-messages.patch index b307c26aca..ec5b92f0b3 100644 --- a/Spigot-Server-Patches/0138-Configurable-flying-kick-messages.patch +++ b/Spigot-Server-Patches/0137-Configurable-flying-kick-messages.patch @@ -1,11 +1,11 @@ -From 1f456ac80600eb29d13fd5f4eeec395f6a3a98bb Mon Sep 17 00:00:00 2001 +From d69854a0718d761e7e8a5bf74c3716a1f64a6635 Mon Sep 17 00:00:00 2001 From: kashike Date: Tue, 20 Sep 2016 00:58:01 +0000 Subject: [PATCH] Configurable flying kick messages diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 2001175bf..621c585e7 100644 +index 2001175bf8..621c585e7e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -244,4 +244,11 @@ public class PaperConfig { @@ -21,7 +21,7 @@ index 2001175bf..621c585e7 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index a41fa05ee..1f2cfbc92 100644 +index 7baa679e16..fc4e927d67 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -144,6 +144,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0138-Auto-Save-Improvements.patch similarity index 97% rename from Spigot-Server-Patches/0139-Auto-Save-Improvements.patch rename to Spigot-Server-Patches/0138-Auto-Save-Improvements.patch index 1f2cb88d02..b921f38e54 100644 --- a/Spigot-Server-Patches/0139-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0138-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From d90131ced1d9d0e53f7c997d16e8ebffb3c3a761 Mon Sep 17 00:00:00 2001 +From aabf1de6eaa18e36ab9b50c24db1b2f2ec369eda Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -12,7 +12,7 @@ Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and Adds incremental player auto saving too diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 621c585e7..459c86bce 100644 +index 621c585e7e..459c86bce2 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -251,4 +251,15 @@ public class PaperConfig { @@ -32,7 +32,7 @@ index 621c585e7..459c86bce 100644 + } } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0e6c18b32..c182ceffb 100644 +index 0e6c18b327..c182ceffb1 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,6 +2,7 @@ package com.destroystokyo.paper; @@ -64,7 +64,7 @@ index 0e6c18b32..c182ceffb 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index c27073d27..06d6814b8 100644 +index c27073d27c..06d6814b83 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -52,9 +52,9 @@ public class Chunk implements IChunkAccess { @@ -96,7 +96,7 @@ index c27073d27..06d6814b8 100644 public boolean isEmpty() { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 4f9ece9e4..afeb0685b 100644 +index 4f9ece9e47..afeb0685b0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -1,5 +1,6 @@ @@ -116,7 +116,7 @@ index 4f9ece9e4..afeb0685b 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 982e18f8a..1879c3238 100644 +index 982e18f8af..1879c32381 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -38,6 +38,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -128,7 +128,7 @@ index 982e18f8a..1879c3238 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5f17ec1e9..94df23c31 100644 +index 5f17ec1e9d..94df23c31f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -144,6 +144,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -175,7 +175,7 @@ index 5f17ec1e9..94df23c31 100644 this.methodProfiler.a("snooper"); if (getSnooperEnabled() && !this.j.d() && this.ticks > 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index d0c547cc9..12f6812d6 100644 +index d0c547cc99..12f6812d67 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -341,6 +341,7 @@ public abstract class PlayerList { @@ -214,7 +214,7 @@ index d0c547cc9..12f6812d6 100644 public WhiteList getWhitelist() { return this.whitelist; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 96002184b..bf07155bc 100644 +index 96002184bb..bf07155bc1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0140-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0139-Chunk-registration-fixes.patch similarity index 90% rename from Spigot-Server-Patches/0140-Chunk-registration-fixes.patch rename to Spigot-Server-Patches/0139-Chunk-registration-fixes.patch index 3fbfc4895c..c14f5dea3a 100644 --- a/Spigot-Server-Patches/0140-Chunk-registration-fixes.patch +++ b/Spigot-Server-Patches/0139-Chunk-registration-fixes.patch @@ -1,4 +1,4 @@ -From be60b6d44fc147afab85cfd2e75313fd053fd746 Mon Sep 17 00:00:00 2001 +From 077b1083946830fd30de8b44913abf39100c97a8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 22:54:28 -0400 Subject: [PATCH] Chunk registration fixes @@ -8,7 +8,7 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr Keep them consistent diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 45ab70167..5d3378be0 100644 +index 45ab70167a..5d3378be0b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1474,7 +1474,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0141-Remove-FishingHook-reference-on-Craft-Entity-removal.patch b/Spigot-Server-Patches/0140-Remove-FishingHook-reference-on-Craft-Entity-removal.patch similarity index 89% rename from Spigot-Server-Patches/0141-Remove-FishingHook-reference-on-Craft-Entity-removal.patch rename to Spigot-Server-Patches/0140-Remove-FishingHook-reference-on-Craft-Entity-removal.patch index 6f49382da0..56a80ece40 100644 --- a/Spigot-Server-Patches/0141-Remove-FishingHook-reference-on-Craft-Entity-removal.patch +++ b/Spigot-Server-Patches/0140-Remove-FishingHook-reference-on-Craft-Entity-removal.patch @@ -1,11 +1,11 @@ -From e05148f8cd85509c3dfa6580961b625e76b5ba9e Mon Sep 17 00:00:00 2001 +From 1a602000612c28f2376c093593250ff851542acb Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 16 Jun 2016 00:17:23 -0400 Subject: [PATCH] Remove FishingHook reference on Craft Entity removal diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java -index 8392b16b3..752b56435 100644 +index 8392b16b3b..752b56435d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java @@ -62,4 +62,15 @@ public class CraftFishHook extends AbstractProjectile implements FishHook { diff --git a/Spigot-Server-Patches/0142-Auto-fix-bad-Y-levels-on-player-login.patch b/Spigot-Server-Patches/0141-Auto-fix-bad-Y-levels-on-player-login.patch similarity index 90% rename from Spigot-Server-Patches/0142-Auto-fix-bad-Y-levels-on-player-login.patch rename to Spigot-Server-Patches/0141-Auto-fix-bad-Y-levels-on-player-login.patch index 767b7f982a..b16c02adcf 100644 --- a/Spigot-Server-Patches/0142-Auto-fix-bad-Y-levels-on-player-login.patch +++ b/Spigot-Server-Patches/0141-Auto-fix-bad-Y-levels-on-player-login.patch @@ -1,4 +1,4 @@ -From 14bdfe423406bd73328a42edff706d053538a9e9 Mon Sep 17 00:00:00 2001 +From a079a95c1d916ad191338fb5fad68745d9cf1558 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 23:48:39 -0400 Subject: [PATCH] Auto fix bad Y levels on player login @@ -6,7 +6,7 @@ Subject: [PATCH] Auto fix bad Y levels on player login Bring down to a saner Y level if super high, as this can cause the server to crash diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index f5fae7ba8..dc32dc80d 100644 +index 1879c32381..b76c28147b 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -199,6 +199,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/Spigot-Server-Patches/0143-Disable-Vanilla-Chunk-GC.patch b/Spigot-Server-Patches/0142-Disable-Vanilla-Chunk-GC.patch similarity index 92% rename from Spigot-Server-Patches/0143-Disable-Vanilla-Chunk-GC.patch rename to Spigot-Server-Patches/0142-Disable-Vanilla-Chunk-GC.patch index ebbf325fc7..559e3669c8 100644 --- a/Spigot-Server-Patches/0143-Disable-Vanilla-Chunk-GC.patch +++ b/Spigot-Server-Patches/0142-Disable-Vanilla-Chunk-GC.patch @@ -1,4 +1,4 @@ -From 42f903c1bbf57ab046c7bb5b730bc04b9ea9f691 Mon Sep 17 00:00:00 2001 +From 0f4827d2c74c4372c38edf9a701a45ed926c67b7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 26 Sep 2016 01:51:30 -0400 Subject: [PATCH] Disable Vanilla Chunk GC @@ -6,7 +6,7 @@ Subject: [PATCH] Disable Vanilla Chunk GC Bukkit has its own system for this. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 72b3a6d40..e766e2536 100644 +index bf07155bc1..8f6ce6bf1a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -889,7 +889,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0144-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0143-Option-to-remove-corrupt-tile-entities.patch similarity index 93% rename from Spigot-Server-Patches/0144-Option-to-remove-corrupt-tile-entities.patch rename to Spigot-Server-Patches/0143-Option-to-remove-corrupt-tile-entities.patch index 0445b2649d..1804e0f798 100644 --- a/Spigot-Server-Patches/0144-Option-to-remove-corrupt-tile-entities.patch +++ b/Spigot-Server-Patches/0143-Option-to-remove-corrupt-tile-entities.patch @@ -1,11 +1,11 @@ -From 2a9a58bbd5fc82a274e2189b2fd43d7719e6c64c Mon Sep 17 00:00:00 2001 +From 2a52beed13f3f3eeccccaec83bb210f0c10aad43 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 5 Oct 2016 16:27:36 -0500 Subject: [PATCH] Option to remove corrupt tile entities diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index c182ceffb..9a2ec0793 100644 +index c182ceffb1..9a2ec07939 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -314,4 +314,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index c182ceffb..9a2ec0793 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 06d6814b8..7a797bef0 100644 +index 06d6814b83..7a797bef0d 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -829,6 +829,12 @@ public class Chunk implements IChunkAccess { diff --git a/Spigot-Server-Patches/0145-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0144-Add-EntityZapEvent.patch similarity index 96% rename from Spigot-Server-Patches/0145-Add-EntityZapEvent.patch rename to Spigot-Server-Patches/0144-Add-EntityZapEvent.patch index 7dfee18bd6..7550375684 100644 --- a/Spigot-Server-Patches/0145-Add-EntityZapEvent.patch +++ b/Spigot-Server-Patches/0144-Add-EntityZapEvent.patch @@ -1,11 +1,11 @@ -From d2f8d17d9f237442ffd96055011475ecaf059e51 Mon Sep 17 00:00:00 2001 +From e858d6c03e2ac879054dceb8daa3ea41be42c4ca Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Sun, 16 Oct 2016 23:19:30 -0700 Subject: [PATCH] Add EntityZapEvent diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index 286382399f..2c7677b480 100644 +index 34b6b01a30..670f26c827 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -152,6 +152,12 @@ public class EntityPig extends EntityAnimal { @@ -22,7 +22,7 @@ index 286382399f..2c7677b480 100644 if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) { return; diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 6c66f7deb5..f14d118427 100644 +index 32893a32c9..45df38bad4 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -610,6 +610,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { diff --git a/Spigot-Server-Patches/0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/Spigot-Server-Patches/0145-Don-t-load-Chunks-from-Hoppers-and-other-things.patch similarity index 94% rename from Spigot-Server-Patches/0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch rename to Spigot-Server-Patches/0145-Don-t-load-Chunks-from-Hoppers-and-other-things.patch index 3aa6029cf5..9eaee7704f 100644 --- a/Spigot-Server-Patches/0146-Don-t-load-Chunks-from-Hoppers-and-other-things.patch +++ b/Spigot-Server-Patches/0145-Don-t-load-Chunks-from-Hoppers-and-other-things.patch @@ -1,4 +1,4 @@ -From c6e872685630cb2732c1f34b2f53d95867fcea05 Mon Sep 17 00:00:00 2001 +From 6f5410680ed1d35082625a9c84be695294046115 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Nov 2016 20:28:12 -0400 Subject: [PATCH] Don't load Chunks from Hoppers and other things @@ -13,7 +13,7 @@ This of course is undesirable, so just return the loaded side as "primary" and treat it as a single chest if the other sides are unloaded diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java -index 1ad39aca3..7262c2b19 100644 +index 1ad39aca3b..7262c2b19f 100644 --- a/src/main/java/net/minecraft/server/BlockChest.java +++ b/src/main/java/net/minecraft/server/BlockChest.java @@ -196,7 +196,12 @@ public class BlockChest extends BlockTileEntity implements IFluidSource, IFluidC diff --git a/Spigot-Server-Patches/0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch b/Spigot-Server-Patches/0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch similarity index 94% rename from Spigot-Server-Patches/0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch rename to Spigot-Server-Patches/0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch index fd8e7a45ef..30b8f1bef2 100644 --- a/Spigot-Server-Patches/0147-Prevent-Auto-Save-if-Save-Queue-is-full.patch +++ b/Spigot-Server-Patches/0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch @@ -1,4 +1,4 @@ -From 821c5c8577518add23e8a91fec1d7dc1ca81d7f2 Mon Sep 17 00:00:00 2001 +From a3cbf1ef9b9bef9fb1dc6f3b8aaf989d380cc04b Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Nov 2016 21:52:22 -0400 Subject: [PATCH] Prevent Auto Save if Save Queue is full @@ -7,7 +7,7 @@ If the save queue already has 50 (configurable) of chunks pending, then avoid processing auto save (which would add more) diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 9a2ec0793..f88444c7e 100644 +index 9a2ec07939..f88444c7e7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -315,6 +315,11 @@ public class PaperWorldConfig { @@ -23,7 +23,7 @@ index 9a2ec0793..f88444c7e 100644 private void removeCorruptTEs() { removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false); diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index afeb0685b..a4c4a9486 100644 +index afeb0685b0..a4c4a9486b 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -249,6 +249,14 @@ public class ChunkProviderServer implements IChunkProvider { @@ -51,7 +51,7 @@ index afeb0685b..a4c4a9486 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 2f1488ee5..859148cb8 100644 +index 2f1488ee53..859148cb86 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -137,6 +137,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { diff --git a/Spigot-Server-Patches/0148-Chunk-Save-Stats-Debug-Option.patch b/Spigot-Server-Patches/0147-Chunk-Save-Stats-Debug-Option.patch similarity index 97% rename from Spigot-Server-Patches/0148-Chunk-Save-Stats-Debug-Option.patch rename to Spigot-Server-Patches/0147-Chunk-Save-Stats-Debug-Option.patch index 1fc1f7bd6d..6f176a9d11 100644 --- a/Spigot-Server-Patches/0148-Chunk-Save-Stats-Debug-Option.patch +++ b/Spigot-Server-Patches/0147-Chunk-Save-Stats-Debug-Option.patch @@ -1,4 +1,4 @@ -From 908a149ec4d6d824d1457eb2745f45e5afbfb942 Mon Sep 17 00:00:00 2001 +From 3bfb26feb30df2fd52c8d8977140a3e4a5348349 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Nov 2016 02:12:10 -0400 Subject: [PATCH] Chunk Save Stats Debug Option @@ -8,7 +8,7 @@ Adds a command line flag to enable stats on how chunk saves are processing. Stats on current queue, how many was processed and how many were queued. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index a4c4a9486..4be7173bf 100644 +index a4c4a9486b..4be7173bf2 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -36,6 +36,11 @@ public class ChunkProviderServer implements IChunkProvider { @@ -55,7 +55,7 @@ index a4c4a9486..4be7173bf 100644 return false; } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 859148cb8..ea8684747 100644 +index 859148cb86..ea8684747d 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -137,7 +137,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { diff --git a/Spigot-Server-Patches/0149-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch b/Spigot-Server-Patches/0148-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch similarity index 94% rename from Spigot-Server-Patches/0149-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch rename to Spigot-Server-Patches/0148-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch index ffeb24b9a2..662524d678 100644 --- a/Spigot-Server-Patches/0149-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch +++ b/Spigot-Server-Patches/0148-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch @@ -1,11 +1,11 @@ -From ede8e8d3f9e7c61a406433dd867cb320b744d3e1 Mon Sep 17 00:00:00 2001 +From 0e73fa9632dbbe4ec144af5f0b97994773f52470 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 12 Nov 2016 23:25:22 -0600 Subject: [PATCH] Filter bad data from ArmorStand and SpawnEgg items diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index f88444c7e..f64a5ef35 100644 +index f88444c7e7..f64a5ef35f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -3,6 +3,7 @@ package com.destroystokyo.paper; @@ -30,7 +30,7 @@ index f88444c7e..f64a5ef35 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 7e5a2775a..ad5ac66ac 100644 +index 33bc46b054..4e1b74ebe4 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -228,6 +228,15 @@ public class EntityFallingBlock extends Entity { diff --git a/Spigot-Server-Patches/0150-Cache-user-authenticator-threads.patch b/Spigot-Server-Patches/0149-Cache-user-authenticator-threads.patch similarity index 96% rename from Spigot-Server-Patches/0150-Cache-user-authenticator-threads.patch rename to Spigot-Server-Patches/0149-Cache-user-authenticator-threads.patch index c370520266..06a5090fba 100644 --- a/Spigot-Server-Patches/0150-Cache-user-authenticator-threads.patch +++ b/Spigot-Server-Patches/0149-Cache-user-authenticator-threads.patch @@ -1,11 +1,11 @@ -From 85f2e0489f30bf8ab598150d903f060544c593ea Mon Sep 17 00:00:00 2001 +From 5932dddd728efb8aad079283e90ce638dfe95471 Mon Sep 17 00:00:00 2001 From: vemacs Date: Wed, 23 Nov 2016 08:31:45 -0500 Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 2f6d79b03..89a11a496 100644 +index a22f4c55e9..b6e8296824 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -93,6 +93,12 @@ public class LoginListener implements PacketLoginInListener, ITickable { diff --git a/Spigot-Server-Patches/0151-Optimize-Network-Queue.patch b/Spigot-Server-Patches/0150-Optimize-Network-Queue.patch similarity index 90% rename from Spigot-Server-Patches/0151-Optimize-Network-Queue.patch rename to Spigot-Server-Patches/0150-Optimize-Network-Queue.patch index 70a98027dd..13bfaab9f9 100644 --- a/Spigot-Server-Patches/0151-Optimize-Network-Queue.patch +++ b/Spigot-Server-Patches/0150-Optimize-Network-Queue.patch @@ -1,11 +1,11 @@ -From 2f10cd1f97fd59757d6e3d452cc8afe6e36fb3ab Mon Sep 17 00:00:00 2001 +From e1b901c4c6129afd133c9364c4996e61b03ab618 Mon Sep 17 00:00:00 2001 From: vemacs Date: Wed, 23 Nov 2016 12:54:56 -0500 Subject: [PATCH] Optimize Network Queue diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bf020293d..f81ff5628 100644 +index 94df23c31f..c97953a2fd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -118,7 +118,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati diff --git a/Spigot-Server-Patches/0152-Optimise-removeQueue.patch b/Spigot-Server-Patches/0151-Optimise-removeQueue.patch similarity index 96% rename from Spigot-Server-Patches/0152-Optimise-removeQueue.patch rename to Spigot-Server-Patches/0151-Optimise-removeQueue.patch index d9556926df..aa0576713c 100644 --- a/Spigot-Server-Patches/0152-Optimise-removeQueue.patch +++ b/Spigot-Server-Patches/0151-Optimise-removeQueue.patch @@ -1,11 +1,11 @@ -From 79801a202521b7cd79bdb5e0c2389e6993677099 Mon Sep 17 00:00:00 2001 +From 046d278b356f8850334858fdf7c1e4b1048e667b Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Fri, 25 Nov 2016 13:22:40 +0000 Subject: [PATCH] Optimise removeQueue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index dc32dc80d..cf2a39384 100644 +index b76c28147b..4bde378afb 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -5,8 +5,10 @@ import com.mojang.authlib.GameProfile; diff --git a/Spigot-Server-Patches/0153-Allow-Reloading-of-Command-Aliases.patch b/Spigot-Server-Patches/0152-Allow-Reloading-of-Command-Aliases.patch similarity index 93% rename from Spigot-Server-Patches/0153-Allow-Reloading-of-Command-Aliases.patch rename to Spigot-Server-Patches/0152-Allow-Reloading-of-Command-Aliases.patch index 2f87c93386..2ab039337e 100644 --- a/Spigot-Server-Patches/0153-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-Server-Patches/0152-Allow-Reloading-of-Command-Aliases.patch @@ -1,4 +1,4 @@ -From 8c64658c0fc06e452f61e18f3e5c5191edd1890b Mon Sep 17 00:00:00 2001 +From f1900c57c2495acc1a0747ef052e9123a535936e Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 28 Nov 2016 10:21:52 -0500 Subject: [PATCH] Allow Reloading of Command Aliases @@ -6,7 +6,7 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e125632ff..d7247a1ec 100644 +index e125632ffe..d7247a1ec9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1968,5 +1968,24 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0154-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0153-Add-source-to-PlayerExpChangeEvent.patch similarity index 97% rename from Spigot-Server-Patches/0154-Add-source-to-PlayerExpChangeEvent.patch rename to Spigot-Server-Patches/0153-Add-source-to-PlayerExpChangeEvent.patch index 57da2beb85..1b69b61352 100644 --- a/Spigot-Server-Patches/0154-Add-source-to-PlayerExpChangeEvent.patch +++ b/Spigot-Server-Patches/0153-Add-source-to-PlayerExpChangeEvent.patch @@ -1,4 +1,4 @@ -From f14b1122c926551e727b08ae7e699917c7fec942 Mon Sep 17 00:00:00 2001 +From fb639b8ca21b61e7043169b518c47f59b200e512 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Thu, 8 Sep 2016 08:48:33 -0700 Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/Spigot-Server-Patches/0155-Optimize-World.isLoaded-BlockPosition-Z.patch b/Spigot-Server-Patches/0154-Optimize-World.isLoaded-BlockPosition-Z.patch similarity index 90% rename from Spigot-Server-Patches/0155-Optimize-World.isLoaded-BlockPosition-Z.patch rename to Spigot-Server-Patches/0154-Optimize-World.isLoaded-BlockPosition-Z.patch index 256435b374..425a04ac3b 100644 --- a/Spigot-Server-Patches/0155-Optimize-World.isLoaded-BlockPosition-Z.patch +++ b/Spigot-Server-Patches/0154-Optimize-World.isLoaded-BlockPosition-Z.patch @@ -1,4 +1,4 @@ -From 28b408d7f00001f367ebc48d66e6cc33510fafdc Mon Sep 17 00:00:00 2001 +From 7a5bea01249d8a9da6a2ac09ae808e0baeb1e9fa Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 2 Dec 2016 00:11:43 -0500 Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z Reduce method invocations for World.isLoaded(BlockPosition)Z diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 04b5521cd..ca7c23f54 100644 +index 5d3378be0b..92070c9325 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -273,6 +273,10 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0156-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0155-Don-t-let-fishinghooks-use-portals.patch similarity index 91% rename from Spigot-Server-Patches/0156-Don-t-let-fishinghooks-use-portals.patch rename to Spigot-Server-Patches/0155-Don-t-let-fishinghooks-use-portals.patch index be6e24e4c3..9bba7a93f5 100644 --- a/Spigot-Server-Patches/0156-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0155-Don-t-let-fishinghooks-use-portals.patch @@ -1,11 +1,11 @@ -From 3b917e4772c474dd49cf79fb2fcc46cbddf928bf Mon Sep 17 00:00:00 2001 +From 458307a35436678f93443b917ff19d94e341a212 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 16 Dec 2016 16:03:19 -0600 Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 34c617958..c7ef67a52 100644 +index e56f458ca9..167cbb2820 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -156,7 +156,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,7 +18,7 @@ index 34c617958..c7ef67a52 100644 public int dimension; protected BlockPosition aq; diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 866f41980..8630184d4 100644 +index 7c119282b9..4f801e8fec 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -190,6 +190,12 @@ public class EntityFishingHook extends Entity { diff --git a/Spigot-Server-Patches/0157-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0156-Add-ProjectileCollideEvent.patch similarity index 98% rename from Spigot-Server-Patches/0157-Add-ProjectileCollideEvent.patch rename to Spigot-Server-Patches/0156-Add-ProjectileCollideEvent.patch index 4f78170faf..f1bb4181d4 100644 --- a/Spigot-Server-Patches/0157-Add-ProjectileCollideEvent.patch +++ b/Spigot-Server-Patches/0156-Add-ProjectileCollideEvent.patch @@ -1,4 +1,4 @@ -From 180ca0b7f1381aea69c6be70f5022c8821be8534 Mon Sep 17 00:00:00 2001 +From 7b0507da629c3fcacfddd3c1da01a7bbf86fd8d8 Mon Sep 17 00:00:00 2001 From: Techcable Date: Fri, 16 Dec 2016 21:25:39 -0600 Subject: [PATCH] Add ProjectileCollideEvent @@ -46,7 +46,7 @@ index 3e3619d79f..58cc4824cf 100644 this.a(movingobjectposition); diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 8630184d4b..7440e4a2a9 100644 +index 4f801e8fec..1804a49de9 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -245,6 +245,16 @@ public class EntityFishingHook extends Entity { diff --git a/Spigot-Server-Patches/0158-Prevent-Pathfinding-out-of-World-Border.patch b/Spigot-Server-Patches/0157-Prevent-Pathfinding-out-of-World-Border.patch similarity index 93% rename from Spigot-Server-Patches/0158-Prevent-Pathfinding-out-of-World-Border.patch rename to Spigot-Server-Patches/0157-Prevent-Pathfinding-out-of-World-Border.patch index 2c7d94bbb1..46042786a5 100644 --- a/Spigot-Server-Patches/0158-Prevent-Pathfinding-out-of-World-Border.patch +++ b/Spigot-Server-Patches/0157-Prevent-Pathfinding-out-of-World-Border.patch @@ -1,4 +1,4 @@ -From 4bfd853ce5f453c11bf3376a7c25a66964be68be Mon Sep 17 00:00:00 2001 +From 44e9f98e750fe8171d75df30354e63ef03e5b5ba Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Dec 2016 23:07:42 -0500 Subject: [PATCH] Prevent Pathfinding out of World Border @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent Pathfinding out of World Border This prevents Entities from trying to run outside of the World Border diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 0c5215657..05e0545fd 100644 +index 76d1f4bd21..76b2787bae 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java @@ -73,6 +73,7 @@ public abstract class NavigationAbstract { @@ -26,7 +26,7 @@ index 0c5215657..05e0545fd 100644 if (this.c != null && !this.c.b() && blockposition.equals(this.q)) { return this.c; diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java -index 4763c30a8..ec5386fd5 100644 +index 4763c30a81..ec5386fd50 100644 --- a/src/main/java/net/minecraft/server/WorldBorder.java +++ b/src/main/java/net/minecraft/server/WorldBorder.java @@ -29,7 +29,7 @@ public class WorldBorder { diff --git a/Spigot-Server-Patches/0159-Bound-Treasure-Maps-to-World-Border.patch b/Spigot-Server-Patches/0158-Bound-Treasure-Maps-to-World-Border.patch similarity index 95% rename from Spigot-Server-Patches/0159-Bound-Treasure-Maps-to-World-Border.patch rename to Spigot-Server-Patches/0158-Bound-Treasure-Maps-to-World-Border.patch index 981283a738..a092defa2b 100644 --- a/Spigot-Server-Patches/0159-Bound-Treasure-Maps-to-World-Border.patch +++ b/Spigot-Server-Patches/0158-Bound-Treasure-Maps-to-World-Border.patch @@ -1,4 +1,4 @@ -From c562348ff2e519c8f456cdf7966730a3391cea5b Mon Sep 17 00:00:00 2001 +From 2251066897e6922fa76254032d8420e91fb16eca Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 20 Dec 2016 15:15:11 -0500 Subject: [PATCH] Bound Treasure Maps to World Border @@ -11,7 +11,7 @@ that is outside happens to be closer, but unreachable, yet another reachable one is in border that would of been missed. diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java -index 263ea953a..8b8b468f3 100644 +index 263ea953ad..8b8b468f39 100644 --- a/src/main/java/net/minecraft/server/StructureGenerator.java +++ b/src/main/java/net/minecraft/server/StructureGenerator.java @@ -124,6 +124,7 @@ public abstract class StructureGenerator @@ -23,7 +23,7 @@ index 263ea953a..8b8b468f3 100644 if (structurestart != StructureGenerator.a) { diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java -index ec5386fd5..08424a88b 100644 +index ec5386fd50..08424a88bf 100644 --- a/src/main/java/net/minecraft/server/WorldBorder.java +++ b/src/main/java/net/minecraft/server/WorldBorder.java @@ -33,6 +33,18 @@ public class WorldBorder { diff --git a/Spigot-Server-Patches/0160-Configurable-Cartographer-Treasure-Maps.patch b/Spigot-Server-Patches/0159-Configurable-Cartographer-Treasure-Maps.patch similarity index 93% rename from Spigot-Server-Patches/0160-Configurable-Cartographer-Treasure-Maps.patch rename to Spigot-Server-Patches/0159-Configurable-Cartographer-Treasure-Maps.patch index edc9d45512..fa3eea38e5 100644 --- a/Spigot-Server-Patches/0160-Configurable-Cartographer-Treasure-Maps.patch +++ b/Spigot-Server-Patches/0159-Configurable-Cartographer-Treasure-Maps.patch @@ -1,4 +1,4 @@ -From ec6f484932e8d2c5f039245e18942fa4c02fc7fb Mon Sep 17 00:00:00 2001 +From 964311e665d25efb129818b19d3c3ac8630214d4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 20 Dec 2016 15:26:27 -0500 Subject: [PATCH] Configurable Cartographer Treasure Maps @@ -9,7 +9,7 @@ Also allow turning off treasure maps all together as they can eat up Map ID's which are limited in quantity. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index f64a5ef35..5df8b1143 100644 +index f64a5ef35f..5df8b1143f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -333,4 +333,14 @@ public class PaperWorldConfig { @@ -28,7 +28,7 @@ index f64a5ef35..5df8b1143 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index abfd9adbd..dcc14aa11 100644 +index 45df38bad4..e8fdf86250 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -755,6 +755,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { diff --git a/Spigot-Server-Patches/0161-Optimize-ItemStack.isEmpty.patch b/Spigot-Server-Patches/0160-Optimize-ItemStack.isEmpty.patch similarity index 89% rename from Spigot-Server-Patches/0161-Optimize-ItemStack.isEmpty.patch rename to Spigot-Server-Patches/0160-Optimize-ItemStack.isEmpty.patch index 6a20ec00f1..72003cc744 100644 --- a/Spigot-Server-Patches/0161-Optimize-ItemStack.isEmpty.patch +++ b/Spigot-Server-Patches/0160-Optimize-ItemStack.isEmpty.patch @@ -1,4 +1,4 @@ -From a568807b1275842ccd23458e723c4bcaac760497 Mon Sep 17 00:00:00 2001 +From 4dc090c70a0b01357032d2293e26ecb341779756 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Dec 2016 03:48:29 -0500 Subject: [PATCH] Optimize ItemStack.isEmpty() @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize ItemStack.isEmpty() Remove hashMap lookup every check, simplify code to remove ternary diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index ed714c2cc..ca169e113 100644 +index e120521611..023dd48a23 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -140,7 +140,7 @@ public final class ItemStack { diff --git a/Spigot-Server-Patches/0162-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0161-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 92% rename from Spigot-Server-Patches/0162-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to Spigot-Server-Patches/0161-Add-API-methods-to-control-if-armour-stands-can-move.patch index 47890bf920..0371f57d7e 100644 --- a/Spigot-Server-Patches/0162-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0161-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From 542ff3ee75511fdfb8bd5963063c428d43a82747 Mon Sep 17 00:00:00 2001 +From 733a688296bb6dd124969295ffb9238c561d6405 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index cf11a2225..578d96640 100644 +index cf11a2225b..578d966401 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -44,6 +44,7 @@ public class EntityArmorStand extends EntityLiving { @@ -31,7 +31,7 @@ index cf11a2225..578d96640 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 2b66a08ad..8a06cb165 100644 +index 2b66a08ade..8a06cb1656 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -211,4 +211,14 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { diff --git a/Spigot-Server-Patches/0163-Add-option-to-remove-invalid-statistics.patch b/Spigot-Server-Patches/0162-Add-option-to-remove-invalid-statistics.patch similarity index 94% rename from Spigot-Server-Patches/0163-Add-option-to-remove-invalid-statistics.patch rename to Spigot-Server-Patches/0162-Add-option-to-remove-invalid-statistics.patch index fe6c6d90d5..2ce48552ff 100644 --- a/Spigot-Server-Patches/0163-Add-option-to-remove-invalid-statistics.patch +++ b/Spigot-Server-Patches/0162-Add-option-to-remove-invalid-statistics.patch @@ -1,11 +1,11 @@ -From 2544e5bd92cf9529f315cd485c63960ee5bb9658 Mon Sep 17 00:00:00 2001 +From cecf8ef12df4777c1c8f69f7f6420609a352b043 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 20 Dec 2016 23:09:21 -0600 Subject: [PATCH] Add option to remove invalid statistics diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 459c86bce..ea6fcb39f 100644 +index 459c86bce2..ea6fcb39f4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -262,4 +262,13 @@ public class PaperConfig { @@ -23,7 +23,7 @@ index 459c86bce..ea6fcb39f 100644 + } } diff --git a/src/main/java/net/minecraft/server/ServerStatisticManager.java b/src/main/java/net/minecraft/server/ServerStatisticManager.java -index 172f72fd8..7ba12c23d 100644 +index 07e7db455b..34c57e26f4 100644 --- a/src/main/java/net/minecraft/server/ServerStatisticManager.java +++ b/src/main/java/net/minecraft/server/ServerStatisticManager.java @@ -83,6 +83,7 @@ public class ServerStatisticManager extends StatisticManager { diff --git a/Spigot-Server-Patches/0164-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0163-Properly-fix-item-duplication-bug.patch similarity index 91% rename from Spigot-Server-Patches/0164-Properly-fix-item-duplication-bug.patch rename to Spigot-Server-Patches/0163-Properly-fix-item-duplication-bug.patch index 3ad1c4ef4e..f716a2404f 100644 --- a/Spigot-Server-Patches/0164-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0163-Properly-fix-item-duplication-bug.patch @@ -1,4 +1,4 @@ -From 92dd98b36207e4e5aa69b572e52cf01641543621 Mon Sep 17 00:00:00 2001 +From 5f881637843edb83974634b9c7ed501943135071 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Tue, 27 Dec 2016 01:57:57 +0000 Subject: [PATCH] Properly fix item duplication bug @@ -6,7 +6,7 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 4bde378af..7059fc118 100644 +index 4bde378afb..7059fc1187 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1525,7 +1525,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -19,7 +19,7 @@ index 4bde378af..7059fc118 100644 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index fc4e927d6..9ac86f7af 100644 +index fc4e927d67..9ac86f7af2 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2504,7 +2504,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0164-String-based-Action-Bar-API.patch similarity index 95% rename from Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch rename to Spigot-Server-Patches/0164-String-based-Action-Bar-API.patch index 759ae55c71..a15aabe5f4 100644 --- a/Spigot-Server-Patches/0165-String-based-Action-Bar-API.patch +++ b/Spigot-Server-Patches/0164-String-based-Action-Bar-API.patch @@ -1,11 +1,11 @@ -From 3d11f50f3781e08137517897b588503b5eede4d7 Mon Sep 17 00:00:00 2001 +From f5962e81f2d63910e83d54400b0173879b453d57 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 15:02:42 -0500 Subject: [PATCH] String based Action Bar API diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 70cdc3f10..381542e0d 100644 +index 70cdc3f102..381542e0d2 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,10 +1,13 @@ @@ -62,7 +62,7 @@ index 70cdc3f10..381542e0d 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dea59d3fa..a546f3118 100644 +index dea59d3fab..a546f3118e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -208,6 +208,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0166-Activation-Range-Improvements.patch b/Spigot-Server-Patches/0165-Activation-Range-Improvements.patch similarity index 96% rename from Spigot-Server-Patches/0166-Activation-Range-Improvements.patch rename to Spigot-Server-Patches/0165-Activation-Range-Improvements.patch index 4980f156d0..940b1b43c4 100644 --- a/Spigot-Server-Patches/0166-Activation-Range-Improvements.patch +++ b/Spigot-Server-Patches/0165-Activation-Range-Improvements.patch @@ -1,4 +1,4 @@ -From f99c9ad753cb27454bb9bbc36b4c9ba4d54027e2 Mon Sep 17 00:00:00 2001 +From 571ec9d52c313314df1280403dd225517047839b Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 22:38:06 -0500 Subject: [PATCH] Activation Range Improvements @@ -6,7 +6,7 @@ Subject: [PATCH] Activation Range Improvements Fixes and adds new Immunities to improve gameplay behavior diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java -index b34756769..53b25dd80 100644 +index b347567699..53b25dd805 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -6,6 +6,7 @@ import org.bukkit.event.entity.EntityUnleashEvent; @@ -18,7 +18,7 @@ index b34756769..53b25dd80 100644 private float b; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 8dbff3c37..3da4bc356 100644 +index 8dbff3c370..3da4bc356a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -74,7 +74,7 @@ public abstract class EntityLiving extends Entity { @@ -31,7 +31,7 @@ index 8dbff3c37..3da4bc356 100644 protected int ticksFarFromPlayer; protected float aZ; diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index bb86ecb2f..5cd8c3f28 100644 +index bb86ecb2fb..5cd8c3f288 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -363,6 +363,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -43,7 +43,7 @@ index bb86ecb2f..5cd8c3f28 100644 return this.bQ != null; } diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java -index a146a8b45..a19853463 100644 +index a146a8b459..a19853463c 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoal.java +++ b/src/main/java/net/minecraft/server/PathfinderGoal.java @@ -18,7 +18,10 @@ public abstract class PathfinderGoal { @@ -59,7 +59,7 @@ index a146a8b45..a19853463 100644 public void e() {} diff --git a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java -index d5c08aa7c..fe6570c88 100644 +index d5c08aa7cb..fe6570c88d 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java @@ -2,17 +2,24 @@ package net.minecraft.server; @@ -99,7 +99,7 @@ index d5c08aa7c..fe6570c88 100644 } } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e02647f80..cdbf769e7 100644 +index e02647f806..cdbf769e7b 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -20,6 +20,7 @@ import net.minecraft.server.EntityFireball; diff --git a/Spigot-Server-Patches/0167-Firework-API-s.patch b/Spigot-Server-Patches/0166-Firework-API-s.patch similarity index 96% rename from Spigot-Server-Patches/0167-Firework-API-s.patch rename to Spigot-Server-Patches/0166-Firework-API-s.patch index c6ab9a39c7..6b9f909308 100644 --- a/Spigot-Server-Patches/0167-Firework-API-s.patch +++ b/Spigot-Server-Patches/0166-Firework-API-s.patch @@ -1,11 +1,11 @@ -From 03ba9d6471507f90f994c073cb953104b14a9bf9 Mon Sep 17 00:00:00 2001 +From 9e4afcd7dd8a13723ed96074ecc3f71bef52f7d1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 28 Dec 2016 01:18:33 -0500 Subject: [PATCH] Firework API's diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java -index 4c2cdd4bc..abf8799c4 100644 +index 6e2592e96d..f9332d3fda 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -53,7 +53,7 @@ index 4c2cdd4bc..abf8799c4 100644 public boolean bk() { diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java -index 7b1d51e5a..1493d0999 100644 +index 5eae1724ed..d4420e68fb 100644 --- a/src/main/java/net/minecraft/server/ItemFireworks.java +++ b/src/main/java/net/minecraft/server/ItemFireworks.java @@ -19,6 +19,7 @@ public class ItemFireworks extends Item { @@ -73,7 +73,7 @@ index 7b1d51e5a..1493d0999 100644 if (!entityhuman.abilities.canInstantlyBuild) { itemstack.subtract(1); diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index e658816c2..0d69deb51 100644 +index e658816c24..0d69deb51c 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java @@ -108,7 +108,7 @@ public class NBTTagCompound implements NBTBase { @@ -86,7 +86,7 @@ index e658816c2..0d69deb51 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java -index 7b3b20682..b39e33f4f 100644 +index 7b3b206823..b39e33f4f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java @@ -1,6 +1,7 @@ diff --git a/Spigot-Server-Patches/0168-PlayerTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0167-PlayerTeleportEndGatewayEvent.patch similarity index 92% rename from Spigot-Server-Patches/0168-PlayerTeleportEndGatewayEvent.patch rename to Spigot-Server-Patches/0167-PlayerTeleportEndGatewayEvent.patch index 357eec5680..c4df78a8f8 100644 --- a/Spigot-Server-Patches/0168-PlayerTeleportEndGatewayEvent.patch +++ b/Spigot-Server-Patches/0167-PlayerTeleportEndGatewayEvent.patch @@ -1,4 +1,4 @@ -From dcd26cf78eb1be638e65f503ec57c45ad15a6b0b Mon Sep 17 00:00:00 2001 +From e2f315dc84a82b3d7a612787b73136bcb502495e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 31 Dec 2016 21:44:50 -0500 Subject: [PATCH] PlayerTeleportEndGatewayEvent @@ -6,7 +6,7 @@ Subject: [PATCH] PlayerTeleportEndGatewayEvent Allows you to access the Gateway being used in a teleport event diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -index bb9822799..c3d30dc94 100644 +index 9fd4ab6a7f..888bbd7a45 100644 --- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java +++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java @@ -126,7 +126,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick diff --git a/Spigot-Server-Patches/0169-ShulkerBox-Dupe-Prevention.patch b/Spigot-Server-Patches/0168-ShulkerBox-Dupe-Prevention.patch similarity index 90% rename from Spigot-Server-Patches/0169-ShulkerBox-Dupe-Prevention.patch rename to Spigot-Server-Patches/0168-ShulkerBox-Dupe-Prevention.patch index 1464ff67b4..7928c2ed67 100644 --- a/Spigot-Server-Patches/0169-ShulkerBox-Dupe-Prevention.patch +++ b/Spigot-Server-Patches/0168-ShulkerBox-Dupe-Prevention.patch @@ -1,4 +1,4 @@ -From aad88b0533769c7d6b63acdd216dda85afc81ffc Mon Sep 17 00:00:00 2001 +From 14c4520470eb40961776f706ffb916db46f2128e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 2 Jan 2017 16:32:56 -0500 Subject: [PATCH] ShulkerBox Dupe Prevention @@ -7,7 +7,7 @@ This ensures that Shulker Boxes can never drop their contents twice, and that the inventory is cleared incase it some how also got saved to the world. diff --git a/src/main/java/net/minecraft/server/BlockShulkerBox.java b/src/main/java/net/minecraft/server/BlockShulkerBox.java -index a823e7073..37ec634f6 100644 +index 82b4d82c0e..d00bd9d610 100644 --- a/src/main/java/net/minecraft/server/BlockShulkerBox.java +++ b/src/main/java/net/minecraft/server/BlockShulkerBox.java @@ -100,6 +100,7 @@ public class BlockShulkerBox extends BlockTileEntity { diff --git a/Spigot-Server-Patches/0170-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-Server-Patches/0169-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 93% rename from Spigot-Server-Patches/0170-Provide-E-TE-Chunk-count-stat-methods.patch rename to Spigot-Server-Patches/0169-Provide-E-TE-Chunk-count-stat-methods.patch index fdae65a9ac..92908aaaa1 100644 --- a/Spigot-Server-Patches/0170-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-Server-Patches/0169-Provide-E-TE-Chunk-count-stat-methods.patch @@ -1,4 +1,4 @@ -From 7fd2743b54acb9d73497c60fac89f8c2ab7b783d Mon Sep 17 00:00:00 2001 +From fc7de1415a8052d3d1eb76f878c5bcd34258c9bb Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:24:46 -0500 Subject: [PATCH] Provide E/TE/Chunk count stat methods @@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 90e260f3b..8b63192cf 100644 +index 90e260f3b3..8b63192cf9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -81,6 +81,29 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0171-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0170-Enforce-Sync-Player-Saves.patch similarity index 91% rename from Spigot-Server-Patches/0171-Enforce-Sync-Player-Saves.patch rename to Spigot-Server-Patches/0170-Enforce-Sync-Player-Saves.patch index dbc70c0181..904a4a8ae0 100644 --- a/Spigot-Server-Patches/0171-Enforce-Sync-Player-Saves.patch +++ b/Spigot-Server-Patches/0170-Enforce-Sync-Player-Saves.patch @@ -1,4 +1,4 @@ -From 0e2d3a5968ee223fd6d7c206a3393be137bd0046 Mon Sep 17 00:00:00 2001 +From c8cb88449adba448d0c187dca5d998dd2f22a236 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:41:58 -0500 Subject: [PATCH] Enforce Sync Player Saves @@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 12f6812d6..c8b5a610a 100644 +index 12f6812d67..c8b5a610aa 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1220,6 +1220,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0172-Enforce-Sync-Chunk-Unloads.patch b/Spigot-Server-Patches/0171-Enforce-Sync-Chunk-Unloads.patch similarity index 92% rename from Spigot-Server-Patches/0172-Enforce-Sync-Chunk-Unloads.patch rename to Spigot-Server-Patches/0171-Enforce-Sync-Chunk-Unloads.patch index 73e150c0d3..0ee1099acc 100644 --- a/Spigot-Server-Patches/0172-Enforce-Sync-Chunk-Unloads.patch +++ b/Spigot-Server-Patches/0171-Enforce-Sync-Chunk-Unloads.patch @@ -1,4 +1,4 @@ -From 52a8c651983adc960cd9028d41fad58b1db2e468 Mon Sep 17 00:00:00 2001 +From 43dcb62043ee21ca98b65960606e890140287243 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 16:06:44 -0500 Subject: [PATCH] Enforce Sync Chunk Unloads @@ -7,7 +7,7 @@ Unloading Chunks async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8b63192cf..86848543d 100644 +index 8b63192cf9..86848543d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -224,6 +224,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0173-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0172-Don-t-allow-entities-to-ride-themselves-572.patch similarity index 89% rename from Spigot-Server-Patches/0173-Don-t-allow-entities-to-ride-themselves-572.patch rename to Spigot-Server-Patches/0172-Don-t-allow-entities-to-ride-themselves-572.patch index 17ea7f498f..c7ffe47b0a 100644 --- a/Spigot-Server-Patches/0173-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0172-Don-t-allow-entities-to-ride-themselves-572.patch @@ -1,11 +1,11 @@ -From ed67deba02ff56017e9557fc956c66b39cf8c645 Mon Sep 17 00:00:00 2001 +From ff2027323bb780168321193a701b4328d3742544 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Sun, 8 Jan 2017 04:31:36 +0000 Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c7ef67a52..4bfc49076 100644 +index 167cbb2820..78b7b8be99 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2088,6 +2088,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0174-Fix-block-break-desync.patch b/Spigot-Server-Patches/0173-Fix-block-break-desync.patch similarity index 90% rename from Spigot-Server-Patches/0174-Fix-block-break-desync.patch rename to Spigot-Server-Patches/0173-Fix-block-break-desync.patch index a8c3956c54..d63d4d442c 100644 --- a/Spigot-Server-Patches/0174-Fix-block-break-desync.patch +++ b/Spigot-Server-Patches/0173-Fix-block-break-desync.patch @@ -1,11 +1,11 @@ -From 9d17fa0376681765789ccddcb32b0310bdf1ed67 Mon Sep 17 00:00:00 2001 +From e84c33f296ef5dda7c89380053e5609ea81c9736 Mon Sep 17 00:00:00 2001 From: Michael Himing Date: Sun, 8 Jan 2017 18:50:35 +1100 Subject: [PATCH] Fix block break desync diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f26636e30..aa93b5945 100644 +index 9ac86f7af2..62b7d86e17 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1145,6 +1145,8 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -18,5 +18,5 @@ index f26636e30..aa93b5945 100644 } else if (blockposition.getY() >= this.minecraftServer.getMaxBuildHeight()) { return; -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 96% rename from Spigot-Server-Patches/0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to Spigot-Server-Patches/0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index dde65c5e8d..402fd9d558 100644 --- a/Spigot-Server-Patches/0175-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From cf91146dbca0cbe6b854ea98e00be7a4bf6de4c6 Mon Sep 17 00:00:00 2001 +From a2f619363cdd57c1db00dd504b5ed68e2218267d 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 43feccef8..e820bfbd5 100644 +index 43feccef8f..e820bfbd56 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -471,13 +471,13 @@ public class Block implements IMaterial { @@ -28,7 +28,7 @@ index 43feccef8..e820bfbd5 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 131f8a515..d8ab87e21 100644 +index 131f8a5156..d8ab87e216 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 131f8a515..d8ab87e21 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 3c888d601..79d80596d 100644 +index 3c888d6015..79d80596df 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 3c888d601..79d80596d 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 1804a49de..82e4d2eab 100644 +index 1804a49de9..82e4d2eab6 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 1804a49de..82e4d2eab 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.D)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 3da4bc356..f9a76ce27 100644 +index 3da4bc356a..f9a76ce27c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -353,7 +353,8 @@ public abstract class EntityLiving extends Entity { @@ -147,7 +147,7 @@ index 3da4bc356..f9a76ce27 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 a5e1939e0..e73dba09a 100644 +index a5e1939e05..e73dba09a6 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 a5e1939e0..e73dba09a 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index e8fdf8625..b51543ea7 100644 +index e8fdf86250..b51543ea7a 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 e8fdf8625..b51543ea7 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 4a128f707..b87096467 100644 +index 4a128f707b..b870964674 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 4a128f707..b87096467 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 545a98302..55ec29bd2 100644 +index f455317eb6..55e45f84ca 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -384,7 +384,7 @@ public class PlayerInteractManager { @@ -199,7 +199,7 @@ index 545a98302..55ec29bd2 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index 998662d9e..6b4eb7f05 100644 +index 998662d9e6..6b4eb7f053 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,7 +221,7 @@ index 998662d9e..6b4eb7f05 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 86848543d..7004f1176 100644 +index 86848543d0..7004f11764 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1220,7 +1220,7 @@ public class CraftWorld implements World { @@ -234,7 +234,7 @@ index 86848543d..7004f1176 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 3a09cab3d..3302af0e4 100644 +index 3a09cab3d4..3302af0e45 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/0176-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0175-Cap-Entity-Collisions.patch similarity index 93% rename from Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch rename to Spigot-Server-Patches/0175-Cap-Entity-Collisions.patch index 40512af49f..ab5926037d 100644 --- a/Spigot-Server-Patches/0176-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0175-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From a831d40bdd5ca262053ca1c02870cc533a90a306 Mon Sep 17 00:00:00 2001 +From b2a476a7e2062d113de8a10658ce6b40b2bad9ee Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jan 2017 18:07:56 -0500 Subject: [PATCH] Cap Entity Collisions @@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped. You can set this to 0 to disable collisions. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5df8b1143..0b748d402 100644 +index 5df8b1143f..0b748d402b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -343,4 +343,10 @@ public class PaperWorldConfig { @@ -27,7 +27,7 @@ index 5df8b1143..0b748d402 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 4bfc49076..8a04a801b 100644 +index 78b7b8be99..6db20aa75c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -181,6 +181,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -39,7 +39,7 @@ index 4bfc49076..8a04a801b 100644 // Spigot end diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b25d4b714..f85da758d 100644 +index f9a76ce27c..3b4867bfc9 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2318,8 +2318,11 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0177-Remove-CraftScheduler-Async-Task-Debugger.patch b/Spigot-Server-Patches/0176-Remove-CraftScheduler-Async-Task-Debugger.patch similarity index 96% rename from Spigot-Server-Patches/0177-Remove-CraftScheduler-Async-Task-Debugger.patch rename to Spigot-Server-Patches/0176-Remove-CraftScheduler-Async-Task-Debugger.patch index d7e015fc3f..f615dba082 100644 --- a/Spigot-Server-Patches/0177-Remove-CraftScheduler-Async-Task-Debugger.patch +++ b/Spigot-Server-Patches/0176-Remove-CraftScheduler-Async-Task-Debugger.patch @@ -1,4 +1,4 @@ -From dac6c2c4e9dc1417cda683cf1ec54f22774da31c Mon Sep 17 00:00:00 2001 +From 41d4fcb5e9244eeb5cbd7da27dd7e9917b6b5ad6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 5 Feb 2017 00:04:04 -0500 Subject: [PATCH] Remove CraftScheduler Async Task Debugger @@ -9,7 +9,7 @@ One report of a suspected memory leak with the system. This adds additional overhead to asynchronous task dispatching diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 26753fac5..a2fadaf82 100644 +index 26753fac5e..a2fadaf82c 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -84,8 +84,8 @@ public class CraftScheduler implements BukkitScheduler { @@ -58,5 +58,5 @@ index 26753fac5..a2fadaf82 100644 @Deprecated -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0178-Shame-on-you-Mojang.patch b/Spigot-Server-Patches/0177-Shame-on-you-Mojang.patch similarity index 91% rename from Spigot-Server-Patches/0178-Shame-on-you-Mojang.patch rename to Spigot-Server-Patches/0177-Shame-on-you-Mojang.patch index 11229e57c2..8cb01c0a48 100644 --- a/Spigot-Server-Patches/0178-Shame-on-you-Mojang.patch +++ b/Spigot-Server-Patches/0177-Shame-on-you-Mojang.patch @@ -1,4 +1,4 @@ -From 17d230338982a4a23f4e00da04d055e05a6f884f Mon Sep 17 00:00:00 2001 +From a1b78315b821502b8462d4d2dab70bfb154ed863 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 5 Feb 2017 19:17:28 -0500 Subject: [PATCH] Shame on you Mojang @@ -12,7 +12,7 @@ This then triggers async chunk loads! What in the hell were you thinking? diff --git a/src/main/java/net/minecraft/server/BlockBeacon.java b/src/main/java/net/minecraft/server/BlockBeacon.java -index 1181d45fa..d081166d8 100644 +index 1181d45fad..d081166d86 100644 --- a/src/main/java/net/minecraft/server/BlockBeacon.java +++ b/src/main/java/net/minecraft/server/BlockBeacon.java @@ -49,7 +49,7 @@ public class BlockBeacon extends BlockTileEntity { @@ -34,5 +34,5 @@ index 1181d45fa..d081166d8 100644 } } -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch similarity index 91% rename from Spigot-Server-Patches/0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch rename to Spigot-Server-Patches/0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index 95f1267b68..1512c2df73 100644 --- a/Spigot-Server-Patches/0179-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/Spigot-Server-Patches/0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -1,11 +1,11 @@ -From 990b651cbd64dc43013878c653744f461492478e Mon Sep 17 00:00:00 2001 +From b460a12daf84e66911ff439a1605fa058aaaa35e Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 7 Feb 2017 16:55:35 -0600 Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 4be7173bf..7d77c5fb3 100644 +index 4be7173bf2..7d77c5fb31 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -327,7 +327,7 @@ public class ChunkProviderServer implements IChunkProvider { diff --git a/Spigot-Server-Patches/0180-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0179-Do-not-let-armorstands-drown.patch similarity index 93% rename from Spigot-Server-Patches/0180-Do-not-let-armorstands-drown.patch rename to Spigot-Server-Patches/0179-Do-not-let-armorstands-drown.patch index 72d2b8bf6f..5b512424fe 100644 --- a/Spigot-Server-Patches/0180-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0179-Do-not-let-armorstands-drown.patch @@ -1,11 +1,11 @@ -From 0fa5dce73cc9cdf2630c65eaa2ffaf4787580165 Mon Sep 17 00:00:00 2001 +From 224496958b947329bcbcf013a4f9492ba7f109d7 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 18 Feb 2017 19:29:58 -0600 Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 578d96640..e9a746f13 100644 +index 578d966401..e9a746f138 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -764,5 +764,10 @@ public class EntityArmorStand extends EntityLiving { @@ -20,7 +20,7 @@ index 578d96640..e9a746f13 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 3b4867bfc..b596a616f 100644 +index 3b4867bfc9..b596a616fe 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -201,6 +201,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0180-Properly-handle-async-calls-to-restart-the-server.patch similarity index 98% rename from Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch rename to Spigot-Server-Patches/0180-Properly-handle-async-calls-to-restart-the-server.patch index 33a140c4dd..a9ce3c73c2 100644 --- a/Spigot-Server-Patches/0181-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0180-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From 62401f6501f068b9494c86dc02f8ec41b2825a25 Mon Sep 17 00:00:00 2001 +From 2290cb8d1859a89dc6b1a8e9a6783c76a782849b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 12 May 2017 23:34:11 -0500 Subject: [PATCH] Properly handle async calls to restart the server @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c97953a2f..8576545bb 100644 +index c97953a2fd..8576545bb7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -85,6 +85,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -78,7 +78,7 @@ index c97953a2f..8576545bb 100644 return this.serverThread; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index c8b5a610a..0b0d99652 100644 +index c8b5a610aa..0b0d996523 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1338,10 +1338,15 @@ public abstract class PlayerList { @@ -107,7 +107,7 @@ index c8b5a610a..0b0d99652 100644 // CraftBukkit start public void sendMessage(IChatBaseComponent[] iChatBaseComponents) { diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java -index 947c43a5d..f15fd9f37 100644 +index 947c43a5d0..f15fd9f370 100644 --- a/src/main/java/org/spigotmc/RestartCommand.java +++ b/src/main/java/org/spigotmc/RestartCommand.java @@ -46,88 +46,123 @@ public class RestartCommand extends Command diff --git a/Spigot-Server-Patches/0182-Add-system-property-to-disable-book-size-limits.patch b/Spigot-Server-Patches/0181-Add-system-property-to-disable-book-size-limits.patch similarity index 96% rename from Spigot-Server-Patches/0182-Add-system-property-to-disable-book-size-limits.patch rename to Spigot-Server-Patches/0181-Add-system-property-to-disable-book-size-limits.patch index bb1c7a5888..b2354bb461 100644 --- a/Spigot-Server-Patches/0182-Add-system-property-to-disable-book-size-limits.patch +++ b/Spigot-Server-Patches/0181-Add-system-property-to-disable-book-size-limits.patch @@ -1,4 +1,4 @@ -From 7212abfc785954f473b1ae2c683b2a87852d5b8a Mon Sep 17 00:00:00 2001 +From 58676fef1f3ff751dc347888740ef41c7407e0cd Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 13 May 2017 20:11:21 -0500 Subject: [PATCH] Add system property to disable book size limits @@ -11,7 +11,7 @@ to make books with as much data as they want. Do not use this without limiting incoming data from packets in some other way. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index 6ff1a2dcd..64a939952 100644 +index 6ff1a2dcd6..64a9399527 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -40,6 +40,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { @@ -57,5 +57,5 @@ index 6ff1a2dcd..64a939952 100644 } -- -2.17.1 +2.18.0 diff --git a/Spigot-Server-Patches/0183-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch similarity index 94% rename from Spigot-Server-Patches/0183-Add-option-to-make-parrots-stay-on-shoulders-despite.patch rename to Spigot-Server-Patches/0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index 9d07be7581..c4ef821dc1 100644 --- a/Spigot-Server-Patches/0183-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/Spigot-Server-Patches/0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -1,4 +1,4 @@ -From ae5ea9831fce8e583f76f7f39513e5ee4475b617 Mon Sep 17 00:00:00 2001 +From 6c42bd5659094d1a85307d9ef4dc551473126982 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 16 May 2017 21:29:08 -0500 Subject: [PATCH] Add option to make parrots stay on shoulders despite movement @@ -11,7 +11,7 @@ I suspect Mojang may switch to this behavior before full release. To be converted into a Paper-API event at some point in the future? diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0b748d402..99fe720e8 100644 +index 0b748d402b..99fe720e8b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -349,4 +349,10 @@ public class PaperWorldConfig { @@ -26,7 +26,7 @@ index 0b748d402..99fe720e8 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 83bfb6611..0486dee2c 100644 +index 06b663c4db..42c6249535 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -460,7 +460,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -39,7 +39,7 @@ index 83bfb6611..0486dee2c 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index aa93b5945..383ef87ba 100644 +index 62b7d86e17..932eeb19db 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1746,6 +1746,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0184-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-Server-Patches/0183-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 91% rename from Spigot-Server-Patches/0184-Add-configuration-option-to-prevent-player-names-fro.patch rename to Spigot-Server-Patches/0183-Add-configuration-option-to-prevent-player-names-fro.patch index fa1f9493a6..7f9568620e 100644 --- a/Spigot-Server-Patches/0184-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-Server-Patches/0183-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From b7ebc8e864503bb53440d7d919063dbce2971df6 Mon Sep 17 00:00:00 2001 +From b8c5c89c35bee66e660db73012b2a74ab647db9e Mon Sep 17 00:00:00 2001 From: kashike Date: Fri, 9 Jun 2017 07:24:34 -0700 Subject: [PATCH] Add configuration option to prevent player names from being @@ -6,7 +6,7 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index ea6fcb39f..dbafef023 100644 +index ea6fcb39f4..dbafef023e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -271,4 +271,9 @@ public class PaperConfig { @@ -20,7 +20,7 @@ index ea6fcb39f..dbafef023 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d7247a1ec..ff9346023 100644 +index d7247a1ec9..ff93460235 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1987,5 +1987,10 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0184-Use-TerminalConsoleAppender-for-console-improvements.patch similarity index 98% rename from Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch rename to Spigot-Server-Patches/0184-Use-TerminalConsoleAppender-for-console-improvements.patch index 2f6894d6ee..75ca32b469 100644 --- a/Spigot-Server-Patches/0185-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0184-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From fac7eb134f5fdf048ac9db058b571944ed8c6015 Mon Sep 17 00:00:00 2001 +From ba46169bb1c11766a1570d04a2d16509993c141b Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index 09b4ddf19..47e307a24 100644 +index 09b4ddf199..47e307a246 100644 --- a/pom.xml +++ b/pom.xml @@ -39,12 +39,6 @@ @@ -89,7 +89,7 @@ index 09b4ddf19..47e307a24 100644 org.apache.maven.plugins diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java new file mode 100644 -index 000000000..688b4715e +index 0000000000..688b4715eb --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -0,0 +1,40 @@ @@ -135,7 +135,7 @@ index 000000000..688b4715e +} diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java new file mode 100644 -index 000000000..685deaa0e +index 0000000000..685deaa0e5 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java @@ -0,0 +1,17 @@ @@ -157,7 +157,7 @@ index 000000000..685deaa0e + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index bf1fffcfe..af430b73f 100644 +index bf1fffcfee..af430b73f0 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -79,6 +79,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -199,7 +199,7 @@ index bf1fffcfe..af430b73f 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8576545bb..0808da26f 100644 +index 8576545bb7..0808da26f6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,6 @@ import org.apache.commons.lang3.Validate; @@ -257,7 +257,7 @@ index 8576545bb..0808da26f 100644 public KeyPair G() { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 0b0d99652..4cbe14801 100644 +index 0b0d996523..4cbe148010 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -78,8 +78,7 @@ public abstract class PlayerList { @@ -271,7 +271,7 @@ index 0b0d99652..4cbe14801 100644 this.k = new GameProfileBanList(PlayerList.a); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ff9346023..21d9f381c 100644 +index ff93460235..21d9f381cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -137,8 +137,8 @@ import java.nio.ByteBuffer; @@ -299,7 +299,7 @@ index ff9346023..21d9f381c 100644 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index c552c624e..3245fded9 100644 +index c552c624e5..3245fded9b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -14,7 +14,7 @@ import java.util.logging.Logger; @@ -341,7 +341,7 @@ index c552c624e..3245fded9 100644 if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { diff --git a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java b/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java deleted file mode 100644 -index 26a2fb894..000000000 +index 26a2fb8942..0000000000 --- a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java +++ /dev/null @@ -1,74 +0,0 @@ @@ -420,7 +420,7 @@ index 26a2fb894..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java -index 33e8ea02c..1e3aae3b8 100644 +index 33e8ea02c4..1e3aae3b8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java +++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java @@ -8,17 +8,27 @@ import java.util.logging.Level; @@ -499,7 +499,7 @@ index 33e8ea02c..1e3aae3b8 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java -index 984df4083..bbb5a84f3 100644 +index 984df4083d..bbb5a84f36 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java @@ -20,7 +20,7 @@ public class ServerShutdownThread extends Thread { @@ -513,7 +513,7 @@ index 984df4083..bbb5a84f3 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java deleted file mode 100644 -index b64097113..000000000 +index b640971130..0000000000 --- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java +++ /dev/null @@ -1,54 +0,0 @@ @@ -572,7 +572,7 @@ index b64097113..000000000 - } -} diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 5cee8f00e..08b6bb7f9 100644 +index 5cee8f00ef..08b6bb7f97 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -1,12 +1,11 @@ diff --git a/Spigot-Server-Patches/0186-provide-a-configurable-option-to-disable-creeper-lin.patch b/Spigot-Server-Patches/0185-provide-a-configurable-option-to-disable-creeper-lin.patch similarity index 92% rename from Spigot-Server-Patches/0186-provide-a-configurable-option-to-disable-creeper-lin.patch rename to Spigot-Server-Patches/0185-provide-a-configurable-option-to-disable-creeper-lin.patch index 6391c95b6f..039c5aec67 100644 --- a/Spigot-Server-Patches/0186-provide-a-configurable-option-to-disable-creeper-lin.patch +++ b/Spigot-Server-Patches/0185-provide-a-configurable-option-to-disable-creeper-lin.patch @@ -1,4 +1,4 @@ -From 36d19d1a7e42d31db09f1d3b94cb2293dbf484df Mon Sep 17 00:00:00 2001 +From 1f16a8e86d08dd4f21e281e6ef39d68909d61119 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Jun 2017 21:01:18 +0100 Subject: [PATCH] provide a configurable option to disable creeper lingering @@ -6,7 +6,7 @@ Subject: [PATCH] provide a configurable option to disable creeper lingering diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 99fe720e8..c80d84b9b 100644 +index 99fe720e8b..c80d84b9b2 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -355,4 +355,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 99fe720e8..c80d84b9b 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 8b0134ecd..0147054df 100644 +index 8b0134ecdb..0147054dff 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -214,7 +214,7 @@ public class EntityCreeper extends EntityMonster { diff --git a/Spigot-Server-Patches/0187-Item-canEntityPickup.patch b/Spigot-Server-Patches/0186-Item-canEntityPickup.patch similarity index 92% rename from Spigot-Server-Patches/0187-Item-canEntityPickup.patch rename to Spigot-Server-Patches/0186-Item-canEntityPickup.patch index f26d366ba4..6b06b44ef1 100644 --- a/Spigot-Server-Patches/0187-Item-canEntityPickup.patch +++ b/Spigot-Server-Patches/0186-Item-canEntityPickup.patch @@ -1,11 +1,11 @@ -From 11478e1b753667087f079de9c6aa568c7c40efd8 Mon Sep 17 00:00:00 2001 +From d59a01eaa5f962e8616dd5b2916f194ca8636432 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 5 May 2017 03:57:17 -0500 Subject: [PATCH] Item#canEntityPickup diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index d29364b01..9dc86e90d 100644 +index 3723fd9770..14d122b22b 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -512,6 +512,11 @@ public abstract class EntityInsentient extends EntityLiving { @@ -21,7 +21,7 @@ index d29364b01..9dc86e90d 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 4af09f5cd..f2a4476c5 100644 +index 4af09f5cdb..f2a4476c5c 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -13,6 +13,7 @@ public class EntityItem extends Entity { @@ -33,7 +33,7 @@ index 4af09f5cd..f2a4476c5 100644 private UUID f; private UUID g; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index a17a537d6..1df17f09b 100644 +index a17a537d69..1df17f09bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -37,6 +37,16 @@ public class CraftItem extends CraftEntity implements Item { diff --git a/Spigot-Server-Patches/0188-PlayerPickupItemEvent-setFlyAtPlayer.patch b/Spigot-Server-Patches/0187-PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 95% rename from Spigot-Server-Patches/0188-PlayerPickupItemEvent-setFlyAtPlayer.patch rename to Spigot-Server-Patches/0187-PlayerPickupItemEvent-setFlyAtPlayer.patch index 22c8b779a1..156f2e7b07 100644 --- a/Spigot-Server-Patches/0188-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/Spigot-Server-Patches/0187-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -1,11 +1,11 @@ -From 96319109ec641f4aca1b0267122c18112b42bf46 Mon Sep 17 00:00:00 2001 +From a7b7ab149feb1f3dca1cb24e0d88e43118021449 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 May 2017 06:26:09 -0500 Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index f2a4476c5..62d1c3d11 100644 +index f2a4476c5c..62d1c3d119 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -308,6 +308,7 @@ public class EntityItem extends Entity { diff --git a/Spigot-Server-Patches/0189-PlayerAttemptPickupItemEvent.patch b/Spigot-Server-Patches/0188-PlayerAttemptPickupItemEvent.patch similarity index 94% rename from Spigot-Server-Patches/0189-PlayerAttemptPickupItemEvent.patch rename to Spigot-Server-Patches/0188-PlayerAttemptPickupItemEvent.patch index d4086ff75d..1f7a657ec5 100644 --- a/Spigot-Server-Patches/0189-PlayerAttemptPickupItemEvent.patch +++ b/Spigot-Server-Patches/0188-PlayerAttemptPickupItemEvent.patch @@ -1,11 +1,11 @@ -From a245aa5dfbedac9d105b7d507a4d180ca22108f2 Mon Sep 17 00:00:00 2001 +From e7685d8e92926c91d7704389eedf46fd90446b3c Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 11 Jun 2017 16:30:30 -0500 Subject: [PATCH] PlayerAttemptPickupItemEvent diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 62d1c3d11..d232bab74 100644 +index 62d1c3d119..d232bab745 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -7,6 +7,7 @@ import javax.annotation.Nullable; diff --git a/Spigot-Server-Patches/0190-Add-UnknownCommandEvent.patch b/Spigot-Server-Patches/0189-Add-UnknownCommandEvent.patch similarity index 93% rename from Spigot-Server-Patches/0190-Add-UnknownCommandEvent.patch rename to Spigot-Server-Patches/0189-Add-UnknownCommandEvent.patch index ca27bdfab7..7824bcff6f 100644 --- a/Spigot-Server-Patches/0190-Add-UnknownCommandEvent.patch +++ b/Spigot-Server-Patches/0189-Add-UnknownCommandEvent.patch @@ -1,11 +1,11 @@ -From be4afd9ab09714e4d71ad135da08502529867317 Mon Sep 17 00:00:00 2001 +From 8cc7d79a757d71e277e0699e18699769b8b131fb Mon Sep 17 00:00:00 2001 From: Sweepyoface Date: Sat, 17 Jun 2017 18:48:21 -0400 Subject: [PATCH] Add UnknownCommandEvent diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9fe7c6a0d..69cfe5c4d 100644 +index 21d9f381cc..814a65ec58 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -79,6 +79,7 @@ import org.bukkit.craftbukkit.util.Versioning; diff --git a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0190-Basic-PlayerProfile-API.patch similarity index 98% rename from Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch rename to Spigot-Server-Patches/0190-Basic-PlayerProfile-API.patch index cdbc52d0e0..6bda7d5cb6 100644 --- a/Spigot-Server-Patches/0191-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0190-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From ab857a7e34a6916af5ef7105f553d74934c8f5fb Mon Sep 17 00:00:00 2001 +From a3979ad06f4ed58539c5cebb7de2c88544d3ad33 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -7,7 +7,7 @@ Establishes base extension of profile systems for future edits too diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java new file mode 100644 -index 000000000..9ad5853de +index 0000000000..9ad5853de3 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java @@ -0,0 +1,281 @@ @@ -294,7 +294,7 @@ index 000000000..9ad5853de +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java new file mode 100644 -index 000000000..25836b975 +index 0000000000..25836b975b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java @@ -0,0 +1,30 @@ @@ -330,7 +330,7 @@ index 000000000..25836b975 +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java new file mode 100644 -index 000000000..3bcdb8f93 +index 0000000000..3bcdb8f93f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java @@ -0,0 +1,17 @@ @@ -353,7 +353,7 @@ index 000000000..3bcdb8f93 +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java new file mode 100644 -index 000000000..4b2a67423 +index 0000000000..4b2a67423f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java @@ -0,0 +1,29 @@ @@ -388,7 +388,7 @@ index 000000000..4b2a67423 +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java new file mode 100644 -index 000000000..3aceb0ea8 +index 0000000000..3aceb0ea8a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java @@ -0,0 +1,11 @@ @@ -404,7 +404,7 @@ index 000000000..3aceb0ea8 + } +} diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 381542e0d..80927de08 100644 +index 381542e0d2..80927de08b 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,6 +1,9 @@ @@ -429,7 +429,7 @@ index 381542e0d..80927de08 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0808da26f..cdcc37592 100644 +index 0808da26f6..cdcc375923 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1162,7 +1162,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -450,7 +450,7 @@ index 0808da26f..cdcc37592 100644 return this.V; } diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java -index a47a51a41..4c476f757 100644 +index a47a51a412..4c476f757c 100644 --- a/src/main/java/net/minecraft/server/UserCache.java +++ b/src/main/java/net/minecraft/server/UserCache.java @@ -44,7 +44,7 @@ public class UserCache { @@ -486,7 +486,7 @@ index a47a51a41..4c476f757 100644 private UserCacheEntry(GameProfile gameprofile, Date date) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 814a65ec5..202c6c492 100644 +index 814a65ec58..202c6c4927 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -152,6 +152,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; diff --git a/Spigot-Server-Patches/0192-Shoulder-Entities-Release-API.patch b/Spigot-Server-Patches/0191-Shoulder-Entities-Release-API.patch similarity index 96% rename from Spigot-Server-Patches/0192-Shoulder-Entities-Release-API.patch rename to Spigot-Server-Patches/0191-Shoulder-Entities-Release-API.patch index ee25d0253d..1aadffb5d6 100644 --- a/Spigot-Server-Patches/0192-Shoulder-Entities-Release-API.patch +++ b/Spigot-Server-Patches/0191-Shoulder-Entities-Release-API.patch @@ -1,11 +1,11 @@ -From 7c4e663b965bd364495f89ac6677c07779ddd659 Mon Sep 17 00:00:00 2001 +From b46069d74f4963e51238e355c4bf70b1f8a4b84c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 15:18:30 -0400 Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 0486dee2c..f08c0ba60 100644 +index 42c6249535..b20cab58b1 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1819,21 +1819,48 @@ public abstract class EntityHuman extends EntityLiving { @@ -62,7 +62,7 @@ index 0486dee2c..f08c0ba60 100644 public abstract boolean isSpectator(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 073c8acf2..9e2fc4947 100644 +index 073c8acf2c..9e2fc4947c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -445,6 +445,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/Spigot-Server-Patches/0193-Profile-Lookup-Events.patch b/Spigot-Server-Patches/0192-Profile-Lookup-Events.patch similarity index 97% rename from Spigot-Server-Patches/0193-Profile-Lookup-Events.patch rename to Spigot-Server-Patches/0192-Profile-Lookup-Events.patch index 6a6aaaf850..8db514e7c8 100644 --- a/Spigot-Server-Patches/0193-Profile-Lookup-Events.patch +++ b/Spigot-Server-Patches/0192-Profile-Lookup-Events.patch @@ -1,4 +1,4 @@ -From 1f1911f9fa39fa1662ea475f1d3cb3705fae9478 Mon Sep 17 00:00:00 2001 +From d1090b257a18d039d63dde81cca6bb2fb7a1dc2b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 17:00:32 -0400 Subject: [PATCH] Profile Lookup Events @@ -7,7 +7,7 @@ Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in p profiles that had to be looked up. diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java -index 3bcdb8f93..bb9894318 100644 +index 3bcdb8f93f..bb9894318e 100644 --- a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java +++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java @@ -1,17 +1,68 @@ diff --git a/Spigot-Server-Patches/0194-Block-player-logins-during-server-shutdown.patch b/Spigot-Server-Patches/0193-Block-player-logins-during-server-shutdown.patch similarity index 90% rename from Spigot-Server-Patches/0194-Block-player-logins-during-server-shutdown.patch rename to Spigot-Server-Patches/0193-Block-player-logins-during-server-shutdown.patch index 084db50ba0..e21f236c02 100644 --- a/Spigot-Server-Patches/0194-Block-player-logins-during-server-shutdown.patch +++ b/Spigot-Server-Patches/0193-Block-player-logins-during-server-shutdown.patch @@ -1,11 +1,11 @@ -From dd04e617cb4eb245710fe0691eb157a0ab850400 Mon Sep 17 00:00:00 2001 +From a1e1fd273bd4c01c575f6cea31f72219187b536d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 2 Jul 2017 21:35:56 -0500 Subject: [PATCH] Block player logins during server shutdown diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index b6e829682..85eff6e2d 100644 +index b6e8296824..85eff6e2dd 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -50,6 +50,12 @@ public class LoginListener implements PacketLoginInListener, ITickable { diff --git a/Spigot-Server-Patches/0195-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0194-Entity-fromMobSpawner.patch similarity index 95% rename from Spigot-Server-Patches/0195-Entity-fromMobSpawner.patch rename to Spigot-Server-Patches/0194-Entity-fromMobSpawner.patch index a4065b75f1..ff402f1115 100644 --- a/Spigot-Server-Patches/0195-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0194-Entity-fromMobSpawner.patch @@ -1,11 +1,11 @@ -From fc4ab62ab798d05629a58a87394aedefd66ed528 Mon Sep 17 00:00:00 2001 +From 6947e3fbbe3d9138b66a298d2b5f5f68c810d7d8 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 18 Jun 2017 18:17:05 -0500 Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8a04a801b..0d69e6187 100644 +index 6db20aa75c..bd232b31e4 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -181,6 +181,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -37,7 +37,7 @@ index 8a04a801b..0d69e6187 100644 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 61472a0eb..2b6b062c6 100644 +index 61472a0eb2..2b6b062c61 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -115,6 +115,7 @@ public abstract class MobSpawnerAbstract { @@ -49,7 +49,7 @@ index 61472a0eb..2b6b062c6 100644 if ( entity.world.spigotConfig.nerfSpawnerMobs ) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 03a3328b0..6d4dc539c 100644 +index 03a3328b06..6d4dc539cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -816,5 +816,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0196-Fix-Anvil-Level-sync-to-client.patch b/Spigot-Server-Patches/0195-Fix-Anvil-Level-sync-to-client.patch similarity index 93% rename from Spigot-Server-Patches/0196-Fix-Anvil-Level-sync-to-client.patch rename to Spigot-Server-Patches/0195-Fix-Anvil-Level-sync-to-client.patch index 4207682cab..f0fc9c9f3a 100644 --- a/Spigot-Server-Patches/0196-Fix-Anvil-Level-sync-to-client.patch +++ b/Spigot-Server-Patches/0195-Fix-Anvil-Level-sync-to-client.patch @@ -1,4 +1,4 @@ -From 4a7821dd77549bcdfd5bde075bb5057dfe2ca86f Mon Sep 17 00:00:00 2001 +From dafadb7573dda165d077047126448e2806cb7f29 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 11 Jul 2017 23:17:57 -0400 Subject: [PATCH] Fix Anvil Level sync to client @@ -10,7 +10,7 @@ Was done incorrectly and is now causing level desyncs to client. Always send current level to the client, and instead make setWindowProperty set the level. diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java -index 845ec2250..c252ff6d5 100644 +index 229f4f8829..fb3413d81e 100644 --- a/src/main/java/net/minecraft/server/ContainerAnvil.java +++ b/src/main/java/net/minecraft/server/ContainerAnvil.java @@ -377,9 +377,9 @@ public class ContainerAnvil extends Container { @@ -26,7 +26,7 @@ index 845ec2250..c252ff6d5 100644 this.lastLevelCost = this.levelCost; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1c8c364d3..019fd4b48 100644 +index a546f3118e..8686457e13 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1378,6 +1378,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0197-Add-missing-coverages-for-getTileEntity-in-order-to-.patch b/Spigot-Server-Patches/0196-Add-missing-coverages-for-getTileEntity-in-order-to-.patch similarity index 90% rename from Spigot-Server-Patches/0197-Add-missing-coverages-for-getTileEntity-in-order-to-.patch rename to Spigot-Server-Patches/0196-Add-missing-coverages-for-getTileEntity-in-order-to-.patch index ee80c26c4d..bda1f660e0 100644 --- a/Spigot-Server-Patches/0197-Add-missing-coverages-for-getTileEntity-in-order-to-.patch +++ b/Spigot-Server-Patches/0196-Add-missing-coverages-for-getTileEntity-in-order-to-.patch @@ -1,4 +1,4 @@ -From 4ecc569661a1bba81809d640be36e55f827e6fe4 Mon Sep 17 00:00:00 2001 +From 6abcfc52f3b1140bf55d775ef2083c3bc17c0797 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 22 Jul 2017 15:22:59 +0100 Subject: [PATCH] Add missing coverages for getTileEntity in order to attempt @@ -6,7 +6,7 @@ Subject: [PATCH] Add missing coverages for getTileEntity in order to attempt diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index e766e2536..c5da2cde3 100644 +index 8f6ce6bf1a..5d5f6f6328 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -234,6 +234,13 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0198-Improve-the-Saddle-API-for-Horses.patch b/Spigot-Server-Patches/0197-Improve-the-Saddle-API-for-Horses.patch similarity index 94% rename from Spigot-Server-Patches/0198-Improve-the-Saddle-API-for-Horses.patch rename to Spigot-Server-Patches/0197-Improve-the-Saddle-API-for-Horses.patch index b62df91004..8fed37f46f 100644 --- a/Spigot-Server-Patches/0198-Improve-the-Saddle-API-for-Horses.patch +++ b/Spigot-Server-Patches/0197-Improve-the-Saddle-API-for-Horses.patch @@ -1,4 +1,4 @@ -From d5fae2a8f82bdf07f4d23afeb78e13d26180b350 Mon Sep 17 00:00:00 2001 +From 8e0eed18f7b4b54add9bdf23b0ecad8b38cc77c5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 10 Dec 2016 16:24:06 -0500 Subject: [PATCH] Improve the Saddle API for Horses @@ -7,7 +7,7 @@ Not all horses with Saddles have armor. This lets us break up the horses with sa and access their saddle state separately from an interface shared with Armor. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index 14d041680..e56bef334 100644 +index 14d0416802..e56bef3340 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java @@ -6,6 +6,7 @@ import net.minecraft.server.EntityHorseAbstract; @@ -27,7 +27,7 @@ index 14d041680..e56bef334 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java -index 173818e68..2f6852404 100644 +index 173818e682..2f68524049 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java @@ -4,7 +4,7 @@ import net.minecraft.server.IInventory; @@ -41,7 +41,7 @@ index 173818e68..2f6852404 100644 super(inventory); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java new file mode 100644 -index 000000000..99cfbaf90 +index 0000000000..99cfbaf90b --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java @@ -0,0 +1,15 @@ diff --git a/Spigot-Server-Patches/0199-Implement-ensureServerConversions-API.patch b/Spigot-Server-Patches/0198-Implement-ensureServerConversions-API.patch similarity index 91% rename from Spigot-Server-Patches/0199-Implement-ensureServerConversions-API.patch rename to Spigot-Server-Patches/0198-Implement-ensureServerConversions-API.patch index 4b544f3521..e26336017c 100644 --- a/Spigot-Server-Patches/0199-Implement-ensureServerConversions-API.patch +++ b/Spigot-Server-Patches/0198-Implement-ensureServerConversions-API.patch @@ -1,4 +1,4 @@ -From 4d681ce123b48ae324efb5883474c0c4317d4328 Mon Sep 17 00:00:00 2001 +From ed06a3f52e0a0fd9899b4f5c9082bab768bc7c60 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 22:43:12 -0400 Subject: [PATCH] Implement ensureServerConversions API @@ -7,7 +7,7 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 59d2685dc..27a264f54 100644 +index 59d2685dc8..27a264f549 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -288,4 +288,10 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/Spigot-Server-Patches/0200-Implement-getI18NDisplayName.patch b/Spigot-Server-Patches/0199-Implement-getI18NDisplayName.patch similarity index 92% rename from Spigot-Server-Patches/0200-Implement-getI18NDisplayName.patch rename to Spigot-Server-Patches/0199-Implement-getI18NDisplayName.patch index 3bf83cad58..3b373c9bf0 100644 --- a/Spigot-Server-Patches/0200-Implement-getI18NDisplayName.patch +++ b/Spigot-Server-Patches/0199-Implement-getI18NDisplayName.patch @@ -1,4 +1,4 @@ -From 2a4dd5bde33fc980cfb0b74f7330461f74bea81d Mon Sep 17 00:00:00 2001 +From e093780dd2f3014b31a6baacb6cafe05c05c50f7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:59:38 -0400 Subject: [PATCH] Implement getI18NDisplayName @@ -8,7 +8,7 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 27a264f54..1cdbdf6d0 100644 +index 27a264f549..1cdbdf6d07 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -293,5 +293,18 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/Spigot-Server-Patches/0201-GH-806-Respect-saving-disabled-before-unloading-all-.patch b/Spigot-Server-Patches/0200-GH-806-Respect-saving-disabled-before-unloading-all-.patch similarity index 91% rename from Spigot-Server-Patches/0201-GH-806-Respect-saving-disabled-before-unloading-all-.patch rename to Spigot-Server-Patches/0200-GH-806-Respect-saving-disabled-before-unloading-all-.patch index 4d39493b3c..652f58925e 100644 --- a/Spigot-Server-Patches/0201-GH-806-Respect-saving-disabled-before-unloading-all-.patch +++ b/Spigot-Server-Patches/0200-GH-806-Respect-saving-disabled-before-unloading-all-.patch @@ -1,4 +1,4 @@ -From d8b44f39e8fefbad27e051d8d8ad1b52d687409e Mon Sep 17 00:00:00 2001 +From f7d2dff64466b07794f828ff7f3f0e9d632a2a07 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 27 Jul 2017 00:06:43 -0400 Subject: [PATCH] GH-806: Respect saving disabled before unloading all chunks @@ -9,7 +9,7 @@ This behavior causes a save to occur even though saving was supposed to be turne It's triggered when Hell/End worlds are empty of players. diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index cf5c76a78..bfe2d03a5 100644 +index cf5c76a78e..bfe2d03a57 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -194,7 +194,7 @@ public class PlayerChunkMap { diff --git a/Spigot-Server-Patches/0202-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0201-ProfileWhitelistVerifyEvent.patch similarity index 96% rename from Spigot-Server-Patches/0202-ProfileWhitelistVerifyEvent.patch rename to Spigot-Server-Patches/0201-ProfileWhitelistVerifyEvent.patch index b4775558df..c1c11f4c8c 100644 --- a/Spigot-Server-Patches/0202-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-Server-Patches/0201-ProfileWhitelistVerifyEvent.patch @@ -1,11 +1,11 @@ -From 81ace36f21de4341d47d827637fcfe406d40b33a Mon Sep 17 00:00:00 2001 +From dab3a07d152b33b5d5751aa2ea340d5f365c8a86 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 3 Jul 2017 18:11:10 -0500 Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 4cbe14801..45e42e998 100644 +index 4cbe148010..45e42e9989 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -543,9 +543,9 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0203-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0202-Fix-this-stupid-bullshit.patch similarity index 94% rename from Spigot-Server-Patches/0203-Fix-this-stupid-bullshit.patch rename to Spigot-Server-Patches/0202-Fix-this-stupid-bullshit.patch index 4855f3b464..189d4d0c10 100644 --- a/Spigot-Server-Patches/0203-Fix-this-stupid-bullshit.patch +++ b/Spigot-Server-Patches/0202-Fix-this-stupid-bullshit.patch @@ -1,4 +1,4 @@ -From ae43b5d79b454b6a616f610119360894023cb5c1 Mon Sep 17 00:00:00 2001 +From 24d03637c3ce3f7c0c5268c5516e90c1f3c6d4fa Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sun, 6 Aug 2017 17:17:53 -0500 Subject: [PATCH] Fix this stupid bullshit @@ -9,7 +9,7 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa and to provide some level of hint without being disruptive. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 3245fded9..d4f6e009e 100644 +index 3245fded9b..d4f6e009e1 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -217,10 +217,12 @@ public class Main { diff --git a/Spigot-Server-Patches/0204-Ocelot-despawns-should-honor-nametags-and-leash.patch b/Spigot-Server-Patches/0203-Ocelot-despawns-should-honor-nametags-and-leash.patch similarity index 89% rename from Spigot-Server-Patches/0204-Ocelot-despawns-should-honor-nametags-and-leash.patch rename to Spigot-Server-Patches/0203-Ocelot-despawns-should-honor-nametags-and-leash.patch index 9079618866..ffa130547e 100644 --- a/Spigot-Server-Patches/0204-Ocelot-despawns-should-honor-nametags-and-leash.patch +++ b/Spigot-Server-Patches/0203-Ocelot-despawns-should-honor-nametags-and-leash.patch @@ -1,11 +1,11 @@ -From 0b24486b1491cb7f560baf2b753fcbc4111369fe Mon Sep 17 00:00:00 2001 +From 25b46dccb550d0d2f16157b10a9da455ae7e8d43 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:54:40 -0500 Subject: [PATCH] Ocelot despawns should honor nametags and leash diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index 6ea276aa0..720e7bbf9 100644 +index 4e132eabb1..c28b72222e 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -61,7 +61,7 @@ public class EntityOcelot extends EntityTameableAnimal { diff --git a/Spigot-Server-Patches/0205-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/Spigot-Server-Patches/0204-Reset-spawner-timer-when-spawner-event-is-cancelled.patch similarity index 92% rename from Spigot-Server-Patches/0205-Reset-spawner-timer-when-spawner-event-is-cancelled.patch rename to Spigot-Server-Patches/0204-Reset-spawner-timer-when-spawner-event-is-cancelled.patch index e9e25e798e..fbca4658dd 100644 --- a/Spigot-Server-Patches/0205-Reset-spawner-timer-when-spawner-event-is-cancelled.patch +++ b/Spigot-Server-Patches/0204-Reset-spawner-timer-when-spawner-event-is-cancelled.patch @@ -1,11 +1,11 @@ -From e175a2606aa41ccdd34359e8ed80506380c74ae1 Mon Sep 17 00:00:00 2001 +From f43818ecbd951f93007a6112564c338f7aa42db7 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:45:19 -0500 Subject: [PATCH] Reset spawner timer when spawner event is cancelled diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 2b6b062c6..c76dbe74a 100644 +index 2b6b062c61..c76dbe74ac 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -121,6 +121,9 @@ public abstract class MobSpawnerAbstract { diff --git a/Spigot-Server-Patches/0206-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/Spigot-Server-Patches/0205-Fix-MC-117075-TE-Unload-Lag-Spike.patch similarity index 92% rename from Spigot-Server-Patches/0206-Fix-MC-117075-TE-Unload-Lag-Spike.patch rename to Spigot-Server-Patches/0205-Fix-MC-117075-TE-Unload-Lag-Spike.patch index b65cd4600c..3c0d1cf7f1 100644 --- a/Spigot-Server-Patches/0206-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/Spigot-Server-Patches/0205-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -1,11 +1,11 @@ -From 17637d37ab1940aa043270746f079f79afaca09e Mon Sep 17 00:00:00 2001 +From c8e4e8aa0b920806ef94772fdfb9d803b31ff748 Mon Sep 17 00:00:00 2001 From: mezz Date: Wed, 9 Aug 2017 17:51:22 -0500 Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ca7c23f54..d0ce6b363 100644 +index 92070c9325..2f9aa10f85 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1275,7 +1275,11 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0207-Allow-specifying-a-custom-authentication-servers-dow.patch b/Spigot-Server-Patches/0206-Allow-specifying-a-custom-authentication-servers-dow.patch similarity index 94% rename from Spigot-Server-Patches/0207-Allow-specifying-a-custom-authentication-servers-dow.patch rename to Spigot-Server-Patches/0206-Allow-specifying-a-custom-authentication-servers-dow.patch index 0929a5195f..c6400691d7 100644 --- a/Spigot-Server-Patches/0207-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/Spigot-Server-Patches/0206-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -1,4 +1,4 @@ -From 0dcddd2985a9c7a7b64d4c84c900b84c4929bcfb Mon Sep 17 00:00:00 2001 +From 73f5986b0b8ceebddcfb6e30b3c7a4f7d43cd778 Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 17 Aug 2017 16:08:20 -0700 Subject: [PATCH] Allow specifying a custom "authentication servers down" kick @@ -6,7 +6,7 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index dbafef023..ec89ecfca 100644 +index dbafef023e..ec89ecfcae 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -1,5 +1,6 @@ @@ -27,7 +27,7 @@ index dbafef023..ec89ecfca 100644 + } } diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index bab13a4fd..d0e719f44 100644 +index 85eff6e2dd..3464af6791 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -241,6 +241,10 @@ public class LoginListener implements PacketLoginInListener, ITickable { diff --git a/Spigot-Server-Patches/0208-LivingEntity-setKiller.patch b/Spigot-Server-Patches/0207-LivingEntity-setKiller.patch similarity index 92% rename from Spigot-Server-Patches/0208-LivingEntity-setKiller.patch rename to Spigot-Server-Patches/0207-LivingEntity-setKiller.patch index 747f524ab0..9a0b321a55 100644 --- a/Spigot-Server-Patches/0208-LivingEntity-setKiller.patch +++ b/Spigot-Server-Patches/0207-LivingEntity-setKiller.patch @@ -1,11 +1,11 @@ -From 2ad5b2c13862575d1cf7a73a68e117b5729be51f Mon Sep 17 00:00:00 2001 +From 60f41c74b9da92c99db52fdbb77e577b5cd83bf1 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:49:48 -0500 Subject: [PATCH] LivingEntity#setKiller diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 506d0d4e48..460a050cce 100644 +index bd2d90349e..524cfd99b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -255,6 +255,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/Spigot-Server-Patches/0208-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch similarity index 93% rename from Spigot-Server-Patches/0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch rename to Spigot-Server-Patches/0208-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch index ed0ebe3f64..527e292b31 100644 --- a/Spigot-Server-Patches/0209-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch +++ b/Spigot-Server-Patches/0208-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -1,4 +1,4 @@ -From 73bbebc2ba89bec6a0a886d598bac3901e2f81c8 Mon Sep 17 00:00:00 2001 +From bbc9db021b60dd6257e0efc1acb190c28f0a023c Mon Sep 17 00:00:00 2001 From: Minecrell Date: Mon, 18 Sep 2017 12:00:03 +0200 Subject: [PATCH] Use Log4j IOStreams to redirect System.out/err to logger @@ -12,7 +12,7 @@ results in a separate line, even though it should not result in a line break. Log4j's implementation handles it correctly. diff --git a/pom.xml b/pom.xml -index 47e307a24..a93ed45df 100644 +index 47e307a246..a93ed45df9 100644 --- a/pom.xml +++ b/pom.xml @@ -89,6 +89,13 @@ @@ -30,7 +30,7 @@ index 47e307a24..a93ed45df 100644 junit diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index af430b73f..8c7630018 100644 +index af430b73f0..8c76300185 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -131,8 +131,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer diff --git a/Spigot-Server-Patches/0210-Handle-plugin-prefixes-using-Log4J-configuration.patch b/Spigot-Server-Patches/0209-Handle-plugin-prefixes-using-Log4J-configuration.patch similarity index 95% rename from Spigot-Server-Patches/0210-Handle-plugin-prefixes-using-Log4J-configuration.patch rename to Spigot-Server-Patches/0209-Handle-plugin-prefixes-using-Log4J-configuration.patch index 495741d009..723e3c257d 100644 --- a/Spigot-Server-Patches/0210-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/Spigot-Server-Patches/0209-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -1,4 +1,4 @@ -From d5b28ecc49de351485333e2960919669c43780e7 Mon Sep 17 00:00:00 2001 +From 28222826f87feef4f8cdd05f38e2b6220e987dc6 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:14:55 +0200 Subject: [PATCH] Handle plugin prefixes using Log4J configuration @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/pom.xml b/pom.xml -index a93ed45df..bb32cb749 100644 +index a93ed45df9..bb32cb749d 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ @@ -28,7 +28,7 @@ index a93ed45df..bb32cb749 100644 diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 676780b61..5a873fe9d 100644 +index 676780b619..5a873fe9d7 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -286,7 +286,7 @@ public class SpigotConfig @@ -41,7 +41,7 @@ index 676780b61..5a873fe9d 100644 public static int playerShuffle; diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 08b6bb7f9..9f8334376 100644 +index 08b6bb7f97..9f8334376f 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -2,10 +2,22 @@ diff --git a/Spigot-Server-Patches/0211-Include-Log4J2-SLF4J-implementation.patch b/Spigot-Server-Patches/0210-Include-Log4J2-SLF4J-implementation.patch similarity index 87% rename from Spigot-Server-Patches/0211-Include-Log4J2-SLF4J-implementation.patch rename to Spigot-Server-Patches/0210-Include-Log4J2-SLF4J-implementation.patch index f15a0e056f..86ca74b568 100644 --- a/Spigot-Server-Patches/0211-Include-Log4J2-SLF4J-implementation.patch +++ b/Spigot-Server-Patches/0210-Include-Log4J2-SLF4J-implementation.patch @@ -1,11 +1,11 @@ -From 7c9fbb91ca5a19e2e151dbf2e4021220d5347a31 Mon Sep 17 00:00:00 2001 +From a56190cc108317d133af9fa00a0e7ed0ad0ae60e Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:33:35 +0200 Subject: [PATCH] Include Log4J2 SLF4J implementation diff --git a/pom.xml b/pom.xml -index bb32cb749..a319cfe3b 100644 +index bb32cb749d..a319cfe3b8 100644 --- a/pom.xml +++ b/pom.xml @@ -90,6 +90,12 @@ diff --git a/Spigot-Server-Patches/0212-Disable-logger-prefix-for-various-plugins-bypassing-.patch b/Spigot-Server-Patches/0211-Disable-logger-prefix-for-various-plugins-bypassing-.patch similarity index 95% rename from Spigot-Server-Patches/0212-Disable-logger-prefix-for-various-plugins-bypassing-.patch rename to Spigot-Server-Patches/0211-Disable-logger-prefix-for-various-plugins-bypassing-.patch index e84d0ea243..f39b34a294 100644 --- a/Spigot-Server-Patches/0212-Disable-logger-prefix-for-various-plugins-bypassing-.patch +++ b/Spigot-Server-Patches/0211-Disable-logger-prefix-for-various-plugins-bypassing-.patch @@ -1,4 +1,4 @@ -From f0482df655443d55ca6c3af38ad3fdc16e60273b Mon Sep 17 00:00:00 2001 +From 302c4c748fcecce67136bb6784edec39bed38d40 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Sat, 23 Sep 2017 21:07:20 +0200 Subject: [PATCH] Disable logger prefix for various plugins bypassing the @@ -11,7 +11,7 @@ log. Disable the logger prefix for these plugins so the messages show up correctly. diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 9f8334376..6711e6dff 100644 +index 9f8334376f..6711e6dff9 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -5,7 +5,8 @@ diff --git a/Spigot-Server-Patches/0213-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0212-Add-PlayerJumpEvent.patch similarity index 96% rename from Spigot-Server-Patches/0213-Add-PlayerJumpEvent.patch rename to Spigot-Server-Patches/0212-Add-PlayerJumpEvent.patch index 3c22920fa1..840a5ff83a 100644 --- a/Spigot-Server-Patches/0213-Add-PlayerJumpEvent.patch +++ b/Spigot-Server-Patches/0212-Add-PlayerJumpEvent.patch @@ -1,11 +1,11 @@ -From e2039fa94b546d69eae59942ae8af658cb991af5 Mon Sep 17 00:00:00 2001 +From 79fc93dd4ff1dd0556c676f32dcd539d6e2104b1 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 28 Sep 2017 17:21:44 -0400 Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index b20cab58b..1bfe9d0e7 100644 +index b20cab58b1..1bfe9d0e7a 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1460,6 +1460,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -17,7 +17,7 @@ index b20cab58b..1bfe9d0e7 100644 super.cH(); this.a(StatisticList.JUMP); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 932eeb19d..7465c548a 100644 +index 932eeb19db..7465c548af 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -57,6 +57,8 @@ import org.bukkit.inventory.CraftingInventory; diff --git a/Spigot-Server-Patches/0214-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0213-handle-PacketPlayInKeepAlive-async.patch similarity index 95% rename from Spigot-Server-Patches/0214-handle-PacketPlayInKeepAlive-async.patch rename to Spigot-Server-Patches/0213-handle-PacketPlayInKeepAlive-async.patch index 16314c9032..94225a61bd 100644 --- a/Spigot-Server-Patches/0214-handle-PacketPlayInKeepAlive-async.patch +++ b/Spigot-Server-Patches/0213-handle-PacketPlayInKeepAlive-async.patch @@ -1,4 +1,4 @@ -From 05eb39bf369cc2a0267af54bead833e5fccfec1e Mon Sep 17 00:00:00 2001 +From 08d88bf479bfa513a4a5dcf0cab8bf6a13aac406 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 5 Oct 2017 01:54:07 +0100 Subject: [PATCH] handle PacketPlayInKeepAlive async @@ -15,7 +15,7 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 480b93aa0..9f7443ef0 100644 +index 7465c548af..add29081d2 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2470,14 +2470,18 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0215-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-Server-Patches/0214-Expose-client-protocol-version-and-virtual-host.patch similarity index 95% rename from Spigot-Server-Patches/0215-Expose-client-protocol-version-and-virtual-host.patch rename to Spigot-Server-Patches/0214-Expose-client-protocol-version-and-virtual-host.patch index 7070c28631..7583ac8b15 100644 --- a/Spigot-Server-Patches/0215-Expose-client-protocol-version-and-virtual-host.patch +++ b/Spigot-Server-Patches/0214-Expose-client-protocol-version-and-virtual-host.patch @@ -1,4 +1,4 @@ -From 3541b3881a5ed15147bc2f89d8802dd32b52249b Mon Sep 17 00:00:00 2001 +From 27ae3854b22a9da1824e3adad67c0d1a94b52be4 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 10 Oct 2017 18:45:20 +0200 Subject: [PATCH] Expose client protocol version and virtual host @@ -6,7 +6,7 @@ Subject: [PATCH] Expose client protocol version and virtual host diff --git a/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java new file mode 100644 -index 000000000..5caca6439 +index 0000000000..5caca6439d --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java @@ -0,0 +1,50 @@ @@ -61,7 +61,7 @@ index 000000000..5caca6439 + +} diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index 088ec198e..bc34cd687 100644 +index 2d57bdf40e..816210fb91 100644 --- a/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java @@ -15,6 +15,7 @@ public class HandshakeListener implements PacketHandshakingInListener { @@ -84,7 +84,7 @@ index 088ec198e..bc34cd687 100644 public void a(IChatBaseComponent ichatbasecomponent) {} diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 5b0d83a1d..424464d09 100644 +index 0afaea8109..61f9eb3e64 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -63,6 +63,10 @@ public class NetworkManager extends SimpleChannelInboundHandler> { @@ -99,7 +99,7 @@ index 5b0d83a1d..424464d09 100644 public NetworkManager(EnumProtocolDirection enumprotocoldirection) { this.h = enumprotocoldirection; diff --git a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java -index 7acdac55e..f1a3be69d 100644 +index 7acdac55e5..f1a3be69d0 100644 --- a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java +++ b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java @@ -33,6 +33,7 @@ public class PacketHandshakingInSetProtocol implements Packet Date: Sun, 15 Oct 2017 00:29:07 +0100 Subject: [PATCH] revert serverside behavior of keepalives @@ -17,7 +17,7 @@ from networking or during connections flood of chunk packets on slower clients, at the cost of dead connections being kept open for longer. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 9f7443ef0..7e96c4eb4 100644 +index add29081d2..cb9f25e961 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -69,7 +69,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0217-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch b/Spigot-Server-Patches/0216-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch similarity index 92% rename from Spigot-Server-Patches/0217-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch rename to Spigot-Server-Patches/0216-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch index 8e6b230f73..22538c69ad 100644 --- a/Spigot-Server-Patches/0217-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch +++ b/Spigot-Server-Patches/0216-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch @@ -1,4 +1,4 @@ -From 02485329579ce13c80b522e35a9dbf9602e0d82e Mon Sep 17 00:00:00 2001 +From b088e781bdb0c1f995db5e4865791f7aeb6c401e Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Fri, 20 Oct 2017 04:33:45 +0200 Subject: [PATCH] Replace HashSet with fastutil's ObjectOpenHashSet in @@ -13,7 +13,7 @@ ObjectOpenHashSet never uses compareTo(), so the inconsistencies of NextTickList Fixes https://github.com/PaperMC/Paper/issues/588 diff --git a/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java b/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java -index 80a5c29f3..cd864c404 100644 +index 80a5c29f3b..cd864c4047 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java +++ b/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java @@ -8,7 +8,7 @@ import java.util.TreeSet; diff --git a/Spigot-Server-Patches/0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0217-Send-attack-SoundEffects-only-to-players-who-can-see.patch similarity index 97% rename from Spigot-Server-Patches/0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch rename to Spigot-Server-Patches/0217-Send-attack-SoundEffects-only-to-players-who-can-see.patch index c0d5b85eb2..f44056311a 100644 --- a/Spigot-Server-Patches/0218-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/Spigot-Server-Patches/0217-Send-attack-SoundEffects-only-to-players-who-can-see.patch @@ -1,4 +1,4 @@ -From 68d7cdfbe8d650efad86ee10f528f15670eabe04 Mon Sep 17 00:00:00 2001 +From e18095189bb47d3aa275a03f012007f493105b05 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 31 Oct 2017 03:26:18 +0100 Subject: [PATCH] Send attack SoundEffects only to players who can see the @@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1bfe9d0e7..cd3e021a0 100644 +index 1bfe9d0e7a..cd3e021a09 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -981,6 +981,15 @@ public abstract class EntityHuman extends EntityLiving { @@ -72,7 +72,7 @@ index 1bfe9d0e7..cd3e021a0 100644 entity.extinguish(); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2f9aa10f8..2904a845b 100644 +index 2f9aa10f85..2904a845b1 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -916,6 +916,12 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0219-Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/0218-Option-for-maximum-exp-value-when-merging-orbs.patch similarity index 95% rename from Spigot-Server-Patches/0219-Option-for-maximum-exp-value-when-merging-orbs.patch rename to Spigot-Server-Patches/0218-Option-for-maximum-exp-value-when-merging-orbs.patch index c6c966b6f3..ddbcc311a8 100644 --- a/Spigot-Server-Patches/0219-Option-for-maximum-exp-value-when-merging-orbs.patch +++ b/Spigot-Server-Patches/0218-Option-for-maximum-exp-value-when-merging-orbs.patch @@ -1,11 +1,11 @@ -From 15caeb73f605a58c3988eba2faba786ec1de8850 Mon Sep 17 00:00:00 2001 +From ba753e79cce891252f5a7acc373fe4bd63a7d969 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 10 Nov 2017 23:03:12 -0500 Subject: [PATCH] Option for maximum exp value when merging orbs diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index c80d84b9b..605e84173 100644 +index c80d84b9b2..605e84173d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -361,4 +361,10 @@ public class PaperWorldConfig { @@ -20,7 +20,7 @@ index c80d84b9b..605e84173 100644 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 56292fad9..d5c509733 100644 +index 2904a845b1..142b6cc033 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -994,16 +994,30 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0219-Add-PlayerArmorChangeEvent.patch similarity index 94% rename from Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch rename to Spigot-Server-Patches/0219-Add-PlayerArmorChangeEvent.patch index 0d6aa4e73f..6646042213 100644 --- a/Spigot-Server-Patches/0220-Add-PlayerArmorChangeEvent.patch +++ b/Spigot-Server-Patches/0219-Add-PlayerArmorChangeEvent.patch @@ -1,11 +1,11 @@ -From 9cb4fc032e1908f0126b22723ebc8ec555e51884 Mon Sep 17 00:00:00 2001 +From 28232f54f42a2be1d450bb346630809b76fbf87f Mon Sep 17 00:00:00 2001 From: pkt77 Date: Fri, 10 Nov 2017 23:46:34 -0500 Subject: [PATCH] Add PlayerArmorChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 0dcafdbcc..a4026d64a 100644 +index b596a616fe..999a02cad3 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1,5 +1,6 @@ @@ -30,7 +30,7 @@ index 0dcafdbcc..a4026d64a 100644 if (!itemstack.isEmpty()) { this.getAttributeMap().a(itemstack.a(enumitemslot)); diff --git a/src/main/java/net/minecraft/server/EnumItemSlot.java b/src/main/java/net/minecraft/server/EnumItemSlot.java -index cdf3a3ba4..be5d0bf89 100644 +index cdf3a3ba4a..be5d0bf898 100644 --- a/src/main/java/net/minecraft/server/EnumItemSlot.java +++ b/src/main/java/net/minecraft/server/EnumItemSlot.java @@ -16,6 +16,7 @@ public enum EnumItemSlot { diff --git a/Spigot-Server-Patches/0221-Prevent-logins-from-being-processed-when-the-player-.patch b/Spigot-Server-Patches/0220-Prevent-logins-from-being-processed-when-the-player-.patch similarity index 91% rename from Spigot-Server-Patches/0221-Prevent-logins-from-being-processed-when-the-player-.patch rename to Spigot-Server-Patches/0220-Prevent-logins-from-being-processed-when-the-player-.patch index 2574c762d0..883dc3b6bf 100644 --- a/Spigot-Server-Patches/0221-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/Spigot-Server-Patches/0220-Prevent-logins-from-being-processed-when-the-player-.patch @@ -1,4 +1,4 @@ -From 9bdee54edd28ee7085c421af0183d3b196c9954e Mon Sep 17 00:00:00 2001 +From c456212ffebb223d42fc2f3c9faf162477427caf Mon Sep 17 00:00:00 2001 From: killme Date: Sun, 12 Nov 2017 19:40:01 +0100 Subject: [PATCH] Prevent logins from being processed when the player has @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent logins from being processed when the player has diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index d0e719f44..7dbc6f437 100644 +index 3464af6791..ae10cd89c1 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -57,7 +57,11 @@ public class LoginListener implements PacketLoginInListener, ITickable { diff --git a/Spigot-Server-Patches/0222-use-CB-BlockState-implementations-for-captured-block.patch b/Spigot-Server-Patches/0221-use-CB-BlockState-implementations-for-captured-block.patch similarity index 94% rename from Spigot-Server-Patches/0222-use-CB-BlockState-implementations-for-captured-block.patch rename to Spigot-Server-Patches/0221-use-CB-BlockState-implementations-for-captured-block.patch index 62da1619b4..1685eb4af8 100644 --- a/Spigot-Server-Patches/0222-use-CB-BlockState-implementations-for-captured-block.patch +++ b/Spigot-Server-Patches/0221-use-CB-BlockState-implementations-for-captured-block.patch @@ -1,4 +1,4 @@ -From bd84d6b81f6ed4ad32b47fca3e98a50dac4b1822 Mon Sep 17 00:00:00 2001 +From 871572c7cb06159e032d17dcaf629252fd3ba907 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 16 Nov 2017 12:12:41 +0000 Subject: [PATCH] use CB BlockState implementations for captured blocks @@ -18,7 +18,7 @@ the blockstate that will be valid for restoration, as opposed to dropping information on restoration when the event is cancelled. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d5c509733..b96511804 100644 +index 142b6cc033..642a504d4f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -374,7 +374,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0223-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-Server-Patches/0222-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 96% rename from Spigot-Server-Patches/0223-API-to-get-a-BlockState-without-a-snapshot.patch rename to Spigot-Server-Patches/0222-API-to-get-a-BlockState-without-a-snapshot.patch index 7d0f77ea4c..b6b057fbe1 100644 --- a/Spigot-Server-Patches/0223-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/Spigot-Server-Patches/0222-API-to-get-a-BlockState-without-a-snapshot.patch @@ -1,4 +1,4 @@ -From 94d006f44ba2bb5da02873d81d82a0f0fe833300 Mon Sep 17 00:00:00 2001 +From 3654a5a2fdfc4d68c9055b22d9913a1d250f6130 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 6 Nov 2017 21:08:22 -0500 Subject: [PATCH] API to get a BlockState without a snapshot @@ -13,7 +13,7 @@ also Avoid NPE during CraftBlockEntityState load if could not get TE If Tile Entity was null, correct Sign to return empty lines instead of null diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 2cfe2202e..909432d51 100644 +index 9ad14417e3..3e9b357c87 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -203,7 +203,12 @@ public abstract class TileEntity implements KeyedObject { @@ -39,7 +39,7 @@ index 2cfe2202e..909432d51 100644 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index bbf7b5088..c94b5c817 100644 +index 698d044a8d..9514968b07 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -263,6 +263,20 @@ public class CraftBlock implements Block { @@ -64,7 +64,7 @@ index bbf7b5088..c94b5c817 100644 switch (material) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index 0558cafe3..d4d9c5fc5 100644 +index 0558cafe31..d4d9c5fc50 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -23,20 +23,40 @@ public class CraftBlockEntityState extends CraftBlockState @@ -114,7 +114,7 @@ index 0558cafe3..d4d9c5fc5 100644 private T createSnapshot(T tileEntity, World world) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -index 7a8d44529..97b4e6910 100644 +index 7a8d445299..97b4e6910d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java @@ -14,10 +14,12 @@ public class CraftSign extends CraftBlockEntityState implements diff --git a/Spigot-Server-Patches/0224-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0223-AsyncTabCompleteEvent.patch similarity index 96% rename from Spigot-Server-Patches/0224-AsyncTabCompleteEvent.patch rename to Spigot-Server-Patches/0223-AsyncTabCompleteEvent.patch index 74797e9ae6..e91160b0c7 100644 --- a/Spigot-Server-Patches/0224-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0223-AsyncTabCompleteEvent.patch @@ -1,4 +1,4 @@ -From f4914b7018762e1d9e23715905c35c231f5d697c Mon Sep 17 00:00:00 2001 +From 3e175150c0df5d545748e4fd74dd2c0c884a5e9b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 26 Nov 2017 13:19:58 -0500 Subject: [PATCH] AsyncTabCompleteEvent @@ -14,18 +14,18 @@ completion, such as offline players. Also adds isCommand and getLocation to the sync TabCompleteEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index cb9f25e96..c0249933b 100644 +index 619f020ba4..5778bf1c65 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -504,18 +504,59 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -504,18 +504,60 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } public void a(PacketPlayInTabComplete packetplayintabcomplete) { - PlayerConnectionUtils.ensureMainThread(packetplayintabcomplete, this, this.player.getWorldServer()); + // PlayerConnectionUtils.ensureMainThread(packetplayintabcomplete, this, this.player.getWorldServer()); // Paper - run this async // CraftBukkit start - if (chatSpamField.addAndGet(this, 5) > 500 && !this.minecraftServer.getPlayerList().isOp(this.player.getProfile())) { -- this.disconnect(new ChatMessage("disconnect.spam", new Object[0])); + if (chatSpamField.addAndGet(this, 2) > 500 && !this.minecraftServer.getPlayerList().isOp(this.player.getProfile())) { + this.disconnect(new ChatMessage("disconnect.spam", new Object[0])); + minecraftServer.postToMainThread(() -> this.disconnect(new ChatMessage("disconnect.spam", new Object[0]))); // Paper return; } @@ -85,7 +85,7 @@ index cb9f25e96..c0249933b 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 202c6c492..c74831b3d 100644 +index 202c6c4927..c74831b3d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1667,7 +1667,7 @@ public final class CraftServer implements Server { @@ -98,7 +98,7 @@ index 202c6c492..c74831b3d 100644 return tabEvent.isCancelled() ? Collections.EMPTY_LIST : tabEvent.getCompletions(); diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java -index 1e3aae3b8..95d13c146 100644 +index 1e3aae3b8f..95d13c146b 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java +++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java @@ -28,6 +28,39 @@ public class ConsoleCommandCompleter implements Completer { diff --git a/Spigot-Server-Patches/0225-Avoid-NPE-in-PathfinderGoalTempt.patch b/Spigot-Server-Patches/0224-Avoid-NPE-in-PathfinderGoalTempt.patch similarity index 89% rename from Spigot-Server-Patches/0225-Avoid-NPE-in-PathfinderGoalTempt.patch rename to Spigot-Server-Patches/0224-Avoid-NPE-in-PathfinderGoalTempt.patch index de264175cf..439c9cdcf2 100644 --- a/Spigot-Server-Patches/0225-Avoid-NPE-in-PathfinderGoalTempt.patch +++ b/Spigot-Server-Patches/0224-Avoid-NPE-in-PathfinderGoalTempt.patch @@ -1,11 +1,11 @@ -From 66b8e5de50e36ee6f046f28135d963376827f17e Mon Sep 17 00:00:00 2001 +From a36a3ffd0d1048e5e1cc7e74f46ae7a1d54289f6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 29 Nov 2017 22:18:54 -0500 Subject: [PATCH] Avoid NPE in PathfinderGoalTempt diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java -index 154202700..64b1ac71b 100644 +index 8ca996e652..1b82479418 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java @@ -52,7 +52,7 @@ public class PathfinderGoalTempt extends PathfinderGoal { diff --git a/Spigot-Server-Patches/0226-PlayerPickupExperienceEvent.patch b/Spigot-Server-Patches/0225-PlayerPickupExperienceEvent.patch similarity index 91% rename from Spigot-Server-Patches/0226-PlayerPickupExperienceEvent.patch rename to Spigot-Server-Patches/0225-PlayerPickupExperienceEvent.patch index 18338e14c7..19c4cc4dd4 100644 --- a/Spigot-Server-Patches/0226-PlayerPickupExperienceEvent.patch +++ b/Spigot-Server-Patches/0225-PlayerPickupExperienceEvent.patch @@ -1,4 +1,4 @@ -From 8bed7b19ff45041aeeb92705f05366a3b2a15cff Mon Sep 17 00:00:00 2001 +From 9849a550cb90b5d34fb6d2a4882175a8e055460a Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 22:02:53 -0500 Subject: [PATCH] PlayerPickupExperienceEvent @@ -6,7 +6,7 @@ Subject: [PATCH] PlayerPickupExperienceEvent Allows plugins to cancel a player picking up an experience orb diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 79d80596d..a87ef5fb8 100644 +index 79d80596df..a87ef5fb8c 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -218,7 +218,7 @@ public class EntityExperienceOrb extends Entity { diff --git a/Spigot-Server-Patches/0227-ExperienceOrbMergeEvent.patch b/Spigot-Server-Patches/0226-ExperienceOrbMergeEvent.patch similarity index 93% rename from Spigot-Server-Patches/0227-ExperienceOrbMergeEvent.patch rename to Spigot-Server-Patches/0226-ExperienceOrbMergeEvent.patch index c0ee601c88..9a2af97c4c 100644 --- a/Spigot-Server-Patches/0227-ExperienceOrbMergeEvent.patch +++ b/Spigot-Server-Patches/0226-ExperienceOrbMergeEvent.patch @@ -1,4 +1,4 @@ -From be8638c45049455649276f1af83033d7eb7760d2 Mon Sep 17 00:00:00 2001 +From 2c317cc196671b1892fe0fdf7b50105a322978e9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 22:57:26 -0500 Subject: [PATCH] ExperienceOrbMergeEvent @@ -8,7 +8,7 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor metadata such as spawn reason, or conditionally move data from source to target. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b96511804..d8ce3efc9 100644 +index 642a504d4f..00eb342f8c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1003,7 +1003,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0228-Ability-to-apply-mending-to-XP-API.patch b/Spigot-Server-Patches/0227-Ability-to-apply-mending-to-XP-API.patch similarity index 95% rename from Spigot-Server-Patches/0228-Ability-to-apply-mending-to-XP-API.patch rename to Spigot-Server-Patches/0227-Ability-to-apply-mending-to-XP-API.patch index 5c849a7ebc..542f0fc63b 100644 --- a/Spigot-Server-Patches/0228-Ability-to-apply-mending-to-XP-API.patch +++ b/Spigot-Server-Patches/0227-Ability-to-apply-mending-to-XP-API.patch @@ -1,4 +1,4 @@ -From efe7ce57afb0a73e514ce0c788a111757e7ac7ae Mon Sep 17 00:00:00 2001 +From ad3c4c9dde2939d26da9efc5af88b794ecaac362 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Dec 2017 17:36:49 -0500 Subject: [PATCH] Ability to apply mending to XP API @@ -10,7 +10,7 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java -index 3204d94c5..e4ed9e206 100644 +index 3204d94c54..e4ed9e2066 100644 --- a/src/main/java/net/minecraft/server/EnchantmentManager.java +++ b/src/main/java/net/minecraft/server/EnchantmentManager.java @@ -245,6 +245,7 @@ public class EnchantmentManager { @@ -22,7 +22,7 @@ index 3204d94c5..e4ed9e206 100644 List list = enchantment.a(entityliving); diff --git a/src/main/java/net/minecraft/server/Enchantments.java b/src/main/java/net/minecraft/server/Enchantments.java -index 0f4aad20f..3a5263fd9 100644 +index 0f4aad20fe..3a5263fd9f 100644 --- a/src/main/java/net/minecraft/server/Enchantments.java +++ b/src/main/java/net/minecraft/server/Enchantments.java @@ -36,7 +36,7 @@ public class Enchantments { @@ -35,7 +35,7 @@ index 0f4aad20f..3a5263fd9 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index a87ef5fb8..b8bfc7577 100644 +index a87ef5fb8c..b8bfc75771 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -246,10 +246,12 @@ public class EntityExperienceOrb extends Entity { @@ -52,7 +52,7 @@ index a87ef5fb8..b8bfc7577 100644 return i * 2; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 43e357e39..7021a81be 100644 +index 23200bb597..9f69000cb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -970,8 +970,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0229-Configurable-Chunks-Sends-per-Tick-setting.patch b/Spigot-Server-Patches/0228-Configurable-Chunks-Sends-per-Tick-setting.patch similarity index 92% rename from Spigot-Server-Patches/0229-Configurable-Chunks-Sends-per-Tick-setting.patch rename to Spigot-Server-Patches/0228-Configurable-Chunks-Sends-per-Tick-setting.patch index 5e917c3629..eb80cdb1d6 100644 --- a/Spigot-Server-Patches/0229-Configurable-Chunks-Sends-per-Tick-setting.patch +++ b/Spigot-Server-Patches/0228-Configurable-Chunks-Sends-per-Tick-setting.patch @@ -1,4 +1,4 @@ -From f833988ed04cab6d37a5e4fe6e0e011709bb0444 Mon Sep 17 00:00:00 2001 +From 7f9f65664836f95ae0a274c8d6895f515ddcd0c6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 1 Jan 2018 15:41:59 -0500 Subject: [PATCH] Configurable Chunks Sends per Tick setting @@ -8,7 +8,7 @@ Vanilla already had this limited, make it configurable. Limit how much exploration lags the server diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 605e84173..703642c0b 100644 +index 605e84173d..703642c0b6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -367,4 +367,13 @@ public class PaperWorldConfig { @@ -26,7 +26,7 @@ index 605e84173..703642c0b 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index bfe2d03a5..9fd07f859 100644 +index bfe2d03a57..9fd07f8596 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -172,7 +172,7 @@ public class PlayerChunkMap { diff --git a/Spigot-Server-Patches/0230-Configurable-Max-Chunk-Gens-per-Tick.patch b/Spigot-Server-Patches/0229-Configurable-Max-Chunk-Gens-per-Tick.patch similarity index 95% rename from Spigot-Server-Patches/0230-Configurable-Max-Chunk-Gens-per-Tick.patch rename to Spigot-Server-Patches/0229-Configurable-Max-Chunk-Gens-per-Tick.patch index 172cabf936..2947a44561 100644 --- a/Spigot-Server-Patches/0230-Configurable-Max-Chunk-Gens-per-Tick.patch +++ b/Spigot-Server-Patches/0229-Configurable-Max-Chunk-Gens-per-Tick.patch @@ -1,4 +1,4 @@ -From 49fd7e234581b6c8da9707da2854313aae503874 Mon Sep 17 00:00:00 2001 +From 5afc717dcba0250b8eae9c051c8cde1729b95414 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 1 Jan 2018 16:10:24 -0500 Subject: [PATCH] Configurable Max Chunk Gens per Tick @@ -13,7 +13,7 @@ This should result in no noticeable speed reduction in generation for servers no lagging, and let larger servers reduce this value according to their own desires. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 703642c0b..faa7597b3 100644 +index 703642c0b6..faa7597b35 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -376,4 +376,15 @@ public class PaperWorldConfig { @@ -33,7 +33,7 @@ index 703642c0b..faa7597b3 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 344b95233..fcd9f5491 100644 +index 344b95233f..fcd9f5491f 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -28,6 +28,7 @@ public class PlayerChunk { @@ -53,7 +53,7 @@ index 344b95233..fcd9f5491 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 9fd07f859..e29aaab2d 100644 +index 9fd07f8596..e29aaab2da 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -140,6 +140,7 @@ public class PlayerChunkMap { @@ -77,7 +77,7 @@ index 9fd07f859..e29aaab2d 100644 if (playerchunk1.a(flag)) { iterator1.remove(); diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java -index 9aaca21a7..f50d55c8e 100644 +index 9aaca21a79..f50d55c8ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java @@ -35,4 +35,10 @@ public class ChunkIOExecutor { @@ -92,7 +92,7 @@ index 9aaca21a7..f50d55c8e 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java -index 193c3621c..cf1258c55 100644 +index 193c3621c6..cf1258c559 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java +++ b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java @@ -351,4 +351,10 @@ public final class AsynchronousExecutor { diff --git a/Spigot-Server-Patches/0231-Make-max-squid-spawn-height-configurable.patch b/Spigot-Server-Patches/0230-Make-max-squid-spawn-height-configurable.patch similarity index 92% rename from Spigot-Server-Patches/0231-Make-max-squid-spawn-height-configurable.patch rename to Spigot-Server-Patches/0230-Make-max-squid-spawn-height-configurable.patch index 5ae1da1b9a..67a0096675 100644 --- a/Spigot-Server-Patches/0231-Make-max-squid-spawn-height-configurable.patch +++ b/Spigot-Server-Patches/0230-Make-max-squid-spawn-height-configurable.patch @@ -1,4 +1,4 @@ -From 8717d750efce7685cb40fb5a2aada1deeca9a537 Mon Sep 17 00:00:00 2001 +From 2c20d9aab412c5b9d160456ef45d397a162298f5 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 11 Jan 2018 16:47:28 -0600 Subject: [PATCH] Make max squid spawn height configurable @@ -7,7 +7,7 @@ I don't know why upstream made only the minimum height configurable but whatever diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index faa7597b3..fddd52caf 100644 +index faa7597b35..fddd52caf7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -387,4 +387,9 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index faa7597b3..fddd52caf 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index ffc6d0b68..70b251210 100644 +index 97de169de2..3099f6aa7a 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -167,7 +167,10 @@ public class EntitySquid extends EntityWaterAnimal { diff --git a/Spigot-Server-Patches/0232-PreCreatureSpawnEvent.patch b/Spigot-Server-Patches/0231-PreCreatureSpawnEvent.patch similarity index 97% rename from Spigot-Server-Patches/0232-PreCreatureSpawnEvent.patch rename to Spigot-Server-Patches/0231-PreCreatureSpawnEvent.patch index 807440e5f0..72e7099e5c 100644 --- a/Spigot-Server-Patches/0232-PreCreatureSpawnEvent.patch +++ b/Spigot-Server-Patches/0231-PreCreatureSpawnEvent.patch @@ -1,4 +1,4 @@ -From 58be61c968baa7692620f453e152388df99e325e Mon Sep 17 00:00:00 2001 +From 0bc6c124ed1c6be43add0164f7711220f38af6a8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:01:31 -0500 Subject: [PATCH] PreCreatureSpawnEvent @@ -15,7 +15,7 @@ instead and save a lot of server resources. See: https://github.com/PaperMC/Paper/issues/917 diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index c76dbe74a..b88160a2e 100644 +index c76dbe74ac..b88160a2ed 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -1,6 +1,7 @@ @@ -55,7 +55,7 @@ index c76dbe74a..b88160a2e 100644 if (entity == null) { diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 6d842df62..8c6c68c9e 100644 +index 342a15db5e..973c3d1e9e 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -160,10 +160,30 @@ public final class SpawnerCreature { diff --git a/Spigot-Server-Patches/0233-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0232-PlayerNaturallySpawnCreaturesEvent.patch similarity index 93% rename from Spigot-Server-Patches/0233-PlayerNaturallySpawnCreaturesEvent.patch rename to Spigot-Server-Patches/0232-PlayerNaturallySpawnCreaturesEvent.patch index 68345e32c9..230d9dab56 100644 --- a/Spigot-Server-Patches/0233-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0232-PlayerNaturallySpawnCreaturesEvent.patch @@ -1,4 +1,4 @@ -From 003dd0a240eaccbd9e0f2b221ced65a8fcd825e7 Mon Sep 17 00:00:00 2001 +From 7834dbeef5d2f49dbed7721ff35dd583e2b84356 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:36:02 -0500 Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent @@ -9,7 +9,7 @@ from triggering monster spawns on a server. Also a highly more effecient way to blanket block spawns in a world diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 8c6c68c9e..e7bf1e5fc 100644 +index 973c3d1e9e..f525fd1b42 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -47,6 +47,15 @@ public final class SpawnerCreature { diff --git a/Spigot-Server-Patches/0234-Add-SkullMeta.setPlayerProfile-API.patch b/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch similarity index 94% rename from Spigot-Server-Patches/0234-Add-SkullMeta.setPlayerProfile-API.patch rename to Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch index a0f613613b..cc736eb407 100644 --- a/Spigot-Server-Patches/0234-Add-SkullMeta.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 6df26539d98a00ba824fba020dfb08a68c3b673c Mon Sep 17 00:00:00 2001 +From ca32eb428518822c63a80eaee3602dad31fea886 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 19 Jan 2018 00:36:25 -0500 Subject: [PATCH] Add SkullMeta.setPlayerProfile API @@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo which commonly cause rate limit issues with Mojang API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 52de1439e..960ae59ae 100644 +index 52de1439e7..960ae59ae1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -2,6 +2,8 @@ package org.bukkit.craftbukkit.inventory; diff --git a/Spigot-Server-Patches/0235-Fill-Profile-Property-Events.patch b/Spigot-Server-Patches/0234-Fill-Profile-Property-Events.patch similarity index 94% rename from Spigot-Server-Patches/0235-Fill-Profile-Property-Events.patch rename to Spigot-Server-Patches/0234-Fill-Profile-Property-Events.patch index e2bcd2811c..7fe590d1a9 100644 --- a/Spigot-Server-Patches/0235-Fill-Profile-Property-Events.patch +++ b/Spigot-Server-Patches/0234-Fill-Profile-Property-Events.patch @@ -1,4 +1,4 @@ -From 8679d7a0df439bb22997dd86d4ce8789676d7a59 Mon Sep 17 00:00:00 2001 +From 58025f5c89a85bf0b61e258b8a7c49d485b44e06 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 2 Jan 2018 00:31:26 -0500 Subject: [PATCH] Fill Profile Property Events @@ -11,7 +11,7 @@ If Mojang API does need to be hit, event fire so you can get the results. This is useful for implementing a ProfileCache for Player Skulls diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java -index 4b2a67423..f83aa5ef0 100644 +index 4b2a67423f..f83aa5ef0f 100644 --- a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java +++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java @@ -1,5 +1,7 @@ diff --git a/Spigot-Server-Patches/0236-PlayerAdvancementCriterionGrantEvent.patch b/Spigot-Server-Patches/0235-PlayerAdvancementCriterionGrantEvent.patch similarity index 90% rename from Spigot-Server-Patches/0236-PlayerAdvancementCriterionGrantEvent.patch rename to Spigot-Server-Patches/0235-PlayerAdvancementCriterionGrantEvent.patch index 70b3b478f7..e84202c873 100644 --- a/Spigot-Server-Patches/0236-PlayerAdvancementCriterionGrantEvent.patch +++ b/Spigot-Server-Patches/0235-PlayerAdvancementCriterionGrantEvent.patch @@ -1,11 +1,11 @@ -From ac99b992d5076653bb7d4a4870b297ef15c78fc9 Mon Sep 17 00:00:00 2001 +From 460396241443a00d258da20fd6e6717649361f94 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 19 Jan 2018 08:15:29 -0600 Subject: [PATCH] PlayerAdvancementCriterionGrantEvent diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java -index 57918d3d6..67556ed32 100644 +index d0eb65aaf0..5fe0e947c3 100644 --- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java +++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java @@ -232,6 +232,12 @@ public class AdvancementDataPlayer { diff --git a/Spigot-Server-Patches/0237-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch similarity index 97% rename from Spigot-Server-Patches/0237-Add-ArmorStand-Item-Meta.patch rename to Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch index ee211c2575..e54c282a54 100644 --- a/Spigot-Server-Patches/0237-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 3169647239cfc18b81e98e3ea928845f28bc0cc0 Mon Sep 17 00:00:00 2001 +From 73d8cb3ae3e2d449ea00aaa96463effced959b27 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta @@ -13,7 +13,7 @@ starting point for future additions in this area. Fixes GH-559 diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 1cdbdf6d0..da109e35a 100644 +index 1cdbdf6d07..da109e35a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -184,6 +184,8 @@ public final class CraftItemFactory implements ItemFactory { @@ -26,7 +26,7 @@ index 1cdbdf6d0..da109e35a 100644 case CHEST: case TRAPPED_CHEST: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index cadff64bf..b1e0d6185 100644 +index cadff64bfb..b1e0d61856 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -395,6 +395,8 @@ public final class CraftItemStack extends ItemStack { @@ -40,7 +40,7 @@ index cadff64bf..b1e0d6185 100644 case TRAPPED_CHEST: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java new file mode 100644 -index 000000000..30941c7b0 +index 0000000000..30941c7b0c --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java @@ -0,0 +1,309 @@ @@ -354,10 +354,10 @@ index 000000000..30941c7b0 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 86c61abe4..c48911d00 100644 +index f1430d226f..a3f293e4cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -135,6 +135,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -136,6 +136,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { .put(CraftMetaCharge.class, "FIREWORK_EFFECT") .put(CraftMetaKnowledgeBook.class, "KNOWLEDGE_BOOK") .put(CraftMetaTropicalFishBucket.class, "TROPICAL_FISH_BUCKET") @@ -365,7 +365,7 @@ index 86c61abe4..c48911d00 100644 .put(CraftMetaItem.class, "UNSPECIFIC") .build(); -@@ -1092,7 +1093,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1093,7 +1094,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { CraftMetaCharge.EXPLOSION.NBT, CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT, CraftMetaKnowledgeBook.BOOK_RECIPES.NBT, @@ -383,7 +383,7 @@ index 86c61abe4..c48911d00 100644 } return HANDLED_TAGS; diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index f66cc81d9..eb6cf1bb3 100644 +index f66cc81d9e..eb6cf1bb33 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -6,6 +6,7 @@ import static org.hamcrest.Matchers.*; diff --git a/Spigot-Server-Patches/0238-Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch similarity index 98% rename from Spigot-Server-Patches/0238-Extend-Player-Interact-cancellation.patch rename to Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch index 118b007acc..0e4cd2d227 100644 --- a/Spigot-Server-Patches/0238-Extend-Player-Interact-cancellation.patch +++ b/Spigot-Server-Patches/0237-Extend-Player-Interact-cancellation.patch @@ -1,4 +1,4 @@ -From 0d24007fe52669e5bd8aa604109f15490ae7cd07 Mon Sep 17 00:00:00 2001 +From fc10d576b3d09d06db5582b291dd01567dce5ed6 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Feb 2018 10:43:46 +0000 Subject: [PATCH] Extend Player Interact cancellation @@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds when cancelling interaction. diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index e34198e40..e375e2556 100644 +index 55e45f84ca..e83b4fb4b0 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -110,6 +110,7 @@ public class PlayerInteractManager { diff --git a/Spigot-Server-Patches/0239-Tameable-getOwnerUniqueId-API.patch b/Spigot-Server-Patches/0238-Tameable-getOwnerUniqueId-API.patch similarity index 91% rename from Spigot-Server-Patches/0239-Tameable-getOwnerUniqueId-API.patch rename to Spigot-Server-Patches/0238-Tameable-getOwnerUniqueId-API.patch index 0599134fce..61c7072cfa 100644 --- a/Spigot-Server-Patches/0239-Tameable-getOwnerUniqueId-API.patch +++ b/Spigot-Server-Patches/0238-Tameable-getOwnerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 0cc66b09744a98309a2bd93c8617d954006a83af Mon Sep 17 00:00:00 2001 +From 4109edb37b1ec2944247d97c29d71195ac9ba911 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 24 Feb 2018 01:14:55 -0500 Subject: [PATCH] Tameable#getOwnerUniqueId API @@ -7,7 +7,7 @@ This is faster if all you need is the UUID, as .getOwner() will cause an OfflinePlayer to be loaded from disk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index e56bef334..cc9d432e7 100644 +index e56bef3340..cc9d432e7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java @@ -83,6 +83,9 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac @@ -21,7 +21,7 @@ index e56bef334..cc9d432e7 100644 return getHandle().getOwnerUUID(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java -index eaaebeab8..2e959321b 100644 +index eaaebeab83..2e959321b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java @@ -18,6 +18,9 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat diff --git a/Spigot-Server-Patches/0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch similarity index 92% rename from Spigot-Server-Patches/0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch rename to Spigot-Server-Patches/0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch index 43b367241f..b5b85ac4e4 100644 --- a/Spigot-Server-Patches/0240-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/Spigot-Server-Patches/0239-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -1,11 +1,11 @@ -From 2da97a3a645321975638551ed8b7b0b1e79b4783 Mon Sep 17 00:00:00 2001 +From 1abea43276b9357235efc7be09498deb92abb24d Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sat, 10 Mar 2018 00:50:24 +0100 Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index fddd52caf..79df2c171 100644 +index fddd52caf7..79df2c171c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -179,6 +179,11 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index fddd52caf..79df2c171 100644 private void allChunksAreSlimeChunks() { allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false); diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 28688f2ac..98fdfcb60 100644 +index cd3e021a09..d04f9b380e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1021,6 +1021,7 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/Spigot-Server-Patches/0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch b/Spigot-Server-Patches/0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch similarity index 92% rename from Spigot-Server-Patches/0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch rename to Spigot-Server-Patches/0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch index 254e4cfb5f..84dab040b7 100644 --- a/Spigot-Server-Patches/0241-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch +++ b/Spigot-Server-Patches/0240-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch @@ -1,4 +1,4 @@ -From 8fb609894fd5ae64febc7444fc485735a565cbe6 Mon Sep 17 00:00:00 2001 +From 5db29b1d9b5e59cb0f75c5e2716ace221aae5989 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 10 Mar 2018 13:03:49 +0000 Subject: [PATCH] Fix NPE when getting location from InventoryEnderChest opened @@ -6,7 +6,7 @@ Subject: [PATCH] Fix NPE when getting location from InventoryEnderChest opened diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java -index ac81d3f86..f50bae012 100644 +index ac81d3f86b..f50bae0123 100644 --- a/src/main/java/net/minecraft/server/InventoryEnderChest.java +++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java @@ -5,7 +5,7 @@ import org.bukkit.inventory.InventoryHolder; diff --git a/Spigot-Server-Patches/0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch b/Spigot-Server-Patches/0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch similarity index 94% rename from Spigot-Server-Patches/0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch rename to Spigot-Server-Patches/0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch index ee3ccd9676..8e7e291006 100644 --- a/Spigot-Server-Patches/0242-Prevent-Frosted-Ice-from-loading-holding-chunks.patch +++ b/Spigot-Server-Patches/0241-Prevent-Frosted-Ice-from-loading-holding-chunks.patch @@ -1,11 +1,11 @@ -From c0843c56ac5dec0d56f164336ba713dfe9349178 Mon Sep 17 00:00:00 2001 +From f3e8233ea031d161f9fb5a92a019cd34f4ac7081 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 10 Mar 2018 16:33:15 -0500 Subject: [PATCH] Prevent Frosted Ice from loading/holding chunks diff --git a/src/main/java/net/minecraft/server/BlockIceFrost.java b/src/main/java/net/minecraft/server/BlockIceFrost.java -index 77cf6b8e9..9d9671eae 100644 +index 77cf6b8e9b..9d9671eaec 100644 --- a/src/main/java/net/minecraft/server/BlockIceFrost.java +++ b/src/main/java/net/minecraft/server/BlockIceFrost.java @@ -25,6 +25,12 @@ public class BlockIceFrost extends BlockIce { diff --git a/Spigot-Server-Patches/0243-Disable-Explicit-Network-Manager-Flushing.patch b/Spigot-Server-Patches/0242-Disable-Explicit-Network-Manager-Flushing.patch similarity index 94% rename from Spigot-Server-Patches/0243-Disable-Explicit-Network-Manager-Flushing.patch rename to Spigot-Server-Patches/0242-Disable-Explicit-Network-Manager-Flushing.patch index 0f5d5adb7f..b80039b3ff 100644 --- a/Spigot-Server-Patches/0243-Disable-Explicit-Network-Manager-Flushing.patch +++ b/Spigot-Server-Patches/0242-Disable-Explicit-Network-Manager-Flushing.patch @@ -1,4 +1,4 @@ -From 630db698e03a4dbf59460f3ea2d1ea32a9a9081c Mon Sep 17 00:00:00 2001 +From 83268ebeef5e977ab9b5d81b7e1851cf10c4abb5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 11 Mar 2018 14:13:33 -0400 Subject: [PATCH] Disable Explicit Network Manager Flushing @@ -12,7 +12,7 @@ flushing on the netty event loop, so it won't do the flush on the main thread. Renable flushing by passing -Dpaper.explicit-flush=true diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 424464d09..909ad36fb 100644 +index 61f9eb3e64..2272f1239b 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -66,6 +66,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { diff --git a/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch similarity index 97% rename from Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch rename to Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch index 56faf741ef..5fc1bc5d8e 100644 --- a/Spigot-Server-Patches/0244-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From 7eb0bcaafabf173fa684587c8b7654a86a81417a Mon Sep 17 00:00:00 2001 +From f84dca7cff9a63c999b574287e6542ec3bcc0ccb Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Implement extended PaperServerListPingEvent diff --git a/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java new file mode 100644 -index 000000000..c1a8e295b +index 0000000000..c1a8e295b6 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java @@ -0,0 +1,31 @@ @@ -43,7 +43,7 @@ index 000000000..c1a8e295b +} diff --git a/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java new file mode 100644 -index 000000000..a2a409e63 +index 0000000000..a2a409e635 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java @@ -0,0 +1,11 @@ @@ -60,7 +60,7 @@ index 000000000..a2a409e63 +} diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java new file mode 100644 -index 000000000..350410527 +index 0000000000..350410527b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java @@ -0,0 +1,112 @@ @@ -177,7 +177,7 @@ index 000000000..350410527 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cdcc37592..66b637326 100644 +index cdcc375923..66b637326a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -915,7 +915,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -203,7 +203,7 @@ index cdcc37592..66b637326 100644 return this.s.getMaxPlayers(); } diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java -index c9edd289a..8aa121e2f 100644 +index c9edd289ac..8aa121e2f7 100644 --- a/src/main/java/net/minecraft/server/PacketStatusListener.java +++ b/src/main/java/net/minecraft/server/PacketStatusListener.java @@ -30,6 +30,8 @@ public class PacketStatusListener implements PacketStatusInListener { @@ -226,7 +226,7 @@ index c9edd289a..8aa121e2f 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index d7e1ecc03..f20cddc41 100644 +index d7e1ecc031..f20cddc41c 100644 --- a/src/main/java/net/minecraft/server/ServerPing.java +++ b/src/main/java/net/minecraft/server/ServerPing.java @@ -29,6 +29,7 @@ public class ServerPing { @@ -251,7 +251,7 @@ index d7e1ecc03..f20cddc41 100644 this.c = agameprofile; } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 5a873fe9d..42bd3b6ed 100644 +index 5a873fe9d7..42bd3b6edd 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -285,7 +285,7 @@ public class SpigotConfig diff --git a/Spigot-Server-Patches/0245-Improved-Async-Task-Scheduler.patch b/Spigot-Server-Patches/0244-Improved-Async-Task-Scheduler.patch similarity index 99% rename from Spigot-Server-Patches/0245-Improved-Async-Task-Scheduler.patch rename to Spigot-Server-Patches/0244-Improved-Async-Task-Scheduler.patch index b988bb3664..c0a7889f3e 100644 --- a/Spigot-Server-Patches/0245-Improved-Async-Task-Scheduler.patch +++ b/Spigot-Server-Patches/0244-Improved-Async-Task-Scheduler.patch @@ -1,4 +1,4 @@ -From f06918c9b3d5ea2e59d9fdb97964765cc67e41f3 Mon Sep 17 00:00:00 2001 +From fde7de079c6f314161efb3c36c58ba96fb90e6b9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 16 Mar 2018 22:59:43 -0400 Subject: [PATCH] Improved Async Task Scheduler @@ -32,7 +32,7 @@ operations are decoupled from the sync tasks queue. diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java new file mode 100644 -index 000000000..eaf869287 +index 0000000000..eaf8692877 --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java @@ -0,0 +1,127 @@ @@ -164,7 +164,7 @@ index 000000000..eaf869287 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index a2fadaf82..223afc7ed 100644 +index a2fadaf82c..223afc7edc 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -15,7 +15,6 @@ import java.util.concurrent.atomic.AtomicReference; diff --git a/Spigot-Server-Patches/0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 96% rename from Spigot-Server-Patches/0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index 81f6f26079..05211c3e8d 100644 --- a/Spigot-Server-Patches/0246-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -1,4 +1,4 @@ -From fa21f31032976ddd5f0e58dd0b58a3dbdafe665d Mon Sep 17 00:00:00 2001 +From efacdfe905c6b465963472f725db2690aa1290d8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 11:45:57 -0400 Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent This will allow you to change the players name or skin on login. diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 7dbc6f437..02bbb0d1d 100644 +index ae10cd89c1..a721eb30e9 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -1,5 +1,7 @@ diff --git a/Spigot-Server-Patches/0247-Call-PortalCreateEvent-for-exit-portals.patch b/Spigot-Server-Patches/0246-Call-PortalCreateEvent-for-exit-portals.patch similarity index 98% rename from Spigot-Server-Patches/0247-Call-PortalCreateEvent-for-exit-portals.patch rename to Spigot-Server-Patches/0246-Call-PortalCreateEvent-for-exit-portals.patch index 0c2b2c6219..8d962097df 100644 --- a/Spigot-Server-Patches/0247-Call-PortalCreateEvent-for-exit-portals.patch +++ b/Spigot-Server-Patches/0246-Call-PortalCreateEvent-for-exit-portals.patch @@ -1,11 +1,11 @@ -From 7c0b2a1664a8e7e9836aecccf5ae44c1562d669c Mon Sep 17 00:00:00 2001 +From 1638f3ff3613a2cfefd5bb77b761ff9b96e46e8d Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sun, 18 Mar 2018 15:44:44 +0100 Subject: [PATCH] Call PortalCreateEvent for exit portals diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java -index 402d8d7d6..f36373450 100644 +index 402d8d7d63..f363734500 100644 --- a/src/main/java/net/minecraft/server/PortalTravelAgent.java +++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java @@ -3,16 +3,23 @@ package net.minecraft.server; diff --git a/Spigot-Server-Patches/0248-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch similarity index 97% rename from Spigot-Server-Patches/0248-Player.setPlayerProfile-API.patch rename to Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch index 820b862af4..249a14d0cd 100644 --- a/Spigot-Server-Patches/0248-Player.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 6345c6f66496c41addcec4bb59a20042d54113fa Mon Sep 17 00:00:00 2001 +From 4557d91dd4ca4ccd0d1ddbb66fdde9161dc25f47 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 12:29:48 -0400 Subject: [PATCH] Player.setPlayerProfile API @@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 98fdfcb60..de1b6ac86 100644 +index d04f9b380e..5015bd0710 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -67,7 +67,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -19,7 +19,7 @@ index 98fdfcb60..de1b6ac86 100644 private final ItemCooldown ce; @Nullable diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 02bbb0d1d..e73b07f42 100644 +index a721eb30e9..258bdfe66a 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -38,7 +38,7 @@ public class LoginListener implements PacketLoginInListener, ITickable { @@ -48,7 +48,7 @@ index 02bbb0d1d..e73b07f42 100644 uniqueId = i.getId(); // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7021a81be..c0b484177 100644 +index 9f69000cb2..3c85d6323b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,6 +1,8 @@ diff --git a/Spigot-Server-Patches/0249-Fix-Dragon-Server-Crashes.patch b/Spigot-Server-Patches/0248-Fix-Dragon-Server-Crashes.patch similarity index 92% rename from Spigot-Server-Patches/0249-Fix-Dragon-Server-Crashes.patch rename to Spigot-Server-Patches/0248-Fix-Dragon-Server-Crashes.patch index 05cc9b6d7a..98efff037f 100644 --- a/Spigot-Server-Patches/0249-Fix-Dragon-Server-Crashes.patch +++ b/Spigot-Server-Patches/0248-Fix-Dragon-Server-Crashes.patch @@ -1,4 +1,4 @@ -From 2c68ce035af26d50da287bf6ffdf0cdab51c0cc8 Mon Sep 17 00:00:00 2001 +From e2fb3d62635848c82a99efb75ad353a6c389a88b Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Mar 2018 20:52:07 -0400 Subject: [PATCH] Fix Dragon Server Crashes @@ -7,7 +7,7 @@ If the dragon tries to find "ground" and hits a hole, or off edge, it will infinitely keep looking for non air and eventually crash. diff --git a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java -index 41b5a4519..b78d3fe50 100644 +index 41b5a4519b..b78d3fe508 100644 --- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java +++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java @@ -51,7 +51,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded diff --git a/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch similarity index 94% rename from Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch rename to Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch index 177a127264..db4c5b34d0 100644 --- a/Spigot-Server-Patches/0250-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 2881f51e09aaf6feb720969e323bbdcb87b054b7 Mon Sep 17 00:00:00 2001 +From 6ede5e57de6ec91bdb2a1fefbdc54539c7676010 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:40:24 -0400 Subject: [PATCH] getPlayerUniqueId API @@ -9,7 +9,7 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c74831b3d..e860a83d3 100644 +index c74831b3d7..e860a83d3f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1361,6 +1361,26 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0251-Make-player-data-saving-configurable.patch b/Spigot-Server-Patches/0250-Make-player-data-saving-configurable.patch similarity index 93% rename from Spigot-Server-Patches/0251-Make-player-data-saving-configurable.patch rename to Spigot-Server-Patches/0250-Make-player-data-saving-configurable.patch index 56abb4ebce..124551776e 100644 --- a/Spigot-Server-Patches/0251-Make-player-data-saving-configurable.patch +++ b/Spigot-Server-Patches/0250-Make-player-data-saving-configurable.patch @@ -1,11 +1,11 @@ -From 725c61e238b9e9a113f136f26b39315df99de52a Mon Sep 17 00:00:00 2001 +From fe2892e1dc7eb3ac18ed6567e1147369884de47f Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Mon, 26 Mar 2018 18:30:53 +0300 Subject: [PATCH] Make player data saving configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index ec89ecfca..b602bbf12 100644 +index ec89ecfcae..b602bbf122 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -282,4 +282,13 @@ public class PaperConfig { @@ -23,7 +23,7 @@ index ec89ecfca..b602bbf12 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index a562e1e46..cbfdb3cf7 100644 +index a562e1e46c..cbfdb3cf79 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -144,6 +144,7 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData { diff --git a/Spigot-Server-Patches/0252-Make-legacy-ping-handler-more-reliable.patch b/Spigot-Server-Patches/0251-Make-legacy-ping-handler-more-reliable.patch similarity index 98% rename from Spigot-Server-Patches/0252-Make-legacy-ping-handler-more-reliable.patch rename to Spigot-Server-Patches/0251-Make-legacy-ping-handler-more-reliable.patch index 62049e4f61..71c17545d5 100644 --- a/Spigot-Server-Patches/0252-Make-legacy-ping-handler-more-reliable.patch +++ b/Spigot-Server-Patches/0251-Make-legacy-ping-handler-more-reliable.patch @@ -1,4 +1,4 @@ -From c61ddf237a78a4fd0f77adf6bfef362304616d49 Mon Sep 17 00:00:00 2001 +From 7ed9f30f128f27736c38ab140dca2ac2ff0d6889 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 18:22:50 +0200 Subject: [PATCH] Make legacy ping handler more reliable @@ -28,7 +28,7 @@ respond to the request. [2]: https://netty.io/wiki/user-guide-for-4.x.html#wiki-h4-13 diff --git a/src/main/java/net/minecraft/server/LegacyPingHandler.java b/src/main/java/net/minecraft/server/LegacyPingHandler.java -index 41115108f..07c53f505 100644 +index 41115108f1..07c53f5057 100644 --- a/src/main/java/net/minecraft/server/LegacyPingHandler.java +++ b/src/main/java/net/minecraft/server/LegacyPingHandler.java @@ -14,6 +14,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter { diff --git a/Spigot-Server-Patches/0253-Call-PaperServerListPingEvent-for-legacy-pings.patch b/Spigot-Server-Patches/0252-Call-PaperServerListPingEvent-for-legacy-pings.patch similarity index 98% rename from Spigot-Server-Patches/0253-Call-PaperServerListPingEvent-for-legacy-pings.patch rename to Spigot-Server-Patches/0252-Call-PaperServerListPingEvent-for-legacy-pings.patch index 190dd80905..043c57b42d 100644 --- a/Spigot-Server-Patches/0253-Call-PaperServerListPingEvent-for-legacy-pings.patch +++ b/Spigot-Server-Patches/0252-Call-PaperServerListPingEvent-for-legacy-pings.patch @@ -1,4 +1,4 @@ -From 5eb3fa9c26c608913ef6ccf7f4c22fea153fa472 Mon Sep 17 00:00:00 2001 +From b63089a639307fd34b01ccb97374fb59873f6e79 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 19:30:51 +0200 Subject: [PATCH] Call PaperServerListPingEvent for legacy pings @@ -6,7 +6,7 @@ Subject: [PATCH] Call PaperServerListPingEvent for legacy pings diff --git a/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java b/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java new file mode 100644 -index 000000000..74c012fd4 +index 0000000000..74c012fd40 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java @@ -0,0 +1,73 @@ @@ -84,7 +84,7 @@ index 000000000..74c012fd4 + +} diff --git a/src/main/java/net/minecraft/server/LegacyPingHandler.java b/src/main/java/net/minecraft/server/LegacyPingHandler.java -index 07c53f505..91acfceec 100644 +index 07c53f5057..91acfceec8 100644 --- a/src/main/java/net/minecraft/server/LegacyPingHandler.java +++ b/src/main/java/net/minecraft/server/LegacyPingHandler.java @@ -9,6 +9,7 @@ import java.net.InetSocketAddress; diff --git a/Spigot-Server-Patches/0254-Flag-to-disable-the-channel-limit.patch b/Spigot-Server-Patches/0253-Flag-to-disable-the-channel-limit.patch similarity index 94% rename from Spigot-Server-Patches/0254-Flag-to-disable-the-channel-limit.patch rename to Spigot-Server-Patches/0253-Flag-to-disable-the-channel-limit.patch index 18aaa6cdb7..02c36b4567 100644 --- a/Spigot-Server-Patches/0254-Flag-to-disable-the-channel-limit.patch +++ b/Spigot-Server-Patches/0253-Flag-to-disable-the-channel-limit.patch @@ -1,4 +1,4 @@ -From 98b33a4a6b8621669d139259b2c3906add1012ac Mon Sep 17 00:00:00 2001 +From 5f354f6ae7a61b535e8d1a764b49675c944dd812 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 31 Mar 2018 17:04:26 +0100 Subject: [PATCH] Flag to disable the channel limit @@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c0b484177..60bc6d331 100644 +index 3c85d6323b..ab9956fa24 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -132,6 +132,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0255-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch similarity index 92% rename from Spigot-Server-Patches/0255-Add-method-to-open-already-placed-sign.patch rename to Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch index 35cc0df120..ba37eb7d85 100644 --- a/Spigot-Server-Patches/0255-Add-method-to-open-already-placed-sign.patch +++ b/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch @@ -1,11 +1,11 @@ -From 3ff982bb8588ed6f368c4c5bf145261dac55ba46 Mon Sep 17 00:00:00 2001 +From 1d5afa94e8d93c45c29bbab7ce04a054fdc1a2ff Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sun, 1 Apr 2018 02:29:37 +0300 Subject: [PATCH] Add method to open already placed sign diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 9e2fc4947..4b9ecb4a6 100644 +index 9e2fc4947c..4b9ecb4a62 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -508,4 +508,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/Spigot-Server-Patches/0256-Load-version-history-at-server-start.patch b/Spigot-Server-Patches/0255-Load-version-history-at-server-start.patch similarity index 89% rename from Spigot-Server-Patches/0256-Load-version-history-at-server-start.patch rename to Spigot-Server-Patches/0255-Load-version-history-at-server-start.patch index 5c03678061..69f6affbf9 100644 --- a/Spigot-Server-Patches/0256-Load-version-history-at-server-start.patch +++ b/Spigot-Server-Patches/0255-Load-version-history-at-server-start.patch @@ -1,11 +1,11 @@ -From edbff1c504156c4ac399e840b6d4124b259151b4 Mon Sep 17 00:00:00 2001 +From 5819bb6f428681e72e0a2c1b5f2521de4b8d3555 Mon Sep 17 00:00:00 2001 From: Kyle Wood Date: Thu, 1 Mar 2018 19:38:14 -0600 Subject: [PATCH] Load version history at server start diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 927cbeedc..ae7a8c104 100644 +index 8c76300185..8e15710caf 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -207,6 +207,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer diff --git a/Spigot-Server-Patches/0257-Configurable-sprint-interruption-on-attack.patch b/Spigot-Server-Patches/0256-Configurable-sprint-interruption-on-attack.patch similarity index 92% rename from Spigot-Server-Patches/0257-Configurable-sprint-interruption-on-attack.patch rename to Spigot-Server-Patches/0256-Configurable-sprint-interruption-on-attack.patch index cd01cbf97e..e3555ec170 100644 --- a/Spigot-Server-Patches/0257-Configurable-sprint-interruption-on-attack.patch +++ b/Spigot-Server-Patches/0256-Configurable-sprint-interruption-on-attack.patch @@ -1,4 +1,4 @@ -From c825dfa73f7484821534a66ee58be1ed28c5a33b Mon Sep 17 00:00:00 2001 +From 0fb62afd179e3993ab22f01b2d2e3de1f49b6637 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 14 Apr 2018 20:20:46 +0200 Subject: [PATCH] Configurable sprint interruption on attack @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable sprint interruption on attack If the sprint interruption is disabled players continue sprinting when they attack entities. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 79df2c171..b07ff9587 100644 +index 79df2c171c..b07ff95871 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -397,4 +397,9 @@ public class PaperWorldConfig { @@ -20,7 +20,7 @@ index 79df2c171..b07ff9587 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index de1b6ac86..4aba5716c 100644 +index 5015bd0710..738ac8570c 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1073,7 +1073,11 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/Spigot-Server-Patches/0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch similarity index 86% rename from Spigot-Server-Patches/0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch rename to Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index c2eb210e2a..db60bbf67b 100644 --- a/Spigot-Server-Patches/0258-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -1,14 +1,14 @@ -From ec23704c6f67afe3004f9fe597196b976071492d Mon Sep 17 00:00:00 2001 +From 2070c1fd61c833fbafdb40b67a7d66b915039469 Mon Sep 17 00:00:00 2001 From: 0x22 <0x22@futureclient.net> Date: Thu, 26 Apr 2018 04:41:11 -0400 Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index ab2bd6dae..067f7b990 100644 +index 5778bf1c65..5ee25d70fc 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2502,7 +2502,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2503,7 +2503,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { String[] lines = new String[4]; for (int i = 0; i < astring.length; ++i) { diff --git a/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch b/Spigot-Server-Patches/0258-EndermanEscapeEvent.patch similarity index 97% rename from Spigot-Server-Patches/0259-EndermanEscapeEvent.patch rename to Spigot-Server-Patches/0258-EndermanEscapeEvent.patch index c3a6b276d4..ee91bfa822 100644 --- a/Spigot-Server-Patches/0259-EndermanEscapeEvent.patch +++ b/Spigot-Server-Patches/0258-EndermanEscapeEvent.patch @@ -1,4 +1,4 @@ -From 2c487e159f55a7145d0e7a32048fa08fa60dcdae Mon Sep 17 00:00:00 2001 +From 521528b63eccb2a3d5a1e6fe68bb24cc2761b182 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:15:55 -0400 Subject: [PATCH] EndermanEscapeEvent @@ -8,7 +8,7 @@ Fires an event anytime an enderman intends to teleport away from the player You may cancel this, enabling ranged attacks to damage the enderman for example. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index ddf64ee6c..a766b3895 100644 +index ddf64ee6c5..a766b38959 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -1,6 +1,7 @@ diff --git a/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch b/Spigot-Server-Patches/0259-Enderman.teleportRandomly.patch similarity index 91% rename from Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch rename to Spigot-Server-Patches/0259-Enderman.teleportRandomly.patch index 076c64b117..82c5d6c8b7 100644 --- a/Spigot-Server-Patches/0260-Enderman.teleportRandomly.patch +++ b/Spigot-Server-Patches/0259-Enderman.teleportRandomly.patch @@ -1,4 +1,4 @@ -From 4554c34485e08548f66997ac51e4ae290a56eecf Mon Sep 17 00:00:00 2001 +From bba39e03862eb5a4cc461cf03483e8947b833cbf Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:29:44 -0400 Subject: [PATCH] Enderman.teleportRandomly() @@ -6,7 +6,7 @@ Subject: [PATCH] Enderman.teleportRandomly() Ability to trigger the vanilla "teleport randomly" mechanic of an enderman. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index a766b3895..0f64c8f2b 100644 +index a766b38959..0f64c8f2b5 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -184,6 +184,7 @@ public class EntityEnderman extends EntityMonster { @@ -18,7 +18,7 @@ index a766b3895..0f64c8f2b 100644 double d0 = this.locX + (this.random.nextDouble() - 0.5D) * 64.0D; double d1 = this.locY + (double) (this.random.nextInt(64) - 32); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java -index 5998530a8..f62ea821f 100644 +index 5998530a8f..f62ea821fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java @@ -16,6 +16,7 @@ public class CraftEnderman extends CraftMonster implements Enderman { diff --git a/Spigot-Server-Patches/0261-Block-Enderpearl-Travel-Exploit.patch b/Spigot-Server-Patches/0260-Block-Enderpearl-Travel-Exploit.patch similarity index 93% rename from Spigot-Server-Patches/0261-Block-Enderpearl-Travel-Exploit.patch rename to Spigot-Server-Patches/0260-Block-Enderpearl-Travel-Exploit.patch index 778d66e5a1..7490cc4385 100644 --- a/Spigot-Server-Patches/0261-Block-Enderpearl-Travel-Exploit.patch +++ b/Spigot-Server-Patches/0260-Block-Enderpearl-Travel-Exploit.patch @@ -1,4 +1,4 @@ -From 6e8f677a4eafa9506dd5330ae0007c16e706226b Mon Sep 17 00:00:00 2001 +From 1cd1ff965f693b0ec852d79ea2355cb37abb2f9d Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 17:15:26 -0400 Subject: [PATCH] Block Enderpearl Travel Exploit @@ -12,7 +12,7 @@ This disables that by not saving the thrower when the chunk is unloaded. This is mainly useful for survival servers that do not allow freeform teleporting. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b07ff9587..f1db4becd 100644 +index b07ff95871..f1db4becde 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -402,4 +402,10 @@ public class PaperWorldConfig { @@ -27,7 +27,7 @@ index b07ff9587..f1db4becd 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index fc8c0cab5..dd8af4be8 100644 +index fc8c0cab55..dd8af4be80 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java @@ -242,6 +242,7 @@ public abstract class EntityProjectile extends Entity implements IProjectile { diff --git a/Spigot-Server-Patches/0262-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 96% rename from Spigot-Server-Patches/0262-Expand-World.spawnParticle-API-and-add-Builder.patch rename to Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch index 1d3ef90510..5eb5f197a7 100644 --- a/Spigot-Server-Patches/0262-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 46f6693f3d0851bfe551d2ef6d25ccb0a2e5538c Mon Sep 17 00:00:00 2001 +From 08b71aa513ffb287734f6a8222dadbc7fc4d37b0 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 @@ -9,7 +9,7 @@ the standard API is to send the packet to everyone in the world, which is ineffe This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 23414c776..9e3804579 100644 +index 5d5f6f6328..d506503e93 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1205,14 +1205,20 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -37,7 +37,7 @@ index 23414c776..9e3804579 100644 if (this.a(entityplayer, false, d0, d1, d2, packetplayoutworldparticles)) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7004f1176..1afb480f8 100644 +index 7004f11764..1afb480f86 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1576,13 +1576,17 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0263-EndermanAttackPlayerEvent.patch b/Spigot-Server-Patches/0262-EndermanAttackPlayerEvent.patch similarity index 93% rename from Spigot-Server-Patches/0263-EndermanAttackPlayerEvent.patch rename to Spigot-Server-Patches/0262-EndermanAttackPlayerEvent.patch index c24935be37..d8de3ee81f 100644 --- a/Spigot-Server-Patches/0263-EndermanAttackPlayerEvent.patch +++ b/Spigot-Server-Patches/0262-EndermanAttackPlayerEvent.patch @@ -1,4 +1,4 @@ -From a8c38caffb5b627db4b48c26b6091cae36ae6140 Mon Sep 17 00:00:00 2001 +From 9ee9f23739ae7fe7599a3eb8c43d4195a6a6735c Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 May 2018 20:18:54 -0400 Subject: [PATCH] EndermanAttackPlayerEvent @@ -8,7 +8,7 @@ Allow control over whether or not an enderman aggros a player. This allows you to override/extend the pumpkin/stare logic. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index df94b4ca9..f2fcba3d9 100644 +index 0f64c8f2b5..2db0eb4946 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -135,7 +135,15 @@ public class EntityEnderman extends EntityMonster { diff --git a/Spigot-Server-Patches/0264-WitchConsumePotionEvent.patch b/Spigot-Server-Patches/0263-WitchConsumePotionEvent.patch similarity index 93% rename from Spigot-Server-Patches/0264-WitchConsumePotionEvent.patch rename to Spigot-Server-Patches/0263-WitchConsumePotionEvent.patch index 8530bede14..4e6f87d5e3 100644 --- a/Spigot-Server-Patches/0264-WitchConsumePotionEvent.patch +++ b/Spigot-Server-Patches/0263-WitchConsumePotionEvent.patch @@ -1,4 +1,4 @@ -From 0cbe97f322932b592af43ff5b7382b9a102e6f41 Mon Sep 17 00:00:00 2001 +From a986b34be653bc35d35d30c824015d1b4b9bc71f Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 16 May 2018 20:35:16 -0400 Subject: [PATCH] WitchConsumePotionEvent @@ -6,7 +6,7 @@ Subject: [PATCH] WitchConsumePotionEvent Fires when a witch consumes the potion in their hand diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index 524d84c5b..c77328e76 100644 +index b397636247..790ab11c17 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -67,7 +67,11 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { diff --git a/Spigot-Server-Patches/0265-WitchThrowPotionEvent.patch b/Spigot-Server-Patches/0264-WitchThrowPotionEvent.patch similarity index 94% rename from Spigot-Server-Patches/0265-WitchThrowPotionEvent.patch rename to Spigot-Server-Patches/0264-WitchThrowPotionEvent.patch index c6ff6f0fc7..7d56710ade 100644 --- a/Spigot-Server-Patches/0265-WitchThrowPotionEvent.patch +++ b/Spigot-Server-Patches/0264-WitchThrowPotionEvent.patch @@ -1,4 +1,4 @@ -From 9cb40d40ad0b4f9ca8d6ec60318d3a5479b47887 Mon Sep 17 00:00:00 2001 +From bd0fa8018b2603d1f15fb90546d9666e04f03450 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 16 May 2018 20:44:58 -0400 Subject: [PATCH] WitchThrowPotionEvent @@ -6,7 +6,7 @@ Subject: [PATCH] WitchThrowPotionEvent Fired when a witch throws a potion at a player diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index c77328e76..2d8e307e7 100644 +index 790ab11c17..9d802be18a 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -154,7 +154,15 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { diff --git a/Spigot-Server-Patches/0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch similarity index 92% rename from Spigot-Server-Patches/0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch rename to Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch index afaf8e7971..fc29ed1cb9 100644 --- a/Spigot-Server-Patches/0266-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 73f57a0e2462538caca787a27b268815f6e8d629 Mon Sep 17 00:00:00 2001 +From 986bbb97de3f713746ad2dbfb019241f14a787f8 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,7 +8,7 @@ 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 1afb480f8..f7eaecb3f 100644 +index 1afb480f86..f7eaecb3fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -936,6 +936,10 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0267-Don-t-load-chunks-for-villager-door-checks.patch b/Spigot-Server-Patches/0266-Don-t-load-chunks-for-villager-door-checks.patch similarity index 90% rename from Spigot-Server-Patches/0267-Don-t-load-chunks-for-villager-door-checks.patch rename to Spigot-Server-Patches/0266-Don-t-load-chunks-for-villager-door-checks.patch index 35ba71ef2d..e929e750d7 100644 --- a/Spigot-Server-Patches/0267-Don-t-load-chunks-for-villager-door-checks.patch +++ b/Spigot-Server-Patches/0266-Don-t-load-chunks-for-villager-door-checks.patch @@ -1,4 +1,4 @@ -From c6bbd29322e952519d7f2c351d868ee6cb60cf76 Mon Sep 17 00:00:00 2001 +From 837badd75f18ba3bb4eaa964fb3476cfeaf22c90 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 00:32:22 -0400 Subject: [PATCH] Don't load chunks for villager door checks @@ -6,7 +6,7 @@ Subject: [PATCH] Don't load chunks for villager door checks This avoids villages spam loading chunks sync diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java -index dfcabb83a..22fe23e8e 100644 +index dfcabb83a1..22fe23e8ed 100644 --- a/src/main/java/net/minecraft/server/Village.java +++ b/src/main/java/net/minecraft/server/Village.java @@ -313,6 +313,12 @@ public class Village { diff --git a/Spigot-Server-Patches/0268-WitchReadyPotionEvent.patch b/Spigot-Server-Patches/0267-WitchReadyPotionEvent.patch similarity index 93% rename from Spigot-Server-Patches/0268-WitchReadyPotionEvent.patch rename to Spigot-Server-Patches/0267-WitchReadyPotionEvent.patch index 305f3ab2fe..2a9e321bb0 100644 --- a/Spigot-Server-Patches/0268-WitchReadyPotionEvent.patch +++ b/Spigot-Server-Patches/0267-WitchReadyPotionEvent.patch @@ -1,11 +1,11 @@ -From 8b9681193930f2c02174ea5fb7e6b1aca5ea07ad Mon Sep 17 00:00:00 2001 +From 2fbd924ddeb8078f8241b35933e14e35a220767d Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 22:47:26 -0400 Subject: [PATCH] WitchReadyPotionEvent diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index 2d8e307e7..b6f4ec842 100644 +index 9d802be18a..0096df5de0 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -100,7 +100,11 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { diff --git a/Spigot-Server-Patches/0269-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch similarity index 88% rename from Spigot-Server-Patches/0269-ItemStack-getMaxItemUseDuration.patch rename to Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch index 1e17eefe4e..ce7c38fff4 100644 --- a/Spigot-Server-Patches/0269-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From b3a02b96725d11d0db406f34c2ff4dc2dec7aee6 Mon Sep 17 00:00:00 2001 +From 425c25691fe2dd228b01f6e4b20eb050440a85c5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 23:00:29 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index ca169e113..dad883054 100644 +index 023dd48a23..00691f6de9 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -514,6 +514,7 @@ public final class ItemStack { +@@ -524,6 +524,7 @@ public final class ItemStack { this.getItem().b(this, world, entityhuman); } @@ -18,7 +18,7 @@ index ca169e113..dad883054 100644 return this.getItem().c(this); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index b1e0d6185..03f611518 100644 +index b1e0d61856..03f6115181 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -182,6 +182,13 @@ public final class CraftItemStack extends ItemStack { diff --git a/Spigot-Server-Patches/0270-Implement-EntityTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0269-Implement-EntityTeleportEndGatewayEvent.patch similarity index 95% rename from Spigot-Server-Patches/0270-Implement-EntityTeleportEndGatewayEvent.patch rename to Spigot-Server-Patches/0269-Implement-EntityTeleportEndGatewayEvent.patch index ec8ffedb18..db9f94e07a 100644 --- a/Spigot-Server-Patches/0270-Implement-EntityTeleportEndGatewayEvent.patch +++ b/Spigot-Server-Patches/0269-Implement-EntityTeleportEndGatewayEvent.patch @@ -1,11 +1,11 @@ -From b62e515f95531fb8a44ed48d0773987b0622100f Mon Sep 17 00:00:00 2001 +From d75aa9bc0f292cc70f7fd674acda2e705ca169cf Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 9 Jun 2018 14:08:39 +0200 Subject: [PATCH] Implement EntityTeleportEndGatewayEvent diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -index c3d30dc94..fd9be7574 100644 +index 888bbd7a45..c6632588eb 100644 --- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java +++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java @@ -138,8 +138,19 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick diff --git a/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/Spigot-Server-Patches/0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch similarity index 93% rename from Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch rename to Spigot-Server-Patches/0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch index 8c0187303a..400735e51c 100644 --- a/Spigot-Server-Patches/0271-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch +++ b/Spigot-Server-Patches/0270-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch @@ -1,4 +1,4 @@ -From f00d585a8bbb438d74f7802fd5fb536bfc69185b Mon Sep 17 00:00:00 2001 +From d1bada03a8ddbe7c0ca4054c6c8fc5e4342935c5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 01:18:49 -0400 Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event @@ -6,7 +6,7 @@ Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event Otherwise the creeper infinite explodes diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 0147054df..bbb4ca0fe 100644 +index 0147054dff..bbb4ca0fe6 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -12,7 +12,7 @@ public class EntityCreeper extends EntityMonster { diff --git a/Spigot-Server-Patches/0272-Properly-remove-entities-on-dimension-teleport.patch b/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch similarity index 91% rename from Spigot-Server-Patches/0272-Properly-remove-entities-on-dimension-teleport.patch rename to Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch index 29173d801c..3f5f62e2e9 100644 --- a/Spigot-Server-Patches/0272-Properly-remove-entities-on-dimension-teleport.patch +++ b/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch @@ -1,4 +1,4 @@ -From 8b876416290e13c07102b3f283e01512f9725557 Mon Sep 17 00:00:00 2001 +From 6010e68f2c3d4733a78baede40dd80d456bff758 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:04:42 -0400 Subject: [PATCH] Properly remove entities on dimension teleport @@ -22,10 +22,10 @@ requirement, but plugins (such as my own) use this method to trigger a "reload" of the entity on the client. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0d69e6187..67af3e25c 100644 +index bd232b31e4..af7b91b479 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2607,7 +2607,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2606,7 +2606,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // CraftBukkit end */ @@ -35,7 +35,7 @@ index 0d69e6187..67af3e25c 100644 this.world.methodProfiler.a("reposition"); /* CraftBukkit start - Handled in calculateTarget diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9e3804579..44d867663 100644 +index d506503e93..697296acd0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1025,6 +1025,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0273-Fix-CraftEntity-hashCode.patch b/Spigot-Server-Patches/0272-Fix-CraftEntity-hashCode.patch similarity index 94% rename from Spigot-Server-Patches/0273-Fix-CraftEntity-hashCode.patch rename to Spigot-Server-Patches/0272-Fix-CraftEntity-hashCode.patch index 987dc4fdcd..8a04e333a0 100644 --- a/Spigot-Server-Patches/0273-Fix-CraftEntity-hashCode.patch +++ b/Spigot-Server-Patches/0272-Fix-CraftEntity-hashCode.patch @@ -1,4 +1,4 @@ -From c19ab61ae52201550ca2cd3bd0b8d1046d94b7e7 Mon Sep 17 00:00:00 2001 +From 4e9e1e8a0136e140460f3054bd60ee7795002846 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:20:15 -0400 Subject: [PATCH] Fix CraftEntity hashCode @@ -21,7 +21,7 @@ check is essentially the same as this.getHandle() == other.getHandle() However, replaced it too to make it clearer of intent. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6d4dc539c..7da6a25f1 100644 +index 6d4dc539cb..7da6a25f1d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -525,14 +525,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0274-Configurable-Alternative-LootPool-Luck-Formula.patch b/Spigot-Server-Patches/0273-Configurable-Alternative-LootPool-Luck-Formula.patch similarity index 97% rename from Spigot-Server-Patches/0274-Configurable-Alternative-LootPool-Luck-Formula.patch rename to Spigot-Server-Patches/0273-Configurable-Alternative-LootPool-Luck-Formula.patch index 6ea2b684fa..89645fef90 100644 --- a/Spigot-Server-Patches/0274-Configurable-Alternative-LootPool-Luck-Formula.patch +++ b/Spigot-Server-Patches/0273-Configurable-Alternative-LootPool-Luck-Formula.patch @@ -1,4 +1,4 @@ -From bb83f7424505fdfcbde00c4a03cf33d1f5084158 Mon Sep 17 00:00:00 2001 +From dea60591fcd04c41b13cfd83ac0f530d1b32a9d5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 15 Jun 2018 00:30:32 -0400 Subject: [PATCH] Configurable Alternative LootPool Luck Formula @@ -36,7 +36,7 @@ This change will result in some major changes to fishing formulas. I would love to see this change in Vanilla, so Mojang please pull :) diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index b602bbf12..62bce1806 100644 +index b602bbf122..62bce18061 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -291,4 +291,12 @@ public class PaperConfig { @@ -53,7 +53,7 @@ index b602bbf12..62bce1806 100644 + } } diff --git a/src/main/java/net/minecraft/server/LotoSelectorEntry.java b/src/main/java/net/minecraft/server/LotoSelectorEntry.java -index add618866..9f8e17b9d 100644 +index add618866b..9f8e17b9d3 100644 --- a/src/main/java/net/minecraft/server/LotoSelectorEntry.java +++ b/src/main/java/net/minecraft/server/LotoSelectorEntry.java @@ -14,8 +14,8 @@ import java.util.Random; diff --git a/Spigot-Server-Patches/0275-Print-Error-details-when-failing-to-save-player-data.patch b/Spigot-Server-Patches/0274-Print-Error-details-when-failing-to-save-player-data.patch similarity index 89% rename from Spigot-Server-Patches/0275-Print-Error-details-when-failing-to-save-player-data.patch rename to Spigot-Server-Patches/0274-Print-Error-details-when-failing-to-save-player-data.patch index 32d6ca5743..4690cc3a9a 100644 --- a/Spigot-Server-Patches/0275-Print-Error-details-when-failing-to-save-player-data.patch +++ b/Spigot-Server-Patches/0274-Print-Error-details-when-failing-to-save-player-data.patch @@ -1,11 +1,11 @@ -From 0174cd4916ed9847dc297dae74940d3053c18011 Mon Sep 17 00:00:00 2001 +From 3b1a296bedbe1651e82c0c07801a4d6da256ba4e Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 15 Jun 2018 20:37:03 -0400 Subject: [PATCH] Print Error details when failing to save player data diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index cbfdb3cf7..9a243010d 100644 +index cbfdb3cf79..9a243010d0 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -157,7 +157,7 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData { diff --git a/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch similarity index 94% rename from Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch rename to Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch index d37042c508..b401226e15 100644 --- a/Spigot-Server-Patches/0276-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch @@ -1,11 +1,11 @@ -From 1bf8f7ce7285ba62fda47503cf9ac20e460b2926 Mon Sep 17 00:00:00 2001 +From 78c7950323b1153c58924dade556acde3e186391 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:18:16 -0500 Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index f1db4becd..ef4bfb480 100644 +index f1db4becde..ef4bfb480c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -408,4 +408,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index f1db4becd..ef4bfb480 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 999a02cad..eaab10a14 100644 +index 999a02cad3..eaab10a146 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2664,7 +2664,7 @@ public abstract class EntityLiving extends Entity { @@ -49,7 +49,7 @@ index 999a02cad..eaab10a14 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 524cfd99b..a6f847e31 100644 +index 524cfd99b7..a6f847e313 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -530,5 +530,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch b/Spigot-Server-Patches/0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch similarity index 93% rename from Spigot-Server-Patches/0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch rename to Spigot-Server-Patches/0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch index 1997547d6c..28812d69b8 100644 --- a/Spigot-Server-Patches/0277-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch +++ b/Spigot-Server-Patches/0276-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch @@ -1,4 +1,4 @@ -From aadf97220e1f6f86636f331da7fe9f0eaad87fa5 Mon Sep 17 00:00:00 2001 +From 50eb40a8a5203c8aa84d94d24148d7c4acf3c16c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 16 Jun 2018 16:23:38 -0400 Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors @@ -6,7 +6,7 @@ Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors This code was causing NPE's in saving player data, potentially related to reloads. diff --git a/src/main/java/net/minecraft/server/RecipeBookServer.java b/src/main/java/net/minecraft/server/RecipeBookServer.java -index 71d6c4552..799f2be70 100644 +index 71d6c45529..799f2be707 100644 --- a/src/main/java/net/minecraft/server/RecipeBookServer.java +++ b/src/main/java/net/minecraft/server/RecipeBookServer.java @@ -77,7 +77,11 @@ public class RecipeBookServer extends RecipeBook { diff --git a/Spigot-Server-Patches/0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch similarity index 96% rename from Spigot-Server-Patches/0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch rename to Spigot-Server-Patches/0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index 1575ff282c..76878be901 100644 --- a/Spigot-Server-Patches/0278-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-Server-Patches/0277-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -1,4 +1,4 @@ -From ab2bedbe6a0f08e88ef7726bf5693669443a2bbf Mon Sep 17 00:00:00 2001 +From c40eeffb614580d924ea6b00a3e3d05e614365ed Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 15 Jun 2013 19:51:17 -0400 Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API @@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API Adds ability to get what arrow was shot, and control if it should be consumed. diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index c2bc8060a..1ae967d1c 100644 +index 8e1f6427d5..e262ce0969 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -160,7 +160,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -19,7 +19,7 @@ index c2bc8060a..1ae967d1c 100644 event.getProjectile().remove(); return; diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java -index 4aa3b6249..c8fc18045 100644 +index 8489f45be2..379a7f84a5 100644 --- a/src/main/java/net/minecraft/server/ItemBow.java +++ b/src/main/java/net/minecraft/server/ItemBow.java @@ -57,6 +57,7 @@ public class ItemBow extends Item { @@ -58,7 +58,7 @@ index 4aa3b6249..c8fc18045 100644 if (itemstack1.isEmpty()) { entityhuman.inventory.f(itemstack1); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8df07536f..28b156e43 100644 +index 8df07536f8..28b156e439 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -244,7 +244,7 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0279-PlayerReadyArrowEvent.patch b/Spigot-Server-Patches/0278-PlayerReadyArrowEvent.patch similarity index 97% rename from Spigot-Server-Patches/0279-PlayerReadyArrowEvent.patch rename to Spigot-Server-Patches/0278-PlayerReadyArrowEvent.patch index 6ff21eaf5f..f99990ee8a 100644 --- a/Spigot-Server-Patches/0279-PlayerReadyArrowEvent.patch +++ b/Spigot-Server-Patches/0278-PlayerReadyArrowEvent.patch @@ -1,4 +1,4 @@ -From 7f76c01206344b8ab4296cec33cd11c3be5763e6 Mon Sep 17 00:00:00 2001 +From 637bff64eeaaf0fc7af097f126863f0b81da9240 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 18 Jun 2018 01:12:53 -0400 Subject: [PATCH] PlayerReadyArrowEvent @@ -7,7 +7,7 @@ Called when a player is firing a bow and the server is choosing an arrow to use. Plugins can skip selection of certain arrows and control which is used. diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java -index c8fc18045..de0d80361 100644 +index 379a7f84a5..c0caeda362 100644 --- a/src/main/java/net/minecraft/server/ItemBow.java +++ b/src/main/java/net/minecraft/server/ItemBow.java @@ -1,5 +1,6 @@ diff --git a/Spigot-Server-Patches/0280-Fire-EntityShootBowEvent-for-Illusioner.patch b/Spigot-Server-Patches/0279-Fire-EntityShootBowEvent-for-Illusioner.patch similarity index 93% rename from Spigot-Server-Patches/0280-Fire-EntityShootBowEvent-for-Illusioner.patch rename to Spigot-Server-Patches/0279-Fire-EntityShootBowEvent-for-Illusioner.patch index 463186a4f5..35ddbe5f80 100644 --- a/Spigot-Server-Patches/0280-Fire-EntityShootBowEvent-for-Illusioner.patch +++ b/Spigot-Server-Patches/0279-Fire-EntityShootBowEvent-for-Illusioner.patch @@ -1,11 +1,11 @@ -From f0b6ccf18509b9884389988eae1ee25d85819505 Mon Sep 17 00:00:00 2001 +From ba6a4bd84e793af70eef53160e5308825978314b Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 18 Jun 2018 22:19:36 -0400 Subject: [PATCH] Fire EntityShootBowEvent for Illusioner diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java -index d64664c4d..4832fdd02 100644 +index 82b36350c4..aebf704664 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -123,8 +123,18 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan diff --git a/Spigot-Server-Patches/0281-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch similarity index 94% rename from Spigot-Server-Patches/0281-Implement-EntityKnockbackByEntityEvent.patch rename to Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch index 2415823103..a27364116c 100644 --- a/Spigot-Server-Patches/0281-Implement-EntityKnockbackByEntityEvent.patch +++ b/Spigot-Server-Patches/0280-Implement-EntityKnockbackByEntityEvent.patch @@ -1,4 +1,4 @@ -From 121cd30c4f384f19b62d0ba25b4a7a31d0b9e6ef Mon Sep 17 00:00:00 2001 +From 75b301f96c5f5dfddc5bca5671e055cefcb9fcde Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 18 Jun 2018 15:46:23 +0200 Subject: [PATCH] Implement EntityKnockbackByEntityEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent This event is called when an entity receives knockback by another entity. diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index dffa42ba5..7cacbaffe 100644 +index eaab10a146..4455dc4891 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1247,6 +1247,12 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0282-Expand-Explosions-API.patch b/Spigot-Server-Patches/0281-Expand-Explosions-API.patch similarity index 92% rename from Spigot-Server-Patches/0282-Expand-Explosions-API.patch rename to Spigot-Server-Patches/0281-Expand-Explosions-API.patch index 1084e1ed7e..41ff2ea20b 100644 --- a/Spigot-Server-Patches/0282-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0281-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 11db157dbfdbc9b58395db8ec6042f0b839d2b91 Mon Sep 17 00:00:00 2001 +From b676c9fc36769db1c201f65a7a7226227347f4e9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,7 +6,7 @@ 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 f7eaecb3f..e8290759b 100644 +index f7eaecb3fe..e8290759bb 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 { diff --git a/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 94% rename from Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch rename to Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch index 8470753b9d..093f53b297 100644 --- a/Spigot-Server-Patches/0283-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From 8f9dd75bf0186ef9e145b0399cedd29b5b090740 Mon Sep 17 00:00:00 2001 +From 7c7021b4de845573adde324dc039be0522406181 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API @@ -6,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 4455dc489..8be1ba526 100644 +index 4455dc4891..8be1ba5269 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -106,7 +106,7 @@ public abstract class EntityLiving extends Entity { @@ -32,7 +32,7 @@ index 4455dc489..8be1ba526 100644 return this.isHandRaised() ? this.activeItem.k() - this.cX() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a6f847e31..768bce141 100644 +index a6f847e313..768bce1411 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -540,5 +540,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0284-RangedEntity-API.patch b/Spigot-Server-Patches/0283-RangedEntity-API.patch similarity index 95% rename from Spigot-Server-Patches/0284-RangedEntity-API.patch rename to Spigot-Server-Patches/0283-RangedEntity-API.patch index 0d22333137..1cc516ee45 100644 --- a/Spigot-Server-Patches/0284-RangedEntity-API.patch +++ b/Spigot-Server-Patches/0283-RangedEntity-API.patch @@ -1,4 +1,4 @@ -From 420a90ce0cca816c8a0599edb797468e80b1d779 Mon Sep 17 00:00:00 2001 +From 57df4b5405ec6348656973b78db6d86cadb57dc0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 26 Jun 2018 22:00:49 -0400 Subject: [PATCH] RangedEntity API @@ -8,7 +8,7 @@ and to perform an attack. diff --git a/src/main/java/com/destroystokyo/paper/entity/CraftRangedEntity.java b/src/main/java/com/destroystokyo/paper/entity/CraftRangedEntity.java new file mode 100644 -index 000000000..696660b08 +index 0000000000..696660b089 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/CraftRangedEntity.java @@ -0,0 +1,19 @@ @@ -32,7 +32,7 @@ index 000000000..696660b08 + } +} diff --git a/src/main/java/net/minecraft/server/IRangedEntity.java b/src/main/java/net/minecraft/server/IRangedEntity.java -index 4fd69850f..7fe65b7c2 100644 +index 4fd69850fd..7fe65b7c24 100644 --- a/src/main/java/net/minecraft/server/IRangedEntity.java +++ b/src/main/java/net/minecraft/server/IRangedEntity.java @@ -2,7 +2,7 @@ package net.minecraft.server; @@ -46,7 +46,7 @@ index 4fd69850f..7fe65b7c2 100644 + void s(boolean flag); default void setChargingAttack(boolean flag) { s(flag); } // Paper OBF HELPER } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java -index 2ec1af8be..f31d3eed3 100644 +index 2ec1af8be4..f31d3eed3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java @@ -1,11 +1,12 @@ @@ -64,7 +64,7 @@ index 2ec1af8be..f31d3eed3 100644 public CraftIllusioner(CraftServer server, EntityIllagerIllusioner entity) { super(server, entity); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java -index 23ab78da1..3f94c5a92 100644 +index 23ab78da15..3f94c5a920 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java @@ -1,5 +1,6 @@ @@ -84,7 +84,7 @@ index 23ab78da1..3f94c5a92 100644 public CraftLlama(CraftServer server, EntityLlama entity) { super(server, entity); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java -index 4ed89615f..4fa5e84ea 100644 +index 4ed89615fd..4fa5e84ea4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java @@ -1,12 +1,13 @@ @@ -103,7 +103,7 @@ index 4ed89615f..4fa5e84ea 100644 public CraftSkeleton(CraftServer server, EntitySkeletonAbstract entity) { super(server, entity); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java -index 0349f0a57..2e3d8fcdf 100644 +index 0349f0a574..2e3d8fcdfa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java @@ -1,11 +1,12 @@ @@ -121,7 +121,7 @@ index 0349f0a57..2e3d8fcdf 100644 super(server, entity); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java -index c08833cb7..f25998eb6 100644 +index c08833cb7a..f25998eb6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java @@ -1,11 +1,12 @@ @@ -139,7 +139,7 @@ index c08833cb7..f25998eb6 100644 super(server, entity); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java -index fad3db8af..b9bb3a0d1 100644 +index fad3db8af8..b9bb3a0d1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java @@ -1,11 +1,12 @@ diff --git a/Spigot-Server-Patches/0285-Add-SentientNPC-Interface-to-Entities.patch b/Spigot-Server-Patches/0284-Add-SentientNPC-Interface-to-Entities.patch similarity index 96% rename from Spigot-Server-Patches/0285-Add-SentientNPC-Interface-to-Entities.patch rename to Spigot-Server-Patches/0284-Add-SentientNPC-Interface-to-Entities.patch index cd84a9b277..694b373697 100644 --- a/Spigot-Server-Patches/0285-Add-SentientNPC-Interface-to-Entities.patch +++ b/Spigot-Server-Patches/0284-Add-SentientNPC-Interface-to-Entities.patch @@ -1,4 +1,4 @@ -From fd187d957c8bf19ff2a0c3ae4e740f288f12ea83 Mon Sep 17 00:00:00 2001 +From 30f3ac826503f83cca607b290996357ebd24e6a1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 1 Jul 2018 22:06:29 -0400 Subject: [PATCH] Add SentientNPC Interface to Entities @@ -14,7 +14,7 @@ This interface lets you identify NPC entities capable of sentience, and able to diff --git a/src/main/java/com/destroystokyo/paper/entity/CraftSentientNPC.java b/src/main/java/com/destroystokyo/paper/entity/CraftSentientNPC.java new file mode 100644 -index 000000000..a60ba1349 +index 0000000000..a60ba13495 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/CraftSentientNPC.java @@ -0,0 +1,25 @@ @@ -44,7 +44,7 @@ index 000000000..a60ba1349 + +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAmbient.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAmbient.java -index 086980e76..ccce080ab 100644 +index 086980e76d..ccce080ab8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAmbient.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAmbient.java @@ -1,11 +1,12 @@ @@ -62,7 +62,7 @@ index 086980e76..ccce080ab 100644 super(server, entity); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java -index cc115cc36..3a4e6f0c7 100644 +index cc115cc368..3a4e6f0c7e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java @@ -1,17 +1,19 @@ @@ -89,7 +89,7 @@ index cc115cc36..3a4e6f0c7 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java -index 09d42141f..30004e5e8 100644 +index 09d42141fb..30004e5e8c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java @@ -1,16 +1,18 @@ @@ -124,7 +124,7 @@ index 09d42141f..30004e5e8 100644 @Override public EntityCreature getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFlying.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFlying.java -index f374c7b88..9e6f523bf 100644 +index f374c7b880..9e6f523bf1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFlying.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFlying.java @@ -1,10 +1,11 @@ @@ -141,7 +141,7 @@ index f374c7b88..9e6f523bf 100644 public CraftFlying(CraftServer server, EntityFlying entity) { super(server, entity); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java -index 6bf30c834..3768b9573 100644 +index 6bf30c834c..3768b9573a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java @@ -1,5 +1,6 @@ diff --git a/Spigot-Server-Patches/0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-Server-Patches/0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch similarity index 92% rename from Spigot-Server-Patches/0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch rename to Spigot-Server-Patches/0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch index 2a1b1e6bbc..3a050e078f 100644 --- a/Spigot-Server-Patches/0286-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch +++ b/Spigot-Server-Patches/0285-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch @@ -1,4 +1,4 @@ -From 70fe646bea2f7c4ca1178600fccadf5c353679b1 Mon Sep 17 00:00:00 2001 +From 808e9e3d527ba62ca052f7d2cfb327c189c39137 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 30 Jun 2018 05:45:39 +0200 Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the @@ -6,7 +6,7 @@ Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 28b156e43..8ac599b7a 100644 +index 28b156e439..8ac599b7a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -823,7 +823,7 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0287-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0286-Add-config-to-disable-ender-dragon-legacy-check.patch similarity index 94% rename from Spigot-Server-Patches/0287-Add-config-to-disable-ender-dragon-legacy-check.patch rename to Spigot-Server-Patches/0286-Add-config-to-disable-ender-dragon-legacy-check.patch index b71300d3b0..b0e3f5095f 100644 --- a/Spigot-Server-Patches/0287-Add-config-to-disable-ender-dragon-legacy-check.patch +++ b/Spigot-Server-Patches/0286-Add-config-to-disable-ender-dragon-legacy-check.patch @@ -1,11 +1,11 @@ -From 055edcc6b62bace3a2471207d453296e73532325 Mon Sep 17 00:00:00 2001 +From 770fa922234383edf17ee299d257f62ac875b832 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 22 Jun 2018 10:38:31 -0500 Subject: [PATCH] Add config to disable ender dragon legacy check diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ef4bfb480..1607619bd 100644 +index ef4bfb480c..1607619bd0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -413,4 +413,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index ef4bfb480..1607619bd 100644 + } } diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java -index a20d54ee3..48bcda0f5 100644 +index a20d54ee34..48bcda0f50 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java @@ -29,9 +29,12 @@ public class EnderDragonBattle { diff --git a/Spigot-Server-Patches/0288-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch similarity index 89% rename from Spigot-Server-Patches/0288-Implement-World.getEntity-UUID-API.patch rename to Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch index 7cec39c53a..a985e75b09 100644 --- a/Spigot-Server-Patches/0288-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch @@ -1,11 +1,11 @@ -From 8055597cb297475d5e271dcffc2495a85b2a2702 Mon Sep 17 00:00:00 2001 +From 454babc0dd55c39343955aaad2b704df8d31d91a 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 e8290759b..0f4a894eb 100644 +index e8290759bb..0f4a894ebb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -756,6 +756,14 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch similarity index 95% rename from Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch rename to Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch index 911d167e92..c290c1c495 100644 --- a/Spigot-Server-Patches/0289-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From bb581a508ed49e47db77cfe8cd9a3fb642b03acc Mon Sep 17 00:00:00 2001 +From a42d1a506c7a0658bd9e8fd7882b411bef7a6225 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7a797bef0..7a7d65692 100644 +index 7a797bef0d..7a7d656926 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -883,7 +883,7 @@ public class Chunk implements IChunkAccess { @@ -29,7 +29,7 @@ index 7a797bef0..7a7d65692 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 738ac8570..14a61f68e 100644 +index 738ac8570c..14a61f68e1 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -153,7 +153,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -56,7 +56,7 @@ index 738ac8570..14a61f68e 100644 this.activeContainer = this.defaultContainer; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 7059fc118..0c01f8daf 100644 +index 7059fc1187..0c01f8dafa 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -343,7 +343,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -110,10 +110,10 @@ index 7059fc118..0c01f8daf 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 42bb86d31..2860df860 100644 +index 5ee25d70fc..fc47738ec5 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2038,7 +2038,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2039,7 +2039,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { PlayerConnectionUtils.ensureMainThread(packetplayinclosewindow, this, this.player.getWorldServer()); if (this.player.isFrozen()) return; // CraftBukkit @@ -123,7 +123,7 @@ index 42bb86d31..2860df860 100644 this.player.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 45e42e998..7a2b219c6 100644 +index 45e42e9989..7a2b219c67 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -422,7 +422,7 @@ public abstract class PlayerList { @@ -136,7 +136,7 @@ index 45e42e998..7a2b219c6 100644 PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); cserver.getPluginManager().callEvent(playerQuitEvent); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 4b9ecb4a6..b602a5d1b 100644 +index 4b9ecb4a62..b602a5d1b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -402,8 +402,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -155,7 +155,7 @@ index 4b9ecb4a6..b602a5d1b 100644 public boolean isBlocking() { return getHandle().isBlocking(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ab9956fa2..0f3e1d5ae 100644 +index ab9956fa24..0f3e1d5ae1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -687,7 +687,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -168,7 +168,7 @@ index ab9956fa2..0f3e1d5ae 100644 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8ac599b7a..cf398cd25 100644 +index 8ac599b7a2..cf398cd250 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -913,8 +913,19 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch b/Spigot-Server-Patches/0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch similarity index 96% rename from Spigot-Server-Patches/0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch rename to Spigot-Server-Patches/0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch index c69e102600..608b330bc9 100644 --- a/Spigot-Server-Patches/0290-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch +++ b/Spigot-Server-Patches/0289-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch @@ -1,4 +1,4 @@ -From e447edc0e8d60a97f6c61bf5c498f2cb90d5d0e7 Mon Sep 17 00:00:00 2001 +From a57ea7eda73f5bdf5359d585762275d4f7282b54 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 03:39:51 -0400 Subject: [PATCH] Avoid Chunk Lookups for Entity/TileEntity Current Chunk @@ -10,7 +10,7 @@ to the object directly on the Entity/TileEntity object we can directly grab. Use that local value instead to reduce lookups in many hot places. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 9e798038b..03afa1236 100644 +index 7a7d656926..b37fa3829b 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -721,6 +721,7 @@ public class Chunk implements IChunkAccess { @@ -22,7 +22,7 @@ index 9e798038b..03afa1236 100644 this.a(entity, entity.af); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d8ce3efc9..35db0e184 100644 +index 00eb342f8c..127dcedc97 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1208,12 +1208,15 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0291-Configurable-Bed-Search-Radius.patch b/Spigot-Server-Patches/0290-Configurable-Bed-Search-Radius.patch similarity index 96% rename from Spigot-Server-Patches/0291-Configurable-Bed-Search-Radius.patch rename to Spigot-Server-Patches/0290-Configurable-Bed-Search-Radius.patch index 90a9b0dc0b..08a1dc431e 100644 --- a/Spigot-Server-Patches/0291-Configurable-Bed-Search-Radius.patch +++ b/Spigot-Server-Patches/0290-Configurable-Bed-Search-Radius.patch @@ -1,4 +1,4 @@ -From bf9f070bd5c6e334801791d85ebb2af51a53a1e6 Mon Sep 17 00:00:00 2001 +From 940ace0eb306f6911a0743804edec04b445cff9c Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 15:22:06 -0400 Subject: [PATCH] Configurable Bed Search Radius @@ -10,7 +10,7 @@ player at their bed should it of became obstructed. Defaults to vanilla 1. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 1607619bd..692206127 100644 +index 1607619bd0..6922061276 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -418,4 +418,15 @@ public class PaperWorldConfig { @@ -30,7 +30,7 @@ index 1607619bd..692206127 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java -index 6832eaac5..b9cb59fa7 100644 +index 6832eaac5d..b9cb59fa72 100644 --- a/src/main/java/net/minecraft/server/BlockBed.java +++ b/src/main/java/net/minecraft/server/BlockBed.java @@ -172,7 +172,54 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity { diff --git a/Spigot-Server-Patches/0292-Vex-getOwner-API.patch b/Spigot-Server-Patches/0291-Vex-getOwner-API.patch similarity index 92% rename from Spigot-Server-Patches/0292-Vex-getOwner-API.patch rename to Spigot-Server-Patches/0291-Vex-getOwner-API.patch index 7cbe481578..8ce81b0fcd 100644 --- a/Spigot-Server-Patches/0292-Vex-getOwner-API.patch +++ b/Spigot-Server-Patches/0291-Vex-getOwner-API.patch @@ -1,4 +1,4 @@ -From 3ec7cf2dd409d5331a0b0715086104d1147d4f7e Mon Sep 17 00:00:00 2001 +From 767ec9898c4a8360d40b39d18029d157a9e64ac7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 15:30:22 -0400 Subject: [PATCH] Vex#getOwner API @@ -6,7 +6,7 @@ Subject: [PATCH] Vex#getOwner API Get's the NPC that summoned this Vex diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java -index 897d7c681..ba1109e03 100644 +index 80403473c8..36f8c315b5 100644 --- a/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java @@ -86,6 +86,7 @@ public class EntityVex extends EntityMonster { @@ -18,7 +18,7 @@ index 897d7c681..ba1109e03 100644 return this.b; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java -index 787a41e01..5d5658136 100644 +index 787a41e015..5d5658136c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java @@ -1,5 +1,7 @@ diff --git a/Spigot-Server-Patches/0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch similarity index 88% rename from Spigot-Server-Patches/0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch rename to Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch index a9d806535a..f53720da2a 100644 --- a/Spigot-Server-Patches/0293-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -1,4 +1,4 @@ -From 2f8f876bb0fd67dc5c808631f0f2e5b4d96bae3f Mon Sep 17 00:00:00 2001 +From 6a99734646c6f697a4ef06e6b0822d3befbcfa53 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 13 Jul 2018 14:54:43 +0200 Subject: [PATCH] Refresh player inventory when cancelling @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 97b315bca..d9d11a531 100644 +index fc47738ec5..6950f8a729 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1952,6 +1952,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1953,6 +1953,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } if (event.isCancelled()) { diff --git a/Spigot-Server-Patches/0294-Don-t-change-the-Entity-Random-seed-for-squids.patch b/Spigot-Server-Patches/0293-Don-t-change-the-Entity-Random-seed-for-squids.patch similarity index 88% rename from Spigot-Server-Patches/0294-Don-t-change-the-Entity-Random-seed-for-squids.patch rename to Spigot-Server-Patches/0293-Don-t-change-the-Entity-Random-seed-for-squids.patch index a60f53816e..e6bc230c25 100644 --- a/Spigot-Server-Patches/0294-Don-t-change-the-Entity-Random-seed-for-squids.patch +++ b/Spigot-Server-Patches/0293-Don-t-change-the-Entity-Random-seed-for-squids.patch @@ -1,11 +1,11 @@ -From c6f4d4c98bc7fd4c6a536160e1c3150f4117b387 Mon Sep 17 00:00:00 2001 +From dfc6c7b5b887052a5c2911ee20bc8a473249a50b Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:05:00 -0400 Subject: [PATCH] Don't change the Entity Random seed for squids diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index 70b251210..0114d585b 100644 +index 3099f6aa7a..2205932295 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -22,7 +22,7 @@ public class EntitySquid extends EntityWaterAnimal { diff --git a/Spigot-Server-Patches/0295-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0294-Re-add-vanilla-entity-warnings-for-duplicates.patch similarity index 94% rename from Spigot-Server-Patches/0295-Re-add-vanilla-entity-warnings-for-duplicates.patch rename to Spigot-Server-Patches/0294-Re-add-vanilla-entity-warnings-for-duplicates.patch index 1d78d85f2f..d6c218bb35 100644 --- a/Spigot-Server-Patches/0295-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0294-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -1,4 +1,4 @@ -From 2546c359772a7d9a0a6b347c8e07a6562fefcc37 Mon Sep 17 00:00:00 2001 +From 4a2e8aceb015706daadd73f26286ba2baf3c9b32 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:08:05 -0400 Subject: [PATCH] Re-add vanilla entity warnings for duplicates @@ -8,7 +8,7 @@ These are a critical sign that somethin went wrong, and you've lost some data... We should kind of know about these things you know. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 44d867663..fcb5f68f8 100644 +index 697296acd0..b048343b7c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -979,7 +979,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch b/Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch similarity index 92% rename from Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch rename to Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch index 729d4fc41c..3d243189a5 100644 --- a/Spigot-Server-Patches/0296-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch +++ b/Spigot-Server-Patches/0295-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch @@ -1,4 +1,4 @@ -From 525217b8e83b87a99cd4e9733f5729c0d4cb9ac3 Mon Sep 17 00:00:00 2001 +From 3780df5dee4adf98b8ab4468c605979f989d04e7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:23:00 -0400 Subject: [PATCH] Don't process despawn if entity is in a chunk scheduled for @@ -12,7 +12,7 @@ keep it vanilla in behavior a player may teleport away, and trigger instant despawn diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 9dc86e90d..c03eaf1e4 100644 +index 14d122b22b..7b64ec27c3 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -617,6 +617,8 @@ public abstract class EntityInsentient extends EntityLiving { diff --git a/Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch b/Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch similarity index 90% rename from Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch rename to Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch index f9b1904a6d..3696adc13c 100644 --- a/Spigot-Server-Patches/0297-Avoid-item-merge-if-stack-size-above-max-stack-size.patch +++ b/Spigot-Server-Patches/0296-Avoid-item-merge-if-stack-size-above-max-stack-size.patch @@ -1,11 +1,11 @@ -From 5528d5deb733bbad1d1aa7f9e9820750bbec2813 Mon Sep 17 00:00:00 2001 +From 7981e61b9a6dddd2e982f421b94e98e2d146eab2 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 16 Jul 2018 12:42:20 +0200 Subject: [PATCH] Avoid item merge if stack size above max stack size diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index d232bab74..b0f22f8f0 100644 +index d232bab745..b0f22f8f09 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -173,6 +173,10 @@ public class EntityItem extends Entity { diff --git a/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch similarity index 87% rename from Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch rename to Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch index b42c6fd7f3..a6dbd49039 100644 --- a/Spigot-Server-Patches/0298-Use-asynchronous-Log4j-2-loggers.patch +++ b/Spigot-Server-Patches/0297-Use-asynchronous-Log4j-2-loggers.patch @@ -1,11 +1,11 @@ -From 4f6298ddaea7e4a4437ea321033433a16d8cf8fd Mon Sep 17 00:00:00 2001 +From 7964f140f23edfbb3b70f1e70d785db5f5cdfec9 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 17 Jul 2018 16:42:17 +0200 Subject: [PATCH] Use asynchronous Log4j 2 loggers diff --git a/pom.xml b/pom.xml -index a319cfe3b..ddee1b048 100644 +index a319cfe3b8..ddee1b0488 100644 --- a/pom.xml +++ b/pom.xml @@ -102,6 +102,14 @@ @@ -25,7 +25,7 @@ index a319cfe3b..ddee1b048 100644 junit diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties new file mode 100644 -index 000000000..ee7c90784 +index 0000000000..ee7c90784c --- /dev/null +++ b/src/main/resources/log4j2.component.properties @@ -0,0 +1 @@ diff --git a/Spigot-Server-Patches/0299-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch similarity index 89% rename from Spigot-Server-Patches/0299-add-more-information-to-Entity.toString.patch rename to Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch index 480bbbec13..518891dbb1 100644 --- a/Spigot-Server-Patches/0299-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From ba47092b597856758723b579a1eae506c01d7d54 Mon Sep 17 00:00:00 2001 +From 88ce3d06ea198c762aed6e42caf403f595b07f58 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 67af3e25c..0e0dc72f0 100644 +index af7b91b479..47ce5cda76 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2506,7 +2506,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2505,7 +2505,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public String toString() { diff --git a/Spigot-Server-Patches/0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch similarity index 96% rename from Spigot-Server-Patches/0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch rename to Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 5ad950356e..84a4dd6bc3 100644 --- a/Spigot-Server-Patches/0300-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0299-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From c7266c6cc9e99625f22a54a8cbbca62a10d7acf0 Mon Sep 17 00:00:00 2001 +From 73e6428814b5eb1135bb45d9d3c2f30695c052e6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues @@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0e0dc72f0..d725bf13e 100644 +index 47ce5cda76..b308f44168 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -71,6 +71,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,7 +18,7 @@ index 0e0dc72f0..d725bf13e 100644 if (bukkitEntity == null) { bukkitEntity = CraftEntity.getEntity(world.getServer(), this); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index fcb5f68f8..013f4eef5 100644 +index b048343b7c..747d99dbe6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -53,6 +53,10 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0301-Additional-Paper-Config-options.patch b/Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch similarity index 90% rename from Spigot-Server-Patches/0301-Additional-Paper-Config-options.patch rename to Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch index 3408f8c8b1..7307465ba4 100644 --- a/Spigot-Server-Patches/0301-Additional-Paper-Config-options.patch +++ b/Spigot-Server-Patches/0300-Additional-Paper-Config-options.patch @@ -1,4 +1,4 @@ -From 98c8705126dd30ffab51ce8a21ee8069941c7477 Mon Sep 17 00:00:00 2001 +From ccd7f0abffd40781df772807c10fbbfeeb72f496 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:23:31 -0400 Subject: [PATCH] Additional Paper Config options @@ -6,7 +6,7 @@ Subject: [PATCH] Additional Paper Config options Have to keep as sep patch for now until 1.13, otherwise we can't merge :/ diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 62bce1806..5a17ce3d2 100644 +index 62bce18061..5a17ce3d22 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -67,6 +67,10 @@ public class PaperConfig { @@ -21,7 +21,7 @@ index 62bce1806..5a17ce3d2 100644 if (verbose) { Bukkit.getLogger().info(s); diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 692206127..7bd7aa0d9 100644 +index 6922061276..7bd7aa0d94 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -8,6 +8,7 @@ import org.bukkit.configuration.file.YamlConfiguration; diff --git a/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch similarity index 97% rename from Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch rename to Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch index f0315797f8..caa8760e11 100644 --- a/Spigot-Server-Patches/0302-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 92a07e301c03b31ac531b25614d11b10168c3ae8 Mon Sep 17 00:00:00 2001 +From ffb9e895c678e0bc8bcd62042080e712d786e6dc Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7bd7aa0d9..ba6d5b7ff 100644 +index 7bd7aa0d94..ba6d5b7ff5 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -430,4 +430,40 @@ public class PaperWorldConfig { @@ -78,7 +78,7 @@ index 7bd7aa0d9..ba6d5b7ff 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b37fa3829..c56e435b1 100644 +index b37fa3829b..c56e435b19 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -147,10 +147,10 @@ index b37fa3829..c56e435b1 100644 this.world.a((Collection) entityslice); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index be3b1f096..6eceb1dce 100644 +index b308f44168..b6d6d4f378 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2735,6 +2735,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2734,6 +2734,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke }); } @@ -159,7 +159,7 @@ index be3b1f096..6eceb1dce 100644 this.uniqueID = uuid; this.au = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 747d99dbe..7a9f28421 100644 +index 747d99dbe6..7a9f28421b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -40,7 +40,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0303-Add-async-chunk-load-API.patch b/Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch similarity index 93% rename from Spigot-Server-Patches/0303-Add-async-chunk-load-API.patch rename to Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch index 05c8fbbc6f..002b88c894 100644 --- a/Spigot-Server-Patches/0303-Add-async-chunk-load-API.patch +++ b/Spigot-Server-Patches/0302-Add-async-chunk-load-API.patch @@ -1,11 +1,11 @@ -From c956b264d891943cfe291d01eb7218d88eabe347 Mon Sep 17 00:00:00 2001 +From a753c54e8811761c74b60be329b82c2fed32c769 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:55:04 -0400 Subject: [PATCH] Add async chunk load API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0f4a894eb..995e02f1d 100644 +index 0f4a894ebb..995e02f1d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -156,6 +156,27 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch b/Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch similarity index 92% rename from Spigot-Server-Patches/0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch rename to Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch index c1e62eca7e..0a0b84f850 100644 --- a/Spigot-Server-Patches/0304-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch +++ b/Spigot-Server-Patches/0303-Configurable-Allowance-of-Permanent-Chunk-Loaders.patch @@ -1,4 +1,4 @@ -From 48823e6b74986eb521e651c82065f4ffcea3673e Mon Sep 17 00:00:00 2001 +From 1be6de780667fdfdb842f80bfa0730a70371895d Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Apr 2018 11:21:48 -0400 Subject: [PATCH] Configurable Allowance of Permanent Chunk Loaders @@ -7,7 +7,7 @@ This disables the behavior that allows players to keep chunks permanently loaded by default and allows server operators to enable it if they wish. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ba6d5b7ff..b9f5f4905 100644 +index ba6d5b7ff5..b9f5f49055 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -466,4 +466,9 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index ba6d5b7ff..b9f5f4905 100644 + } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 70790386e..7f83ed51d 100644 +index 7d77c5fb31..fd8430a68f 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -111,7 +111,7 @@ public class ChunkProviderServer implements IChunkProvider { diff --git a/Spigot-Server-Patches/0305-Speedup-BlockPos-by-fixing-inlining.patch b/Spigot-Server-Patches/0304-Speedup-BlockPos-by-fixing-inlining.patch similarity index 98% rename from Spigot-Server-Patches/0305-Speedup-BlockPos-by-fixing-inlining.patch rename to Spigot-Server-Patches/0304-Speedup-BlockPos-by-fixing-inlining.patch index 15d1b98326..4abc228aac 100644 --- a/Spigot-Server-Patches/0305-Speedup-BlockPos-by-fixing-inlining.patch +++ b/Spigot-Server-Patches/0304-Speedup-BlockPos-by-fixing-inlining.patch @@ -1,4 +1,4 @@ -From 24b5fbaa4e37f418c3eefd5a6ab6678aa6e095ac Mon Sep 17 00:00:00 2001 +From d4e24e1b648305ae75c64ba245fcfb3d1712fdfb Mon Sep 17 00:00:00 2001 From: Techcable Date: Wed, 30 Nov 2016 20:56:58 -0600 Subject: [PATCH] Speedup BlockPos by fixing inlining @@ -21,7 +21,7 @@ This is based upon conclusions drawn from inspecting the assenmbly generated byt They had 'callq' (invoke) instead of 'mov' (get from memory) instructions. diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 58f8b4b72..98992513d 100644 +index 58f8b4b720..98992513da 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -7,22 +7,22 @@ import javax.annotation.concurrent.Immutable; @@ -80,7 +80,7 @@ index 58f8b4b72..98992513d 100644 public BaseBlockPosition d(BaseBlockPosition baseblockposition) { return new BaseBlockPosition(this.getY() * baseblockposition.getZ() - this.getZ() * baseblockposition.getY(), this.getZ() * baseblockposition.getX() - this.getX() * baseblockposition.getZ(), this.getX() * baseblockposition.getY() - this.getY() * baseblockposition.getX()); diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 7122a9aa8..2f6fc330b 100644 +index 7122a9aa8a..2f6fc330b3 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -207,15 +207,17 @@ public class BlockPosition extends BaseBlockPosition { diff --git a/Spigot-Server-Patches/0306-Optimize-Hoppers.patch b/Spigot-Server-Patches/0305-Optimize-Hoppers.patch similarity index 98% rename from Spigot-Server-Patches/0306-Optimize-Hoppers.patch rename to Spigot-Server-Patches/0305-Optimize-Hoppers.patch index 166fd72720..d0356bca0f 100644 --- a/Spigot-Server-Patches/0306-Optimize-Hoppers.patch +++ b/Spigot-Server-Patches/0305-Optimize-Hoppers.patch @@ -1,4 +1,4 @@ -From 4d6153f46915538901e3983474ee836e2ea49d97 Mon Sep 17 00:00:00 2001 +From 3b1cd8419e873319c05fbb282e828bfd9e6b9bd7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Apr 2016 22:09:52 -0400 Subject: [PATCH] Optimize Hoppers @@ -11,7 +11,7 @@ Subject: [PATCH] Optimize Hoppers * Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b9f5f4905..a8470e6e7 100644 +index b9f5f49055..a8470e6e76 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -399,6 +399,15 @@ public class PaperWorldConfig { @@ -31,7 +31,7 @@ index b9f5f4905..a8470e6e7 100644 private void disableSprintInterruptionOnAttack() { disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 66b637326..f9a7bde0b 100644 +index 66b637326a..f9a7bde0b6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1022,6 +1022,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -43,7 +43,7 @@ index 66b637326..f9a7bde0b 100644 this.methodProfiler.a(() -> { return worldserver.getWorldData().getName(); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 3e9b357c8..db78274a8 100644 +index 3e9b357c87..db78274a8c 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -49,6 +49,7 @@ public abstract class TileEntity implements KeyedObject { @@ -63,7 +63,7 @@ index 3e9b357c8..db78274a8 100644 this.world.b(this.position, this); if (!this.f.isAir()) { diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index bb41d4780..9e7a91fe4 100644 +index bb41d4780f..9e7a91fe48 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java @@ -190,6 +190,154 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi diff --git a/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch b/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch similarity index 93% rename from Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch rename to Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch index db407f5763..5aaee817e6 100644 --- a/Spigot-Server-Patches/0307-Don-t-save-Proto-Chunks.patch +++ b/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch @@ -1,4 +1,4 @@ -From 0793b868c59fa342bf8438b1f23b489f1fe730ae Mon Sep 17 00:00:00 2001 +From 2d53aa2c84c4fed063659a26e9bcb90d546a5ae8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 21:21:41 -0400 Subject: [PATCH] Don't save Proto Chunks @@ -8,7 +8,7 @@ the loadChunk method refuses to acknoledge they exists, and will restart a new chunk generation process to begin with, so saving them serves no benefit. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index fd8430a68..b425704b1 100644 +index fd8430a68f..b425704b1a 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -250,7 +250,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -30,7 +30,7 @@ index fd8430a68..b425704b1 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index ea8684747..a97e024ec 100644 +index ea8684747d..a97e024ec4 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -282,6 +282,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { diff --git a/work/Bukkit b/work/Bukkit index 7731ecdea4..b7b10ad1c3 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 7731ecdea45210a641cedc66d7ef91a8176e3cfc +Subproject commit b7b10ad1c3cd0c03c041e2958a37895ce6990f65 diff --git a/work/CraftBukkit b/work/CraftBukkit index 1c7adf74e4..587014503b 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1c7adf74e45bb83545603c1e4b7974ad979c442c +Subproject commit 587014503baa1ccdfb835404e1a88f1c0e1915d5 diff --git a/work/Spigot b/work/Spigot index ed1cec9ae9..5eb39219b1 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit ed1cec9ae9ee07f1b51bdda14dfe14b40e92c9ed +Subproject commit 5eb39219b1987510730e082ef6c14470b11bcc5b From 12b0bf79832042c6183ed88d38241a5b16a8fdbc Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 23 Jul 2018 10:24:51 +0100 Subject: [PATCH 31/70] Avoid ArithmeticException should server be stopped before worlds are loaded Our changes for the spawn radius have the potential to throw an ArithmeticException should the server be stopped before we've loaded worlds, we check if the server is running earlier to check if we should even consider attempting to load chunks, which would cause us to, 1) not load chunks anyways, as we're disabled; 2) throw an ArithmeticException due to us expecting that we're going to be loading more than 0 chunks. --- ...gurable-Keep-Spawn-Loaded-range-per-world.patch | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 8f00c80c11..213fe3ea68 100644 --- a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 47ce849db0e23612ca6013dafefca6cfa5129b3d Mon Sep 17 00:00:00 2001 +From 988ae523c43ece4e6e69d0bbd13d0ceb3f72c013 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 @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index eb09be512..6ac58e5ec 100644 +index eb09be5126..6ac58e5ec5 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -232,4 +232,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index eb09be512..6ac58e5ec 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 96d31f874..7fb0a58f9 100644 +index 96d31f8749..071a1e30f7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -485,13 +485,21 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -38,7 +38,7 @@ index 96d31f874..7fb0a58f9 100644 arraylist.add(new ChunkCoordIntPair(blockposition.getX() + i >> 4, blockposition.getZ() + j >> 4)); } + } // Paper -+ if (true) { // Paper ++ if (this.isRunning()) { // Paper + int expected = arraylist.size(); // Paper + @@ -63,7 +63,7 @@ index 96d31f874..7fb0a58f9 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6ec1ee26d..a4c8e62e2 100644 +index 6ec1ee26dc..a4c8e62e22 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2825,8 +2825,9 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -78,7 +78,7 @@ index 6ec1ee26d..a4c8e62e2 100644 public void a(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 62872675d..7cb795dd8 100644 +index 62872675d9..7cb795dd89 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -990,7 +990,7 @@ public final class CraftServer implements Server { @@ -91,7 +91,7 @@ index 62872675d..7cb795dd8 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 0b2a9d09d..ff3558363 100644 +index 0b2a9d09df..ff3558363b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1285,8 +1285,9 @@ public class CraftWorld implements World { From 0fbf3e775d35b78478690994041a0b0e63027ac9 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 13:08:02 +0200 Subject: [PATCH 32/70] Re-add Option to prevent armor stands from doing entity lookups Remove old patch --- ...t-armor-stands-from-doing-entity-loo.patch | 52 +++++++++++++++++++ ...t-armor-stands-from-doing-entity-loo.patch | 35 ------------- 2 files changed, 52 insertions(+), 35 deletions(-) create mode 100644 Spigot-Server-Patches/0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch delete mode 100644 removed/server/0183-Option-to-prevent-armor-stands-from-doing-entity-loo.patch diff --git a/Spigot-Server-Patches/0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch new file mode 100644 index 0000000000..fb262caf2c --- /dev/null +++ b/Spigot-Server-Patches/0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch @@ -0,0 +1,52 @@ +From f8db7aba46387296b47ecd7f5773798094843e0b Mon Sep 17 00:00:00 2001 +From: Hugo Manrique +Date: Mon, 23 Jul 2018 12:57:39 +0200 +Subject: [PATCH] Option to prevent armor stands from doing entity lookups + + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index a8470e6e..f33cd90d 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -350,6 +350,11 @@ public class PaperWorldConfig { + } + } + ++ public boolean armorStandEntityLookups = true; ++ private void armorStandEntityLookups() { ++ armorStandEntityLookups = getBoolean("armor-stands-do-collision-entity-lookups", true); ++ } ++ + public int maxCollisionsPerEntity; + private void maxEntityCollision() { + maxCollisionsPerEntity = getInt( "max-entity-collisions", this.spigotConfig.getInt("max-entity-collisions", 8) ); +diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java +index 127dcedc..72e22c09 100644 +--- a/src/main/java/net/minecraft/server/World.java ++++ b/src/main/java/net/minecraft/server/World.java +@@ -11,6 +11,7 @@ import java.util.Iterator; + import java.util.List; + import java.util.Random; + import java.util.UUID; ++ + import java.util.function.Function; + import java.util.function.Predicate; + import java.util.function.Supplier; +@@ -1562,6 +1563,14 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose + } + } + ++ // Paper start - Prevent armor stands from doing entity lookups ++ @Override ++ public boolean getCubes(@Nullable Entity entity, AxisAlignedBB axisAlignedBB) { ++ if (entity instanceof EntityArmorStand && !entity.world.paperConfig.armorStandEntityLookups) return false; ++ return GeneratorAccess.super.getCubes(entity, axisAlignedBB); ++ } ++ // Paper end ++ + public boolean a(AxisAlignedBB axisalignedbb) { + int i = MathHelper.floor(axisalignedbb.a); + int j = MathHelper.f(axisalignedbb.d); +-- +2.18.0.windows.1 + diff --git a/removed/server/0183-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/removed/server/0183-Option-to-prevent-armor-stands-from-doing-entity-loo.patch deleted file mode 100644 index c127bbc613..0000000000 --- a/removed/server/0183-Option-to-prevent-armor-stands-from-doing-entity-loo.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a3aaaa3233ac457ef6bc4c1373429c28bc66524a Mon Sep 17 00:00:00 2001 -From: kashike -Date: Wed, 21 Dec 2016 11:52:04 -0600 -Subject: [PATCH] Option to prevent armor stands from doing entity lookups - - -diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 2ba3bcb8e..5f06d4e5e 100644 ---- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -408,4 +408,9 @@ public class PaperWorldConfig { - log("Treasure Maps will return already discovered locations"); - } - } -+ -+ public boolean armorStandEntityLookups = true; -+ private void armorStandEntityLookups() { -+ armorStandEntityLookups = getBoolean("armor-stands-do-collision-entity-lookups", true); -+ } - } -diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 424b956e8..b85c55168 100644 ---- a/src/main/java/net/minecraft/server/World.java -+++ b/src/main/java/net/minecraft/server/World.java -@@ -1335,6 +1335,7 @@ public abstract class World implements IBlockAccess { - - this.a(entity, axisalignedbb, false, arraylist); - if (entity != null) { -+ if (entity instanceof EntityArmorStand && !entity.world.paperConfig.armorStandEntityLookups) return arraylist; // Paper - List list = this.getEntities(entity, axisalignedbb.g(0.25D)); - - for (int i = 0; i < list.size(); ++i) { --- -2.18.0 - From 608b5e52353523c579c0467cb2ee0f91106108d6 Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Mon, 23 Jul 2018 12:58:01 -0400 Subject: [PATCH 33/70] Optimize RegistryID.c() Fixes #1253 --- .../0015-Player-Tab-List-and-Title-APIs.patch | 4 +- .../0307-Optimize-RegistryID.c.patch | 97 +++++++++++++++++++ 2 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch diff --git a/Spigot-API-Patches/0015-Player-Tab-List-and-Title-APIs.patch b/Spigot-API-Patches/0015-Player-Tab-List-and-Title-APIs.patch index f2677979c5..5ae2621d02 100644 --- a/Spigot-API-Patches/0015-Player-Tab-List-and-Title-APIs.patch +++ b/Spigot-API-Patches/0015-Player-Tab-List-and-Title-APIs.patch @@ -1,4 +1,4 @@ -From d9b9cd6fb36cdf689bbe3760147795092a6b111f Mon Sep 17 00:00:00 2001 +From fa4c0456f5dd7abf1913952d44e859ebfdd61069 Mon Sep 17 00:00:00 2001 From: Techcable Date: Mon, 29 Feb 2016 20:02:40 -0600 Subject: [PATCH] Player Tab List and Title APIs @@ -498,5 +498,5 @@ index f4d1ade5..65b7a076 100644 /** -- -2.18.0 +2.17.0 (Apple Git-106) diff --git a/Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch b/Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch new file mode 100644 index 0000000000..a06d7c2a12 --- /dev/null +++ b/Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch @@ -0,0 +1,97 @@ +From 94b336dd8e491cde34799f4d46335497690a2032 Mon Sep 17 00:00:00 2001 +From: Andrew Steinborn +Date: Mon, 23 Jul 2018 12:50:18 -0400 +Subject: [PATCH] Optimize RegistryID.c() + +This is a frequent hotspot for world loading/saving. + +diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java +index 3b8f6ec1..163da432 100644 +--- a/src/main/java/net/minecraft/server/RegistryID.java ++++ b/src/main/java/net/minecraft/server/RegistryID.java +@@ -6,7 +6,7 @@ import java.util.Arrays; + import java.util.Iterator; + import javax.annotation.Nullable; + +-public class RegistryID implements Registry { ++public class RegistryID implements Registry { // Paper - decompile fix + + private static final Object a = null; + private K[] b; +@@ -14,12 +14,14 @@ public class RegistryID implements Registry { + private K[] d; + private int e; + private int f; ++ private java.util.BitSet usedIds; // Paper + + public RegistryID(int i) { + i = (int) ((float) i / 0.8F); +- this.b = (Object[]) (new Object[i]); ++ this.b = (K[]) (new Object[i]); // Paper - decompile fix + this.c = new int[i]; +- this.d = (Object[]) (new Object[i]); ++ this.d = (K[]) (new Object[i]); // Paper - decompile fix ++ this.usedIds = new java.util.BitSet(); // Paper + } + + public int getId(@Nullable K k0) { +@@ -43,22 +45,28 @@ public class RegistryID implements Registry { + } + + private int c() { ++ // Paper start ++ /* + while (this.e < this.d.length && this.d[this.e] != null) { + ++this.e; + } ++ */ ++ this.e = this.usedIds.nextClearBit(0); ++ // Paper end + + return this.e; + } + + private void d(int i) { +- Object[] aobject = this.b; ++ K[] aobject = this.b; // Paper - decompile fix + int[] aint = this.c; + +- this.b = (Object[]) (new Object[i]); ++ this.b = (K[]) (new Object[i]); // Paper - decompile fix + this.c = new int[i]; +- this.d = (Object[]) (new Object[i]); ++ this.d = (K[]) (new Object[i]); // Paper - decompile fix + this.e = 0; + this.f = 0; ++ this.usedIds.clear(); // Paper + + for (int j = 0; j < aobject.length; ++j) { + if (aobject[j] != null) { +@@ -69,7 +77,7 @@ public class RegistryID implements Registry { + } + + public void a(K k0, int i) { +- int j = Math.max(i, this.f + 1); ++ int j = this.usedIds.size(); // Paper + int k; + + if ((float) j >= (float) this.b.length * 0.8F) { +@@ -84,6 +92,7 @@ public class RegistryID implements Registry { + this.b[k] = k0; + this.c[k] = i; + this.d[i] = k0; ++ this.usedIds.set(i); // Paper + ++this.f; + if (i == this.e) { + ++this.e; +@@ -148,6 +157,7 @@ public class RegistryID implements Registry { + Arrays.fill(this.d, (Object) null); + this.e = 0; + this.f = 0; ++ this.usedIds.clear(); // Paper + } + + public int b() { +-- +2.17.0 (Apple Git-106) + From 0069113b2e7e1a0d914011afe2a6ded58db81d0f Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Mon, 23 Jul 2018 13:10:06 -0400 Subject: [PATCH 34/70] Put the decompile fixes into MC Dev Fixes patch --- .../0008-Add-PlayerLocaleChangeEvent.patch | 4 +- .../0009-Add-player-view-distance-API.patch | 4 +- .../0010-Add-BeaconEffectEvent.patch | 4 +- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 51 +++++++++++++++++-- .../0307-Optimize-RegistryID.c.patch | 51 ++++--------------- 5 files changed, 63 insertions(+), 51 deletions(-) diff --git a/Spigot-API-Patches/0008-Add-PlayerLocaleChangeEvent.patch b/Spigot-API-Patches/0008-Add-PlayerLocaleChangeEvent.patch index d9c29d8322..7a86be32a9 100644 --- a/Spigot-API-Patches/0008-Add-PlayerLocaleChangeEvent.patch +++ b/Spigot-API-Patches/0008-Add-PlayerLocaleChangeEvent.patch @@ -1,4 +1,4 @@ -From 501e01d868ec3f41f8aa3a1bebc83b4305723b42 Mon Sep 17 00:00:00 2001 +From 2ee52b020013ad95861d196908450fa2fc227431 Mon Sep 17 00:00:00 2001 From: Isaac Moore Date: Mon, 29 Feb 2016 18:02:25 -0600 Subject: [PATCH] Add PlayerLocaleChangeEvent @@ -61,5 +61,5 @@ index 00000000..29dd763a + } +} -- -2.18.0 +2.17.0 (Apple Git-106) diff --git a/Spigot-API-Patches/0009-Add-player-view-distance-API.patch b/Spigot-API-Patches/0009-Add-player-view-distance-API.patch index 8f757a13b6..99cea1def9 100644 --- a/Spigot-API-Patches/0009-Add-player-view-distance-API.patch +++ b/Spigot-API-Patches/0009-Add-player-view-distance-API.patch @@ -1,4 +1,4 @@ -From a046e06ee22190a42f8ec203d7b106a9271c09f2 Mon Sep 17 00:00:00 2001 +From 3308624206985251b7646042a4276f026c169c0b Mon Sep 17 00:00:00 2001 From: Byteflux Date: Mon, 29 Feb 2016 18:05:37 -0600 Subject: [PATCH] Add player view distance API @@ -30,5 +30,5 @@ index 25e44028..7f215f1a 100644 public class Spigot extends Entity.Spigot { -- -2.18.0 +2.17.0 (Apple Git-106) diff --git a/Spigot-API-Patches/0010-Add-BeaconEffectEvent.patch b/Spigot-API-Patches/0010-Add-BeaconEffectEvent.patch index ad3b9b75cd..f214a0e8a7 100644 --- a/Spigot-API-Patches/0010-Add-BeaconEffectEvent.patch +++ b/Spigot-API-Patches/0010-Add-BeaconEffectEvent.patch @@ -1,4 +1,4 @@ -From e9e1ec6471574850b8eb0cd61bb019a05d7adbb2 Mon Sep 17 00:00:00 2001 +From b0d2313841c2f617773d33708aaca8fece34d75c Mon Sep 17 00:00:00 2001 From: Byteflux Date: Mon, 29 Feb 2016 18:09:40 -0600 Subject: [PATCH] Add BeaconEffectEvent @@ -92,5 +92,5 @@ index 00000000..6579ae99 + } +} -- -2.18.0 +2.17.0 (Apple Git-106) diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 594c48a316..2bc8423b73 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -1,11 +1,11 @@ -From 1b41bf7f810b3bd6c90db0a7c4ee15776bc6f832 Mon Sep 17 00:00:00 2001 +From fa5eced3c89ff7fa1b290628a381d1211606e2bb Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index e8f7b7292..a0ebc1eaa 100644 +index e8f7b729..a0ebc1ea 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -234,4 +234,5 @@ public class PaperCommand extends Command { @@ -15,7 +15,7 @@ index e8f7b7292..a0ebc1eaa 100644 + } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 002da2a19..121a137f3 100644 +index 002da2a1..121a137f 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -150,7 +150,7 @@ public class BlockPosition extends BaseBlockPosition { @@ -57,7 +57,7 @@ index 002da2a19..121a137f3 100644 } diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java -index 65910508f..15c7cc170 100644 +index a661789c..785a1a21 100644 --- a/src/main/java/net/minecraft/server/DefinedStructure.java +++ b/src/main/java/net/minecraft/server/DefinedStructure.java @@ -88,7 +88,7 @@ public class DefinedStructure { @@ -111,6 +111,47 @@ index 65910508f..15c7cc170 100644 } public Iterator iterator() { +diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java +index 3b8f6ec1..bde5714d 100644 +--- a/src/main/java/net/minecraft/server/RegistryID.java ++++ b/src/main/java/net/minecraft/server/RegistryID.java +@@ -6,7 +6,7 @@ import java.util.Arrays; + import java.util.Iterator; + import javax.annotation.Nullable; + +-public class RegistryID implements Registry { ++public class RegistryID implements Registry { // Paper - decompile fix + + private static final Object a = null; + private K[] b; +@@ -17,9 +17,9 @@ public class RegistryID implements Registry { + + public RegistryID(int i) { + i = (int) ((float) i / 0.8F); +- this.b = (Object[]) (new Object[i]); ++ this.b = (K[]) (new Object[i]); // Paper - decompile fix + this.c = new int[i]; +- this.d = (Object[]) (new Object[i]); ++ this.d = (K[]) (new Object[i]); // Paper - decompile fix + } + + public int getId(@Nullable K k0) { +@@ -51,12 +51,12 @@ public class RegistryID implements Registry { + } + + private void d(int i) { +- Object[] aobject = this.b; ++ K[] aobject = this.b; // Paper - decompile fix + int[] aint = this.c; + +- this.b = (Object[]) (new Object[i]); ++ this.b = (K[]) (new Object[i]); // Paper - decompile fix + this.c = new int[i]; +- this.d = (Object[]) (new Object[i]); ++ this.d = (K[]) (new Object[i]); // Paper - decompile fix + this.e = 0; + this.f = 0; + -- -2.17.1 +2.17.0 (Apple Git-106) diff --git a/Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch b/Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch index a06d7c2a12..e3bfc98a07 100644 --- a/Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch +++ b/Spigot-Server-Patches/0307-Optimize-RegistryID.c.patch @@ -1,24 +1,15 @@ -From 94b336dd8e491cde34799f4d46335497690a2032 Mon Sep 17 00:00:00 2001 +From 48a1b1c1f5b4572ab2ade1314c35c9508d3644ea Mon Sep 17 00:00:00 2001 From: Andrew Steinborn -Date: Mon, 23 Jul 2018 12:50:18 -0400 +Date: Mon, 23 Jul 2018 13:08:19 -0400 Subject: [PATCH] Optimize RegistryID.c() This is a frequent hotspot for world loading/saving. diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java -index 3b8f6ec1..163da432 100644 +index bde5714d..a01cda9d 100644 --- a/src/main/java/net/minecraft/server/RegistryID.java +++ b/src/main/java/net/minecraft/server/RegistryID.java -@@ -6,7 +6,7 @@ import java.util.Arrays; - import java.util.Iterator; - import javax.annotation.Nullable; - --public class RegistryID implements Registry { -+public class RegistryID implements Registry { // Paper - decompile fix - - private static final Object a = null; - private K[] b; -@@ -14,12 +14,14 @@ public class RegistryID implements Registry { +@@ -14,12 +14,14 @@ public class RegistryID implements Registry { // Paper - decompile fix private K[] d; private int e; private int f; @@ -26,16 +17,14 @@ index 3b8f6ec1..163da432 100644 public RegistryID(int i) { i = (int) ((float) i / 0.8F); -- this.b = (Object[]) (new Object[i]); -+ this.b = (K[]) (new Object[i]); // Paper - decompile fix + this.b = (K[]) (new Object[i]); // Paper - decompile fix this.c = new int[i]; -- this.d = (Object[]) (new Object[i]); -+ this.d = (K[]) (new Object[i]); // Paper - decompile fix + this.d = (K[]) (new Object[i]); // Paper - decompile fix + this.usedIds = new java.util.BitSet(); // Paper } public int getId(@Nullable K k0) { -@@ -43,22 +45,28 @@ public class RegistryID implements Registry { +@@ -43,9 +45,14 @@ public class RegistryID implements Registry { // Paper - decompile fix } private int c() { @@ -50,33 +39,15 @@ index 3b8f6ec1..163da432 100644 return this.e; } - - private void d(int i) { -- Object[] aobject = this.b; -+ K[] aobject = this.b; // Paper - decompile fix - int[] aint = this.c; - -- this.b = (Object[]) (new Object[i]); -+ this.b = (K[]) (new Object[i]); // Paper - decompile fix - this.c = new int[i]; -- this.d = (Object[]) (new Object[i]); -+ this.d = (K[]) (new Object[i]); // Paper - decompile fix +@@ -59,6 +66,7 @@ public class RegistryID implements Registry { // Paper - decompile fix + this.d = (K[]) (new Object[i]); // Paper - decompile fix this.e = 0; this.f = 0; + this.usedIds.clear(); // Paper for (int j = 0; j < aobject.length; ++j) { if (aobject[j] != null) { -@@ -69,7 +77,7 @@ public class RegistryID implements Registry { - } - - public void a(K k0, int i) { -- int j = Math.max(i, this.f + 1); -+ int j = this.usedIds.size(); // Paper - int k; - - if ((float) j >= (float) this.b.length * 0.8F) { -@@ -84,6 +92,7 @@ public class RegistryID implements Registry { +@@ -84,6 +92,7 @@ public class RegistryID implements Registry { // Paper - decompile fix this.b[k] = k0; this.c[k] = i; this.d[i] = k0; @@ -84,7 +55,7 @@ index 3b8f6ec1..163da432 100644 ++this.f; if (i == this.e) { ++this.e; -@@ -148,6 +157,7 @@ public class RegistryID implements Registry { +@@ -148,6 +157,7 @@ public class RegistryID implements Registry { // Paper - decompile fix Arrays.fill(this.d, (Object) null); this.e = 0; this.f = 0; From 4608731dcac011cbb8ef9844b41c8af8987eafb9 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 23 Jul 2018 18:21:07 +0100 Subject: [PATCH 35/70] Update S Also drop a few patches which are no longer needed/already merged in. --- ...n-prefixes-using-Log4J-configuration.patch | 6 +-- ...nt-extended-PaperServerListPingEvent.patch | 8 +-- ...0-Custom-replacement-for-eaten-items.patch | 50 ------------------- ...hunks-as-active-for-neighbor-updates.patch | 48 ------------------ work/Spigot | 2 +- 5 files changed, 8 insertions(+), 106 deletions(-) delete mode 100644 removed/server/0080-Custom-replacement-for-eaten-items.patch delete mode 100644 removed/server/0130-Do-not-mark-chunks-as-active-for-neighbor-updates.patch diff --git a/Spigot-Server-Patches/0209-Handle-plugin-prefixes-using-Log4J-configuration.patch b/Spigot-Server-Patches/0209-Handle-plugin-prefixes-using-Log4J-configuration.patch index 723e3c257d..3942f1a3c4 100644 --- a/Spigot-Server-Patches/0209-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/Spigot-Server-Patches/0209-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -1,4 +1,4 @@ -From 28222826f87feef4f8cdd05f38e2b6220e987dc6 Mon Sep 17 00:00:00 2001 +From 0cb27d53aa22f145a8515ee04760f587a64dc4bf Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:14:55 +0200 Subject: [PATCH] Handle plugin prefixes using Log4J configuration @@ -28,10 +28,10 @@ index a93ed45df9..bb32cb749d 100644 diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 676780b619..5a873fe9d7 100644 +index ffbb1e894a..7f3543970f 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java -@@ -286,7 +286,7 @@ public class SpigotConfig +@@ -292,7 +292,7 @@ public class SpigotConfig private static void playerSample() { playerSample = getInt( "settings.sample-count", 12 ); diff --git a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch index 5fc1bc5d8e..8cf52e859c 100644 --- a/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0243-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From f84dca7cff9a63c999b574287e6542ec3bcc0ccb Mon Sep 17 00:00:00 2001 +From ce7b02aacbd7529f9bffc562a9a24d7fb2a988c4 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Wed, 11 Oct 2017 15:56:26 +0200 Subject: [PATCH] Implement extended PaperServerListPingEvent @@ -177,7 +177,7 @@ index 0000000000..350410527b + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cdcc375923..66b637326a 100644 +index 8e72220f37..90b1871196 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -915,7 +915,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -251,10 +251,10 @@ index d7e1ecc031..f20cddc41c 100644 this.c = agameprofile; } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 5a873fe9d7..42bd3b6edd 100644 +index 7f3543970f..6cc48258dc 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java -@@ -285,7 +285,7 @@ public class SpigotConfig +@@ -291,7 +291,7 @@ public class SpigotConfig public static int playerSample; private static void playerSample() { diff --git a/removed/server/0080-Custom-replacement-for-eaten-items.patch b/removed/server/0080-Custom-replacement-for-eaten-items.patch deleted file mode 100644 index 04bc9b376a..0000000000 --- a/removed/server/0080-Custom-replacement-for-eaten-items.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 6aca1eb30fa703436f9e195e2a3b17c38c223f15 Mon Sep 17 00:00:00 2001 -From: Jedediah Smith -Date: Sun, 21 Jun 2015 15:07:20 -0400 -Subject: [PATCH] Custom replacement for eaten items - - -diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2aaeac324..7e2cc66d7 100644 ---- a/src/main/java/net/minecraft/server/EntityLiving.java -+++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2377,12 +2377,13 @@ public abstract class EntityLiving extends Entity { - - protected void v() { - if (!this.activeItem.isEmpty() && this.isHandRaised()) { -+ PlayerItemConsumeEvent event = null; // Paper - this.b(this.activeItem, 16); - // CraftBukkit start - fire PlayerItemConsumeEvent - ItemStack itemstack; - if (this instanceof EntityPlayer) { - org.bukkit.inventory.ItemStack craftItem = CraftItemStack.asBukkitCopy(this.activeItem); -- PlayerItemConsumeEvent event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem); -+ event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem); // Paper - world.getServer().getPluginManager().callEvent(event); - - if (event.isCancelled()) { -@@ -2397,9 +2398,21 @@ public abstract class EntityLiving extends Entity { - itemstack = this.activeItem.a(this.world, this); - } - -+ // Paper start - save the default replacement item and change it if necessary -+ final ItemStack defaultReplacement = itemstack; -+ if (event != null && event.getReplacement() != null) { -+ itemstack = CraftItemStack.asNMSCopy(event.getReplacement()); -+ } -+ // Paper end -+ - this.a(this.cH(), itemstack); - // CraftBukkit end - this.cN(); -+ -+ // Paper start - if the replacement is anything but the default, update the client inventory -+ if (this instanceof EntityPlayer && !com.google.common.base.Objects.equal(defaultReplacement, itemstack)) { -+ ((EntityPlayer) this).getBukkitEntity().updateInventory(); -+ } - } - - } --- -2.18.0 - diff --git a/removed/server/0130-Do-not-mark-chunks-as-active-for-neighbor-updates.patch b/removed/server/0130-Do-not-mark-chunks-as-active-for-neighbor-updates.patch deleted file mode 100644 index a10fc9b891..0000000000 --- a/removed/server/0130-Do-not-mark-chunks-as-active-for-neighbor-updates.patch +++ /dev/null @@ -1,48 +0,0 @@ -From b61b569f426f29ca36a9b769f868e62d552645ec Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Thu, 12 May 2016 01:55:17 -0400 -Subject: [PATCH] Do not mark chunks as active for neighbor updates - -Fixes chunk unload issues - -diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 1e78fc625..ba3ee64f8 100644 ---- a/src/main/java/net/minecraft/server/Chunk.java -+++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1044,25 +1044,25 @@ public class Chunk { - // CraftBukkit end - world.timings.syncChunkLoadPostTimer.stopTiming(); // Paper - world.timings.syncChunkLoadPopulateNeighbors.startTiming(); // Paper -- Chunk chunk = ichunkprovider.getLoadedChunkAt(this.locX, this.locZ - 1); -- Chunk chunk1 = ichunkprovider.getLoadedChunkAt(this.locX + 1, this.locZ); -- Chunk chunk2 = ichunkprovider.getLoadedChunkAt(this.locX, this.locZ + 1); -- Chunk chunk3 = ichunkprovider.getLoadedChunkAt(this.locX - 1, this.locZ); -+ Chunk chunk = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX, this.locZ - 1); // Paper -+ Chunk chunk1 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX + 1, this.locZ); // Paper -+ Chunk chunk2 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX, this.locZ + 1); // Paper -+ Chunk chunk3 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX - 1, this.locZ); // Paper - -- if (chunk1 != null && chunk2 != null && ichunkprovider.getLoadedChunkAt(this.locX + 1, this.locZ + 1) != null) { -+ if (chunk1 != null && chunk2 != null && MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX + 1, this.locZ + 1) != null) { // Paper - this.a(chunkgenerator); - } - -- if (chunk3 != null && chunk2 != null && ichunkprovider.getLoadedChunkAt(this.locX - 1, this.locZ + 1) != null) { -+ if (chunk3 != null && chunk2 != null && MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX - 1, this.locZ + 1) != null) { // Paper - chunk3.a(chunkgenerator); - } - -- if (chunk != null && chunk1 != null && ichunkprovider.getLoadedChunkAt(this.locX + 1, this.locZ - 1) != null) { -+ if (chunk != null && chunk1 != null && MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX + 1, this.locZ - 1) != null) { // Paper - chunk.a(chunkgenerator); - } - - if (chunk != null && chunk3 != null) { -- Chunk chunk4 = ichunkprovider.getLoadedChunkAt(this.locX - 1, this.locZ - 1); -+ Chunk chunk4 = MCUtil.getLoadedChunkWithoutMarkingActive(ichunkprovider,this.locX - 1, this.locZ - 1); // Paper - - if (chunk4 != null) { - chunk4.a(chunkgenerator); --- -2.18.0 - diff --git a/work/Spigot b/work/Spigot index 5eb39219b1..a85f7ec0de 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 5eb39219b1987510730e082ef6c14470b11bcc5b +Subproject commit a85f7ec0de6263efed322bb8527c6360ea1109a7 From 9a17bddf127d5e84dc3c12c3b2ffeb4efd8350b5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 18:57:54 -0400 Subject: [PATCH 36/70] Update upstream --- .../0060-ensureServerConversions-API.patch | 8 ++-- .../0061-Add-getI18NDisplayName-API.patch | 6 +-- ...0105-ItemStack-getMaxItemUseDuration.patch | 6 +-- ...PI-additions-for-quantity-flags-lore.patch | 6 +-- Spigot-Server-Patches/0004-MC-Utils.patch | 38 +++++++++---------- .../0040-Use-UserCache-for-player-heads.patch | 6 +-- .../0052-Ensure-inv-drag-is-in-bounds.patch | 6 +-- ...069-Handle-Item-Meta-Inconsistencies.patch | 16 ++++---- ...mplement-ensureServerConversions-API.patch | 6 +-- .../0199-Implement-getI18NDisplayName.patch | 6 +-- ...3-Add-SkullMeta.setPlayerProfile-API.patch | 6 +-- .../0236-Add-ArmorStand-Item-Meta.patch | 14 +++---- ...0268-ItemStack-getMaxItemUseDuration.patch | 10 ++--- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 16 files changed, 70 insertions(+), 70 deletions(-) diff --git a/Spigot-API-Patches/0060-ensureServerConversions-API.patch b/Spigot-API-Patches/0060-ensureServerConversions-API.patch index c0c4d13b42..dcf06e2376 100644 --- a/Spigot-API-Patches/0060-ensureServerConversions-API.patch +++ b/Spigot-API-Patches/0060-ensureServerConversions-API.patch @@ -1,4 +1,4 @@ -From b02d5605bac4c8543b6f9fb6935a997cb2fe4149 Mon Sep 17 00:00:00 2001 +From 913761361c5a2b8da0f5eaa0ddfd7b6a18cc9ecc Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:55:48 -0400 Subject: [PATCH] ensureServerConversions API @@ -28,10 +28,10 @@ index 762c43d6..045c26d9 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 73f79b22..14b6b6b3 100644 +index 41a43053..24a45189 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -487,7 +487,12 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -488,7 +488,12 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { } } @@ -45,7 +45,7 @@ index 73f79b22..14b6b6b3 100644 } /** -@@ -545,4 +550,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -546,4 +551,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { return true; } diff --git a/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch b/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch index 23dcaf83bc..8cfda407d0 100644 --- a/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch +++ b/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch @@ -1,4 +1,4 @@ -From 5576e3c1a73f5a51ee3e041d001a827252a8d724 Mon Sep 17 00:00:00 2001 +From 3f49c33bedc491bb19580f5713bf536f366b931a Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:55:48 -0400 Subject: [PATCH] Add getI18NDisplayName API @@ -28,10 +28,10 @@ index 045c26d9..47bbc0f9 100644 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 14b6b6b3..ca7a958f 100644 +index 24a45189..b1d0778f 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -563,5 +563,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -564,5 +564,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { public ItemStack ensureServerConversions() { return Bukkit.getServer().getItemFactory().ensureServerConversions(this); } diff --git a/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch b/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch index a7996add96..2447cf66c1 100644 --- a/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From 34ff6fed0aafab40ec06d9c768117a5c1b4f2d4e Mon Sep 17 00:00:00 2001 +From 02c74afa96de75233566264502c5989c25f93eef Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 22:59:50 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index ca7a958f..a240311e 100644 +index b1d0778f..4385ca79 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -574,5 +574,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -575,5 +575,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { public String getI18NDisplayName() { return Bukkit.getServer().getItemFactory().getI18NDisplayName(this); } diff --git a/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch b/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch index 5e784cf74c..e672706047 100644 --- a/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch +++ b/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch @@ -1,11 +1,11 @@ -From 7cce1cf01bc05d8bbdbe79d43c1427c0acb7831d Mon Sep 17 00:00:00 2001 +From ba60c4fe16615ca60be690c7bf4bb2bf30fd175f Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 22 Jun 2018 22:59:18 -0400 Subject: [PATCH] ItemStack API additions for quantity/flags/lore diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index a240311e..c5befd8c 100644 +index 4385ca79..7eb00104 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -2,7 +2,9 @@ package org.bukkit.inventory; @@ -27,7 +27,7 @@ index a240311e..c5befd8c 100644 /** * Represents a stack of items */ -@@ -582,5 +586,133 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -583,5 +587,133 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { // Requires access to NMS return ensureServerConversions().getMaxItemUseDuration(); } diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index e5f625c8df..a10b168e0d 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,11 +1,11 @@ -From 196e3b344fb42d27702bca99fd7e635d140d9d24 Mon Sep 17 00:00:00 2001 +From fd30fe93ea2f20e2adb5e501d8646deabc046fcf Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index c3e990bdff..e2a7b4be2c 100644 +index c3e990bdf..e2a7b4be2 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -93,7 +93,7 @@ public class BaseBlockPosition implements Comparable { @@ -18,7 +18,7 @@ index c3e990bdff..e2a7b4be2c 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 121a137f3b..279045e499 100644 +index 121a137f3..279045e49 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -10,7 +10,6 @@ import org.apache.logging.log4j.Logger; @@ -54,7 +54,7 @@ index 121a137f3b..279045e499 100644 return this.c(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2)); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 411ab6061b..cd4fbee0ca 100644 +index 411ab6061..cd4fbee0c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -28,7 +28,7 @@ import com.google.common.collect.Lists; // CraftBukkit @@ -75,7 +75,7 @@ index 411ab6061b..cd4fbee0ca 100644 public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java -index 00a530c51c..2947d9ff6a 100644 +index 00a530c51..2947d9ff6 100644 --- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java +++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java @@ -24,6 +24,8 @@ public class ChunkCoordIntPair { @@ -88,7 +88,7 @@ index 00a530c51c..2947d9ff6a 100644 return (long) i & 4294967295L | ((long) j & 4294967295L) << 32; } diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index ca2a14d7ac..9a513b4e3a 100644 +index ca2a14d7a..9a513b4e3 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -131,7 +131,7 @@ index ca2a14d7ac..9a513b4e3a 100644 private boolean c = true; private boolean d = true; diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 1e27433b90..c973397898 100644 +index f5e311f2a..cf679df7b 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -25,6 +25,7 @@ import org.bukkit.Location; @@ -142,7 +142,7 @@ index 1e27433b90..c973397898 100644 import org.bukkit.craftbukkit.util.CraftMagicNumbers; import org.bukkit.entity.Player; import org.bukkit.event.world.StructureGrowEvent; -@@ -563,6 +564,17 @@ public final class ItemStack { +@@ -551,6 +552,17 @@ public final class ItemStack { return this.tag != null ? this.tag.getList("Enchantments", 10) : new NBTTagList(); } @@ -161,7 +161,7 @@ index 1e27433b90..c973397898 100644 this.tag = nbttagcompound; } diff --git a/src/main/java/net/minecraft/server/LotoSelectorEntry.java b/src/main/java/net/minecraft/server/LotoSelectorEntry.java -index a540167d6d..add618866b 100644 +index a540167d6..add618866 100644 --- a/src/main/java/net/minecraft/server/LotoSelectorEntry.java +++ b/src/main/java/net/minecraft/server/LotoSelectorEntry.java @@ -85,11 +85,11 @@ public abstract class LotoSelectorEntry { @@ -180,7 +180,7 @@ index a540167d6d..add618866b 100644 } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java new file mode 100644 -index 0000000000..70cdc3f102 +index 000000000..70cdc3f10 --- /dev/null +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -0,0 +1,292 @@ @@ -477,7 +477,7 @@ index 0000000000..70cdc3f102 + } +} diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java -index 8170a84280..e21e60b003 100644 +index 8170a8428..e21e60b00 100644 --- a/src/main/java/net/minecraft/server/NBTBase.java +++ b/src/main/java/net/minecraft/server/NBTBase.java @@ -20,7 +20,7 @@ public interface NBTBase { @@ -499,7 +499,7 @@ index 8170a84280..e21e60b003 100644 case 0: return "TAG_End"; diff --git a/src/main/java/net/minecraft/server/NBTList.java b/src/main/java/net/minecraft/server/NBTList.java -index 1a81d8e5f6..057c2077a0 100644 +index 1a81d8e5f..057c2077a 100644 --- a/src/main/java/net/minecraft/server/NBTList.java +++ b/src/main/java/net/minecraft/server/NBTList.java @@ -13,7 +13,7 @@ public abstract class NBTList extends AbstractList impleme @@ -525,7 +525,7 @@ index 1a81d8e5f6..057c2077a0 100644 + public abstract NBTList clone(); // Paper - decompile fix } diff --git a/src/main/java/net/minecraft/server/NBTTagByteArray.java b/src/main/java/net/minecraft/server/NBTTagByteArray.java -index 11ffa6c342..3ff3a29835 100644 +index 11ffa6c34..3ff3a2983 100644 --- a/src/main/java/net/minecraft/server/NBTTagByteArray.java +++ b/src/main/java/net/minecraft/server/NBTTagByteArray.java @@ -66,7 +66,8 @@ public class NBTTagByteArray extends NBTList { @@ -539,7 +539,7 @@ index 11ffa6c342..3ff3a29835 100644 System.arraycopy(this.data, 0, abyte, 0, this.data.length); diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index 7fc9b5ff32..e658816c24 100644 +index 7fc9b5ff3..e658816c2 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java @@ -24,7 +24,7 @@ public class NBTTagCompound implements NBTBase { @@ -575,7 +575,7 @@ index 7fc9b5ff32..e658816c24 100644 - } } diff --git a/src/main/java/net/minecraft/server/NBTTagIntArray.java b/src/main/java/net/minecraft/server/NBTTagIntArray.java -index f5c9b97d5c..d121ad4f7a 100644 +index f5c9b97d5..d121ad4f7 100644 --- a/src/main/java/net/minecraft/server/NBTTagIntArray.java +++ b/src/main/java/net/minecraft/server/NBTTagIntArray.java @@ -132,7 +132,7 @@ public class NBTTagIntArray extends NBTList { @@ -588,7 +588,7 @@ index f5c9b97d5c..d121ad4f7a 100644 } } diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index b3c944d701..a8280acf94 100644 +index b3c944d70..a8280acf9 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -14,7 +14,7 @@ import org.apache.logging.log4j.Logger; @@ -626,7 +626,7 @@ index b3c944d701..a8280acf94 100644 - } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2f2f4c6c60..556989f603 100644 +index 0618962e7..42e0630e6 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -66,9 +66,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -643,7 +643,7 @@ index 2f2f4c6c60..556989f603 100644 private volatile int chatThrottle; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index ef332d6517..7cc7eb7735 100644 +index ef332d651..7cc7eb773 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -8,7 +8,7 @@ import java.util.Iterator; @@ -665,7 +665,7 @@ index ef332d6517..7cc7eb7735 100644 this.c.set(i, t0); diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index 2179664a0c..d7e1ecc031 100644 +index 2179664a0..d7e1ecc03 100644 --- a/src/main/java/net/minecraft/server/ServerPing.java +++ b/src/main/java/net/minecraft/server/ServerPing.java @@ -102,11 +102,11 @@ public class ServerPing { diff --git a/Spigot-Server-Patches/0040-Use-UserCache-for-player-heads.patch b/Spigot-Server-Patches/0040-Use-UserCache-for-player-heads.patch index 1cd6556105..0d3cff8eb8 100644 --- a/Spigot-Server-Patches/0040-Use-UserCache-for-player-heads.patch +++ b/Spigot-Server-Patches/0040-Use-UserCache-for-player-heads.patch @@ -1,11 +1,11 @@ -From 522f622aa3d885d5b3bd892b89dec52866b0a273 Mon Sep 17 00:00:00 2001 +From b76742efb1e1fbab724579730c3790783c0e0b49 Mon Sep 17 00:00:00 2001 From: Techcable Date: Wed, 2 Mar 2016 23:42:37 -0600 Subject: [PATCH] Use UserCache for player heads diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 4cfc70aa7..52de1439e 100644 +index e5b9310ea..e9e2c1445 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -6,6 +6,7 @@ import net.minecraft.server.GameProfileSerializer; @@ -16,7 +16,7 @@ index 4cfc70aa7..52de1439e 100644 import org.bukkit.Bukkit; import org.bukkit.Material; -@@ -153,7 +154,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -152,7 +153,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (name == null) { profile = null; } else { diff --git a/Spigot-Server-Patches/0052-Ensure-inv-drag-is-in-bounds.patch b/Spigot-Server-Patches/0052-Ensure-inv-drag-is-in-bounds.patch index 3debd842c1..91de1e75c8 100644 --- a/Spigot-Server-Patches/0052-Ensure-inv-drag-is-in-bounds.patch +++ b/Spigot-Server-Patches/0052-Ensure-inv-drag-is-in-bounds.patch @@ -1,14 +1,14 @@ -From 54b195686cf6fb4e7669f2f823b5da49e7bf7155 Mon Sep 17 00:00:00 2001 +From 383cb078929132e57e648249639e8fc7cd507ea4 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:33:53 -0600 Subject: [PATCH] Ensure inv drag is in bounds diff --git a/src/main/java/net/minecraft/server/Container.java b/src/main/java/net/minecraft/server/Container.java -index e86ffb4dc..0bf14b671 100644 +index 0ae0b5ed8..1573c0559 100644 --- a/src/main/java/net/minecraft/server/Container.java +++ b/src/main/java/net/minecraft/server/Container.java -@@ -141,7 +141,7 @@ public abstract class Container { +@@ -139,7 +139,7 @@ public abstract class Container { this.c(); } } else if (this.g == 1) { diff --git a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch index dcf616588a..3379e1bb24 100644 --- a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From a796eafbb7a903319071385b8f6aef1a0c9bcb4b Mon Sep 17 00:00:00 2001 +From fd32275617a0d2891d8c394d86851638933edbb3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the ItemMeta API equivalents, and should deprecate the old API's. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index c973397898..e120521611 100644 +index cf679df7b..405b867fe 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -7,6 +7,8 @@ import com.mojang.brigadier.StringReader; @@ -61,7 +61,7 @@ index c973397898..e120521611 100644 this.getItem().a(this.tag); // CraftBukkit end } -@@ -577,6 +596,7 @@ public final class ItemStack { +@@ -565,6 +584,7 @@ public final class ItemStack { // Paper end public void setTag(@Nullable NBTTagCompound nbttagcompound) { this.tag = nbttagcompound; @@ -69,7 +69,7 @@ index c973397898..e120521611 100644 } public IChatBaseComponent getName() { -@@ -653,6 +673,7 @@ public final class ItemStack { +@@ -641,6 +661,7 @@ public final class ItemStack { nbttagcompound.setString("id", String.valueOf(Enchantment.enchantments.b(enchantment))); nbttagcompound.setShort("lvl", (short) ((byte) i)); nbttaglist.add((NBTBase) nbttagcompound); @@ -78,7 +78,7 @@ index c973397898..e120521611 100644 public boolean hasEnchantments() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index d41459ef01..cadff64bfb 100644 +index f4672b9a4..e2699564a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -4,6 +4,7 @@ import static org.bukkit.craftbukkit.inventory.CraftMetaItem.ENCHANTMENTS; @@ -89,7 +89,7 @@ index d41459ef01..cadff64bfb 100644 import java.util.Map; import net.minecraft.server.EnchantmentManager; -@@ -185,28 +186,11 @@ public final class CraftItemStack extends ItemStack { +@@ -186,28 +187,11 @@ public final class CraftItemStack extends ItemStack { public void addUnsafeEnchantment(Enchantment ench, int level) { Validate.notNull(ench, "Cannot add null enchantment"); @@ -123,7 +123,7 @@ index d41459ef01..cadff64bfb 100644 } static boolean makeTag(net.minecraft.server.ItemStack item) { -@@ -223,66 +207,35 @@ public final class CraftItemStack extends ItemStack { +@@ -224,66 +208,35 @@ public final class CraftItemStack extends ItemStack { @Override public boolean containsEnchantment(Enchantment ench) { @@ -204,7 +204,7 @@ index d41459ef01..cadff64bfb 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index b2190b01d4..f1430d226f 100644 +index b2190b01d..f1430d226 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -8,12 +8,14 @@ import java.lang.reflect.Constructor; diff --git a/Spigot-Server-Patches/0198-Implement-ensureServerConversions-API.patch b/Spigot-Server-Patches/0198-Implement-ensureServerConversions-API.patch index e26336017c..d3327ad920 100644 --- a/Spigot-Server-Patches/0198-Implement-ensureServerConversions-API.patch +++ b/Spigot-Server-Patches/0198-Implement-ensureServerConversions-API.patch @@ -1,4 +1,4 @@ -From ed06a3f52e0a0fd9899b4f5c9082bab768bc7c60 Mon Sep 17 00:00:00 2001 +From 27d25274373a6f4533ce86ef73351e049c0f127b Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 22:43:12 -0400 Subject: [PATCH] Implement ensureServerConversions API @@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 59d2685dc8..27a264f549 100644 +index 0fb3c238a..e98e1ed72 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -288,4 +288,10 @@ public final class CraftItemFactory implements ItemFactory { +@@ -287,4 +287,10 @@ public final class CraftItemFactory implements ItemFactory { public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException { return ((CraftMetaItem) meta).updateMaterial(material); } diff --git a/Spigot-Server-Patches/0199-Implement-getI18NDisplayName.patch b/Spigot-Server-Patches/0199-Implement-getI18NDisplayName.patch index 3b373c9bf0..45e40b8c1a 100644 --- a/Spigot-Server-Patches/0199-Implement-getI18NDisplayName.patch +++ b/Spigot-Server-Patches/0199-Implement-getI18NDisplayName.patch @@ -1,4 +1,4 @@ -From e093780dd2f3014b31a6baacb6cafe05c05c50f7 Mon Sep 17 00:00:00 2001 +From 570da01a74b273d367daa8ffbd4e4c38ed323aee Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:59:38 -0400 Subject: [PATCH] Implement getI18NDisplayName @@ -8,10 +8,10 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 27a264f549..1cdbdf6d07 100644 +index e98e1ed72..1df2b463a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -293,5 +293,18 @@ public final class CraftItemFactory implements ItemFactory { +@@ -292,5 +292,18 @@ public final class CraftItemFactory implements ItemFactory { public ItemStack ensureServerConversions(ItemStack item) { return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item)); } diff --git a/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch b/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch index cc736eb407..380faaba2a 100644 --- a/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0233-Add-SkullMeta.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From ca32eb428518822c63a80eaee3602dad31fea886 Mon Sep 17 00:00:00 2001 +From 5419d733dfcb2453954fa596166dd20e45ca00ef Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 19 Jan 2018 00:36:25 -0500 Subject: [PATCH] Add SkullMeta.setPlayerProfile API @@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo which commonly cause rate limit issues with Mojang API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 52de1439e7..960ae59ae1 100644 +index e9e2c1445..d894fadef 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -2,6 +2,8 @@ package org.bukkit.craftbukkit.inventory; @@ -28,7 +28,7 @@ index 52de1439e7..960ae59ae1 100644 @DelegateDeserialization(SerializableMeta.class) class CraftMetaSkull extends CraftMetaItem implements SkullMeta { -@@ -131,6 +135,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -130,6 +134,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { return hasOwner() ? profile.getName() : null; } diff --git a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch index e54c282a54..58b2cc2a09 100644 --- a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 73d8cb3ae3e2d449ea00aaa96463effced959b27 Mon Sep 17 00:00:00 2001 +From df8e9629b712132122452369684018f4c3926421 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta @@ -13,10 +13,10 @@ starting point for future additions in this area. Fixes GH-559 diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 1cdbdf6d07..da109e35a8 100644 +index 1df2b463a..abdbd4989 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -184,6 +184,8 @@ public final class CraftItemFactory implements ItemFactory { +@@ -183,6 +183,8 @@ public final class CraftItemFactory implements ItemFactory { return meta instanceof CraftMetaSpawnEgg ? meta : new CraftMetaSpawnEgg(meta); case KNOWLEDGE_BOOK: return meta instanceof CraftMetaKnowledgeBook ? meta : new CraftMetaKnowledgeBook(meta); @@ -26,7 +26,7 @@ index 1cdbdf6d07..da109e35a8 100644 case CHEST: case TRAPPED_CHEST: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index cadff64bfb..b1e0d61856 100644 +index e2699564a..aad380c3b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -395,6 +395,8 @@ public final class CraftItemStack extends ItemStack { @@ -40,7 +40,7 @@ index cadff64bfb..b1e0d61856 100644 case TRAPPED_CHEST: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java new file mode 100644 -index 0000000000..30941c7b0c +index 000000000..30941c7b0 --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java @@ -0,0 +1,309 @@ @@ -354,7 +354,7 @@ index 0000000000..30941c7b0c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index f1430d226f..a3f293e4cc 100644 +index f1430d226..a3f293e4c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -136,6 +136,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { @@ -383,7 +383,7 @@ index f1430d226f..a3f293e4cc 100644 } return HANDLED_TAGS; diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index f66cc81d9e..eb6cf1bb33 100644 +index f66cc81d9..eb6cf1bb3 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -6,6 +6,7 @@ import static org.hamcrest.Matchers.*; diff --git a/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch index ce7c38fff4..b82c251273 100644 --- a/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From 425c25691fe2dd228b01f6e4b20eb050440a85c5 Mon Sep 17 00:00:00 2001 +From 2e865fce8dd06dc0afb86b40b01167f00593e59e Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 23:00:29 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 023dd48a23..00691f6de9 100644 +index e71d75a77..3c7a40c23 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -524,6 +524,7 @@ public final class ItemStack { +@@ -512,6 +512,7 @@ public final class ItemStack { this.getItem().b(this, world, entityhuman); } @@ -18,10 +18,10 @@ index 023dd48a23..00691f6de9 100644 return this.getItem().c(this); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index b1e0d61856..03f6115181 100644 +index aad380c3b..5f3331de1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -182,6 +182,13 @@ public final class CraftItemStack extends ItemStack { +@@ -183,6 +183,13 @@ public final class CraftItemStack extends ItemStack { return (handle == null) ? Material.AIR.getMaxStackSize() : handle.getItem().getMaxStackSize(); } diff --git a/work/Bukkit b/work/Bukkit index b7b10ad1c3..0f4e33e9c7 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit b7b10ad1c3cd0c03c041e2958a37895ce6990f65 +Subproject commit 0f4e33e9c7a5b3fc9912c67265b725db43fc92cb diff --git a/work/CraftBukkit b/work/CraftBukkit index 587014503b..ea7b61290a 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 587014503baa1ccdfb835404e1a88f1c0e1915d5 +Subproject commit ea7b61290a39f0ab355d7a723907ed312f713b05 diff --git a/work/Spigot b/work/Spigot index a85f7ec0de..0b44fa0bd4 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit a85f7ec0de6263efed322bb8527c6360ea1109a7 +Subproject commit 0b44fa0bd4ed14ac6ae791d7f9a486d31382a0c7 From 433c56c2d370c7920623378db7af46eeaf9942cd Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 19:41:29 -0400 Subject: [PATCH 37/70] Fix memory leak in proto chunk change --- .../0306-Don-t-save-Proto-Chunks.patch | 39 +++++++------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch b/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch index 5aaee817e6..45a16ffeeb 100644 --- a/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch +++ b/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch @@ -1,4 +1,4 @@ -From 2d53aa2c84c4fed063659a26e9bcb90d546a5ae8 Mon Sep 17 00:00:00 2001 +From 114ef33e651ac74cef786afa84ff16003b0cccfb Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 21:21:41 -0400 Subject: [PATCH] Don't save Proto Chunks @@ -7,30 +7,8 @@ These chunks are unfinished, and waste cpu time saving these unfinished chunks. the loadChunk method refuses to acknoledge they exists, and will restart a new chunk generation process to begin with, so saving them serves no benefit. -diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index fd8430a68f..b425704b1a 100644 ---- a/src/main/java/net/minecraft/server/ChunkProviderServer.java -+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -250,7 +250,7 @@ public class ChunkProviderServer implements IChunkProvider { - public boolean a(boolean flag) { - int i = 0; - -- this.f.a(); -+ //this.f.a(); // Paper - don't save proto chunks - ArrayList arraylist = Lists.newArrayList(this.chunks.values()); - Iterator iterator = arraylist.iterator(); - -@@ -369,7 +369,7 @@ public class ChunkProviderServer implements IChunkProvider { - } - // Paper end - -- this.f.a(); -+ //this.f.a(); // Paper - don't save proto chunks - this.chunkLoader.b(); - } - diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index ea8684747d..a97e024ec4 100644 +index ea8684747..a97e024ec 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -282,6 +282,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -41,6 +19,19 @@ index ea8684747d..a97e024ec4 100644 // Spigot end world.checkSession(); +diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +index 501565dd5..7b3068753 100644 +--- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java ++++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +@@ -23,7 +23,7 @@ public class ChunkTaskScheduler extends Scheduler Date: Mon, 23 Jul 2018 19:41:41 -0400 Subject: [PATCH 38/70] Fix a concurrency issue with chunk scheduler It's possible we won't hit this on the servers current state since nothing is async, but we are working towards that. I experienced a crash due to this code during my work. --- ...ad-Safe-Iteration-of-Chunk-Scheduler.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Spigot-Server-Patches/0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch diff --git a/Spigot-Server-Patches/0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch b/Spigot-Server-Patches/0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch new file mode 100644 index 0000000000..205471a462 --- /dev/null +++ b/Spigot-Server-Patches/0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch @@ -0,0 +1,47 @@ +From bdd76dbf6c7b71856f5edb1ea7cf572b76706cad Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 23 Jul 2018 19:13:06 -0400 +Subject: [PATCH] Thread Safe Iteration of Chunk Scheduler + + +diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +index 7b3068753..45f9ad372 100644 +--- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java ++++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +@@ -1,8 +1,10 @@ + package net.minecraft.server; + ++import com.google.common.collect.Lists; + import it.unimi.dsi.fastutil.longs.Long2ObjectMap; + import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; + import java.io.IOException; ++import java.util.ArrayList; + import java.util.EnumMap; + import java.util.Map; + import java.util.function.Consumer; +@@ -79,7 +81,13 @@ public class ChunkTaskScheduler extends Scheduler { ++ // Paper start ++ ArrayList list; ++ synchronized (this.g) { ++ list = Lists.newArrayList(this.g.values()); ++ } ++ list.forEach((scheduler_a) -> { ++ // Paper end + ProtoChunk protochunk = (ProtoChunk) scheduler_a.a(); + + if (protochunk.h() && protochunk.i().d() == ChunkStatus.Type.PROTOCHUNK) { +@@ -87,6 +95,7 @@ public class ChunkTaskScheduler extends Scheduler Date: Mon, 23 Jul 2018 20:16:48 -0400 Subject: [PATCH 39/70] rebuild patch and delete unused --- ...d-Safe-Iteration-of-Chunk-Scheduler.patch} | 2 +- ...sign-the-World-in-WorldGenStronghold.patch | 21 ---------------- ...ix-dragon-egg-falling-in-lazy-chunks.patch | 25 ------------------- 3 files changed, 1 insertion(+), 47 deletions(-) rename Spigot-Server-Patches/{0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch => 0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch} (96%) delete mode 100644 removed/server/0197-Assign-the-World-in-WorldGenStronghold.patch delete mode 100644 removed/server/0231-MC-94186-Fix-dragon-egg-falling-in-lazy-chunks.patch diff --git a/Spigot-Server-Patches/0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch b/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch similarity index 96% rename from Spigot-Server-Patches/0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch rename to Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch index 205471a462..a9511d3b8a 100644 --- a/Spigot-Server-Patches/0307-Thread-Safe-Iteration-of-Chunk-Scheduler.patch +++ b/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch @@ -1,4 +1,4 @@ -From bdd76dbf6c7b71856f5edb1ea7cf572b76706cad Mon Sep 17 00:00:00 2001 +From c4f6d7b6868a203037dacc6d4dbcf8c065babf6e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 19:13:06 -0400 Subject: [PATCH] Thread Safe Iteration of Chunk Scheduler diff --git a/removed/server/0197-Assign-the-World-in-WorldGenStronghold.patch b/removed/server/0197-Assign-the-World-in-WorldGenStronghold.patch deleted file mode 100644 index 84286abc84..0000000000 --- a/removed/server/0197-Assign-the-World-in-WorldGenStronghold.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 9d2c2c0c6e0763a163a8a52d4e8323e853c19cb1 Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Sat, 14 Jan 2017 01:22:07 -0600 -Subject: [PATCH] Assign the World in WorldGenStronghold - - -diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java -index c93754704..a3b958e01 100644 ---- a/src/main/java/net/minecraft/server/WorldGenStronghold.java -+++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java -@@ -56,6 +56,7 @@ public class WorldGenStronghold extends StructureGenerator { - } - - public BlockPosition getNearestGeneratedFeature(World world, BlockPosition blockposition, boolean flag) { -+ this.g = world; // Paper - if (!this.b) { - this.c(); - this.b = true; --- -2.18.0 - diff --git a/removed/server/0231-MC-94186-Fix-dragon-egg-falling-in-lazy-chunks.patch b/removed/server/0231-MC-94186-Fix-dragon-egg-falling-in-lazy-chunks.patch deleted file mode 100644 index 12db003ae5..0000000000 --- a/removed/server/0231-MC-94186-Fix-dragon-egg-falling-in-lazy-chunks.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ddb5420fbc247f84c5d4877b77716179535385ba Mon Sep 17 00:00:00 2001 -From: Brokkonaut -Date: Fri, 11 Aug 2017 03:29:26 +0200 -Subject: [PATCH] MC-94186 Fix dragon egg falling in lazy chunks - -Fixes falling dragon eggs in lazy chunks fall to the block below the last empty block and replacing that block with them. - -See also https://bugs.mojang.com/browse/MC-94186 - -diff --git a/src/main/java/net/minecraft/server/BlockDragonEgg.java b/src/main/java/net/minecraft/server/BlockDragonEgg.java -index ce186f825..291342c90 100644 ---- a/src/main/java/net/minecraft/server/BlockDragonEgg.java -+++ b/src/main/java/net/minecraft/server/BlockDragonEgg.java -@@ -44,7 +44,7 @@ public class BlockDragonEgg extends Block { - } - - if (blockposition1.getY() > 0) { -- world.setTypeAndData(blockposition1, this.getBlockData(), 2); -+ world.setTypeAndData(blockposition1.up(), this.getBlockData(), 2); // Paper - } - } - --- -2.18.0 - From b3f73074b3a74912d1fd582f4fbba160c7418f3d Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Mon, 23 Jul 2018 20:32:40 -0400 Subject: [PATCH 40/70] Licensing stuff I agree to license all of my current and future Paper changes under the MIT license. --- LICENSE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE.md b/LICENSE.md index 7d4663268a..ad90275008 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -34,4 +34,5 @@ Brokkonaut vemacs stonar96 Hugo Manrique +Andrew Steinborn ``` From 29e39cbbc1abde1651bacab122b2cdd796f8b1d4 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 23 Jul 2018 21:05:04 -0400 Subject: [PATCH 41/70] [CI-SKIP] Add Self to MIT List (#1262) Apparently I wasn't already on this list.. --- LICENSE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE.md b/LICENSE.md index ad90275008..1bb8996e25 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -35,4 +35,5 @@ vemacs stonar96 Hugo Manrique Andrew Steinborn +willies952002 ``` From 009031a21f41ff1bb31c4391ac4d2af69d8031fa Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 21:09:25 -0400 Subject: [PATCH 42/70] Bring some 1.13 authors to master --- LICENSE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/LICENSE.md b/LICENSE.md index 7d4663268a..1bb8996e25 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -34,4 +34,6 @@ Brokkonaut vemacs stonar96 Hugo Manrique +Andrew Steinborn +willies952002 ``` From 5c4367f9d3e94751266c6f5640fef47a9a8a8baf Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:50:47 -0400 Subject: [PATCH 43/70] Add more entity debug info --- ...ies-option-to-debug-dupe-uuid-issues.patch | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index c5f5055e2a..701004cc84 100644 --- a/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,12 +1,31 @@ -From b061a231214e88cde43e0c3880f779723828b2b4 Mon Sep 17 00:00:00 2001 +From 46caf77f4a0b159f721e681f44228a02b3cfeee2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information +diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +index bcce5e8b7..f5b9aa561 100644 +--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java ++++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +@@ -351,6 +351,14 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { + + while (iterator.hasNext()) { + Entity entity = (Entity) iterator.next(); ++ // Paper start ++ if (entity.getChunkX() != chunk.locX || entity.getChunkZ() != chunk.locZ) { ++ LogManager.getLogger().error(entity + " is not actually in this chunk! Report this to https://github.com/PaperMC/Paper/issues/1223", new Throwable()); ++ } ++ if ((int)Math.floor(entity.locX) >> 4 != chunk.locX || (int)Math.floor(entity.locZ) >> 4 != chunk.locZ) { ++ LogManager.getLogger().error(entity + " will be leaving this chunk but saved to it. Report this to https://github.com/PaperMC/Paper/issues/1223", new Throwable()); ++ } ++ // Paper end + + nbttagcompound1 = new NBTTagCompound(); + if (entity.d(nbttagcompound1)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f6b755863..108654d63 100644 +index 99dac412f..0d3af8cb7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -73,6 +73,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper From 9ec7ffa358eb8193cbddab6e3536820552002e80 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:50:56 -0400 Subject: [PATCH 44/70] Reduce and improve dupe uuid resolve message --- .../0338-Duplicate-UUID-Resolve-Option.patch | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch index 5e9ec904e8..ec5afadae3 100644 --- a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 2a6d7b5cf9db036928914e854416039d7c8a14af Mon Sep 17 00:00:00 2001 +From 60078ed225caffbeab2732eb4a64364d9d342341 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -78,7 +78,7 @@ index 14c8edeff..e3f6557e1 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 04adf4e3c..ea9559583 100644 +index 04adf4e3c..b31c301ec 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -108,7 +108,7 @@ index 04adf4e3c..ea9559583 100644 } int k = MathHelper.floor(entity.locY / 16.0D); -@@ -851,6 +858,37 @@ public class Chunk { +@@ -851,6 +858,35 @@ public class Chunk { for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot @@ -126,13 +126,11 @@ index 04adf4e3c..ea9559583 100644 + switch (mode) { + case REGEN: { + entity.setUUID(UUID.randomUUID()); -+ logger.error("Duplicate UUID found used by " + other); -+ logger.error("Regenerated a new UUID for " + entity); ++ logger.warn("[DUPE-UUID] Duplicate UUID found used by " + other + ", regenerated UUID for " + entity + ". See https://github.com/PaperMC/Paper/issues/1223 for discussion on what this is about."); + break; + } + case DELETE: { -+ logger.error("Duplicate UUID found used by " + other); -+ logger.error("Deleting duplicate entity " + entity); ++ logger.warn("[DUPE-UUID] Duplicate UUID found used by " + other + ", deleted entity " + entity + ". See https://github.com/PaperMC/Paper/issues/1223 for discussion on what this is about."); + entity.die(); + iterator.remove(); + break; From ba80c7e58054944018612c415d17e7425d5d07e3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:54:52 -0400 Subject: [PATCH 45/70] Mark chunk dirty on entity changes This is to hopefully help avoid any chunk saving entity issues. Marks the chunk that it NEEDS to be saved, ensuring the latest state gets saved. --- ...-anytime-entities-change-to-guarante.patch | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch diff --git a/Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch new file mode 100644 index 0000000000..bbf41e099b --- /dev/null +++ b/Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch @@ -0,0 +1,30 @@ +From 37c0cfe11574838ad8c24863a4b926e0b88878d5 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 23 Jul 2018 22:18:31 -0400 +Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it + saves + + +diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java +index b31c301ec..6de053781 100644 +--- a/src/main/java/net/minecraft/server/Chunk.java ++++ b/src/main/java/net/minecraft/server/Chunk.java +@@ -683,6 +683,7 @@ public class Chunk { + entity.ad = this.locZ; + this.entitySlices[k].add(entity); + // Paper start ++ this.markDirty(); + entity.setCurrentChunk(this); + entityCounts.increment(entity.entityKeyString); + if (entity instanceof EntityItem) { +@@ -725,6 +726,7 @@ public class Chunk { + + // Paper start + if (!this.entitySlices[i].remove(entity)) { return; } ++ this.markDirty(); + entity.setCurrentChunk(null); + entityCounts.decrement(entity.entityKeyString); + if (entity instanceof EntityItem) { +-- +2.18.0 + From d155366b5420147429817f3cce515518bcbdcf58 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:55:27 -0400 Subject: [PATCH 46/70] Add some debug for entity slices If we find any entity in an unexpected state, log it so we can discover what potentially put it in that state to relate to issue #1223 --- ...dd-some-Debug-to-Chunk-Entity-slices.patch | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch diff --git a/Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch new file mode 100644 index 0000000000..e59455dc49 --- /dev/null +++ b/Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -0,0 +1,77 @@ +From 80a062ecc95b8346f6a9161e375e41d5f5df3882 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 23 Jul 2018 22:44:23 -0400 +Subject: [PATCH] Add some Debug to Chunk Entity slices + +If we detect unexpected state, log and try to recover + +This should hopefully avoid duplicate entities ever being created +if the entity was to end up in 2 different chunk slices + +diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java +index 6de053781..be0b411e5 100644 +--- a/src/main/java/net/minecraft/server/Chunk.java ++++ b/src/main/java/net/minecraft/server/Chunk.java +@@ -681,8 +681,33 @@ public class Chunk { + entity.ab = this.locX; + entity.ac = k; + entity.ad = this.locZ; +- this.entitySlices[k].add(entity); ++ + // Paper start ++ List entitySlice = this.entitySlices[k]; ++ boolean inThis = entitySlice.contains(entity); ++ if (entity.entitySlice != null || inThis) { ++ if (entity.entitySlice == entitySlice || inThis) { ++ LogManager.getLogger().warn(entity + " was already in this chunk section! Report this to https://github.com/PaperMC/Paper/issues/1223"); ++ new Throwable().printStackTrace(); ++ return; ++ } else { ++ LogManager.getLogger().warn(entity + " is still in another ChunkSection! Report this to https://github.com/PaperMC/Paper/issues/1223"); ++ ++ Chunk chunk = entity.getCurrentChunk(); ++ if (chunk != null) { ++ if (chunk != this) { ++ LogManager.getLogger().warn(entity + " was in another chunk at that! " + chunk.locX + "," + chunk.locZ); ++ } ++ chunk.removeEntity(entity); ++ } else { ++ removeEntity(entity); ++ } ++ new Throwable().printStackTrace(); ++ } ++ } ++ entity.entitySlice = entitySlice; ++ entitySlice.add(entity); ++ + this.markDirty(); + entity.setCurrentChunk(this); + entityCounts.increment(entity.entityKeyString); +@@ -726,6 +751,12 @@ public class Chunk { + + // Paper start + if (!this.entitySlices[i].remove(entity)) { return; } ++ if (entitySlices[i] == entity.entitySlice) { ++ entity.entitySlice = null; ++ } else { ++ LogManager.getLogger().warn(entity + " was removed from a entitySlice we did not expect. Report this to https://github.com/PaperMC/Paper/issues/1223"); ++ new Throwable().printStackTrace(); ++ } + this.markDirty(); + entity.setCurrentChunk(null); + entityCounts.decrement(entity.entityKeyString); +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index 7188d0c99..b3120d7cc 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -59,6 +59,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper + } + } + }; ++ Object entitySlice = null; + // Paper end + static boolean isLevelAtLeast(NBTTagCompound tag, int level) { + return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; +-- +2.18.0 + From 166eb8b489c3844fdb23985bc29f7d58fffb572c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 23:00:57 -0400 Subject: [PATCH 47/70] Update upstream --- .../0069-Handle-Item-Meta-Inconsistencies.patch | 6 +++--- .../0236-Add-ArmorStand-Item-Meta.patch | 10 +++++----- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch index 3379e1bb24..e1ee4ac1d6 100644 --- a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From fd32275617a0d2891d8c394d86851638933edbb3 Mon Sep 17 00:00:00 2001 +From e840becdb579c898f7026e614c92b348b3b6a31f Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -204,7 +204,7 @@ index f4672b9a4..e2699564a 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index b2190b01d..f1430d226 100644 +index f10de8550..f21c1e846 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -8,12 +8,14 @@ import java.lang.reflect.Constructor; @@ -274,7 +274,7 @@ index b2190b01d..f1430d226 100644 for (int i = 0; i < ench.size(); i++) { String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); @@ -573,13 +576,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { - void deserializeInternal(NBTTagCompound tag) { + void deserializeInternal(NBTTagCompound tag, Object context) { } - static Map buildEnchantments(Map map, ItemMetaKey key) { diff --git a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch index 58b2cc2a09..69989eaa79 100644 --- a/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0236-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From df8e9629b712132122452369684018f4c3926421 Mon Sep 17 00:00:00 2001 +From ca412bfa3f41d52e4dc3fa2b21e6f4375c6aa7bb Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta @@ -40,7 +40,7 @@ index e2699564a..aad380c3b 100644 case TRAPPED_CHEST: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java new file mode 100644 -index 000000000..30941c7b0 +index 000000000..0e8acf12e --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java @@ -0,0 +1,309 @@ @@ -219,8 +219,8 @@ index 000000000..30941c7b0 + } + + @Override -+ void deserializeInternal(NBTTagCompound tag) { -+ super.deserializeInternal(tag); ++ void deserializeInternal(NBTTagCompound tag, Object context) { ++ super.deserializeInternal(tag, context); + + if (tag.hasKey(ENTITY_TAG.NBT)) { + entityTag = tag.getCompound(ENTITY_TAG.NBT); @@ -354,7 +354,7 @@ index 000000000..30941c7b0 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index f1430d226..a3f293e4c 100644 +index f21c1e846..a5fcf6bd5 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -136,6 +136,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { diff --git a/work/Bukkit b/work/Bukkit index 0f4e33e9c7..d6214b1988 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 0f4e33e9c7a5b3fc9912c67265b725db43fc92cb +Subproject commit d6214b1988f3815e323c1c32c6885468ce21905e diff --git a/work/CraftBukkit b/work/CraftBukkit index ea7b61290a..2100017016 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit ea7b61290a39f0ab355d7a723907ed312f713b05 +Subproject commit 210001701695ed79ae0b6b81e23125671913fe9c From 84d229cd2942b1cf917c3c42b68dbaba0d1d049d Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 23:50:09 -0400 Subject: [PATCH 48/70] Optimize Region File Cache CraftBukkit added synchronization to read and write methods. This adds much more contention on this object for accessing region files, as the entire read and write of NBT data is now a blocking operation. This causes issues when something then simply needs to check if a chunk exists on the main thread, causing a block... However, this synchronization was unnecessary, because there is already enough synchronization done to keep things safe 1) Obtaining a Region File: Those methods are still static synchronized. Meaning we can safely obtain a Region File concurrently. 2) RegionFile data access: Methods reading and manipulating data from a region file are also marked synchronized, ensuring that no 2 processes are reading or writing data at the same time. 3) Checking a region file for chunkExists: getOffset is also synchronized ensuring that even if a chunk is currently being written, it will be safe. By removing these synchronizations, we reduce the locking to only when data is being write or read. GZIP compression and NBT Buffer creation will no longer be part of the synchronized context, reducing lock times. Ultimately: This brings us back to Vanilla, which has had no indication of region file loss. Closes #1260 --- .../0312-Optimize-Region-File-Cache.patch | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Spigot-Server-Patches/0312-Optimize-Region-File-Cache.patch diff --git a/Spigot-Server-Patches/0312-Optimize-Region-File-Cache.patch b/Spigot-Server-Patches/0312-Optimize-Region-File-Cache.patch new file mode 100644 index 0000000000..0709758d4a --- /dev/null +++ b/Spigot-Server-Patches/0312-Optimize-Region-File-Cache.patch @@ -0,0 +1,67 @@ +From e979cf5f12f51ca8cea8931026b091f21cc62eb9 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 23 Jul 2018 23:40:04 -0400 +Subject: [PATCH] Optimize Region File Cache + +CraftBukkit added synchronization to read and write methods. This adds +much more contention on this object for accessing region files, as +the entire read and write of NBT data is now a blocking operation. + +This causes issues when something then simply needs to check if a chunk exists +on the main thread, causing a block... + +However, this synchronization was unnecessary, because there is already +enough synchronization done to keep things safe + +1) Obtaining a Region File: Those methods are still static synchronized. + Meaning we can safely obtain a Region File concurrently. + +2) RegionFile data access: Methods reading and manipulating data from + a region file are also marked synchronized, ensuring that no 2 processes + are reading or writing data at the same time. + +3) Checking a region file for chunkExists: getOffset is also synchronized + ensuring that even if a chunk is currently being written, it will be safe. + +By removing these synchronizations, we reduce the locking to only +when data is being write or read. + +GZIP compression and NBT Buffer creation will no longer be part of the +synchronized context, reducing lock times. + +Ultimately: This brings us back to Vanilla, which has had no indication of region file loss. + +diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java +index 3b8d01ea1..609d6c355 100644 +--- a/src/main/java/net/minecraft/server/RegionFileCache.java ++++ b/src/main/java/net/minecraft/server/RegionFileCache.java +@@ -97,7 +97,7 @@ public class RegionFileCache { + + @Nullable + // CraftBukkit start - call sites hoisted for synchronization +- public static synchronized NBTTagCompound read(File file, int i, int j) throws IOException { ++ public static NBTTagCompound read(File file, int i, int j) throws IOException { // Paper - remove synchronization + RegionFile regionfile = a(file, i, j); + + DataInputStream datainputstream = regionfile.a(i & 31, j & 31); +@@ -110,7 +110,7 @@ public class RegionFileCache { + } + + @Nullable +- public static synchronized void write(File file, int i, int j, NBTTagCompound nbttagcompound) throws IOException { ++ public static void write(File file, int i, int j, NBTTagCompound nbttagcompound) throws IOException { // Paper - remove synchronization + RegionFile regionfile = a(file, i, j); + + DataOutputStream dataoutputstream = regionfile.c(i & 31, j & 31); +@@ -119,7 +119,7 @@ public class RegionFileCache { + } + // CraftBukkit end + +- public static synchronized boolean chunkExists(File file, int i, int j) { ++ public static boolean chunkExists(File file, int i, int j) { // Paper - remove synchronization + RegionFile regionfile = b(file, i, j); + + return regionfile != null ? regionfile.d(i & 31, j & 31) : false; +-- +2.18.0 + From 480011c529b478f2a7f9a9a2fcbc3d7396147d10 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 24 Jul 2018 00:48:07 -0400 Subject: [PATCH 49/70] restore uuid to Entity.toString --- .../0298-add-more-information-to-Entity.toString.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch index 518891dbb1..1a1b41dfd9 100644 --- a/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From 88ce3d06ea198c762aed6e42caf403f595b07f58 Mon Sep 17 00:00:00 2001 +From 732dd355da4ae3f7b45a261d2a3b34535026bd81 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,7 +6,7 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index af7b91b479..47ce5cda76 100644 +index af7b91b47..a2101d44f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2505,7 +2505,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -14,7 +14,7 @@ index af7b91b479..47ce5cda76 100644 public String toString() { - return String.format(Locale.ROOT, "%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ)}); -+ return String.format(Locale.ROOT, "%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f, cx=%d, cz=%d, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), getChunkX(), getChunkZ(), this.ticksLived, this.valid, this.dead}); // Paper - add more information ++ return String.format(Locale.ROOT, "%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f, cx=%d, cz=%d, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), getChunkX(), getChunkZ(), this.ticksLived, this.valid, this.dead}); // Paper - add more information } public boolean isInvulnerable(DamageSource damagesource) { From 1f5d23d96d3fdf0aaa12b55a8d4b70303067066a Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 14:31:18 +0200 Subject: [PATCH 50/70] Re-add Vanished players don't have rights patch --- ...7-Vanished-players-don-t-have-rights.patch | 129 ++++++++++++++++++ ...7-Vanished-players-don-t-have-rights.patch | 100 -------------- 2 files changed, 129 insertions(+), 100 deletions(-) create mode 100644 Spigot-Server-Patches/0307-Vanished-players-don-t-have-rights.patch delete mode 100644 removed/server/0177-Vanished-players-don-t-have-rights.patch diff --git a/Spigot-Server-Patches/0307-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0307-Vanished-players-don-t-have-rights.patch new file mode 100644 index 0000000000..80fe5c9fab --- /dev/null +++ b/Spigot-Server-Patches/0307-Vanished-players-don-t-have-rights.patch @@ -0,0 +1,129 @@ +From 76185f16d4274c0d2f2ac47e49ba382a79ff99dd Mon Sep 17 00:00:00 2001 +From: Hugo Manrique +Date: Mon, 23 Jul 2018 14:22:26 +0200 +Subject: [PATCH] Vanished players don't have rights + + +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index b6d6d4f3..ce2fdbeb 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -92,7 +92,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + private static int entityCount; + private final EntityTypes g; public EntityTypes getEntityType() { return g; } // Paper - OBFHELPER + private int id; +- public boolean j; ++ public boolean j; public boolean blocksEntitySpawning() { return j; } // Paper - OBFHELPER + public final List passengers; + protected int k; + private Entity ax; +diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java +index c8f305e6..b57f6efb 100644 +--- a/src/main/java/net/minecraft/server/IBlockData.java ++++ b/src/main/java/net/minecraft/server/IBlockData.java +@@ -179,6 +179,7 @@ public interface IBlockData extends IBlockDataHolder { + return this.getBlock().a(this, iblockaccess, blockposition); + } + ++ default VoxelShape getBlockShape(IBlockAccess iblockaccess, BlockPosition blockposition) { return h(iblockaccess, blockposition); } // Paper - OBFHELPER + default VoxelShape h(IBlockAccess iblockaccess, BlockPosition blockposition) { + return this.getBlock().f(this, iblockaccess, blockposition); + } +diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java +index 1cecccef..afc881d9 100644 +--- a/src/main/java/net/minecraft/server/ItemBlock.java ++++ b/src/main/java/net/minecraft/server/ItemBlock.java +@@ -70,7 +70,8 @@ public class ItemBlock extends Item { + + protected boolean b(BlockActionContext blockactioncontext, IBlockData iblockdata) { + // CraftBukkit start - store default return +- boolean defaultReturn = iblockdata.canPlace(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()) && blockactioncontext.getWorld().a(iblockdata, blockactioncontext.getClickPosition()); ++ final World world = blockactioncontext.getWorld(); // Paper ++ boolean defaultReturn = iblockdata.canPlace(world, blockactioncontext.getClickPosition()) && world.a(iblockdata, blockactioncontext.getClickPosition()) && world.checkNoVisiblePlayerCollisions(blockactioncontext.getEntity(), iblockdata.getBlockShape(world, blockactioncontext.getClickPosition())); // Paper - Use our entity search + + BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), CraftBlockData.fromData(iblockdata), defaultReturn); + blockactioncontext.getWorld().getServer().getPluginManager().callEvent(event); +diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java +index 53c9f218..71e40843 100644 +--- a/src/main/java/net/minecraft/server/VoxelShape.java ++++ b/src/main/java/net/minecraft/server/VoxelShape.java +@@ -22,6 +22,7 @@ public abstract class VoxelShape { + return this.a(enumdirection_enumaxis, this.a.b(enumdirection_enumaxis)); + } + ++ public AxisAlignedBB getBounds() { return a(); } // Paper - OBFHELPER + public AxisAlignedBB a() { + if (this.b()) { + throw new UnsupportedOperationException("No bounds for empty shape."); +@@ -40,6 +41,7 @@ public abstract class VoxelShape { + + protected abstract DoubleList a(EnumDirection.EnumAxis enumdirection_enumaxis); + ++ public boolean isEmpty() { return b(); } // Paper - OBFHELPER + public boolean b() { + return this.a.a(); + } +diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java +index 127dcedc..302a3655 100644 +--- a/src/main/java/net/minecraft/server/World.java ++++ b/src/main/java/net/minecraft/server/World.java +@@ -1544,6 +1544,37 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose + } + } + ++ // Paper start - Based on method below ++ /** ++ * @param entity causing the action ex. block placer ++ * @param voxelshape area to search within ++ * @return if there are no visible players colliding ++ */ ++ public boolean checkNoVisiblePlayerCollisions(@Nullable Entity entity, VoxelShape voxelshape) { ++ if (voxelshape.isEmpty()) { ++ return true; ++ } else { ++ List list = this.getEntities((Entity) null, voxelshape.getBounds()); ++ ++ for (int i = 0; i < list.size(); ++i) { ++ Entity entity1 = (Entity) list.get(i); ++ ++ if (entity instanceof EntityPlayer && entity1 instanceof EntityPlayer) { ++ if (!((EntityPlayer) entity).getBukkitEntity().canSee(((EntityPlayer) entity1).getBukkitEntity())) { ++ continue; ++ } ++ } ++ ++ if (!entity1.dead && entity1.blocksEntitySpawning()) { ++ return false; ++ } ++ } ++ ++ return true; ++ } ++ } ++ // Paper end ++ + public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { + if (voxelshape.b()) { + return true; +diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +index cf398cd2..140ddae0 100644 +--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java ++++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +@@ -804,6 +804,14 @@ public class CraftEventFactory { + Projectile projectile = (Projectile) entity.getBukkitEntity(); + org.bukkit.entity.Entity collided = position.entity.getBukkitEntity(); + com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); ++ ++ if (projectile.getShooter() instanceof Player && collided instanceof Player) { ++ if (!((Player) projectile.getShooter()).canSee((Player) collided)) { ++ event.setCancelled(true); ++ return event; ++ } ++ } ++ + Bukkit.getPluginManager().callEvent(event); + return event; + } +-- +2.18.0.windows.1 + diff --git a/removed/server/0177-Vanished-players-don-t-have-rights.patch b/removed/server/0177-Vanished-players-don-t-have-rights.patch deleted file mode 100644 index 1e5936195f..0000000000 --- a/removed/server/0177-Vanished-players-don-t-have-rights.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 6c9aa29b50e035dc386794e866d64ec07c4c9c19 Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Fri, 16 Dec 2016 22:10:35 -0600 -Subject: [PATCH] Vanished players don't have rights - - -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d79844a98..6d1e61e23 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 ICommandListener, KeyedObject { // Paper - private static double f = 1.0D; - private static int entityCount; - private int id; -- public boolean i; -+ public boolean i; public boolean blocksEntitySpawning() { return i; } // Paper - OBFHELPER - public final List passengers; - protected int j; - private Entity au;public void setVehicle(Entity entity) { this.au = entity; } // Paper // OBFHELPER -diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index 60149c1ca..a5730d1c7 100644 ---- a/src/main/java/net/minecraft/server/ItemBlock.java -+++ b/src/main/java/net/minecraft/server/ItemBlock.java -@@ -20,7 +20,7 @@ public class ItemBlock extends Item { - - ItemStack itemstack = entityhuman.b(enumhand); - -- if (!itemstack.isEmpty() && entityhuman.a(blockposition, enumdirection, itemstack) && world.a(this.a, blockposition, false, enumdirection, (Entity) null)) { -+ if (!itemstack.isEmpty() && entityhuman.a(blockposition, enumdirection, itemstack) && world.a(this.a, blockposition, false, enumdirection, entityhuman)) { // Paper - Pass entityhuman instead of null - int i = this.filterData(itemstack.getData()); - IBlockData iblockdata1 = this.a.getPlacedState(world, blockposition, enumdirection, f, f1, f2, i, entityhuman); - -diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d7bf8378e..424b956e8 100644 ---- a/src/main/java/net/minecraft/server/World.java -+++ b/src/main/java/net/minecraft/server/World.java -@@ -1805,6 +1805,33 @@ public abstract class World implements IBlockAccess { - return this.a(axisalignedbb, (Entity) null); - } - -+ // Paper start - Based on method below -+ /** -+ * @param axisalignedbb area to search within -+ * @param entity causing the action ex. block placer -+ * @return if there are no visible players colliding -+ */ -+ public boolean checkNoVisiblePlayerCollisions(AxisAlignedBB axisalignedbb, @Nullable Entity entity) { -+ List list = this.getEntities((Entity) null, axisalignedbb); -+ -+ for (int i = 0; i < list.size(); ++i) { -+ Entity entity1 = (Entity) list.get(i); -+ -+ if (entity instanceof EntityPlayer && entity1 instanceof EntityPlayer) { -+ if (!((EntityPlayer) entity).getBukkitEntity().canSee(((EntityPlayer) entity1).getBukkitEntity())) { -+ continue; -+ } -+ } -+ -+ if (!entity1.dead && entity1.blocksEntitySpawning()) { -+ return false; -+ } -+ } -+ -+ return true; -+ } -+ // Paper end -+ - public boolean a(AxisAlignedBB axisalignedbb, @Nullable Entity entity) { - List list = this.getEntities((Entity) null, axisalignedbb); - -@@ -2695,7 +2722,7 @@ public abstract class World implements IBlockAccess { - AxisAlignedBB axisalignedbb = flag ? null : block.getBlockData().d(this, blockposition); - - // CraftBukkit start - store default return -- boolean defaultReturn = axisalignedbb != Block.k && !this.a(axisalignedbb.a(blockposition), entity) ? false : (iblockdata.getMaterial() == Material.ORIENTABLE && block == Blocks.ANVIL ? true : iblockdata.getMaterial().isReplaceable() && block.canPlace(this, blockposition, enumdirection)); -+ boolean defaultReturn = axisalignedbb != Block.k && !this.checkNoVisiblePlayerCollisions(axisalignedbb.a(blockposition), entity) ? false : (iblockdata.getMaterial() == Material.ORIENTABLE && block == Blocks.ANVIL ? true : iblockdata.getMaterial().isReplaceable() && block.canPlace(this, blockposition, enumdirection)); // Paper - Use our entity search - BlockCanBuildEvent event = new BlockCanBuildEvent(this.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()), CraftMagicNumbers.getId(block), defaultReturn); - this.getServer().getPluginManager().callEvent(event); - -diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 06a277b3b..5f816e44f 100644 ---- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -810,6 +810,13 @@ public class CraftEventFactory { - Projectile projectile = (Projectile) entity.getBukkitEntity(); - org.bukkit.entity.Entity collided = position.entity.getBukkitEntity(); - com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); -+ -+ if (projectile.getShooter() instanceof Player && collided instanceof Player) { -+ if (!((Player) projectile.getShooter()).canSee((Player) collided)) { -+ event.setCancelled(true); -+ } -+ } -+ - Bukkit.getPluginManager().callEvent(event); - return event; - } --- -2.18.0 - From bfbd24c5be0c4ef674e9994cd00561f75421405b Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 16:57:21 +0200 Subject: [PATCH 51/70] Fix decompile error --- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 594c48a316..79dd00d22b 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -1,11 +1,11 @@ -From 1b41bf7f810b3bd6c90db0a7c4ee15776bc6f832 Mon Sep 17 00:00:00 2001 +From 82c31de99612ea9b07979ed524e3a007390842de Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index e8f7b7292..a0ebc1eaa 100644 +index e8f7b729..a0ebc1ea 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -234,4 +234,5 @@ public class PaperCommand extends Command { @@ -15,7 +15,7 @@ index e8f7b7292..a0ebc1eaa 100644 + } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 002da2a19..121a137f3 100644 +index 002da2a1..121a137f 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -150,7 +150,7 @@ public class BlockPosition extends BaseBlockPosition { @@ -57,7 +57,7 @@ index 002da2a19..121a137f3 100644 } diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java -index 65910508f..15c7cc170 100644 +index a661789c..785a1a21 100644 --- a/src/main/java/net/minecraft/server/DefinedStructure.java +++ b/src/main/java/net/minecraft/server/DefinedStructure.java @@ -88,7 +88,7 @@ public class DefinedStructure { @@ -111,6 +111,19 @@ index 65910508f..15c7cc170 100644 } public Iterator iterator() { +diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java +index 4b5463cc..53c9f218 100644 +--- a/src/main/java/net/minecraft/server/VoxelShape.java ++++ b/src/main/java/net/minecraft/server/VoxelShape.java +@@ -67,7 +67,7 @@ public abstract class VoxelShape { + ArrayList arraylist = Lists.newArrayList(); + + this.b((d0, d1, d2, d3, d4, d5) -> { +- list.add(new AxisAlignedBB(d0, d1, d2, d3, d4, d5)); ++ arraylist.add(new AxisAlignedBB(d0, d1, d2, d3, d4, d5)); // Paper - decompile fix + }); + return arraylist; + } -- -2.17.1 +2.18.0.windows.1 From 0e5e60c1d88bb33d7b7a2fed02513799613d71fc Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 24 Jul 2018 20:53:26 -0400 Subject: [PATCH 52/70] Update upstream --- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/work/Bukkit b/work/Bukkit index d6214b1988..f025ddf813 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit d6214b1988f3815e323c1c32c6885468ce21905e +Subproject commit f025ddf8133a837fa36a4220caefa1701c4e3466 diff --git a/work/CraftBukkit b/work/CraftBukkit index 2100017016..49a2604e1f 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 210001701695ed79ae0b6b81e23125671913fe9c +Subproject commit 49a2604e1f8721c813820c847f971df4c25002e1 From af561492ab5bf3470bb9529a895c2730f454b7e4 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Wed, 25 Jul 2018 03:39:30 +0200 Subject: [PATCH 53/70] Fix broken block iteration (#1269) Fixes https://github.com/PaperMC/Paper/issues/1259 and generation of the end pillars --- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 24 ++++++++++++---- Spigot-Server-Patches/0004-MC-Utils.patch | 10 +++---- ...Location-getType-and-getBlockData-fo.patch | 8 +++--- ...-Speedup-BlockPos-by-fixing-inlining.patch | 28 +++++++++++-------- 4 files changed, 44 insertions(+), 26 deletions(-) diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 2bc8423b73..137e20dd3c 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -1,11 +1,11 @@ -From fa5eced3c89ff7fa1b290628a381d1211606e2bb Mon Sep 17 00:00:00 2001 +From 5e82fb8aede56d14967ad5e126ef1870ea6f10d8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index e8f7b729..a0ebc1ea 100644 +index e8f7b7292..a0ebc1eaa 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -234,4 +234,5 @@ public class PaperCommand extends Command { @@ -15,7 +15,7 @@ index e8f7b729..a0ebc1ea 100644 + } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 002da2a1..121a137f 100644 +index 002da2a19..9f3aa2459 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -150,7 +150,7 @@ public class BlockPosition extends BaseBlockPosition { @@ -56,8 +56,20 @@ index 002da2a1..121a137f 100644 ++this.j; } +@@ -213,8 +213,11 @@ public class BlockPosition extends BaseBlockPosition { + if (this.g.b < l) { + ++this.g.b; + } else if (this.g.c < i1) { ++ this.g.b = i; // Paper - Readd line removed by the decompiler + ++this.g.c; + } else if (this.g.d < j1) { ++ this.g.b = i; // Paper - Readd line removed by the decompiler ++ this.g.c = j; // Paper - Readd line removed by the decompiler + ++this.g.d; + } + diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java -index a661789c..785a1a21 100644 +index a661789c1..785a1a218 100644 --- a/src/main/java/net/minecraft/server/DefinedStructure.java +++ b/src/main/java/net/minecraft/server/DefinedStructure.java @@ -88,7 +88,7 @@ public class DefinedStructure { @@ -112,7 +124,7 @@ index a661789c..785a1a21 100644 public Iterator iterator() { diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java -index 3b8f6ec1..bde5714d 100644 +index 3b8f6ec16..bde5714dd 100644 --- a/src/main/java/net/minecraft/server/RegistryID.java +++ b/src/main/java/net/minecraft/server/RegistryID.java @@ -6,7 +6,7 @@ import java.util.Arrays; @@ -153,5 +165,5 @@ index 3b8f6ec1..bde5714d 100644 this.f = 0; -- -2.17.0 (Apple Git-106) +2.16.1.windows.1 diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index a10b168e0d..16a3fe2e8f 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,4 +1,4 @@ -From fd30fe93ea2f20e2adb5e501d8646deabc046fcf Mon Sep 17 00:00:00 2001 +From ce4b2215cf8f7b774ee8066d8a8d0b07bd54d999 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils @@ -18,7 +18,7 @@ index c3e990bdf..e2a7b4be2 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 121a137f3..279045e49 100644 +index 9f3aa2459..7dbea9090 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -10,7 +10,6 @@ import org.apache.logging.log4j.Logger; @@ -37,7 +37,7 @@ index 121a137f3..279045e49 100644 public BlockPosition a(int i, int j, int k) { return i == 0 && j == 0 && k == 0 ? this : new BlockPosition(this.getX() + i, this.getY() + j, this.getZ() + k); } -@@ -382,6 +382,7 @@ public class BlockPosition extends BaseBlockPosition { +@@ -385,6 +385,7 @@ public class BlockPosition extends BaseBlockPosition { return this.d; } @@ -45,7 +45,7 @@ index 121a137f3..279045e49 100644 public BlockPosition.MutableBlockPosition c(int i, int j, int k) { this.b = i; this.c = j; -@@ -389,6 +390,7 @@ public class BlockPosition extends BaseBlockPosition { +@@ -392,6 +393,7 @@ public class BlockPosition extends BaseBlockPosition { return this; } @@ -711,5 +711,5 @@ index 2179664a0..d7e1ecc03 100644 } } -- -2.18.0 +2.16.1.windows.1 diff --git a/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index 3488e657f9..ffa41c1da9 100644 --- a/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0082-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From 6ebe7f1a09ee9925c972a7800d3c654e3d86695e Mon Sep 17 00:00:00 2001 +From 5372e9c03d78bdb92741561ef1c5d2f63c8621f7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -31,10 +31,10 @@ index e2a7b4be2..58f8b4b72 100644 public BaseBlockPosition(int i, int j, int k) { this.a = i; diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 279045e49..7122a9aa8 100644 +index 7dbea9090..252e00e16 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java -@@ -338,6 +338,16 @@ public class BlockPosition extends BaseBlockPosition { +@@ -341,6 +341,16 @@ public class BlockPosition extends BaseBlockPosition { protected int b; protected int c; protected int d; @@ -200,5 +200,5 @@ index 11cf087e7..489c152ee 100644 } else { Chunk chunk = this.chunkProvider.getLoadedChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4); -- -2.18.0 +2.16.1.windows.1 diff --git a/Spigot-Server-Patches/0304-Speedup-BlockPos-by-fixing-inlining.patch b/Spigot-Server-Patches/0304-Speedup-BlockPos-by-fixing-inlining.patch index 4abc228aac..b7cc0fd14b 100644 --- a/Spigot-Server-Patches/0304-Speedup-BlockPos-by-fixing-inlining.patch +++ b/Spigot-Server-Patches/0304-Speedup-BlockPos-by-fixing-inlining.patch @@ -1,4 +1,4 @@ -From d4e24e1b648305ae75c64ba245fcfb3d1712fdfb Mon Sep 17 00:00:00 2001 +From 6fe1ca8e8466247070481df3b515bba54cec603f Mon Sep 17 00:00:00 2001 From: Techcable Date: Wed, 30 Nov 2016 20:56:58 -0600 Subject: [PATCH] Speedup BlockPos by fixing inlining @@ -21,7 +21,7 @@ This is based upon conclusions drawn from inspecting the assenmbly generated byt They had 'callq' (invoke) instead of 'mov' (get from memory) instructions. diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 58f8b4b720..98992513da 100644 +index 58f8b4b72..98992513d 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -7,22 +7,22 @@ import javax.annotation.concurrent.Immutable; @@ -80,10 +80,10 @@ index 58f8b4b720..98992513da 100644 public BaseBlockPosition d(BaseBlockPosition baseblockposition) { return new BaseBlockPosition(this.getY() * baseblockposition.getZ() - this.getZ() * baseblockposition.getY(), this.getZ() * baseblockposition.getX() - this.getX() * baseblockposition.getZ(), this.getX() * baseblockposition.getY() - this.getY() * baseblockposition.getX()); diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 7122a9aa8a..2f6fc330b3 100644 +index 252e00e16..f769b178c 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java -@@ -207,15 +207,17 @@ public class BlockPosition extends BaseBlockPosition { +@@ -207,18 +207,20 @@ public class BlockPosition extends BaseBlockPosition { if (this.g == null) { this.g = new BlockPosition.MutableBlockPosition(i, j, k); return this.g; @@ -94,21 +94,27 @@ index 7122a9aa8a..2f6fc330b3 100644 - if (this.g.b < l) { - ++this.g.b; - } else if (this.g.c < i1) { +- this.g.b = i; // Paper - Readd line removed by the decompiler - ++this.g.c; - } else if (this.g.d < j1) { +- this.g.b = i; // Paper - Readd line removed by the decompiler +- this.g.c = j; // Paper - Readd line removed by the decompiler - ++this.g.d; + // Paper start - use xyz + if (this.g.x < l) { + ++this.g.x; + } else if (this.g.y < i1) { ++ this.g.x = i; // Paper - Readd line removed by the decompiler + ++this.g.y; + } else if (this.g.z < j1) { ++ this.g.x = i; // Paper - Readd line removed by the decompiler ++ this.g.y = j; // Paper - Readd line removed by the decompiler + ++this.g.z; + // Paper end } return this.g; -@@ -335,10 +337,12 @@ public class BlockPosition extends BaseBlockPosition { +@@ -338,10 +340,12 @@ public class BlockPosition extends BaseBlockPosition { public static class MutableBlockPosition extends BlockPosition { @@ -122,7 +128,7 @@ index 7122a9aa8a..2f6fc330b3 100644 @Override public boolean isValidLocation() { return b >= -30000000 && d >= -30000000 && b < 30000000 && d < 30000000 && c >= 0 && c < 256; -@@ -347,6 +351,7 @@ public class BlockPosition extends BaseBlockPosition { +@@ -350,6 +354,7 @@ public class BlockPosition extends BaseBlockPosition { public boolean isInvalidYLocation() { return c < 0 || c >= 256; } @@ -130,7 +136,7 @@ index 7122a9aa8a..2f6fc330b3 100644 // Paper end public MutableBlockPosition() { -@@ -358,10 +363,13 @@ public class BlockPosition extends BaseBlockPosition { +@@ -361,10 +366,13 @@ public class BlockPosition extends BaseBlockPosition { } public MutableBlockPosition(int i, int j, int k) { @@ -146,7 +152,7 @@ index 7122a9aa8a..2f6fc330b3 100644 } public BlockPosition a(double d0, double d1, double d2) { -@@ -380,6 +388,8 @@ public class BlockPosition extends BaseBlockPosition { +@@ -383,6 +391,8 @@ public class BlockPosition extends BaseBlockPosition { return super.a(enumblockrotation).h(); } @@ -155,7 +161,7 @@ index 7122a9aa8a..2f6fc330b3 100644 public int getX() { return this.b; } -@@ -390,13 +400,16 @@ public class BlockPosition extends BaseBlockPosition { +@@ -393,13 +403,16 @@ public class BlockPosition extends BaseBlockPosition { public int getZ() { return this.d; @@ -176,7 +182,7 @@ index 7122a9aa8a..2f6fc330b3 100644 return this; } -@@ -414,15 +427,15 @@ public class BlockPosition extends BaseBlockPosition { +@@ -417,15 +430,15 @@ public class BlockPosition extends BaseBlockPosition { } public BlockPosition.MutableBlockPosition c(EnumDirection enumdirection, int i) { @@ -196,5 +202,5 @@ index 7122a9aa8a..2f6fc330b3 100644 public BlockPosition h() { -- -2.18.0 +2.16.1.windows.1 From c280d84172d18f92f00a4ff4f750cdbc0c2237aa Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 25 Jul 2018 01:11:08 -0400 Subject: [PATCH 54/70] Update upstream and remove hopper patch for #1270 --- ...roto-Chunks.patch => 0305-Don-t-save-Proto-Chunks.patch} | 6 +++--- ...-RegistryID.c.patch => 0306-Optimize-RegistryID.c.patch} | 6 +++--- ...ion-to-prevent-armor-stands-from-doing-entity-loo.patch} | 6 +++--- ... => 0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch} | 4 ++-- ...k-chunk-dirty-anytime-entities-change-to-guarante.patch} | 4 ++-- ...tch => 0310-Add-some-Debug-to-Chunk-Entity-slices.patch} | 6 +++--- ...le-Cache.patch => 0311-Optimize-Region-File-Cache.patch} | 4 ++-- .../server}/0305-Optimize-Hoppers.patch | 0 work/CraftBukkit | 2 +- 9 files changed, 19 insertions(+), 19 deletions(-) rename Spigot-Server-Patches/{0306-Don-t-save-Proto-Chunks.patch => 0305-Don-t-save-Proto-Chunks.patch} (92%) rename Spigot-Server-Patches/{0307-Optimize-RegistryID.c.patch => 0306-Optimize-RegistryID.c.patch} (94%) rename Spigot-Server-Patches/{0308-Option-to-prevent-armor-stands-from-doing-entity-loo.patch => 0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch} (93%) rename Spigot-Server-Patches/{0309-Thread-Safe-Iteration-of-Chunk-Scheduler.patch => 0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch} (94%) rename Spigot-Server-Patches/{0310-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch => 0309-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch} (90%) rename Spigot-Server-Patches/{0311-Add-some-Debug-to-Chunk-Entity-slices.patch => 0310-Add-some-Debug-to-Chunk-Entity-slices.patch} (95%) rename Spigot-Server-Patches/{0312-Optimize-Region-File-Cache.patch => 0311-Optimize-Region-File-Cache.patch} (96%) rename {Spigot-Server-Patches => removed/server}/0305-Optimize-Hoppers.patch (100%) diff --git a/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch b/Spigot-Server-Patches/0305-Don-t-save-Proto-Chunks.patch similarity index 92% rename from Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch rename to Spigot-Server-Patches/0305-Don-t-save-Proto-Chunks.patch index 45a16ffeeb..a9273c1ef9 100644 --- a/Spigot-Server-Patches/0306-Don-t-save-Proto-Chunks.patch +++ b/Spigot-Server-Patches/0305-Don-t-save-Proto-Chunks.patch @@ -1,4 +1,4 @@ -From 114ef33e651ac74cef786afa84ff16003b0cccfb Mon Sep 17 00:00:00 2001 +From 29f7275b4762c83996dee6cd72fa71af7adc0f81 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 21:21:41 -0400 Subject: [PATCH] Don't save Proto Chunks @@ -8,7 +8,7 @@ the loadChunk method refuses to acknoledge they exists, and will restart a new chunk generation process to begin with, so saving them serves no benefit. diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index ea8684747..a97e024ec 100644 +index 5fd0c0cf50..43348a627f 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -282,6 +282,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -20,7 +20,7 @@ index ea8684747..a97e024ec 100644 world.checkSession(); diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 501565dd5..7b3068753 100644 +index 501565dd5d..7b30687530 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -23,7 +23,7 @@ public class ChunkTaskScheduler extends Scheduler Date: Mon, 23 Jul 2018 13:08:19 -0400 Subject: [PATCH] Optimize RegistryID.c() @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize RegistryID.c() This is a frequent hotspot for world loading/saving. diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java -index bde5714d..a01cda9d 100644 +index bde5714dd6..a01cda9d81 100644 --- a/src/main/java/net/minecraft/server/RegistryID.java +++ b/src/main/java/net/minecraft/server/RegistryID.java @@ -14,12 +14,14 @@ public class RegistryID implements Registry { // Paper - decompile fix @@ -64,5 +64,5 @@ index bde5714d..a01cda9d 100644 public int b() { -- -2.17.0 (Apple Git-106) +2.18.0 diff --git a/Spigot-Server-Patches/0308-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch similarity index 93% rename from Spigot-Server-Patches/0308-Option-to-prevent-armor-stands-from-doing-entity-loo.patch rename to Spigot-Server-Patches/0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch index 46c822556c..c8f9f70135 100644 --- a/Spigot-Server-Patches/0308-Option-to-prevent-armor-stands-from-doing-entity-loo.patch +++ b/Spigot-Server-Patches/0307-Option-to-prevent-armor-stands-from-doing-entity-loo.patch @@ -1,11 +1,11 @@ -From 6e268e2762db21feffbcde6e6d4b2e5e2d8e8668 Mon Sep 17 00:00:00 2001 +From 51044d9a361f21f02b6c9fadb0a9d9d5e37d636c Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 12:57:39 +0200 Subject: [PATCH] Option to prevent armor stands from doing entity lookups diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index a8470e6e7..f33cd90d2 100644 +index b9f5f49055..aa95372e69 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -350,6 +350,11 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index a8470e6e7..f33cd90d2 100644 private void maxEntityCollision() { maxCollisionsPerEntity = getInt( "max-entity-collisions", this.spigotConfig.getInt("max-entity-collisions", 8) ); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 127dcedc9..72e22c09b 100644 +index 127dcedc97..72e22c09ba 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -11,6 +11,7 @@ import java.util.Iterator; diff --git a/Spigot-Server-Patches/0309-Thread-Safe-Iteration-of-Chunk-Scheduler.patch b/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch similarity index 94% rename from Spigot-Server-Patches/0309-Thread-Safe-Iteration-of-Chunk-Scheduler.patch rename to Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch index 261f818d39..194f1e38ab 100644 --- a/Spigot-Server-Patches/0309-Thread-Safe-Iteration-of-Chunk-Scheduler.patch +++ b/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch @@ -1,11 +1,11 @@ -From b8644d59101dbe08f8213be53d43d51a2e41a300 Mon Sep 17 00:00:00 2001 +From fc2eced1f0c62db6c0eea3efac000fd94ad623a6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 19:13:06 -0400 Subject: [PATCH] Thread Safe Iteration of Chunk Scheduler diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 7b3068753..45f9ad372 100644 +index 7b30687530..45f9ad3726 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -1,8 +1,10 @@ diff --git a/Spigot-Server-Patches/0310-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0309-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch similarity index 90% rename from Spigot-Server-Patches/0310-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch rename to Spigot-Server-Patches/0309-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch index e7bd156ddf..a615839752 100644 --- a/Spigot-Server-Patches/0310-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch +++ b/Spigot-Server-Patches/0309-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch @@ -1,4 +1,4 @@ -From 37d9641af77fd0ec11e932162a0125bd53f05ce3 Mon Sep 17 00:00:00 2001 +From f159b677ff7fabd0341ec5ae5b74bddda4d86b52 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:18:31 -0400 Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it @@ -6,7 +6,7 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 95c6812d7..aa75cc420 100644 +index 95c6812d7d..aa75cc4205 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -714,6 +714,7 @@ public class Chunk implements IChunkAccess { diff --git a/Spigot-Server-Patches/0311-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0310-Add-some-Debug-to-Chunk-Entity-slices.patch similarity index 95% rename from Spigot-Server-Patches/0311-Add-some-Debug-to-Chunk-Entity-slices.patch rename to Spigot-Server-Patches/0310-Add-some-Debug-to-Chunk-Entity-slices.patch index 14e6a515b3..2cf4f08847 100644 --- a/Spigot-Server-Patches/0311-Add-some-Debug-to-Chunk-Entity-slices.patch +++ b/Spigot-Server-Patches/0310-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -1,4 +1,4 @@ -From 1a1fa5156619969d65be7638a7cd2f056c9a933c Mon Sep 17 00:00:00 2001 +From 8b56a881c447a5f3f72582d443339843298a1f16 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:44:23 -0400 Subject: [PATCH] Add some Debug to Chunk Entity slices @@ -9,7 +9,7 @@ This should hopefully avoid duplicate entities ever being created if the entity was to end up in 2 different chunk slices diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index aa75cc420..56a74c606 100644 +index aa75cc4205..56a74c6062 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -712,8 +712,33 @@ public class Chunk implements IChunkAccess { @@ -61,7 +61,7 @@ index aa75cc420..56a74c606 100644 if (entity instanceof EntityItem) { itemCounts[i]--; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b6d6d4f37..bc4ba9f3c 100644 +index 9f2a23d693..7a63114fe5 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -63,6 +63,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0312-Optimize-Region-File-Cache.patch b/Spigot-Server-Patches/0311-Optimize-Region-File-Cache.patch similarity index 96% rename from Spigot-Server-Patches/0312-Optimize-Region-File-Cache.patch rename to Spigot-Server-Patches/0311-Optimize-Region-File-Cache.patch index 0709758d4a..5c808735c9 100644 --- a/Spigot-Server-Patches/0312-Optimize-Region-File-Cache.patch +++ b/Spigot-Server-Patches/0311-Optimize-Region-File-Cache.patch @@ -1,4 +1,4 @@ -From e979cf5f12f51ca8cea8931026b091f21cc62eb9 Mon Sep 17 00:00:00 2001 +From cf496744a11659b8a12697b56a3d057b24203df9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 23:40:04 -0400 Subject: [PATCH] Optimize Region File Cache @@ -32,7 +32,7 @@ synchronized context, reducing lock times. Ultimately: This brings us back to Vanilla, which has had no indication of region file loss. diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 3b8d01ea1..609d6c355 100644 +index 3b8d01ea1a..609d6c3550 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -97,7 +97,7 @@ public class RegionFileCache { diff --git a/Spigot-Server-Patches/0305-Optimize-Hoppers.patch b/removed/server/0305-Optimize-Hoppers.patch similarity index 100% rename from Spigot-Server-Patches/0305-Optimize-Hoppers.patch rename to removed/server/0305-Optimize-Hoppers.patch diff --git a/work/CraftBukkit b/work/CraftBukkit index 49a2604e1f..9646d8d780 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 49a2604e1f8721c813820c847f971df4c25002e1 +Subproject commit 9646d8d7800931effa31be173fda765ecdf996c4 From 1ae30bb6b2c71db3b06a716c86aca0bf4f2efb2a Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 25 Jul 2018 01:24:28 -0400 Subject: [PATCH 55/70] Fix RCON Ip Defaulting to wrong value - Closes #1267 --- .../0105-Configurable-RCON-IP-address.patch | 6 ++--- ...air-bad-rcon.ip-settings-temporarily.patch | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 Spigot-Server-Patches/0312-repair-bad-rcon.ip-settings-temporarily.patch diff --git a/Spigot-Server-Patches/0105-Configurable-RCON-IP-address.patch b/Spigot-Server-Patches/0105-Configurable-RCON-IP-address.patch index f4c56ee177..c843fae7bd 100644 --- a/Spigot-Server-Patches/0105-Configurable-RCON-IP-address.patch +++ b/Spigot-Server-Patches/0105-Configurable-RCON-IP-address.patch @@ -1,4 +1,4 @@ -From 34fc50dad287d6b268931ec670644fe4e6ffcc50 Mon Sep 17 00:00:00 2001 +From d865cb389ffae2dd8e7bc86b347c9230c26350bb Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 16 Apr 2016 00:39:33 -0400 Subject: [PATCH] Configurable RCON IP address @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable RCON IP address For servers with multiple IP's, ability to bind to a specific interface. diff --git a/src/main/java/net/minecraft/server/RemoteControlListener.java b/src/main/java/net/minecraft/server/RemoteControlListener.java -index 6f0176f6f..1e5caa13a 100644 +index 6f0176f6ff..c237f239f3 100644 --- a/src/main/java/net/minecraft/server/RemoteControlListener.java +++ b/src/main/java/net/minecraft/server/RemoteControlListener.java @@ -24,7 +24,7 @@ public class RemoteControlListener extends RemoteConnectionThread { @@ -14,7 +14,7 @@ index 6f0176f6f..1e5caa13a 100644 this.h = iminecraftserver.a("rcon.port", 0); this.l = iminecraftserver.a("rcon.password", ""); - this.j = iminecraftserver.e(); -+ this.j = iminecraftserver.a("rcon.ip", iminecraftserver.d_()); // Paper ++ this.j = iminecraftserver.a("rcon.ip", ((DedicatedServer) iminecraftserver).getServerIp()); // Paper this.i = iminecraftserver.f(); if (0 == this.h) { this.h = this.i + 10; diff --git a/Spigot-Server-Patches/0312-repair-bad-rcon.ip-settings-temporarily.patch b/Spigot-Server-Patches/0312-repair-bad-rcon.ip-settings-temporarily.patch new file mode 100644 index 0000000000..31ffb2f8e8 --- /dev/null +++ b/Spigot-Server-Patches/0312-repair-bad-rcon.ip-settings-temporarily.patch @@ -0,0 +1,24 @@ +From d4006d0f3ce1a5323bbdfce7446b59723f11512f Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 25 Jul 2018 01:21:05 -0400 +Subject: [PATCH] repair bad rcon.ip settings temporarily + +accidently missed mapping change, and we defaulted rcon.ip to the server.properties file path + +clean up values for people, drop this patch after like 2 weeks. + +diff --git a/src/main/java/net/minecraft/server/RemoteControlListener.java b/src/main/java/net/minecraft/server/RemoteControlListener.java +index c237f239f3..1319b3b916 100644 +--- a/src/main/java/net/minecraft/server/RemoteControlListener.java ++++ b/src/main/java/net/minecraft/server/RemoteControlListener.java +@@ -25,6 +25,7 @@ public class RemoteControlListener extends RemoteConnectionThread { + this.h = iminecraftserver.a("rcon.port", 0); + this.l = iminecraftserver.a("rcon.password", ""); + this.j = iminecraftserver.a("rcon.ip", ((DedicatedServer) iminecraftserver).getServerIp()); // Paper ++ if (this.j.equals(iminecraftserver.d_())) this.j = ((DedicatedServer) iminecraftserver).getServerIp(); // Paper - temporary - remove this after like 2 weeks - repair bad settings + this.i = iminecraftserver.f(); + if (0 == this.h) { + this.h = this.i + 10; +-- +2.18.0 + From cae33c7e3cae94d0cd096fd5c0c8314505f4cef8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 25 Jul 2018 01:38:37 -0400 Subject: [PATCH 56/70] Expand Location Manipulation API - Closes #1265 Adds set(x, y, z), add(base, x, y, z), subtract(base, x, y, z); --- ...126-Expand-Location-Manipulation-API.patch | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Spigot-API-Patches/0126-Expand-Location-Manipulation-API.patch diff --git a/Spigot-API-Patches/0126-Expand-Location-Manipulation-API.patch b/Spigot-API-Patches/0126-Expand-Location-Manipulation-API.patch new file mode 100644 index 0000000000..8d0ca39897 --- /dev/null +++ b/Spigot-API-Patches/0126-Expand-Location-Manipulation-API.patch @@ -0,0 +1,66 @@ +From d3916598abd6d23f6b2e332cd987d20e80ad30f1 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 25 Jul 2018 01:36:07 -0400 +Subject: [PATCH] Expand Location Manipulation API + +Adds set(x, y, z), add(base, x, y, z), subtract(base, x, y, z); + +diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java +index d0d86e1a..253f0c2d 100644 +--- a/src/main/java/org/bukkit/Location.java ++++ b/src/main/java/org/bukkit/Location.java +@@ -503,6 +503,51 @@ public class Location implements Cloneable, ConfigurationSerializable { + public boolean isChunkLoaded() { return world.isChunkLoaded(locToBlock(x) >> 4, locToBlock(z) >> 4); } // Paper + + // Paper start ++ ++ /** ++ * Sets the position of this Location and returns itself ++ * ++ * This mutates this object, clone first. ++ * @param x X coordinate ++ * @param y Y coordinate ++ * @param z Z coordinate ++ * @return self (not cloned) ++ */ ++ public Location set(double x, double y, double z) { ++ this.x = x; ++ this.y = y; ++ this.z = z; ++ return this; ++ } ++ ++ /** ++ * Takes the x/y/z from base and adds the specified x/y/z to it and returns self ++ * ++ * This mutates this object, clone first. ++ * @param base The base coordinate to modify ++ * @param x X coordinate to add to base ++ * @param y Y coordinate to add to base ++ * @param z Z coordinate to add to base ++ * @return self (not cloned) ++ */ ++ public Location add(Location base, double x, double y, double z) { ++ return this.set(base.x + x, base.y + y, base.z + z); ++ } ++ ++ /** ++ * Takes the x/y/z from base and subtracts the specified x/y/z to it and returns self ++ * ++ * This mutates this object, clone first. ++ * @param base The base coordinate to modify ++ * @param x X coordinate to subtract from base ++ * @param y Y coordinate to subtract from base ++ * @param z Z coordinate to subtract from base ++ * @return self (not cloned) ++ */ ++ public Location subtract(Location base, double x, double y, double z) { ++ return this.set(base.x - x, base.y - y, base.z - z); ++ } ++ + /** + * @return A new location where X/Y/Z are on the Block location (integer value of X/Y/Z) + */ +-- +2.18.0 + From 23ed74032c7eb0232623332cf569a359918030be Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Wed, 25 Jul 2018 09:58:03 +0100 Subject: [PATCH 57/70] Explictly reset chat format in vanilla scoreboard display (fixes #1263) Vanilla now uses chat components for scoreboards, thus no longer returns a string which also resets the chat the chat format, add this back ourselves. --- ...use-vanilla-per-world-scoreboard-coloring-.patch | 13 +++++++------ .../0135-Fix-AIOOBE-in-inventory-handling.patch | 6 +++--- .../0163-Properly-fix-item-duplication-bug.patch | 6 +++--- ...-to-make-parrots-stay-on-shoulders-despite.patch | 10 +++++----- .../0213-handle-PacketPlayInKeepAlive-async.patch | 6 +++--- ...t-that-allowed-colored-signs-to-be-created.patch | 6 +++--- .../0288-InventoryCloseEvent-Reason-API.patch | 8 ++++---- ...ayer-inventory-when-cancelling-PlayerInter.patch | 6 +++--- 8 files changed, 31 insertions(+), 30 deletions(-) diff --git a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index d52e9c07be..a0aff62120 100644 --- a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,11 +1,11 @@ -From 57e306afd1db9d7a08c55f911df40939787d3a7a Mon Sep 17 00:00:00 2001 +From bdbe4b6446ba17c498e8264ffa94016fab151b25 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 6 Apr 2016 01:04:23 -0500 Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 667a0dde8..b6ef1d437 100644 +index 667a0dde8c..b6ef1d4378 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -239,4 +239,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index 667a0dde8..b6ef1d437 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a465f1cf7..76934f81a 100644 +index a465f1cf79..76934f81a8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2270,6 +2270,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -31,10 +31,10 @@ index a465f1cf7..76934f81a 100644 public ScoreboardTeamBase be() { if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 90ab7f065..8902e3db0 100644 +index 90ab7f065f..1ca3c87c7a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1622,7 +1622,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1622,7 +1622,15 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { return; } @@ -42,7 +42,8 @@ index 90ab7f065..8902e3db0 100644 + // Paper Start - (Meh) Support for vanilla world scoreboard name coloring + String displayName = event.getPlayer().getDisplayName(); + if (this.player.getWorld().paperConfig.useVanillaScoreboardColoring) { -+ displayName = CraftChatMessage.fromComponent(ScoreboardTeam.a(this.player.getTeam(),((CraftPlayer) player).getHandle().getDisplayName())); ++ // Explicitly add a RESET here, vanilla uses components for this now... ++ displayName = CraftChatMessage.fromComponent(ScoreboardTeam.a(this.player.getTeam(),((CraftPlayer) player).getHandle().getDisplayName())) + org.bukkit.ChatColor.RESET; + } + + s = String.format(event.getFormat(), displayName, event.getMessage()); diff --git a/Spigot-Server-Patches/0135-Fix-AIOOBE-in-inventory-handling.patch b/Spigot-Server-Patches/0135-Fix-AIOOBE-in-inventory-handling.patch index 89f4951316..0f1ebf9e1c 100644 --- a/Spigot-Server-Patches/0135-Fix-AIOOBE-in-inventory-handling.patch +++ b/Spigot-Server-Patches/0135-Fix-AIOOBE-in-inventory-handling.patch @@ -1,14 +1,14 @@ -From 5b34a9ea3ba3c3732c57d3ff3703e608c4eef485 Mon Sep 17 00:00:00 2001 +From ee51f2d2b90389e0e916203dcbb96bf63d83d8b0 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sun, 4 Sep 2016 16:35:43 -0500 Subject: [PATCH] Fix AIOOBE in inventory handling diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index fc33baf2bf..9ec898d164 100644 +index 0fe8d1c3f1..ed02cd7a7a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2085,7 +2085,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2086,7 +2086,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { case CLONE: if (packetplayinwindowclick.d() == 2) { click = ClickType.MIDDLE; diff --git a/Spigot-Server-Patches/0163-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0163-Properly-fix-item-duplication-bug.patch index f716a2404f..1dd9abade5 100644 --- a/Spigot-Server-Patches/0163-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0163-Properly-fix-item-duplication-bug.patch @@ -1,4 +1,4 @@ -From 5f881637843edb83974634b9c7ed501943135071 Mon Sep 17 00:00:00 2001 +From 99549bbd0a129084cb529b8d7d5aa1b2cca756c8 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Tue, 27 Dec 2016 01:57:57 +0000 Subject: [PATCH] Properly fix item duplication bug @@ -19,10 +19,10 @@ index 4bde378afb..7059fc1187 100644 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index fc4e927d67..9ac86f7af2 100644 +index 969e28c3b2..3885c8628c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2504,7 +2504,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2505,7 +2505,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } public final boolean isDisconnected() { diff --git a/Spigot-Server-Patches/0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index ccc1a12503..9cd40da898 100644 --- a/Spigot-Server-Patches/0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/Spigot-Server-Patches/0182-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -1,4 +1,4 @@ -From 0341dbda511917a87f7fbdb2bbab37c277495bd9 Mon Sep 17 00:00:00 2001 +From 9578efb4818e086eadd5b51ea7d33f5d2fb0afbf Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 16 May 2017 21:29:08 -0500 Subject: [PATCH] Add option to make parrots stay on shoulders despite movement @@ -11,7 +11,7 @@ I suspect Mojang may switch to this behavior before full release. To be converted into a Paper-API event at some point in the future? diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 4991138df..87c599338 100644 +index 4991138dfe..87c599338a 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -350,4 +350,10 @@ public class PaperWorldConfig { @@ -26,7 +26,7 @@ index 4991138df..87c599338 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 06b663c4d..42c624953 100644 +index 06b663c4db..42c6249535 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -460,7 +460,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -39,10 +39,10 @@ index 06b663c4d..42c624953 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3bcca32ba..355d61704 100644 +index 08ef17dfe1..d4701d8d56 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1746,6 +1746,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1747,6 +1747,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { switch (packetplayinentityaction.c()) { case START_SNEAKING: this.player.setSneaking(true); diff --git a/Spigot-Server-Patches/0213-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0213-handle-PacketPlayInKeepAlive-async.patch index 94225a61bd..6aa086ba5d 100644 --- a/Spigot-Server-Patches/0213-handle-PacketPlayInKeepAlive-async.patch +++ b/Spigot-Server-Patches/0213-handle-PacketPlayInKeepAlive-async.patch @@ -1,4 +1,4 @@ -From 08d88bf479bfa513a4a5dcf0cab8bf6a13aac406 Mon Sep 17 00:00:00 2001 +From f2b3ec9db7d748b5dc17a7e00a91145efbb5fd0b Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 5 Oct 2017 01:54:07 +0100 Subject: [PATCH] handle PacketPlayInKeepAlive async @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7465c548af..add29081d2 100644 +index c1dd2db89d..e8f1883c98 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2470,14 +2470,18 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2471,14 +2471,18 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } public void a(PacketPlayInKeepAlive packetplayinkeepalive) { diff --git a/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index db60bbf67b..3091bc79bc 100644 --- a/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0257-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -1,14 +1,14 @@ -From 2070c1fd61c833fbafdb40b67a7d66b915039469 Mon Sep 17 00:00:00 2001 +From be2b54d1a53f9197e5864aaebfca7b9bd94b8c3d Mon Sep 17 00:00:00 2001 From: 0x22 <0x22@futureclient.net> Date: Thu, 26 Apr 2018 04:41:11 -0400 Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5778bf1c65..5ee25d70fc 100644 +index 90ac83b5b1..7bf99cae1b 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2503,7 +2503,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2504,7 +2504,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { String[] lines = new String[4]; for (int i = 0; i < astring.length; ++i) { diff --git a/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch index c290c1c495..91283be587 100644 --- a/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From a42d1a506c7a0658bd9e8fd7882b411bef7a6225 Mon Sep 17 00:00:00 2001 +From 0afba65cf3655e8488aed1e76126c9ac4fe87b90 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -110,10 +110,10 @@ index 7059fc1187..0c01f8dafa 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5ee25d70fc..fc47738ec5 100644 +index 7bf99cae1b..5ffc4fccd0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2039,7 +2039,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2040,7 +2040,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { PlayerConnectionUtils.ensureMainThread(packetplayinclosewindow, this, this.player.getWorldServer()); if (this.player.isFrozen()) return; // CraftBukkit @@ -155,7 +155,7 @@ index 4b9ecb4a62..b602a5d1b9 100644 public boolean isBlocking() { return getHandle().isBlocking(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ab9956fa24..0f3e1d5ae1 100644 +index 8c1e497592..a10a78994f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -687,7 +687,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch index f53720da2a..e6a3abcec7 100644 --- a/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0292-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -1,4 +1,4 @@ -From 6a99734646c6f697a4ef06e6b0822d3befbcfa53 Mon Sep 17 00:00:00 2001 +From 856d2898d092f8955c5403ef95c88dcfa07e8d28 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 13 Jul 2018 14:54:43 +0200 Subject: [PATCH] Refresh player inventory when cancelling @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index fc47738ec5..6950f8a729 100644 +index 5ffc4fccd0..a405cc0a2a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1953,6 +1953,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1954,6 +1954,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } if (event.isCancelled()) { From ef0dfd0628538977318e305dbf467362a2f83113 Mon Sep 17 00:00:00 2001 From: Max Lee Date: Wed, 25 Jul 2018 23:19:51 +0100 Subject: [PATCH 58/70] Apply spawner delay for cancelled pre spawn events (#1276) Setting the flag updates the spawner's delay which stops the spawner from trying to find a new spawn position each tick efter the event was cancelled/aborted which makes it usable for mob stackers/mergers and other plugins that don't actually want any mob to spawn in the spawner cycle but keep the overall behaviour close to vanilla. This might slightly effect existing plugins that use this event but I doubt anyone really relied on this behaviour, the only possible use case that I can think of is cancelling the event until you find a suitable position in your plugin... and this should be handled by the plugin itself by cancelling and spawning at the position manually. --- .../0261-PreCreatureSpawnEvent.patch | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Spigot-Server-Patches/0261-PreCreatureSpawnEvent.patch b/Spigot-Server-Patches/0261-PreCreatureSpawnEvent.patch index 3f84bc97eb..8bbf858e78 100644 --- a/Spigot-Server-Patches/0261-PreCreatureSpawnEvent.patch +++ b/Spigot-Server-Patches/0261-PreCreatureSpawnEvent.patch @@ -1,4 +1,4 @@ -From 0d9573cce034afcfd6b1f86fd955aeae30d06f30 Mon Sep 17 00:00:00 2001 +From 0ae51485d202666ce7a9cfdb15feb2a587c0c445 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:01:31 -0500 Subject: [PATCH] PreCreatureSpawnEvent @@ -15,7 +15,7 @@ instead and save a lot of server resources. See: https://github.com/PaperMC/Paper/issues/917 diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 87fe4775f..9466bcdc7 100644 +index 87fe4775..94d0b8a3 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -1,6 +1,7 @@ @@ -26,7 +26,7 @@ index 87fe4775f..9466bcdc7 100644 import java.util.Iterator; import java.util.List; import javax.annotation.Nullable; -@@ -87,6 +88,27 @@ public abstract class MobSpawnerAbstract { +@@ -87,6 +88,28 @@ public abstract class MobSpawnerAbstract { double d3 = j >= 1 ? nbttaglist.f(0) : (double) blockposition.getX() + (world.random.nextDouble() - world.random.nextDouble()) * (double) this.spawnRange + 0.5D; double d4 = j >= 2 ? nbttaglist.f(1) : (double) (blockposition.getY() + world.random.nextInt(3) - 1); double d5 = j >= 3 ? nbttaglist.f(2) : (double) blockposition.getZ() + (world.random.nextDouble() - world.random.nextDouble()) * (double) this.spawnRange + 0.5D; @@ -44,6 +44,7 @@ index 87fe4775f..9466bcdc7 100644 + org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER + ); + if (!event.callEvent()) { ++ flag = true; + if (event.shouldAbortSpawn()) { + break; + } @@ -55,7 +56,7 @@ index 87fe4775f..9466bcdc7 100644 if (entity == null) { diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 2cd063829..e217d3340 100644 +index ed22607d..5d633774 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -184,6 +184,25 @@ public final class SpawnerCreature { @@ -85,5 +86,5 @@ index 2cd063829..e217d3340 100644 try { -- -2.18.0 +2.16.2.windows.1 From 48d75228ed0cd915d2b648d959ac2f019e1a66d6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 25 Jul 2018 19:05:07 -0400 Subject: [PATCH 59/70] Update upstream --- Spigot-API-Patches/0003-Timings-v2.patch | 8 +-- .../0005-Add-getTPS-method.patch | 10 +-- .../0013-Expose-server-CommandMap.patch | 10 +-- ...eload-permissions.yml-and-require-co.patch | 10 +-- ...8-Allow-Reloading-of-Command-Aliases.patch | 10 +-- ...n-option-to-prevent-player-names-fro.patch | 10 +-- .../0055-Basic-PlayerProfile-API.patch | 10 +-- .../0060-ensureServerConversions-API.patch | 8 +-- .../0061-Add-getI18NDisplayName-API.patch | 6 +- ...0105-ItemStack-getMaxItemUseDuration.patch | 6 +- ...PI-additions-for-quantity-flags-lore.patch | 6 +- .../0002-Paper-config-files.patch | 30 ++++----- Spigot-Server-Patches/0009-Timings-v2.patch | 64 +++++++++---------- ...ient-crashes-server-lists-and-Mojang.patch | 14 ++-- ...021-Further-improve-server-tick-loop.patch | 10 +-- .../0028-Lighting-Queue.patch | 18 +++--- ...45-Ensure-commands-are-not-ran-async.patch | 14 ++-- .../0049-Expose-server-CommandMap.patch | 6 +- .../0055-Add-velocity-warnings.patch | 10 +-- .../0057-Add-exception-reporting-event.patch | 28 ++++---- ...ading-permissions.yml-before-plugins.patch | 10 +-- ...llow-Reloading-of-Custom-Permissions.patch | 6 +- .../0066-Remove-Metadata-on-reload.patch | 6 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 16 ++--- .../0116-Fix-Chunk-Unload-Queue-Issues.patch | 6 +- ...unk-Unloads-based-on-Player-Movement.patch | 22 +++---- ...setting-for-proxy-online-mode-status.patch | 10 +-- .../0138-Auto-Save-Improvements.patch | 20 +++--- ...vent-Auto-Save-if-Save-Queue-is-full.patch | 12 ++-- .../0147-Chunk-Save-Stats-Debug-Option.patch | 6 +- ...2-Allow-Reloading-of-Command-Aliases.patch | 6 +- ...PI-for-Reason-Source-Triggering-play.patch | 6 +- ...more-aggressive-in-the-chunk-unload-.patch | 6 +- ...n-option-to-prevent-player-names-fro.patch | 8 +-- ...oleAppender-for-console-improvements.patch | 8 +-- .../0189-Add-UnknownCommandEvent.patch | 6 +- .../0190-Basic-PlayerProfile-API.patch | 10 +-- .../0191-Shoulder-Entities-Release-API.patch | 6 +- .../0223-AsyncTabCompleteEvent.patch | 8 +-- .../0249-getPlayerUniqueId-API.patch | 6 +- ...d-method-to-open-already-placed-sign.patch | 6 +- ...ld.spawnParticle-API-and-add-Builder.patch | 6 +- ...Item-entities-with-World.spawnEntity.patch | 6 +- .../0281-Expand-Explosions-API.patch | 6 +- ...7-Implement-World.getEntity-UUID-API.patch | 6 +- .../0288-InventoryCloseEvent-Reason-API.patch | 6 +- ...ad-Safe-Iteration-of-Chunk-Scheduler.patch | 8 +-- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 49 files changed, 260 insertions(+), 260 deletions(-) diff --git a/Spigot-API-Patches/0003-Timings-v2.patch b/Spigot-API-Patches/0003-Timings-v2.patch index 617ac6b110..aed23fe061 100644 --- a/Spigot-API-Patches/0003-Timings-v2.patch +++ b/Spigot-API-Patches/0003-Timings-v2.patch @@ -1,4 +1,4 @@ -From dfdc0fc72aa42183a2d88cec42f0f08bcb1d474c Mon Sep 17 00:00:00 2001 +From f8fa09d5b8cbff7c0ce49d3fab5352ecdecb6172 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 18:48:17 -0600 Subject: [PATCH] Timings v2 @@ -3004,7 +3004,7 @@ index 00000000..df592d85 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0f42a66a..68b5e1c9 100644 +index ff7f436c..b56c09d3 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -525,7 +525,6 @@ public final class Bukkit { @@ -3016,10 +3016,10 @@ index 0f42a66a..68b5e1c9 100644 /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 053a24dc..0d41f7db 100644 +index a766ee96..4ddb8b02 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1011,12 +1011,27 @@ public interface Server extends PluginMessageRecipient { +@@ -1037,12 +1037,27 @@ public interface Server extends PluginMessageRecipient { // Spigot start public class Spigot { diff --git a/Spigot-API-Patches/0005-Add-getTPS-method.patch b/Spigot-API-Patches/0005-Add-getTPS-method.patch index d3292fbade..121e9da22d 100644 --- a/Spigot-API-Patches/0005-Add-getTPS-method.patch +++ b/Spigot-API-Patches/0005-Add-getTPS-method.patch @@ -1,14 +1,14 @@ -From ff3b42f8a992f43e1a65e70f750f489168d633bd Mon Sep 17 00:00:00 2001 +From 5afd01f2ac262d4c1074c7eacb0550eebb115731 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 17:24:57 -0600 Subject: [PATCH] Add getTPS method diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 68b5e1c9..f3252e20 100644 +index b56c09d3..477a5833 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1127,6 +1127,16 @@ public final class Bukkit { +@@ -1153,6 +1153,16 @@ public final class Bukkit { return server.getEntity(uuid); } @@ -26,10 +26,10 @@ index 68b5e1c9..f3252e20 100644 * Get the advancement specified by this key. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 331bb061..eb98c600 100644 +index 4ddb8b02..1fa6f53e 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -921,6 +921,15 @@ public interface Server extends PluginMessageRecipient { +@@ -947,6 +947,15 @@ public interface Server extends PluginMessageRecipient { */ Entity getEntity(UUID uuid); diff --git a/Spigot-API-Patches/0013-Expose-server-CommandMap.patch b/Spigot-API-Patches/0013-Expose-server-CommandMap.patch index defa706f76..0fe2708943 100644 --- a/Spigot-API-Patches/0013-Expose-server-CommandMap.patch +++ b/Spigot-API-Patches/0013-Expose-server-CommandMap.patch @@ -1,11 +1,11 @@ -From ab362d03af4b94722a764c5c06fe197fbda4d2d3 Mon Sep 17 00:00:00 2001 +From a16608e4c4b20cad5477b8be0c935581a1d0895f Mon Sep 17 00:00:00 2001 From: kashike Date: Mon, 29 Feb 2016 19:48:59 -0600 Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index f3252e20..a291ebd6 100644 +index 477a5833..73c85063 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -19,10 +19,7 @@ import org.bukkit.boss.BarColor; @@ -20,7 +20,7 @@ index f3252e20..a291ebd6 100644 import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryType; -@@ -1237,6 +1234,17 @@ public final class Bukkit { +@@ -1263,6 +1260,17 @@ public final class Bukkit { return server.getUnsafe(); } @@ -39,7 +39,7 @@ index f3252e20..a291ebd6 100644 { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e6a5cd2a..901199e3 100644 +index 1fa6f53e..70e19580 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -19,10 +19,7 @@ import org.bukkit.boss.BarColor; @@ -54,7 +54,7 @@ index e6a5cd2a..901199e3 100644 import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryType; -@@ -930,6 +927,14 @@ public interface Server extends PluginMessageRecipient { +@@ -956,6 +953,14 @@ public interface Server extends PluginMessageRecipient { public double[] getTPS(); // Paper end diff --git a/Spigot-API-Patches/0024-Add-command-to-reload-permissions.yml-and-require-co.patch b/Spigot-API-Patches/0024-Add-command-to-reload-permissions.yml-and-require-co.patch index 8ce76a62e4..532d428222 100644 --- a/Spigot-API-Patches/0024-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/Spigot-API-Patches/0024-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -1,4 +1,4 @@ -From 665f0cb22362dab461d1939b4aabbcf6a553907f Mon Sep 17 00:00:00 2001 +From 4df7359ab8d56f067a1373cd77a35c2ea2ed28d9 Mon Sep 17 00:00:00 2001 From: William Date: Fri, 18 Mar 2016 03:28:07 -0400 Subject: [PATCH] Add command to reload permissions.yml and require confirm to @@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0844862c..bce4ba1b 100644 +index 471ae811..d6686820 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1263,6 +1263,13 @@ public final class Bukkit { +@@ -1289,6 +1289,13 @@ public final class Bukkit { public static CommandMap getCommandMap() { return server.getCommandMap(); } @@ -24,10 +24,10 @@ index 0844862c..bce4ba1b 100644 public static Server.Spigot spigot() diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1ad2cba4..b6a2141c 100644 +index 56b0fdb5..5a4528c4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1094,4 +1094,6 @@ public interface Server extends PluginMessageRecipient { +@@ -1120,4 +1120,6 @@ public interface Server extends PluginMessageRecipient { Spigot spigot(); // Spigot end diff --git a/Spigot-API-Patches/0038-Allow-Reloading-of-Command-Aliases.patch b/Spigot-API-Patches/0038-Allow-Reloading-of-Command-Aliases.patch index 98aadba608..7476d160f7 100644 --- a/Spigot-API-Patches/0038-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-API-Patches/0038-Allow-Reloading-of-Command-Aliases.patch @@ -1,4 +1,4 @@ -From 03ea3274fc02f71bb86eed95ab422f493a544873 Mon Sep 17 00:00:00 2001 +From 2eaf589a9abaea57928f1d5ceecb1e404999a090 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 28 Nov 2016 10:16:39 -0500 Subject: [PATCH] Allow Reloading of Command Aliases @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index bce4ba1b..70495c15 100644 +index d6686820..35e18341 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1270,6 +1270,15 @@ public final class Bukkit { +@@ -1296,6 +1296,15 @@ public final class Bukkit { public static void reloadPermissions() { server.reloadPermissions(); } @@ -26,10 +26,10 @@ index bce4ba1b..70495c15 100644 public static Server.Spigot spigot() diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b6a2141c..94d709f4 100644 +index 5a4528c4..12efd654 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1096,4 +1096,6 @@ public interface Server extends PluginMessageRecipient { +@@ -1122,4 +1122,6 @@ public interface Server extends PluginMessageRecipient { // Spigot end void reloadPermissions(); // Paper diff --git a/Spigot-API-Patches/0049-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-API-Patches/0049-Add-configuration-option-to-prevent-player-names-fro.patch index a09454f313..7e3432d96a 100644 --- a/Spigot-API-Patches/0049-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-API-Patches/0049-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From 6f46820d7b4ee0f41a22f79597a5371439d6521d Mon Sep 17 00:00:00 2001 +From 2ac7131971cf62c416974a622be676b1e55ff205 Mon Sep 17 00:00:00 2001 From: kashike Date: Fri, 9 Jun 2017 07:24:24 -0700 Subject: [PATCH] Add configuration option to prevent player names from being @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 70495c15..c918d67c 100644 +index 35e18341..9558645f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1279,6 +1279,16 @@ public final class Bukkit { +@@ -1305,6 +1305,16 @@ public final class Bukkit { public static boolean reloadCommandAliases() { return server.reloadCommandAliases(); } @@ -27,10 +27,10 @@ index 70495c15..c918d67c 100644 public static Server.Spigot spigot() diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 94d709f4..96044f4b 100644 +index 12efd654..da0d08b3 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1098,4 +1098,14 @@ public interface Server extends PluginMessageRecipient { +@@ -1124,4 +1124,14 @@ public interface Server extends PluginMessageRecipient { void reloadPermissions(); // Paper boolean reloadCommandAliases(); // Paper diff --git a/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch b/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch index 1274924626..09e9321eab 100644 --- a/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch +++ b/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From e2c8fd3966e4d7bbf8825d9b7e22b527d2304811 Mon Sep 17 00:00:00 2001 +From 97a6a2c62004126fa289c26630892ada77e67845 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 21:46:46 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -239,7 +239,7 @@ index 00000000..d17061e6 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index c918d67c..01a226d9 100644 +index 9558645f..86e72f95 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -46,6 +46,9 @@ import org.bukkit.generator.ChunkGenerator; @@ -252,7 +252,7 @@ index c918d67c..01a226d9 100644 /** * Represents the Bukkit core, for version and Server singleton handling */ -@@ -1289,6 +1292,37 @@ public final class Bukkit { +@@ -1315,6 +1318,37 @@ public final class Bukkit { public static boolean suggestPlayerNamesWhenNullTabCompletions() { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -291,7 +291,7 @@ index c918d67c..01a226d9 100644 public static Server.Spigot spigot() diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 96044f4b..6c96fc14 100644 +index da0d08b3..878255a4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -47,6 +47,9 @@ import org.bukkit.generator.ChunkGenerator; @@ -304,7 +304,7 @@ index 96044f4b..6c96fc14 100644 /** * Represents a server implementation. */ -@@ -1107,5 +1110,30 @@ public interface Server extends PluginMessageRecipient { +@@ -1133,5 +1136,30 @@ public interface Server extends PluginMessageRecipient { * @return true if player names should be suggested */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/Spigot-API-Patches/0060-ensureServerConversions-API.patch b/Spigot-API-Patches/0060-ensureServerConversions-API.patch index dcf06e2376..28e1ee5e01 100644 --- a/Spigot-API-Patches/0060-ensureServerConversions-API.patch +++ b/Spigot-API-Patches/0060-ensureServerConversions-API.patch @@ -1,4 +1,4 @@ -From 913761361c5a2b8da0f5eaa0ddfd7b6a18cc9ecc Mon Sep 17 00:00:00 2001 +From 7a4550bdfee62eaba02e50fe3434310cb0b82f8c Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:55:48 -0400 Subject: [PATCH] ensureServerConversions API @@ -28,10 +28,10 @@ index 762c43d6..045c26d9 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 41a43053..24a45189 100644 +index 3c91cbe6..4940e726 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -488,7 +488,12 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -495,7 +495,12 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { } } @@ -45,7 +45,7 @@ index 41a43053..24a45189 100644 } /** -@@ -546,4 +551,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -553,4 +558,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { return true; } diff --git a/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch b/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch index 8cfda407d0..1d525395ff 100644 --- a/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch +++ b/Spigot-API-Patches/0061-Add-getI18NDisplayName-API.patch @@ -1,4 +1,4 @@ -From 3f49c33bedc491bb19580f5713bf536f366b931a Mon Sep 17 00:00:00 2001 +From 75065c61ba95680cd9e1db23b402a094d141b616 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:55:48 -0400 Subject: [PATCH] Add getI18NDisplayName API @@ -28,10 +28,10 @@ index 045c26d9..47bbc0f9 100644 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 24a45189..b1d0778f 100644 +index 4940e726..e52a39ec 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -564,5 +564,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -571,5 +571,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { public ItemStack ensureServerConversions() { return Bukkit.getServer().getItemFactory().ensureServerConversions(this); } diff --git a/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch b/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch index 2447cf66c1..2982ab4320 100644 --- a/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-API-Patches/0105-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From 02c74afa96de75233566264502c5989c25f93eef Mon Sep 17 00:00:00 2001 +From 68e948eef9e90c001f168f58660c61ca3bbee305 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 22:59:50 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index b1d0778f..4385ca79 100644 +index e52a39ec..84a399e0 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -575,5 +575,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -582,5 +582,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { public String getI18NDisplayName() { return Bukkit.getServer().getItemFactory().getI18NDisplayName(this); } diff --git a/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch b/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch index e672706047..d2c8b93b14 100644 --- a/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch +++ b/Spigot-API-Patches/0114-ItemStack-API-additions-for-quantity-flags-lore.patch @@ -1,11 +1,11 @@ -From ba60c4fe16615ca60be690c7bf4bb2bf30fd175f Mon Sep 17 00:00:00 2001 +From 356af878d4effe5adb4fbdc3bfc21128a693a7b0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 22 Jun 2018 22:59:18 -0400 Subject: [PATCH] ItemStack API additions for quantity/flags/lore diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 4385ca79..7eb00104 100644 +index 84a399e0..4a27f4fc 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -2,7 +2,9 @@ package org.bukkit.inventory; @@ -27,7 +27,7 @@ index 4385ca79..7eb00104 100644 /** * Represents a stack of items */ -@@ -583,5 +587,133 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { +@@ -590,5 +594,133 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { // Requires access to NMS return ensureServerConversions().getMaxItemUseDuration(); } diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index b59ea0b346..e783867790 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -1,4 +1,4 @@ -From ea7585a551532e04ec7b38c220a373a9130dc062 Mon Sep 17 00:00:00 2001 +From 5d8ba7cb9d240fe918b9097ad5c35603af20b45b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:02:09 -0600 Subject: [PATCH] Paper config files @@ -6,7 +6,7 @@ Subject: [PATCH] Paper config files diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java new file mode 100644 -index 000000000..e8f7b7292 +index 0000000000..e8f7b7292d --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -0,0 +1,237 @@ @@ -249,7 +249,7 @@ index 000000000..e8f7b7292 +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java new file mode 100644 -index 000000000..d5c6c37fa +index 0000000000..d5c6c37fab --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -0,0 +1,177 @@ @@ -432,7 +432,7 @@ index 000000000..d5c6c37fa +} diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java new file mode 100644 -index 000000000..b8a6161d8 +index 0000000000..b8a6161d84 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -0,0 +1,67 @@ @@ -504,7 +504,7 @@ index 000000000..b8a6161d8 + } +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 5ff1e9686..3706e44a3 100644 +index 5ff1e96861..3706e44a34 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -192,6 +192,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -519,7 +519,7 @@ index 5ff1e9686..3706e44a3 100644 DedicatedServer.LOGGER.info("Generating keypair"); this.a(MinecraftEncryption.b()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 47fd48399..29c7043c8 100644 +index 47fd48399f..29c7043c86 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -134,9 +134,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { @@ -536,7 +536,7 @@ index 47fd48399..29c7043c8 100644 public boolean impulse; public int portalCooldown; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index ad3f89199..ca2a14d7a 100644 +index ad3f891999..ca2a14d7ac 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -560,7 +560,7 @@ index ad3f89199..ca2a14d7a 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 13c404337..b2bb06c79 100644 +index 13c4043377..b2bb06c796 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -127,6 +127,8 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -581,10 +581,10 @@ index 13c404337..b2bb06c79 100644 this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4dc0c8fcb..99d397872 100644 +index 1232ea4b2e..feab96c84c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -743,6 +743,7 @@ public final class CraftServer implements Server { +@@ -744,6 +744,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot @@ -592,7 +592,7 @@ index 4dc0c8fcb..99d397872 100644 for (WorldServer world : console.worlds) { world.worldData.setDifficulty(difficulty); world.setSpawnFlags(monsters, animals); -@@ -758,6 +759,7 @@ public final class CraftServer implements Server { +@@ -759,6 +760,7 @@ public final class CraftServer implements Server { world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns(); } world.spigotConfig.init(); // Spigot @@ -600,7 +600,7 @@ index 4dc0c8fcb..99d397872 100644 } pluginManager.clearPlugins(); -@@ -765,6 +767,7 @@ public final class CraftServer implements Server { +@@ -766,6 +768,7 @@ public final class CraftServer implements Server { resetRecipes(); reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot @@ -608,7 +608,7 @@ index 4dc0c8fcb..99d397872 100644 overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*"); ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -1862,4 +1865,26 @@ public final class CraftServer implements Server { +@@ -1864,4 +1867,26 @@ public final class CraftServer implements Server { { return spigot; } @@ -636,7 +636,7 @@ index 4dc0c8fcb..99d397872 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index df07dc594..57da619d8 100644 +index df07dc5946..57da619d80 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -128,6 +128,14 @@ public class Main { @@ -655,7 +655,7 @@ index df07dc594..57da619d8 100644 }; diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 9128f7754..7b1a9a8a0 100644 +index 9128f77543..7b1a9a8a0e 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -39,31 +39,31 @@ public class SpigotWorldConfig diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 1d703051a2..4a0bf7f93a 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 43fde1b1776449b70599136969eca45343f953a4 Mon Sep 17 00:00:00 2001 +From d84504147fb808dbe850614b40541d1f8b4dafb5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 000000000..4f624e39c +index 0000000000..4f624e39c7 --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,125 @@ @@ -137,7 +137,7 @@ index 000000000..4f624e39c +} diff --git a/src/main/java/co/aikar/timings/TimedChunkGenerator.java b/src/main/java/co/aikar/timings/TimedChunkGenerator.java new file mode 100644 -index 000000000..0bb63600f +index 0000000000..0bb63600f3 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java @@ -0,0 +1,180 @@ @@ -323,7 +323,7 @@ index 000000000..0bb63600f +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 000000000..145cb274b +index 0000000000..145cb274b0 --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,104 @@ @@ -432,7 +432,7 @@ index 000000000..145cb274b + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index b89ec4252..e4ed7d674 100644 +index b89ec42525..e4ed7d674e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -476,7 +476,7 @@ index b89ec4252..e4ed7d674 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 06f10e1e8..43feccef8 100644 +index 06f10e1e84..43feccef8f 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -28,8 +28,16 @@ public class Block implements IMaterial { @@ -499,7 +499,7 @@ index 06f10e1e8..43feccef8 100644 Object2ByteLinkedOpenHashMap object2bytelinkedopenhashmap = new Object2ByteLinkedOpenHashMap(200) { protected void rehash(int i) {} diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 5164e5c92..0c2386f5e 100644 +index 5164e5c928..0c2386f5ec 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,6 +14,7 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -530,7 +530,7 @@ index 5164e5c92..0c2386f5e 100644 return chunk1; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 0296d3ef0..d23f4e80c 100644 +index 00cd8d8cea..aabdc9e2f0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -122,14 +122,13 @@ public class ChunkProviderServer implements IChunkProvider { @@ -550,7 +550,7 @@ index 0296d3ef0..d23f4e80c 100644 } } -@@ -221,7 +220,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -232,7 +231,7 @@ public class ChunkProviderServer implements IChunkProvider { } public void saveChunk(IChunkAccess ichunkaccess, boolean unloaded) { // Spigot @@ -560,7 +560,7 @@ index 0296d3ef0..d23f4e80c 100644 this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 88301ee61..5001fd11d 100644 +index 88301ee61e..5001fd11dc 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -607,7 +607,7 @@ index 88301ee61..5001fd11d 100644 } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 3706e44a3..bf1fffcfe 100644 +index 3706e44a34..bf1fffcfee 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level; @@ -660,7 +660,7 @@ index 3706e44a3..bf1fffcfe 100644 return waitable.get(); } catch (java.util.concurrent.ExecutionException e) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e67c5dc90..f1e71de42 100644 +index e67c5dc90b..f1e71de42a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -699,7 +699,7 @@ index e67c5dc90..f1e71de42 100644 protected float ab() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 514c95151..d6e9915c1 100644 +index 514c951516..d6e9915c1f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -775,7 +775,7 @@ index 514c95151..d6e9915c1 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index ae31935c4..70c9b1f50 100644 +index ae31935c48..70c9b1f50c 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -168,7 +168,7 @@ public class EntityTracker { @@ -806,7 +806,7 @@ index ae31935c4..70c9b1f50 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 71ee66a9b..1839bf7d2 100644 +index 71ee66a9bb..1839bf7d24 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,5 +1,6 @@ @@ -960,7 +960,7 @@ index 71ee66a9b..1839bf7d2 100644 this.methodProfiler.e(); } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index ac6d8cc6e..d975c2ccf 100644 +index ac6d8cc6e6..d975c2ccf1 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,5 +1,6 @@ @@ -1054,7 +1054,7 @@ index ac6d8cc6e..d975c2ccf 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 42e0630e6..5d42cfe81 100644 +index 42e0630e60..5d42cfe81c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -1093,7 +1093,7 @@ index 42e0630e6..5d42cfe81 100644 // this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index 889b32287..69da194f5 100644 +index 889b32287e..69da194f52 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -1,11 +1,17 @@ @@ -1116,7 +1116,7 @@ index 889b32287..69da194f5 100644 throw CancelledPacketHandleException.INSTANCE; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index e476d3433..9cef6b9af 100644 +index e476d3433b..9cef6b9af6 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1140,7 +1140,7 @@ index e476d3433..9cef6b9af 100644 public WhiteList getWhitelist() { diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java -index a07895935..ee5c2421b 100644 +index a07895935e..ee5c2421bb 100644 --- a/src/main/java/net/minecraft/server/TickListServer.java +++ b/src/main/java/net/minecraft/server/TickListServer.java @@ -24,13 +24,19 @@ public class TickListServer implements TickList { @@ -1194,7 +1194,7 @@ index a07895935..ee5c2421b 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index cffbcb8f7..6b8a1c8c8 100644 +index cffbcb8f71..6b8a1c8c8b 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -4,12 +4,13 @@ import javax.annotation.Nullable; @@ -1214,7 +1214,7 @@ index cffbcb8f7..6b8a1c8c8 100644 private final TileEntityTypes e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b2bb06c79..562a85b72 100644 +index b2bb06c796..562a85b726 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,6 @@ @@ -1329,7 +1329,7 @@ index b2bb06c79..562a85b72 100644 public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 2c6f6de4c..f032ecab6 100644 +index 2c6f6de4ce..f032ecab64 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,6 @@ @@ -1445,10 +1445,10 @@ index 2c6f6de4c..f032ecab6 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 99d397872..bc1f858af 100644 +index feab96c84c..737ad3e1c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1835,12 +1835,31 @@ public final class CraftServer implements Server { +@@ -1837,12 +1837,31 @@ public final class CraftServer implements Server { private final Spigot spigot = new Spigot() { @@ -1482,7 +1482,7 @@ index 99d397872..bc1f858af 100644 org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index 4c8ab2bc9..000000000 +index 4c8ab2bc97..0000000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,174 +0,0 @@ @@ -1661,7 +1661,7 @@ index 4c8ab2bc9..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index 413dd35f0..52a8c48fa 100644 +index 413dd35f06..52a8c48fa4 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java @@ -1,6 +1,8 @@ @@ -1697,7 +1697,7 @@ index 413dd35f0..52a8c48fa 100644 public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 75d56ee3b..47f650e42 100644 +index 75d56ee3bd..47f650e426 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1665,6 +1665,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1714,7 +1714,7 @@ index 75d56ee3b..47f650e42 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index f11bd7545..93b9134d6 100644 +index f11bd7545f..93b9134d6e 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -14,6 +14,7 @@ import java.util.concurrent.atomic.AtomicInteger; @@ -1790,7 +1790,7 @@ index f11bd7545..93b9134d6 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 7e7ce9a81..46029ce24 100644 +index 7e7ce9a81b..46029ce246 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -1,8 +1,8 @@ @@ -1872,7 +1872,7 @@ index 7e7ce9a81..46029ce24 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b7..3d90b3426 100644 +index e52ef47b78..3d90b34268 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1884,7 +1884,7 @@ index e52ef47b7..3d90b3426 100644 this.value = value; } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e60fe5a92..f68e42c4d 100644 +index e60fe5a920..f68e42c4d4 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -30,7 +30,7 @@ import net.minecraft.server.EntityWither; diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 242aeffc8c..62078159b1 100644 --- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -1,4 +1,4 @@ -From ececfb43f16b065d3755a1bfc4e889287c0e3c95 Mon Sep 17 00:00:00 2001 +From 7cd9445ab28c3f5c5ce2ca674af31de0a2d1faa1 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 14:32:43 -0600 Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang @@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java -index 220ca7bca..eb4b08be4 100644 +index 220ca7bca0..eb4b08be46 100644 --- a/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java @@ -52,13 +52,12 @@ public class EULA { @@ -25,7 +25,7 @@ index 220ca7bca..eb4b08be4 100644 } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1839bf7d2..5d5aa72ca 100644 +index 1839bf7d24..5d5aa72ca2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1205,7 +1205,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -38,10 +38,10 @@ index 1839bf7d2..5d5aa72ca 100644 public CrashReport b(CrashReport crashreport) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bc1f858af..ce87736da 100644 +index 737ad3e1c0..0dda989453 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -152,7 +152,7 @@ import org.bukkit.event.server.TabCompleteEvent; +@@ -153,7 +153,7 @@ import org.bukkit.event.server.TabCompleteEvent; import net.md_5.bungee.api.chat.BaseComponent; public final class CraftServer implements Server { @@ -51,7 +51,7 @@ index bc1f858af..ce87736da 100644 private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 57da619d8..38e696aa9 100644 +index 57da619d80..38e696aa94 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -200,7 +200,7 @@ public class Main { @@ -64,7 +64,7 @@ index 57da619d8..38e696aa9 100644 Thread.sleep(TimeUnit.SECONDS.toMillis(15)); } diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index 94a3d4237..91b8aa6a1 100644 +index 94a3d4237d..91b8aa6a16 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -19,7 +19,7 @@ public class WatchdogThread extends Thread diff --git a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch index 24641bfb82..fc2bc3c6de 100644 --- a/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch +++ b/Spigot-Server-Patches/0021-Further-improve-server-tick-loop.patch @@ -1,4 +1,4 @@ -From 977746b6c79dbf14c44ccb350fef1a1ab88084b7 Mon Sep 17 00:00:00 2001 +From 9bf320c306882fff5aaff5e9ede004e6674fe198 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:09:29 -0600 Subject: [PATCH] Further improve server tick loop @@ -12,7 +12,7 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5d5aa72ca..ae17796ce 100644 +index 5d5aa72ca2..ae17796ce2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -142,7 +142,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -149,10 +149,10 @@ index 5d5aa72ca..ae17796ce 100644 } lastTick = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ce87736da..fdcdbf508 100644 +index 0dda989453..6ad91a16f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1832,6 +1832,17 @@ public final class CraftServer implements Server { +@@ -1834,6 +1834,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } @@ -171,7 +171,7 @@ index ce87736da..fdcdbf508 100644 { diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java -index be2e31dea..6d21c3269 100644 +index be2e31deae..6d21c32692 100644 --- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java +++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java @@ -1,8 +1,5 @@ diff --git a/Spigot-Server-Patches/0028-Lighting-Queue.patch b/Spigot-Server-Patches/0028-Lighting-Queue.patch index fa573210dc..fda351e555 100644 --- a/Spigot-Server-Patches/0028-Lighting-Queue.patch +++ b/Spigot-Server-Patches/0028-Lighting-Queue.patch @@ -1,4 +1,4 @@ -From 8dca59c82d4970ec06b04d9656b4b2d6cb1b841d Mon Sep 17 00:00:00 2001 +From 86c2617665e69182c21d9c57a6827cec49848fa8 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 00:52:31 -0600 Subject: [PATCH] Lighting Queue @@ -6,7 +6,7 @@ Subject: [PATCH] Lighting Queue This provides option to queue lighting updates to ensure they do not cause the server lag diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java -index 145cb274b..eff9dcf54 100644 +index 145cb274b0..eff9dcf54f 100644 --- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -50,6 +50,8 @@ public class WorldTimingsHandler { @@ -28,7 +28,7 @@ index 145cb274b..eff9dcf54 100644 public static Timing getTickList(WorldServer worldserver, String timingsType) { diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 68898d624..4b36a0f05 100644 +index 68898d624f..4b36a0f053 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -130,4 +130,10 @@ public class PaperWorldConfig { @@ -43,7 +43,7 @@ index 68898d624..4b36a0f05 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index adf3dee2e..eb7a41977 100644 +index adf3dee2ef..eb7a41977f 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -91,6 +91,7 @@ public class Chunk implements IChunkAccess { @@ -102,10 +102,10 @@ index adf3dee2e..eb7a41977 100644 IMMEDIATE, QUEUED, CHECK; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index d23f4e80c..48b484da1 100644 +index aabdc9e2f0..d025d949e3 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -322,6 +322,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -333,6 +333,7 @@ public class ChunkProviderServer implements IChunkProvider { return false; } save = event.isSaveChunk(); @@ -114,7 +114,7 @@ index d23f4e80c..48b484da1 100644 // Update neighbor counts for (int x = -2; x < 3; x++) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ae17796ce..1ac8d61cd 100644 +index ae17796ce2..1ac8d61cd9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -864,7 +864,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -136,7 +136,7 @@ index ae17796ce..1ac8d61cd 100644 } diff --git a/src/main/java/net/minecraft/server/PaperLightingQueue.java b/src/main/java/net/minecraft/server/PaperLightingQueue.java new file mode 100644 -index 000000000..345cd5824 +index 0000000000..345cd58240 --- /dev/null +++ b/src/main/java/net/minecraft/server/PaperLightingQueue.java @@ -0,0 +1,92 @@ @@ -233,7 +233,7 @@ index 000000000..345cd5824 + } +} diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index bfe09a205..c40ecbc0c 100644 +index bfe09a2055..c40ecbc0c3 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -325,7 +325,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose diff --git a/Spigot-Server-Patches/0045-Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/0045-Ensure-commands-are-not-ran-async.patch index bf309e979c..eaf88d603c 100644 --- a/Spigot-Server-Patches/0045-Ensure-commands-are-not-ran-async.patch +++ b/Spigot-Server-Patches/0045-Ensure-commands-are-not-ran-async.patch @@ -1,4 +1,4 @@ -From d580113b141bff72bf56e052480927f606b34ae2 Mon Sep 17 00:00:00 2001 +From bd9a065c4b1cbe5ff5dc45da9193adc0e9328252 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 01:17:12 -0600 Subject: [PATCH] Ensure commands are not ran async @@ -14,7 +14,7 @@ big slowdown in execution but throwing an exception at same time to raise awaren that it is happening so that plugin authors can fix their code to stop executing commands async. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 359aa3997..88b761d27 100644 +index 5d42cfe81c..dc38e4e043 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1548,6 +1548,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -48,10 +48,10 @@ index 359aa3997..88b761d27 100644 } else if (this.player.getChatFlags() == EntityHuman.EnumChatVisibility.SYSTEM) { // Do nothing, this is coming from a plugin diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6e152fe17..d637199ca 100644 +index 6ad91a16f2..a270d31b22 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -689,6 +689,29 @@ public final class CraftServer implements Server { +@@ -690,6 +690,29 @@ public final class CraftServer implements Server { Validate.notNull(commandLine, "CommandLine cannot be null"); org.spigotmc.AsyncCatcher.catchOp( "command dispatch" ); // Spigot @@ -82,7 +82,7 @@ index 6e152fe17..d637199ca 100644 return true; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java -index a0cdd2317..984df4083 100644 +index a0cdd2317c..984df4083d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java @@ -14,6 +14,7 @@ public class ServerShutdownThread extends Thread { @@ -94,7 +94,7 @@ index a0cdd2317..984df4083 100644 } catch (ExceptionWorldConflict ex) { ex.printStackTrace(); diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java -index 4b3aa85c9..e44c23016 100644 +index 4b3aa85c97..e44c230165 100644 --- a/src/main/java/org/spigotmc/AsyncCatcher.java +++ b/src/main/java/org/spigotmc/AsyncCatcher.java @@ -6,6 +6,7 @@ public class AsyncCatcher @@ -106,7 +106,7 @@ index 4b3aa85c9..e44c23016 100644 public static void catchOp(String reason) { diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java -index 49768734d..947c43a5d 100644 +index 49768734d0..947c43a5d0 100644 --- a/src/main/java/org/spigotmc/RestartCommand.java +++ b/src/main/java/org/spigotmc/RestartCommand.java @@ -43,6 +43,7 @@ public class RestartCommand extends Command diff --git a/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch b/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch index 7ebdadc0a7..20acd17d24 100644 --- a/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch +++ b/Spigot-Server-Patches/0049-Expose-server-CommandMap.patch @@ -1,14 +1,14 @@ -From bd50b8b817431b942df9ac1ed7cb17e6f9854b63 Mon Sep 17 00:00:00 2001 +From c66ee93656b5300113b076f9643a454227cf850a Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 3 Mar 2016 02:15:57 -0600 Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2d8820070..6d00be24b 100644 +index a270d31b22..d7e77a849a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1586,6 +1586,7 @@ public final class CraftServer implements Server { +@@ -1588,6 +1588,7 @@ public final class CraftServer implements Server { return helpMap; } diff --git a/Spigot-Server-Patches/0055-Add-velocity-warnings.patch b/Spigot-Server-Patches/0055-Add-velocity-warnings.patch index 3da580a0ff..70ac7175fe 100644 --- a/Spigot-Server-Patches/0055-Add-velocity-warnings.patch +++ b/Spigot-Server-Patches/0055-Add-velocity-warnings.patch @@ -1,14 +1,14 @@ -From 76cf594d89a46249517f0ba6ce8fbc613fbf0cc8 Mon Sep 17 00:00:00 2001 +From 4409e5d855574376439fcdf9b600891e3bff726d Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:48:12 -0600 Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 703d38f0c..a9d60b8d2 100644 +index d7e77a849a..e701b37cb4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -189,6 +189,7 @@ public final class CraftServer implements Server { +@@ -190,6 +190,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -17,7 +17,7 @@ index 703d38f0c..a9d60b8d2 100644 private final class BooleanWrapper { private boolean value = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 34246369c..03a3328b0 100644 +index 34246369c5..03a3328b06 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -262,12 +262,44 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -66,7 +66,7 @@ index 34246369c..03a3328b0 100644 public double getHeight() { return getHandle().length; diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index 91b8aa6a1..0c106ea9c 100644 +index 91b8aa6a16..0c106ea9c5 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -66,7 +66,19 @@ public class WatchdogThread extends Thread diff --git a/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch index 6461894025..2e051d3c28 100644 --- a/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0057-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From bc419c45755963ad83e1443d17994292bfa81259 Mon Sep 17 00:00:00 2001 +From fb4b41fa026be788337abf1f961f30431821c147 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java new file mode 100644 -index 000000000..93397188b +index 0000000000..93397188b7 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java @@ -0,0 +1,38 @@ @@ -50,7 +50,7 @@ index 000000000..93397188b +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0d80d811a..e3f7ec610 100644 +index 0d80d811a3..e3f7ec6100 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -98,7 +98,7 @@ index 0d80d811a..e3f7ec610 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 48b484da1..6917fdbe0 100644 +index d025d949e3..0e04d65981 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -17,6 +17,7 @@ import java.util.concurrent.ExecutionException; @@ -109,7 +109,7 @@ index 48b484da1..6917fdbe0 100644 import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -214,7 +215,11 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -225,7 +226,11 @@ public class ChunkProviderServer implements IChunkProvider { try { // this.chunkLoader.a(this.world, chunk); // Spigot } catch (Exception exception) { @@ -122,7 +122,7 @@ index 48b484da1..6917fdbe0 100644 } } -@@ -224,9 +229,14 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -235,9 +240,14 @@ public class ChunkProviderServer implements IChunkProvider { ichunkaccess.setLastSaved(this.world.getTime()); this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { @@ -140,7 +140,7 @@ index 48b484da1..6917fdbe0 100644 } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 33e5aaf2c..f13534917 100644 +index 33e5aaf2c0..f135349174 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -1,5 +1,6 @@ @@ -167,7 +167,7 @@ index 33e5aaf2c..f13534917 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PersistentCollection.java b/src/main/java/net/minecraft/server/PersistentCollection.java -index 6b5600ba5..72f386720 100644 +index 6b5600ba5f..72f3867203 100644 --- a/src/main/java/net/minecraft/server/PersistentCollection.java +++ b/src/main/java/net/minecraft/server/PersistentCollection.java @@ -1,5 +1,6 @@ @@ -194,7 +194,7 @@ index 6b5600ba5..72f386720 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 31899549d..cc7cad8be 100644 +index 31899549d5..cc7cad8be4 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -221,7 +221,7 @@ index 31899549d..cc7cad8be 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 0e91aeec3..ff473a263 100644 +index 0e91aeec38..ff473a263f 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -1,5 +1,6 @@ @@ -240,7 +240,7 @@ index 0e91aeec3..ff473a263 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index b12e767db..342a15db5 100644 +index b12e767db9..342a15db5e 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -10,6 +10,7 @@ import org.apache.logging.log4j.LogManager; @@ -268,7 +268,7 @@ index b12e767db..342a15db5 100644 } diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java -index 4ff243dab..67b2e41c7 100644 +index 4ff243dabe..67b2e41c7c 100644 --- a/src/main/java/net/minecraft/server/VillageSiege.java +++ b/src/main/java/net/minecraft/server/VillageSiege.java @@ -1,5 +1,7 @@ @@ -288,7 +288,7 @@ index 4ff243dab..67b2e41c7 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 30cafca04..fa75ed496 100644 +index 30cafca041..fa75ed4963 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,6 +1,8 @@ @@ -325,7 +325,7 @@ index 30cafca04..fa75ed496 100644 this.tileEntityListTick.remove(tileTickPosition--); continue; diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 93b9134d6..26753fac5 100644 +index 93b9134d6e..26753fac5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -15,6 +15,9 @@ import java.util.concurrent.atomic.AtomicReference; diff --git a/Spigot-Server-Patches/0064-Default-loading-permissions.yml-before-plugins.patch b/Spigot-Server-Patches/0064-Default-loading-permissions.yml-before-plugins.patch index 510f0e90b5..072cb6f5bb 100644 --- a/Spigot-Server-Patches/0064-Default-loading-permissions.yml-before-plugins.patch +++ b/Spigot-Server-Patches/0064-Default-loading-permissions.yml-before-plugins.patch @@ -1,4 +1,4 @@ -From 457a6a9134923a2de82ec70c97818156be6d88b0 Mon Sep 17 00:00:00 2001 +From e9ee81ba8c88cb42333db3f2dcd73378dd8222b3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 13:17:38 -0400 Subject: [PATCH] Default loading permissions.yml before plugins @@ -16,7 +16,7 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe A config option has been added for those who depend on the previous behavior, but I don't expect that. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 280cfd553..40c5ea474 100644 +index 280cfd5534..40c5ea4745 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -214,4 +214,9 @@ public class PaperConfig { @@ -30,10 +30,10 @@ index 280cfd553..40c5ea474 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 899002f27..ff966de55 100644 +index e701b37cb4..030d68a704 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -330,6 +330,7 @@ public final class CraftServer implements Server { +@@ -331,6 +331,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { helpMap.clear(); helpMap.initializeGeneralTopics(); @@ -41,7 +41,7 @@ index 899002f27..ff966de55 100644 } Plugin[] plugins = pluginManager.getPlugins(); -@@ -347,7 +348,7 @@ public final class CraftServer implements Server { +@@ -348,7 +349,7 @@ public final class CraftServer implements Server { setVanillaCommands(false); // Spigot end commandMap.registerServerAliases(); diff --git a/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch b/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch index 7e0f39fb3d..c635b78d64 100644 --- a/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch +++ b/Spigot-Server-Patches/0065-Allow-Reloading-of-Custom-Permissions.patch @@ -1,4 +1,4 @@ -From 03aaffbcad2bfeb80e38be011d9da2f2934c57e8 Mon Sep 17 00:00:00 2001 +From 184517875c3d769ae9242daf249ac905affd1a36 Mon Sep 17 00:00:00 2001 From: William Date: Fri, 18 Mar 2016 03:30:17 -0400 Subject: [PATCH] Allow Reloading of Custom Permissions @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ff966de55..3f51eb384 100644 +index 030d68a704..83364efb50 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1942,5 +1942,20 @@ public final class CraftServer implements Server { +@@ -1944,5 +1944,20 @@ public final class CraftServer implements Server { return false; } } diff --git a/Spigot-Server-Patches/0066-Remove-Metadata-on-reload.patch b/Spigot-Server-Patches/0066-Remove-Metadata-on-reload.patch index 7be6ed6ba7..9f91340c75 100644 --- a/Spigot-Server-Patches/0066-Remove-Metadata-on-reload.patch +++ b/Spigot-Server-Patches/0066-Remove-Metadata-on-reload.patch @@ -1,4 +1,4 @@ -From 9143857ff7220c7c81e4ed9aa68f1a077b053001 Mon Sep 17 00:00:00 2001 +From 6a88f48f2414502aeda9ce864b9bf41a86541d13 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 13:50:14 -0400 Subject: [PATCH] Remove Metadata on reload @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1c9637ff7..f90dc11f2 100644 +index 83364efb50..f3af4ba520 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -787,8 +787,18 @@ public final class CraftServer implements Server { +@@ -788,8 +788,18 @@ public final class CraftServer implements Server { world.paperConfig.init(); // Paper } diff --git a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 82a23a94b5..9172811250 100644 --- a/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0095-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 90bc150bac4110f2a0cd4144e46d5e33171c8f21 Mon Sep 17 00:00:00 2001 +From 326ebf870067e1631b73dc368ab9794d1e0dd0f0 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 @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index bb1c1c57c..667a0dde8 100644 +index bb1c1c57cc..667a0dde8c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -233,4 +233,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index bb1c1c57c..667a0dde8 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 96d31f874..071a1e30f 100644 +index 96d31f8749..071a1e30f7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -485,13 +485,21 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -63,7 +63,7 @@ index 96d31f874..071a1e30f 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6ec1ee26d..a4c8e62e2 100644 +index 6ec1ee26dc..a4c8e62e22 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2825,8 +2825,9 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -78,10 +78,10 @@ index 6ec1ee26d..a4c8e62e2 100644 public void a(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 62872675d..7cb795dd8 100644 +index f3af4ba520..761db58b29 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -990,7 +990,7 @@ public final class CraftServer implements Server { +@@ -991,7 +991,7 @@ public final class CraftServer implements Server { System.out.println("Preparing start region for level " + (console.worlds.size() - 1) + " (Seed: " + internal.getSeed() + ")"); if (internal.getWorld().getKeepSpawnInMemory()) { @@ -91,10 +91,10 @@ index 62872675d..7cb795dd8 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 0b2a9d09d..ff3558363 100644 +index 29a5ac639e..e3e45ed48a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1285,8 +1285,9 @@ public class CraftWorld implements World { +@@ -1281,8 +1281,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/0116-Fix-Chunk-Unload-Queue-Issues.patch b/Spigot-Server-Patches/0116-Fix-Chunk-Unload-Queue-Issues.patch index 000dd4aa61..472fa91788 100644 --- a/Spigot-Server-Patches/0116-Fix-Chunk-Unload-Queue-Issues.patch +++ b/Spigot-Server-Patches/0116-Fix-Chunk-Unload-Queue-Issues.patch @@ -1,4 +1,4 @@ -From 30ff596e33f0ee629ff67ef52d067a7957ef540d Mon Sep 17 00:00:00 2001 +From 5f487664b0a7c81473babc61ebcb4d2b577b2405 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 12 May 2016 02:03:56 -0400 Subject: [PATCH] Fix Chunk Unload Queue Issues @@ -22,10 +22,10 @@ index 695c6d3b70..acc21aec02 100644 private int E; private final AtomicInteger F; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 6917fdbe04..bac5c921b6 100644 +index 0e04d65981..2925c345a1 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -301,6 +301,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -312,6 +312,7 @@ public class ChunkProviderServer implements IChunkProvider { if (chunk != null && chunk.d) { // CraftBukkit start - move unload logic to own method diff --git a/Spigot-Server-Patches/0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch index b07b5bff7a..71d26fcc92 100644 --- a/Spigot-Server-Patches/0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0126-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -1,4 +1,4 @@ -From b08649391177cc01b16d318a959465094d90a183 Mon Sep 17 00:00:00 2001 +From 6c65812f358717d4ce1529e6fde27cdabc07c072 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 @@ -17,7 +17,7 @@ This allows servers with smaller worlds who do less long distance exploring to s wasting cpu cycles on saving/unloading/reloading chunks repeatedly. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 41e73b340..ec6b550ff 100644 +index 41e73b3409..ec6b550ff6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -285,4 +285,18 @@ public class PaperWorldConfig { @@ -40,7 +40,7 @@ index 41e73b340..ec6b550ff 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index acc21aec0..c27073d27 100644 +index acc21aec02..c27073d27c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -39,6 +39,7 @@ public class Chunk implements IChunkAccess { @@ -52,10 +52,10 @@ index acc21aec0..c27073d27 100644 public final int locZ; private boolean m; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index bac5c921b..4f9ece9e4 100644 +index 2925c345a1..a5139b0b0d 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -317,6 +317,19 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -328,6 +328,19 @@ public class ChunkProviderServer implements IChunkProvider { activityAccountant.endActivity(); // Spigot } @@ -76,7 +76,7 @@ index bac5c921b..4f9ece9e4 100644 this.f.a(); this.chunkLoader.b(); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index ffff87dc0..344b95233 100644 +index ffff87dc03..344b95233f 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -33,14 +33,23 @@ public class PlayerChunk { @@ -112,7 +112,7 @@ index ffff87dc0..344b95233 100644 return this.chunk != null; diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 4d888d6d4..cf5c76a78 100644 +index 4d888d6d4f..cf5c76a78e 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -461,7 +461,13 @@ public class PlayerChunkMap { @@ -131,7 +131,7 @@ index 4d888d6d4..cf5c76a78 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f1c036aa6..95ec4f48f 100644 +index f1c036aa6a..95ec4f48f2 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1294,7 +1294,13 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose @@ -150,10 +150,10 @@ index f1c036aa6..95ec4f48f 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 ff3558363..90e260f3b 100644 +index e3e45ed48a..d4851dd2a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1581,7 +1581,7 @@ public class CraftWorld implements World { +@@ -1577,7 +1577,7 @@ public class CraftWorld implements World { ChunkProviderServer cps = world.getChunkProviderServer(); for (net.minecraft.server.Chunk chunk : cps.chunks.values()) { // If in use, skip it @@ -163,7 +163,7 @@ index ff3558363..90e260f3b 100644 } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index a9b84fdec..e02647f80 100644 +index a9b84fdec4..e02647f806 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -284,6 +284,10 @@ public class ActivationRange diff --git a/Spigot-Server-Patches/0132-Add-setting-for-proxy-online-mode-status.patch b/Spigot-Server-Patches/0132-Add-setting-for-proxy-online-mode-status.patch index 162aa26927..800469bbd8 100644 --- a/Spigot-Server-Patches/0132-Add-setting-for-proxy-online-mode-status.patch +++ b/Spigot-Server-Patches/0132-Add-setting-for-proxy-online-mode-status.patch @@ -1,11 +1,11 @@ -From d6def09be9332d4ca4880e9c531e267a369b6516 Mon Sep 17 00:00:00 2001 +From b81234662dc8a123760b733872fc6341c1cdb723 Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Fri, 5 Aug 2016 01:03:08 +0200 Subject: [PATCH] Add setting for proxy online mode status diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5538dfd9d..0e5773bae 100644 +index 5538dfd9d8..0e5773bae4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -234,4 +234,9 @@ public class PaperConfig { @@ -19,7 +19,7 @@ index 5538dfd9d..0e5773bae 100644 + } } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index f13534917..85c7a96c5 100644 +index f135349174..85c7a96c5a 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -60,7 +60,8 @@ public class NameReferencingFileConverter { @@ -33,10 +33,10 @@ index f13534917..85c7a96c5 100644 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7cb795dd8..e125632ff 100644 +index 761db58b29..3bbf9b0189 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1357,7 +1357,8 @@ public final class CraftServer implements Server { +@@ -1358,7 +1358,8 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/Spigot-Server-Patches/0138-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0138-Auto-Save-Improvements.patch index 2d12014a0b..081ba067c8 100644 --- a/Spigot-Server-Patches/0138-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0138-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From fe7cdbbd2c1695cd6b3237b9cd951b1cd24b99a6 Mon Sep 17 00:00:00 2001 +From cfaacd1e20ab7cd9ecb5cca91fe53e601d362c28 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -12,7 +12,7 @@ Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and Adds incremental player auto saving too diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 4bdb0a5f9..315d85090 100644 +index 4bdb0a5f9c..315d85090a 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -255,4 +255,15 @@ public class PaperConfig { @@ -32,7 +32,7 @@ index 4bdb0a5f9..315d85090 100644 + } } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ec6b550ff..499230af6 100644 +index ec6b550ff6..499230af60 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,6 +2,7 @@ package com.destroystokyo.paper; @@ -64,7 +64,7 @@ index ec6b550ff..499230af6 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index c27073d27..06d6814b8 100644 +index c27073d27c..06d6814b83 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -52,9 +52,9 @@ public class Chunk implements IChunkAccess { @@ -96,7 +96,7 @@ index c27073d27..06d6814b8 100644 public boolean isEmpty() { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 4f9ece9e4..afeb0685b 100644 +index a5139b0b0d..aa8d25e765 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -1,5 +1,6 @@ @@ -106,7 +106,7 @@ index 4f9ece9e4..afeb0685b 100644 import com.google.common.collect.Lists; import it.unimi.dsi.fastutil.longs.Long2ObjectMap; import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; -@@ -259,7 +260,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -270,7 +271,7 @@ public class ChunkProviderServer implements IChunkProvider { this.saveChunk(chunk, false); // Spigot chunk.a(false); ++i; @@ -116,7 +116,7 @@ index 4f9ece9e4..afeb0685b 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 982e18f8a..1879c3238 100644 +index 982e18f8af..1879c32381 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -38,6 +38,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -128,7 +128,7 @@ index 982e18f8a..1879c3238 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d25e5c508..3447afcad 100644 +index d25e5c508a..3447afcad8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -144,6 +144,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -175,7 +175,7 @@ index d25e5c508..3447afcad 100644 this.methodProfiler.a("snooper"); if (getSnooperEnabled() && !this.j.d() && this.ticks > 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index d0c547cc9..12f6812d6 100644 +index d0c547cc99..12f6812d67 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -341,6 +341,7 @@ public abstract class PlayerList { @@ -214,7 +214,7 @@ index d0c547cc9..12f6812d6 100644 public WhiteList getWhitelist() { return this.whitelist; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 96002184b..bf07155bc 100644 +index 96002184bb..bf07155bc1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch b/Spigot-Server-Patches/0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch index a7990b5f5a..8c9cb69be4 100644 --- a/Spigot-Server-Patches/0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch +++ b/Spigot-Server-Patches/0146-Prevent-Auto-Save-if-Save-Queue-is-full.patch @@ -1,4 +1,4 @@ -From 09a8983338740bfacd3ce69e393a7962c9cd62c7 Mon Sep 17 00:00:00 2001 +From a5933b1c3c740f9eb59ce6db6ea847ee2a588a26 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Nov 2016 21:52:22 -0400 Subject: [PATCH] Prevent Auto Save if Save Queue is full @@ -7,7 +7,7 @@ If the save queue already has 50 (configurable) of chunks pending, then avoid processing auto save (which would add more) diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 189ec79f0..4d0f2051a 100644 +index 189ec79f05..4d0f2051aa 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -316,6 +316,11 @@ public class PaperWorldConfig { @@ -23,10 +23,10 @@ index 189ec79f0..4d0f2051a 100644 private void removeCorruptTEs() { removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false); diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index afeb0685b..a4c4a9486 100644 +index aa8d25e765..c1a42e61e7 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -249,6 +249,14 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -260,6 +260,14 @@ public class ChunkProviderServer implements IChunkProvider { ArrayList arraylist = Lists.newArrayList(this.chunks.values()); Iterator iterator = arraylist.iterator(); @@ -41,7 +41,7 @@ index afeb0685b..a4c4a9486 100644 while (iterator.hasNext()) { Chunk chunk = (Chunk) iterator.next(); -@@ -260,7 +268,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -271,7 +279,7 @@ public class ChunkProviderServer implements IChunkProvider { this.saveChunk(chunk, false); // Spigot chunk.a(false); ++i; @@ -51,7 +51,7 @@ index afeb0685b..a4c4a9486 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 2f1488ee5..859148cb8 100644 +index 2f1488ee53..859148cb86 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -137,6 +137,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { diff --git a/Spigot-Server-Patches/0147-Chunk-Save-Stats-Debug-Option.patch b/Spigot-Server-Patches/0147-Chunk-Save-Stats-Debug-Option.patch index 6f176a9d11..dfb1d2a0eb 100644 --- a/Spigot-Server-Patches/0147-Chunk-Save-Stats-Debug-Option.patch +++ b/Spigot-Server-Patches/0147-Chunk-Save-Stats-Debug-Option.patch @@ -1,4 +1,4 @@ -From 3bfb26feb30df2fd52c8d8977140a3e4a5348349 Mon Sep 17 00:00:00 2001 +From 8281788d504c1618e1129a3dc19ce80b64d1c22c Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Nov 2016 02:12:10 -0400 Subject: [PATCH] Chunk Save Stats Debug Option @@ -8,7 +8,7 @@ Adds a command line flag to enable stats on how chunk saves are processing. Stats on current queue, how many was processed and how many were queued. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index a4c4a9486b..4be7173bf2 100644 +index c1a42e61e7..c96f1b2753 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -36,6 +36,11 @@ public class ChunkProviderServer implements IChunkProvider { @@ -23,7 +23,7 @@ index a4c4a9486b..4be7173bf2 100644 public final WorldServer world; public ChunkProviderServer(WorldServer worldserver, IChunkLoader ichunkloader, ChunkGenerator chunkgenerator, IAsyncTaskHandler iasynctaskhandler) { -@@ -252,6 +257,30 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -263,6 +268,30 @@ public class ChunkProviderServer implements IChunkProvider { // Paper start final ChunkRegionLoader chunkLoader = (ChunkRegionLoader) world.getChunkProviderServer().chunkLoader; final int queueSize = chunkLoader.getQueueSize(); diff --git a/Spigot-Server-Patches/0152-Allow-Reloading-of-Command-Aliases.patch b/Spigot-Server-Patches/0152-Allow-Reloading-of-Command-Aliases.patch index 2ab039337e..3cc21c0737 100644 --- a/Spigot-Server-Patches/0152-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-Server-Patches/0152-Allow-Reloading-of-Command-Aliases.patch @@ -1,4 +1,4 @@ -From f1900c57c2495acc1a0747ef052e9123a535936e Mon Sep 17 00:00:00 2001 +From 977bbc79a58bf09d5ecd26dc52c2d6bd64d2949d Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 28 Nov 2016 10:21:52 -0500 Subject: [PATCH] Allow Reloading of Command Aliases @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e125632ffe..d7247a1ec9 100644 +index 3bbf9b0189..35b26d6128 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1968,5 +1968,24 @@ public final class CraftServer implements Server { +@@ -1970,5 +1970,24 @@ public final class CraftServer implements Server { }); } } diff --git a/Spigot-Server-Patches/0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 402fd9d558..38ba496b74 100644 --- a/Spigot-Server-Patches/0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0174-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From a2f619363cdd57c1db00dd504b5ed68e2218267d Mon Sep 17 00:00:00 2001 +From b3d7ede96e1be472691ae42cdcd99ffdf7e672d9 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 @@ -221,10 +221,10 @@ index 998662d9e6..6b4eb7f053 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 86848543d0..7004f11764 100644 +index 9cd991c3e7..b3756074b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1220,7 +1220,7 @@ public class CraftWorld implements World { +@@ -1216,7 +1216,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)) { diff --git a/Spigot-Server-Patches/0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index 1512c2df73..f64a690a22 100644 --- a/Spigot-Server-Patches/0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/Spigot-Server-Patches/0178-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -1,14 +1,14 @@ -From b460a12daf84e66911ff439a1605fa058aaaa35e Mon Sep 17 00:00:00 2001 +From 658b49a1c546172fd548a57b28ebc14b5f47ff54 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 7 Feb 2017 16:55:35 -0600 Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 4be7173bf2..7d77c5fb31 100644 +index c96f1b2753..4973721243 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -327,7 +327,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -338,7 +338,7 @@ public class ChunkProviderServer implements IChunkProvider { // Spigot start org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; activityAccountant.startActivity(0.5); diff --git a/Spigot-Server-Patches/0183-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-Server-Patches/0183-Add-configuration-option-to-prevent-player-names-fro.patch index 90437b3533..223cb6610b 100644 --- a/Spigot-Server-Patches/0183-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-Server-Patches/0183-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From 04394aa31f043947da9b7c674852016776da133d Mon Sep 17 00:00:00 2001 +From 3df55783b95d0434f69f9fb85cc4db2cb5e993ac Mon Sep 17 00:00:00 2001 From: kashike Date: Fri, 9 Jun 2017 07:24:34 -0700 Subject: [PATCH] Add configuration option to prevent player names from being @@ -6,7 +6,7 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 644e01101..329950802 100644 +index 644e011017..329950802f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -275,4 +275,9 @@ public class PaperConfig { @@ -20,10 +20,10 @@ index 644e01101..329950802 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d7247a1ec..ff9346023 100644 +index 35b26d6128..8412e71d71 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1987,5 +1987,10 @@ public final class CraftServer implements Server { +@@ -1989,5 +1989,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/Spigot-Server-Patches/0184-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0184-Use-TerminalConsoleAppender-for-console-improvements.patch index 75ca32b469..b889a532bc 100644 --- a/Spigot-Server-Patches/0184-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0184-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From ba46169bb1c11766a1570d04a2d16509993c141b Mon Sep 17 00:00:00 2001 +From c1dafcce6dd2f9cd431fd85a44036602e7013fbf Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -199,7 +199,7 @@ index bf1fffcfee..af430b73f0 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8576545bb7..0808da26f6 100644 +index db09d391ea..41ee97b1a4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,6 @@ import org.apache.commons.lang3.Validate; @@ -271,7 +271,7 @@ index 0b0d996523..4cbe148010 100644 this.k = new GameProfileBanList(PlayerList.a); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ff93460235..21d9f381cc 100644 +index 8412e71d71..47b4c01067 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -137,8 +137,8 @@ import java.nio.ByteBuffer; @@ -284,7 +284,7 @@ index ff93460235..21d9f381cc 100644 import org.bukkit.NamespacedKey; import org.bukkit.block.data.BlockData; import org.bukkit.craftbukkit.block.data.CraftBlockData; -@@ -1123,9 +1123,13 @@ public final class CraftServer implements Server { +@@ -1124,9 +1124,13 @@ public final class CraftServer implements Server { return logger; } diff --git a/Spigot-Server-Patches/0189-Add-UnknownCommandEvent.patch b/Spigot-Server-Patches/0189-Add-UnknownCommandEvent.patch index 7824bcff6f..9ed1dc72b3 100644 --- a/Spigot-Server-Patches/0189-Add-UnknownCommandEvent.patch +++ b/Spigot-Server-Patches/0189-Add-UnknownCommandEvent.patch @@ -1,11 +1,11 @@ -From 8cc7d79a757d71e277e0699e18699769b8b131fb Mon Sep 17 00:00:00 2001 +From 43a73429e4e31a393e524f7b3068e54b6de79597 Mon Sep 17 00:00:00 2001 From: Sweepyoface Date: Sat, 17 Jun 2017 18:48:21 -0400 Subject: [PATCH] Add UnknownCommandEvent diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 21d9f381cc..814a65ec58 100644 +index 47b4c01067..ca696b2417 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -79,6 +79,7 @@ import org.bukkit.craftbukkit.util.Versioning; @@ -16,7 +16,7 @@ index 21d9f381cc..814a65ec58 100644 import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerChatTabCompleteEvent; import org.bukkit.event.server.BroadcastMessageEvent; -@@ -720,7 +721,13 @@ public final class CraftServer implements Server { +@@ -721,7 +722,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/Spigot-Server-Patches/0190-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0190-Basic-PlayerProfile-API.patch index 6bda7d5cb6..96a710c570 100644 --- a/Spigot-Server-Patches/0190-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0190-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From a3979ad06f4ed58539c5cebb7de2c88544d3ad33 Mon Sep 17 00:00:00 2001 +From d97b85a66563487e861582b8b2a54458c8425f09 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -429,7 +429,7 @@ index 381542e0d2..80927de08b 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0808da26f6..cdcc375923 100644 +index 41ee97b1a4..8e72220f37 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1162,7 +1162,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -486,10 +486,10 @@ index a47a51a412..4c476f757c 100644 private UserCacheEntry(GameProfile gameprofile, Date date) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 814a65ec58..202c6c4927 100644 +index ca696b2417..213eb3f4aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -152,6 +152,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; +@@ -153,6 +153,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; import org.bukkit.event.server.TabCompleteEvent; import net.md_5.bungee.api.chat.BaseComponent; @@ -500,7 +500,7 @@ index 814a65ec58..202c6c4927 100644 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -2003,5 +2007,21 @@ public final class CraftServer implements Server { +@@ -2005,5 +2009,21 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/Spigot-Server-Patches/0191-Shoulder-Entities-Release-API.patch b/Spigot-Server-Patches/0191-Shoulder-Entities-Release-API.patch index 1aadffb5d6..ed7f5cc608 100644 --- a/Spigot-Server-Patches/0191-Shoulder-Entities-Release-API.patch +++ b/Spigot-Server-Patches/0191-Shoulder-Entities-Release-API.patch @@ -1,4 +1,4 @@ -From b46069d74f4963e51238e355c4bf70b1f8a4b84c Mon Sep 17 00:00:00 2001 +From a7caf052e8586f81c16f32cebf9ceb38ee599153 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 15:18:30 -0400 Subject: [PATCH] Shoulder Entities Release API @@ -62,10 +62,10 @@ index 42c6249535..b20cab58b1 100644 public abstract boolean isSpectator(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 073c8acf2c..9e2fc4947c 100644 +index d96c6afdb3..e06ac23852 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -445,6 +445,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -454,6 +454,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { getHandle().getCooldownTracker().a(CraftMagicNumbers.getItem(material), ticks); } diff --git a/Spigot-Server-Patches/0223-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0223-AsyncTabCompleteEvent.patch index e91160b0c7..0eca4f1e70 100644 --- a/Spigot-Server-Patches/0223-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0223-AsyncTabCompleteEvent.patch @@ -1,4 +1,4 @@ -From 3e175150c0df5d545748e4fd74dd2c0c884a5e9b Mon Sep 17 00:00:00 2001 +From a521466350c33583f337ec4eb7ae52362b594861 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 26 Nov 2017 13:19:58 -0500 Subject: [PATCH] AsyncTabCompleteEvent @@ -14,7 +14,7 @@ completion, such as offline players. Also adds isCommand and getLocation to the sync TabCompleteEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 619f020ba4..5778bf1c65 100644 +index bfaeaa7559..90ac83b5b1 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -504,18 +504,60 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -85,10 +85,10 @@ index 619f020ba4..5778bf1c65 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 202c6c4927..c74831b3d7 100644 +index 213eb3f4aa..ed8d0de9fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1667,7 +1667,7 @@ public final class CraftServer implements Server { +@@ -1669,7 +1669,7 @@ public final class CraftServer implements Server { offers = tabCompleteChat(player, message); } diff --git a/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch index db4c5b34d0..78d0d0bb3a 100644 --- a/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0249-getPlayerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 6ede5e57de6ec91bdb2a1fefbdc54539c7676010 Mon Sep 17 00:00:00 2001 +From bd5033a7e28d0ad24b413b011cfda0ad8d05ad2d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:40:24 -0400 Subject: [PATCH] getPlayerUniqueId API @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c74831b3d7..e860a83d3f 100644 +index ed8d0de9fa..6d23320e6c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1361,6 +1361,26 @@ public final class CraftServer implements Server { +@@ -1362,6 +1362,26 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch index ba37eb7d85..17227b8042 100644 --- a/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch +++ b/Spigot-Server-Patches/0254-Add-method-to-open-already-placed-sign.patch @@ -1,14 +1,14 @@ -From 1d5afa94e8d93c45c29bbab7ce04a054fdc1a2ff Mon Sep 17 00:00:00 2001 +From 846943696efc9b1ccacf885d7badf1dc90addfdc Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sun, 1 Apr 2018 02:29:37 +0300 Subject: [PATCH] Add method to open already placed sign diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 9e2fc4947c..4b9ecb4a62 100644 +index e06ac23852..6f1659b221 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -508,4 +508,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -517,4 +517,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { entity.remove(); } } diff --git a/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch index 5eb5f197a7..86d8eb5dd3 100644 --- a/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0261-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 08b71aa513ffb287734f6a8222dadbc7fc4d37b0 Mon Sep 17 00:00:00 2001 +From cdf38ff5f4faa5cb5d280968ba11078321ea8c54 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 @@ -37,10 +37,10 @@ index 5d5f6f6328..d506503e93 100644 if (this.a(entityplayer, false, d0, d1, d2, packetplayoutworldparticles)) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7004f11764..1afb480f86 100644 +index b3756074b5..62638d4e25 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1576,13 +1576,17 @@ public class CraftWorld implements World { +@@ -1572,13 +1572,17 @@ public class CraftWorld implements World { spawnParticle(particle, location.getX(), location.getY(), location.getZ(), count, offsetX, offsetY, offsetZ, extra, data); } diff --git a/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch index fc29ed1cb9..d8e6902306 100644 --- a/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0265-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 986bbb97de3f713746ad2dbfb019241f14a787f8 Mon Sep 17 00:00:00 2001 +From a05cc2ae56fad0c73d3bd41977a09ef3ec6c4d1f 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 1afb480f86..f7eaecb3fe 100644 +index 62638d4e25..affbb93bfd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -936,6 +936,10 @@ public class CraftWorld implements World { +@@ -932,6 +932,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/0281-Expand-Explosions-API.patch b/Spigot-Server-Patches/0281-Expand-Explosions-API.patch index 41ff2ea20b..072de8c39c 100644 --- a/Spigot-Server-Patches/0281-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0281-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From b676c9fc36769db1c201f65a7a7226227347f4e9 Mon Sep 17 00:00:00 2001 +From 067f19f3dc53dc4a36ac8914fe3a868f3baf5542 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 f7eaecb3fe..e8290759bb 100644 +index affbb93bfd..23f0d5cb7d 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 { +@@ -544,6 +544,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/0287-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch index a985e75b09..ffcab3a02e 100644 --- a/Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0287-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From 454babc0dd55c39343955aaad2b704df8d31d91a Mon Sep 17 00:00:00 2001 +From d5f1f0035b77ba250cb2f94108088f729b0ba670 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 e8290759bb..0f4a894ebb 100644 +index 23f0d5cb7d..54a605f9b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -756,6 +756,14 @@ public class CraftWorld implements World { +@@ -752,6 +752,14 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch index 91283be587..f2581c3180 100644 --- a/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0288-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From 0afba65cf3655e8488aed1e76126c9ac4fe87b90 Mon Sep 17 00:00:00 2001 +From 1aad30bce0b3ac8af14c4d614abcf473189ef3ee Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -136,10 +136,10 @@ index 45e42e9989..7a2b219c67 100644 PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); cserver.getPluginManager().callEvent(playerQuitEvent); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 4b9ecb4a62..b602a5d1b9 100644 +index 6f1659b221..26b30a1503 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -402,8 +402,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -411,8 +411,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { } public void closeInventory() { diff --git a/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch b/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch index 194f1e38ab..514275e577 100644 --- a/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch +++ b/Spigot-Server-Patches/0308-Thread-Safe-Iteration-of-Chunk-Scheduler.patch @@ -1,11 +1,11 @@ -From fc2eced1f0c62db6c0eea3efac000fd94ad623a6 Mon Sep 17 00:00:00 2001 +From a3712df43902f6a1a841759c5c8e32c9187e9a99 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 19:13:06 -0400 Subject: [PATCH] Thread Safe Iteration of Chunk Scheduler diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 7b30687530..45f9ad3726 100644 +index 7629e0d054..5ee8bedf34 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -1,8 +1,10 @@ @@ -19,7 +19,7 @@ index 7b30687530..45f9ad3726 100644 import java.util.EnumMap; import java.util.Map; import java.util.function.Consumer; -@@ -79,7 +81,13 @@ public class ChunkTaskScheduler extends Scheduler Date: Wed, 25 Jul 2018 21:49:43 -0500 Subject: [PATCH 60/70] Remove deprecated AuthLib API from Paper-API Use the PlayerProfile API as a replacement --- .../0057-Profile-Lookup-Events.patch | 106 +++++------------- .../0062-ProfileWhitelistVerifyEvent.patch | 16 +-- ...low-plugins-to-use-SLF4J-for-logging.patch | 6 +- ...to-control-if-armour-stands-can-move.patch | 10 +- 4 files changed, 40 insertions(+), 98 deletions(-) diff --git a/Spigot-API-Patches/0057-Profile-Lookup-Events.patch b/Spigot-API-Patches/0057-Profile-Lookup-Events.patch index 503fd02c5d..941cad9c74 100644 --- a/Spigot-API-Patches/0057-Profile-Lookup-Events.patch +++ b/Spigot-API-Patches/0057-Profile-Lookup-Events.patch @@ -1,4 +1,4 @@ -From 960d92e62001a815ee391c27085ed77ac367020f Mon Sep 17 00:00:00 2001 +From f3b8cae8d19b09d483ade52dd74ee6130ef912e1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 16:30:44 -0400 Subject: [PATCH] Profile Lookup Events @@ -6,34 +6,15 @@ Subject: [PATCH] Profile Lookup Events Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in profile data, and cache the responses from profiles that had to be looked up. -diff --git a/pom.xml b/pom.xml -index a58d4424..bfe580f1 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -61,6 +61,13 @@ - - provided - -+ -+ -+ com.mojang -+ authlib -+ 1.5.25 -+ compile -+ - - co.aikar - fastutil-lite diff --git a/src/main/java/com/destroystokyo/paper/event/profile/LookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/LookupProfileEvent.java new file mode 100644 -index 00000000..3b6995a7 +index 00000000..160c98fe --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/profile/LookupProfileEvent.java -@@ -0,0 +1,55 @@ +@@ -0,0 +1,44 @@ +package com.destroystokyo.paper.event.profile; + +import com.destroystokyo.paper.profile.PlayerProfile; -+import com.mojang.authlib.GameProfile; +import org.bukkit.Bukkit; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; @@ -60,16 +41,6 @@ index 00000000..3b6995a7 + + /** + * @return The profile that was recently looked up. This profile can be mutated -+ * @deprecated will be removed with 1.13, use {@link #getPlayerProfile()} -+ */ -+ @Deprecated -+ @Nonnull -+ public GameProfile getProfile() { -+ return profile.getGameProfile(); -+ } -+ -+ /** -+ * @return The profile that was recently looked up. This profile can be mutated + */ + @Nonnull + public PlayerProfile getPlayerProfile() { @@ -87,17 +58,15 @@ index 00000000..3b6995a7 +} diff --git a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java new file mode 100644 -index 00000000..aa0666d5 +index 00000000..e5a5986a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java -@@ -0,0 +1,149 @@ +@@ -0,0 +1,105 @@ +package com.destroystokyo.paper.event.profile; + +import com.destroystokyo.paper.profile.PlayerProfile; +import com.destroystokyo.paper.profile.ProfileProperty; +import com.google.common.collect.ArrayListMultimap; -+import com.google.common.collect.Multimap; -+import com.mojang.authlib.properties.Property; +import org.bukkit.Bukkit; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; @@ -162,48 +131,6 @@ index 00000000..aa0666d5 + } + + /** -+ * Get the properties for this profile -+ * -+ * @return the property map to attach to the new {@link PlayerProfile} -+ * @deprecated will be removed with 1.13 Use {@link #getProfileProperties()} -+ */ -+ @Deprecated -+ @Nonnull -+ public Multimap getProperties() { -+ Multimap props = ArrayListMultimap.create(); -+ -+ for (ProfileProperty property : properties) { -+ props.put(property.getName(), new Property(property.getName(), property.getValue(), property.getSignature())); -+ } -+ return props; -+ } -+ -+ /** -+ * Completely replaces all Properties with the new provided properties -+ * @param properties the properties to set on the new profile -+ * @deprecated will be removed with 1.13 Use {@link #setProfileProperties(Set)} -+ */ -+ @Deprecated -+ public void setProperties(Multimap properties) { -+ this.properties = new HashSet<>(); -+ properties.values().forEach(property -> { -+ this.properties.add(new ProfileProperty(property.getName(), property.getValue(), property.getSignature())); -+ }); -+ } -+ -+ /** -+ * Adds additional properties, without removing the original properties -+ * @param properties the properties to add to the existing properties -+ * @deprecated will be removed with 1.13 use {@link #addProfileProperties(Set)} -+ */ -+ @Deprecated -+ public void addProperties(Multimap properties) { -+ properties.values().forEach(property -> { -+ this.properties.add(new ProfileProperty(property.getName(), property.getValue(), property.getSignature())); -+ }); -+ } -+ -+ /** + * @return The currently pending prepopulated properties. + * Any property in this Set will be automatically prefilled on this Profile + */ @@ -240,6 +167,29 @@ index 00000000..aa0666d5 + } + +} +diff --git a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java +index e060c38a..1a69e5f7 100644 +--- a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java ++++ b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java +@@ -1,7 +1,5 @@ + package com.destroystokyo.paper.profile; + +-import com.mojang.authlib.GameProfile; +- + import javax.annotation.Nonnull; + import javax.annotation.Nullable; + import java.util.Collection; +@@ -140,10 +138,4 @@ public interface PlayerProfile { + default boolean hasTextures() { + return hasProperty("textures"); + } +- +- /** +- * @deprecated Will be removed in 1.13 +- */ +- @Deprecated +- GameProfile getGameProfile(); + } -- 2.18.0 diff --git a/Spigot-API-Patches/0062-ProfileWhitelistVerifyEvent.patch b/Spigot-API-Patches/0062-ProfileWhitelistVerifyEvent.patch index 07f2172257..dbd7ed398b 100644 --- a/Spigot-API-Patches/0062-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-API-Patches/0062-ProfileWhitelistVerifyEvent.patch @@ -1,4 +1,4 @@ -From 71beda67b3983f467674f9b2b65a54e9199fda7a Mon Sep 17 00:00:00 2001 +From a2f75206786a9be627fbdb0c6e1597b6a38db782 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 3 Jul 2017 18:11:34 -0500 Subject: [PATCH] ProfileWhitelistVerifyEvent @@ -9,10 +9,10 @@ Allows you to do dynamic whitelisting and change of kick message diff --git a/src/main/java/com/destroystokyo/paper/event/profile/ProfileWhitelistVerifyEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/ProfileWhitelistVerifyEvent.java new file mode 100644 -index 00000000..662e79e3 +index 00000000..a11f811e --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/profile/ProfileWhitelistVerifyEvent.java -@@ -0,0 +1,120 @@ +@@ -0,0 +1,110 @@ +/* + * Copyright (c) 2017 - Daniel Ennis (Aikar) - MIT License + * @@ -39,7 +39,6 @@ index 00000000..662e79e3 +package com.destroystokyo.paper.event.profile; + +import com.destroystokyo.paper.profile.PlayerProfile; -+import com.mojang.authlib.GameProfile; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + @@ -81,15 +80,6 @@ index 00000000..662e79e3 + } + + /** -+ * The gameprofile of the player trying to connect -+ * @deprecated Will be removed in 1.13, use #{@link #getPlayerProfile()} -+ */ -+ @Deprecated -+ public GameProfile getProfile() { -+ return profile.getGameProfile(); -+ } -+ -+ /** + * @return The profile of the player trying to connect + */ + public PlayerProfile getPlayerProfile() { diff --git a/Spigot-API-Patches/0066-Allow-plugins-to-use-SLF4J-for-logging.patch b/Spigot-API-Patches/0066-Allow-plugins-to-use-SLF4J-for-logging.patch index 6acef6979d..d7dfbd1603 100644 --- a/Spigot-API-Patches/0066-Allow-plugins-to-use-SLF4J-for-logging.patch +++ b/Spigot-API-Patches/0066-Allow-plugins-to-use-SLF4J-for-logging.patch @@ -1,4 +1,4 @@ -From 8e55e6baef53dcb9a217b5e3f0169b57a5835bac Mon Sep 17 00:00:00 2001 +From 1a487d66a8be68e6b9f90eec7cc97a56c465fb32 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:33:12 +0200 Subject: [PATCH] Allow plugins to use SLF4J for logging @@ -14,10 +14,10 @@ it without having to shade it in the plugin and going through several layers of logging abstraction. diff --git a/pom.xml b/pom.xml -index bfe580f1..5167f5b9 100644 +index a58d4424..a771e156 100644 --- a/pom.xml +++ b/pom.xml -@@ -121,6 +121,14 @@ +@@ -114,6 +114,14 @@ compile diff --git a/Spigot-Server-Patches/0161-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0161-Add-API-methods-to-control-if-armour-stands-can-move.patch index 0371f57d7e..98ab58e122 100644 --- a/Spigot-Server-Patches/0161-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0161-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From 733a688296bb6dd124969295ffb9238c561d6405 Mon Sep 17 00:00:00 2001 +From 9552638e5117ea211b9a4d0f6104982070a79281 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index cf11a2225b..578d966401 100644 +index cf11a2225..578d96640 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -44,6 +44,7 @@ public class EntityArmorStand extends EntityLiving { @@ -31,14 +31,15 @@ index cf11a2225b..578d966401 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 2b66a08ade..8a06cb1656 100644 +index 2b66a08ad..124c3185b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -@@ -211,4 +211,14 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { +@@ -211,4 +211,16 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { public void setMarker(boolean marker) { getHandle().setMarker(marker); } + ++ // Paper start + @Override + public boolean canMove() { + return getHandle().canMove; @@ -48,6 +49,7 @@ index 2b66a08ade..8a06cb1656 100644 + public void setCanMove(boolean move) { + getHandle().canMove = move; + } ++ // Paper end } -- 2.18.0 From 64e27b40d9dab3703873bb9e2c54d3420d50ea2e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 25 Jul 2018 21:55:25 -0500 Subject: [PATCH 61/70] Move part of last change into proper file --- .../0055-Basic-PlayerProfile-API.patch | 14 +++-------- .../0057-Profile-Lookup-Events.patch | 25 +------------------ 2 files changed, 4 insertions(+), 35 deletions(-) diff --git a/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch b/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch index 09e9321eab..63db9190d8 100644 --- a/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch +++ b/Spigot-API-Patches/0055-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 97a6a2c62004126fa289c26630892ada77e67845 Mon Sep 17 00:00:00 2001 +From bdcaf28a89037f365f2f9020eae7a11d8fe5080e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 21:46:46 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -7,14 +7,12 @@ Provides basic elements of a PlayerProfile to be used by future API/events diff --git a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java new file mode 100644 -index 00000000..e060c38a +index 00000000..1a69e5f7 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java -@@ -0,0 +1,149 @@ +@@ -0,0 +1,141 @@ +package com.destroystokyo.paper.profile; + -+import com.mojang.authlib.GameProfile; -+ +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.Collection; @@ -153,12 +151,6 @@ index 00000000..e060c38a + default boolean hasTextures() { + return hasProperty("textures"); + } -+ -+ /** -+ * @deprecated Will be removed in 1.13 -+ */ -+ @Deprecated -+ GameProfile getGameProfile(); +} diff --git a/src/main/java/com/destroystokyo/paper/profile/ProfileProperty.java b/src/main/java/com/destroystokyo/paper/profile/ProfileProperty.java new file mode 100644 diff --git a/Spigot-API-Patches/0057-Profile-Lookup-Events.patch b/Spigot-API-Patches/0057-Profile-Lookup-Events.patch index 941cad9c74..84ba731ff6 100644 --- a/Spigot-API-Patches/0057-Profile-Lookup-Events.patch +++ b/Spigot-API-Patches/0057-Profile-Lookup-Events.patch @@ -1,4 +1,4 @@ -From f3b8cae8d19b09d483ade52dd74ee6130ef912e1 Mon Sep 17 00:00:00 2001 +From 97ffcb9256d9f121a14c42cfc8142f250bafac71 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 16:30:44 -0400 Subject: [PATCH] Profile Lookup Events @@ -167,29 +167,6 @@ index 00000000..e5a5986a + } + +} -diff --git a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java -index e060c38a..1a69e5f7 100644 ---- a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java -+++ b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java -@@ -1,7 +1,5 @@ - package com.destroystokyo.paper.profile; - --import com.mojang.authlib.GameProfile; -- - import javax.annotation.Nonnull; - import javax.annotation.Nullable; - import java.util.Collection; -@@ -140,10 +138,4 @@ public interface PlayerProfile { - default boolean hasTextures() { - return hasProperty("textures"); - } -- -- /** -- * @deprecated Will be removed in 1.13 -- */ -- @Deprecated -- GameProfile getGameProfile(); - } -- 2.18.0 From 42f6bebcc37faed99b24537adf1477e9df013a6a Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 26 Jul 2018 00:51:20 -0400 Subject: [PATCH 62/70] Prevent Saving Bad entities to chunks See https://github.com/PaperMC/Paper/issues/1223 Should fix Vanilla bugs Minecraft is saving invalid entities to the chunk files. Avoid saving bad data, and also make improvements to handle loading these chunks. Any invalid entity will be instant killed, so lets avoid adding it to the world... This lets us be safer about the dupe UUID resolver too, as now we can ignore instant killed entities and avoid risk of duplicating an invalid entity. This should reduce log occurrences of dupe uuid messages. Also reduce the logging spam overall. --- ...ies-option-to-debug-dupe-uuid-issues.patch | 25 +---- ...revent-Saving-Bad-entities-to-chunks.patch | 105 ++++++++++++++++++ 2 files changed, 108 insertions(+), 22 deletions(-) create mode 100644 Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch diff --git a/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 701004cc84..bb006b6e70 100644 --- a/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0336-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,31 +1,12 @@ -From 46caf77f4a0b159f721e681f44228a02b3cfeee2 Mon Sep 17 00:00:00 2001 +From fd5af731abdbb7f69e1faa16cd763c44018f643c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information -diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index bcce5e8b7..f5b9aa561 100644 ---- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java -+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -351,6 +351,14 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { - - while (iterator.hasNext()) { - Entity entity = (Entity) iterator.next(); -+ // Paper start -+ if (entity.getChunkX() != chunk.locX || entity.getChunkZ() != chunk.locZ) { -+ LogManager.getLogger().error(entity + " is not actually in this chunk! Report this to https://github.com/PaperMC/Paper/issues/1223", new Throwable()); -+ } -+ if ((int)Math.floor(entity.locX) >> 4 != chunk.locX || (int)Math.floor(entity.locZ) >> 4 != chunk.locZ) { -+ LogManager.getLogger().error(entity + " will be leaving this chunk but saved to it. Report this to https://github.com/PaperMC/Paper/issues/1223", new Throwable()); -+ } -+ // Paper end - - nbttagcompound1 = new NBTTagCompound(); - if (entity.d(nbttagcompound1)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 99dac412f..0d3af8cb7 100644 +index 99dac412f0..0d3af8cb77 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -73,6 +73,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -37,7 +18,7 @@ index 99dac412f..0d3af8cb7 100644 private static final Logger a = LogManager.getLogger(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index b16324e1a..994d4bbb8 100644 +index b16324e1a2..994d4bbb84 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -7,6 +7,7 @@ import com.google.common.util.concurrent.ListenableFuture; diff --git a/Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch new file mode 100644 index 0000000000..b4ab7259b6 --- /dev/null +++ b/Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch @@ -0,0 +1,105 @@ +From 192eaaeea08d9440107cf701c7d769341386855f Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Thu, 26 Jul 2018 00:11:12 -0400 +Subject: [PATCH] Prevent Saving Bad entities to chunks + +See https://github.com/PaperMC/Paper/issues/1223 + +Minecraft is saving invalid entities to the chunk files. + +Avoid saving bad data, and also make improvements to handle +loading these chunks. Any invalid entity will be instant killed, +so lets avoid adding it to the world... + +This lets us be safer about the dupe UUID resolver too, as now +we can ignore instant killed entities and avoid risk of duplicating +an invalid entity. + +This should reduce log occurrences of dupe uuid messages. + +diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java +index be0b411e5c..e5a5217429 100644 +--- a/src/main/java/net/minecraft/server/Chunk.java ++++ b/src/main/java/net/minecraft/server/Chunk.java +@@ -897,11 +897,12 @@ public class Chunk { + Map thisChunk = new HashMap<>(); + for (Iterator iterator = ((List) entityslice).iterator(); iterator.hasNext(); ) { + Entity entity = iterator.next(); ++ if (entity.dead) continue; + Entity other = ((WorldServer) world).entitiesByUUID.get(entity.uniqueID); + if (other == null) { + other = thisChunk.get(entity.uniqueID); + } +- if (other != null) { ++ if (other != null && !other.dead) { + switch (mode) { + case REGEN: { + entity.setUUID(UUID.randomUUID()); +diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +index bcce5e8b7e..bad287fca4 100644 +--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java ++++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +@@ -346,11 +346,22 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { + + Iterator iterator; + ++ List toUpdate = new java.util.ArrayList<>(); // Paper + for (i = 0; i < chunk.getEntitySlices().length; ++i) { + iterator = chunk.getEntitySlices()[i].iterator(); + + while (iterator.hasNext()) { + Entity entity = (Entity) iterator.next(); ++ // Paper start ++ if ((int)Math.floor(entity.locX) >> 4 != chunk.locX || (int)Math.floor(entity.locZ) >> 4 != chunk.locZ) { ++ LogManager.getLogger().warn(entity + " is not in this chunk, skipping save. This a bug fix to a vanilla bug. Do not report this to PaperMC please."); ++ toUpdate.add(entity); ++ continue; ++ } ++ if (entity.dead) { ++ continue; ++ } ++ // Paper end + + nbttagcompound1 = new NBTTagCompound(); + if (entity.d(nbttagcompound1)) { +@@ -359,6 +370,11 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { + } + } + } ++ // Paper start - move entities to the correct chunk ++ for (Entity entity : toUpdate) { ++ world.entityJoinedWorld(entity, false); ++ } ++ // Paper end + + nbttagcompound.set("Entities", nbttaglist1); + NBTTagList nbttaglist2 = new NBTTagList(); +diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java +index 52adee8806..c2b92ad3a5 100644 +--- a/src/main/java/net/minecraft/server/World.java ++++ b/src/main/java/net/minecraft/server/World.java +@@ -1202,7 +1202,7 @@ public abstract class World implements IBlockAccess { + } + + this.getChunkAt(i, j).a(entity); +- this.entityList.add(entity); ++ if (!entity.dead) this.entityList.add(entity); // Paper - don't add dead entities, chunk registration may of killed it + this.b(entity); + return true; + } +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index 1244baf45a..1763d9f94d 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -1173,7 +1173,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { + if (this.entitiesByUUID.containsKey(uuid)) { + Entity entity1 = (Entity) this.entitiesByUUID.get(uuid); + +- if (this.f.contains(entity1)) { ++ if (this.f.contains(entity1) || entity1.dead) { // Paper - overwrite the current dead one + this.f.remove(entity1); + } else { + if (!(entity instanceof EntityHuman)) { +-- +2.18.0 + From 4d3db05d2c67bfd4440df3cd7081f3ef6aa71421 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 26 Jul 2018 01:28:53 -0400 Subject: [PATCH 63/70] [CI-SKIP] Patch of progress on async chunkload, delay until 1.13.1 Do not even try to use this. It's seriously not ready. 1.13.1 changes a lot of stuff here, so i'm going to wait until that to resume this work. --- removed/server/0001-Async-Chunk-Load.patch | 564 +++++++++++++++++++++ 1 file changed, 564 insertions(+) create mode 100644 removed/server/0001-Async-Chunk-Load.patch diff --git a/removed/server/0001-Async-Chunk-Load.patch b/removed/server/0001-Async-Chunk-Load.patch new file mode 100644 index 0000000000..80bfcf68f1 --- /dev/null +++ b/removed/server/0001-Async-Chunk-Load.patch @@ -0,0 +1,564 @@ +From c47e8c9505057b7a6f429a5c36065be1c783cfda Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Thu, 26 Jul 2018 01:28:00 -0400 +Subject: [PATCH] Async Chunk Load + +Current unfinished, not working progress +--- + .../minecraft/server/ChunkProviderServer.java | 118 +++++++++++++++--- + .../minecraft/server/ChunkRegionLoader.java | 14 ++- + .../java/net/minecraft/server/MCUtil.java | 35 ++++-- + .../net/minecraft/server/MinecraftServer.java | 1 + + .../net/minecraft/server/PlayerChunk.java | 14 ++- + .../org/bukkit/craftbukkit/CraftWorld.java | 10 +- + .../craftbukkit/chunkio/ChunkIOProvider.java | 42 +++++-- + .../craftbukkit/chunkio/QueuedChunk.java | 8 ++ + .../util/AsynchronousExecutor.java | 6 +- + 9 files changed, 191 insertions(+), 57 deletions(-) + +diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java +index 0e0c7b1abe..e72f43e2c8 100644 +--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java ++++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java +@@ -108,13 +108,33 @@ public class ChunkProviderServer implements IChunkProvider { + + @Nullable + public Chunk getOrLoadChunkAt(int i, int j) { +- Long2ObjectMap long2objectmap = this.chunks; +- +- synchronized (this.chunks) { +- Chunk chunk = world.paperConfig.allowPermaChunkLoaders ? getLoadedChunkAt(i, j) : getChunkIfLoaded(i, j); // Paper - Configurable perma chunk loaders ++ // Paper start ++ return getOrLoadChunkAt(i, j, null); ++ } ++ public Chunk getOrLoadChunkAt(int i, int j, Runnable runnable) { ++ // Paper - remove synchronized ++ Chunk chunk = world.paperConfig.allowPermaChunkLoaders ? getLoadedChunkAt(i, j) : getChunkIfLoaded(i, j); // Paper - Configurable perma chunk loaders ++ if (!this.chunkLoader.chunkExists(i, j)) { ++ return null; ++ } ++ long key = ChunkCoordIntPair.asLong(i, j); ++ synchronized (pendingGenerates) { ++ if (pendingGenerates.containsKey(key)) { ++ return null; // let getChunkAt handle it ++ } ++ } + +- return chunk != null ? chunk : this.loadChunkAt(i, j); ++ if (chunk == null && runnable != null) { ++ ChunkIOExecutor.queueChunkLoad(world, (ChunkRegionLoader) this.chunkLoader, this, i, j, runnable); ++ return null; ++ } ++ if (chunk == null) { ++ chunk = ChunkIOExecutor.syncChunkLoad(world, (ChunkRegionLoader) chunkLoader, this, i, j); + } ++ if (chunk != null && runnable != null) { ++ runnable.run(); ++ } ++ return chunk; + } + + // CraftBukkit start +@@ -123,20 +143,74 @@ public class ChunkProviderServer implements IChunkProvider { + } + // CraftBukkit end + ++ // Paper sart ++ private final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap> pendingGenerates = new it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<>(); ++ public CompletableFuture generateChunk(int i, int j) { // Incase something else calls this ++ return generateChunk(i, j, null); ++ } ++ ++ private CompletableFuture postChunkgenMain(ProtoChunk proto) { ++ CompletableFuture pending = new CompletableFuture<>(); ++ MCUtil.ensureChunkMain(() -> { ++ try { ++ pending.complete(this.finishChunkgen(proto)); ++ } catch (Exception e) { ++ pending.completeExceptionally(e); ++ } ++ }); ++ return pending; ++ } ++ public CompletableFuture generateChunk(int i, int j, Consumer consumer) { ++ long key = ChunkCoordIntPair.asLong(i, j); ++ CompletableFuture pending; ++ boolean generate = false; ++ synchronized (pendingGenerates) { ++ pending = pendingGenerates.get(key); ++ if (pending == null) { ++ pending = new CompletableFuture<>(); ++ pendingGenerates.put(key, pending); ++ generate = true; ++ } ++ } ++ if (generate) { ++ this.generateChunk0(i, j).thenApply(chunk -> { ++ synchronized (pendingGenerates) { ++ pendingGenerates.remove(key); ++ } ++ return chunk; ++ }).thenAccept(pending::complete); ++ } ++ ++ if (consumer != null) { ++ pending.thenAccept(chunk -> MCUtil.ensureMain(() -> consumer.accept(chunk))); ++ } ++ return pending; ++ } ++ + public Chunk getChunkAt(int i, int j) { +- Chunk chunk = this.getOrLoadChunkAt(i, j); ++ return getChunkAt(i, j, null, true); ++ } ++ public Chunk getChunkAt(int i, int j, Runnable runnable) { ++ return getChunkAt(i, j, runnable, true); ++ } ++ public Chunk getChunkAt(int i, int j, Runnable runnable, boolean generate) { ++ // Paper end ++ //calling into self and blocking? ++ Chunk chunk = this.getOrLoadChunkAt(i, j, runnable); + + if (chunk != null) { + return chunk; +- } else { ++ } else if (generate) { + try (co.aikar.timings.Timing timing = world.timings.chunkGeneration.startTiming()) { +- ; // Spigot +- chunk = (Chunk) this.generateChunk(i, j).get(); +- return chunk; +- } catch (ExecutionException | InterruptedException interruptedexception) { ++ // Paper start ++ CompletableFuture pending = generateChunk(i, j, runnable != null ? unused -> runnable.run() : null); ++ return runnable != null ? null : MCUtil.processChunkQueueWhileWaiting(pending); ++ } catch (Exception interruptedexception) { ++ // Paper end + throw this.a(i, j, (Throwable) interruptedexception); + } + } ++ return null; // Paper + } + + public IChunkAccess d(int i, int j) { +@@ -160,7 +234,7 @@ public class ChunkProviderServer implements IChunkProvider { + if (chunk != null) { + consumer.accept(chunk); + } else { +- this.g.a(chunkcoordintpair).thenApply(this::a).thenAccept(consumer); ++ this.g.a(chunkcoordintpair).thenApply(proto -> postChunkgenMain(proto).thenAccept(consumer)); // Paper + } + } + +@@ -168,11 +242,13 @@ public class ChunkProviderServer implements IChunkProvider { + } + + // CraftBukkit start +- public CompletableFuture generateChunk(int i, int j) { +- return this.generateChunk(i, j, false); ++ // Paper start - change name, make private ++ private CompletableFuture generateChunk0(int i, int j) { ++ return this.generateChunk0(i, j, false); + } + +- public CompletableFuture generateChunk(int i, int j, boolean force) { ++ private CompletableFuture generateChunk0(int i, int j, boolean force) { ++ // Paper end + this.g.b(); + + ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j); +@@ -183,7 +259,11 @@ public class ChunkProviderServer implements IChunkProvider { + // CraftBukkit end + CompletableFuture completablefuture = this.g.c(); // CraftBukkit - decompile error + +- return completablefuture.thenApply(this::a); ++ // Paper start ++ CompletableFuture pending = new CompletableFuture<>(); ++ completablefuture.thenApply(proto -> postChunkgenMain(proto).thenAccept(pending::complete)); ++ return pending; ++ // Paper end + } + + private ReportedException a(int i, int j, Throwable throwable) { +@@ -196,7 +276,7 @@ public class ChunkProviderServer implements IChunkProvider { + return new ReportedException(crashreport); + } + +- private Chunk a(IChunkAccess ichunkaccess) { ++ private Chunk finishChunkgen(IChunkAccess ichunkaccess) { // Paper - rename method - Anything that accesses this should ensure it goes through process to ensure it is on main thread + ChunkCoordIntPair chunkcoordintpair = ichunkaccess.getPos(); + int i = chunkcoordintpair.x; + int j = chunkcoordintpair.z; +@@ -204,7 +284,7 @@ public class ChunkProviderServer implements IChunkProvider { + Long2ObjectMap long2objectmap = this.chunks; + Chunk chunk; + +- synchronized (this.chunks) { ++ //synchronized (this.chunks) { // Paper + Chunk chunk1 = (Chunk) this.chunks.get(k); + + if (chunk1 != null) { +@@ -222,7 +302,7 @@ public class ChunkProviderServer implements IChunkProvider { + } + + this.chunks.put(k, chunk); +- } ++ //} // Paper + + chunk.addEntities(); + return chunk; +diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +index bd52bf6561..e4447ecf58 100644 +--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java ++++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +@@ -62,8 +62,14 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { + } + + @Nullable +- private synchronized NBTTagCompound a(GeneratorAccess generatoraccess, int i, int j) throws IOException { +- NBTTagCompound nbttagcompound = SupplierUtils.getIfExists(this.b.get(new ChunkCoordIntPair(i, j))); // Spigot ++ // Paper start - remove synchronized, manually sync on the map ++ private NBTTagCompound a(GeneratorAccess generatoraccess, int i, int j) throws IOException { ++ Supplier supplier; ++ synchronized (this) { ++ supplier = this.b.get(new ChunkCoordIntPair(i, j)); ++ } ++ NBTTagCompound nbttagcompound = SupplierUtils.getIfExists(supplier); // Spigot ++ // Paper end + + return nbttagcompound != null ? nbttagcompound : this.a(generatoraccess.o().getDimensionManager(), generatoraccess.s_(), i, j, generatoraccess); // CraftBukkit + } +@@ -71,7 +77,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { + // CraftBukkit start + private boolean check(ChunkProviderServer cps, int x, int z) throws IOException { + if (cps != null) { +- com.google.common.base.Preconditions.checkState(org.bukkit.Bukkit.isPrimaryThread(), "primary thread"); ++ //com.google.common.base.Preconditions.checkState(org.bukkit.Bukkit.isPrimaryThread(), "primary thread"); // Paper + if (cps.isLoaded(x, z)) { + return true; + } +@@ -162,7 +168,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { + return null; + } + +- public synchronized Object[] loadChunk(GeneratorAccess generatoraccess, int i, int j, Consumer consumer) throws IOException { ++ public Object[] loadChunk(GeneratorAccess generatoraccess, int i, int j, Consumer consumer) throws IOException { // Paper - remove synchronize + // CraftBukkit end + NBTTagCompound nbttagcompound = this.a(generatoraccess, i, j); + +diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java +index 80927de08b..d936709b47 100644 +--- a/src/main/java/net/minecraft/server/MCUtil.java ++++ b/src/main/java/net/minecraft/server/MCUtil.java +@@ -7,6 +7,7 @@ import com.mojang.authlib.GameProfile; + import org.apache.commons.lang.exception.ExceptionUtils; + import org.bukkit.Location; + import org.bukkit.craftbukkit.CraftWorld; ++import org.bukkit.craftbukkit.chunkio.ChunkIOExecutor; + import org.bukkit.craftbukkit.util.Waitable; + import org.spigotmc.AsyncCatcher; + +@@ -14,13 +15,13 @@ import javax.annotation.Nonnull; + import javax.annotation.Nullable; + import java.util.Queue; + import java.util.concurrent.CompletableFuture; ++import java.util.concurrent.ConcurrentLinkedQueue; + import java.util.concurrent.ExecutionException; + import java.util.concurrent.Executor; + import java.util.concurrent.Executors; + import java.util.concurrent.TimeUnit; + import java.util.concurrent.TimeoutException; + import java.util.function.Supplier; +-import java.util.regex.Pattern; + + public final class MCUtil { + private static final Executor asyncExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Paper Async Task Handler Thread - %1$d").build()); +@@ -76,10 +77,14 @@ public final class MCUtil { + MinecraftServer.getServer().postToMainThread(new DelayedRunnable(ticks, runnable)); + } + +- public static void processQueue() { ++ ++ private static final Queue chunkMainQueue = new ConcurrentLinkedQueue<>(); ++ public static void processChunkMainQueue() { ++ if (!isMainThread()) { ++ return; ++ } + Runnable runnable; +- Queue processQueue = getProcessQueue(); +- while ((runnable = processQueue.poll()) != null) { ++ while ((runnable = chunkMainQueue.poll()) != null) { + try { + runnable.run(); + } catch (Exception e) { +@@ -87,14 +92,15 @@ public final class MCUtil { + } + } + } +- public static T processQueueWhileWaiting(CompletableFuture future) { ++ public static T processChunkQueueWhileWaiting(CompletableFuture future) { + try { + if (isMainThread()) { + while (!future.isDone()) { + try { +- return future.get(1, TimeUnit.MILLISECONDS); ++ return future.get(10000, TimeUnit.NANOSECONDS); + } catch (TimeoutException ignored) { +- processQueue(); ++ processChunkMainQueue(); ++ ChunkIOExecutor.tick(); + } + } + } +@@ -103,6 +109,13 @@ public final class MCUtil { + throw new RuntimeException(e); + } + } ++ public static void ensureChunkMain(Runnable run) { ++ if (AsyncCatcher.enabled && Thread.currentThread() != MinecraftServer.getServer().primaryThread) { ++ chunkMainQueue.add(run); ++ } else { ++ run.run(); ++ } ++ } + + public static void ensureMain(Runnable run) { + ensureMain(null, run); +@@ -118,16 +131,12 @@ public final class MCUtil { + if (reason != null) { + new IllegalStateException("Asynchronous " + reason + "!").printStackTrace(); + } +- getProcessQueue().add(run); ++ MinecraftServer.getServer().processQueue.add(run); + return; + } + run.run(); + } + +- private static Queue getProcessQueue() { +- return MinecraftServer.getServer().processQueue; +- } +- + public static T ensureMain(Supplier run) { + return ensureMain(null, run); + } +@@ -149,7 +158,7 @@ public final class MCUtil { + return run.get(); + } + }; +- getProcessQueue().add(wait); ++ MinecraftServer.getServer().processQueue.add(wait); + try { + return wait.get(); + } catch (InterruptedException | ExecutionException e) { +diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java +index 90b1871196..390ecb4093 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -996,6 +996,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati + // CraftBukkit start + // Run tasks that are waiting on processing + MinecraftTimings.processQueueTimer.startTiming(); // Spigot ++ MCUtil.processChunkMainQueue(); // Paper + while (!processQueue.isEmpty()) { + processQueue.remove().run(); + } +diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java +index fcd9f5491f..4c67e7d0cf 100644 +--- a/src/main/java/net/minecraft/server/PlayerChunk.java ++++ b/src/main/java/net/minecraft/server/PlayerChunk.java +@@ -49,7 +49,8 @@ public class PlayerChunk { + public PlayerChunk(PlayerChunkMap playerchunkmap, int i, int j) { + this.playerChunkMap = playerchunkmap; + this.location = new ChunkCoordIntPair(i, j); +- this.chunk = playerchunkmap.getWorld().getChunkProviderServer().getOrLoadChunkAt(i, j); ++ loadInProgress = true; // Paper ++ this.chunk = playerchunkmap.getWorld().getChunkProviderServer().getOrLoadChunkAt(i, j, loadedRunnable); // Paper + this.chunkExists = this.chunk != null || ChunkIOExecutor.hasQueuedChunkLoad(playerChunkMap.getWorld(), i, j); // Paper + markChunkUsed(); // Paper - delay chunk unloads + } +@@ -82,6 +83,7 @@ public class PlayerChunk { + + this.c.remove(entityplayer); + if (this.c.isEmpty()) { ++ if (!this.done) ChunkIOExecutor.dropQueuedChunkLoad(this.playerChunkMap.getWorld(), this.location.x, this.location.z, this.loadedRunnable); // Paper + this.playerChunkMap.b(this); + } + +@@ -92,12 +94,14 @@ public class PlayerChunk { + if (this.chunk != null) { + return true; + } else { +- if (flag) { +- this.chunk = this.playerChunkMap.getWorld().getChunkProviderServer().getChunkAt(this.location.x, this.location.z); +- } else { +- this.chunk = this.playerChunkMap.getWorld().getChunkProviderServer().getOrLoadChunkAt(this.location.x, this.location.z); ++ // Paper start ++ if (!loadInProgress) { ++ loadInProgress = true; ++ this.chunk = playerChunkMap.getWorld().getChunkProviderServer().getChunkAt(this.location.x, this.location.z, loadedRunnable, flag); + markChunkUsed(); // Paper - delay chunk unloads + } ++ // Paper end ++ + + return this.chunk != null; + } +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +index f4dc7e4ac6..c1324515af 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +@@ -159,13 +159,7 @@ public class CraftWorld implements World { + // Paper start - Async chunk load API + public void getChunkAtAsync(final int x, final int z, final ChunkLoadCallback callback) { + final ChunkProviderServer cps = this.world.getChunkProviderServer(); +- callback.onLoad(cps.getChunkAt(x, z).bukkitChunk); // TODO: Add back async variant +- /*cps.getChunkAt(x, z, new Runnable() { +- @Override +- public void run() { +- callback.onLoad(cps.getChunkAt(x, z).bukkitChunk); +- } +- });*/ ++ cps.getChunkAt(x, z, () -> callback.onLoad(cps.getChunkAt(x, z).bukkitChunk)); + } + + public void getChunkAtAsync(Block block, ChunkLoadCallback callback) { +@@ -266,7 +260,7 @@ public class CraftWorld implements World { + + net.minecraft.server.Chunk chunk = null; + +- chunk = Futures.getUnchecked(world.getChunkProviderServer().generateChunk(x, z, true)); ++ chunk = MCUtil.processChunkQueueWhileWaiting(world.getChunkProviderServer().generateChunk(x, z)); // Paper + PlayerChunk playerChunk = world.getPlayerChunkMap().getChunk(x, z); + if (playerChunk != null) { + playerChunk.chunk = chunk; +diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +index 2bbd5a7e2a..40b86c4334 100644 +--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java ++++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +@@ -6,11 +6,15 @@ import co.aikar.timings.Timing; + import net.minecraft.server.Chunk; + import net.minecraft.server.ChunkCoordIntPair; + import net.minecraft.server.ChunkRegionLoader; ++import net.minecraft.server.MCUtil; ++import net.minecraft.server.MinecraftServer; + import net.minecraft.server.NBTTagCompound; + + import org.bukkit.Server; + import org.bukkit.craftbukkit.util.AsynchronousExecutor; + ++import java.util.concurrent.CompletableFuture; ++import java.util.concurrent.ExecutionException; + import java.util.concurrent.atomic.AtomicInteger; + + class ChunkIOProvider implements AsynchronousExecutor.CallBackProvider { +@@ -21,13 +25,21 @@ class ChunkIOProvider implements AsynchronousExecutor.CallBackProvider {}); +- ++ + if (data != null) { + queuedChunk.compound = (NBTTagCompound) data[1]; + return (Chunk) data[0]; ++ } else { ++ // Paper start ++ CompletableFuture pending = new CompletableFuture<>(); ++ MCUtil.ensureChunkMain(() -> { ++ System.out.println("GENERATING SEMI ASYNC" + queuedChunk); ++ queuedChunk.provider.generateChunk(queuedChunk.x, queuedChunk.z).thenApply(pending::complete); ++ }); ++ MCUtil.processChunkQueueWhileWaiting(pending); ++ return null; // We still need to return null so the code below doesn't use result which is already in the world now ++ // Paper end + } +- +- return null; + } catch (IOException ex) { + throw new RuntimeException(ex); + } +@@ -35,12 +47,28 @@ class ChunkIOProvider implements AsynchronousExecutor.CallBackProvider {}); ++ if (data != null && data[0] != null) { ++ System.out.println("LOADED AFTER NULL" + queuedChunk); ++ queuedChunk.compound = (NBTTagCompound) data[1]; ++ chunk = (Chunk) data[0]; ++ } else { ++ System.out.println("GENERATING" + queuedChunk); ++ // Ok failed again, generate ++ MCUtil.processChunkQueueWhileWaiting(queuedChunk.provider.generateChunk(queuedChunk.x, queuedChunk.z, null)); ++ return; ++ } ++ } catch (IOException ex) { ++ throw new RuntimeException(ex); ++ } + } +- try (Timing ignored = queuedChunk.provider.world.timings.chunkIOStage2.startTimingIfSync()) { // Paper + + queuedChunk.loader.loadEntities(queuedChunk.compound.getCompound("Level"), chunk); + chunk.setLastSaved(queuedChunk.provider.world.getTime()); +diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/QueuedChunk.java b/src/main/java/org/bukkit/craftbukkit/chunkio/QueuedChunk.java +index 842d424f6a..c8f4db79f7 100644 +--- a/src/main/java/org/bukkit/craftbukkit/chunkio/QueuedChunk.java ++++ b/src/main/java/org/bukkit/craftbukkit/chunkio/QueuedChunk.java +@@ -35,4 +35,12 @@ class QueuedChunk { + + return false; + } ++ ++ @Override ++ public String toString() { ++ return "QueuedChunk{" + ++ "x=" + x + ++ ", z=" + z + ++ '}'; ++ } + } +diff --git a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java +index cf1258c559..b18c27060e 100644 +--- a/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java ++++ b/src/main/java/org/bukkit/craftbukkit/util/AsynchronousExecutor.java +@@ -10,8 +10,10 @@ import java.util.concurrent.LinkedBlockingQueue; + import java.util.concurrent.ThreadFactory; + import java.util.concurrent.ThreadPoolExecutor; + import java.util.concurrent.TimeUnit; ++import java.util.concurrent.TimeoutException; + import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; + ++import net.minecraft.server.MCUtil; + import org.apache.commons.lang.Validate; + + /** +@@ -129,7 +131,8 @@ public final class AsynchronousExecutor { + // We are the first into the lock + while (state != STAGE_1_COMPLETE) { + try { +- this.wait(); ++ this.wait(0, 10000); // Paper ++ MCUtil.processChunkMainQueue(); // Paper + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new RuntimeException("Unable to handle interruption on " + parameter, e); +@@ -185,6 +188,7 @@ public final class AsynchronousExecutor { + final P parameter = this.parameter; + final T object = this.object; + ++ MCUtil.processChunkMainQueue(); // We may have an async chunk gen ready to be added to main first + provider.callStage2(parameter, object); + for (C callback : callbacks) { + if (callback == this) { +-- +2.18.0 + From 88086295504c035ccbb0c2d84309fe5628aaf69e Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 26 Jul 2018 16:20:37 +0100 Subject: [PATCH 64/70] Update B/CB/S --- Spigot-Server-Patches/0004-MC-Utils.patch | 46 +++++++++---------- ...069-Handle-Item-Meta-Inconsistencies.patch | 16 +++---- ...149-Cache-user-authenticator-threads.patch | 10 ++-- .../0160-Optimize-ItemStack.isEmpty.patch | 6 +-- ...-a-custom-authentication-servers-dow.patch | 8 ++-- ...e-PlayerProfile-in-AsyncPreLoginEven.patch | 6 +-- .../0247-Player.setPlayerProfile-API.patch | 10 ++-- ...0268-ItemStack-getMaxItemUseDuration.patch | 8 ++-- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 11 files changed, 58 insertions(+), 58 deletions(-) diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 16a3fe2e8f..de20d40d30 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,11 +1,11 @@ -From ce4b2215cf8f7b774ee8066d8a8d0b07bd54d999 Mon Sep 17 00:00:00 2001 +From 92a7df9172f5671afa9c3f2baa8c7652294f6134 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index c3e990bdf..e2a7b4be2 100644 +index c3e990bdff..e2a7b4be2c 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -93,7 +93,7 @@ public class BaseBlockPosition implements Comparable { @@ -18,7 +18,7 @@ index c3e990bdf..e2a7b4be2 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 9f3aa2459..7dbea9090 100644 +index 9f3aa24590..7dbea90902 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -10,7 +10,6 @@ import org.apache.logging.log4j.Logger; @@ -54,7 +54,7 @@ index 9f3aa2459..7dbea9090 100644 return this.c(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2)); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 411ab6061..cd4fbee0c 100644 +index 411ab6061b..cd4fbee0ca 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -28,7 +28,7 @@ import com.google.common.collect.Lists; // CraftBukkit @@ -75,7 +75,7 @@ index 411ab6061..cd4fbee0c 100644 public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java -index 00a530c51..2947d9ff6 100644 +index 00a530c51c..2947d9ff6a 100644 --- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java +++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java @@ -24,6 +24,8 @@ public class ChunkCoordIntPair { @@ -88,7 +88,7 @@ index 00a530c51..2947d9ff6 100644 return (long) i & 4294967295L | ((long) j & 4294967295L) << 32; } diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index ca2a14d7a..9a513b4e3 100644 +index ca2a14d7ac..9a513b4e3a 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -131,18 +131,18 @@ index ca2a14d7a..9a513b4e3 100644 private boolean c = true; private boolean d = true; diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index f5e311f2a..cf679df7b 100644 +index 0d26fc56dd..e7b5daf28e 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -25,6 +25,7 @@ import org.bukkit.Location; - import org.bukkit.TreeType; +@@ -26,6 +26,7 @@ import org.bukkit.TreeType; import org.bukkit.block.BlockState; + import org.bukkit.craftbukkit.block.CraftBlock; import org.bukkit.craftbukkit.block.CraftBlockState; +import org.bukkit.craftbukkit.inventory.CraftItemStack; import org.bukkit.craftbukkit.util.CraftMagicNumbers; import org.bukkit.entity.Player; - import org.bukkit.event.world.StructureGrowEvent; -@@ -551,6 +552,17 @@ public final class ItemStack { + import org.bukkit.event.block.BlockFertilizeEvent; +@@ -555,6 +556,17 @@ public final class ItemStack { return this.tag != null ? this.tag.getList("Enchantments", 10) : new NBTTagList(); } @@ -161,7 +161,7 @@ index f5e311f2a..cf679df7b 100644 this.tag = nbttagcompound; } diff --git a/src/main/java/net/minecraft/server/LotoSelectorEntry.java b/src/main/java/net/minecraft/server/LotoSelectorEntry.java -index a540167d6..add618866 100644 +index a540167d6d..add618866b 100644 --- a/src/main/java/net/minecraft/server/LotoSelectorEntry.java +++ b/src/main/java/net/minecraft/server/LotoSelectorEntry.java @@ -85,11 +85,11 @@ public abstract class LotoSelectorEntry { @@ -180,7 +180,7 @@ index a540167d6..add618866 100644 } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java new file mode 100644 -index 000000000..70cdc3f10 +index 0000000000..70cdc3f102 --- /dev/null +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -0,0 +1,292 @@ @@ -477,7 +477,7 @@ index 000000000..70cdc3f10 + } +} diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java -index 8170a8428..e21e60b00 100644 +index 8170a84280..e21e60b003 100644 --- a/src/main/java/net/minecraft/server/NBTBase.java +++ b/src/main/java/net/minecraft/server/NBTBase.java @@ -20,7 +20,7 @@ public interface NBTBase { @@ -499,7 +499,7 @@ index 8170a8428..e21e60b00 100644 case 0: return "TAG_End"; diff --git a/src/main/java/net/minecraft/server/NBTList.java b/src/main/java/net/minecraft/server/NBTList.java -index 1a81d8e5f..057c2077a 100644 +index 1a81d8e5f6..057c2077a0 100644 --- a/src/main/java/net/minecraft/server/NBTList.java +++ b/src/main/java/net/minecraft/server/NBTList.java @@ -13,7 +13,7 @@ public abstract class NBTList extends AbstractList impleme @@ -525,7 +525,7 @@ index 1a81d8e5f..057c2077a 100644 + public abstract NBTList clone(); // Paper - decompile fix } diff --git a/src/main/java/net/minecraft/server/NBTTagByteArray.java b/src/main/java/net/minecraft/server/NBTTagByteArray.java -index 11ffa6c34..3ff3a2983 100644 +index 11ffa6c342..3ff3a29835 100644 --- a/src/main/java/net/minecraft/server/NBTTagByteArray.java +++ b/src/main/java/net/minecraft/server/NBTTagByteArray.java @@ -66,7 +66,8 @@ public class NBTTagByteArray extends NBTList { @@ -539,7 +539,7 @@ index 11ffa6c34..3ff3a2983 100644 System.arraycopy(this.data, 0, abyte, 0, this.data.length); diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index 7fc9b5ff3..e658816c2 100644 +index 7fc9b5ff32..e658816c24 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java @@ -24,7 +24,7 @@ public class NBTTagCompound implements NBTBase { @@ -575,7 +575,7 @@ index 7fc9b5ff3..e658816c2 100644 - } } diff --git a/src/main/java/net/minecraft/server/NBTTagIntArray.java b/src/main/java/net/minecraft/server/NBTTagIntArray.java -index f5c9b97d5..d121ad4f7 100644 +index f5c9b97d5c..d121ad4f7a 100644 --- a/src/main/java/net/minecraft/server/NBTTagIntArray.java +++ b/src/main/java/net/minecraft/server/NBTTagIntArray.java @@ -132,7 +132,7 @@ public class NBTTagIntArray extends NBTList { @@ -588,7 +588,7 @@ index f5c9b97d5..d121ad4f7 100644 } } diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index b3c944d70..a8280acf9 100644 +index b3c944d701..a8280acf94 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -14,7 +14,7 @@ import org.apache.logging.log4j.Logger; @@ -626,7 +626,7 @@ index b3c944d70..a8280acf9 100644 - } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 0618962e7..42e0630e6 100644 +index 0618962e75..42e0630e60 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -66,9 +66,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -643,7 +643,7 @@ index 0618962e7..42e0630e6 100644 private volatile int chatThrottle; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index ef332d651..7cc7eb773 100644 +index ef332d6517..7cc7eb7735 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -8,7 +8,7 @@ import java.util.Iterator; @@ -665,7 +665,7 @@ index ef332d651..7cc7eb773 100644 this.c.set(i, t0); diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index 2179664a0..d7e1ecc03 100644 +index 2179664a0c..d7e1ecc031 100644 --- a/src/main/java/net/minecraft/server/ServerPing.java +++ b/src/main/java/net/minecraft/server/ServerPing.java @@ -102,11 +102,11 @@ public class ServerPing { @@ -711,5 +711,5 @@ index 2179664a0..d7e1ecc03 100644 } } -- -2.16.1.windows.1 +2.18.0 diff --git a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch index e1ee4ac1d6..f7c7d34cc9 100644 --- a/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0069-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From e840becdb579c898f7026e614c92b348b3b6a31f Mon Sep 17 00:00:00 2001 +From 8a48c219a19b1af517a7c92351f522421411241a Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the ItemMeta API equivalents, and should deprecate the old API's. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index cf679df7b..405b867fe 100644 +index e7b5daf28e..6e7b2e721d 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -7,6 +7,8 @@ import com.mojang.brigadier.StringReader; @@ -30,7 +30,7 @@ index cf679df7b..405b867fe 100644 import java.util.Locale; import java.util.Objects; import java.util.Random; -@@ -54,6 +56,22 @@ public final class ItemStack { +@@ -56,6 +58,22 @@ public final class ItemStack { decimalformat.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.ROOT)); return decimalformat; } @@ -53,7 +53,7 @@ index cf679df7b..405b867fe 100644 public ItemStack(IMaterial imaterial) { this(imaterial, 1); -@@ -96,6 +114,7 @@ public final class ItemStack { +@@ -98,6 +116,7 @@ public final class ItemStack { if (nbttagcompound.hasKeyOfType("tag", 10)) { // CraftBukkit start - make defensive copy as this data may be coming from the save thread this.tag = (NBTTagCompound) nbttagcompound.getCompound("tag").clone(); @@ -61,7 +61,7 @@ index cf679df7b..405b867fe 100644 this.getItem().a(this.tag); // CraftBukkit end } -@@ -565,6 +584,7 @@ public final class ItemStack { +@@ -569,6 +588,7 @@ public final class ItemStack { // Paper end public void setTag(@Nullable NBTTagCompound nbttagcompound) { this.tag = nbttagcompound; @@ -69,7 +69,7 @@ index cf679df7b..405b867fe 100644 } public IChatBaseComponent getName() { -@@ -641,6 +661,7 @@ public final class ItemStack { +@@ -645,6 +665,7 @@ public final class ItemStack { nbttagcompound.setString("id", String.valueOf(Enchantment.enchantments.b(enchantment))); nbttagcompound.setShort("lvl", (short) ((byte) i)); nbttaglist.add((NBTBase) nbttagcompound); @@ -78,7 +78,7 @@ index cf679df7b..405b867fe 100644 public boolean hasEnchantments() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index f4672b9a4..e2699564a 100644 +index f4672b9a48..e2699564af 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -4,6 +4,7 @@ import static org.bukkit.craftbukkit.inventory.CraftMetaItem.ENCHANTMENTS; @@ -204,7 +204,7 @@ index f4672b9a4..e2699564a 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index f10de8550..f21c1e846 100644 +index f10de8550c..f21c1e846d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -8,12 +8,14 @@ import java.lang.reflect.Constructor; diff --git a/Spigot-Server-Patches/0149-Cache-user-authenticator-threads.patch b/Spigot-Server-Patches/0149-Cache-user-authenticator-threads.patch index 06a5090fba..071e6161d9 100644 --- a/Spigot-Server-Patches/0149-Cache-user-authenticator-threads.patch +++ b/Spigot-Server-Patches/0149-Cache-user-authenticator-threads.patch @@ -1,11 +1,11 @@ -From 5932dddd728efb8aad079283e90ce638dfe95471 Mon Sep 17 00:00:00 2001 +From 1462c435b911a715894e8eeb1e3974b90d2263c6 Mon Sep 17 00:00:00 2001 From: vemacs Date: Wed, 23 Nov 2016 08:31:45 -0500 Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index a22f4c55e9..b6e8296824 100644 +index eb936a0445..fae8a13973 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -93,6 +93,12 @@ public class LoginListener implements PacketLoginInListener, ITickable { @@ -32,7 +32,7 @@ index a22f4c55e9..b6e8296824 100644 @Override public void run() { try { -@@ -182,7 +188,8 @@ public class LoginListener implements PacketLoginInListener, ITickable { +@@ -181,7 +187,8 @@ public class LoginListener implements PacketLoginInListener, ITickable { server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + i.getName(), ex); } } @@ -42,7 +42,7 @@ index a22f4c55e9..b6e8296824 100644 // Spigot end } -@@ -198,7 +205,8 @@ public class LoginListener implements PacketLoginInListener, ITickable { +@@ -197,7 +204,8 @@ public class LoginListener implements PacketLoginInListener, ITickable { this.loginKey = packetlogininencryptionbegin.a(privatekey); this.g = LoginListener.EnumProtocolState.AUTHENTICATING; this.networkManager.a(this.loginKey); @@ -52,7 +52,7 @@ index a22f4c55e9..b6e8296824 100644 public void run() { GameProfile gameprofile = LoginListener.this.i; -@@ -245,10 +253,8 @@ public class LoginListener implements PacketLoginInListener, ITickable { +@@ -244,10 +252,8 @@ public class LoginListener implements PacketLoginInListener, ITickable { return LoginListener.this.server.U() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } diff --git a/Spigot-Server-Patches/0160-Optimize-ItemStack.isEmpty.patch b/Spigot-Server-Patches/0160-Optimize-ItemStack.isEmpty.patch index 72003cc744..143e6e46e2 100644 --- a/Spigot-Server-Patches/0160-Optimize-ItemStack.isEmpty.patch +++ b/Spigot-Server-Patches/0160-Optimize-ItemStack.isEmpty.patch @@ -1,4 +1,4 @@ -From 4dc090c70a0b01357032d2293e26ecb341779756 Mon Sep 17 00:00:00 2001 +From 766b2224cc263eb3f5d84aedae774f89cc97afdc Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Dec 2016 03:48:29 -0500 Subject: [PATCH] Optimize ItemStack.isEmpty() @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize ItemStack.isEmpty() Remove hashMap lookup every check, simplify code to remove ternary diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index e120521611..023dd48a23 100644 +index 6e7b2e721d..33e82f5377 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -140,7 +140,7 @@ public final class ItemStack { +@@ -142,7 +142,7 @@ public final class ItemStack { } public boolean isEmpty() { diff --git a/Spigot-Server-Patches/0206-Allow-specifying-a-custom-authentication-servers-dow.patch b/Spigot-Server-Patches/0206-Allow-specifying-a-custom-authentication-servers-dow.patch index 479b7671b1..8204ff50cb 100644 --- a/Spigot-Server-Patches/0206-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/Spigot-Server-Patches/0206-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -1,4 +1,4 @@ -From 0b0a3e748bda1f720b5c63af9d9175550f43232f Mon Sep 17 00:00:00 2001 +From 2b552c360f4a543cadc543d179f25a88f4ccd3e7 Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 17 Aug 2017 16:08:20 -0700 Subject: [PATCH] Allow specifying a custom "authentication servers down" kick @@ -6,7 +6,7 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 329950802..7a2c70302 100644 +index 329950802f..7a2c703022 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -1,5 +1,6 @@ @@ -27,10 +27,10 @@ index 329950802..7a2c70302 100644 + } } diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 85eff6e2d..3464af679 100644 +index 005efbc111..6249b0e686 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -241,6 +241,10 @@ public class LoginListener implements PacketLoginInListener, ITickable { +@@ -240,6 +240,10 @@ public class LoginListener implements PacketLoginInListener, ITickable { LoginListener.this.i = LoginListener.this.a(gameprofile); LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT; } else { diff --git a/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index 05211c3e8d..36c2cf4302 100644 --- a/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/Spigot-Server-Patches/0245-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -1,4 +1,4 @@ -From efacdfe905c6b465963472f725db2690aa1290d8 Mon Sep 17 00:00:00 2001 +From dbf5e0efaf13ef601966eafd9c58768f22b17f2d Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 11:45:57 -0400 Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent This will allow you to change the players name or skin on login. diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index ae10cd89c1..a721eb30e9 100644 +index 91cd6e0f61..f02b28059c 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -1,5 +1,7 @@ @@ -25,7 +25,7 @@ index ae10cd89c1..a721eb30e9 100644 import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.event.player.AsyncPlayerPreLoginEvent; import org.bukkit.event.player.PlayerPreLoginEvent; -@@ -281,8 +284,16 @@ public class LoginListener implements PacketLoginInListener, ITickable { +@@ -280,8 +283,16 @@ public class LoginListener implements PacketLoginInListener, ITickable { java.util.UUID uniqueId = i.getId(); final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; diff --git a/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch index ac40b7d8a0..588fd570cc 100644 --- a/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0247-Player.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 41b4ebc08ef0a4929b0564d18d68cc105280bf85 Mon Sep 17 00:00:00 2001 +From 854b7ae7e7fdb222ab2b685b8e00dd22a44d5e54 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 12:29:48 -0400 Subject: [PATCH] Player.setPlayerProfile API @@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index d04f9b380..5015bd071 100644 +index d04f9b380e..5015bd0710 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -67,7 +67,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -19,7 +19,7 @@ index d04f9b380..5015bd071 100644 private final ItemCooldown ce; @Nullable diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index a721eb30e..258bdfe66 100644 +index f02b28059c..bb33cf3029 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -38,7 +38,7 @@ public class LoginListener implements PacketLoginInListener, ITickable { @@ -31,7 +31,7 @@ index a721eb30e..258bdfe66 100644 private final String j; private SecretKey loginKey; private EntityPlayer l; -@@ -285,12 +285,12 @@ public class LoginListener implements PacketLoginInListener, ITickable { +@@ -284,12 +284,12 @@ public class LoginListener implements PacketLoginInListener, ITickable { final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; // Paper start @@ -48,7 +48,7 @@ index a721eb30e..258bdfe66 100644 uniqueId = i.getId(); // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9f69000cb..8313c5192 100644 +index 9f69000cb2..8313c5192b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,6 +1,8 @@ diff --git a/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch index b82c251273..faf35d83af 100644 --- a/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-Server-Patches/0268-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From 2e865fce8dd06dc0afb86b40b01167f00593e59e Mon Sep 17 00:00:00 2001 +From 3413e0db563571a6aed48adddd2597b9aff71561 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 23:00:29 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index e71d75a77..3c7a40c23 100644 +index 33e82f5377..0952bf0b82 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -512,6 +512,7 @@ public final class ItemStack { +@@ -516,6 +516,7 @@ public final class ItemStack { this.getItem().b(this, world, entityhuman); } @@ -18,7 +18,7 @@ index e71d75a77..3c7a40c23 100644 return this.getItem().c(this); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index aad380c3b..5f3331de1 100644 +index aad380c3b7..5f3331de13 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -183,6 +183,13 @@ public final class CraftItemStack extends ItemStack { diff --git a/work/Bukkit b/work/Bukkit index 3607913caf..c520a96024 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 3607913caf81560ff9e809aba8e6fcbfebab4d02 +Subproject commit c520a96024beeb557ebccbc0f18a938a232635a1 diff --git a/work/CraftBukkit b/work/CraftBukkit index 1ef1ffd664..e70d864f00 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1ef1ffd664b55d9dc9800023182c779daff2594a +Subproject commit e70d864f0063ccc5939ead10db5cc1fb6991fdf8 diff --git a/work/Spigot b/work/Spigot index 0b44fa0bd4..f68f5a8253 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 0b44fa0bd4ed14ac6ae791d7f9a486d31382a0c7 +Subproject commit f68f5a82539faf7fb36f64bd72731e35d3e57cc3 From fa99bd704994f2d663301b95db1cfea679f1107c Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 26 Jul 2018 18:41:00 +0100 Subject: [PATCH 65/70] Fix EntityDismountEvent changes While upstream has now made this event cancellable, their changes result in the vechicle being removed before the event is called, thus leading cancellation to not behave as expected. --- ...5-Vehicle-Event-Cancellation-Changes.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch diff --git a/Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch new file mode 100644 index 0000000000..b9b249f1b7 --- /dev/null +++ b/Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch @@ -0,0 +1,39 @@ +From c39c439f6c3d365e43d812d3cfe4ce7d42b35b2b Mon Sep 17 00:00:00 2001 +From: Zach Brown +Date: Fri, 22 Apr 2016 18:20:05 -0500 +Subject: [PATCH] Vehicle Event Cancellation Changes + + +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index 85358902ff..98d67d9a17 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -96,7 +96,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + public boolean j; public boolean blocksEntitySpawning() { return j; } // Paper - OBFHELPER + public final List passengers; + protected int k; +- private Entity ax; ++ private Entity ax;public void setVehicle(Entity entity) { this.ax = entity; } // Paper - OBFHELPER + public boolean attachedToPlayer; + public World world; + public double lastX; +@@ -2141,6 +2141,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); + } else { + // CraftBukkit start ++ entity.setVehicle(this); // Paper - Set the vehicle back for the event + CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); + Entity orig = craft == null ? null : craft.getHandle(); + if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { +@@ -2163,6 +2164,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + return; + } + // Spigot end ++ ++ entity.setVehicle(null); // Paper - fix EntityDismountEvent cancellable + this.passengers.remove(entity); + entity.k = 60; + } +-- +2.18.0 + From 8175ec916f31dcd130fe0884fe46bdc187d829aa Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 26 Jul 2018 23:57:31 -0400 Subject: [PATCH 66/70] Relookup Entity Save ID if was null during precache Should fix #1280 Citizens hijacks entity map, and im guessing under the right conditions the result might actually be null during entity creation Pre the cache patch, the id is looked up on save, so it was fine. Now, if its null and the save ID is requested, we will try to look it up again and cache it if found. --- ...-MinecraftKey-Information-to-Objects.patch | 32 ++++++++++++------- ...to-current-Chunk-for-Entity-and-Bloc.patch | 18 +++++------ ...ts-for-each-Entity-Block-Entity-Type.patch | 14 ++++---- ...ck-and-tnt-entities-at-the-specified.patch | 12 +++---- .../0025-Entity-Origin-API.patch | 16 +++++----- ...event-tile-entity-and-entity-crashes.patch | 8 ++--- ...opper-searches-if-there-are-no-items.patch | 8 ++--- ...oreboards-for-non-players-by-default.patch | 10 +++--- .../0086-Don-t-teleport-dead-entities.patch | 6 ++-- ...nilla-per-world-scoreboard-coloring-.patch | 10 +++--- ...Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch | 8 ++--- ...2-Vehicle-Event-Cancellation-Changes.patch | 8 ++--- ...6-Optional-TNT-doesn-t-move-in-water.patch | 10 +++--- ...llow-entities-to-ride-themselves-572.patch | 6 ++-- ...-get-a-BlockState-without-a-snapshot.patch | 16 +++++----- .../0269-Optimize-Hoppers.patch | 14 ++++---- ...emove-entities-on-dimension-teleport.patch | 8 ++--- ...-more-information-to-Entity.toString.patch | 6 ++-- .../0338-Duplicate-UUID-Resolve-Option.patch | 12 +++---- ...-anytime-entities-change-to-guarante.patch | 8 ++--- ...dd-some-Debug-to-Chunk-Entity-slices.patch | 10 +++--- 21 files changed, 125 insertions(+), 115 deletions(-) diff --git a/Spigot-Server-Patches/0005-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0005-Add-MinecraftKey-Information-to-Objects.patch index 7822e2dad5..f327c45af2 100644 --- a/Spigot-Server-Patches/0005-Add-MinecraftKey-Information-to-Objects.patch +++ b/Spigot-Server-Patches/0005-Add-MinecraftKey-Information-to-Objects.patch @@ -1,4 +1,4 @@ -From 471ff10805ee8ef1b93d19bd05a91b9f372417c9 Mon Sep 17 00:00:00 2001 +From de17c631c117b92a3cb3256819347d169ed0225b Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 01:40:13 -0400 Subject: [PATCH] Add MinecraftKey Information to Objects @@ -6,7 +6,7 @@ Subject: [PATCH] Add MinecraftKey Information to Objects Stores the reference to the objects respective MinecraftKey diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ed39b122e..3a8902bf1 100644 +index ed39b122ec..06c72b95f3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -41,7 +41,7 @@ import org.bukkit.event.entity.EntityPortalEvent; @@ -18,21 +18,26 @@ index ed39b122e..3a8902bf1 100644 // CraftBukkit start private static final int CURRENT_LEVEL = 2; -@@ -1702,11 +1702,23 @@ public abstract class Entity implements ICommandListener { +@@ -1702,11 +1702,28 @@ public abstract class Entity implements ICommandListener { return true; } + // Paper start -+ public final MinecraftKey entityKey = EntityTypes.getKey(this); -+ public final String entityKeyString = entityKey != null ? entityKey.toString() : null; ++ private String entityKeyString = null; ++ private MinecraftKey entityKey = getMinecraftKey(); + + @Override + public MinecraftKey getMinecraftKey() { ++ if (entityKey == null) { ++ entityKey = EntityTypes.getKey(this); ++ entityKeyString = entityKey != null ? entityKey.toString() : null; ++ } + return entityKey; + } + + @Override + public String getMinecraftKeyString() { ++ getMinecraftKey(); // Try to load if it doesn't exists. see: https://github.com/PaperMC/Paper/issues/1280 + return entityKeyString; + } @Nullable @@ -40,14 +45,14 @@ index ed39b122e..3a8902bf1 100644 - MinecraftKey minecraftkey = EntityTypes.a(this); - - return minecraftkey == null ? null : minecraftkey.toString(); -+ return entityKeyString; ++ return getMinecraftKeyString(); + // Paper end } protected abstract void a(NBTTagCompound nbttagcompound); diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java new file mode 100644 -index 000000000..61c2b993c +index 0000000000..61c2b993c9 --- /dev/null +++ b/src/main/java/net/minecraft/server/KeyedObject.java @@ -0,0 +1,8 @@ @@ -60,7 +65,7 @@ index 000000000..61c2b993c + } +} diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 5a5a588e7..672ba3134 100644 +index 5a5a588e7c..0176ca530c 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -7,7 +7,7 @@ import org.apache.logging.log4j.Logger; @@ -72,23 +77,28 @@ index 5a5a588e7..672ba3134 100644 public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getTileEntityTimings(this); // Spigot private static final Logger a = LogManager.getLogger(); -@@ -27,8 +27,21 @@ public abstract class TileEntity { +@@ -27,8 +27,26 @@ public abstract class TileEntity { TileEntity.f.a(new MinecraftKey(s), oclass); } - @Nullable - public static MinecraftKey a(Class oclass) { + // Paper start -+ public final MinecraftKey tileEntityKey = getKey(this.getClass()); -+ public final String tileEntityKeyString = tileEntityKey != null ? tileEntityKey.toString() : null; ++ private String tileEntityKeyString = null; ++ private MinecraftKey tileEntityKey = getMinecraftKey(); + + @Override + public MinecraftKey getMinecraftKey() { ++ if (tileEntityKey == null) { ++ tileEntityKey = getKey(this.getClass()); ++ tileEntityKeyString = tileEntityKey != null ? tileEntityKey.toString() : null; ++ } + return tileEntityKey; + } + + @Override + public String getMinecraftKeyString() { ++ getMinecraftKey(); // Try to load if it doesn't exists. + return tileEntityKeyString; + } + @Nullable public static MinecraftKey getKey(Class oclass) { return a(oclass); } // Paper - OBFHELPER diff --git a/Spigot-Server-Patches/0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch index 91fcba17e5..eb7b178c9b 100644 --- a/Spigot-Server-Patches/0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch +++ b/Spigot-Server-Patches/0006-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch @@ -1,4 +1,4 @@ -From ada548d469ddfd07d7ee05b4473b46eafbe104e0 Mon Sep 17 00:00:00 2001 +From 67c7a52969344e723be71cbd2fed330ca8ffa28d Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:10:36 -0400 Subject: [PATCH] Store reference to current Chunk for Entity and Block @@ -8,7 +8,7 @@ This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 4bbebb25a..ea167a17b 100644 +index 4bbebb25af..ea167a17bb 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -25,7 +25,7 @@ public class Chunk { @@ -81,7 +81,7 @@ index 4bbebb25a..ea167a17b 100644 // Keep this synced up with World.a(Class) if (entity instanceof EntityInsentient) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3a8902bf1..4af566b36 100644 +index 06c72b95f3..c107bd767f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1703,6 +1703,38 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -120,11 +120,11 @@ index 3a8902bf1..4af566b36 100644 + public Chunk getChunkAtLocation() { + return getCurrentChunkAt((int)Math.floor(locX) >> 4, (int)Math.floor(locZ) >> 4); + } - public final MinecraftKey entityKey = EntityTypes.getKey(this); - public final String entityKeyString = entityKey != null ? entityKey.toString() : null; + private String entityKeyString = null; + private MinecraftKey entityKey = getMinecraftKey(); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 672ba3134..d7132c3c0 100644 +index 0176ca530c..29069b753e 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -28,6 +28,14 @@ public abstract class TileEntity implements KeyedObject { @@ -139,11 +139,11 @@ index 672ba3134..d7132c3c0 100644 + public void setCurrentChunk(Chunk chunk) { + this.currentChunk = chunk != null ? new java.lang.ref.WeakReference<>(chunk) : null; + } - public final MinecraftKey tileEntityKey = getKey(this.getClass()); - public final String tileEntityKeyString = tileEntityKey != null ? tileEntityKey.toString() : null; + private String tileEntityKeyString = null; + private MinecraftKey tileEntityKey = getMinecraftKey(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c5a194ffe..833e3111d 100644 +index c5a194ffea..833e3111de 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -9,6 +9,7 @@ import java.util.UUID; diff --git a/Spigot-Server-Patches/0007-Store-counts-for-each-Entity-Block-Entity-Type.patch b/Spigot-Server-Patches/0007-Store-counts-for-each-Entity-Block-Entity-Type.patch index b4baff8d03..865a48af09 100644 --- a/Spigot-Server-Patches/0007-Store-counts-for-each-Entity-Block-Entity-Type.patch +++ b/Spigot-Server-Patches/0007-Store-counts-for-each-Entity-Block-Entity-Type.patch @@ -1,4 +1,4 @@ -From 20c6d16a7db36e57bde2a9bac4e5bb99d606239a Mon Sep 17 00:00:00 2001 +From 7feae31914ee5d50576995af8fbe35a44b1f0de3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:13:59 -0400 Subject: [PATCH] Store counts for each Entity/Block Entity Type @@ -6,7 +6,7 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type Opens door for future patches to optimize performance diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ea167a17b..77fdb3c4a 100644 +index ea167a17bb..efcece7857 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -34,15 +34,19 @@ public class Chunk { @@ -21,11 +21,11 @@ index ea167a17b..77fdb3c4a 100644 TileEntity replaced = super.put(key, value); if (replaced != null) { replaced.setCurrentChunk(null); -+ tileEntityCounts.decrement(replaced.tileEntityKeyString); ++ tileEntityCounts.decrement(replaced.getMinecraftKeyString()); } if (value != null) { value.setCurrentChunk(Chunk.this); -+ tileEntityCounts.increment(value.tileEntityKeyString); ++ tileEntityCounts.increment(value.getMinecraftKeyString()); } return replaced; } @@ -33,7 +33,7 @@ index ea167a17b..77fdb3c4a 100644 TileEntity removed = super.remove(key); if (removed != null) { removed.setCurrentChunk(null); -+ tileEntityCounts.decrement(removed.tileEntityKeyString); ++ tileEntityCounts.decrement(removed.getMinecraftKeyString()); } return removed; } @@ -41,7 +41,7 @@ index ea167a17b..77fdb3c4a 100644 this.entitySlices[k].add(entity); // Paper start entity.setCurrentChunk(this); -+ entityCounts.increment(entity.entityKeyString); ++ entityCounts.increment(entity.getMinecraftKeyString()); // Paper end // Spigot start - increment creature type count // Keep this synced up with World.a(Class) @@ -49,7 +49,7 @@ index ea167a17b..77fdb3c4a 100644 this.entitySlices[i].remove(entity); // Paper start entity.setCurrentChunk(null); -+ entityCounts.decrement(entity.entityKeyString); ++ entityCounts.decrement(entity.getMinecraftKeyString()); // Paper end // Spigot start - decrement creature type count // Keep this synced up with World.a(Class) diff --git a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch index 5b06493854..d38c1117f9 100644 --- a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch +++ b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch @@ -1,11 +1,11 @@ -From 3aa7c3bb231295a68bf403ab34f4b0dcc9e2696d Mon Sep 17 00:00:00 2001 +From 3245f2a838cecf17e9f9a315f5435b8a0c08ae48 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 14:14:15 -0600 Subject: [PATCH] Drop falling block and tnt entities at the specified height diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0094d1a87..4da846719 100644 +index 0094d1a87d..4da846719d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -113,4 +113,14 @@ public class PaperWorldConfig { @@ -24,10 +24,10 @@ index 0094d1a87..4da846719 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 4540bf9f9..d358ab26a 100644 +index 459bdbd6ec..335d2ce4cb 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1794,6 +1794,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -1799,6 +1799,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper return this.a(new ItemStack(item, i, 0), f); } @@ -36,7 +36,7 @@ index 4540bf9f9..d358ab26a 100644 public EntityItem a(ItemStack itemstack, float f) { if (itemstack.isEmpty()) { diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 579e51a0a..2ba5d51a5 100644 +index 579e51a0aa..2ba5d51a5f 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -84,6 +84,17 @@ public class EntityFallingBlock extends Entity { @@ -58,7 +58,7 @@ index 579e51a0a..2ba5d51a5 100644 blockposition = new BlockPosition(this); boolean flag = this.block.getBlock() == Blocks.dS; diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index 44b2d4735..0d70dd1d2 100644 +index 44b2d47351..0d70dd1d22 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -57,6 +57,13 @@ public class EntityTNTPrimed extends Entity { diff --git a/Spigot-Server-Patches/0025-Entity-Origin-API.patch b/Spigot-Server-Patches/0025-Entity-Origin-API.patch index dd85943cf6..2e43462942 100644 --- a/Spigot-Server-Patches/0025-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0025-Entity-Origin-API.patch @@ -1,11 +1,11 @@ -From eb34ce2535e4e16447bb108f92ca70742ff00a66 Mon Sep 17 00:00:00 2001 +From 40d24e0192a049584a4c70c8474ae23346e50f2d Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 23:45:08 -0600 Subject: [PATCH] Entity Origin API diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d358ab26a..011cf59c0 100644 +index 335d2ce4cb..cea987f33e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -149,6 +149,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -42,7 +42,7 @@ index d358ab26a..011cf59c0 100644 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded"); -@@ -1756,6 +1769,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -1761,6 +1774,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper protected abstract void b(NBTTagCompound nbttagcompound); @@ -51,7 +51,7 @@ index d358ab26a..011cf59c0 100644 NBTTagList nbttaglist = new NBTTagList(); double[] adouble1 = adouble; diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 2ba5d51a5..abdc2dea9 100644 +index 2ba5d51a5f..abdc2dea9b 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -267,6 +267,14 @@ public class EntityFallingBlock extends Entity { @@ -70,7 +70,7 @@ index 2ba5d51a5..abdc2dea9 100644 public void a(boolean flag) { diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index 0d70dd1d2..bb0904f86 100644 +index 0d70dd1d22..bb0904f865 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -109,6 +109,14 @@ public class EntityTNTPrimed extends Entity { @@ -89,7 +89,7 @@ index 0d70dd1d2..bb0904f86 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index bc6383669..ca9eb2f3b 100644 +index bc6383669e..ca9eb2f3b2 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -153,6 +153,7 @@ public class NBTTagList extends NBTBase { @@ -101,7 +101,7 @@ index bc6383669..ca9eb2f3b 100644 if (i >= 0 && i < this.list.size()) { NBTBase nbtbase = (NBTBase) this.list.get(i); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 26d4bd690..31b765dea 100644 +index 26d4bd690b..31b765deaf 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1071,6 +1071,12 @@ public abstract class World implements IBlockAccess { @@ -118,7 +118,7 @@ index 26d4bd690..31b765dea 100644 flag = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 833e3111d..6c23e88a5 100644 +index 833e3111de..6c23e88a54 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -761,4 +761,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch index 7e0d483e01..408c2f328a 100644 --- a/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch +++ b/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch @@ -1,14 +1,14 @@ -From f0ff71ed88b27c82c77ecc140d2dd068749f9807 Mon Sep 17 00:00:00 2001 +From 8ed8aaa564e0285d9c0ff6dd5308c66186db4c41 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:52:34 -0600 Subject: [PATCH] Prevent tile entity and entity crashes diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 15f18ba1d..33e245e4c 100644 +index 081e56f481..f191225c62 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java -@@ -196,7 +196,12 @@ public abstract class TileEntity implements KeyedObject { +@@ -201,7 +201,12 @@ public abstract class TileEntity implements KeyedObject { } }); if (this.world != null) { @@ -23,7 +23,7 @@ index 15f18ba1d..33e245e4c 100644 public String a() throws Exception { int i = Block.getId(TileEntity.this.world.getType(TileEntity.this.position).getBlock()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 31b765dea..fd5f8102a 100644 +index 31b765deaf..fd5f8102af 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1449,10 +1449,12 @@ public abstract class World implements IBlockAccess { diff --git a/Spigot-Server-Patches/0054-Avoid-hopper-searches-if-there-are-no-items.patch b/Spigot-Server-Patches/0054-Avoid-hopper-searches-if-there-are-no-items.patch index 82abcabb3e..81ba38674d 100644 --- a/Spigot-Server-Patches/0054-Avoid-hopper-searches-if-there-are-no-items.patch +++ b/Spigot-Server-Patches/0054-Avoid-hopper-searches-if-there-are-no-items.patch @@ -1,4 +1,4 @@ -From 8878c3563aa9f2217bd4ea486aa52ee394b69f01 Mon Sep 17 00:00:00 2001 +From 4e0067394fe5e3d753349255621049ff01869afb Mon Sep 17 00:00:00 2001 From: CullanP Date: Thu, 3 Mar 2016 02:13:38 -0600 Subject: [PATCH] Avoid hopper searches if there are no items @@ -14,7 +14,7 @@ And since minecart hoppers are used _very_ rarely near we can avoid alot of sear Combined, this adds up a lot. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index d6f6cfef2..08d6ef09a 100644 +index 42d27e0362..be386716be 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -76,6 +76,13 @@ public class Chunk { @@ -34,7 +34,7 @@ index d6f6cfef2..08d6ef09a 100644 @@ -651,6 +658,11 @@ public class Chunk { // Paper start entity.setCurrentChunk(this); - entityCounts.increment(entity.entityKeyString); + entityCounts.increment(entity.getMinecraftKeyString()); + if (entity instanceof EntityItem) { + itemCounts[k]++; + } else if (entity instanceof IInventory) { @@ -46,7 +46,7 @@ index d6f6cfef2..08d6ef09a 100644 @@ -687,6 +699,11 @@ public class Chunk { // Paper start entity.setCurrentChunk(null); - entityCounts.decrement(entity.entityKeyString); + entityCounts.decrement(entity.getMinecraftKeyString()); + if (entity instanceof EntityItem) { + itemCounts[i]--; + } else if (entity instanceof IInventory) { diff --git a/Spigot-Server-Patches/0065-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0065-Disable-Scoreboards-for-non-players-by-default.patch index 971480f81f..c1b5b26b68 100644 --- a/Spigot-Server-Patches/0065-Disable-Scoreboards-for-non-players-by-default.patch +++ b/Spigot-Server-Patches/0065-Disable-Scoreboards-for-non-players-by-default.patch @@ -1,4 +1,4 @@ -From eb01ced7635cb5ef37aef6669d54e7b4e6a4cf72 Mon Sep 17 00:00:00 2001 +From e974cc2dc77b8e3ca057231ad712724603872f56 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 8 Mar 2016 23:25:45 -0500 Subject: [PATCH] Disable Scoreboards for non players by default @@ -11,7 +11,7 @@ So avoid looking up scoreboards and short circuit to the "not on a team" logic which is most likely to be true. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b241c0380..a4c94845b 100644 +index b241c0380d..a4c94845b8 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -242,4 +242,9 @@ public class PaperWorldConfig { @@ -25,7 +25,7 @@ index b241c0380..a4c94845b 100644 + } } diff --git a/src/main/java/net/minecraft/server/CommandScoreboard.java b/src/main/java/net/minecraft/server/CommandScoreboard.java -index ec9a87239..b08274d93 100644 +index ec9a87239a..b08274d933 100644 --- a/src/main/java/net/minecraft/server/CommandScoreboard.java +++ b/src/main/java/net/minecraft/server/CommandScoreboard.java @@ -492,6 +492,7 @@ public class CommandScoreboard extends CommandAbstract { @@ -37,10 +37,10 @@ index ec9a87239..b08274d93 100644 if (scoreboard.addPlayerToTeam(s2, s)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 804104818..f547dbfd0 100644 +index 9d6e684d26..a03a809d61 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2123,6 +2123,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2128,6 +2128,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @Nullable public ScoreboardTeamBase aY() { diff --git a/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch b/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch index 008e881726..86f493e500 100644 --- a/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch +++ b/Spigot-Server-Patches/0086-Don-t-teleport-dead-entities.patch @@ -1,4 +1,4 @@ -From 3faa48aebbc50348a1c69b43c8f4be1f0d8d78e8 Mon Sep 17 00:00:00 2001 +From 92be596a29c450456eb1ff4aba0306aa090999ff Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:55:23 -0400 Subject: [PATCH] Don't teleport dead entities @@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic. Potentially an old CB change that's no longer needed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index daf97bce3..87b82f908 100644 +index ff854e1ab9..fd193bbece 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2412,7 +2412,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2417,7 +2417,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } public Entity teleportTo(Location exit, boolean portal) { diff --git a/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index 0ae2981291..92a61c0641 100644 --- a/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0109-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,11 +1,11 @@ -From 0f917b2215537ad0e4c08b4c4add7ad3bdec07c7 Mon Sep 17 00:00:00 2001 +From e460a38fa7693771218e49ab68a7de69492de0e9 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 6 Apr 2016 01:04:23 -0500 Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index abc1aabdd..6ea608ba9 100644 +index abc1aabdd8..6ea608ba9a 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -288,4 +288,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index abc1aabdd..6ea608ba9 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 87b82f908..fa9319aff 100644 +index fd193bbece..89e42c0a46 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2135,6 +2135,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2140,6 +2140,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper return this.getFlag(5); } @@ -31,7 +31,7 @@ index 87b82f908..fa9319aff 100644 public ScoreboardTeamBase aY() { if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index ba1cc267e..2b8162917 100644 +index ba1cc267e6..2b81629170 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1390,7 +1390,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0116-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch b/Spigot-Server-Patches/0116-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch index 2cf4d21aab..279d4e29ba 100644 --- a/Spigot-Server-Patches/0116-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch +++ b/Spigot-Server-Patches/0116-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch @@ -1,4 +1,4 @@ -From f7b327727e2ac3ad221592ae2b97c64d9297c702 Mon Sep 17 00:00:00 2001 +From a95213605057d27a9ab8ec79291e1354cee01106 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 14 Apr 2016 21:01:39 -0400 Subject: [PATCH] Fix Bugs with Spigot Mob Spawn Logic @@ -14,7 +14,7 @@ Specially with servers using smaller mob spawn ranges than view distance, as wel This patch returns mob counting to use all loaded chunks, and 17x17 division. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index da7b59434..1157bc7eb 100644 +index e9a44098d9..6c86d3b6bc 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -714,8 +714,8 @@ public class Chunk { @@ -25,10 +25,10 @@ index da7b59434..1157bc7eb 100644 // Paper start + if (!this.entitySlices[i].remove(entity)) { return; } entity.setCurrentChunk(null); - entityCounts.decrement(entity.entityKeyString); + entityCounts.decrement(entity.getMinecraftKeyString()); if (entity instanceof EntityItem) { diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 45a83ae99..ed22607d9 100644 +index 45a83ae995..ed22607d91 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -23,6 +23,15 @@ public final class SpawnerCreature { diff --git a/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch index 6a893f66e7..89abe915c8 100644 --- a/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch +++ b/Spigot-Server-Patches/0122-Vehicle-Event-Cancellation-Changes.patch @@ -1,11 +1,11 @@ -From 59d26d28500f04c9cced47dc4c99d71fc7efb7e5 Mon Sep 17 00:00:00 2001 +From e834b8fc7de6fc3a3460176d2c23e77d3c5afce3 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 18:20:05 -0500 Subject: [PATCH] Vehicle Event Cancellation Changes diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index fa9319aff..a3e9ee052 100644 +index 89e42c0a46..86b783e73b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -83,7 +83,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -17,7 +17,7 @@ index fa9319aff..a3e9ee052 100644 public boolean attachedToPlayer; public World world; public double lastX; -@@ -2017,6 +2017,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2022,6 +2022,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { // CraftBukkit start @@ -25,7 +25,7 @@ index fa9319aff..a3e9ee052 100644 CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); Entity orig = craft == null ? null : craft.getHandle(); if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { -@@ -2032,7 +2033,13 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2037,7 +2038,13 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } } // CraftBukkit end diff --git a/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch index 9db6798df2..f48cacde84 100644 --- a/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch +++ b/Spigot-Server-Patches/0136-Optional-TNT-doesn-t-move-in-water.patch @@ -1,11 +1,11 @@ -From 036e57626907e289a1c0a842460a9bac8da4e5d3 Mon Sep 17 00:00:00 2001 +From c75aa93b1c1e98ce0d1f87d73720311182848d68 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional TNT doesn't move in water diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 067cb233e..06acdaaf0 100644 +index 067cb233e4..06acdaaf04 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,7 +2,6 @@ package com.destroystokyo.paper; @@ -32,7 +32,7 @@ index 067cb233e..06acdaaf0 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 9b01c23e0..0a62ebf4a 100644 +index 0456cda937..2fbe17ce9d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1127,6 +1127,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -47,7 +47,7 @@ index 9b01c23e0..0a62ebf4a 100644 if (this.bJ() instanceof EntityBoat) { this.inWater = false; } else if (this.world.a(this.getBoundingBox().grow(0.0D, -0.4000000059604645D, 0.0D).shrink(0.001D), Material.WATER, this)) { -@@ -2600,6 +2605,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2605,6 +2610,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } public boolean bo() { @@ -60,7 +60,7 @@ index 9b01c23e0..0a62ebf4a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index bb0904f86..50811852a 100644 +index bb0904f865..50811852a3 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -147,4 +147,49 @@ public class EntityTNTPrimed extends Entity { diff --git a/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch index 945f6e86f9..3ca32d8f94 100644 --- a/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0195-Don-t-allow-entities-to-ride-themselves-572.patch @@ -1,14 +1,14 @@ -From 512e2cf16911c2f07c0c5b763d4b56b1788344fb Mon Sep 17 00:00:00 2001 +From 8b87011bb2c827251749bcd3bb5df2f48244a212 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Sun, 8 Jan 2017 04:31:36 +0000 Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6d1e61e23..92b2bcb86 100644 +index 26a76ec972..d156563b08 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1994,6 +1994,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -1999,6 +1999,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } protected void o(Entity entity) { diff --git a/Spigot-Server-Patches/0251-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-Server-Patches/0251-API-to-get-a-BlockState-without-a-snapshot.patch index 33ac6f3473..2959fc3cde 100644 --- a/Spigot-Server-Patches/0251-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/Spigot-Server-Patches/0251-API-to-get-a-BlockState-without-a-snapshot.patch @@ -1,4 +1,4 @@ -From 955230d3e8ac631d5b64a60aab4c0c97dc0e95ba Mon Sep 17 00:00:00 2001 +From a8bc4c6ef79676c1a9ce64658f95a3963c149688 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 6 Nov 2017 21:08:22 -0500 Subject: [PATCH] API to get a BlockState without a snapshot @@ -13,10 +13,10 @@ also Avoid NPE during CraftBlockEntityState load if could not get TE If Tile Entity was null, correct Sign to return empty lines instead of null diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 358c99227..5b5f102e2 100644 +index b4a7db2b66..30d3e19de8 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java -@@ -285,7 +285,12 @@ public abstract class TileEntity implements KeyedObject { +@@ -290,7 +290,12 @@ public abstract class TileEntity implements KeyedObject { } // CraftBukkit start - add method @@ -29,7 +29,7 @@ index 358c99227..5b5f102e2 100644 if (world == null) return null; // Spigot start org.bukkit.block.Block block = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()); -@@ -294,7 +299,7 @@ public abstract class TileEntity implements KeyedObject { +@@ -299,7 +304,7 @@ public abstract class TileEntity implements KeyedObject { return null; } // Spigot end @@ -39,7 +39,7 @@ index 358c99227..5b5f102e2 100644 return null; } diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index 54b719d91..3f2c5b2d5 100644 +index 54b719d917..3f2c5b2d5c 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -60,7 +60,7 @@ public class TileEntitySign extends TileEntity { @@ -52,7 +52,7 @@ index 54b719d91..3f2c5b2d5 100644 }; diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 46670c346..a9d3f12bc 100644 +index 46670c3466..a9d3f12bc6 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -260,7 +260,22 @@ public class CraftBlock implements Block { @@ -79,7 +79,7 @@ index 46670c346..a9d3f12bc 100644 switch (material) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index 266f87d7f..fe112812d 100644 +index 266f87d7f1..fe112812d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -22,20 +22,40 @@ public class CraftBlockEntityState extends CraftBlockState @@ -129,7 +129,7 @@ index 266f87d7f..fe112812d 100644 private T createSnapshot(T tileEntity) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -index 7a8d44529..97b4e6910 100644 +index 7a8d445299..97b4e6910d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java @@ -14,10 +14,12 @@ public class CraftSign extends CraftBlockEntityState implements diff --git a/Spigot-Server-Patches/0269-Optimize-Hoppers.patch b/Spigot-Server-Patches/0269-Optimize-Hoppers.patch index fa784cd860..b5664b61d6 100644 --- a/Spigot-Server-Patches/0269-Optimize-Hoppers.patch +++ b/Spigot-Server-Patches/0269-Optimize-Hoppers.patch @@ -1,4 +1,4 @@ -From ce497ce0dd8da9d9b5a3bbddf60f8bfcd70fd03e Mon Sep 17 00:00:00 2001 +From 7cd85ceb045d6fc847caa3af14fde0c9ac06e7cf Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Apr 2016 22:09:52 -0400 Subject: [PATCH] Optimize Hoppers @@ -11,7 +11,7 @@ Subject: [PATCH] Optimize Hoppers * Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 9fd76dcc9..363e03b65 100644 +index 9fd76dcc90..363e03b65d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -489,4 +489,12 @@ public class PaperWorldConfig { @@ -28,7 +28,7 @@ index 9fd76dcc9..363e03b65 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fcf6bac08..3092913f5 100644 +index fcf6bac08f..3092913f5b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -876,6 +876,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -40,10 +40,10 @@ index fcf6bac08..3092913f5 100644 this.methodProfiler.a(() -> { return worldserver.getWorldData().getName(); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 5b5f102e2..3f6b34489 100644 +index 30d3e19de8..54bfbfc6bc 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java -@@ -55,6 +55,7 @@ public abstract class TileEntity implements KeyedObject { +@@ -60,6 +60,7 @@ public abstract class TileEntity implements KeyedObject { return (MinecraftKey) TileEntity.f.b(oclass); } @@ -51,7 +51,7 @@ index 5b5f102e2..3f6b34489 100644 public World getWorld() { return this.world; } -@@ -133,6 +134,7 @@ public abstract class TileEntity implements KeyedObject { +@@ -138,6 +139,7 @@ public abstract class TileEntity implements KeyedObject { public void update() { if (this.world != null) { @@ -60,7 +60,7 @@ index 5b5f102e2..3f6b34489 100644 this.g = iblockdata.getBlock().toLegacyData(iblockdata); diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index e9315f2d5..5198a590a 100644 +index e9315f2d5c..5198a590a7 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java @@ -196,6 +196,154 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi diff --git a/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch b/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch index d2c3dd0b7e..997c42c766 100644 --- a/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch +++ b/Spigot-Server-Patches/0307-Properly-remove-entities-on-dimension-teleport.patch @@ -1,4 +1,4 @@ -From 11c4b454e2dca08dc7d8823bf7d533e20d67c7ef Mon Sep 17 00:00:00 2001 +From e1b60705c11cb4eedbe9ea30504df1012cb58dd9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:04:42 -0400 Subject: [PATCH] Properly remove entities on dimension teleport @@ -22,10 +22,10 @@ requirement, but plugins (such as my own) use this method to trigger a "reload" of the entity on the client. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2dbb88f2d..80ecdb282 100644 +index ea2502409d..71da8e1e7d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2462,7 +2462,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2467,7 +2467,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } // CraftBukkit end */ @@ -35,7 +35,7 @@ index 2dbb88f2d..80ecdb282 100644 this.world.methodProfiler.a("reposition"); /* CraftBukkit start - Handled in calculateTarget diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 49019d54d..bba2e164f 100644 +index 49019d54d5..bba2e164f2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1205,6 +1205,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch index 770ff6a464..bd8bf55850 100644 --- a/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0332-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From b0c9be521fc1613e6ab93cbc058b8fbf2de7068a Mon Sep 17 00:00:00 2001 +From 1f2212fa5986435d4cd3bb3f4cd62821d7246d66 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 80ecdb282..99dac412f 100644 +index 71da8e1e7d..28713f045d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2361,7 +2361,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2366,7 +2366,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper } public String toString() { diff --git a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch index ec5afadae3..0c2936745d 100644 --- a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 60078ed225caffbeab2732eb4a64364d9d342341 Mon Sep 17 00:00:00 2001 +From 4452cada18204294fb8059bdefe9da4e3f246480 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 14c8edeff..e3f6557e1 100644 +index 14c8edeffc..e3f6557e1f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -541,4 +541,40 @@ public class PaperWorldConfig { @@ -78,7 +78,7 @@ index 14c8edeff..e3f6557e1 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 04adf4e3c..b31c301ec 100644 +index f1815d3766..7a62fae332 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -145,10 +145,10 @@ index 04adf4e3c..b31c301ec 100644 this.world.a((Collection) entityslice); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0d3af8cb7..7188d0c99 100644 +index 93ab050fa6..fdabb1e369 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2614,6 +2614,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper +@@ -2619,6 +2619,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper }); } @@ -157,7 +157,7 @@ index 0d3af8cb7..7188d0c99 100644 this.uniqueID = uuid; this.ar = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 994d4bbb8..1244baf45 100644 +index 994d4bbb84..1244baf45a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -42,7 +42,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch index bbf41e099b..ff2336774f 100644 --- a/Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch +++ b/Spigot-Server-Patches/0339-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch @@ -1,4 +1,4 @@ -From 37c0cfe11574838ad8c24863a4b926e0b88878d5 Mon Sep 17 00:00:00 2001 +From 6ea5914741d70c9656d108d609a4378a903e087e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:18:31 -0400 Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it @@ -6,7 +6,7 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b31c301ec..6de053781 100644 +index 7a62fae332..eaee492010 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -683,6 +683,7 @@ public class Chunk { @@ -15,7 +15,7 @@ index b31c301ec..6de053781 100644 // Paper start + this.markDirty(); entity.setCurrentChunk(this); - entityCounts.increment(entity.entityKeyString); + entityCounts.increment(entity.getMinecraftKeyString()); if (entity instanceof EntityItem) { @@ -725,6 +726,7 @@ public class Chunk { @@ -23,7 +23,7 @@ index b31c301ec..6de053781 100644 if (!this.entitySlices[i].remove(entity)) { return; } + this.markDirty(); entity.setCurrentChunk(null); - entityCounts.decrement(entity.entityKeyString); + entityCounts.decrement(entity.getMinecraftKeyString()); if (entity instanceof EntityItem) { -- 2.18.0 diff --git a/Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch index e59455dc49..018d389474 100644 --- a/Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch +++ b/Spigot-Server-Patches/0340-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -1,4 +1,4 @@ -From 80a062ecc95b8346f6a9161e375e41d5f5df3882 Mon Sep 17 00:00:00 2001 +From f66a29c8dbea9062242445480ebaf1db98c8b0f7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:44:23 -0400 Subject: [PATCH] Add some Debug to Chunk Entity slices @@ -9,7 +9,7 @@ This should hopefully avoid duplicate entities ever being created if the entity was to end up in 2 different chunk slices diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 6de053781..be0b411e5 100644 +index eaee492010..1787607622 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -681,8 +681,33 @@ public class Chunk { @@ -46,7 +46,7 @@ index 6de053781..be0b411e5 100644 + this.markDirty(); entity.setCurrentChunk(this); - entityCounts.increment(entity.entityKeyString); + entityCounts.increment(entity.getMinecraftKeyString()); @@ -726,6 +751,12 @@ public class Chunk { // Paper start @@ -59,9 +59,9 @@ index 6de053781..be0b411e5 100644 + } this.markDirty(); entity.setCurrentChunk(null); - entityCounts.decrement(entity.entityKeyString); + entityCounts.decrement(entity.getMinecraftKeyString()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7188d0c99..b3120d7cc 100644 +index fdabb1e369..89f9bd347b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -59,6 +59,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper From 4eec0c9b271d4b38a9d8ab40a6339d09e1d94534 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 27 Jul 2018 13:10:30 -0500 Subject: [PATCH 67/70] Update upstream B/CB --- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/work/Bukkit b/work/Bukkit index c520a96024..47e3d2954d 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit c520a96024beeb557ebccbc0f18a938a232635a1 +Subproject commit 47e3d2954d0dd279c93524baec241b76acaef7c7 diff --git a/work/CraftBukkit b/work/CraftBukkit index e70d864f00..4b00823222 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit e70d864f0063ccc5939ead10db5cc1fb6991fdf8 +Subproject commit 4b00823222b633f1776cdc12da55b2e0f88371e2 From f7d02b2518b764580cdef83aa44a17d9a89b8cf2 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 28 Jul 2018 03:38:13 +0100 Subject: [PATCH 68/70] Update CB/S --- ...e-informative-in-maxHealth-exception.patch | 6 +-- ...oreboards-for-non-players-by-default.patch | 10 ++--- ...working-with-arrows-stuck-in-living-.patch | 6 +-- .../0079-Don-t-teleport-dead-entities.patch | 6 +-- ...nilla-per-world-scoreboard-coloring-.patch | 6 +-- ...1-Optional-TNT-doesn-t-move-in-water.patch | 6 +-- .../0207-LivingEntity-setKiller.patch | 6 +-- ...emove-entities-on-dimension-teleport.patch | 6 +-- ...e-shield-blocking-delay-configurable.patch | 10 ++--- ...ivingEntity-Hand-Raised-Item-Use-API.patch | 6 +-- ...-more-information-to-Entity.toString.patch | 6 +-- .../0301-Duplicate-UUID-Resolve-Option.patch | 12 +++--- ...5-Vehicle-Event-Cancellation-Changes.patch | 39 ------------------- work/CraftBukkit | 2 +- work/Spigot | 2 +- 15 files changed, 45 insertions(+), 84 deletions(-) delete mode 100644 Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch diff --git a/Spigot-Server-Patches/0050-Be-a-bit-more-informative-in-maxHealth-exception.patch b/Spigot-Server-Patches/0050-Be-a-bit-more-informative-in-maxHealth-exception.patch index 930eece095..dd5a65b455 100644 --- a/Spigot-Server-Patches/0050-Be-a-bit-more-informative-in-maxHealth-exception.patch +++ b/Spigot-Server-Patches/0050-Be-a-bit-more-informative-in-maxHealth-exception.patch @@ -1,14 +1,14 @@ -From 3b79ccc01c8f6b19bf814b9e52598581701b2539 Mon Sep 17 00:00:00 2001 +From 159d7089d7b7173190d8b6453c0aea61acfc0ae5 Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 3 Mar 2016 02:18:39 -0600 Subject: [PATCH] Be a bit more informative in maxHealth exception diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 13100e5d21..1620d9a74e 100644 +index ae402a2bf4..9079f5e903 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -97,7 +97,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -98,7 +98,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setHealth(double health) { health = (float) health; if ((health < 0) || (health > getMaxHealth())) { diff --git a/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch index 063a98a19e..0954dc7e24 100644 --- a/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch +++ b/Spigot-Server-Patches/0059-Disable-Scoreboards-for-non-players-by-default.patch @@ -1,4 +1,4 @@ -From cdec1c94f32c30d5af8e5eeb755a84c5984218b7 Mon Sep 17 00:00:00 2001 +From ab2fb84cb4d0a1c63cb6d445067c98e9b7e45877 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 8 Mar 2016 23:25:45 -0500 Subject: [PATCH] Disable Scoreboards for non players by default @@ -11,7 +11,7 @@ So avoid looking up scoreboards and short circuit to the "not on a team" logic which is most likely to be true. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 4a2d29674..2b25da046 100644 +index 4a2d296746..2b25da0465 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -193,4 +193,9 @@ public class PaperWorldConfig { @@ -25,10 +25,10 @@ index 4a2d29674..2b25da046 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1870930f6..085f95dfe 100644 +index b2f6bca8aa..22cd9c7d82 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2258,6 +2258,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2259,6 +2259,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @Nullable public ScoreboardTeamBase be() { @@ -37,7 +37,7 @@ index 1870930f6..085f95dfe 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 574883462..dd48c6af0 100644 +index 574883462d..dd48c6af0c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -537,6 +537,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0060-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/Spigot-Server-Patches/0060-Add-methods-for-working-with-arrows-stuck-in-living-.patch index cc4427de41..ed3a8e05d5 100644 --- a/Spigot-Server-Patches/0060-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/Spigot-Server-Patches/0060-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -1,14 +1,14 @@ -From 6ed7bec1024ce7726a7feed2ca16e3b80ef3df07 Mon Sep 17 00:00:00 2001 +From 268f500c4d2b68c8a7a6e967496e1bf6b9479eee Mon Sep 17 00:00:00 2001 From: mrapple Date: Sun, 25 Nov 2012 13:43:39 -0600 Subject: [PATCH] Add methods for working with arrows stuck in living entities diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1620d9a74e..506d0d4e48 100644 +index 9079f5e903..b25ce0c58f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -509,4 +509,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -507,4 +507,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public boolean isCollidable() { return getHandle().collides; } diff --git a/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch b/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch index ddf8d12054..c01228a442 100644 --- a/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch +++ b/Spigot-Server-Patches/0079-Don-t-teleport-dead-entities.patch @@ -1,4 +1,4 @@ -From aba15fcba7f9d46fd103d2e8776d4732d800902c Mon Sep 17 00:00:00 2001 +From 79c5df24897ee9bcc76d84977c071ed6b6107afb Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:55:23 -0400 Subject: [PATCH] Don't teleport dead entities @@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic. Potentially an old CB change that's no longer needed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index dd47797724..a465f1cf79 100644 +index 063750cd5f..f69d544a51 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2575,7 +2575,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2576,7 +2576,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public Entity teleportTo(Location exit, boolean portal) { diff --git a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index a0aff62120..e732fef769 100644 --- a/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0099-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,4 +1,4 @@ -From bdbe4b6446ba17c498e8264ffa94016fab151b25 Mon Sep 17 00:00:00 2001 +From c020ce32ff52a05209704308ac8442396d630d53 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 6 Apr 2016 01:04:23 -0500 Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names @@ -19,10 +19,10 @@ index 667a0dde8c..b6ef1d4378 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a465f1cf79..76934f81a8 100644 +index f69d544a51..c11e9a1bf1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2270,6 +2270,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2271,6 +2271,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.getFlag(5); } diff --git a/Spigot-Server-Patches/0121-Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/0121-Optional-TNT-doesn-t-move-in-water.patch index c1ecfee146..a60f67eeb6 100644 --- a/Spigot-Server-Patches/0121-Optional-TNT-doesn-t-move-in-water.patch +++ b/Spigot-Server-Patches/0121-Optional-TNT-doesn-t-move-in-water.patch @@ -1,4 +1,4 @@ -From 2db9bc4cb7cbdc0975948534bb83eef4ce4bdc6d Mon Sep 17 00:00:00 2001 +From 049322e249bcc1b9347e23a99bc781f8fa146b29 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional TNT doesn't move in water @@ -32,7 +32,7 @@ index a3823408ca..41e73b3409 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1f41c1ded1..d35c0437f3 100644 +index 7768698ec6..f8eda1c3e0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1191,6 +1191,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -48,7 +48,7 @@ index 1f41c1ded1..d35c0437f3 100644 return this.isInWater() || this.q(); } -@@ -2736,6 +2742,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2737,6 +2743,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean bw() { diff --git a/Spigot-Server-Patches/0207-LivingEntity-setKiller.patch b/Spigot-Server-Patches/0207-LivingEntity-setKiller.patch index 9a0b321a55..2d468a9c77 100644 --- a/Spigot-Server-Patches/0207-LivingEntity-setKiller.patch +++ b/Spigot-Server-Patches/0207-LivingEntity-setKiller.patch @@ -1,14 +1,14 @@ -From 60f41c74b9da92c99db52fdbb77e577b5cd83bf1 Mon Sep 17 00:00:00 2001 +From dbe597643719f35822ae46e6e32feb03333214b3 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:49:48 -0500 Subject: [PATCH] LivingEntity#setKiller diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index bd2d90349e..524cfd99b7 100644 +index b25ce0c58f..71b9b45f10 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -255,6 +255,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -253,6 +253,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return getHandle().killer == null ? null : (Player) getHandle().killer.getBukkitEntity(); } diff --git a/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch b/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch index 3f5f62e2e9..508f4f31f0 100644 --- a/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch +++ b/Spigot-Server-Patches/0271-Properly-remove-entities-on-dimension-teleport.patch @@ -1,4 +1,4 @@ -From 6010e68f2c3d4733a78baede40dd80d456bff758 Mon Sep 17 00:00:00 2001 +From 071a95c07fb5f705384223310947d7a6c2031f69 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:04:42 -0400 Subject: [PATCH] Properly remove entities on dimension teleport @@ -22,10 +22,10 @@ requirement, but plugins (such as my own) use this method to trigger a "reload" of the entity on the client. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index bd232b31e4..af7b91b479 100644 +index 472c48bef7..efcc215ed3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2606,7 +2606,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2607,7 +2607,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // CraftBukkit end */ diff --git a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch index f42a5d41af..25ff46e7cc 100644 --- a/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0275-Make-shield-blocking-delay-configurable.patch @@ -1,11 +1,11 @@ -From b8fa6ff3c7fec9b9e738a30b035ac02f99458639 Mon Sep 17 00:00:00 2001 +From 30427ff32f5721e52b627144cc6ef04a04a06954 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:18:16 -0500 Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 3467da7c8..ddb5ced79 100644 +index 3467da7c8e..ddb5ced79d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -409,4 +409,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index 3467da7c8..ddb5ced79 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 999a02cad..eaab10a14 100644 +index 999a02cad3..eaab10a146 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2664,7 +2664,7 @@ public abstract class EntityLiving extends Entity { @@ -49,10 +49,10 @@ index 999a02cad..eaab10a14 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 524cfd99b..a6f847e31 100644 +index 71b9b45f10..d7344809ec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -530,5 +530,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -528,5 +528,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setArrowsStuck(int arrows) { getHandle().setArrowCount(arrows); } diff --git a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch index 093f53b297..42ef3b962e 100644 --- a/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0282-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From 7c7021b4de845573adde324dc039be0522406181 Mon Sep 17 00:00:00 2001 +From f29840c3c49b3e5d1441e230900c9f18e47e8571 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API @@ -32,10 +32,10 @@ index 4455dc4891..8be1ba5269 100644 return this.isHandRaised() ? this.activeItem.k() - this.cX() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a6f847e313..768bce1411 100644 +index d7344809ec..e199d08377 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -540,5 +540,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -538,5 +538,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setShieldBlockingDelay(int delay) { getHandle().setShieldBlockingDelay(delay); } diff --git a/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch index 1a1b41dfd9..a14f71664a 100644 --- a/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0298-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From 732dd355da4ae3f7b45a261d2a3b34535026bd81 Mon Sep 17 00:00:00 2001 +From ef1d00a30055a00851d00235596c71cc9b7a4777 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index af7b91b47..a2101d44f 100644 +index efcc215ed3..5a003c8203 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2505,7 +2505,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2506,7 +2506,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public String toString() { diff --git a/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch index d7e26baa45..7d5261d21c 100644 --- a/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0301-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 7a0a0416714c5b37aebde624c0c621c0b9c5612c Mon Sep 17 00:00:00 2001 +From a034c787c361a89d9679e0936d3151ff3d84d06f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7bd7aa0d9..ba6d5b7ff 100644 +index 7bd7aa0d94..ba6d5b7ff5 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -430,4 +430,40 @@ public class PaperWorldConfig { @@ -78,7 +78,7 @@ index 7bd7aa0d9..ba6d5b7ff 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b37fa3829..95c6812d7 100644 +index 3ac115ff65..4728ded917 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -145,10 +145,10 @@ index b37fa3829..95c6812d7 100644 this.world.a((Collection) entityslice); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b308f4416..b6d6d4f37 100644 +index 4ea52f9c59..2217ca9737 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2734,6 +2734,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2735,6 +2735,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke }); } @@ -157,7 +157,7 @@ index b308f4416..b6d6d4f37 100644 this.uniqueID = uuid; this.au = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 747d99dbe..7a9f28421 100644 +index 747d99dbe6..7a9f28421b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -40,7 +40,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch deleted file mode 100644 index b9b249f1b7..0000000000 --- a/Spigot-Server-Patches/0315-Vehicle-Event-Cancellation-Changes.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c39c439f6c3d365e43d812d3cfe4ce7d42b35b2b Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Fri, 22 Apr 2016 18:20:05 -0500 -Subject: [PATCH] Vehicle Event Cancellation Changes - - -diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 85358902ff..98d67d9a17 100644 ---- a/src/main/java/net/minecraft/server/Entity.java -+++ b/src/main/java/net/minecraft/server/Entity.java -@@ -96,7 +96,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - public boolean j; public boolean blocksEntitySpawning() { return j; } // Paper - OBFHELPER - public final List passengers; - protected int k; -- private Entity ax; -+ private Entity ax;public void setVehicle(Entity entity) { this.ax = entity; } // Paper - OBFHELPER - public boolean attachedToPlayer; - public World world; - public double lastX; -@@ -2141,6 +2141,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); - } else { - // CraftBukkit start -+ entity.setVehicle(this); // Paper - Set the vehicle back for the event - CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); - Entity orig = craft == null ? null : craft.getHandle(); - if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { -@@ -2163,6 +2164,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - return; - } - // Spigot end -+ -+ entity.setVehicle(null); // Paper - fix EntityDismountEvent cancellable - this.passengers.remove(entity); - entity.k = 60; - } --- -2.18.0 - diff --git a/work/CraftBukkit b/work/CraftBukkit index 4b00823222..e3c21decb0 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 4b00823222b633f1776cdc12da55b2e0f88371e2 +Subproject commit e3c21decb0bff39ec2e4bb3c95a6554ea3755609 diff --git a/work/Spigot b/work/Spigot index f68f5a8253..69774b3e44 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit f68f5a82539faf7fb36f64bd72731e35d3e57cc3 +Subproject commit 69774b3e4419d3213023b46dc791214bd39f48d6 From 2c6773c85fd3c9910be859edaca5244e561021a4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 01:20:06 -0400 Subject: [PATCH 69/70] Fix Dupe UUID logic triggering when the duplicate is pending unload Vanilla logic checks unload queue and overwrites if its in it. we're triggering this if a chunk unloads, and reloads immediately in same tick. Added check for unload queue to not treat as duplicate Also fixed the config setting not even loading --- .../0338-Duplicate-UUID-Resolve-Option.patch | 33 ++++++++++++++----- ...revent-Saving-Bad-entities-to-chunks.patch | 22 ++----------- 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch index 0c2936745d..963e00bdc8 100644 --- a/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0338-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 4452cada18204294fb8059bdefe9da4e3f246480 Mon Sep 17 00:00:00 2001 +From 40d2133fe00d2b7208a17e36c2b70e07fc3510c6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 14c8edeffc..e3f6557e1f 100644 +index 14c8edeffc..1f4e438c1f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -541,4 +541,40 @@ public class PaperWorldConfig { @@ -45,7 +45,7 @@ index 14c8edeffc..e3f6557e1f 100644 + REGEN, DELETE, NOTHING, WARN + } + public DuplicateUUIDMode duplicateUUIDMode = DuplicateUUIDMode.REGEN; -+ public void repairDuplicateUUID() { ++ private void repairDuplicateUUID() { + String desiredMode = getString("duplicate-uuid-resolver", "regenerate").toLowerCase().trim(); + switch (desiredMode.toLowerCase()) { + case "regen": @@ -78,7 +78,7 @@ index 14c8edeffc..e3f6557e1f 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index f1815d3766..7a62fae332 100644 +index f1815d3766..74612a3924 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -108,21 +108,22 @@ index f1815d3766..7a62fae332 100644 } int k = MathHelper.floor(entity.locY / 16.0D); -@@ -851,6 +858,35 @@ public class Chunk { +@@ -851,6 +858,39 @@ public class Chunk { for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot + // Paper start + DuplicateUUIDMode mode = world.paperConfig.duplicateUUIDMode; -+ if (mode == DuplicateUUIDMode.DELETE || mode == DuplicateUUIDMode.REGEN) { ++ if (mode == DuplicateUUIDMode.WARN | mode == DuplicateUUIDMode.DELETE || mode == DuplicateUUIDMode.REGEN) { + Map thisChunk = new HashMap<>(); + for (Iterator iterator = ((List) entityslice).iterator(); iterator.hasNext(); ) { + Entity entity = iterator.next(); ++ if (entity.dead) continue; + Entity other = ((WorldServer) world).entitiesByUUID.get(entity.uniqueID); -+ if (other == null) { ++ if (other == null || other.dead || world.getEntityUnloadQueue().contains(other)) { + other = thisChunk.get(entity.uniqueID); + } -+ if (other != null) { ++ if (other != null && !other.dead) { + switch (mode) { + case REGEN: { + entity.setUUID(UUID.randomUUID()); @@ -135,6 +136,9 @@ index f1815d3766..7a62fae332 100644 + iterator.remove(); + break; + } ++ default: ++ logger.warn("[DUPE-UUID] Duplicate UUID found used by " + other + ", doing nothing to " + entity + ". See https://github.com/PaperMC/Paper/issues/1223 for discussion on what this is about."); ++ break; + } + } + thisChunk.put(entity.uniqueID, entity); @@ -156,6 +160,19 @@ index 93ab050fa6..fdabb1e369 100644 public void a(UUID uuid) { this.uniqueID = uuid; this.ar = this.uniqueID.toString(); +diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java +index 52adee8806..b4de3b515a 100644 +--- a/src/main/java/net/minecraft/server/World.java ++++ b/src/main/java/net/minecraft/server/World.java +@@ -70,7 +70,7 @@ public abstract class World implements IBlockAccess { + } + }; + // Spigot end +- protected final Set f = Sets.newHashSet(); // Paper ++ protected final Set f = Sets.newHashSet(); public Set getEntityUnloadQueue() { return f; };// Paper - OBFHELPER + //public final List tileEntityList = Lists.newArrayList(); // Paper - remove unused list + public final List tileEntityListTick = Lists.newArrayList(); + private final List b = Lists.newArrayList(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java index 994d4bbb84..1244baf45a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java diff --git a/Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch index b4ab7259b6..b3be861906 100644 --- a/Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch +++ b/Spigot-Server-Patches/0341-Prevent-Saving-Bad-entities-to-chunks.patch @@ -1,4 +1,4 @@ -From 192eaaeea08d9440107cf701c7d769341386855f Mon Sep 17 00:00:00 2001 +From 84507c90ff4af6aa9e32dc69f6d8c64b4d230345 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 26 Jul 2018 00:11:12 -0400 Subject: [PATCH] Prevent Saving Bad entities to chunks @@ -17,24 +17,6 @@ an invalid entity. This should reduce log occurrences of dupe uuid messages. -diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index be0b411e5c..e5a5217429 100644 ---- a/src/main/java/net/minecraft/server/Chunk.java -+++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -897,11 +897,12 @@ public class Chunk { - Map thisChunk = new HashMap<>(); - for (Iterator iterator = ((List) entityslice).iterator(); iterator.hasNext(); ) { - Entity entity = iterator.next(); -+ if (entity.dead) continue; - Entity other = ((WorldServer) world).entitiesByUUID.get(entity.uniqueID); - if (other == null) { - other = thisChunk.get(entity.uniqueID); - } -- if (other != null) { -+ if (other != null && !other.dead) { - switch (mode) { - case REGEN: { - entity.setUUID(UUID.randomUUID()); diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java index bcce5e8b7e..bad287fca4 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -75,7 +57,7 @@ index bcce5e8b7e..bad287fca4 100644 nbttagcompound.set("Entities", nbttaglist1); NBTTagList nbttaglist2 = new NBTTagList(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 52adee8806..c2b92ad3a5 100644 +index b4de3b515a..d2d2ab794b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1202,7 +1202,7 @@ public abstract class World implements IBlockAccess { From fa9224721e1fbde70b915753756561b935d868fb Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 28 Jul 2018 01:03:10 -0500 Subject: [PATCH 70/70] 1.13: EnderDragon Events (#1247) Replaces PR #1185 for 1.13 Add some new cancellable enderdragon events dealing with its fireball shooting and the areaeffectcloud it spawns. Based on [talking with someone with a specific use-case](https://www.spigotmc.org/threads/cancel-projectilehitevent.326466/) this was [confirmed to work](http://i.imgur.com/ezlfpKC.png) for them in PM. --- .../0125-EnderDragon-Events.patch | 209 ++++++++++++++++++ .../0299-EnderDragon-Events.patch | 60 +++++ 2 files changed, 269 insertions(+) create mode 100644 Spigot-API-Patches/0125-EnderDragon-Events.patch create mode 100644 Spigot-Server-Patches/0299-EnderDragon-Events.patch diff --git a/Spigot-API-Patches/0125-EnderDragon-Events.patch b/Spigot-API-Patches/0125-EnderDragon-Events.patch new file mode 100644 index 0000000000..404e7ecac7 --- /dev/null +++ b/Spigot-API-Patches/0125-EnderDragon-Events.patch @@ -0,0 +1,209 @@ +From f43d349299401f7db1e573918c8d2ca82d4ac422 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Sat, 21 Jul 2018 01:51:05 -0500 +Subject: [PATCH] EnderDragon Events + + +diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFireballHitEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFireballHitEvent.java +new file mode 100644 +index 00000000..2ac57af3 +--- /dev/null ++++ b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFireballHitEvent.java +@@ -0,0 +1,70 @@ ++package com.destroystokyo.paper.event.entity; ++ ++import org.bukkit.entity.AreaEffectCloud; ++import org.bukkit.entity.DragonFireball; ++import org.bukkit.entity.LivingEntity; ++import org.bukkit.event.Cancellable; ++import org.bukkit.event.HandlerList; ++import org.bukkit.event.entity.EntityEvent; ++ ++import java.util.Collection; ++ ++/** ++ * Fired when a DragonFireball collides with a block/entity and spawns an AreaEffectCloud ++ */ ++public class EnderDragonFireballHitEvent extends EntityEvent implements Cancellable { ++ private final Collection targets; ++ private final AreaEffectCloud areaEffectCloud; ++ ++ public EnderDragonFireballHitEvent(DragonFireball fireball, Collection targets, AreaEffectCloud areaEffectCloud) { ++ super(fireball); ++ this.targets = targets; ++ this.areaEffectCloud = areaEffectCloud; ++ } ++ ++ /** ++ * The fireball involved in this event ++ */ ++ @Override ++ public DragonFireball getEntity() { ++ return (DragonFireball) super.getEntity(); ++ } ++ ++ /** ++ * The living entities hit by fireball ++ *

++ * May be null if no entities were hit ++ */ ++ public Collection getTargets() { ++ return targets; ++ } ++ ++ /** ++ * The area effect cloud spawned in this collision ++ */ ++ public AreaEffectCloud getAreaEffectCloud() { ++ return areaEffectCloud; ++ } ++ ++ private static final HandlerList handlers = new HandlerList(); ++ ++ public HandlerList getHandlers() { ++ return handlers; ++ } ++ ++ public static HandlerList getHandlerList() { ++ return handlers; ++ } ++ ++ private boolean cancelled = false; ++ ++ @Override ++ public boolean isCancelled() { ++ return cancelled; ++ } ++ ++ @Override ++ public void setCancelled(boolean cancel) { ++ cancelled = cancel; ++ } ++} +diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFlameEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFlameEvent.java +new file mode 100644 +index 00000000..59f87633 +--- /dev/null ++++ b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFlameEvent.java +@@ -0,0 +1,56 @@ ++package com.destroystokyo.paper.event.entity; ++ ++import org.bukkit.entity.AreaEffectCloud; ++import org.bukkit.entity.EnderDragon; ++import org.bukkit.event.Cancellable; ++import org.bukkit.event.HandlerList; ++import org.bukkit.event.entity.EntityEvent; ++ ++/** ++ * Fired when an EnderDragon spawns an AreaEffectCloud by shooting flames ++ */ ++public class EnderDragonFlameEvent extends EntityEvent implements Cancellable { ++ private final AreaEffectCloud areaEffectCloud; ++ ++ public EnderDragonFlameEvent(EnderDragon enderDragon, AreaEffectCloud areaEffectCloud) { ++ super(enderDragon); ++ this.areaEffectCloud = areaEffectCloud; ++ } ++ ++ /** ++ * The enderdragon involved in this event ++ */ ++ @Override ++ public EnderDragon getEntity() { ++ return (EnderDragon) super.getEntity(); ++ } ++ ++ /** ++ * The area effect cloud spawned in this collision ++ */ ++ public AreaEffectCloud getAreaEffectCloud() { ++ return areaEffectCloud; ++ } ++ ++ private static final HandlerList handlers = new HandlerList(); ++ ++ public HandlerList getHandlers() { ++ return handlers; ++ } ++ ++ public static HandlerList getHandlerList() { ++ return handlers; ++ } ++ ++ private boolean cancelled = false; ++ ++ @Override ++ public boolean isCancelled() { ++ return cancelled; ++ } ++ ++ @Override ++ public void setCancelled(boolean cancel) { ++ cancelled = cancel; ++ } ++} +diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonShootFireballEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonShootFireballEvent.java +new file mode 100644 +index 00000000..296ae244 +--- /dev/null ++++ b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonShootFireballEvent.java +@@ -0,0 +1,56 @@ ++package com.destroystokyo.paper.event.entity; ++ ++import org.bukkit.entity.DragonFireball; ++import org.bukkit.entity.EnderDragon; ++import org.bukkit.event.Cancellable; ++import org.bukkit.event.HandlerList; ++import org.bukkit.event.entity.EntityEvent; ++ ++/** ++ * Fired when an EnderDragon shoots a fireball ++ */ ++public class EnderDragonShootFireballEvent extends EntityEvent implements Cancellable { ++ private final DragonFireball fireball; ++ ++ public EnderDragonShootFireballEvent(EnderDragon entity, DragonFireball fireball) { ++ super(entity); ++ this.fireball = fireball; ++ } ++ ++ /** ++ * The enderdragon shooting the fireball ++ */ ++ @Override ++ public EnderDragon getEntity() { ++ return (EnderDragon) super.getEntity(); ++ } ++ ++ /** ++ * The fireball being shot ++ */ ++ public DragonFireball getFireball() { ++ return fireball; ++ } ++ ++ private static final HandlerList handlers = new HandlerList(); ++ ++ public HandlerList getHandlers() { ++ return handlers; ++ } ++ ++ public static HandlerList getHandlerList() { ++ return handlers; ++ } ++ ++ private boolean cancelled = false; ++ ++ @Override ++ public boolean isCancelled() { ++ return cancelled; ++ } ++ ++ @Override ++ public void setCancelled(boolean cancel) { ++ cancelled = cancel; ++ } ++} +-- +2.11.0 + diff --git a/Spigot-Server-Patches/0299-EnderDragon-Events.patch b/Spigot-Server-Patches/0299-EnderDragon-Events.patch new file mode 100644 index 0000000000..00a1bb86c1 --- /dev/null +++ b/Spigot-Server-Patches/0299-EnderDragon-Events.patch @@ -0,0 +1,60 @@ +From a10cdd4797b779ff0853512f98b6e89cc1b1385d Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Sat, 21 Jul 2018 01:51:27 -0500 +Subject: [PATCH] EnderDragon Events + + +diff --git a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java +index b78d3fe50..ef8b0e765 100644 +--- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java ++++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java +@@ -63,7 +63,9 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded + this.d.setDuration(200); + this.d.setParticle(Particles.j); + this.d.a(new MobEffect(MobEffects.HARM)); ++ if (new com.destroystokyo.paper.event.entity.EnderDragonFlameEvent((org.bukkit.entity.EnderDragon) this.a.getBukkitEntity(), (org.bukkit.entity.AreaEffectCloud) this.d.getBukkitEntity()).callEvent()) // Paper + this.a.world.addEntity(this.d); ++ else this.removeAreaEffect(); // Paper + } + + } +@@ -73,6 +75,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded + ++this.c; + } + ++ public void removeAreaEffect() { this.e(); } // Paper - OBFHELPER + public void e() { + if (this.d != null) { + this.d.die(); +diff --git a/src/main/java/net/minecraft/server/DragonControllerStrafe.java b/src/main/java/net/minecraft/server/DragonControllerStrafe.java +index 9c158fd58..b4887d658 100644 +--- a/src/main/java/net/minecraft/server/DragonControllerStrafe.java ++++ b/src/main/java/net/minecraft/server/DragonControllerStrafe.java +@@ -67,7 +67,9 @@ public class DragonControllerStrafe extends AbstractDragonController { + EntityDragonFireball entitydragonfireball = new EntityDragonFireball(this.a.world, this.a, d9, d10, d11); + + entitydragonfireball.setPositionRotation(d6, d7, d8, 0.0F, 0.0F); ++ if (new com.destroystokyo.paper.event.entity.EnderDragonShootFireballEvent((org.bukkit.entity.EnderDragon) a.getBukkitEntity(), (org.bukkit.entity.DragonFireball) entitydragonfireball.getBukkitEntity()).callEvent()) // Paper + this.a.world.addEntity(entitydragonfireball); ++ else entitydragonfireball.die(); // Paper + this.c = 0; + if (this.d != null) { + while (!this.d.b()) { +diff --git a/src/main/java/net/minecraft/server/EntityDragonFireball.java b/src/main/java/net/minecraft/server/EntityDragonFireball.java +index 862ffc954..2b55cc68b 100644 +--- a/src/main/java/net/minecraft/server/EntityDragonFireball.java ++++ b/src/main/java/net/minecraft/server/EntityDragonFireball.java +@@ -39,8 +39,10 @@ public class EntityDragonFireball extends EntityFireball { + } + } + ++ if (new com.destroystokyo.paper.event.entity.EnderDragonFireballHitEvent((org.bukkit.entity.DragonFireball) this.getBukkitEntity(), list, (org.bukkit.entity.AreaEffectCloud) entityareaeffectcloud.getBukkitEntity()).callEvent()) { // Paper + this.world.triggerEffect(2006, new BlockPosition(this.locX, this.locY, this.locZ), 0); + this.world.addEntity(entityareaeffectcloud); ++ } else entityareaeffectcloud.die(); // Paper + this.die(); + } + +-- +2.11.0 +