diff --git a/Spigot-Server-Patches/Entity-Origin-API.patch b/Spigot-Server-Patches/Entity-Origin-API.patch
index c24ed2ee299..489ba7ed145 100644
--- a/Spigot-Server-Patches/Entity-Origin-API.patch
+++ b/Spigot-Server-Patches/Entity-Origin-API.patch
@@ -11,7 +11,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
- public Timing tickTimer = SpigotTimings.getEntityTimings(this); // Paper
+ public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
+ public Location origin; // Paper
// Spigot start
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
diff --git a/Spigot-Server-Patches/Lighting-Queue.patch b/Spigot-Server-Patches/Lighting-Queue.patch
index 16d1b178a45..eee5815c716 100644
--- a/Spigot-Server-Patches/Lighting-Queue.patch
+++ b/Spigot-Server-Patches/Lighting-Queue.patch
@@ -4,11 +4,11 @@ Date: Wed, 2 Mar 2016 00:52:31 -0600
Subject: [PATCH] Lighting Queue
-diff --git a/src/main/java/co/aikar/timings/SpigotTimings.java b/src/main/java/co/aikar/timings/SpigotTimings.java
+diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/co/aikar/timings/SpigotTimings.java
-+++ b/src/main/java/co/aikar/timings/SpigotTimings.java
-@@ -0,0 +0,0 @@ public final class SpigotTimings {
+--- a/src/main/java/co/aikar/timings/MinecraftTimings.java
++++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
+@@ -0,0 +0,0 @@ public final class MinecraftTimings {
public static final Timing timeUpdateTimer = Timings.ofSafe("Time Update");
public static final Timing serverCommandTimer = Timings.ofSafe("Server Command");
public static final Timing worldSaveTimer = Timings.ofSafe("World Save");
@@ -152,7 +152,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.CraftServer;
// CraftBukkit end
- import co.aikar.timings.SpigotTimings; // Paper
+ import co.aikar.timings.MinecraftTimings; // Paper
+// Paper start
+import java.util.LinkedList;
@@ -171,13 +171,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+ this.methodProfiler.b();
+ this.methodProfiler.b();
- this.methodProfiler.b();
- this.methodProfiler.b();
-+
+ // Paper start - Flush light updates
+ if (!lightingQueue.isEmpty()) {
-+ SpigotTimings.lightingQueueTimer.startTiming();
++ MinecraftTimings.lightingQueueTimer.startTiming();
+
+ int updatesThisTick = 0;
+ long cachedTime = System.currentTimeMillis();
@@ -199,7 +198,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
+ }
+
-+ SpigotTimings.lightingQueueTimer.stopTiming();
++ MinecraftTimings.lightingQueueTimer.stopTiming();
+ }
+ // Paper end
+
diff --git a/Spigot-Server-Patches/Optimize-explosions.patch b/Spigot-Server-Patches/Optimize-explosions.patch
index afbda3644a2..1651d27ee94 100644
--- a/Spigot-Server-Patches/Optimize-explosions.patch
+++ b/Spigot-Server-Patches/Optimize-explosions.patch
@@ -128,7 +128,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
- worldserver.timings.tracker.stopTiming(); // Spigot
+ worldserver.getTracker().updatePlayers();
this.methodProfiler.b();
this.methodProfiler.b();
+ worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
diff --git a/Spigot-Server-Patches/Timings-v2.patch b/Spigot-Server-Patches/Timings-v2.patch
index edf20c92334..eb97c2ce18a 100644
--- a/Spigot-Server-Patches/Timings-v2.patch
+++ b/Spigot-Server-Patches/Timings-v2.patch
@@ -21,11 +21,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
net.sf.trove4j
trove4j
3.0.3
-diff --git a/src/main/java/co/aikar/timings/SpigotTimings.java b/src/main/java/co/aikar/timings/SpigotTimings.java
+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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
--- /dev/null
-+++ b/src/main/java/co/aikar/timings/SpigotTimings.java
++++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -0,0 +0,0 @@
+package co.aikar.timings;
+
@@ -35,7 +35,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+
+import org.bukkit.craftbukkit.scheduler.CraftTask;
+
-+public final class SpigotTimings {
++public final class MinecraftTimings {
+
+ public static final Timing playerListTimer = Timings.ofSafe("Player List");
+ public static final Timing connectionTimer = Timings.ofSafe("Connection Handler");
@@ -59,7 +59,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ public static final Timing antiXrayUpdateTimer = Timings.ofSafe("anti-xray - update");
+ public static final Timing antiXrayObfuscateTimer = Timings.ofSafe("anti-xray - obfuscate");
+
-+ private SpigotTimings() {}
++ private MinecraftTimings() {}
+
+ /**
+ * Gets a timer associated with a plugins tasks.
@@ -167,7 +167,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ public final Timing entityTick;
+ public final Timing tileEntityTick;
+ public final Timing tileEntityPending;
-+ public final Timing tracker;
++ public final Timing tracker1;
++ public final Timing tracker2;
+ public final Timing doTick;
+ public final Timing tickEntities;
+
@@ -207,7 +208,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ syncChunkLoadTileTicksTimer = Timings.ofSafe(name + "chunkLoad - TileTicks");
+ syncChunkLoadPostTimer = Timings.ofSafe(name + "chunkLoad - Post");
+
-+ tracker = Timings.ofSafe(name + "tracker");
++ tracker1 = Timings.ofSafe(name + "tracker stage 1");
++ tracker2 = Timings.ofSafe(name + "tracker stage 2");
+ doTick = Timings.ofSafe(name + "doTick");
+ tickEntities = Timings.ofSafe(name + "tickEntities");
+ }
@@ -284,7 +286,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ public co.aikar.timings.Timing timing;
+ public co.aikar.timings.Timing getTiming() {
+ if (timing == null) {
-+ timing = co.aikar.timings.SpigotTimings.getBlockTiming(this);
++ timing = co.aikar.timings.MinecraftTimings.getBlockTiming(this);
+ }
+ return timing;
+ }
@@ -301,10 +303,28 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.bukkit.craftbukkit.LoggerOutputStream;
-import org.bukkit.craftbukkit.SpigotTimings; // Spigot
-+import co.aikar.timings.SpigotTimings; // Paper
++import co.aikar.timings.MinecraftTimings; // Paper
import org.bukkit.event.server.ServerCommandEvent;
import org.bukkit.craftbukkit.util.Waitable;
import org.bukkit.event.server.RemoteServerCommandEvent;
+@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
+ }
+
+ public void aL() {
+- SpigotTimings.serverCommandTimer.startTiming(); // Spigot
++ MinecraftTimings.serverCommandTimer.startTiming(); // Spigot
+ while (!this.serverCommandQueue.isEmpty()) {
+ ServerCommand servercommand = (ServerCommand) this.serverCommandQueue.remove(0);
+
+@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
+ // CraftBukkit end
+ }
+
+- SpigotTimings.serverCommandTimer.stopTiming(); // Spigot
++ MinecraftTimings.serverCommandTimer.stopTiming(); // Spigot
+ }
+
+ public boolean aa() {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/Entity.java
@@ -314,7 +334,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Vehicle;
-import org.spigotmc.CustomTimingsHandler; // Spigot
-+import co.aikar.timings.SpigotTimings; // Paper
++import co.aikar.timings.MinecraftTimings; // Paper
+import co.aikar.timings.Timing; // Paper
import org.bukkit.event.entity.EntityCombustByEntityEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
@@ -324,7 +344,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
- public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
-+ public Timing tickTimer = SpigotTimings.getEntityTimings(this); // Paper
++ public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
// Spigot start
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState;
@@ -353,7 +373,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// CraftBukkit end
-import org.bukkit.craftbukkit.SpigotTimings; // Spigot
-+import co.aikar.timings.SpigotTimings; // Paper
++import co.aikar.timings.MinecraftTimings; // Paper
public abstract class EntityLiving extends Entity {
@@ -415,6 +435,37 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
this.world.methodProfiler.b();
}
+diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/server/EntityTracker.java
++++ b/src/main/java/net/minecraft/server/EntityTracker.java
+@@ -0,0 +0,0 @@ public class EntityTracker {
+ public void updatePlayers() {
+ ArrayList arraylist = Lists.newArrayList();
+ Iterator iterator = this.c.iterator();
+-
++ world.timings.tracker1.startTiming(); // Spigot
+ while (iterator.hasNext()) {
+ EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) iterator.next();
+
+@@ -0,0 +0,0 @@ public class EntityTracker {
+ }
+ }
+ }
++ world.timings.tracker1.stopTiming(); // Spigot
+
++ world.timings.tracker2.startTiming(); // Spigot
+ for (int i = 0; i < arraylist.size(); ++i) {
+ EntityPlayer entityplayer = (EntityPlayer) arraylist.get(i);
+ Iterator iterator1 = this.c.iterator();
+@@ -0,0 +0,0 @@ public class EntityTracker {
+ }
+ }
+ }
++ world.timings.tracker2.stopTiming(); // Spigot
+
+ }
+
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -424,7 +475,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// CraftBukkit start
// CraftBukkit end
-import org.bukkit.craftbukkit.SpigotTimings; // Spigot
-+import co.aikar.timings.SpigotTimings; // Paper
++import co.aikar.timings.MinecraftTimings; // Paper
public abstract class MinecraftServer implements Runnable, ICommandListener, IAsyncTaskHandler, IMojangStatistics {
@@ -432,7 +483,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
-+ SpigotTimings.stopServer(); // Paper
++ MinecraftTimings.stopServer(); // Paper
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -446,8 +497,28 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
++this.ticks;
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+ }
+
+ if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
+- SpigotTimings.worldSaveTimer.startTiming(); // Spigot
++ MinecraftTimings.worldSaveTimer.startTiming(); // Spigot
+ this.methodProfiler.a("save");
+ this.v.savePlayers();
+ // Spigot Start
+@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+ // this.saveChunks(true);
+ // Spigot End
+ this.methodProfiler.b();
+- SpigotTimings.worldSaveTimer.stopTiming(); // Spigot
++ MinecraftTimings.worldSaveTimer.stopTiming(); // Spigot
+ }
+
+ this.methodProfiler.a("tallying");
+@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+
this.methodProfiler.b();
this.methodProfiler.b();
++
org.spigotmc.WatchdogThread.tick(); // Spigot
- SpigotTimings.serverTickTimer.stopTiming(); // Spigot
- org.spigotmc.CustomTimingsHandler.tick(); // Spigot
@@ -455,7 +526,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
public void D() {
-+ SpigotTimings.minecraftSchedulerTimer.startTiming(); // Paper
++ MinecraftTimings.minecraftSchedulerTimer.startTiming(); // Paper
this.methodProfiler.a("jobs");
Queue queue = this.j;
@@ -463,19 +534,83 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
SystemUtils.a(entry, MinecraftServer.LOGGER);
}
// Spigot end
-+ SpigotTimings.minecraftSchedulerTimer.stopTiming(); // Paper
++ MinecraftTimings.minecraftSchedulerTimer.stopTiming(); // Paper
this.methodProfiler.c("levels");
- SpigotTimings.schedulerTimer.startTiming(); // Spigot
-+ SpigotTimings.bukkitSchedulerTimer.startTiming(); // Paper
++ MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Paper
// CraftBukkit start
this.server.getScheduler().mainThreadHeartbeat(this.ticks);
- SpigotTimings.schedulerTimer.stopTiming(); // Spigot
-+ SpigotTimings.bukkitSchedulerTimer.stopTiming(); // Paper
++ MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Paper
// Run tasks that are waiting on processing
- SpigotTimings.processQueueTimer.startTiming(); // Spigot
+- SpigotTimings.processQueueTimer.startTiming(); // Spigot
++ MinecraftTimings.processQueueTimer.startTiming(); // Spigot
+ while (!processQueue.isEmpty()) {
+ processQueue.remove().run();
+ }
+- SpigotTimings.processQueueTimer.stopTiming(); // Spigot
++ MinecraftTimings.processQueueTimer.stopTiming(); // Spigot
+
+- SpigotTimings.chunkIOTickTimer.startTiming(); // Spigot
++ MinecraftTimings.chunkIOTickTimer.startTiming(); // Spigot
+ org.bukkit.craftbukkit.chunkio.ChunkIOExecutor.tick();
+- SpigotTimings.chunkIOTickTimer.stopTiming(); // Spigot
++ MinecraftTimings.chunkIOTickTimer.stopTiming(); // Spigot
+
+- SpigotTimings.timeUpdateTimer.startTiming(); // Spigot
++ MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot
+ // 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) {
+@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+ entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
+ }
+ }
+- SpigotTimings.timeUpdateTimer.stopTiming(); // Spigot
++ MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot
+
+ int i;
+
+@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+
+ this.methodProfiler.b();
+ this.methodProfiler.a("tracker");
+- worldserver.timings.tracker.startTiming(); // Spigot
+ worldserver.getTracker().updatePlayers();
+- worldserver.timings.tracker.stopTiming(); // Spigot
+ this.methodProfiler.b();
+ this.methodProfiler.b();
+ // } // CraftBukkit
+@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+ }
+
+ this.methodProfiler.c("connection");
+- SpigotTimings.connectionTimer.startTiming(); // Spigot
++ MinecraftTimings.connectionTimer.startTiming(); // Spigot
+ this.am().c();
+- SpigotTimings.connectionTimer.stopTiming(); // Spigot
++ MinecraftTimings.connectionTimer.stopTiming(); // Spigot
+ this.methodProfiler.c("players");
+- SpigotTimings.playerListTimer.startTiming(); // Spigot
++ MinecraftTimings.playerListTimer.startTiming(); // Spigot
+ this.v.tick();
+- SpigotTimings.playerListTimer.stopTiming(); // Spigot
++ MinecraftTimings.playerListTimer.stopTiming(); // Spigot
+ this.methodProfiler.c("tickables");
+
+- SpigotTimings.tickablesTimer.startTiming(); // Spigot
++ MinecraftTimings.tickablesTimer.startTiming(); // Spigot
+ for (i = 0; i < this.o.size(); ++i) {
+ ((ITickable) this.o.get(i)).c();
+ }
+- SpigotTimings.tickablesTimer.stopTiming(); // Spigot
++ MinecraftTimings.tickablesTimer.stopTiming(); // Spigot
+
+ this.methodProfiler.b();
+ }
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -484,7 +619,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.InventoryView;
import org.bukkit.util.NumberConversions;
-+import co.aikar.timings.SpigotTimings; // Paper
++import co.aikar.timings.MinecraftTimings; // Paper
// CraftBukkit end
public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -493,7 +628,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
private void handleCommand(String s) {
- org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.startTiming(); // Spigot
-+ SpigotTimings.playerCommandTimer.startTiming(); // Paper
++ MinecraftTimings.playerCommandTimer.startTiming(); // Paper
// CraftBukkit start - whole method
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getName() + " issued server command: " + s);
@@ -502,25 +637,25 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
if (event.isCancelled()) {
- org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.stopTiming(); // Spigot
-+ SpigotTimings.playerCommandTimer.stopTiming(); // Paper
++ MinecraftTimings.playerCommandTimer.stopTiming(); // Paper
return;
}
try {
if (this.server.dispatchCommand(event.getPlayer(), event.getMessage().substring(1))) {
- org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.stopTiming(); // Spigot
-+ SpigotTimings.playerCommandTimer.stopTiming(); // Paper
++ MinecraftTimings.playerCommandTimer.stopTiming(); // Paper
return;
}
} catch (org.bukkit.command.CommandException ex) {
player.sendMessage(org.bukkit.ChatColor.RED + "An internal error occurred while attempting to perform this command");
java.util.logging.Logger.getLogger(PlayerConnection.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.stopTiming(); // Spigot
-+ SpigotTimings.playerCommandTimer.stopTiming(); // Paper
++ MinecraftTimings.playerCommandTimer.stopTiming(); // Paper
return;
}
- org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.stopTiming(); // Spigot
-+ SpigotTimings.playerCommandTimer.stopTiming(); // Paper
++ MinecraftTimings.playerCommandTimer.stopTiming(); // Paper
// this.minecraftServer.getCommandHandler().a(this.player, s);
// CraftBukkit end
}
@@ -533,14 +668,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.apache.logging.log4j.Logger;
-import org.spigotmc.CustomTimingsHandler; // Spigot
-+import co.aikar.timings.SpigotTimings; // Paper
++import co.aikar.timings.MinecraftTimings; // Paper
+import co.aikar.timings.Timing; // Paper
import org.bukkit.inventory.InventoryHolder; // CraftBukkit
public abstract class TileEntity {
- public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getTileEntityTimings(this); // Spigot
-+ public Timing tickTimer = SpigotTimings.getTileEntityTimings(this); // Paper
++ public Timing tickTimer = MinecraftTimings.getTileEntityTimings(this); // Paper
private static final Logger a = LogManager.getLogger();
private static Map> f = Maps.newHashMap();
private static Map, String> g = Maps.newHashMap();
@@ -990,7 +1125,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
return false;
- }});
-+ }}){{this.timings=co.aikar.timings.SpigotTimings.getCancelTasksTimer();}}; // Paper
++ }}){{this.timings=co.aikar.timings.MinecraftTimings.getCancelTasksTimer();}}; // Paper
handle(task, 0l);
for (CraftTask taskPending = head.getNext(); taskPending != null; taskPending = taskPending.getNext()) {
if (taskPending == task) {
@@ -999,7 +1134,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
}
- });
-+ }){{this.timings=co.aikar.timings.SpigotTimings.getCancelTasksTimer(plugin);}}; // Paper
++ }){{this.timings=co.aikar.timings.MinecraftTimings.getCancelTasksTimer(plugin);}}; // Paper
handle(task, 0l);
for (CraftTask taskPending = head.getNext(); taskPending != null; taskPending = taskPending.getNext()) {
if (taskPending == task) {
@@ -1008,7 +1143,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
CraftScheduler.this.temp.clear();
}
- });
-+ }){{this.timings=co.aikar.timings.SpigotTimings.getCancelTasksTimer();}}; // Paper
++ }){{this.timings=co.aikar.timings.MinecraftTimings.getCancelTasksTimer();}}; // Paper
handle(task, 0l);
for (CraftTask taskPending = head.getNext(); taskPending != null; taskPending = taskPending.getNext()) {
if (taskPending == task) {
@@ -1032,7 +1167,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.SpigotTimings; // Spigot
-import org.spigotmc.CustomTimingsHandler; // Spigot
-+import co.aikar.timings.SpigotTimings; // Paper
++import co.aikar.timings.MinecraftTimings; // Paper
+import co.aikar.timings.Timing; // Paper
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitTask;
@@ -1076,7 +1211,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- CraftTask(final Plugin plugin, final Runnable task, final int id, final long period) {
- this(null, plugin, task, id, period);
- // Spigot end
-+ timings = task != null ? SpigotTimings.getPluginTaskTimings(this, period) : null; // Paper
++ timings = task != null ? MinecraftTimings.getPluginTaskTimings(this, period) : null; // Paper
}
public final int getTaskId() {
@@ -1125,10 +1260,39 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.World;
-import org.bukkit.craftbukkit.SpigotTimings;
-+import co.aikar.timings.SpigotTimings;
++import co.aikar.timings.MinecraftTimings;
public class ActivationRange
{
+@@ -0,0 +0,0 @@ public class ActivationRange
+ /**
+ * These entities are excluded from Activation range checks.
+ *
+- * @param entity
+- * @param world
++ * @param entity Entity to initialize
++ * @param config Spigot config to determine ranges
+ * @return boolean If it should always tick.
+ */
+ public static boolean initializeEntityActivationState(Entity entity, SpigotWorldConfig config)
+@@ -0,0 +0,0 @@ public class ActivationRange
+ */
+ public static void activateEntities(World world)
+ {
+- SpigotTimings.entityActivationCheckTimer.startTiming();
++ MinecraftTimings.entityActivationCheckTimer.startTiming();
+ final int miscActivationRange = world.spigotConfig.miscActivationRange;
+ final int animalActivationRange = world.spigotConfig.animalActivationRange;
+ final int monsterActivationRange = world.spigotConfig.monsterActivationRange;
+@@ -0,0 +0,0 @@ public class ActivationRange
+ }
+ }
+ }
+- SpigotTimings.entityActivationCheckTimer.stopTiming();
++ MinecraftTimings.entityActivationCheckTimer.stopTiming();
+ }
+
+ /**
@@ -0,0 +0,0 @@ public class ActivationRange
*/
public static boolean checkIfActive(Entity entity)