diff --git a/Bukkit b/Bukkit index 4d4ccf6..41e89a9 160000 --- a/Bukkit +++ b/Bukkit @@ -1 +1 @@ -Subproject commit 4d4ccf65159ebc895698abc9f282c394d7f159d5 +Subproject commit 41e89a96909667747c48d2d05980979f1334f4d0 diff --git a/CraftBukkit b/CraftBukkit index cb4dee5..d6871d8 160000 --- a/CraftBukkit +++ b/CraftBukkit @@ -1 +1 @@ -Subproject commit cb4dee587d3563de711fb2b3362796db43361763 +Subproject commit d6871d8278cad9e472c32e8a81e1803126724933 diff --git a/CraftBukkit-Patches/0024-Make-players-in-main-tick-loop-feature-configurable.patch b/CraftBukkit-Patches/0024-Make-players-in-main-tick-loop-feature-configurable.patch deleted file mode 100644 index 3740fe2..0000000 --- a/CraftBukkit-Patches/0024-Make-players-in-main-tick-loop-feature-configurable.patch +++ /dev/null @@ -1,170 +0,0 @@ -From 9c880888a208bb1909601ba0a5aeeb0205a97d0f Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Sun, 6 Jul 2014 01:49:28 -0500 -Subject: [PATCH] Make players in main tick loop feature configurable - - -diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 93b974a..1bf5d73 100644 ---- a/src/main/java/net/minecraft/server/EntityPlayer.java -+++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -27,6 +27,8 @@ import org.bukkit.event.inventory.InventoryType; - import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; - // CraftBukkit end - -+import org.github.paperspigot.PaperSpigotConfig; // PaperSpigot -+ - public class EntityPlayer extends EntityHuman implements ICrafting { - - private static final Logger bL = LogManager.getLogger(); -@@ -175,13 +177,18 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - return 1.62F; - } - -- // Spigot start -- private AxisAlignedBB groundCheck = AxisAlignedBB.a( 0, 0, 0, 0, 0, 0 ); -+ private boolean playerTickMainLoop = PaperSpigotConfig.playerTickMainLoop; - - public void h() { -- groundCheck.b( locX - 0.3, locY - 0.1, locZ - 0.3, locX + 0.3, locY, locZ + 0.3 ); -- onGround = world.c(groundCheck); -- // Spigot end -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (playerTickMainLoop) { -+ // Spigot start -+ AxisAlignedBB groundCheck = AxisAlignedBB.a( 0, 0, 0, 0, 0, 0 ); -+ groundCheck.b( locX - 0.3, locY - 0.1, locZ - 0.3, locX + 0.3, locY, locZ + 0.3 ); -+ onGround = world.c(groundCheck); -+ // Spigot end -+ } -+ // PaperSpigot end - - // CraftBukkit start - if (this.joining) { -@@ -261,14 +268,19 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - if (this.bX > 0L && this.server.getIdleTimeout() > 0 && MinecraftServer.ar() - this.bX > (long) (this.server.getIdleTimeout() * 1000 * 60)) { - this.playerConnection.disconnect("You have been idle for too long!"); - } -- // Spigot start -- this.i(); -- if ( Double.isNaN( previousY ) ) -- { -+ -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (playerTickMainLoop) { -+ // Spigot start -+ this.i(); -+ if ( Double.isNaN( previousY ) ) -+ { -+ previousY = locY; -+ } -+ this.b(locY - previousY, onGround); - previousY = locY; - } -- this.b(locY - previousY, onGround); -- previousY = locY; -+ // PaperSpigot end - } - - private double previousY = Double.NaN; -diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d5f3b7b..04eead9 100644 ---- a/src/main/java/net/minecraft/server/PlayerConnection.java -+++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -182,6 +182,8 @@ public class PlayerConnection implements PacketPlayInListener { - this.player.a(packetplayinsteervehicle.c(), packetplayinsteervehicle.d(), packetplayinsteervehicle.e(), packetplayinsteervehicle.f()); - } - -+ private boolean playerTickMainLoop = PaperSpigotConfig.playerTickMainLoop; -+ - public void a(PacketPlayInFlying packetplayinflying) { - // CraftBukkit start - Check for NaN - if (Double.isNaN(packetplayinflying.x) || Double.isNaN(packetplayinflying.y) || Double.isNaN(packetplayinflying.z) || Double.isNaN(packetplayinflying.stance)) { -@@ -291,6 +293,12 @@ public class PlayerConnection implements PacketPlayInListener { - f1 = packetplayinflying.h(); - } - -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (!playerTickMainLoop) { -+ this.player.onGround = packetplayinflying.i(); -+ this.player.i(); -+ } -+ // PaperSpigot end; - this.player.V = 0.0F; - this.player.setLocation(d1, d2, d3, f, f1); - if (this.player.vehicle != null) { -@@ -309,6 +317,11 @@ public class PlayerConnection implements PacketPlayInListener { - } - - if (this.player.isSleeping()) { -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (!playerTickMainLoop) { -+ this.player.i(); -+ } -+ // PaperSpigot end - this.player.setLocation(this.y, this.z, this.q, this.player.yaw, this.player.pitch); - worldserver.playerJoinedWorld(this.player); - return; -@@ -352,6 +365,11 @@ public class PlayerConnection implements PacketPlayInListener { - f3 = packetplayinflying.h(); - } - -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (!playerTickMainLoop) { -+ this.player.i(); -+ } -+ // PaperSpigot end - this.player.V = 0.0F; - this.player.setLocation(this.y, this.z, this.q, f2, f3); - if (!this.checkMovement) { -@@ -382,6 +400,11 @@ public class PlayerConnection implements PacketPlayInListener { - } - - this.player.move(d4, d5, d6); -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (!playerTickMainLoop) { -+ this.player.onGround = packetplayinflying.i(); -+ } -+ // PaperSpigot end - this.player.checkMovement(d4, d5, d6); - double d11 = d5; - -@@ -423,7 +446,17 @@ public class PlayerConnection implements PacketPlayInListener { - this.f = 0; - } - -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (!playerTickMainLoop) { -+ this.player.onGround = packetplayinflying.i(); -+ } -+ // PaperSpigot end - this.minecraftServer.getPlayerList().d(this.player); -+ // PaperSpigot start - Make player tick in main loop configurable -+ if (!playerTickMainLoop) { -+ this.player.b(this.player.locY - d0, packetplayinflying.i()); -+ } -+ // PaperSpigot end - } else if (this.e % 20 == 0) { - this.a(this.y, this.z, this.q, this.player.yaw, this.player.pitch); - } -diff --git a/src/main/java/org/github/paperspigot/PaperSpigotConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotConfig.java -index 7bda065..4f9f660 100644 ---- a/src/main/java/org/github/paperspigot/PaperSpigotConfig.java -+++ b/src/main/java/org/github/paperspigot/PaperSpigotConfig.java -@@ -135,4 +135,13 @@ public class PaperSpigotConfig - { - interactLimit = getInt( "settings.player-interaction-limit", 2 ); - } -+ -+ public static boolean playerTickMainLoop; -+ private static void playerTickMainLoop() -+ { -+ playerTickMainLoop = getBoolean( "settings.player-tick-in-main-loop", false ); -+ if ( playerTickMainLoop ) { -+ Bukkit.getLogger().log( Level.INFO, "Ticking players in the main loop. This may cause gameplay abnormalities" ); -+ } -+ } - } --- -1.9.1 -