Relocate Timings v2 patch

This commit is contained in:
Byteflux 2016-03-24 21:59:37 -07:00
parent 217f2135b0
commit 1d88720b2c
71 changed files with 391 additions and 389 deletions

View file

@ -1,11 +1,11 @@
From 2913f79fb789598971e82b36b116972502375d43 Mon Sep 17 00:00:00 2001
From 115a69756eb8f99a16be4b602e75edce84128684 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 29 Feb 2016 18:48:17 -0600
Subject: [PATCH] Timings v2
diff --git a/pom.xml b/pom.xml
index 2e8b318..3be5e5b 100644
index d916f44..d3a877a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,3 @@
@ -1506,7 +1506,7 @@ index 0000000..3dba3aa
+}
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
new file mode 100644
index 0000000..fe19ea0
index 0000000..09cab70
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -0,0 +1,373 @@
@ -2783,7 +2783,7 @@ index 0000000..3a288d2
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index e19f3d7..8d602a3 100644
index dc2c9d1..85fd9a8 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -537,7 +537,6 @@ public final class Bukkit {
@ -2795,10 +2795,10 @@ index e19f3d7..8d602a3 100644
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 92a5cbc..86fe389 100644
index 69720e9..f82cbaf 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -949,12 +949,27 @@ public interface Server extends PluginMessageRecipient {
@@ -942,12 +942,27 @@ public interface Server extends PluginMessageRecipient {
public class Spigot
{
@ -3160,10 +3160,10 @@ index fc59aa3..0000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index ed8b8f1..855bde5 100644
index 649cd45..3242c69 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1384,6 +1384,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@@ -1356,6 +1356,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
public void sendMessage(net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
}
@ -3538,5 +3538,5 @@ index 8d98297..7e89b97 100644
- }
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 9a4a2c1714d36269d90b39931fbc0209bacc9194 Mon Sep 17 00:00:00 2001
From 5ae17d42515dab32a03341740fd3b99aeb4c4420 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Mon, 29 Feb 2016 17:22:34 -0600
Subject: [PATCH] Player affects spawning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index dc58bea..2721f4c 100644
index 3242c69..0979f94 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1270,6 +1270,20 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@ -30,5 +30,5 @@ index dc58bea..2721f4c 100644
public class Spigot extends Entity.Spigot
{
--
2.7.2
2.7.1.windows.2

View file

@ -1,14 +1,14 @@
From 9082960948db00f8186644598d78836679ac08cf Mon Sep 17 00:00:00 2001
From c84a859dcf623824d3fa4f45d0fdb00c96f791a3 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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 dc2c9d1..e19f3d7 100644
index 85fd9a8..8d602a3 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1141,6 +1141,14 @@ public final class Bukkit {
@@ -1140,6 +1140,14 @@ public final class Bukkit {
}
/**
@ -24,7 +24,7 @@ index dc2c9d1..e19f3d7 100644
* @return the unsafe values instance
*/
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 69720e9..92a5cbc 100644
index f82cbaf..6e23b0c 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -934,6 +934,13 @@ public interface Server extends PluginMessageRecipient {
@ -42,5 +42,5 @@ index 69720e9..92a5cbc 100644
* @return the unsafe values instance
*/
--
2.7.2
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 71adf6472ca1b721a50a1258ae05839fe735e00d Mon Sep 17 00:00:00 2001
From 185a0dc471a2a1f5c74365f576ef3fecc04077cf Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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 4125633..724d7a9 100644
index d088c3c..d16facb 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -130,6 +130,78 @@ public interface World extends PluginMessageRecipient, Metadatable {
@ -88,5 +88,5 @@ index 4125633..724d7a9 100644
*
* @param chunk The chunk to check
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From a1986bb1ab9932a428e2e58202ee90900c09e620 Mon Sep 17 00:00:00 2001
From 77c518b68d30af9a16dee08c8352fdeb2c9ad371 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Mon, 29 Feb 2016 17:50:31 -0600
Subject: [PATCH] FallingBlock and TNTPrimed source location API
@ -37,5 +37,5 @@ index 3ce322d..74b82f9 100644
+ public org.bukkit.Location getSourceLoc();
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From a70062b4b5381c43c226ced8ae82eec0bed1843a Mon Sep 17 00:00:00 2001
From 8945fdcb9e256a858154ee2bd510b0be242c9258 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 17:58:01 -0600
Subject: [PATCH] Check Paper versions
@ -139,5 +139,5 @@ index b55abdb..6d32e1d 100644
+ // Paper end
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 84ef6c67c70f704918f2d6d1ae00a1ae10b317be Mon Sep 17 00:00:00 2001
From bb0becc6c80fa0996078cc9e7d5bb3e0dea72611 Mon Sep 17 00:00:00 2001
From: Isaac Moore <rmsy@me.com>
Date: Mon, 29 Feb 2016 18:02:25 -0600
Subject: [PATCH] Add PlayerLocaleChangeEvent
@ -58,5 +58,5 @@ index 0000000..17afc8c
+ }
+}
--
2.7.2
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 43f1261cbeab869585712a558a8a333b7a316348 Mon Sep 17 00:00:00 2001
From a4a5ff9f015a914a3967d0392769a74190945cba Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Mon, 29 Feb 2016 18:05:37 -0600
Subject: [PATCH] Add player view distance API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 2721f4c..ed8b8f1 100644
index 0979f94..1a11c2b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1284,6 +1284,20 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@ -30,5 +30,5 @@ index 2721f4c..ed8b8f1 100644
public class Spigot extends Entity.Spigot
{
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 9070ef66368a21f22fca497c89a62e1dacded81a Mon Sep 17 00:00:00 2001
From dcd1942fd0c3527281f9411bd7c4103ebdf00f1e Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Mon, 29 Feb 2016 18:09:40 -0600
Subject: [PATCH] Add BeaconEffectEvent
@ -92,5 +92,5 @@ index 0000000..6579ae9
+ }
+}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 0bae0f2147779322e69049cf9514e97f2b346a0e Mon Sep 17 00:00:00 2001
From 3eba221a754f0bdf4bc31cc105ed33757d4ab7f0 Mon Sep 17 00:00:00 2001
From: Steve Anton <anxuiz.nx@gmail.com>
Date: Mon, 29 Feb 2016 18:13:58 -0600
Subject: [PATCH] Add PlayerInitialSpawnEvent
@ -55,5 +55,5 @@ index 0000000..d1d6f33
+ }
+}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From ffac4a5563222eaf4d5c0b32f3ebfa77498f52cb Mon Sep 17 00:00:00 2001
From 1daf7fee6071727b2982a24b2c05057357c6e83d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2
@ -196,7 +196,7 @@ index 0000000..9ebc710
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 37ae817..5a14627 100644
index dca7763..7cfe3b9 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -10,13 +10,17 @@ import java.lang.reflect.Modifier;
@ -217,9 +217,9 @@ index 37ae817..5a14627 100644
public class PaperConfig {
@@ -132,4 +136,37 @@ public class PaperConfig {
Bukkit.getLogger().log(Level.INFO, "Disabling player interaction limiter, your server may be more vulnerable to malicious users");
}
@@ -119,4 +123,37 @@ public class PaperConfig {
config.addDefault(path, def);
return config.getString(path, config.getString(path));
}
+
+ private static void timings() {
@ -256,7 +256,7 @@ index 37ae817..5a14627 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index bed5577..0f71013 100644
index 1d2f580..88e1e98 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -32,6 +32,15 @@ public class Block {
@ -289,7 +289,7 @@ index dd3abb8..a0186ef 100644
import org.bukkit.craftbukkit.util.Waitable;
import org.bukkit.event.server.RemoteServerCommandEvent;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index cf58f74..38bc9c0 100644
index fd3983f..f4b9481 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -24,7 +24,8 @@ import org.bukkit.block.BlockFace;
@ -302,7 +302,7 @@ index cf58f74..38bc9c0 100644
import org.bukkit.event.entity.EntityCombustByEntityEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
@@ -148,7 +149,7 @@ public abstract class Entity implements ICommandListener {
@@ -140,7 +141,7 @@ public abstract class Entity implements ICommandListener {
public boolean valid; // CraftBukkit
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
@ -311,7 +311,7 @@ index cf58f74..38bc9c0 100644
// Spigot start
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState;
@@ -477,7 +478,6 @@ public abstract class Entity implements ICommandListener {
@@ -462,7 +463,6 @@ public abstract class Entity implements ICommandListener {
}
public void move(double d0, double d1, double d2) {
@ -319,7 +319,7 @@ index cf58f74..38bc9c0 100644
if (this.noclip) {
this.a(this.getBoundingBox().c(d0, d1, d2));
this.recalcPosition();
@@ -818,7 +818,6 @@ public abstract class Entity implements ICommandListener {
@@ -803,7 +803,6 @@ public abstract class Entity implements ICommandListener {
this.world.methodProfiler.b();
}
@ -328,7 +328,7 @@ index cf58f74..38bc9c0 100644
public void recalcPosition() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 37ea367..46a9e50 100644
index 1bd2d38..1ad0594 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -24,7 +24,7 @@ import org.bukkit.event.entity.EntityRegainHealthEvent;
@ -340,7 +340,7 @@ index 37ea367..46a9e50 100644
public abstract class EntityLiving extends Entity {
@@ -1693,7 +1693,6 @@ public abstract class EntityLiving extends Entity {
@@ -1689,7 +1689,6 @@ public abstract class EntityLiving extends Entity {
}
public void m() {
@ -348,7 +348,7 @@ index 37ea367..46a9e50 100644
super.m();
this.cu();
if (!this.world.isClientSide) {
@@ -1766,9 +1765,7 @@ public abstract class EntityLiving extends Entity {
@@ -1762,9 +1761,7 @@ public abstract class EntityLiving extends Entity {
}
}
@ -358,7 +358,7 @@ index 37ea367..46a9e50 100644
double d0 = this.locX - this.lastX;
double d1 = this.locZ - this.lastZ;
float f = (float) (d0 * d0 + d1 * d1);
@@ -1837,8 +1834,6 @@ public abstract class EntityLiving extends Entity {
@@ -1833,8 +1830,6 @@ public abstract class EntityLiving extends Entity {
} else {
this.bo = 0;
}
@ -367,7 +367,7 @@ index 37ea367..46a9e50 100644
}
protected float h(float f, float f1) {
@@ -1903,7 +1898,6 @@ public abstract class EntityLiving extends Entity {
@@ -1899,7 +1894,6 @@ public abstract class EntityLiving extends Entity {
}
this.world.methodProfiler.a("ai");
@ -375,7 +375,7 @@ index 37ea367..46a9e50 100644
if (this.cf()) {
this.bc = false;
this.bd = 0.0F;
@@ -1914,7 +1908,6 @@ public abstract class EntityLiving extends Entity {
@@ -1910,7 +1904,6 @@ public abstract class EntityLiving extends Entity {
this.doTick();
this.world.methodProfiler.b();
}
@ -383,7 +383,7 @@ index 37ea367..46a9e50 100644
this.world.methodProfiler.b();
this.world.methodProfiler.a("jump");
@@ -1937,14 +1930,10 @@ public abstract class EntityLiving extends Entity {
@@ -1933,14 +1926,10 @@ public abstract class EntityLiving extends Entity {
this.be *= 0.98F;
this.bf *= 0.9F;
this.r();
@ -399,7 +399,7 @@ index 37ea367..46a9e50 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 733f8e7..92b98a0 100644
index 4cc436d..ceb5bcc 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -45,7 +45,7 @@ import org.bukkit.craftbukkit.CraftServer;
@ -411,7 +411,7 @@ index 733f8e7..92b98a0 100644
public abstract class MinecraftServer implements Runnable, ICommandListener, IAsyncTaskHandler, IMojangStatistics {
@@ -443,6 +443,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -449,6 +449,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
@ -419,7 +419,7 @@ index 733f8e7..92b98a0 100644
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -699,7 +700,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -646,7 +647,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
protected void B() {}
protected void C() throws ExceptionWorldConflict { // CraftBukkit - added throws
@ -428,7 +428,7 @@ index 733f8e7..92b98a0 100644
long i = System.nanoTime();
++this.ticks;
@@ -759,11 +760,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -706,11 +707,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.methodProfiler.b();
this.methodProfiler.b();
org.spigotmc.WatchdogThread.tick(); // Spigot
@ -442,7 +442,7 @@ index 733f8e7..92b98a0 100644
this.methodProfiler.a("jobs");
Queue queue = this.j;
@@ -774,13 +775,14 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -721,13 +722,14 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
SystemUtils.a(entry, MinecraftServer.LOGGER);
}
// Spigot end
@ -460,7 +460,7 @@ index 733f8e7..92b98a0 100644
// Run tasks that are waiting on processing
SpigotTimings.processQueueTimer.startTiming(); // Spigot
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index cbffd19..80ed7f8 100644
index 39ba550..38a3abb 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory;
@ -471,7 +471,7 @@ index cbffd19..80ed7f8 100644
// CraftBukkit end
public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1332,7 +1333,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1331,7 +1332,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// CraftBukkit end
private void handleCommand(String s) {
@ -480,7 +480,7 @@ index cbffd19..80ed7f8 100644
// CraftBukkit start - whole method
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getName() + " issued server command: " + s);
@@ -1343,22 +1344,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -1342,22 +1343,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
this.server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@ -508,7 +508,7 @@ index cbffd19..80ed7f8 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index d898428..f579d28 100644
index e6524e9..4193f20 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -6,12 +6,13 @@ import java.util.concurrent.Callable;
@ -528,7 +528,7 @@ index d898428..f579d28 100644
private static Map<String, Class<? extends TileEntity>> f = Maps.newHashMap();
private static Map<Class<? extends TileEntity>, String> g = Maps.newHashMap();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index fc38527..98df4f4 100644
index 8c163ee..8221f4e 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,11 +18,11 @@ import com.google.common.collect.Maps;
@ -544,7 +544,7 @@ index fc38527..98df4f4 100644
import org.bukkit.event.block.BlockCanBuildEvent;
import org.bukkit.event.block.BlockPhysicsEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -134,7 +134,7 @@ public abstract class World implements IBlockAccess {
@@ -127,7 +127,7 @@ public abstract class World implements IBlockAccess {
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
@ -553,16 +553,16 @@ index fc38527..98df4f4 100644
private boolean guardEntityList; // Spigot
public static boolean haveWeSilencedAPhysicsCrash;
public static String blockLocation;
@@ -207,7 +207,7 @@ public abstract class World implements IBlockAccess {
@@ -197,7 +197,7 @@ public abstract class World implements IBlockAccess {
});
this.getServer().addWorld(this.world);
// CraftBukkit end
this.keepSpawnInMemory = this.paperConfig.keepSpawnInMemory; // Paper
- timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings
+ timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
@@ -1379,6 +1379,7 @@ public abstract class World implements IBlockAccess {
@@ -1369,6 +1369,7 @@ public abstract class World implements IBlockAccess {
}
this.methodProfiler.c("remove");
@ -570,7 +570,7 @@ index fc38527..98df4f4 100644
this.entityList.removeAll(this.f);
int j;
@@ -1399,6 +1400,7 @@ public abstract class World implements IBlockAccess {
@@ -1389,6 +1390,7 @@ public abstract class World implements IBlockAccess {
this.f.clear();
this.l();
@ -578,15 +578,15 @@ index fc38527..98df4f4 100644
this.methodProfiler.c("regular");
CrashReportSystemDetails crashreportsystemdetails1;
@@ -1408,6 +1410,7 @@ public abstract class World implements IBlockAccess {
@@ -1398,6 +1400,7 @@ public abstract class World implements IBlockAccess {
timings.entityTick.startTiming(); // Spigot
guardEntityList = true; // Spigot
// CraftBukkit start - Use field for loop variable
+ co.aikar.timings.TimingHistory.entityTicks += this.entityList.size(); // Paper
int entitiesThisCycle = 0;
// Paper start - Disable tick limiters
//if (tickPosition < 0) tickPosition = 0;
@@ -1429,12 +1432,12 @@ public abstract class World implements IBlockAccess {
if (tickPosition < 0) tickPosition = 0;
for (entityLimiter.initTick();
@@ -1419,10 +1422,11 @@ public abstract class World implements IBlockAccess {
this.methodProfiler.a("tick");
if (!entity.dead && !(entity instanceof EntityPlayer)) {
try {
@ -596,13 +596,11 @@ index fc38527..98df4f4 100644
- SpigotTimings.tickEntityTimer.stopTiming(); // Spigot
+ entity.tickTimer.stopTiming(); // Paper
} catch (Throwable throwable1) {
// Paper start - Prevent tile entity and entity crashes
- SpigotTimings.tickEntityTimer.stopTiming();
+ entity.tickTimer.stopTiming();
System.err.println("Entity threw exception at " + entity.world.getWorld().getName() + ":" + entity.locX + "," + entity.locY + "," + entity.locZ);
throwable1.printStackTrace();
entity.dead = true;
@@ -1563,6 +1566,7 @@ public abstract class World implements IBlockAccess {
crashreport1 = CrashReport.a(throwable1, "Ticking entity");
crashreportsystemdetails1 = crashreport1.a("Entity being ticked");
entity.appendEntityCrashDetails(crashreportsystemdetails1);
@@ -1548,6 +1552,7 @@ public abstract class World implements IBlockAccess {
}
timings.tileEntityPending.stopTiming(); // Spigot
@ -610,7 +608,7 @@ index fc38527..98df4f4 100644
this.methodProfiler.b();
this.methodProfiler.b();
}
@@ -1608,7 +1612,6 @@ public abstract class World implements IBlockAccess {
@@ -1593,7 +1598,6 @@ public abstract class World implements IBlockAccess {
entity.ticksLived++;
entity.inactiveTick();
} else {
@ -618,7 +616,7 @@ index fc38527..98df4f4 100644
// CraftBukkit end
entity.M = entity.locX;
entity.N = entity.locY;
@@ -1617,6 +1620,7 @@ public abstract class World implements IBlockAccess {
@@ -1602,6 +1606,7 @@ public abstract class World implements IBlockAccess {
entity.lastPitch = entity.pitch;
if (flag && entity.aa) {
++entity.ticksLived;
@ -626,7 +624,7 @@ index fc38527..98df4f4 100644
if (entity.isPassenger()) {
entity.aw();
} else {
@@ -1675,8 +1679,6 @@ public abstract class World implements IBlockAccess {
@@ -1660,8 +1665,6 @@ public abstract class World implements IBlockAccess {
}
}
}
@ -636,7 +634,7 @@ index fc38527..98df4f4 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index c411f01..0e1cbfe 100644
index 4f9136d..10e06d6 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -241,13 +241,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -657,7 +655,7 @@ index c411f01..0e1cbfe 100644
this.methodProfiler.c("chunkMap");
timings.doChunkMap.startTiming(); // Spigot
this.manager.flush();
@@ -478,7 +478,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -477,7 +477,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
}
@ -666,7 +664,7 @@ index c411f01..0e1cbfe 100644
if (i > 0) {
ChunkSection[] achunksection = chunk.getSections();
int i1 = achunksection.length;
@@ -506,6 +506,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -505,6 +505,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
}
}
@ -674,7 +672,7 @@ index c411f01..0e1cbfe 100644
}
this.methodProfiler.b();
@@ -710,6 +711,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -702,6 +703,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
this.methodProfiler.a("cleaning");
@ -682,23 +680,19 @@ index c411f01..0e1cbfe 100644
NextTickListEntry nextticklistentry;
for (int j = 0; j < i; ++j) {
@@ -723,6 +725,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -715,9 +717,11 @@ public class WorldServer extends World implements IAsyncTaskHandler {
// this.nextTickListHash.remove(nextticklistentry);
this.U.add(nextticklistentry);
}
+ timings.scheduledBlocksCleanup.stopTiming(); // Paper
// Paper start - Allow redstone ticks to bypass the tickNextTickListCap
if (paperConfig.tickNextTickListCapIgnoresRedstone) {
@@ -744,6 +747,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
this.methodProfiler.b();
this.methodProfiler.a("ticking");
+ timings.scheduledBlocksTicking.startTiming(); // Paper
Iterator iterator = this.U.iterator();
while (iterator.hasNext()) {
@@ -753,6 +757,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -727,6 +731,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (this.areChunksLoadedBetween(nextticklistentry.a.a(-b0, -b0, -b0), nextticklistentry.a.a(b0, b0, b0))) {
IBlockData iblockdata = this.getType(nextticklistentry.a);
@ -707,7 +701,7 @@ index c411f01..0e1cbfe 100644
if (iblockdata.getMaterial() != Material.AIR && Block.a(iblockdata.getBlock(), nextticklistentry.a())) {
try {
@@ -765,10 +771,12 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -739,10 +745,12 @@ public class WorldServer extends World implements IAsyncTaskHandler {
throw new ReportedException(crashreport);
}
}
@ -721,10 +715,10 @@ index c411f01..0e1cbfe 100644
this.methodProfiler.b();
this.U.clear();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4654a4b..b27d95a 100644
index 7e5870f..fbfb2ab 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1726,6 +1726,7 @@ public final class CraftServer implements Server {
@@ -1715,6 +1715,7 @@ public final class CraftServer implements Server {
private final Spigot spigot = new Spigot()
{
@ -732,7 +726,7 @@ index 4654a4b..b27d95a 100644
@Override
public YamlConfiguration getConfig()
{
@@ -1733,6 +1734,24 @@ public final class CraftServer implements Server {
@@ -1722,6 +1723,24 @@ public final class CraftServer implements Server {
}
@Override
@ -937,7 +931,7 @@ index 41d2d87..0000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 4a5de6b..582ab4c 100644
index 377633e..90de39a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -37,15 +37,9 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
@ -957,7 +951,7 @@ index 4a5de6b..582ab4c 100644
import org.bukkit.craftbukkit.map.CraftMapView;
import org.bukkit.craftbukkit.map.RenderData;
import org.bukkit.craftbukkit.scoreboard.CraftScoreboard;
@@ -1555,6 +1549,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1532,6 +1526,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
packet.components = components;
getHandle().playerConnection.sendPacket(packet);
}
@ -1106,31 +1100,31 @@ index e52ef47..3d90b34 100644
this.value = value;
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 75941ec..daed1db 100644
index e53092c..0b057fa 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -4,7 +4,7 @@ import java.util.List;
import java.util.Set;
import net.minecraft.server.*;
@@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither;
import net.minecraft.server.MathHelper;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.World;
-import org.bukkit.craftbukkit.SpigotTimings;
+import co.aikar.timings.SpigotTimings;
public class ActivationRange
{
@@ -221,11 +221,9 @@ public class ActivationRange
@@ -245,11 +245,9 @@ public class ActivationRange
*/
public static boolean checkIfActive(Entity entity)
{
- SpigotTimings.checkIfActiveTimer.startTiming();
// Never safe to skip fireworks or entities not yet added to chunk
// PAIL: inChunk
if ( !entity.isAddedToChunk() || entity instanceof EntityFireworks ) { // Paper - EAR: Fix bug with teleporting entities
if ( !entity.aa || entity instanceof EntityFireworks ) {
- SpigotTimings.checkIfActiveTimer.stopTiming();
return true;
}
@@ -257,7 +255,6 @@ public class ActivationRange
@@ -281,7 +279,6 @@ public class ActivationRange
{
isActive = false;
}
@ -1139,5 +1133,5 @@ index 75941ec..daed1db 100644
}
}
--
2.7.4
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 150234d1f43979ecc078b2de89bd0d6915ea6d01 Mon Sep 17 00:00:00 2001
From b2b9a224ccc7283995a204a95171fbe3992be325 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 21:20:21 -0600
Subject: [PATCH] Vanished players don't have rights
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index e40642f..5ccdb88 100644
index bd0fd80..df19327 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -184,6 +184,14 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@ -24,7 +24,7 @@ index e40642f..5ccdb88 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 20ee5ca..0951b5a 100644
index 04fa947..140df3a 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -198,6 +198,14 @@ public class EntityFishingHook extends Entity {
@ -75,10 +75,10 @@ index 300573a..6eeb03b 100644
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 450ec63..a482db9 100644
index 8221f4e..acf7ad8 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1675,6 +1675,14 @@ public abstract class World implements IBlockAccess {
@@ -1678,6 +1678,14 @@ public abstract class World implements IBlockAccess {
for (int i = 0; i < list.size(); ++i) {
Entity entity1 = (Entity) list.get(i);
@ -94,5 +94,5 @@ index 450ec63..a482db9 100644
return false;
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 1e4670aa8a0ac665cc6d7c59d8f293cd59d5ec49 Mon Sep 17 00:00:00 2001
From 825f03c5427faf4c8e0275347dacacb47ab28179 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 12:45:11 -0600
Subject: [PATCH] Configurable squid spawn ranges
@ -36,5 +36,5 @@ index b94444d..9f1a50e 100644
public void b(float f, float f1, float f2) {
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 027000643b436829fb988e3d2806f49571eae326 Mon Sep 17 00:00:00 2001
From 093b3d298966008bdb1075c4147a2459f56300d5 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:02:51 -0600
Subject: [PATCH] Configurable cactus and reed natural growth heights
@ -49,5 +49,5 @@ index fb19f19..6e0fa5f 100644
if (j >= (byte) range(3, ((100 / world.spigotConfig.caneModifier) * 15) + 0.5F, 15)) { // Spigot
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From e46a6bc9aa3e19ef36d848513d5346f69b853820 Mon Sep 17 00:00:00 2001
From e07edfc97c5954defffb72b7428aff66728f42e1 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:09:16 -0600
Subject: [PATCH] Configurable baby zombie movement speed
@ -45,5 +45,5 @@ index e7be27a..949452c 100644
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 5577bc3583786f0578b30283171830bfd272e56e Mon Sep 17 00:00:00 2001
From 74b3e206a6c07d63568ce22c3496ffda39d31c08 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:14:11 -0600
Subject: [PATCH] Configurable fishing time ranges
@ -35,5 +35,5 @@ index 140df3a..b99d9c4 100644
}
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 5de6bbdc6f0c91c7585f52c748c9b981f2e39d17 Mon Sep 17 00:00:00 2001
From 14348d76f408cfeac5e3a113203bd430042cbf0d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:24:16 -0600
Subject: [PATCH] Allow nerfed mobs to jump
@ -56,5 +56,5 @@ index 1a20dbf..c56a0d0 100644
((Navigation) entityinsentient.getNavigation()).c(true);
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,16 +1,16 @@
From ce52d5924a508126ad400c493de30523f6eb535a Mon Sep 17 00:00:00 2001
From b3ec2e2d2be0d461b657c45f7adb14aa4fe6edb0 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:31:05 -0600
Subject: [PATCH] Toggle for player interact limiter
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index dca7763..0ffa733 100644
index 7cfe3b9..f0ed051 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -119,4 +119,12 @@ public class PaperConfig {
config.addDefault(path, def);
return config.getString(path, config.getString(path));
@@ -156,4 +156,12 @@ public class PaperConfig {
}
return time;
}
+
+ public static boolean useInteractLimiter;
@ -22,10 +22,10 @@ index dca7763..0ffa733 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 39ba550..cbffd19 100644
index 38a3abb..80ed7f8 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -912,7 +912,8 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -913,7 +913,8 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
this.player.resetIdleTimer();
// Spigot start
boolean throttled = false;
@ -36,5 +36,5 @@ index 39ba550..cbffd19 100644
} else if ( packetplayinblockplace.timestamp - lastPlace >= 30 || lastPlace == -1 )
{
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From fc81aefe033c0c5a07b37e7306111b1a01218137 Mon Sep 17 00:00:00 2001
From fb0f70f496cee0ac192bc815cbf5f37130791971 Mon Sep 17 00:00:00 2001
From: gsand <gsandowns@gmail.com>
Date: Tue, 1 Mar 2016 13:43:16 -0600
Subject: [PATCH] Player Exhaustion Multipliers
@ -23,10 +23,10 @@ index 6d6793c..8a63435 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index 1d2f580..bed5577 100644
index 88e1e98..0f71013 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -409,7 +409,7 @@ public class Block {
@@ -418,7 +418,7 @@ public class Block {
public void a(World world, EntityHuman entityhuman, BlockPosition blockposition, IBlockData iblockdata, TileEntity tileentity, ItemStack itemstack) {
entityhuman.b(StatisticList.a(this));
@ -56,5 +56,5 @@ index 697f145..83f84ea 100644
} else if (this.n_()) {
if (d1 > 0.0D) {
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From ec837e710d8f8d434c530be6b134c00c955f5415 Mon Sep 17 00:00:00 2001
From afec596383cad835b1fe6911dda53f3f9158f83c Mon Sep 17 00:00:00 2001
From: Suddenly <suddenly@suddenly.coffee>
Date: Tue, 1 Mar 2016 13:51:54 -0600
Subject: [PATCH] Add configurable despawn distances for living entities
@ -51,5 +51,5 @@ index cee3b4a..fdda1ae 100644
}
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From f6e5969f986f2901cc038cfa040cd26caa583bc9 Mon Sep 17 00:00:00 2001
From c91aedbaf3ee5edaa06db45c1a0eccea3a9e0fde Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 3 Mar 2016 03:53:43 -0600
Subject: [PATCH] Allow for toggling of spawn chunks
@ -20,17 +20,17 @@ index f9da7f8..f9a58f9 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 1c2db29..c31cc0c 100644
index acf7ad8..378d71b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -197,6 +197,7 @@ public abstract class World implements IBlockAccess {
});
@@ -198,6 +198,7 @@ public abstract class World implements IBlockAccess {
this.getServer().addWorld(this.world);
// CraftBukkit end
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
+ this.keepSpawnInMemory = this.paperConfig.keepSpawnInMemory; // Paper
timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From cfc8fd001aac08c3626ecba2837d019897781381 Mon Sep 17 00:00:00 2001
From 4d4cbab0fa5a41955f0c31cbcdfe35a4756b2daa Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 14:14:15 -0600
Subject: [PATCH] Drop falling block and tnt entities at the specified height
@ -24,7 +24,7 @@ index f9a58f9..df3e6fb 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index a78d705..4c8e336 100644
index 6573634..6246c05 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -76,6 +76,17 @@ public class EntityFallingBlock extends Entity {
@ -64,5 +64,5 @@ index 35ed2a6..564ea37 100644
this.motY *= 0.9800000190734863D;
this.motZ *= 0.9800000190734863D;
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 2f00755a3e59a728c3ec0fa9e677862f2eca4929 Mon Sep 17 00:00:00 2001
From c24baf1beff606ebad8e896feb3a0e7d889a6b11 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 14:27:13 -0600
Subject: [PATCH] Configurable speed for water flowing over lava
@ -57,5 +57,5 @@ index 800ffdc..036e861 100644
+ }
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 091e2be48bc041dda7bf7e211200570c5a87af9c Mon Sep 17 00:00:00 2001
From 0f1666a5efea7793eabce61f590cfdd2a70e906e Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
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 c872029..21627dc 100644
index c872029..fac5f88 100644
--- a/src/main/java/net/minecraft/server/EULA.java
+++ b/src/main/java/net/minecraft/server/EULA.java
@@ -51,7 +51,8 @@ public class EULA {
@ -20,10 +20,10 @@ index c872029..21627dc 100644
EULA.a.warn("Failed to save " + this.b, exception);
} finally {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4cc436d..11dbde5 100644
index ceb5bcc..81c1246 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1022,7 +1022,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -1024,7 +1024,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
}
public String getServerModName() {
@ -33,7 +33,7 @@ index 4cc436d..11dbde5 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 7e5870f..40998cf 100644
index fbfb2ab..ebee7ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -130,7 +130,7 @@ import net.md_5.bungee.api.chat.BaseComponent;
@ -80,5 +80,5 @@ index 94a3d42..3ed983c 100644
log.log( Level.SEVERE, "------------------------------" );
//
--
2.7.2
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 0b152c9f505a0e6136da7b1b9f810656a1540a75 Mon Sep 17 00:00:00 2001
From ee39ef5ad66dbdc6f970a9257efdef116712b3fe Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
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 b602c5d..6c202c5 100644
index 83f84ea..344ff69 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -64,6 +64,7 @@ public abstract class EntityHuman extends EntityLiving {
@ -65,10 +65,10 @@ index 9e19dfd..b724586 100644
biomebase_biomemeta = worldserver.a(enumcreaturetype, (BlockPosition) blockposition_mutableblockposition);
if (biomebase_biomemeta == null) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 2653853..19f79fd 100644
index 378d71b..0d7e962 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -2679,6 +2679,53 @@ public abstract class World implements IBlockAccess {
@@ -2682,6 +2682,53 @@ public abstract class World implements IBlockAccess {
return i;
}
@ -123,10 +123,10 @@ index 2653853..19f79fd 100644
return this.a(entity.locX, entity.locY, entity.locZ, d0, false);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 377633e..935810c 100644
index 90de39a..4bf9c71 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1412,6 +1412,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1406,6 +1406,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@ -146,5 +146,5 @@ index 377633e..935810c 100644
private final Player.Spigot spigot = new Player.Spigot()
{
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From f137764bcd4a87ce47c095d5cb18eafc33d93949 Mon Sep 17 00:00:00 2001
From 825d0c39c3b0145235aacb25a04fbf3e8cbe2486 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 14:54:32 -0600
Subject: [PATCH] Metrics
@ -18,5 +18,5 @@ index a5fd59d..680283c 100644
String pluginVersion = (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown";
String serverVersion = Bukkit.getVersion();
--
2.7.2
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From c17ea8cfc18f7783044c50d9fc4bdb528ce2e83d Mon Sep 17 00:00:00 2001
From deaf1ebb7ff5834a231f743ad1b0ed66a3dac727 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
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 f2bb134..2f37957 100644
index 3c67d36..cde4124 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -717,6 +717,10 @@ public class Chunk {
@ -20,5 +20,5 @@ index f2bb134..2f37957 100644
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()
+ " (" + org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getBlockData(blockposition).getBlock()) + ") where there was no entity tile!");
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 16a719ceb18db89f4f6a7709398ee4d2644b9a59 Mon Sep 17 00:00:00 2001
From 311c19853625487562f9e9e9fc53b1feab3d5218 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 22:01:19 -0600
Subject: [PATCH] Optimize TileEntity Ticking
@ -187,7 +187,7 @@ index e454622..d01b65a 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index f8737ef..d867b82 100644
index 0d7e962..3b7c16e 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -60,7 +60,7 @@ public abstract class World implements IBlockAccess {
@ -199,7 +199,7 @@ index f8737ef..d867b82 100644
public final List<TileEntity> tileEntityListTick = Lists.newArrayList();
private final List<TileEntity> b = Lists.newArrayList();
private final List<TileEntity> tileEntityListUnload = Lists.newArrayList();
@@ -1457,7 +1457,7 @@ public abstract class World implements IBlockAccess {
@@ -1461,7 +1461,7 @@ public abstract class World implements IBlockAccess {
// CraftBukkit start - From below, clean up tile entities before ticking them
if (!this.tileEntityListUnload.isEmpty()) {
this.tileEntityListTick.removeAll(this.tileEntityListUnload);
@ -208,7 +208,7 @@ index f8737ef..d867b82 100644
this.tileEntityListUnload.clear();
}
// CraftBukkit end
@@ -1505,7 +1505,7 @@ public abstract class World implements IBlockAccess {
@@ -1509,7 +1509,7 @@ public abstract class World implements IBlockAccess {
if (tileentity.x()) {
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
@ -217,7 +217,7 @@ index f8737ef..d867b82 100644
if (this.isLoaded(tileentity.getPosition())) {
this.getChunkAtWorldCoords(tileentity.getPosition()).d(tileentity.getPosition());
}
@@ -1556,7 +1556,7 @@ public abstract class World implements IBlockAccess {
@@ -1561,7 +1561,7 @@ public abstract class World implements IBlockAccess {
protected void l() {}
public boolean a(TileEntity tileentity) {
@ -226,7 +226,7 @@ index f8737ef..d867b82 100644
if (flag && tileentity instanceof ITickable) {
this.tileEntityListTick.add(tileentity);
@@ -2029,7 +2029,7 @@ public abstract class World implements IBlockAccess {
@@ -2032,7 +2032,7 @@ public abstract class World implements IBlockAccess {
} else {
if (tileentity != null) {
this.b.remove(tileentity);
@ -236,5 +236,5 @@ index f8737ef..d867b82 100644
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From f9ee0e86f8a7e899e52e2d574ac9d91194452526 Mon Sep 17 00:00:00 2001
From 3b042cc2cd7d071aa70a1b4b92b2cec2340ed91b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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 11dbde5..db425fb 100644
index 81c1246..6ae06a5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -109,17 +109,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@ -34,7 +34,7 @@ index 11dbde5..db425fb 100644
public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable
@@ -515,12 +509,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -516,12 +510,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
this.isRunning = false;
}
@ -94,7 +94,7 @@ index 11dbde5..db425fb 100644
public void run() {
try {
@@ -534,24 +570,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -535,24 +571,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
// Spigot start
Arrays.fill( recentTps, 20 );
@ -148,7 +148,7 @@ index 11dbde5..db425fb 100644
}
lastTick = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 40998cf..4654a4b 100644
index ebee7ee..b27d95a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1712,6 +1712,17 @@ public final class CraftServer implements Server {
@ -211,5 +211,5 @@ index be2e31d..6d21c32 100644
return ( ( tps > 18.0 ) ? ChatColor.GREEN : ( tps > 16.0 ) ? ChatColor.YELLOW : ChatColor.RED ).toString()
+ ( ( tps > 20.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 );
--
2.7.2
2.7.1.windows.2

View file

@ -1,14 +1,14 @@
From c34fa8a780ab569ffb75fb59206f0675522e1ed8 Mon Sep 17 00:00:00 2001
From 9e5d6a42c2719a969ca6adaf1178fe8409a84b83 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 23:12:03 -0600
Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 03cdefd..972ead0 100644
index 4bf9c71..5ae6fe9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1139,12 +1139,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1133,12 +1133,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {
@ -24,5 +24,5 @@ index 03cdefd..972ead0 100644
@Override
--
2.7.2
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From de7fdfa43bb0fb61b21daa5c920a570899909295 Mon Sep 17 00:00:00 2001
From bc84d38e17b35e5440507c460282c18082bc635b Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
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 e0b1c0c..e20686c 100644
index 7b2c289..83e3003 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -124,6 +124,26 @@ public class CraftWorld implements World {
@ -36,5 +36,5 @@ index e0b1c0c..e20686c 100644
return this.world.getChunkProviderServer().getOrCreateChunkFast(x, z).bukkitChunk;
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 72774aa0bf9f030691277376ba584658650c8cce Mon Sep 17 00:00:00 2001
From e34f99c1db1594796d68b10e563925c324b255f2 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 23:45:08 -0600
Subject: [PATCH] FallingBlock and TNTPrimed source location API
@ -263,5 +263,5 @@ index c493c9c..eea3238 100644
+ // Paper end
}
--
2.7.4
2.7.1.windows.2

View file

@ -1,14 +1,14 @@
From 71726123dd3d7bee5d26197b8359138a1a7ccc9d Mon Sep 17 00:00:00 2001
From 55424879c75d40adf92d11dac79bc28e8e092b11 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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 e6524e9..d898428 100644
index 4193f20..f579d28 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -163,7 +163,12 @@ public abstract class TileEntity {
@@ -164,7 +164,12 @@ public abstract class TileEntity {
}
});
if (this.world != null) {
@ -23,19 +23,18 @@ index e6524e9..d898428 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 d867b82..0b5c9fe 100644
index 3b7c16e..c5ce0c3 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1424,10 +1424,13 @@ public abstract class World implements IBlockAccess {
this.g(entity);
SpigotTimings.tickEntityTimer.stopTiming(); // Spigot
@@ -1428,10 +1428,12 @@ public abstract class World implements IBlockAccess {
entity.tickTimer.stopTiming(); // Paper
} catch (Throwable throwable1) {
entity.tickTimer.stopTiming();
- crashreport1 = CrashReport.a(throwable1, "Ticking entity");
- crashreportsystemdetails1 = crashreport1.a("Entity being ticked");
- entity.appendEntityCrashDetails(crashreportsystemdetails1);
- throw new ReportedException(crashreport1);
+ // Paper start - Prevent tile entity and entity crashes
+ SpigotTimings.tickEntityTimer.stopTiming();
+ System.err.println("Entity threw exception at " + entity.world.getWorld().getName() + ":" + entity.locX + "," + entity.locY + "," + entity.locZ);
+ throwable1.printStackTrace();
+ entity.dead = true;
@ -44,7 +43,7 @@ index d867b82..0b5c9fe 100644
}
}
@@ -1489,10 +1492,14 @@ public abstract class World implements IBlockAccess {
@@ -1493,10 +1495,13 @@ public abstract class World implements IBlockAccess {
((ITickable) tileentity).c();
this.methodProfiler.b();
} catch (Throwable throwable2) {
@ -53,7 +52,6 @@ index d867b82..0b5c9fe 100644
- tileentity.a(crashreportsystemdetails1);
- throw new ReportedException(crashreport1);
+ // Paper start - Prevent tile entity and entity crashes
+ tileentity.tickTimer.stopTiming();
+ System.err.println("TileEntity threw exception at " + tileentity.world.getWorld().getName() + ":" + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ());
+ throwable2.printStackTrace();
+ tilesThisCycle--;
@ -64,5 +62,5 @@ index d867b82..0b5c9fe 100644
// Spigot start
finally {
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From ee1afb11244134f8ecd99fd411fc50c6832775d9 Mon Sep 17 00:00:00 2001
From 85c162228c3c70674ab7bfc8d498138fb3620b4e Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 23:58:50 -0600
Subject: [PATCH] Configurable top of nether void damage
@ -20,10 +20,10 @@ index f81ece3..7c0e61f 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index fd3983f..b3c29ca 100644
index f4b9481..018da0f 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -299,6 +299,13 @@ public abstract class Entity implements ICommandListener {
@@ -300,6 +300,13 @@ public abstract class Entity implements ICommandListener {
this.U();
}
@ -37,7 +37,7 @@ index fd3983f..b3c29ca 100644
public void U() {
this.world.methodProfiler.a("entityBaseTick");
if (this.isPassenger() && this.by().dead) {
@@ -379,7 +386,7 @@ public abstract class Entity implements ICommandListener {
@@ -380,7 +387,7 @@ public abstract class Entity implements ICommandListener {
this.fallDistance *= 0.5F;
}
@ -47,5 +47,5 @@ index fd3983f..b3c29ca 100644
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From dc64ce3540b084ffcf8b87f0fa9d7fe71d830fac Mon Sep 17 00:00:00 2001
From 38d2b8999bf419f900258c3de53a9cb706f76403 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 2 Mar 2016 00:03:55 -0600
Subject: [PATCH] Check online mode before converting and renaming player data
@ -18,5 +18,5 @@ index df82c14..c2d384c 100644
file = new File( this.playerDir, UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + entityhuman.getName() ).getBytes( "UTF-8" ) ).toString() + ".dat");
if ( file.exists() )
--
2.7.2
2.7.1.windows.2

View file

@ -1,57 +0,0 @@
From 168fdae3cde0d895e3ac002c11c988c09069a28b Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 2 Mar 2016 00:32:25 -0600
Subject: [PATCH] Always tick falling blocks
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index d88f1b1..97fbd95 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -2,33 +2,8 @@ package org.spigotmc;
import java.util.List;
import java.util.Set;
-import net.minecraft.server.AxisAlignedBB;
-import net.minecraft.server.Chunk;
-import net.minecraft.server.Entity;
-import net.minecraft.server.EntityAmbient;
-import net.minecraft.server.EntityAnimal;
-import net.minecraft.server.EntityArrow;
-import net.minecraft.server.EntityComplexPart;
-import net.minecraft.server.EntityCreature;
-import net.minecraft.server.EntityCreeper;
-import net.minecraft.server.EntityEnderCrystal;
-import net.minecraft.server.EntityEnderDragon;
-import net.minecraft.server.EntityFireball;
-import net.minecraft.server.EntityFireworks;
-import net.minecraft.server.EntityHuman;
-import net.minecraft.server.EntityLiving;
-import net.minecraft.server.EntityMonster;
-import net.minecraft.server.EntityProjectile;
-import net.minecraft.server.EntitySheep;
-import net.minecraft.server.EntitySlice;
-import net.minecraft.server.EntitySlime;
-import net.minecraft.server.EntityTNTPrimed;
-import net.minecraft.server.EntityVillager;
-import net.minecraft.server.EntityWeather;
-import net.minecraft.server.EntityWither;
-import net.minecraft.server.MathHelper;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.server.World;
+
+import net.minecraft.server.*;
import org.bukkit.craftbukkit.SpigotTimings;
public class ActivationRange
@@ -80,6 +55,7 @@ public class ActivationRange
|| entity instanceof EntityFireball
|| entity instanceof EntityWeather
|| entity instanceof EntityTNTPrimed
+ || entity instanceof EntityFallingBlock // Paper - Always tick falling blocks
|| entity instanceof EntityEnderCrystal
|| entity instanceof EntityFireworks )
{
--
2.7.2

View file

@ -1,4 +1,4 @@
From 22c29fc6b22cb45bc388af5368121efb5cc89d2b Mon Sep 17 00:00:00 2001
From 170763c83dc747710baa43a11abbd20bdc44f940 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 2 Mar 2016 00:21:24 -0600
Subject: [PATCH] Fix redstone lag issues
@ -25,10 +25,10 @@ index 7c0e61f..facb98c 100644
+
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 4f9136d..8f37b97 100644
index 10e06d6..e2a7187 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -690,6 +690,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -691,6 +691,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (false) { // CraftBukkit
throw new IllegalStateException("TickNextTick list out of synch");
} else {
@ -37,7 +37,7 @@ index 4f9136d..8f37b97 100644
if (i > 1000) {
// CraftBukkit start - If the server has too much to process over time, try to alleviate that
if (i > 20 * 1000) {
@@ -699,6 +701,11 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -700,6 +702,11 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
// CraftBukkit end
}
@ -49,9 +49,9 @@ index 4f9136d..8f37b97 100644
this.methodProfiler.a("cleaning");
@@ -716,6 +723,24 @@ public class WorldServer extends World implements IAsyncTaskHandler {
this.U.add(nextticklistentry);
@@ -719,6 +726,24 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
timings.scheduledBlocksCleanup.stopTiming(); // Paper
+ // Paper start - Allow redstone ticks to bypass the tickNextTickListCap
+ if (paperConfig.tickNextTickListCapIgnoresRedstone) {
@ -73,7 +73,7 @@ index 4f9136d..8f37b97 100644
+
this.methodProfiler.b();
this.methodProfiler.a("ticking");
Iterator iterator = this.U.iterator();
timings.scheduledBlocksTicking.startTiming(); // Paper
--
2.7.3
2.7.1.windows.2

View file

@ -0,0 +1,29 @@
From bb754c6c3974b256f86050fecba001bca5c38d30 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 2 Mar 2016 00:32:25 -0600
Subject: [PATCH] Always tick falling blocks
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 0b057fa..f0d3a19 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -13,6 +13,7 @@ import net.minecraft.server.EntityCreature;
import net.minecraft.server.EntityCreeper;
import net.minecraft.server.EntityEnderCrystal;
import net.minecraft.server.EntityEnderDragon;
+import net.minecraft.server.EntityFallingBlock; // Paper
import net.minecraft.server.EntityFireball;
import net.minecraft.server.EntityFireworks;
import net.minecraft.server.EntityHuman;
@@ -80,6 +81,7 @@ public class ActivationRange
|| entity instanceof EntityFireball
|| entity instanceof EntityWeather
|| entity instanceof EntityTNTPrimed
+ || entity instanceof EntityFallingBlock // Paper - Always tick falling blocks
|| entity instanceof EntityEnderCrystal
|| entity instanceof EntityFireworks )
{
--
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 9ba3497e7a95320ae772e24c1407d1894b2b3b33 Mon Sep 17 00:00:00 2001
From 3139fa5792642d1ac35a315ca8a40acf0c057bf7 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 00:52:31 -0600
Subject: [PATCH] Configurable async light updates
@ -102,7 +102,7 @@ index 83857a6..49288c9 100644
// CraftBukkit start
this.unloadQueue.add(i, j);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index b1cf8cc..a062013 100644
index c5ce0c3..fae23ae 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -29,6 +29,12 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@ -135,7 +135,7 @@ index b1cf8cc..a062013 100644
}
}
@@ -2244,10 +2251,10 @@ public abstract class World implements IBlockAccess {
@@ -2245,10 +2252,10 @@ public abstract class World implements IBlockAccess {
boolean flag = false;
if (!this.worldProvider.m()) {
@ -148,7 +148,7 @@ index b1cf8cc..a062013 100644
return flag;
}
@@ -2297,10 +2304,15 @@ public abstract class World implements IBlockAccess {
@@ -2298,10 +2305,15 @@ public abstract class World implements IBlockAccess {
}
}
@ -166,7 +166,7 @@ index b1cf8cc..a062013 100644
// CraftBukkit end
return false;
} else {
@@ -2371,6 +2383,17 @@ public abstract class World implements IBlockAccess {
@@ -2372,6 +2384,17 @@ public abstract class World implements IBlockAccess {
i = 0;
}
@ -184,7 +184,7 @@ index b1cf8cc..a062013 100644
this.methodProfiler.b();
this.methodProfiler.a("checkedPosition < toCheckCount");
@@ -2425,6 +2448,52 @@ public abstract class World implements IBlockAccess {
@@ -2426,6 +2449,52 @@ public abstract class World implements IBlockAccess {
}
}
@ -238,5 +238,5 @@ index b1cf8cc..a062013 100644
return false;
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 114d4ec98f8118bca7faf64c5d7a0eeac6b2bebf Mon Sep 17 00:00:00 2001
From 933cc8c6250818d3e03af94f5f6ea55da1f8b9d3 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 00:55:24 -0600
Subject: [PATCH] Optimize draining
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
index 328615c..ec04cd8 100644
index 036e861..f35f30c 100644
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
@@ -88,7 +88,13 @@ public class BlockFlowing extends BlockFluids {
@ -24,5 +24,5 @@ index 328615c..ec04cd8 100644
}
} else {
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 68c014e72798406a3e96d89f8ba4871a74893f7e Mon Sep 17 00:00:00 2001
From cbfc14ef58ca1f52834aaeb230f7f034efd0bf45 Mon Sep 17 00:00:00 2001
From: DoctorDark <doctordark11@gmail.com>
Date: Wed, 16 Mar 2016 02:21:39 -0500
Subject: [PATCH] Configurable end credits
@ -52,5 +52,5 @@ index 8f57b21..47ba1e3 100644
} else {
this.b((Statistic) AchievementList.D);
--
2.7.4
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 6a091a59b6cd632feb989692d91ebcf1e9cf751c Mon Sep 17 00:00:00 2001
From 0fa4103cbc24543b8079439248771447adb35a7d Mon Sep 17 00:00:00 2001
From: Iceee <andrew@opticgaming.tv>
Date: Wed, 2 Mar 2016 01:39:52 -0600
Subject: [PATCH] Fix lag from explosions processing dead entities
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index 2d8d862..87e123c 100644
index 3234511..8ce1b23 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -103,7 +103,14 @@ public class Explosion {
@ -25,5 +25,5 @@ index 2d8d862..87e123c 100644
for (int l1 = 0; l1 < list.size(); ++l1) {
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 3153e0896d31da822d29c355ceff0c42cca4c543 Mon Sep 17 00:00:00 2001
From c22fe7b79d125ef1c0d329159702ab9977bdd48e Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 02:17:54 -0600
Subject: [PATCH] Generator Settings

View file

@ -1,4 +1,4 @@
From a17c879830b3beb5c4c246390355c0b2b1c14f9e Mon Sep 17 00:00:00 2001
From 40287dea24fbe1f8d97a10d6580beb13dc7037c7 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 11:59:48 -0600
Subject: [PATCH] Optimize explosions
@ -25,7 +25,7 @@ index 7154d31..2be15d2 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index 87e123c..afe402e 100644
index 8ce1b23..5bb2510 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -129,7 +129,7 @@ public class Explosion {
@ -124,10 +124,10 @@ index 87e123c..afe402e 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index db425fb..733f8e7 100644
index 6ae06a5..92b98a0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -863,6 +863,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
@@ -865,6 +865,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
worldserver.timings.tracker.stopTiming(); // Spigot
this.methodProfiler.b();
this.methodProfiler.b();
@ -136,7 +136,7 @@ index db425fb..733f8e7 100644
// this.i[i][this.ticks % 100] = System.nanoTime() - j; // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index a062013..6ea06c5 100644
index fae23ae..b6d8e1b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -32,6 +32,7 @@ import org.bukkit.generator.ChunkGenerator;
@ -156,5 +156,5 @@ index a062013..6ea06c5 100644
public CraftWorld getWorld() {
return this.world;
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 3becd04f9109592ab7c6f9c053e5790476a1e542 Mon Sep 17 00:00:00 2001
From 51d80ce6ec7ea8db6e9197d43e1d8d793aea50f0 Mon Sep 17 00:00:00 2001
From: Iceee <andrew@opticgaming.tv>
Date: Wed, 2 Mar 2016 12:03:23 -0600
Subject: [PATCH] Stop updating flowing block if material has changed
@ -17,5 +17,5 @@ index f35f30c..1f07f82 100644
if (this.h(world, blockposition.down(), iblockdata2)) {
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From aeb9cc94434dccf95b48ee6944f59e6927fa9ee5 Mon Sep 17 00:00:00 2001
From bee35809ed6952840478cdfdfaa57154f1ab592b Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 12:20:52 -0600
Subject: [PATCH] Fast draining
@ -96,5 +96,5 @@ index 1f07f82..517c1e8 100644
+ }
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 6ed55ff9a184a7c22c065788ad99d4f55f833c8a Mon Sep 17 00:00:00 2001
From aed422378183ad50ddcf167ce96c9f9ffad482a3 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 12:27:07 -0600
Subject: [PATCH] Configurable lava flow speed
@ -35,5 +35,5 @@ index 517c1e8..51b80cb 100644
world.getType(blockposition.north(1)).getBlock().material == Material.LAVA ||
world.getType(blockposition.south(1)).getBlock().material == Material.LAVA ||
--
2.7.3
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From fb8cc16fde7343e4e275abd13e7764dd3b7e0f6f Mon Sep 17 00:00:00 2001
From d19b0fb9806803c96a09e9b463c653f14d22106d Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 14:35:27 -0600
Subject: [PATCH] Add player view distance API
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 987164e..5b5d1ef 100644
index 47ba1e3..35d96ff 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -53,6 +53,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -88,10 +88,10 @@ index 8ef7eb2..5421026 100644
+ // 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 fe9e452..4a5de6b 100644
index 5ae6fe9..582ab4c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1423,6 +1423,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1417,6 +1417,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setAffectsSpawning(boolean affects) {
getHandle().affectsSpawning = affects;
}
@ -109,5 +109,5 @@ index fe9e452..4a5de6b 100644
// Spigot start
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 79f474e20de6c1d0267e736b5310a2054523816f Mon Sep 17 00:00:00 2001
From e1f95b252b35b6a9e5aae2357396a2864a151ab7 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:48:03 -0600
Subject: [PATCH] Disable explosion knockback
@ -19,7 +19,7 @@ index 78a1e59..6fce2b3 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 8122cae..d24987b 100644
index 1ad0594..d477466 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -854,12 +854,14 @@ public abstract class EntityLiving extends Entity {
@ -69,5 +69,5 @@ index 5bb2510..418ee29 100644
}
}
--
2.7.4
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 8e70e29c1591a664c587bacc5b0d86c50afc2652 Mon Sep 17 00:00:00 2001
From dd9fa935272cef1509b649a54ed2cdd2c5b6d67a Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:52:43 -0600
Subject: [PATCH] Disable thunder
@ -19,7 +19,7 @@ index 6fce2b3..ea9043a 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 8f37b97..2ef774c 100644
index e2a7187..f87cd59 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -417,7 +417,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -33,5 +33,5 @@ index 8f37b97..2ef774c 100644
l = this.l >> 2;
blockposition = this.a(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15)));
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 73e99e657d8d2da102db1d65aaa1742b2f28a4bc Mon Sep 17 00:00:00 2001
From 25ec33d536c971e77d42e84f5181011a899953f2 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:57:24 -0600
Subject: [PATCH] Disable ice and snow
@ -19,7 +19,7 @@ index ea9043a..8b7028a 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 2ef774c..c411f01 100644
index f87cd59..0e1cbfe 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -441,7 +441,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -32,5 +32,5 @@ index 2ef774c..c411f01 100644
l = this.l >> 2;
blockposition = this.p(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15)));
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 8d47eefa32b1239d781e2a7dbdb1f57f2f5d8a49 Mon Sep 17 00:00:00 2001
From 203010e75b3dff113704ca77beee60080ce44fdf Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 15:03:53 -0600
Subject: [PATCH] Configurable mob spawner tick rate
@ -64,5 +64,5 @@ index 2eee845..f4f77d7 100644
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 34ec1688d03f4da1d9148437e382ddcbab8bd2fe Mon Sep 17 00:00:00 2001
From 60c2444bb8842bbeeec2b7c92dbe2df43eeabba5 Mon Sep 17 00:00:00 2001
From: Iceee <andrew@opticgaming.tv>
Date: Wed, 2 Mar 2016 23:00:53 -0600
Subject: [PATCH] Configurable TNT cannon fix
@ -187,7 +187,7 @@ index c1c0c7c..e2eb620 100644
world.getServer().getPluginManager().callEvent(event);
}
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index c44e493..51dda52 100644
index 5e8523d..4345a3c 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -293,4 +293,22 @@ public class EntityFallingBlock extends Entity {
@ -294,7 +294,7 @@ index 1820c7b..ca3bfd5 100644
public void setFuseTicks(int i) {
this.datawatcher.set(EntityTNTPrimed.FUSE_TICKS, Integer.valueOf(i));
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index cd2fb14..678ce44 100644
index 418ee29..9b86454 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -148,9 +148,16 @@ public class Explosion {
@ -315,5 +315,5 @@ index cd2fb14..678ce44 100644
EntityHuman entityhuman = (EntityHuman) entity;
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From ed74eec99de709a341951b574c4fe0f53c3b77d8 Mon Sep 17 00:00:00 2001
From b0d2afb9b255b477e3b9a02cb0a3cf8391d3583f Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Wed, 2 Mar 2016 23:13:07 -0600
Subject: [PATCH] Send absolute position the first time an entity is seen
@ -93,5 +93,5 @@ index f8570a8..1602dff 100644
entityplayer.playerConnection.sendPacket(packet);
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 9d6d73c8bd8d97bdce92acec5e0da22a0755a336 Mon Sep 17 00:00:00 2001
From 6048ce7605f4394ff71a8355d6903a1d32ee3c3d Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 23:30:53 -0600
Subject: [PATCH] Add BeaconEffectEvent
@ -61,5 +61,5 @@ index ed5b374..048f5bb 100644
}
}
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 8e721ad60337c0c5a614eea11664af50fda00c19 Mon Sep 17 00:00:00 2001
From f9a7bf0e0462b0d9845e64a9cb8e51c79c787730 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 23:34:44 -0600
Subject: [PATCH] Configurable container update tick rate
@ -19,7 +19,7 @@ index 2cfeb9c..a4d9b16 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 5b5d1ef..3902d4f 100644
index 35d96ff..f93b6a1 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -54,6 +54,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -45,5 +45,5 @@ index 5b5d1ef..3902d4f 100644
this.closeInventory();
this.activeContainer = this.defaultContainer;
--
2.7.3
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 1765d2c06d538f20ef1efee89a7c28dc97cb1831 Mon Sep 17 00:00:00 2001
From 456394786a5214ac55eb69b4deb8e28e53338011 Mon Sep 17 00:00:00 2001
From: Iceee <andrew@opticgaming.tv>
Date: Wed, 2 Mar 2016 23:38:52 -0600
Subject: [PATCH] Fix lava/water some times creating air instead of cobblestone
@ -18,5 +18,5 @@ index 675cdc0..8c23ce3 100644
this.fizz(world, blockposition);
return true;
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From f26a3e651b2b6e67203bf6e078d0f1f510c1965e Mon Sep 17 00:00:00 2001
From 741c96922f4a490d642998d194c2f4ef10309f3c Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
Date: Wed, 2 Mar 2016 23:42:37 -0600
Subject: [PATCH] Use UserCache for player heads
@ -32,5 +32,5 @@ index 2abca0c..7d83bbe 100644
return true;
--
2.7.2
2.7.1.windows.2

View file

@ -1,16 +1,16 @@
From 37a692b0821ce1ff9f58741dceb38a0f18cc795b Mon Sep 17 00:00:00 2001
From 6afc533c9e295094848e44abbfa76c9283454215 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 2 Mar 2016 23:45:17 -0600
Subject: [PATCH] Disable spigot tick limiters
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index de0a751..1815f79 100644
index b6d8e1b..66293f7 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1409,10 +1409,10 @@ public abstract class World implements IBlockAccess {
guardEntityList = true; // Spigot
@@ -1412,10 +1412,10 @@ public abstract class World implements IBlockAccess {
// CraftBukkit start - Use field for loop variable
co.aikar.timings.TimingHistory.entityTicks += this.entityList.size(); // Paper
int entitiesThisCycle = 0;
- if (tickPosition < 0) tickPosition = 0;
- for (entityLimiter.initTick();
@ -23,7 +23,7 @@ index de0a751..1815f79 100644
tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0;
entity = (Entity) this.entityList.get(this.tickPosition);
// CraftBukkit end
@@ -1477,9 +1477,7 @@ public abstract class World implements IBlockAccess {
@@ -1480,9 +1480,7 @@ public abstract class World implements IBlockAccess {
// Spigot start
// Iterator iterator = this.tileEntityListTick.iterator();
int tilesThisCycle = 0;
@ -35,5 +35,5 @@ index de0a751..1815f79 100644
TileEntity tileentity = (TileEntity) this.tileEntityListTick.get(tileTickPosition);
// Spigot start
--
2.7.2
2.7.1.windows.2

View file

@ -1,25 +1,63 @@
From 7707854fbaf56c5e8f1df04be18b0dbfdd33db69 Mon Sep 17 00:00:00 2001
From f1b0c0d63bc065df7b20543cc458e6df0df2b4c5 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 2 Mar 2016 23:46:57 -0600
Subject: [PATCH] Configurable Chunk IO Thread Base Count
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 0ffa733..37ae817 100644
index f0ed051..67b9714 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -120,6 +120,11 @@ public class PaperConfig {
@@ -124,39 +124,6 @@ public class PaperConfig {
return config.getString(path, config.getString(path));
}
- private static void timings() {
- boolean timings = getBoolean("timings.enabled", true);
- boolean verboseTimings = getBoolean("timings.verbose", true);
- TimingsManager.privacy = getBoolean("timings.server-name-privacy", false);
- TimingsManager.hiddenConfigs = getList("timings.hidden-config-entries", Lists.newArrayList("database", "settings.bungeecord-addresses"));
- int timingHistoryInterval = getInt("timings.history-interval", 300);
- int timingHistoryLength = getInt("timings.history-length", 3600);
-
-
- Timings.setVerboseTimingsEnabled(verboseTimings);
- Timings.setTimingsEnabled(timings);
- Timings.setHistoryInterval(timingHistoryInterval * 20);
- Timings.setHistoryLength(timingHistoryLength * 20);
-
- Bukkit.getLogger().log(Level.INFO, "Spigot Timings: " + timings +
- " - Verbose: " + verboseTimings +
- " - Interval: " + timeSummary(Timings.getHistoryInterval() / 20) +
- " - Length: " + timeSummary(Timings.getHistoryLength() / 20));
- }
-
- protected static String timeSummary(int seconds) {
- String time = "";
- if (seconds > 60 * 60) {
- time += TimeUnit.SECONDS.toHours(seconds) + "h";
- seconds /= 60;
- }
-
- if (seconds > 0) {
- time += TimeUnit.SECONDS.toMinutes(seconds) + "m";
- }
- return time;
- }
-
public static boolean useInteractLimiter;
private static void useInteractLimiter() {
useInteractLimiter = getBoolean("settings.limit-player-interactions", true);
@@ -164,4 +131,9 @@ public class PaperConfig {
Bukkit.getLogger().log(Level.INFO, "Disabling player interaction limiter, your server may be more vulnerable to malicious users");
}
}
+
+ public static int minChunkLoadThreads = 2;
+ public static void chunkLoadThreads() {
+ minChunkLoadThreads = Math.min(6, getInt("settings.min-chunk-load-threads", 2)); // Keep people from doing stupid things with max of 6
+ }
+
public static boolean useInteractLimiter;
private static void useInteractLimiter() {
useInteractLimiter = getBoolean("settings.limit-player-interactions", true);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java
index e4fd9bc..7b7a3d0 100644
--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOExecutor.java
@ -41,5 +79,5 @@ index e4fd9bc..7b7a3d0 100644
private static final AsynchronousExecutor<QueuedChunk, Chunk, Runnable, RuntimeException> instance = new AsynchronousExecutor<QueuedChunk, Chunk, Runnable, RuntimeException>(new ChunkIOProvider(), BASE_THREADS);
--
2.7.4
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 35665a5704a486e4591e648db824b9b0ddbf6205 Mon Sep 17 00:00:00 2001
From ca7f6b39251f2e5288ef8d60353daf0ecbb25a5e Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 2 Mar 2016 23:51:51 -0600
Subject: [PATCH] Don't create Region File's when checking if chunk exists
@ -49,5 +49,5 @@ index 5528019..01a08d4 100644
file1.mkdirs();
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,11 +1,11 @@
From 39ecc8e9af0f15467844d39ef9065aad2d37ce3d Mon Sep 17 00:00:00 2001
From 251cc68a70be8ecf8f056adb8cc90adfafaca86e Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 2 Mar 2016 23:55:20 -0600
Subject: [PATCH] Don't create a chunk just to unload it
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f32d974..40338c0 100644
index 25edfb8..c51c74b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -205,7 +205,12 @@ public class CraftWorld implements World {
@ -23,5 +23,5 @@ index f32d974..40338c0 100644
save = true;
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From cd4e4914b603747c1b023e083672e0584a34cd7e Mon Sep 17 00:00:00 2001
From a8c6c72e3f2ba1560959421b0d2375fbd9f82f42 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 00:07:23 -0600
Subject: [PATCH] EAR: Fix bug with teleporting entities
@ -7,10 +7,10 @@ Subject: [PATCH] EAR: Fix bug with teleporting entities
https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/pull-requests/52/overview
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index b3c29ca..cf58f74 100644
index 018da0f..38bc9c0 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -118,9 +118,17 @@ public abstract class Entity implements ICommandListener {
@@ -119,9 +119,17 @@ public abstract class Entity implements ICommandListener {
private static final DataWatcherObject<Boolean> aA = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
private static final DataWatcherObject<Boolean> aB = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
public boolean aa;
@ -32,18 +32,18 @@ index b3c29ca..cf58f74 100644
public boolean impulse;
public int portalCooldown;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 731efb8..75941ec 100644
index f0d3a19..a1bd1a6 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -224,7 +224,7 @@ public class ActivationRange
SpigotTimings.checkIfActiveTimer.startTiming();
@@ -249,7 +249,7 @@ public class ActivationRange
{
// Never safe to skip fireworks or entities not yet added to chunk
// PAIL: inChunk
- if ( !entity.aa || entity instanceof EntityFireworks ) {
+ if ( !entity.isAddedToChunk() || entity instanceof EntityFireworks ) { // Paper - EAR: Fix bug with teleporting entities
SpigotTimings.checkIfActiveTimer.stopTiming();
return true;
}
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 28db9382386acec7b1a627e85f9c047cd3593af3 Mon Sep 17 00:00:00 2001
From df94d296af159e68e0b487c19c5b75fb19a9a605 Mon Sep 17 00:00:00 2001
From: Steve Anton <anxuiz.nx@gmail.com>
Date: Thu, 3 Mar 2016 00:09:38 -0600
Subject: [PATCH] Add PlayerInitialSpawnEvent
@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerInitialSpawnEvent
For modifying a player's initial spawn location as they join the server
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 08faf3a..344abbb 100644
index ef76652..60b02f1 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -99,6 +99,22 @@ public abstract class PlayerList {
@ -33,5 +33,5 @@ index 08faf3a..344abbb 100644
entityplayer.playerInteractManager.a((WorldServer) entityplayer.world);
String s1 = "local";
--
2.7.2
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 577e962b96bc760bdea8982b8e2d0d4df648e265 Mon Sep 17 00:00:00 2001
From 89b96e5996cd6fc49c4abe5e11a78d1ea8aebe84 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 00:12:23 -0600
Subject: [PATCH] Process Entity Chunk Registration on Teleport
@ -18,5 +18,5 @@ index 3b29578..6fdfee6 100644
return true;
}
--
2.7.4
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From ea3799b01832cc9a0d3d4b522e649d3845f12ecf Mon Sep 17 00:00:00 2001
From 74ef9d7784479d8a035466d41dcb1c86996fc120 Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <joe@ibj.io>
Date: Thu, 3 Mar 2016 03:15:41 -0600
Subject: [PATCH] Add exception reporting event
@ -292,7 +292,7 @@ index 320e52e..d40257f 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 4a72c3f..b356aa6 100644
index ee36486..6fb0230 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,7 @@
@ -305,8 +305,8 @@ index 4a72c3f..b356aa6 100644
import com.google.common.base.Predicate;
@@ -1441,8 +1443,10 @@ public abstract class World implements IBlockAccess {
} catch (Throwable throwable1) {
// Paper start - Prevent tile entity and entity crashes
entity.tickTimer.stopTiming();
// Paper start - Prevent tile entity and entity crashes
- System.err.println("Entity threw exception at " + entity.world.getWorld().getName() + ":" + entity.locX + "," + entity.locY + "," + entity.locZ);
+ String msg = "Entity threw exception at " + entity.world.getWorld().getName() + ":" + entity.locX + "," + entity.locY + "," + entity.locZ;
+ System.err.println(msg);
@ -315,10 +315,10 @@ index 4a72c3f..b356aa6 100644
entity.dead = true;
continue;
// Paper end
@@ -1507,8 +1511,10 @@ public abstract class World implements IBlockAccess {
@@ -1506,8 +1510,10 @@ public abstract class World implements IBlockAccess {
this.methodProfiler.b();
} catch (Throwable throwable2) {
// Paper start - Prevent tile entity and entity crashes
tileentity.tickTimer.stopTiming();
- System.err.println("TileEntity threw exception at " + tileentity.world.getWorld().getName() + ":" + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ());
+ String msg = "TileEntity threw exception at " + tileentity.world.getWorld().getName() + ":" + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ();
+ System.err.println(msg);
@ -372,5 +372,5 @@ index 44e057c..cf0bd0c 100644
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
--
2.7.4
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 7ca1fafedb5682419b3f08d68309d12359f36645 Mon Sep 17 00:00:00 2001
From 468ede0382e42b9ed146a62d190ce1f77665e0a2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 4 Mar 2016 18:18:37 -0600
Subject: [PATCH] Chunk save queue improvements
@ -26,12 +26,12 @@ Then finally, Sleeping will by default be removed, but due to known issues with
But if sleeps are to remain enabled, we at least lower the sleep interval so it doesn't have as much negative impact.
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 5a14627..66a97c4 100644
index 67b9714..a30f437 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -169,4 +169,10 @@ public class PaperConfig {
}
return time;
@@ -136,4 +136,10 @@ public class PaperConfig {
public static void chunkLoadThreads() {
minChunkLoadThreads = Math.min(6, getInt("settings.min-chunk-load-threads", 2)); // Keep people from doing stupid things with max of 6
}
+
+ public static boolean enableFileIOThreadSleep;
@ -170,5 +170,5 @@ index 4733f94..113aea2 100644
if (this.b.isEmpty()) {
--
2.7.4
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From 00f906fd849af93f888b67a66d8c07ac4ce74ed1 Mon Sep 17 00:00:00 2001
From 82b009493bc17fab9bd4c752d04b78a0f3e334cb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 18 Mar 2016 13:17:38 -0400
Subject: [PATCH] Default loading permissions.yml before plugins
@ -16,10 +16,10 @@ 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 66a97c4..8829cea 100644
index a30f437..fe616a6 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -175,4 +175,9 @@ public class PaperConfig {
@@ -142,4 +142,9 @@ public class PaperConfig {
enableFileIOThreadSleep = getBoolean("settings.sleep-between-chunk-saves", false);
if (enableFileIOThreadSleep) Bukkit.getLogger().info("Enabled sleeping between chunk saves, beware of memory issues");
}
@ -51,5 +51,5 @@ index cb9906a..2493a23 100644
CraftDefaultPermissions.registerCorePermissions();
helpMap.initializeCommands();
--
2.7.4
2.7.1.windows.2

View file

@ -1,14 +1,14 @@
From 19506e55557403bbf0f8e9b71a7e9e60b54b9d6d Mon Sep 17 00:00:00 2001
From be41ec24766b914db7a7f984e7fde0ec90380ab4 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Sun, 19 Jul 2015 16:51:38 -0400
Subject: [PATCH] Set health before death event
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 8829cea..c1ee93f 100644
index fe616a6..d37805f 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -180,4 +180,9 @@ public class PaperConfig {
@@ -147,4 +147,9 @@ public class PaperConfig {
private static void loadPermsBeforePlugins() {
loadPermsBeforePlugins = getBoolean("settings.load-permissions-yml-before-plugins", true);
}
@ -46,5 +46,5 @@ index 693d5cb..ef522e7 100644
public double getMaxHealth() {
--
2.7.4
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From a181aafdb512be1e3e0dbbdc772063241aaf6339 Mon Sep 17 00:00:00 2001
From db83f7f21876709f4d9a58499435fb7ecad82d0b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 18 Mar 2016 17:57:25 -0400
Subject: [PATCH] Optimize Chunk Unload Queue
@ -240,7 +240,7 @@ index 63e118d..721bcae 100644
i += server.getChunkAt( x, z ).entityCount.get( oClass );
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index a6c8e53..d8bd36c 100644
index f261e01..22c87eb 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -163,9 +163,15 @@ public abstract class World implements IBlockAccess {
@ -322,10 +322,10 @@ index 482af17..a1a6d5a 100644
neighbor.setNeighborLoaded(-x, -z);
chunk.setNeighborLoaded(x, z);
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index daed1db..e4af40c 100644
index a1bd1a6..7fcd437 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -100,9 +100,9 @@ public class ActivationRange
@@ -126,9 +126,9 @@ public class ActivationRange
{
for ( int j1 = k; j1 <= l; ++j1 )
{
@ -338,7 +338,7 @@ index daed1db..e4af40c 100644
}
}
}
@@ -250,7 +250,7 @@ public class ActivationRange
@@ -276,7 +276,7 @@ public class ActivationRange
int x = MathHelper.floor( entity.locX );
int z = MathHelper.floor( entity.locZ );
// Make sure not on edge of unloaded chunk
@ -348,5 +348,5 @@ index daed1db..e4af40c 100644
{
isActive = false;
--
2.7.4
2.7.1.windows.2

View file

@ -1,4 +1,4 @@
From c2e203f56a23c172c92e2aca5fdfae93da809297 Mon Sep 17 00:00:00 2001
From 64e71e5b3e3539cf102becf3e3c95c10c3856db6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 22 Mar 2016 23:41:34 -0400
Subject: [PATCH] Optimize isValidLocation for inlining
@ -22,7 +22,7 @@ index f0908a2..d1688e1 100644
public BaseBlockPosition(int i, int j, int k) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d21076b..6f45d2a 100644
index dcce296..edfb4cd 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -288,8 +288,8 @@ public abstract class World implements IBlockAccess {
@ -99,7 +99,7 @@ index d21076b..6f45d2a 100644
return Blocks.AIR.getBlockData();
} else {
Chunk chunk = this.getChunkAtWorldCoords(blockposition);
@@ -2045,7 +2045,7 @@ public abstract class World implements IBlockAccess {
@@ -2044,7 +2044,7 @@ public abstract class World implements IBlockAccess {
public Map<BlockPosition, TileEntity> capturedTileEntities = Maps.newHashMap();
public TileEntity getTileEntity(BlockPosition blockposition) {
@ -108,7 +108,7 @@ index d21076b..6f45d2a 100644
return null;
} else {
// CraftBukkit start
@@ -2148,7 +2148,7 @@ public abstract class World implements IBlockAccess {
@@ -2147,7 +2147,7 @@ public abstract class World implements IBlockAccess {
}
public boolean d(BlockPosition blockposition, boolean flag) {
@ -118,5 +118,5 @@ index d21076b..6f45d2a 100644
} else {
Chunk chunk = this.chunkProvider.getLoadedChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4);
--
2.7.4.windows.1
2.7.1.windows.2