mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-15 07:01:36 +08:00
Remove the spigot TileEntity/Entity capping feature
It appears to cause visual glitching issues with certain TNT entities fired from cannons. TileEntity tick capping has already been removed for some time, Entity tick capping removal is new to this patch.
This commit is contained in:
parent
31fe931194
commit
233814297b
@ -0,0 +1,127 @@
|
|||||||
|
From 69ff788454fe936a8a6b851c88a7e316eae1bb69 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
|
Date: Sat, 30 May 2015 01:21:00 -0500
|
||||||
|
Subject: [PATCH] Remove Spigot TileEntity/Enity Tick Time Capping
|
||||||
|
|
||||||
|
Appears to cause visual glitches with TNT Entities and certain types of cannons
|
||||||
|
TileEntity cap removed as we implement our own solution in a later (next) patch.
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
|
index d30b406..bdf4896 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
|
@@ -125,8 +125,6 @@ public abstract class World implements IBlockAccess {
|
||||||
|
private final byte chunkTickRadius;
|
||||||
|
public static boolean haveWeSilencedAPhysicsCrash;
|
||||||
|
public static String blockLocation;
|
||||||
|
- private org.spigotmc.TickLimiter entityLimiter;
|
||||||
|
- private org.spigotmc.TickLimiter tileLimiter;
|
||||||
|
private int tileTickPosition;
|
||||||
|
|
||||||
|
public static long chunkToKey(int x, int z)
|
||||||
|
@@ -219,9 +217,7 @@ public abstract class World implements IBlockAccess {
|
||||||
|
this.getServer().addWorld(this.world);
|
||||||
|
// CraftBukkit end
|
||||||
|
this.keepSpawnInMemory = this.paperSpigotConfig.keepSpawnInMemory; // PaperSpigot
|
||||||
|
- 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);
|
||||||
|
+ timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings
|
||||||
|
}
|
||||||
|
|
||||||
|
public World b() {
|
||||||
|
@@ -1393,12 +1389,7 @@ public abstract class World implements IBlockAccess {
|
||||||
|
timings.entityTick.startTiming(); // Spigot
|
||||||
|
guardEntityList = true; // Spigot
|
||||||
|
// CraftBukkit start - Use field for loop variable
|
||||||
|
- int entitiesThisCycle = 0;
|
||||||
|
- if (tickPosition < 0) tickPosition = 0;
|
||||||
|
- for (entityLimiter.initTick();
|
||||||
|
- entitiesThisCycle < entityList.size() && (entitiesThisCycle % 10 == 0 || entityLimiter.shouldContinue());
|
||||||
|
- tickPosition++, entitiesThisCycle++) {
|
||||||
|
- tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0;
|
||||||
|
+ for (this.tickPosition = 0; this.tickPosition < this.entityList.size(); ++this.tickPosition) {
|
||||||
|
entity = (Entity) this.entityList.get(this.tickPosition);
|
||||||
|
// CraftBukkit end
|
||||||
|
if (entity.vehicle != null) {
|
||||||
|
@@ -1454,19 +1445,13 @@ public abstract class World implements IBlockAccess {
|
||||||
|
this.c.clear();
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
|
+ Iterator iterator = this.tileEntityList.iterator();
|
||||||
|
|
||||||
|
- // Spigot start
|
||||||
|
- int tilesThisCycle = 0;
|
||||||
|
- for (tileLimiter.initTick();
|
||||||
|
- tilesThisCycle < tileEntityList.size() && (tilesThisCycle % 10 == 0 || tileLimiter.shouldContinue());
|
||||||
|
- tileTickPosition++, tilesThisCycle++) {
|
||||||
|
- tileTickPosition = (tileTickPosition < tileEntityList.size()) ? tileTickPosition : 0;
|
||||||
|
- TileEntity tileentity = (TileEntity) this.tileEntityList.get(tileTickPosition);
|
||||||
|
- // Spigot start
|
||||||
|
+ while (iterator.hasNext()) {
|
||||||
|
+ TileEntity tileentity = (TileEntity) iterator.next();
|
||||||
|
if (tileentity == null) {
|
||||||
|
getServer().getLogger().severe("Spigot has detected a null entity and has removed it, preventing a crash");
|
||||||
|
- tilesThisCycle--;
|
||||||
|
- this.tileEntityList.remove(tileTickPosition--);
|
||||||
|
+ iterator.remove();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// Spigot end
|
||||||
|
@@ -1494,8 +1479,7 @@ public abstract class World implements IBlockAccess {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tileentity.x()) {
|
||||||
|
- tilesThisCycle--;
|
||||||
|
- this.tileEntityList.remove(tileTickPosition--);
|
||||||
|
+ iterator.remove();
|
||||||
|
this.h.remove(tileentity);
|
||||||
|
if (this.isLoaded(tileentity.getPosition())) {
|
||||||
|
this.getChunkAtWorldCoords(tileentity.getPosition()).e(tileentity.getPosition());
|
||||||
|
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||||
|
index 8e86212..ab2f8bf 100644
|
||||||
|
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||||
|
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||||
|
@@ -332,13 +332,4 @@ public class SpigotWorldConfig
|
||||||
|
{
|
||||||
|
hangingTickFrequency = getInt( "hanging-tick-frequency", 100 );
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- public int tileMaxTickTime;
|
||||||
|
- public int entityMaxTickTime;
|
||||||
|
- private void maxTickTimes()
|
||||||
|
- {
|
||||||
|
- tileMaxTickTime = getInt("max-tick-time.tile", 50);
|
||||||
|
- entityMaxTickTime = getInt("max-tick-time.entity", 50);
|
||||||
|
- log("Tile Max Tick Time: " + tileMaxTickTime + "ms Entity max Tick Time: " + entityMaxTickTime + "ms");
|
||||||
|
- }
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/spigotmc/TickLimiter.java b/src/main/java/org/spigotmc/TickLimiter.java
|
||||||
|
deleted file mode 100644
|
||||||
|
index 23a3938..0000000
|
||||||
|
--- a/src/main/java/org/spigotmc/TickLimiter.java
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,20 +0,0 @@
|
||||||
|
-package org.spigotmc;
|
||||||
|
-
|
||||||
|
-public class TickLimiter {
|
||||||
|
-
|
||||||
|
- private final int maxTime;
|
||||||
|
- private long startTime;
|
||||||
|
-
|
||||||
|
- public TickLimiter(int maxtime) {
|
||||||
|
- this.maxTime = maxtime;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- public void initTick() {
|
||||||
|
- startTime = System.currentTimeMillis();
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- public boolean shouldContinue() {
|
||||||
|
- long remaining = System.currentTimeMillis() - startTime;
|
||||||
|
- return remaining < maxTime;
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
--
|
||||||
|
2.4.1.windows.1
|
||||||
|
|
@ -1,11 +1,11 @@
|
|||||||
From 3f4d3ad27f80c5b292f11e816613384de6ff640a Mon Sep 17 00:00:00 2001
|
From 4104e547b01f6511a1c7a87a5eef7322e4a83878 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 8 Mar 2015 01:56:22 -0600
|
Date: Sun, 8 Mar 2015 01:56:22 -0600
|
||||||
Subject: [PATCH] Optimize TileEntity Ticking
|
Subject: [PATCH] Optimize TileEntity Ticking
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
||||||
index 0de85da..0a21872 100644
|
index c268a40..1971941 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
||||||
@@ -21,6 +21,12 @@ public abstract class TileEntity {
|
@@ -21,6 +21,12 @@ public abstract class TileEntity {
|
||||||
@ -22,7 +22,7 @@ index 0de85da..0a21872 100644
|
|||||||
this.position = BlockPosition.ZERO;
|
this.position = BlockPosition.ZERO;
|
||||||
this.h = -1;
|
this.h = -1;
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
||||||
index da43134..88e4fa9 100644
|
index 4f280dd..3ea1b62 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
--- a/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
+++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
||||||
@@ -48,7 +48,7 @@ public class TileEntityBeacon extends TileEntityContainer implements IUpdatePlay
|
@@ -48,7 +48,7 @@ public class TileEntityBeacon extends TileEntityContainer implements IUpdatePlay
|
||||||
@ -74,7 +74,7 @@ index f75e2de..7119612 100644
|
|||||||
if (this.e instanceof BlockDaylightDetector) {
|
if (this.e instanceof BlockDaylightDetector) {
|
||||||
((BlockDaylightDetector) this.e).f(this.world, this.position);
|
((BlockDaylightDetector) this.e).f(this.world, this.position);
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index d30b406..dcfceed 100644
|
index bdf4896..67c739e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -53,7 +53,7 @@ public abstract class World implements IBlockAccess {
|
@@ -53,7 +53,7 @@ public abstract class World implements IBlockAccess {
|
||||||
@ -86,66 +86,6 @@ index d30b406..dcfceed 100644
|
|||||||
private final List<TileEntity> b = Lists.newArrayList();
|
private final List<TileEntity> b = Lists.newArrayList();
|
||||||
private final List<TileEntity> c = Lists.newArrayList();
|
private final List<TileEntity> c = Lists.newArrayList();
|
||||||
public final List<EntityHuman> players = Lists.newArrayList();
|
public final List<EntityHuman> players = Lists.newArrayList();
|
||||||
@@ -126,8 +126,10 @@ public abstract class World implements IBlockAccess {
|
|
||||||
public static boolean haveWeSilencedAPhysicsCrash;
|
|
||||||
public static String blockLocation;
|
|
||||||
private org.spigotmc.TickLimiter entityLimiter;
|
|
||||||
- private org.spigotmc.TickLimiter tileLimiter;
|
|
||||||
- private int tileTickPosition;
|
|
||||||
+ // PaperSpigot start - Disable Spigot's TE handling in favor of our own
|
|
||||||
+ //private org.spigotmc.TickLimiter tileLimiter;
|
|
||||||
+ //private int tileTickPosition;
|
|
||||||
+ // PaperSpigot end
|
|
||||||
|
|
||||||
public static long chunkToKey(int x, int z)
|
|
||||||
{
|
|
||||||
@@ -221,7 +223,7 @@ public abstract class World implements IBlockAccess {
|
|
||||||
this.keepSpawnInMemory = this.paperSpigotConfig.keepSpawnInMemory; // PaperSpigot
|
|
||||||
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);
|
|
||||||
+ //this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); // PaperSpigot - Disable Spigot's TE handling in favor of our own
|
|
||||||
}
|
|
||||||
|
|
||||||
public World b() {
|
|
||||||
@@ -1455,6 +1457,12 @@ public abstract class World implements IBlockAccess {
|
|
||||||
}
|
|
||||||
// CraftBukkit end
|
|
||||||
|
|
||||||
+ // PaperSpigot start - Return to previous behavior, theoretically tile entity ticks should no longer be long enough for this to be an issue
|
|
||||||
+ Iterator iterator = this.tileEntityList.iterator();
|
|
||||||
+
|
|
||||||
+ while (iterator.hasNext()) {
|
|
||||||
+ TileEntity tileentity = (TileEntity) iterator.next();
|
|
||||||
+ /*
|
|
||||||
// Spigot start
|
|
||||||
int tilesThisCycle = 0;
|
|
||||||
for (tileLimiter.initTick();
|
|
||||||
@@ -1462,11 +1470,12 @@ public abstract class World implements IBlockAccess {
|
|
||||||
tileTickPosition++, tilesThisCycle++) {
|
|
||||||
tileTickPosition = (tileTickPosition < tileEntityList.size()) ? tileTickPosition : 0;
|
|
||||||
TileEntity tileentity = (TileEntity) this.tileEntityList.get(tileTickPosition);
|
|
||||||
+ */
|
|
||||||
+ // PaperSpigot end
|
|
||||||
// Spigot start
|
|
||||||
if (tileentity == null) {
|
|
||||||
getServer().getLogger().severe("Spigot has detected a null entity and has removed it, preventing a crash");
|
|
||||||
- tilesThisCycle--;
|
|
||||||
- this.tileEntityList.remove(tileTickPosition--);
|
|
||||||
+ iterator.remove(); // PaperSpigot - Remove Spigot's TE handling in favor of our own
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// Spigot end
|
|
||||||
@@ -1494,8 +1503,7 @@ public abstract class World implements IBlockAccess {
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tileentity.x()) {
|
|
||||||
- tilesThisCycle--;
|
|
||||||
- this.tileEntityList.remove(tileTickPosition--);
|
|
||||||
+ iterator.remove(); // PaperSpigot - Remove Spigot's TE handling in favor of our own
|
|
||||||
this.h.remove(tileentity);
|
|
||||||
if (this.isLoaded(tileentity.getPosition())) {
|
|
||||||
this.getChunkAtWorldCoords(tileentity.getPosition()).e(tileentity.getPosition());
|
|
||||||
diff --git a/src/main/java/org/github/paperspigot/WorldTileEntityList.java b/src/main/java/org/github/paperspigot/WorldTileEntityList.java
|
diff --git a/src/main/java/org/github/paperspigot/WorldTileEntityList.java b/src/main/java/org/github/paperspigot/WorldTileEntityList.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..5af5dcc
|
index 0000000..5af5dcc
|
@ -1,11 +1,11 @@
|
|||||||
From 78cd8cc1024bdc966f9af150ec1281a071375be4 Mon Sep 17 00:00:00 2001
|
From 3cb95d0d115022e965df1b2f3c38fa772cea4cca Mon Sep 17 00:00:00 2001
|
||||||
From: Iceee <andrew@opticgaming.tv>
|
From: Iceee <andrew@opticgaming.tv>
|
||||||
Date: Sun, 8 Mar 2015 03:16:39 -0500
|
Date: Sun, 8 Mar 2015 03:16:39 -0500
|
||||||
Subject: [PATCH] Move sound handling out of the chest tick loop
|
Subject: [PATCH] Move sound handling out of the chest tick loop
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
|
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||||
index 8af9e32..d30f2f8 100644
|
index 07891ec..20f8d90 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
|
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
|
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||||
@@ -12,13 +12,13 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye
|
@@ -12,13 +12,13 @@ public class TileEntityChest extends TileEntityContainer implements IUpdatePlaye
|
||||||
@ -194,5 +194,5 @@ index 5af5dcc..693f75c 100644
|
|||||||
put(ignored, -1);
|
put(ignored, -1);
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
1.9.1
|
2.4.1.windows.1
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From afecc5fd9057398210f7a48af97affbefd84e1b0 Mon Sep 17 00:00:00 2001
|
From 7b735d8eaea7f21c2c18525ae2f603b729ac19ad Mon Sep 17 00:00:00 2001
|
||||||
From: Iceee <andrew@opticgaming.tv>
|
From: Iceee <andrew@opticgaming.tv>
|
||||||
Date: Sun, 8 Mar 2015 03:34:15 -0500
|
Date: Sun, 8 Mar 2015 03:34:15 -0500
|
||||||
Subject: [PATCH] Remove certain entities that fly through unloaded chunks
|
Subject: [PATCH] Remove certain entities that fly through unloaded chunks
|
||||||
@ -17,7 +17,7 @@ index d6bef0b..1470c21 100644
|
|||||||
// Spigot start
|
// Spigot start
|
||||||
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
|
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java
|
diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java
|
||||||
index 929a66e..4ebed9c 100644
|
index 48ada4d..f4b5032 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityEnderPearl.java
|
--- a/src/main/java/net/minecraft/server/EntityEnderPearl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java
|
+++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java
|
||||||
@@ -30,6 +30,12 @@ public class EntityEnderPearl extends EntityProjectile {
|
@@ -30,6 +30,12 @@ public class EntityEnderPearl extends EntityProjectile {
|
||||||
@ -70,10 +70,10 @@ index 2d22327..50423eb 100644
|
|||||||
this.motY *= 0.9800000190734863D;
|
this.motY *= 0.9800000190734863D;
|
||||||
this.motZ *= 0.9800000190734863D;
|
this.motZ *= 0.9800000190734863D;
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index dcfceed..431fc0d 100644
|
index 67c739e..530e60f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -1162,6 +1162,7 @@ public abstract class World implements IBlockAccess {
|
@@ -1156,6 +1156,7 @@ public abstract class World implements IBlockAccess {
|
||||||
{
|
{
|
||||||
if ( !this.isChunkLoaded( chunkx, chunkz, true ) )
|
if ( !this.isChunkLoaded( chunkx, chunkz, true ) )
|
||||||
{
|
{
|
||||||
@ -81,7 +81,7 @@ index dcfceed..431fc0d 100644
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int cz = chunkz << 4;
|
int cz = chunkz << 4;
|
||||||
@@ -1591,6 +1592,14 @@ public abstract class World implements IBlockAccess {
|
@@ -1567,6 +1568,14 @@ public abstract class World implements IBlockAccess {
|
||||||
if (!org.spigotmc.ActivationRange.checkIfActive(entity)) {
|
if (!org.spigotmc.ActivationRange.checkIfActive(entity)) {
|
||||||
entity.ticksLived++;
|
entity.ticksLived++;
|
||||||
entity.inactiveTick();
|
entity.inactiveTick();
|
@ -1,4 +1,4 @@
|
|||||||
From 8a82cff8d06b1aa0a6f0b177dbbeab2bc50306cb Mon Sep 17 00:00:00 2001
|
From dc69eb5cb3b668fcb260ed30bec20449eda75bef Mon Sep 17 00:00:00 2001
|
||||||
From: gsand <gsandowns@gmail.com>
|
From: gsand <gsandowns@gmail.com>
|
||||||
Date: Sun, 8 Mar 2015 03:41:33 -0500
|
Date: Sun, 8 Mar 2015 03:41:33 -0500
|
||||||
Subject: [PATCH] Configurable strength and weakness effect modifiers
|
Subject: [PATCH] Configurable strength and weakness effect modifiers
|
@ -1,4 +1,4 @@
|
|||||||
From d6aece91ea6da949f9f03e5560403f388973996f Mon Sep 17 00:00:00 2001
|
From 7e9a0179b4ac80b064c4ad2641ba88f8426170df Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 8 Mar 2015 03:47:32 -0500
|
Date: Sun, 8 Mar 2015 03:47:32 -0500
|
||||||
Subject: [PATCH] Further improve server tick loop
|
Subject: [PATCH] Further improve server tick loop
|
@ -1,4 +1,4 @@
|
|||||||
From 0892d82b8b48b8d0a3e17b265359b09e80a0b419 Mon Sep 17 00:00:00 2001
|
From 91e1a03598b3c340ad7d81d50767be446924b959 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Fri, 28 Nov 2014 13:20:22 -0600
|
Date: Fri, 28 Nov 2014 13:20:22 -0600
|
||||||
Subject: [PATCH] Only refresh abilities if needed
|
Subject: [PATCH] Only refresh abilities if needed
|
@ -1,4 +1,4 @@
|
|||||||
From 08969ae80af057218c27d2675eb357cd193c1469 Mon Sep 17 00:00:00 2001
|
From 9640455e349da4b9f1a8ab4e83b0934fa0a41860 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 8 Mar 2015 04:03:56 -0500
|
Date: Sun, 8 Mar 2015 04:03:56 -0500
|
||||||
Subject: [PATCH] Player lookup improvements
|
Subject: [PATCH] Player lookup improvements
|
@ -1,4 +1,4 @@
|
|||||||
From bb12d4e1cf32105d2868a2390b703a4829356e53 Mon Sep 17 00:00:00 2001
|
From 20d9994e0cf68e4fae68d2a5d8b0cefd871d42e7 Mon Sep 17 00:00:00 2001
|
||||||
From: gsand <gsandowns@gmail.com>
|
From: gsand <gsandowns@gmail.com>
|
||||||
Date: Sun, 8 Mar 2015 04:10:02 -0500
|
Date: Sun, 8 Mar 2015 04:10:02 -0500
|
||||||
Subject: [PATCH] Configurable game mechanics changes
|
Subject: [PATCH] Configurable game mechanics changes
|
@ -1,4 +1,4 @@
|
|||||||
From 85b35a7793f55975b68f8134a37e671cc82cda5e Mon Sep 17 00:00:00 2001
|
From eb06b41aca9e0fd4e2a19ba874b072216268aef2 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Thu, 6 Nov 2014 18:29:20 -0600
|
Date: Thu, 6 Nov 2014 18:29:20 -0600
|
||||||
Subject: [PATCH] Add async chunk load API
|
Subject: [PATCH] Add async chunk load API
|
@ -1,4 +1,4 @@
|
|||||||
From 5249e032664f21e00091c0895a2f1b9eeb02c48d Mon Sep 17 00:00:00 2001
|
From e6897370898bf85f873be3cc8e83a7cac16972dc Mon Sep 17 00:00:00 2001
|
||||||
From: Byteflux <byte@byteflux.net>
|
From: Byteflux <byte@byteflux.net>
|
||||||
Date: Sun, 30 Nov 2014 18:58:07 -0600
|
Date: Sun, 30 Nov 2014 18:58:07 -0600
|
||||||
Subject: [PATCH] Allow specified ItemStacks to retain their invalid data
|
Subject: [PATCH] Allow specified ItemStacks to retain their invalid data
|
@ -1,4 +1,4 @@
|
|||||||
From 30b06fc0ea0be63ff6fe80a19691fbee9b1de9e0 Mon Sep 17 00:00:00 2001
|
From e6402cbeeefef6ec7d655170b0a3b2ff07663a34 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 8 Mar 2015 04:23:41 -0500
|
Date: Sun, 8 Mar 2015 04:23:41 -0500
|
||||||
Subject: [PATCH] Add TNT source location API
|
Subject: [PATCH] Add TNT source location API
|
@ -1,4 +1,4 @@
|
|||||||
From 9d78e47fc6566cf495d5be31b18f344d0617a1c7 Mon Sep 17 00:00:00 2001
|
From 920f92b1b9e44d02502394da6ffe1062fcadf453 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 8 Mar 2015 04:37:23 -0500
|
Date: Sun, 8 Mar 2015 04:37:23 -0500
|
||||||
Subject: [PATCH] Prevent tile entity and entity crashes
|
Subject: [PATCH] Prevent tile entity and entity crashes
|
||||||
@ -23,10 +23,10 @@ index 1971941..d258604 100644
|
|||||||
public String a() throws Exception {
|
public String a() throws Exception {
|
||||||
int i = Block.getId(TileEntity.this.world.getType(TileEntity.this.position).getBlock());
|
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
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 431fc0d..7d90de2 100644
|
index 530e60f..51e59c0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -1420,10 +1420,13 @@ public abstract class World implements IBlockAccess {
|
@@ -1409,10 +1409,13 @@ public abstract class World implements IBlockAccess {
|
||||||
this.g(entity);
|
this.g(entity);
|
||||||
SpigotTimings.tickEntityTimer.stopTiming(); // Spigot
|
SpigotTimings.tickEntityTimer.stopTiming(); // Spigot
|
||||||
} catch (Throwable throwable1) {
|
} catch (Throwable throwable1) {
|
||||||
@ -44,7 +44,7 @@ index 431fc0d..7d90de2 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1489,11 +1492,13 @@ public abstract class World implements IBlockAccess {
|
@@ -1465,11 +1468,13 @@ public abstract class World implements IBlockAccess {
|
||||||
tileentity.tickTimer.startTiming(); // Spigot
|
tileentity.tickTimer.startTiming(); // Spigot
|
||||||
((IUpdatePlayerListBox) tileentity).c();
|
((IUpdatePlayerListBox) tileentity).c();
|
||||||
} catch (Throwable throwable2) {
|
} catch (Throwable throwable2) {
|
@ -1,4 +1,4 @@
|
|||||||
From a0e74a1b58887761a1ef65e2240250383c6fac32 Mon Sep 17 00:00:00 2001
|
From 656b4cb5ee5ec6dba6f69f3abfe48268565f0a0d Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
Date: Mon, 23 Feb 2015 14:57:28 -0600
|
Date: Mon, 23 Feb 2015 14:57:28 -0600
|
||||||
Subject: [PATCH] Configurable top of nether void damage
|
Subject: [PATCH] Configurable top of nether void damage
|
@ -1,4 +1,4 @@
|
|||||||
From 066ec86117012a78eda2472cb0abeb54ed67daf8 Mon Sep 17 00:00:00 2001
|
From 8fd0f064dd0d98161766cbb06024907e6a1b5a4a Mon Sep 17 00:00:00 2001
|
||||||
From: Zach <zach.brown@destroystokyo.com>
|
From: Zach <zach.brown@destroystokyo.com>
|
||||||
Date: Fri, 13 Feb 2015 14:49:30 -0600
|
Date: Fri, 13 Feb 2015 14:49:30 -0600
|
||||||
Subject: [PATCH] Enderman drop the block they're holding when they die
|
Subject: [PATCH] Enderman drop the block they're holding when they die
|
@ -1,4 +1,4 @@
|
|||||||
From 2aa0257ec409e8d58fc7c7edb9ad156d2e9e42bf Mon Sep 17 00:00:00 2001
|
From ff725d215c0edacf1b63e937999482594bcf35b9 Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
Date: Sun, 8 Mar 2015 04:52:37 -0500
|
Date: Sun, 8 Mar 2015 04:52:37 -0500
|
||||||
Subject: [PATCH] PaperSpigot TNT Changes
|
Subject: [PATCH] PaperSpigot TNT Changes
|
@ -1,4 +1,4 @@
|
|||||||
From 70b52fbafc70a9c62656e0eb25c2992e88199b8e Mon Sep 17 00:00:00 2001
|
From 86c6689b38cecf577405044b3c4422a000d7a37b Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
Date: Thu, 5 Mar 2015 15:30:06 -0600
|
Date: Thu, 5 Mar 2015 15:30:06 -0600
|
||||||
Subject: [PATCH] Check online mode before converting and renaming player data
|
Subject: [PATCH] Check online mode before converting and renaming player data
|
@ -1,4 +1,4 @@
|
|||||||
From 7b4b4bb2afc1e4f3656c1c64aecec9e40b442170 Mon Sep 17 00:00:00 2001
|
From 776171aa01cd66d7c53aec724dbb9e0afda9223e Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
Date: Mon, 13 Apr 2015 15:47:15 -0500
|
Date: Mon, 13 Apr 2015 15:47:15 -0500
|
||||||
Subject: [PATCH] Fix redstone lag issues
|
Subject: [PATCH] Fix redstone lag issues
|
@ -1,4 +1,4 @@
|
|||||||
From 5bb9ab5fdde00a729230e876df8b1b91612032d8 Mon Sep 17 00:00:00 2001
|
From a9abb0aacbdd552d1ba8fff85f4d5dec3d33fbc3 Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
Date: Fri, 10 Apr 2015 18:07:36 -0500
|
Date: Fri, 10 Apr 2015 18:07:36 -0500
|
||||||
Subject: [PATCH] Always tick falling blocks
|
Subject: [PATCH] Always tick falling blocks
|
@ -1,4 +1,4 @@
|
|||||||
From aa92814f235317afcc2899fa13076d9160971286 Mon Sep 17 00:00:00 2001
|
From a6bb5db33f564cae6404a869426d4e741aec5b99 Mon Sep 17 00:00:00 2001
|
||||||
From: Byteflux <byte@byteflux.net>
|
From: Byteflux <byte@byteflux.net>
|
||||||
Date: Fri, 17 Apr 2015 02:26:14 -0700
|
Date: Fri, 17 Apr 2015 02:26:14 -0700
|
||||||
Subject: [PATCH] Add FallingBlock source location API
|
Subject: [PATCH] Add FallingBlock source location API
|
@ -1,11 +1,11 @@
|
|||||||
From d2dd39c4e8d8b414c46aeb076e9614dc8786be6d Mon Sep 17 00:00:00 2001
|
From c3469d7ff27645aab2eb0ee8fd23db4fed4a2516 Mon Sep 17 00:00:00 2001
|
||||||
From: Roman Alexander <romanalexander@users.noreply.github.com>
|
From: Roman Alexander <romanalexander@users.noreply.github.com>
|
||||||
Date: Wed, 25 Mar 2015 20:27:13 -0500
|
Date: Wed, 25 Mar 2015 20:27:13 -0500
|
||||||
Subject: [PATCH] Configurable async light updates
|
Subject: [PATCH] Configurable async light updates
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 7d90de2..a0a3297 100644
|
index 51e59c0..86913f4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -18,6 +18,12 @@ import org.bukkit.generator.ChunkGenerator;
|
@@ -18,6 +18,12 @@ import org.bukkit.generator.ChunkGenerator;
|
||||||
@ -21,7 +21,7 @@ index 7d90de2..a0a3297 100644
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
@@ -720,22 +726,26 @@ public abstract class World implements IBlockAccess {
|
@@ -714,22 +720,26 @@ public abstract class World implements IBlockAccess {
|
||||||
blockposition = new BlockPosition(blockposition.getX(), 0, blockposition.getZ());
|
blockposition = new BlockPosition(blockposition.getX(), 0, blockposition.getZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ index 7d90de2..a0a3297 100644
|
|||||||
chunk.a(enumskyblock, blockposition, i);
|
chunk.a(enumskyblock, blockposition, i);
|
||||||
this.n(blockposition);
|
this.n(blockposition);
|
||||||
}
|
}
|
||||||
@@ -2342,10 +2352,13 @@ public abstract class World implements IBlockAccess {
|
@@ -2318,10 +2328,13 @@ public abstract class World implements IBlockAccess {
|
||||||
}
|
}
|
||||||
|
|
||||||
private int a(BlockPosition blockposition, EnumSkyBlock enumskyblock) {
|
private int a(BlockPosition blockposition, EnumSkyBlock enumskyblock) {
|
||||||
@ -70,7 +70,7 @@ index 7d90de2..a0a3297 100644
|
|||||||
int i = enumskyblock == EnumSkyBlock.SKY ? 0 : block.r();
|
int i = enumskyblock == EnumSkyBlock.SKY ? 0 : block.r();
|
||||||
int j = block.p();
|
int j = block.p();
|
||||||
|
|
||||||
@@ -2384,131 +2397,154 @@ public abstract class World implements IBlockAccess {
|
@@ -2360,131 +2373,154 @@ public abstract class World implements IBlockAccess {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From db1f0c4ca46a333503cff31dae56557ef27ba9bf Mon Sep 17 00:00:00 2001
|
From 64506d4ff5992f83e11201d20dbace097cdce21e Mon Sep 17 00:00:00 2001
|
||||||
From: Byteflux <byte@byteflux.net>
|
From: Byteflux <byte@byteflux.net>
|
||||||
Date: Fri, 10 Apr 2015 02:24:20 -0700
|
Date: Fri, 10 Apr 2015 02:24:20 -0700
|
||||||
Subject: [PATCH] Optimize draining
|
Subject: [PATCH] Optimize draining
|
@ -1,4 +1,4 @@
|
|||||||
From 20605161beae541063eb7cb7f086917c8ea982af Mon Sep 17 00:00:00 2001
|
From 1c6759f6dfffa5640159950db063e10efb6064a9 Mon Sep 17 00:00:00 2001
|
||||||
From: Roman Alexander <romanalexander@users.noreply.github.com>
|
From: Roman Alexander <romanalexander@users.noreply.github.com>
|
||||||
Date: Fri, 27 Mar 2015 00:52:24 -0400
|
Date: Fri, 27 Mar 2015 00:52:24 -0400
|
||||||
Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients.
|
Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients.
|
@ -1,4 +1,4 @@
|
|||||||
From 5cddaabab72536767ae43dd6474e476dc75e5f15 Mon Sep 17 00:00:00 2001
|
From d1999bf881ee1cd3891d59c49ac2a3a8874d5ed4 Mon Sep 17 00:00:00 2001
|
||||||
From: Isaac Moore <rmsy@me.com>
|
From: Isaac Moore <rmsy@me.com>
|
||||||
Date: Mon, 27 Apr 2015 21:41:39 -0500
|
Date: Mon, 27 Apr 2015 21:41:39 -0500
|
||||||
Subject: [PATCH] Add PlayerLocaleChangeEvent
|
Subject: [PATCH] Add PlayerLocaleChangeEvent
|
@ -1,4 +1,4 @@
|
|||||||
From f700750cb70cf8e1903e243cbe12b5ae4844b897 Mon Sep 17 00:00:00 2001
|
From 4d5be815a524c78f7dd7665f0a3229513123db9f Mon Sep 17 00:00:00 2001
|
||||||
From: Anonymoose <MrAnonHimself@anon.life>
|
From: Anonymoose <MrAnonHimself@anon.life>
|
||||||
Date: Sun, 3 May 2015 17:44:20 -0500
|
Date: Sun, 3 May 2015 17:44:20 -0500
|
||||||
Subject: [PATCH] Add ArmorStand Marker NBT API
|
Subject: [PATCH] Add ArmorStand Marker NBT API
|
@ -1,4 +1,4 @@
|
|||||||
From 9ed0afe9c90ca47e4f1b33dc9e6c24f89d49ee4d Mon Sep 17 00:00:00 2001
|
From 70e515c0c6018904a9c4c48c0e7bb531096cd348 Mon Sep 17 00:00:00 2001
|
||||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||||
Date: Thu, 30 Apr 2015 22:42:34 -0400
|
Date: Thu, 30 Apr 2015 22:42:34 -0400
|
||||||
Subject: [PATCH] Fix jar being shaded multiple times
|
Subject: [PATCH] Fix jar being shaded multiple times
|
@ -1,4 +1,4 @@
|
|||||||
From bd10e6b9b71c6d47c41eeb6ce76f8cf4e0bbc80c Mon Sep 17 00:00:00 2001
|
From 9e26a0ea06ca8a34892bf9a34b1b276a391c81c0 Mon Sep 17 00:00:00 2001
|
||||||
From: DoctorDark <doctordark11@gmail.com>
|
From: DoctorDark <doctordark11@gmail.com>
|
||||||
Date: Thu, 28 May 2015 20:12:38 -0500
|
Date: Thu, 28 May 2015 20:12:38 -0500
|
||||||
Subject: [PATCH] Configurable end credits when leaving the end
|
Subject: [PATCH] Configurable end credits when leaving the end
|
@ -1,4 +1,4 @@
|
|||||||
From c9e8b5efcd939a328d0beec8e97fe89c3dba7299 Mon Sep 17 00:00:00 2001
|
From a7954c623d317f72957411ec5d1338fa76a94d7f Mon Sep 17 00:00:00 2001
|
||||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||||
Date: Thu, 28 May 2015 22:01:25 -0500
|
Date: Thu, 28 May 2015 22:01:25 -0500
|
||||||
Subject: [PATCH] Force load chunks for specific entities that fly through
|
Subject: [PATCH] Force load chunks for specific entities that fly through
|
||||||
@ -103,10 +103,10 @@ index dd1ad68..c272060 100644
|
|||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index a0a3297..1a8440e 100644
|
index 86913f4..385d742 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -1665,6 +1665,17 @@ public abstract class World implements IBlockAccess {
|
@@ -1641,6 +1641,17 @@ public abstract class World implements IBlockAccess {
|
||||||
if (this.isChunkLoaded(k, i1, true)) {
|
if (this.isChunkLoaded(k, i1, true)) {
|
||||||
entity.ad = true;
|
entity.ad = true;
|
||||||
this.getChunkAt(k, i1).a(entity);
|
this.getChunkAt(k, i1).a(entity);
|
Loading…
Reference in New Issue
Block a user