Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-19 04:50:06 +01:00
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 47b9cf30 SPIGOT-4372: LightningStrikeEvent cause API a9ceda75 Include the plugin channel name in the exception message CraftBukkit Changes:a4bdecff
SPIGOT-4372: LightningStrikeEvent cause API34caaf6d
SPIGOT-4371: Trident damaged when event cancelled97315374
SPIGOT-4369: Handle cancelled trident eventbf1c8273
SPIGOT-4370: Remove vehicle if its passenger spawn event was cancelled Spigot Changes: 6b015b4b SPIGOT-4370: Remove vehicle if its passenger spawn event was cancelled
Dieser Commit ist enthalten in:
Ursprung
b606122b85
Commit
f956f185c8
@ -1,4 +1,4 @@
|
||||
From c29cf352780a2e4924f2b9c11804efa58ac0c0e2 Mon Sep 17 00:00:00 2001
|
||||
From db96209eeb825730f55d161a488b58dd2cbd8c3f 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
|
||||
@ -1080,7 +1080,7 @@ index c69209497b..68ac014aab 100644
|
||||
private final TileEntityTypes<?> e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER
|
||||
protected World world;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 169294b3c3..2f7fab0907 100644
|
||||
index b5b0cbf647..53e35634a8 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -1123,7 +1123,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
|
||||
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
|
||||
}
|
||||
@@ -1123,6 +1124,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1130,6 +1131,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
this.methodProfiler.c("remove");
|
||||
@ -1131,7 +1131,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
this.entityList.removeAll(this.g);
|
||||
|
||||
int j;
|
||||
@@ -1143,6 +1145,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1150,6 +1152,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
this.g.clear();
|
||||
this.p_();
|
||||
@ -1139,7 +1139,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
this.methodProfiler.c("regular");
|
||||
|
||||
CrashReportSystemDetails crashreportsystemdetails1;
|
||||
@@ -1152,6 +1155,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1159,6 +1162,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
timings.entityTick.startTiming(); // Spigot
|
||||
guardEntityList = true; // Spigot
|
||||
// CraftBukkit start - Use field for loop variable
|
||||
@ -1147,7 +1147,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
int entitiesThisCycle = 0;
|
||||
if (tickPosition < 0) tickPosition = 0;
|
||||
for (entityLimiter.initTick();
|
||||
@@ -1173,10 +1177,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1180,10 +1184,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.a("tick");
|
||||
if (!entity.dead && !(entity instanceof EntityPlayer)) {
|
||||
try {
|
||||
@ -1161,7 +1161,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
crashreport1 = CrashReport.a(throwable1, "Ticking entity");
|
||||
crashreportsystemdetails1 = crashreport1.a("Entity being ticked");
|
||||
entity.appendEntityCrashDetails(crashreportsystemdetails1);
|
||||
@@ -1301,6 +1306,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1308,6 +1313,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
timings.tileEntityPending.stopTiming(); // Spigot
|
||||
@ -1169,7 +1169,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
this.methodProfiler.e();
|
||||
this.methodProfiler.e();
|
||||
}
|
||||
@@ -1359,7 +1365,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1366,7 +1372,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@ -1177,7 +1177,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
entity.N = entity.locX;
|
||||
entity.O = entity.locY;
|
||||
entity.P = entity.locZ;
|
||||
@@ -1367,6 +1372,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1374,6 +1379,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.lastPitch = entity.pitch;
|
||||
if (flag && entity.inChunk) {
|
||||
++entity.ticksLived;
|
||||
@ -1185,7 +1185,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
if (entity.isPassenger()) {
|
||||
entity.aH();
|
||||
} else {
|
||||
@@ -1430,8 +1436,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1437,8 +1443,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1195,7 +1195,7 @@ index 169294b3c3..2f7fab0907 100644
|
||||
|
||||
public boolean a(@Nullable Entity entity, VoxelShape voxelshape) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index c276c259ae..badec349b7 100644
|
||||
index 4be2d8d3c4..e4d03b6779 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -1802,5 +1802,5 @@ index e60fe5a920..f68e42c4d4 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 68ff51ddebbce42ce5b66cde1a790887799d0fc0 Mon Sep 17 00:00:00 2001
|
||||
From ae8ffe9d11d117ef18da2199da5cdf644bf1a28d 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
|
||||
@ -58,7 +58,7 @@ index cbdd2431fd..9e24b77ad1 100644
|
||||
|
||||
j = MathHelper.floor(entityhuman.locZ / 16.0D);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 237e6136f1..ce97cc99fa 100644
|
||||
index 957868d642..29d98ae30b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -34,6 +34,7 @@ import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
||||
@ -69,7 +69,7 @@ index 237e6136f1..ce97cc99fa 100644
|
||||
import org.bukkit.event.block.BlockCanBuildEvent;
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
@@ -2432,7 +2433,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2431,7 +2432,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
||||
|
||||
@ -103,5 +103,5 @@ index b8bdcb6b74..91e585048a 100644
|
||||
@Override
|
||||
public void updateCommands() {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 5a9ad7efe623a2b35697e3ea12e6848b42ed1941 Mon Sep 17 00:00:00 2001
|
||||
From 2af749a07a38005528f7dab2944ce7655a79568e Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Tue, 1 Mar 2016 23:45:08 -0600
|
||||
Subject: [PATCH] Entity Origin API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 15b6067aab..02ac5c4c0c 100644
|
||||
index 8b40fcfa77..38615f9eea 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -162,6 +162,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -101,10 +101,10 @@ index 769d599c59..e37da10e09 100644
|
||||
if (i >= 0 && i < this.list.size()) {
|
||||
NBTBase nbtbase = (NBTBase)this.list.get(i);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index ce97cc99fa..cf359d6d9e 100644
|
||||
index 29d98ae30b..8984949ff5 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -961,6 +961,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -968,6 +968,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
int j = MathHelper.floor(entity.locZ / 16.0D);
|
||||
boolean flag = entity.attachedToPlayer;
|
||||
|
||||
@ -135,5 +135,5 @@ index 7a204e8edf..0c9b7276fc 100644
|
||||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 26889dd272c3420365e44b69a9b52eb1e876fdc4 Mon Sep 17 00:00:00 2001
|
||||
From 79a3b07620008e12ad07d2489dea841eb1314a44 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
|
||||
@ -23,10 +23,10 @@ index 68ac014aab..c5212417c6 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index be2feb441d..0b38093f91 100644
|
||||
index 8984949ff5..4afa16fb8a 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1190,10 +1190,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1197,10 +1197,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.tickTimer.stopTiming(); // Paper
|
||||
} catch (Throwable throwable1) {
|
||||
entity.tickTimer.stopTiming();
|
||||
@ -43,7 +43,7 @@ index be2feb441d..0b38093f91 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1256,10 +1258,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1263,10 +1265,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
((ITickable) tileentity).Y_();
|
||||
this.methodProfiler.e();
|
||||
} catch (Throwable throwable2) {
|
||||
@ -62,5 +62,5 @@ index be2feb441d..0b38093f91 100644
|
||||
// Spigot start
|
||||
finally {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From e7d0420983298221e86f3959e98a9acd7cbcc059 Mon Sep 17 00:00:00 2001
|
||||
From 933080a0dc72a443ce3fac4cd03ae8a737e66e81 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 9e192b7c04..8b90b13d15 100644
|
||||
index 9a7da83b82..4a457e3302 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1167,10 +1167,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1174,10 +1174,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// CraftBukkit start - Use field for loop variable
|
||||
co.aikar.timings.TimingHistory.entityTicks += this.entityList.size(); // Paper
|
||||
int entitiesThisCycle = 0;
|
||||
@ -23,7 +23,7 @@ index 9e192b7c04..8b90b13d15 100644
|
||||
tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0;
|
||||
entity = (Entity) this.entityList.get(this.tickPosition);
|
||||
// CraftBukkit end
|
||||
@@ -1234,9 +1234,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1241,9 +1241,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// Spigot start
|
||||
// Iterator iterator = this.tileEntityListTick.iterator();
|
||||
int tilesThisCycle = 0;
|
||||
@ -35,5 +35,5 @@ index 9e192b7c04..8b90b13d15 100644
|
||||
TileEntity tileentity = (TileEntity) this.tileEntityListTick.get(tileTickPosition);
|
||||
// Spigot start
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 5a524473ad69a38c362a3f2fc90811f9d2ffe8ba Mon Sep 17 00:00:00 2001
|
||||
From 7c6c6994aef966b58c6c45848d922e469a53ec52 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Hirschfeld <joe@ibj.io>
|
||||
Date: Thu, 3 Mar 2016 02:39:54 -0600
|
||||
Subject: [PATCH] Change implementation of (tile)entity removal list
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 8b90b13d15..9fb87914ff 100644
|
||||
index 4a457e3302..fbcdf9ecaf 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -73,11 +73,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -22,7 +22,7 @@ index 8b90b13d15..9fb87914ff 100644
|
||||
public final List<EntityHuman> players = Lists.newArrayList();
|
||||
public final List<Entity> k = Lists.newArrayList();
|
||||
protected final IntHashMap<Entity> entitiesById = new IntHashMap();
|
||||
@@ -1138,20 +1138,20 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1145,20 +1145,20 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.entityList.removeAll(this.g);
|
||||
|
||||
int j;
|
||||
@ -53,5 +53,5 @@ index 8b90b13d15..9fb87914ff 100644
|
||||
this.g.clear();
|
||||
this.p_();
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f619275b362dced2e0f375bb68620b2c7e20355d Mon Sep 17 00:00:00 2001
|
||||
From 65c9df6d439014bcebe771bfb9ad883d88766070 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
|
||||
@ -89,7 +89,7 @@ index d41cd7a6e9..68f8459861 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 1379b574ef..6b041f06e4 100644
|
||||
index 046973a4ed..d73034f329 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -15,6 +15,7 @@ import java.util.function.BooleanSupplier;
|
||||
@ -191,7 +191,7 @@ index d18921271f..e5115863ec 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index 9e24b77ad1..f32191c5a2 100644
|
||||
index 50b1175cc1..cc0a884cd3 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -10,6 +10,7 @@ import org.apache.logging.log4j.LogManager;
|
||||
@ -239,7 +239,7 @@ index e649d662ae..560edb523f 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 8af8cf2ee5..561bcd07b3 100644
|
||||
index fbcdf9ecaf..8aa8d40cb4 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1,6 +1,8 @@
|
||||
@ -251,7 +251,7 @@ index 8af8cf2ee5..561bcd07b3 100644
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.common.collect.Lists;
|
||||
import it.unimi.dsi.fastutil.longs.LongSet;
|
||||
@@ -1193,8 +1195,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1200,8 +1202,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
} catch (Throwable throwable1) {
|
||||
entity.tickTimer.stopTiming();
|
||||
// Paper start - Prevent tile entity and entity crashes
|
||||
@ -263,7 +263,7 @@ index 8af8cf2ee5..561bcd07b3 100644
|
||||
entity.dead = true;
|
||||
continue;
|
||||
// Paper end
|
||||
@@ -1259,8 +1263,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1266,8 +1270,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.e();
|
||||
} catch (Throwable throwable2) {
|
||||
// Paper start - Prevent tile entity and entity crashes
|
||||
@ -334,5 +334,5 @@ index 93b9134d6e..26753fac5e 100644
|
||||
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2429e8939eb62f6c57e3b5a6ab067e0942371932 Mon Sep 17 00:00:00 2001
|
||||
From 967f13508fd86db7959565e2d32ae2b7231a2e19 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 3 Mar 2016 02:07:55 -0600
|
||||
Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling
|
||||
@ -97,7 +97,7 @@ index 274c449480..7e4c79a1ce 100644
|
||||
private NibbleArray skyLight;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 94872593b1..ee5d4c5272 100644
|
||||
index d531dfcb8a..5031ee3fca 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -263,11 +263,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -173,7 +173,7 @@ index 94872593b1..ee5d4c5272 100644
|
||||
return FluidTypes.a.i();
|
||||
} else {
|
||||
Chunk chunk = this.getChunkAtWorldCoords(blockposition);
|
||||
@@ -1803,7 +1803,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1810,7 +1810,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
public Map<BlockPosition, TileEntity> capturedTileEntities = Maps.newHashMap();
|
||||
@Nullable
|
||||
public TileEntity getTileEntity(BlockPosition blockposition) {
|
||||
@ -182,7 +182,7 @@ index 94872593b1..ee5d4c5272 100644
|
||||
return null;
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -1844,7 +1844,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1851,7 +1851,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) {
|
||||
@ -191,7 +191,7 @@ index 94872593b1..ee5d4c5272 100644
|
||||
if (tileentity != null && !tileentity.x()) {
|
||||
// CraftBukkit start
|
||||
if (captureBlockStates) {
|
||||
@@ -1905,7 +1905,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1912,7 +1912,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public boolean p(BlockPosition blockposition) {
|
||||
@ -201,5 +201,5 @@ index 94872593b1..ee5d4c5272 100644
|
||||
} else {
|
||||
Chunk chunk = this.chunkProvider.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4, false, false);
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 23dbf833e038bf5d565bba44919c95322ef55e3e Mon Sep 17 00:00:00 2001
|
||||
From 1ca39c0a68a24dba5575712be65b4cbd7502c785 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 28 Mar 2016 20:32:58 -0400
|
||||
Subject: [PATCH] Entity AddTo/RemoveFrom World Events
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 8f3b1d529a..7f39a321db 100644
|
||||
index 5471528c22..a252e657c3 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1069,6 +1069,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1076,6 +1076,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
entity.valid = true; // CraftBukkit
|
||||
@ -16,7 +16,7 @@ index 8f3b1d529a..7f39a321db 100644
|
||||
}
|
||||
|
||||
protected void c(Entity entity) {
|
||||
@@ -1076,6 +1077,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1083,6 +1084,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
((IWorldAccess) this.v.get(i)).b(entity);
|
||||
}
|
||||
|
||||
@ -25,5 +25,5 @@ index 8f3b1d529a..7f39a321db 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4bd607245b947c2f52623b9df34aad0aa47619b6 Mon Sep 17 00:00:00 2001
|
||||
From c9b30a74f54c83da7c319cb1b4b484cff5e8b5c8 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 13 Sep 2014 23:14:43 -0400
|
||||
Subject: [PATCH] Configurable Keep Spawn Loaded range per world
|
||||
@ -63,10 +63,10 @@ index bbd476bb0e..280e684db4 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 69266ece8f..eb85fa1907 100644
|
||||
index cc3ce8d83d..f815c8477c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -2868,8 +2868,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2867,8 +2867,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
int k = i * 16 + 8 - blockposition.getX();
|
||||
int l = j * 16 + 8 - blockposition.getZ();
|
||||
boolean flag = true;
|
||||
@ -107,5 +107,5 @@ index 132b21f8bc..9637c98994 100644
|
||||
loadChunk(chunkCoordX + x, chunkCoordZ + z);
|
||||
} else {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 1285cf28b6ff0e40cd76bc64122577d31fcbbcc5 Mon Sep 17 00:00:00 2001
|
||||
From 34f5225d34a59ceeef04a55bf248cb688351094c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 5 Apr 2016 19:42:22 -0400
|
||||
Subject: [PATCH] Don't spam reload spawn chunks in nether/end
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 4ea7bc53e6..f5741b2b36 100644
|
||||
index 75e2de1a22..4bed101c08 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -2864,6 +2864,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2863,6 +2863,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return this.K;
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ index 4ea7bc53e6..f5741b2b36 100644
|
||||
public boolean e(int i, int j) {
|
||||
BlockPosition blockposition = this.getSpawn();
|
||||
int k = i * 16 + 8 - blockposition.getX();
|
||||
@@ -2880,6 +2881,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2879,6 +2880,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return (LongSet) (forcedchunk != null ? LongSets.unmodifiable(forcedchunk.a()) : LongSets.EMPTY_SET);
|
||||
}
|
||||
|
||||
@ -38,5 +38,5 @@ index 517b1e7124..0e654ebf70 100644
|
||||
|
||||
protected abstract void m();
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9159a08fd4bc3baaf9131c771e6f712a3e810414 Mon Sep 17 00:00:00 2001
|
||||
From bb66308e3e6de4bc8b65cf582a5c268aa3a40bd6 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 13 Apr 2016 00:25:28 -0400
|
||||
Subject: [PATCH] Remove unused World Tile Entity List
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List
|
||||
Massive hit to performance and it is completely unnecessary.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 8abe3cdd92..3ce6058d4c 100644
|
||||
index 4bed101c08..c8c89d6ef3 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -76,7 +76,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -18,7 +18,7 @@ index 8abe3cdd92..3ce6058d4c 100644
|
||||
public final List<TileEntity> tileEntityListTick = Lists.newArrayList();
|
||||
private final List<TileEntity> c = Lists.newArrayList();
|
||||
private final Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet(); // Paper
|
||||
@@ -1305,7 +1305,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1312,7 +1312,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
timings.tileEntityTick.startTiming(); // Spigot
|
||||
if (!this.tileEntityListUnload.isEmpty()) {
|
||||
this.tileEntityListTick.removeAll(this.tileEntityListUnload);
|
||||
@ -27,7 +27,7 @@ index 8abe3cdd92..3ce6058d4c 100644
|
||||
this.tileEntityListUnload.clear();
|
||||
}
|
||||
|
||||
@@ -1358,7 +1358,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1365,7 +1365,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (tileentity.x()) {
|
||||
tilesThisCycle--;
|
||||
this.tileEntityListTick.remove(tileTickPosition--);
|
||||
@ -36,7 +36,7 @@ index 8abe3cdd92..3ce6058d4c 100644
|
||||
if (this.isLoaded(tileentity.getPosition())) {
|
||||
this.getChunkAtWorldCoords(tileentity.getPosition()).d(tileentity.getPosition());
|
||||
}
|
||||
@@ -1388,7 +1388,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1395,7 +1395,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3);
|
||||
// CraftBukkit start
|
||||
// From above, don't screw this up - SPIGOT-1746
|
||||
@ -45,7 +45,7 @@ index 8abe3cdd92..3ce6058d4c 100644
|
||||
this.a(tileentity1);
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -1408,9 +1408,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1415,9 +1415,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
protected void p_() {}
|
||||
|
||||
public boolean a(TileEntity tileentity) {
|
||||
@ -57,7 +57,7 @@ index 8abe3cdd92..3ce6058d4c 100644
|
||||
this.tileEntityListTick.add(tileentity);
|
||||
}
|
||||
|
||||
@@ -1891,7 +1891,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1898,7 +1898,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
} else {
|
||||
if (tileentity != null) {
|
||||
this.c.remove(tileentity);
|
||||
@ -67,5 +67,5 @@ index 8abe3cdd92..3ce6058d4c 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8824eb040551062e405769e77f5b114da7a136f5 Mon Sep 17 00:00:00 2001
|
||||
From 838891ffd3bdbc81e429f285900af224acba96cf Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 29 Apr 2016 20:02:00 -0400
|
||||
Subject: [PATCH] Improve Maps (in item frames) performance and bug fixes
|
||||
@ -13,7 +13,7 @@ custom renderers are in use, defaulting to the much simpler Vanilla system.
|
||||
Additionally, numerous issues to player position tracking on maps has been fixed.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 6c4c1924..ad9e7f7b 100644
|
||||
index 6c4c192446..ad9e7f7b54 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -619,6 +619,12 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -30,7 +30,7 @@ index 6c4c1924..ad9e7f7b 100644
|
||||
ItemStack itemstack1 = this.a(entityitem);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index 5c75d494..6120c63a 100644
|
||||
index 5c75d494a2..6120c63a38 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -90,7 +90,7 @@ public class EntityTrackerEntry {
|
||||
@ -43,10 +43,10 @@ index 5c75d494..6120c63a 100644
|
||||
ItemStack itemstack = entityitemframe.getItem();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index a4237b30..caf75ee3 100644
|
||||
index c8c89d6ef3..c6e9d697b4 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1109,6 +1109,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1116,6 +1116,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
{
|
||||
if ( iter.next().trackee == entity )
|
||||
{
|
||||
@ -55,7 +55,7 @@ index a4237b30..caf75ee3 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java
|
||||
index aa58e34c..f26b91b4 100644
|
||||
index aa58e34c6f..f26b91b407 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldMap.java
|
||||
@@ -30,6 +30,7 @@ public class WorldMap extends PersistentBase {
|
||||
@ -127,7 +127,7 @@ index aa58e34c..f26b91b4 100644
|
||||
for ( org.bukkit.map.MapCursor cursor : render.cursors) {
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
|
||||
index 256a1317..5768cd51 100644
|
||||
index 256a131781..5768cd512e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
|
||||
@@ -5,7 +5,7 @@ import org.bukkit.map.MapCursor;
|
||||
@ -140,5 +140,5 @@ index 256a1317..5768cd51 100644
|
||||
|
||||
public RenderData() {
|
||||
--
|
||||
2.18.0.windows.1
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6488a8930089b7cbdec16f6b93efd1328a4976c3 Mon Sep 17 00:00:00 2001
|
||||
From e90dbe5958240c16dc0f95d7b794d23c564cda27 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 18 Jun 2016 23:22:12 -0400
|
||||
Subject: [PATCH] Delay Chunk Unloads based on Player Movement
|
||||
@ -17,7 +17,7 @@ This allows servers with smaller worlds who do less long distance exploring to s
|
||||
wasting cpu cycles on saving/unloading/reloading chunks repeatedly.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index f8102d9f..547ab096 100644
|
||||
index f8102d9f07..547ab09627 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -288,4 +288,18 @@ public class PaperWorldConfig {
|
||||
@ -40,7 +40,7 @@ index f8102d9f..547ab096 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 5390396d..3c9c3cd4 100644
|
||||
index 5390396d5e..3c9c3cd41d 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -37,6 +37,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -52,7 +52,7 @@ index 5390396d..3c9c3cd4 100644
|
||||
public final int locZ;
|
||||
private boolean l;
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 1a1daf36..7417660e 100644
|
||||
index b1e6901090..9739288b53 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -306,6 +306,19 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@ -76,7 +76,7 @@ index 1a1daf36..7417660e 100644
|
||||
this.chunkScheduler.a(booleansupplier);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index ac0e90ee..3f4a8f21 100644
|
||||
index ac0e90eeca..3f4a8f21c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -33,8 +33,16 @@ public class PlayerChunk {
|
||||
@ -113,7 +113,7 @@ index ac0e90ee..3f4a8f21 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 174389e8..eb9d454a 100644
|
||||
index a69d510dd1..7b67fa3208 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -460,7 +460,13 @@ public class PlayerChunkMap {
|
||||
@ -132,10 +132,10 @@ index 174389e8..eb9d454a 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index caf75ee3..b4f31c93 100644
|
||||
index c6e9d697b4..4cee3739bb 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1329,7 +1329,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1336,7 +1336,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (!tileentity.x() && tileentity.hasWorld()) {
|
||||
BlockPosition blockposition = tileentity.getPosition();
|
||||
|
||||
@ -151,7 +151,7 @@ index caf75ee3..b4f31c93 100644
|
||||
this.methodProfiler.a(() -> {
|
||||
return String.valueOf(TileEntityTypes.a(tileentity.C()));
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 9637c989..6b3b45f9 100644
|
||||
index 9637c98994..6b3b45f94a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -1620,7 +1620,7 @@ public class CraftWorld implements World {
|
||||
@ -164,7 +164,7 @@ index 9637c989..6b3b45f9 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 454c1a58..79f053a7 100644
|
||||
index 12040596df..f9bb19fed6 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -284,6 +284,11 @@ public class ActivationRange
|
||||
@ -180,5 +180,5 @@ index 454c1a58..79f053a7 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.18.0.windows.1
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e0f5d9ef984d0bacc7739a5ad94d45e4761b196d Mon Sep 17 00:00:00 2001
|
||||
From 88abfc2741ad294c9ac4e4837cdcae53b01f5ded Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 21 Sep 2016 22:54:28 -0400
|
||||
Subject: [PATCH] Chunk registration fixes
|
||||
@ -8,10 +8,10 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr
|
||||
Keep them consistent
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 1ed4408e2a..0fd91a687e 100644
|
||||
index f13ff979b0..c42c6c742f 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1509,7 +1509,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1516,7 +1516,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
i = MathHelper.floor(entity.locX / 16.0D);
|
||||
@ -21,5 +21,5 @@ index 1ed4408e2a..0fd91a687e 100644
|
||||
|
||||
if (!entity.inChunk || entity.ae != i || entity.af != j || entity.ag != k) {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From d2a91d650e428d979607011c24efc0a2802d6b3d Mon Sep 17 00:00:00 2001
|
||||
From 149f17e8532b98f9cb33ac5061035509aa3ae066 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Mon, 31 Jul 2017 01:45:19 -0500
|
||||
Subject: [PATCH] Reset spawner timer when spawner event is cancelled
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
index ef93f433d6..e4598d8314 100644
|
||||
index 72b12d869e..408ef423e9 100644
|
||||
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
@@ -121,6 +121,9 @@ public abstract class MobSpawnerAbstract {
|
||||
@ -16,9 +16,9 @@ index ef93f433d6..e4598d8314 100644
|
||||
+ flag = true; // Paper
|
||||
+
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, blockposition).isCancelled()) {
|
||||
continue;
|
||||
}
|
||||
@@ -131,7 +134,7 @@ public abstract class MobSpawnerAbstract {
|
||||
Entity vehicle = entity.getVehicle();
|
||||
if (vehicle != null) {
|
||||
@@ -138,7 +141,7 @@ public abstract class MobSpawnerAbstract {
|
||||
entityinsentient.doSpawnEffect();
|
||||
}
|
||||
|
||||
@ -28,5 +28,5 @@ index ef93f433d6..e4598d8314 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From cfb49559e28c704eb9d49d5d4010174dd214797f Mon Sep 17 00:00:00 2001
|
||||
From ad869815dee91aaa85cb8be64451e2df9410666c Mon Sep 17 00:00:00 2001
|
||||
From: mezz <tehgeek@gmail.com>
|
||||
Date: Wed, 9 Aug 2017 17:51:22 -0500
|
||||
Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 0cf5d80899..109e718118 100644
|
||||
index 4b53478d77..a6e87835d5 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1310,7 +1310,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1317,7 +1317,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.c("blockEntities");
|
||||
timings.tileEntityTick.startTiming(); // Spigot
|
||||
if (!this.tileEntityListUnload.isEmpty()) {
|
||||
@ -22,5 +22,5 @@ index 0cf5d80899..109e718118 100644
|
||||
this.tileEntityListUnload.clear();
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From fd03d282fd5195b571293aabe0cce3db74661be5 Mon Sep 17 00:00:00 2001
|
||||
From 961416ac0e026aaa7582b6f5ecae10364e97969d Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 15 Aug 2017 22:29:12 -0400
|
||||
Subject: [PATCH] Expand World.spawnParticle API and add Builder
|
||||
@ -10,10 +10,10 @@ Adds an option to control the force mode of the particle.
|
||||
This adds a new Builder API which is much friendlier to use.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index e4ba13cec5..d6e330d345 100644
|
||||
index 65fe50882b..ee06457653 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1202,12 +1202,17 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1206,12 +1206,17 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
}
|
||||
|
||||
public <T extends ParticleParam> int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) {
|
||||
@ -57,5 +57,5 @@ index 6347d3d1f2..63d9130918 100644
|
||||
x, y, z, // Position
|
||||
count, // Count
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 771d740dc6145e2bf73fc418477e9e8c292479a3 Mon Sep 17 00:00:00 2001
|
||||
From 85ac3540d623320bc08f9f7877eb38f5db1ee813 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 4 Jul 2018 03:39:51 -0400
|
||||
Subject: [PATCH] Avoid Chunk Lookups for Entity/TileEntity Current Chunk
|
||||
@ -10,7 +10,7 @@ to the object directly on the Entity/TileEntity object we can directly grab.
|
||||
Use that local value instead to reduce lookups in many hot places.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 614fce444..e806d13d2 100644
|
||||
index 614fce4447..e806d13d22 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -725,6 +725,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -22,10 +22,10 @@ index 614fce444..e806d13d2 100644
|
||||
this.a(entity, entity.af);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index be6d21e4c..ba1fb577a 100644
|
||||
index 946c129443..c695689101 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1245,12 +1245,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1252,12 +1252,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
int j;
|
||||
// Paper start - Set based removal lists
|
||||
for (Entity e : this.g) {
|
||||
@ -42,7 +42,7 @@ index be6d21e4c..ba1fb577a 100644
|
||||
}
|
||||
|
||||
for (Entity e : this.g) {
|
||||
@@ -1311,12 +1314,17 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1318,12 +1321,17 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.e();
|
||||
this.methodProfiler.a("remove");
|
||||
if (entity.dead) {
|
||||
@ -61,7 +61,7 @@ index be6d21e4c..ba1fb577a 100644
|
||||
|
||||
guardEntityList = false; // Spigot
|
||||
this.entityList.remove(this.tickPosition--); // CraftBukkit - Use field for loop variable
|
||||
@@ -1361,7 +1369,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1368,7 +1376,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
BlockPosition blockposition = tileentity.getPosition();
|
||||
|
||||
// Paper start - Skip ticking in chunks scheduled for unload
|
||||
@ -70,7 +70,7 @@ index be6d21e4c..ba1fb577a 100644
|
||||
boolean shouldTick = chunk != null;
|
||||
if(this.paperConfig.skipEntityTickingInChunksScheduledForUnload)
|
||||
shouldTick = shouldTick && chunk.scheduledForUnload == null;
|
||||
@@ -1397,8 +1405,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1404,8 +1412,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
tilesThisCycle--;
|
||||
this.tileEntityListTick.remove(tileTickPosition--);
|
||||
//this.tileEntityList.remove(tileentity); // Paper - remove unused list
|
||||
@ -85,5 +85,5 @@ index be6d21e4c..ba1fb577a 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d1ba66ffb95eb8a9116f5c0e0cef4de0e9b38efb Mon Sep 17 00:00:00 2001
|
||||
From e2bed98381552f85e0d324e83e646675eba213bc Mon Sep 17 00:00:00 2001
|
||||
From: Hugo Manrique <hugmanrique@gmail.com>
|
||||
Date: Mon, 23 Jul 2018 12:57:39 +0200
|
||||
Subject: [PATCH] Option to prevent armor stands from doing entity lookups
|
||||
@ -21,10 +21,10 @@ index 3aa6f031f3..58f87794d6 100644
|
||||
private void maxEntityCollision() {
|
||||
maxCollisionsPerEntity = getInt( "max-entity-collisions", this.spigotConfig.getInt("max-entity-collisions", 8) );
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 2ad02b0a61..73cd2d015b 100644
|
||||
index 03896807f5..a0e1eb3ff1 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1599,6 +1599,14 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1606,6 +1606,14 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,5 +40,5 @@ index 2ad02b0a61..73cd2d015b 100644
|
||||
int i = MathHelper.floor(axisalignedbb.a);
|
||||
int j = MathHelper.f(axisalignedbb.d);
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0cacdd59764c9ca57ca038d5b72392a0a6bb517e Mon Sep 17 00:00:00 2001
|
||||
From 48d202457a79862fe2914f5e765bc8ba91969cc2 Mon Sep 17 00:00:00 2001
|
||||
From: Hugo Manrique <hugmanrique@gmail.com>
|
||||
Date: Mon, 23 Jul 2018 14:22:26 +0200
|
||||
Subject: [PATCH] Vanished players don't have rights
|
||||
@ -64,10 +64,10 @@ index ea8f1c170a..fdfc0d442e 100644
|
||||
return this.a.a();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index caec2807a6..e7576c5c6a 100644
|
||||
index a0e1eb3ff1..887dba69ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1581,6 +1581,37 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1588,6 +1588,37 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
|
||||
@ -125,5 +125,5 @@ index 063c1b7fa3..f6b7f7a462 100644
|
||||
return event;
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0073935df3eb903a5cb29a7c5dadebd260e30d73 Mon Sep 17 00:00:00 2001
|
||||
From 318c5e0b3498e6f215d35d845d950dd6bb6424eb Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 28 Jul 2018 12:09:20 -0400
|
||||
Subject: [PATCH] Always process chunk removal in removeEntity
|
||||
@ -8,10 +8,10 @@ which can keep them in the chunk when they shouldnt be if done
|
||||
during entity ticking.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 3ea26d5ad8..c2d404b813 100644
|
||||
index 887dba69ce..f21c7f8d90 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1159,7 +1159,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1166,7 +1166,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.everyoneSleeping();
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ index 3ea26d5ad8..c2d404b813 100644
|
||||
int i = entity.ae;
|
||||
int j = entity.ag;
|
||||
|
||||
@@ -1167,6 +1167,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1174,6 +1174,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.getChunkAt(i, j).b(entity);
|
||||
}
|
||||
|
||||
@ -29,5 +29,5 @@ index 3ea26d5ad8..c2d404b813 100644
|
||||
int index = this.entityList.indexOf(entity);
|
||||
if (index != -1) {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 46802d69757545e315c417c9092a0ed5d4568100 Mon Sep 17 00:00:00 2001
|
||||
From 21e2b383c7c451aab9678a4611b4e8b675da0b0a Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 28 Jul 2018 12:18:27 -0400
|
||||
Subject: [PATCH] Ignore Dead Entities in entityList iteration
|
||||
@ -23,7 +23,7 @@ index 56700fc596..9b9c8361e9 100644
|
||||
MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
|
||||
ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index f5d5f38232..e558197623 100644
|
||||
index 8951ac8095..127a7c9b72 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -123,6 +123,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -35,10 +35,10 @@ index f5d5f38232..e558197623 100644
|
||||
public float length;
|
||||
public float J;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index c2d404b813..255829b0b5 100644
|
||||
index f21c7f8d90..79f7a678a7 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1098,6 +1098,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1105,6 +1105,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
entity.valid = true; // CraftBukkit
|
||||
@ -46,7 +46,7 @@ index c2d404b813..255829b0b5 100644
|
||||
new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
}
|
||||
|
||||
@@ -1166,6 +1167,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1173,6 +1174,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (entity.inChunk && this.isChunkLoaded(i, j, true)) {
|
||||
this.getChunkAt(i, j).b(entity);
|
||||
}
|
||||
@ -54,7 +54,7 @@ index c2d404b813..255829b0b5 100644
|
||||
|
||||
if (!guardEntityList) { // Spigot - It will get removed after the tick if we are ticking // Paper - always remove from current chunk above
|
||||
// CraftBukkit start - Decrement loop variable field if we've already ticked this entity
|
||||
@@ -2376,6 +2378,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2383,6 +2385,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
@ -62,14 +62,14 @@ index c2d404b813..255829b0b5 100644
|
||||
|
||||
if (oclass.isAssignableFrom(entity.getClass()) && predicate.test((T) entity)) {
|
||||
arraylist.add(entity);
|
||||
@@ -2462,6 +2465,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2469,6 +2472,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
+ if (entity.shouldBeRemoved) continue; // Paper
|
||||
// CraftBukkit start - Split out persistent check, don't apply it to special persistent mobs
|
||||
if (entity instanceof EntityInsentient) {
|
||||
EntityInsentient entityinsentient = (EntityInsentient) entity;
|
||||
|
||||
if (!(entity instanceof EntityInsentient) || !((EntityInsentient) entity).isPersistent()) {
|
||||
if (oclass.isAssignableFrom(entity.getClass())) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index af977b171a..80fd49b6e1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@ -107,5 +107,5 @@ index af977b171a..80fd49b6e1 100644
|
||||
|
||||
if (bukkitEntity == null) {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 3d8f1b41f66faf392991e817b0954bc7d5841738 Mon Sep 17 00:00:00 2001
|
||||
From 9bdc7e711d66f2aabac9cde0b3723ef68105df87 Mon Sep 17 00:00:00 2001
|
||||
From: willies952002 <admin@domnian.com>
|
||||
Date: Mon, 30 Jul 2018 02:42:49 -0400
|
||||
Subject: [PATCH] World EntityHuman Lookup Optimizations
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 255829b0b5..26007862ab 100644
|
||||
index 79f7a678a7..e2ed2d3c1f 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -81,6 +81,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -16,7 +16,7 @@ index 255829b0b5..26007862ab 100644
|
||||
public final List<Entity> k = Lists.newArrayList();
|
||||
protected final IntHashMap<Entity> entitiesById = new IntHashMap();
|
||||
private final long F = 16777215L;
|
||||
@@ -1082,6 +1083,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1089,6 +1090,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
EntityHuman entityhuman = (EntityHuman) entity;
|
||||
|
||||
this.players.add(entityhuman);
|
||||
@ -25,7 +25,7 @@ index 255829b0b5..26007862ab 100644
|
||||
this.everyoneSleeping();
|
||||
}
|
||||
|
||||
@@ -1124,6 +1127,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1131,6 +1134,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.die();
|
||||
if (entity instanceof EntityHuman) {
|
||||
this.players.remove(entity);
|
||||
@ -33,7 +33,7 @@ index 255829b0b5..26007862ab 100644
|
||||
// Spigot start
|
||||
for ( WorldPersistentData worldData : worldMaps.a.values() )
|
||||
{
|
||||
@@ -1157,6 +1161,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1164,6 +1168,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.die();
|
||||
if (entity instanceof EntityHuman) {
|
||||
this.players.remove(entity);
|
||||
@ -41,7 +41,7 @@ index 255829b0b5..26007862ab 100644
|
||||
this.everyoneSleeping();
|
||||
}
|
||||
|
||||
@@ -2706,6 +2711,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2705,6 +2710,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
@Nullable
|
||||
public EntityHuman a(String s) {
|
||||
@ -50,7 +50,7 @@ index 255829b0b5..26007862ab 100644
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
||||
|
||||
@@ -2715,10 +2722,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2714,10 +2721,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -66,7 +66,7 @@ index 255829b0b5..26007862ab 100644
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
||||
|
||||
@@ -2728,6 +2740,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2727,6 +2739,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -78,5 +78,5 @@ index 255829b0b5..26007862ab 100644
|
||||
|
||||
public void checkSession() throws ExceptionWorldConflict {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e21552089e29786bf85bcfd9fdf5d1d61f614af1 Mon Sep 17 00:00:00 2001
|
||||
From d575c293eba242bce20368e93bf1c946bf9ee8cb Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 3 Aug 2018 22:47:46 -0400
|
||||
Subject: [PATCH] Entity add to world fixes
|
||||
@ -14,7 +14,7 @@ Fix this by differing entity add to world for all entities at the same time
|
||||
the original entity is dead, overwrite it as the logic does for unloaod queued entities.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index e8af8f419..56c378341 100644
|
||||
index e8af8f4196..56c3783412 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -905,6 +905,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -42,10 +42,10 @@ index e8af8f419..56c378341 100644
|
||||
// CraftBukkit start
|
||||
org.bukkit.Server server = this.world.getServer();
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index b2b182c58..f99cdf100 100644
|
||||
index e2ed2d3c1f..2b7ab82b11 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1089,6 +1089,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1096,6 +1096,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
this.getChunkAt(i, j).a(entity);
|
||||
@ -53,7 +53,7 @@ index b2b182c58..f99cdf100 100644
|
||||
this.entityList.add(entity);
|
||||
this.b(entity);
|
||||
return true;
|
||||
@@ -2494,9 +2495,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2493,9 +2494,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return j;
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ index b2b182c58..f99cdf100 100644
|
||||
this.b(entity);
|
||||
});
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 657938762..788ab40d0 100644
|
||||
index 2692d0a1b6..911d03c70b 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -987,7 +987,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@ -81,5 +81,5 @@ index 657938762..788ab40d0 100644
|
||||
} else {
|
||||
if (!(entity instanceof EntityHuman)) {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6b92f447cc46cd7d22d28407b1e0e9e530ddffa5 Mon Sep 17 00:00:00 2001
|
||||
From 8a7c8360a348229b1e81432124ea1093dc29bc70 Mon Sep 17 00:00:00 2001
|
||||
From: Mystiflow <mystiflow@gmail.com>
|
||||
Date: Fri, 6 Jul 2018 13:21:30 +0100
|
||||
Subject: [PATCH] Send nearby packets from world player list not server list
|
||||
@ -95,10 +95,10 @@ index e26405d341..23f390c221 100644
|
||||
if (entityplayer != null && entityplayer.world == this.world && entityplayer.getId() != i) {
|
||||
double d0 = (double) blockposition.getX() - entityplayer.locX;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 788ab40d0e..1e30ba0548 100644
|
||||
index 911d03c70b..f837e6c36c 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1082,7 +1082,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1086,7 +1086,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
}
|
||||
// CraftBukkit end
|
||||
if (super.strikeLightning(entity)) {
|
||||
@ -107,7 +107,7 @@ index 788ab40d0e..1e30ba0548 100644
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@@ -1142,8 +1142,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1146,8 +1146,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
BlockActionData blockactiondata = (BlockActionData) this.d.removeFirst();
|
||||
|
||||
if (this.a(blockactiondata)) {
|
||||
@ -132,5 +132,5 @@ index 80fd49b6e1..ba2e768594 100644
|
||||
|
||||
public String getGameRuleValue(String rule) {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From cfe60b56f90e65e48b707b3a0d3d81615f036454 Mon Sep 17 00:00:00 2001
|
||||
From 0f31bf2ce8e0e92ccf40826a80d2ecd698f7af0f Mon Sep 17 00:00:00 2001
|
||||
From: Colin Godsey <crgodsey@gmail.com>
|
||||
Date: Wed, 8 Aug 2018 10:10:06 -0600
|
||||
Subject: [PATCH] Cache World Entity Type counts
|
||||
@ -133,7 +133,7 @@ index 0000000000..35104542c5
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 4252e8c02a..2b1affd03c 100644
|
||||
index 02b567d559..f609e2ceda 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -124,6 +124,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -170,7 +170,7 @@ index 8874a05be5..0af387c059 100644
|
||||
return this.e;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index 32808558bb..62b4c64f68 100644
|
||||
index 95d98b65cf..387570ed67 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -114,7 +114,7 @@ public final class SpawnerCreature {
|
||||
@ -183,7 +183,7 @@ index 32808558bb..62b4c64f68 100644
|
||||
if (l1 <= k) {
|
||||
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index f99cdf1003..c479828d49 100644
|
||||
index 2b7ab82b11..4089204308 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -50,7 +50,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -213,7 +213,7 @@ index f99cdf1003..c479828d49 100644
|
||||
public static boolean haveWeSilencedAPhysicsCrash;
|
||||
public static String blockLocation;
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -1174,6 +1176,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1181,6 +1183,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.getChunkAt(i, j).b(entity);
|
||||
}
|
||||
entity.shouldBeRemoved = true; // Paper
|
||||
@ -222,5 +222,5 @@ index f99cdf1003..c479828d49 100644
|
||||
if (!guardEntityList) { // Spigot - It will get removed after the tick if we are ticking // Paper - always remove from current chunk above
|
||||
// CraftBukkit start - Decrement loop variable field if we've already ticked this entity
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 9f558a69347dfbaaf71ff2d963e7f27d8b972aae Mon Sep 17 00:00:00 2001
|
||||
From 7eec24b0570c9d4303505151fb9311021987f5c5 Mon Sep 17 00:00:00 2001
|
||||
From: willies952002 <admin@domnian.com>
|
||||
Date: Wed, 29 Aug 2018 00:37:42 -0400
|
||||
Subject: [PATCH] Implement Force-Loaded Chunk API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 49809372d8..2b5b0c4df6 100644
|
||||
index 9a99a56c14..9636b40f97 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -3010,6 +3010,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -3009,6 +3009,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return forcedchunk != null && forcedchunk.a().contains(ChunkCoordIntPair.a(i, j));
|
||||
}
|
||||
|
||||
@ -55,5 +55,5 @@ index 1ccf2a7609..755d2632fd 100644
|
||||
|
||||
public ChunkGenerator getGenerator() {
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8680a88f33ba22fdceb70ffd3a876f4284244a4b Mon Sep 17 00:00:00 2001
|
||||
From 0b22c6881db444da8b133a33b97bddff2d752a0b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 29 Aug 2018 21:59:22 -0400
|
||||
Subject: [PATCH] Optimize getChunkIfLoaded type calls
|
||||
@ -10,7 +10,7 @@ Will improve inlining across many hot methods.
|
||||
Improve getBrightness to not do double chunk map lookups.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 96d49b469a..c0ec896eea 100644
|
||||
index fc621911e0..99613b2ef3 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -381,7 +381,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@ -23,7 +23,7 @@ index 96d49b469a..c0ec896eea 100644
|
||||
neighbor.setNeighborUnloaded(-x, -z);
|
||||
chunk.setNeighborUnloaded(x, z);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 2b5b0c4df6..acd0c93cec 100644
|
||||
index 9636b40f97..52d9c06805 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -165,7 +165,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -45,7 +45,7 @@ index 2b5b0c4df6..acd0c93cec 100644
|
||||
}
|
||||
|
||||
public void a(EnumSkyBlock enumskyblock, BlockPosition blockposition, int i) {
|
||||
@@ -2017,7 +2018,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2024,7 +2025,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (blockposition.isInvalidYLocation()) { // Paper
|
||||
return false;
|
||||
} else {
|
||||
@ -77,5 +77,5 @@ index 755d2632fd..585a0c7fd2 100644
|
||||
return true;
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
2.19.0
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 381fba2cd0c6c30b327c1c5edb1920427b4dd94f
|
||||
Subproject commit 47b9cf30ac5f6e61c84c126075932c4b9d123d95
|
@ -1 +1 @@
|
||||
Subproject commit 1cead6280f702aabc1c38f67477876981a583363
|
||||
Subproject commit a4bdecff654c72281fbce4cebf1ff55d86470d07
|
@ -1 +1 @@
|
||||
Subproject commit 500ff5d408d9ce45b6a0819777fc7ad4779f32e4
|
||||
Subproject commit 6b015b4b7a9a33746619506053e83993439877ae
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren