Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 20:40:08 +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: bb813f6f SPIGOT-4605: Warn against hacking physics CraftBukkit Changes:2ced0233
Don't handle sync packets for kicked playersd5e96882
SPIGOT-4602: Cache reflection in decompile error workaround Spigot Changes: b0f4c22b SPIGOT-4605: Catch more physics problems
Dieser Commit ist enthalten in:
Ursprung
f8058a8187
Commit
abba3d113b
@ -1,4 +1,4 @@
|
||||
From 33502f142938f89056e273cdbea58ca83c760d89 Mon Sep 17 00:00:00 2001
|
||||
From 40e27a88bcb3fc6ab3299097db52b9df18ddab77 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 6 Nov 2017 21:10:01 -0500
|
||||
Subject: [PATCH] API to get a BlockState without a snapshot
|
||||
@ -9,10 +9,10 @@ on the real tile entity.
|
||||
This is useful for where performance is needed
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
||||
index 46a29d3d..e3337d05 100644
|
||||
index 7664728a0..064acf321 100644
|
||||
--- a/src/main/java/org/bukkit/block/Block.java
|
||||
+++ b/src/main/java/org/bukkit/block/Block.java
|
||||
@@ -227,6 +227,15 @@ public interface Block extends Metadatable {
|
||||
@@ -254,6 +254,15 @@ public interface Block extends Metadatable {
|
||||
*/
|
||||
BlockState getState();
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 10ce18ced17baa36f2ffe0e9a3604e314d20830f Mon Sep 17 00:00:00 2001
|
||||
From 39f3eeefa7b52425c8f1dd8fea1c0388ead63454 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Tue, 14 Aug 2018 21:42:10 -0700
|
||||
Subject: [PATCH] Allow Blocks to be accessed via a long key
|
||||
@ -18,7 +18,7 @@ Y range: [0, 1023]
|
||||
X, Z range: [-67 108 864, 67 108 863]
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
|
||||
index 8dcb15fb..7e1ee875 100644
|
||||
index 8dcb15fb8..7e1ee875e 100644
|
||||
--- a/src/main/java/org/bukkit/Location.java
|
||||
+++ b/src/main/java/org/bukkit/Location.java
|
||||
@@ -10,7 +10,6 @@ import org.bukkit.util.Vector;
|
||||
@ -49,7 +49,7 @@ index 8dcb15fb..7e1ee875 100644
|
||||
* @return A new location where X/Y/Z are the center of the block
|
||||
*/
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 92688252..1467debe 100644
|
||||
index 61f2cd9a7..30204b987 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -75,6 +75,37 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@ -91,10 +91,10 @@ index 92688252..1467debe 100644
|
||||
* Gets the y coordinate of the lowest block at this position such that the
|
||||
* block and all blocks above it are transparent for lighting purposes.
|
||||
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
||||
index e3337d05..1f97e3d3 100644
|
||||
index 064acf321..d1a9512aa 100644
|
||||
--- a/src/main/java/org/bukkit/block/Block.java
|
||||
+++ b/src/main/java/org/bukkit/block/Block.java
|
||||
@@ -143,6 +143,33 @@ public interface Block extends Metadatable {
|
||||
@@ -144,6 +144,33 @@ public interface Block extends Metadatable {
|
||||
*/
|
||||
int getZ();
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e603fafdb02e4a80f5ff875bdb4c0fdcd928eeca Mon Sep 17 00:00:00 2001
|
||||
From 2a34f4f4307de41b1abad04baceb01d45517bb9e Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Mon, 29 Feb 2016 21:02:09 -0600
|
||||
Subject: [PATCH] Paper config files
|
||||
@ -572,7 +572,7 @@ index ee16fac91..b8abd6363 100644
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 6ea9eaa1a..5531f5205 100644
|
||||
index 90c54a73d..9865f7f7a 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -130,6 +130,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -583,8 +583,8 @@ index 6ea9eaa1a..5531f5205 100644
|
||||
+
|
||||
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
|
||||
private boolean guardEntityList; // Spigot
|
||||
public static boolean haveWeSilencedAPhysicsCrash;
|
||||
@@ -152,6 +154,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
public static BlockPosition lastPhysicsProblem; // Spigot
|
||||
@@ -151,6 +153,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
protected World(IDataManager idatamanager, @Nullable PersistentCollection persistentcollection, WorldData worlddata, WorldProvider worldprovider, MethodProfiler methodprofiler, boolean flag, ChunkGenerator gen, org.bukkit.World.Environment env) {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f716ee5f3b705d56bb2a134590c5c6c1d87e1b51 Mon Sep 17 00:00:00 2001
|
||||
From 1ed9f0e1531bbf28ef63667a2d958906abf1b036 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
|
||||
@ -929,7 +929,7 @@ index c24f4a8fe..e01222ad2 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index f9e5103a3..d2970c086 100644
|
||||
index a2ec56bc9..da0d0cc10 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory;
|
||||
@ -984,10 +984,10 @@ index f9e5103a3..d2970c086 100644
|
||||
// this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s);
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
index 6c88d0c86..8bf94c1b9 100644
|
||||
index a73947d26..596aa27fe 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
@@ -1,11 +1,17 @@
|
||||
@@ -1,12 +1,19 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
+import co.aikar.timings.MinecraftTimings; // Paper
|
||||
@ -998,8 +998,10 @@ index 6c88d0c86..8bf94c1b9 100644
|
||||
public static <T extends PacketListener> void ensureMainThread(Packet<T> packet, T t0, IAsyncTaskHandler iasynctaskhandler) throws CancelledPacketHandleException {
|
||||
if (!iasynctaskhandler.isMainThread()) {
|
||||
+ Timing timing = MinecraftTimings.getPacketTiming(packet); // Paper
|
||||
+
|
||||
iasynctaskhandler.postToMainThread(() -> {
|
||||
+ try (Timing ignored = timing.startTiming()) { // Paper
|
||||
if (t0 instanceof PlayerConnection && ((PlayerConnection) t0).processedDisconnect) return; // CraftBukkit
|
||||
+ try (Timing ignored = timing.startTiming()) { // Paper
|
||||
packet.a(t0);
|
||||
+ } // Paper - timings
|
||||
});
|
||||
@ -1104,7 +1106,7 @@ index c69209497..68ac014aa 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 5531f5205..209091a9c 100644
|
||||
index 9865f7f7a..a1c5375a5 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -1129,9 +1131,9 @@ index 5531f5205..209091a9c 100644
|
||||
- public final SpigotTimings.WorldTimingsHandler timings; // Spigot
|
||||
+ public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
private boolean guardEntityList; // Spigot
|
||||
public static boolean haveWeSilencedAPhysicsCrash;
|
||||
public static String blockLocation;
|
||||
@@ -201,7 +201,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
public static BlockPosition lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -200,7 +200,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
});
|
||||
this.getServer().addWorld(this.world);
|
||||
// CraftBukkit end
|
||||
@ -1140,7 +1142,7 @@ index 5531f5205..209091a9c 100644
|
||||
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
|
||||
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
|
||||
}
|
||||
@@ -1076,6 +1076,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1081,6 +1081,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
this.methodProfiler.exitEnter("remove");
|
||||
@ -1148,7 +1150,7 @@ index 5531f5205..209091a9c 100644
|
||||
this.entityList.removeAll(this.g);
|
||||
|
||||
int j;
|
||||
@@ -1096,6 +1097,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1101,6 +1102,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
this.g.clear();
|
||||
this.p_();
|
||||
@ -1156,7 +1158,7 @@ index 5531f5205..209091a9c 100644
|
||||
this.methodProfiler.exitEnter("regular");
|
||||
|
||||
CrashReport crashreport1;
|
||||
@@ -1105,6 +1107,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1110,6 +1112,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
timings.entityTick.startTiming(); // Spigot
|
||||
guardEntityList = true; // Spigot
|
||||
// CraftBukkit start - Use field for loop variable
|
||||
@ -1164,7 +1166,7 @@ index 5531f5205..209091a9c 100644
|
||||
int entitiesThisCycle = 0;
|
||||
if (tickPosition < 0) tickPosition = 0;
|
||||
for (entityLimiter.initTick();
|
||||
@@ -1126,10 +1129,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1131,10 +1134,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.enter("tick");
|
||||
if (!entity.dead && !(entity instanceof EntityPlayer)) {
|
||||
try {
|
||||
@ -1178,7 +1180,7 @@ index 5531f5205..209091a9c 100644
|
||||
crashreport1 = CrashReport.a(throwable1, "Ticking entity");
|
||||
crashreportsystemdetails1 = crashreport1.a("Entity being ticked");
|
||||
entity.appendEntityCrashDetails(crashreportsystemdetails1);
|
||||
@@ -1254,6 +1258,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1259,6 +1263,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
timings.tileEntityPending.stopTiming(); // Spigot
|
||||
@ -1186,7 +1188,7 @@ index 5531f5205..209091a9c 100644
|
||||
this.methodProfiler.exit();
|
||||
this.methodProfiler.exit();
|
||||
}
|
||||
@@ -1312,7 +1317,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1317,7 +1322,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@ -1194,7 +1196,7 @@ index 5531f5205..209091a9c 100644
|
||||
entity.N = entity.locX;
|
||||
entity.O = entity.locY;
|
||||
entity.P = entity.locZ;
|
||||
@@ -1320,6 +1324,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1325,6 +1329,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.lastPitch = entity.pitch;
|
||||
if (flag && entity.inChunk) {
|
||||
++entity.ticksLived;
|
||||
@ -1202,7 +1204,7 @@ index 5531f5205..209091a9c 100644
|
||||
if (entity.isPassenger()) {
|
||||
entity.aH();
|
||||
} else {
|
||||
@@ -1383,8 +1388,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1388,8 +1393,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 95f9f5f005624432004e2a747ee6e5abed0819e3 Mon Sep 17 00:00:00 2001
|
||||
From 3ed33183490ced591c999e8c19b6d5294c822b43 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Thu, 3 Mar 2016 03:53:43 -0600
|
||||
Subject: [PATCH] Allow for toggling of spawn chunks
|
||||
@ -20,10 +20,10 @@ index 3e1f4be10..3f734327c 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 209091a9c..ed227d8e8 100644
|
||||
index a1c5375a5..51df93b18 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -202,6 +202,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -201,6 +201,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.getServer().addWorld(this.world);
|
||||
// CraftBukkit end
|
||||
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bec23bb644bcb5b09362b38033cadf808d809038 Mon Sep 17 00:00:00 2001
|
||||
From c1a495934d4e657baea2d07cc2069649c890935c Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 14:32:43 -0600
|
||||
Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
|
||||
@ -76,7 +76,7 @@ index e9ea75579..56aa64bdf 100644
|
||||
MinecraftServer.main(options);
|
||||
} catch (Throwable t) {
|
||||
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
index 14a1084aa..21316d67f 100644
|
||||
index 9511f247a..8e32c4e2c 100644
|
||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
@@ -19,7 +19,7 @@ public class WatchdogThread extends Thread
|
||||
@ -104,7 +104,7 @@ index 14a1084aa..21316d67f 100644
|
||||
- log.log( Level.SEVERE, "Spigot version: " + Bukkit.getServer().getVersion() );
|
||||
+ log.log( Level.SEVERE, "Paper version: " + Bukkit.getServer().getVersion() );
|
||||
//
|
||||
if(net.minecraft.server.World.haveWeSilencedAPhysicsCrash)
|
||||
if ( net.minecraft.server.World.lastPhysicsProblem != null )
|
||||
{
|
||||
@@ -78,7 +78,7 @@ public class WatchdogThread extends Thread
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
From d5920c305d62be813e80e2ae43c96785de171b62 Mon Sep 17 00:00:00 2001
|
||||
From 448e99a666ff2e2d3ff53a03bd499bfeffc8b5bd Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Tue, 1 Mar 2016 14:47:52 -0600
|
||||
Subject: [PATCH] Player affects spawning API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 8b842a85be..de3a70a07d 100644
|
||||
index 5a90376fe..8b826c083 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -68,6 +68,9 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -19,7 +19,7 @@ index 8b842a85be..de3a70a07d 100644
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 42a073d707..4809af8f00 100644
|
||||
index 80d872e79..e5322de97 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -620,7 +620,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@ -32,7 +32,7 @@ index 42a073d707..4809af8f00 100644
|
||||
double d1 = entityhuman.locY - this.locY;
|
||||
double d2 = entityhuman.locZ - this.locZ;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
index 3c566ebd0e..ba40e03fcc 100644
|
||||
index 3c566ebd0..ba40e03fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
@@ -96,7 +96,7 @@ public class EntitySilverfish extends EntityMonster {
|
||||
@ -45,7 +45,7 @@ index 3c566ebd0e..ba40e03fcc 100644
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index 6ca0e19cb9..4eaa5d93b4 100644
|
||||
index 6ca0e19cb..4eaa5d93b 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -37,7 +37,7 @@ public final class SpawnerCreature {
|
||||
@ -58,7 +58,7 @@ index 6ca0e19cb9..4eaa5d93b4 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 ed227d8e80..dab1be9b61 100644
|
||||
index 51df93b18..10c8ece94 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -30,6 +30,7 @@ import org.bukkit.craftbukkit.CraftWorld;
|
||||
@ -69,7 +69,7 @@ index ed227d8e80..dab1be9b61 100644
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
@@ -2384,7 +2385,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2389,7 +2390,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);
|
||||
|
||||
@ -79,7 +79,7 @@ index ed227d8e80..dab1be9b61 100644
|
||||
|
||||
if (d3 < 0.0D || d4 < d3 * d3) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 704acf7386..fb24f6019f 100644
|
||||
index ca3393ef8..6f832b331 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1608,7 +1608,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 1342f7d2b36a0aa22b7ae6eee34015b790d16f5e Mon Sep 17 00:00:00 2001
|
||||
From d8b88936b81136c99eb1bab82cf1c31079a7b1a7 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 2b4a784e4d..22f757756c 100644
|
||||
index 2b4a784e4..22f757756 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -160,6 +160,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -51,7 +51,7 @@ index 2b4a784e4d..22f757756c 100644
|
||||
NBTTagList nbttaglist = new NBTTagList();
|
||||
double[] adouble1 = adouble;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
index a6eae266de..489dd861d2 100644
|
||||
index a6eae266d..489dd861d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
@@ -249,6 +249,14 @@ public class EntityFallingBlock extends Entity {
|
||||
@ -70,7 +70,7 @@ index a6eae266de..489dd861d2 100644
|
||||
|
||||
public void a(boolean flag) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
index 5dc52b6b89..2c28633c42 100644
|
||||
index 5dc52b6b8..2c28633c4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
@@ -109,6 +109,14 @@ public class EntityTNTPrimed extends Entity {
|
||||
@ -89,7 +89,7 @@ index 5dc52b6b89..2c28633c42 100644
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
index 27debcfca9..22027321bd 100644
|
||||
index 27debcfca..22027321b 100644
|
||||
--- a/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
@@ -182,6 +182,7 @@ public class NBTTagList extends NBTList<NBTBase> {
|
||||
@ -101,10 +101,10 @@ index 27debcfca9..22027321bd 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 dab1be9b61..59b1f90433 100644
|
||||
index 10c8ece94..7e73e00ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -913,6 +913,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -918,6 +918,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
int j = MathHelper.floor(entity.locZ / 16.0D);
|
||||
boolean flag = entity.attachedToPlayer;
|
||||
|
||||
@ -118,7 +118,7 @@ index dab1be9b61..59b1f90433 100644
|
||||
flag = true;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 8fb0ecf525..9a5bb02226 100644
|
||||
index 8fb0ecf52..9a5bb0222 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -800,4 +800,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ef71a8a38a32ae6a68b253e74b46badf1cf175a0 Mon Sep 17 00:00:00 2001
|
||||
From 450f1569886930ab72e304d38a2a369e50d37249 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 68ac014aa..c5212417c 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 59b1f9043..086d64628 100644
|
||||
index 7e73e00ce..891f0bb35 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1142,10 +1142,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1147,10 +1147,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.tickTimer.stopTiming(); // Paper
|
||||
} catch (Throwable throwable1) {
|
||||
entity.tickTimer.stopTiming();
|
||||
@ -43,7 +43,7 @@ index 59b1f9043..086d64628 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1208,10 +1210,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1213,10 +1215,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
((ITickable) tileentity).tick();
|
||||
this.methodProfiler.exit();
|
||||
} catch (Throwable throwable2) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4ed9141e99766cbb2b618d73156f34a48726cb7f Mon Sep 17 00:00:00 2001
|
||||
From 018b4f700c5e3dbd66fd8c0891a778a2152d481c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 2 Mar 2016 00:52:31 -0600
|
||||
Subject: [PATCH] Lighting Queue
|
||||
@ -28,7 +28,7 @@ index 145cb274b..eff9dcf54 100644
|
||||
|
||||
public static Timing getTickList(WorldServer worldserver, String timingsType) {
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index fe148495b..cc69ff3a4 100644
|
||||
index 1256a0d58..2c97c6533 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -191,6 +191,13 @@ public class PaperConfig {
|
||||
@ -263,10 +263,10 @@ index 000000000..9783f3a0d
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 086d64628..bf05c47a1 100644
|
||||
index 891f0bb35..c9ba98d89 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -330,7 +330,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -329,7 +329,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
if (iblockdata2.b(this, blockposition) != iblockdata1.b(this, blockposition) || iblockdata2.e() != iblockdata1.e()) {
|
||||
this.methodProfiler.enter("checkLight");
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ec23a52d0e17927fc4da5330bdc546ea4c936ac5 Mon Sep 17 00:00:00 2001
|
||||
From d51c2d868e810811a350508026017fd96949c0b7 Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 11:59:48 -0600
|
||||
Subject: [PATCH] Optimize explosions
|
||||
@ -136,7 +136,7 @@ index 00f1c36e9..f488c37f7 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index bf05c47a1..ac602abc0 100644
|
||||
index c9ba98d89..5788ec6f6 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -22,6 +22,7 @@ import org.apache.logging.log4j.Logger;
|
||||
@ -147,7 +147,7 @@ index bf05c47a1..ac602abc0 100644
|
||||
import java.util.Map;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.block.BlockState;
|
||||
@@ -140,6 +141,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -139,6 +140,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
private org.spigotmc.TickLimiter tileLimiter;
|
||||
private int tileTickPosition;
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 516693b2cf7b54953f8ea3dfd1ffc41fb2d61314 Mon Sep 17 00:00:00 2001
|
||||
From 66294924c12de6f6629939c1f80582f443480e83 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 ac602abc0..ac23ae323 100644
|
||||
index 5788ec6f6..5ff06d247 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1119,10 +1119,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1124,10 +1124,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 ac602abc0..ac23ae323 100644
|
||||
tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0;
|
||||
entity = (Entity) this.entityList.get(this.tickPosition);
|
||||
// CraftBukkit end
|
||||
@@ -1186,9 +1186,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1191,9 +1191,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// Spigot start
|
||||
// Iterator iterator = this.tileEntityListTick.iterator();
|
||||
int tilesThisCycle = 0;
|
||||
|
@ -1,11 +1,11 @@
|
||||
From ac1d51e728daaf8341cbbef9958466de73a3c927 Mon Sep 17 00:00:00 2001
|
||||
From e0215644ebfdb7159fa274af4d916829b42e89f9 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 ac23ae323..ae14fb182 100644
|
||||
index 5ff06d247..7e1df0e5b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -68,11 +68,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -22,7 +22,7 @@ index ac23ae323..ae14fb182 100644
|
||||
public final List<EntityHuman> players = Lists.newArrayList();
|
||||
public final List<Entity> k = Lists.newArrayList();
|
||||
protected final IntHashMap<Entity> entitiesById = new IntHashMap<>();
|
||||
@@ -1090,20 +1090,20 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1095,20 +1095,20 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.entityList.removeAll(this.g);
|
||||
|
||||
int j;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 30dd9067e9bb6bb564d5748e42cd31cbc12c1530 Mon Sep 17 00:00:00 2001
|
||||
From dc6b34ee4cda4103a48869e9f2900c304aacf0f7 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Hirschfeld <joe@ibj.io>
|
||||
Date: Thu, 3 Mar 2016 02:48:12 -0600
|
||||
Subject: [PATCH] Add velocity warnings
|
||||
@ -66,12 +66,12 @@ index 9a5bb0222..a82717f5c 100644
|
||||
public double getHeight() {
|
||||
return getHandle().length;
|
||||
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
index 21316d67f..5d03191c8 100644
|
||||
index 8e32c4e2c..c080a6118 100644
|
||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
@@ -76,7 +76,19 @@ public class WatchdogThread extends Thread
|
||||
log.log( Level.SEVERE, "During the run of the server, a physics stackoverflow was supressed" );
|
||||
log.log( Level.SEVERE, "near " + net.minecraft.server.World.blockLocation);
|
||||
log.log( Level.SEVERE, "near " + net.minecraft.server.World.lastPhysicsProblem );
|
||||
}
|
||||
- //
|
||||
+ // Paper start - Warn in watchdog if an excessive velocity was ever set
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9557c1eec471d177f001aaa3c37951c07cf48b4d Mon Sep 17 00:00:00 2001
|
||||
From 0434f2c0e787906b5cd9ec72b8a15a46079d0a73 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
|
||||
@ -240,7 +240,7 @@ index 58122b18e..0ac1fb53a 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index ae14fb182..ae7e4a7fa 100644
|
||||
index 7e1df0e5b..0684d85be 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1,6 +1,8 @@
|
||||
@ -252,7 +252,7 @@ index ae14fb182..ae7e4a7fa 100644
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.common.collect.Lists;
|
||||
import it.unimi.dsi.fastutil.longs.LongSet;
|
||||
@@ -1145,8 +1147,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1150,8 +1152,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
} catch (Throwable throwable1) {
|
||||
entity.tickTimer.stopTiming();
|
||||
// Paper start - Prevent tile entity and entity crashes
|
||||
@ -264,7 +264,7 @@ index ae14fb182..ae7e4a7fa 100644
|
||||
entity.dead = true;
|
||||
continue;
|
||||
// Paper end
|
||||
@@ -1211,8 +1215,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1216,8 +1220,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.exit();
|
||||
} catch (Throwable throwable2) {
|
||||
// Paper start - Prevent tile entity and entity crashes
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a6d6f8889148feda3f6229367dc1ae53b488a1a7 Mon Sep 17 00:00:00 2001
|
||||
From e2a551344ce5dcc96e50b8aaeb3ff58ab247b2ac Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 20:16:03 -0400
|
||||
Subject: [PATCH] Add World Util Methods
|
||||
@ -45,7 +45,7 @@ index 237a34082..cf53118cc 100644
|
||||
boolean isChunkLoaded(int i, int j, boolean flag);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index ae7e4a7fa..96442ad7d 100644
|
||||
index 0684d85be..7e35cc36b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -79,7 +79,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -57,7 +57,7 @@ index ae7e4a7fa..96442ad7d 100644
|
||||
protected int m = (new Random()).nextInt();
|
||||
protected final int n = 1013904223;
|
||||
protected float o;
|
||||
@@ -269,6 +269,83 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -268,6 +268,83 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return this.getType(blockposition).isAir();
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7ed9ceeb7d35c46ef914426bf9944bd1dda34c57 Mon Sep 17 00:00:00 2001
|
||||
From 180e605d07d2befdf1f25c52219d7a68943a7201 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
|
||||
@ -31,7 +31,7 @@ index 5843ef65a..4c7793f86 100644
|
||||
public BaseBlockPosition(int i, int j, int k) {
|
||||
this.a = i;
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index 75a0f1386..507c93804 100644
|
||||
index 37f9037a2..dfd7496c7 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
@@ -300,6 +300,16 @@ public class BlockPosition extends BaseBlockPosition {
|
||||
@ -97,10 +97,10 @@ index 3c5f10ad4..621ed1fc5 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 96442ad7d..502738b90 100644
|
||||
index 7e35cc36b..6f5719928 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -258,11 +258,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -257,11 +257,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public static boolean isValidLocation(BlockPosition blockposition) {
|
||||
@ -114,7 +114,7 @@ index 96442ad7d..502738b90 100644
|
||||
}
|
||||
|
||||
public boolean isEmpty(BlockPosition blockposition) {
|
||||
@@ -279,7 +279,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -278,7 +278,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// test if meets light level, return faster
|
||||
// logic copied from below
|
||||
public boolean isLightLevel(BlockPosition blockposition, int level) {
|
||||
@ -123,7 +123,7 @@ index 96442ad7d..502738b90 100644
|
||||
if (this.getType(blockposition).c(this, blockposition)) {
|
||||
int sky = getSkylightSubtracted();
|
||||
if (this.getLightLevel(blockposition.up(), sky) >= level) {
|
||||
@@ -326,7 +326,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -325,7 +325,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// CraftBukkit end
|
||||
Chunk chunk = this.getChunkIfLoaded(blockposition);
|
||||
if (chunk != null) {
|
||||
@ -132,7 +132,7 @@ index 96442ad7d..502738b90 100644
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -381,7 +381,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -380,7 +380,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return true;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@ -141,7 +141,7 @@ index 96442ad7d..502738b90 100644
|
||||
return false;
|
||||
} else if (!this.isClientSide && this.worldData.getType() == WorldType.DEBUG_ALL_BLOCK_STATES) {
|
||||
return false;
|
||||
@@ -702,11 +702,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -707,11 +707,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
blockposition = new BlockPosition(blockposition.getX(), 0, blockposition.getZ());
|
||||
}
|
||||
|
||||
@ -155,7 +155,7 @@ index 96442ad7d..502738b90 100644
|
||||
if (this.isLoaded(blockposition)) {
|
||||
this.getChunkAtWorldCoords(blockposition).a(enumskyblock, blockposition, i);
|
||||
this.m(blockposition);
|
||||
@@ -733,7 +733,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -738,7 +738,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
@ -164,7 +164,7 @@ index 96442ad7d..502738b90 100644
|
||||
return Blocks.VOID_AIR.getBlockData();
|
||||
} else {
|
||||
Chunk chunk = this.getChunkAtWorldCoords(blockposition);
|
||||
@@ -743,7 +743,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -748,7 +748,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public Fluid getFluid(BlockPosition blockposition) {
|
||||
@ -173,7 +173,7 @@ index 96442ad7d..502738b90 100644
|
||||
return FluidTypes.EMPTY.i();
|
||||
} else {
|
||||
Chunk chunk = this.getChunkAtWorldCoords(blockposition);
|
||||
@@ -1761,7 +1761,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1766,7 +1766,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 96442ad7d..502738b90 100644
|
||||
return null;
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -1802,7 +1802,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1807,7 +1807,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) {
|
||||
@ -191,7 +191,7 @@ index 96442ad7d..502738b90 100644
|
||||
if (tileentity != null && !tileentity.x()) {
|
||||
// CraftBukkit start
|
||||
if (captureBlockStates) {
|
||||
@@ -1863,7 +1863,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1868,7 +1868,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public boolean p(BlockPosition blockposition) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f89ace834ec5515fb35f7c63acb3d9c95190fb58 Mon Sep 17 00:00:00 2001
|
||||
From 900120b3a43fa8b8922f1b44a79ecf5a52b0617c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 28 Mar 2016 19:55:45 -0400
|
||||
Subject: [PATCH] Option to disable BlockPhysicsEvent for Redstone
|
||||
@ -25,10 +25,10 @@ index 0faef7cf2..deb4ec254 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 502738b90..05d988ed6 100644
|
||||
index 6f5719928..541d9c2d6 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -615,7 +615,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -620,7 +620,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
try {
|
||||
// CraftBukkit start
|
||||
CraftWorld world = ((WorldServer) this).getWorld();
|
||||
@ -38,7 +38,7 @@ index 502738b90..05d988ed6 100644
|
||||
this.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 4a8cc0ff1..fa7466d64 100644
|
||||
index aaeb888a8..1d46b8967 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -33,6 +33,7 @@ import org.bukkit.event.weather.LightningStrikeEvent;
|
||||
|
@ -1,14 +1,14 @@
|
||||
From b4fad19cf6a691affd09d0e66a98923e7d5128f0 Mon Sep 17 00:00:00 2001
|
||||
From 39105c3c741bdead79bb7b8a21e38b3980e48017 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 05d988ed6..1450a4c6e 100644
|
||||
index 541d9c2d6..5b36e7590 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1027,6 +1027,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1032,6 +1032,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
entity.valid = true; // CraftBukkit
|
||||
@ -16,7 +16,7 @@ index 05d988ed6..1450a4c6e 100644
|
||||
}
|
||||
|
||||
protected void c(Entity entity) {
|
||||
@@ -1034,6 +1035,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1039,6 +1040,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
((IWorldAccess) this.v.get(i)).b(entity);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e8cefaca8bce04d279e54ebb7f3106a4af8ab800 Mon Sep 17 00:00:00 2001
|
||||
From fe617230001f60f90d1511e6673e91fa51b54f00 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 31 Mar 2016 19:17:58 -0400
|
||||
Subject: [PATCH] Do not load chunks for light checks
|
||||
@ -7,10 +7,10 @@ Should only happen for blocks on the edge that uses neighbors light level
|
||||
(certain blocks). In that case, there will be 3-4 other neighbors to get a light level from.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 1450a4c6e..907681cdf 100644
|
||||
index 5b36e7590..f4b5e3ba4 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -658,6 +658,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -663,6 +663,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (blockposition.getY() >= 256) {
|
||||
blockposition = new BlockPosition(blockposition.getX(), 255, blockposition.getZ());
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 36b26b9c6b8f8a53382fdefbc997dcd9fd158fb1 Mon Sep 17 00:00:00 2001
|
||||
From 102ffd1fa2fb10d7aaeb220c7c71bd3b0c3b4c10 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 f488c37f7..e53e25626 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 907681cdf..5aea44cd8 100644
|
||||
index f4b5e3ba4..2ed87dd9c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -2847,8 +2847,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2852,8 +2852,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;
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 2848d4479060017f0be0642f379638c37a73efd1 Mon Sep 17 00:00:00 2001
|
||||
From 1c7840b8ff0e9e11c68d3decf34a047ee2fa3497 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 3 Apr 2016 17:48:50 -0400
|
||||
Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 5aea44cd8..a7342da04 100644
|
||||
index 2ed87dd9c..937fd74b1 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -573,6 +573,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -578,6 +578,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public void applyPhysics(BlockPosition blockposition, Block block) {
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 5a15c3db1c4118969b832e0d827619f0b3602afc Mon Sep 17 00:00:00 2001
|
||||
From 050c476f2a947170b6f8564ef94fb1e25e678f04 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 a7342da04..11c77ade1 100644
|
||||
index 937fd74b1..af6abc2df 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -2843,6 +2843,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2848,6 +2848,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return this.K;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e671d551cf48e7fae5fcd6e2d3f07289e4425135 Mon Sep 17 00:00:00 2001
|
||||
From 37c4fc9303c9da3c1a83e5e8603ff99fd3a19951 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 11c77ade1..600b0ec8b 100644
|
||||
index af6abc2df..d8ef300f7 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -71,7 +71,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -18,7 +18,7 @@ index 11c77ade1..600b0ec8b 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
|
||||
@@ -1263,7 +1263,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1268,7 +1268,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 11c77ade1..600b0ec8b 100644
|
||||
this.tileEntityListUnload.clear();
|
||||
}
|
||||
|
||||
@@ -1316,7 +1316,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1321,7 +1321,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (tileentity.x()) {
|
||||
tilesThisCycle--;
|
||||
this.tileEntityListTick.remove(tileTickPosition--);
|
||||
@ -36,7 +36,7 @@ index 11c77ade1..600b0ec8b 100644
|
||||
if (this.isLoaded(tileentity.getPosition())) {
|
||||
this.getChunkAtWorldCoords(tileentity.getPosition()).d(tileentity.getPosition());
|
||||
}
|
||||
@@ -1346,7 +1346,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1351,7 +1351,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 11c77ade1..600b0ec8b 100644
|
||||
this.a(tileentity1);
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -1366,9 +1366,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1371,9 +1371,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
protected void p_() {}
|
||||
|
||||
public boolean a(TileEntity tileentity) {
|
||||
@ -57,7 +57,7 @@ index 11c77ade1..600b0ec8b 100644
|
||||
this.tileEntityListTick.add(tileentity);
|
||||
}
|
||||
|
||||
@@ -1849,7 +1849,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1854,7 +1854,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
} else {
|
||||
if (tileentity != null) {
|
||||
this.c.remove(tileentity);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3a8e019ef8f05f0d544032d452fe95be4f3213c6 Mon Sep 17 00:00:00 2001
|
||||
From 8635173789c985456da0e2561973b523dfcdd7f2 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 f28ca6bb4..f1314831f 100644
|
||||
index 16d28c5db..027fc9bae 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -615,6 +615,12 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -30,7 +30,7 @@ index f28ca6bb4..f1314831f 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 a12a42c32..638b54c1e 100644
|
||||
index de0cf6b73..b3aa57d19 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -97,7 +97,7 @@ public class EntityTrackerEntry {
|
||||
@ -43,10 +43,10 @@ index a12a42c32..638b54c1e 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 600b0ec8b..b51415e9b 100644
|
||||
index d8ef300f7..744cb9b0b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1067,6 +1067,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1072,6 +1072,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
{
|
||||
if ( iter.next().trackee == entity )
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e9a7436242095e39bf7c216ead3291c98cb26689 Mon Sep 17 00:00:00 2001
|
||||
From 09fc8909e5eff839302c3e21bd901bbb4f5d4641 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
|
||||
@ -172,10 +172,10 @@ index 206457650..ab4f3b722 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index b51415e9b..1ffa3f0aa 100644
|
||||
index 744cb9b0b..06991baca 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1287,7 +1287,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1292,7 +1292,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (!tileentity.x() && tileentity.hasWorld()) {
|
||||
BlockPosition blockposition = tileentity.getPosition();
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f7df7852a2bdeeb3e9ada8245312285e17151d2d Mon Sep 17 00:00:00 2001
|
||||
From 5998e59699d7927e6937cc3df8d056504fa7f2c0 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 21 Jun 2016 22:54:34 -0400
|
||||
Subject: [PATCH] Fix Double World Add issues
|
||||
@ -21,10 +21,10 @@ index 21ee154a5..a144118f6 100644
|
||||
Iterator iterator = entity.bP().iterator();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 1ffa3f0aa..3d43f2937 100644
|
||||
index 06991baca..56676f34b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -987,6 +987,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -992,6 +992,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason
|
||||
org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9db121d4d39ef91745ee6901e0353950ff6dae5e Mon Sep 17 00:00:00 2001
|
||||
From 717d26909def2ce7339b76147cbcacabd139d9a5 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 3d43f2937..b07229875 100644
|
||||
index 56676f34b..4eb8e25bf 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1467,7 +1467,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1472,7 +1472,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
i = MathHelper.floor(entity.locX / 16.0D);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f4f4c5e22c47e28e70a575517c6c225addb90bea Mon Sep 17 00:00:00 2001
|
||||
From 0033ccc91201ea518109c020dd1102531147941e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 2 Dec 2016 00:11:43 -0500
|
||||
Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z
|
||||
Reduce method invocations for World.isLoaded(BlockPosition)Z
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index b07229875..fdfa5a8a1 100644
|
||||
index 4eb8e25bf..d4ed23089 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -269,6 +269,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -268,6 +268,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return this.getType(blockposition).isAir();
|
||||
}
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 20c5fa0a3fe5ea037392f045c3557fb14ffa5cd5 Mon Sep 17 00:00:00 2001
|
||||
From 996aaeb08a61dfb62749e8b621b6b72f21116a95 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 fdfa5a8a1..4f261554c 100644
|
||||
index d4ed23089..30f4ea451 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1268,7 +1268,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1273,7 +1273,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.exitEnter("blockEntities");
|
||||
timings.tileEntityTick.startTiming(); // Spigot
|
||||
if (!this.tileEntityListUnload.isEmpty()) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b1d6423949e3b375ceef052ea5778ae7afc19391 Mon Sep 17 00:00:00 2001
|
||||
From 9da6eabeb84a6797d1dc255cb701801bcfa538c6 Mon Sep 17 00:00:00 2001
|
||||
From: Brokkonaut <hannos17@gmx.de>
|
||||
Date: Tue, 31 Oct 2017 03:26:18 +0100
|
||||
Subject: [PATCH] Send attack SoundEffects only to players who can see the
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 7343eb25c..610e76328 100644
|
||||
index 8378c0789..54d03feb9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -989,6 +989,15 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -72,10 +72,10 @@ index 7343eb25c..610e76328 100644
|
||||
entity.extinguish();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 4f261554c..88300e2e5 100644
|
||||
index 30f4ea451..c98c11541 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -949,6 +949,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -954,6 +954,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.a(entityhuman, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, soundeffect, soundcategory, f, f1);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 07f232b3d10c3ec618d75a831c74f61476134e3a Mon Sep 17 00:00:00 2001
|
||||
From 70822f826d458249efca2253522d5d8c0392fa8a Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Thu, 16 Nov 2017 12:12:41 +0000
|
||||
Subject: [PATCH] use CB BlockState implementations for captured blocks
|
||||
@ -18,10 +18,10 @@ the blockstate that will be valid for restoration, as opposed to dropping
|
||||
information on restoration when the event is cancelled.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 88300e2e5..f637aed77 100644
|
||||
index c98c11541..d7c1c96a9 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -396,7 +396,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -395,7 +395,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// CraftBukkit start - capture blockstates
|
||||
CraftBlockState blockstate = null;
|
||||
if (this.captureBlockStates) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 194a295182c17f0e74b68286d465126fc28cc2d1 Mon Sep 17 00:00:00 2001
|
||||
From 84d6829023a55809a241a8dd80499bb2c90b7d35 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
|
||||
@ -22,10 +22,10 @@ index 3ca579e38..1c1f39524 100644
|
||||
this.a(entity, entity.chunkY);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index f637aed77..84efc1cc3 100644
|
||||
index d7c1c96a9..c6615b5a7 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1187,12 +1187,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1192,12 +1192,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 f637aed77..84efc1cc3 100644
|
||||
}
|
||||
|
||||
for (Entity e : this.g) {
|
||||
@@ -1253,12 +1256,17 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1258,12 +1261,17 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.methodProfiler.exit();
|
||||
this.methodProfiler.enter("remove");
|
||||
if (entity.dead) {
|
||||
@ -61,7 +61,7 @@ index f637aed77..84efc1cc3 100644
|
||||
|
||||
guardEntityList = false; // Spigot
|
||||
this.entityList.remove(this.tickPosition--); // CraftBukkit - Use field for loop variable
|
||||
@@ -1303,7 +1311,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1308,7 +1316,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 f637aed77..84efc1cc3 100644
|
||||
boolean shouldTick = chunk != null;
|
||||
if(this.paperConfig.skipEntityTickingInChunksScheduledForUnload)
|
||||
shouldTick = shouldTick && chunk.scheduledForUnload == null;
|
||||
@@ -1339,8 +1347,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1344,8 +1352,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
tilesThisCycle--;
|
||||
this.tileEntityListTick.remove(tileTickPosition--);
|
||||
//this.tileEntityList.remove(tileentity); // Paper - remove unused list
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f96de9ff9ddbffb8ba3556b206e7a01f7b37908b Mon Sep 17 00:00:00 2001
|
||||
From 8ed9fda55686c59ac2ca3eecdd7abf203842146a 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 05509e4fd..4059c7a72 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 4df291f0d..074d14b19 100644
|
||||
index b90c64a17..5104afc33 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1542,6 +1542,14 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1547,6 +1547,14 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 92348c1acf40bee68a6ffb3b1d0e0d12e39a4597 Mon Sep 17 00:00:00 2001
|
||||
From 5f54c38ae42d4fa924279bf60b688bc3162ab432 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
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index e16fd4e5e9..61a547a40d 100644
|
||||
index e16fd4e5e..61a547a40 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -92,7 +92,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -18,7 +18,7 @@ index e16fd4e5e9..61a547a40d 100644
|
||||
protected int k;
|
||||
private Entity vehicle;
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
|
||||
index 85d364b8f4..ff6c8e2b55 100644
|
||||
index 85d364b8f..ff6c8e2b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
|
||||
@@ -70,7 +70,8 @@ public class ItemBlock extends Item {
|
||||
@ -32,10 +32,10 @@ index 85d364b8f4..ff6c8e2b55 100644
|
||||
|
||||
BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), player, CraftBlockData.fromData(iblockdata), defaultReturn);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 074d14b196..93b0544e0f 100644
|
||||
index 5104afc33..7eb15fbb5 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1524,6 +1524,37 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1529,6 +1529,37 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ index 074d14b196..93b0544e0f 100644
|
||||
if (voxelshape.isEmpty()) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 167a3baec7..1b13fa6186 100644
|
||||
index 167a3baec..1b13fa618 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1000,6 +1000,14 @@ public class CraftEventFactory {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bf37a721e1cd38719fcfe7f2773280578e372da2 Mon Sep 17 00:00:00 2001
|
||||
From 46d34d7499b61271b55499dc09d080afdaa2574f 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 93b0544e0..2dd617de9 100644
|
||||
index 7eb15fbb5..63588cd0c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1102,7 +1102,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1107,7 +1107,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.everyoneSleeping();
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ index 93b0544e0..2dd617de9 100644
|
||||
int i = entity.chunkX;
|
||||
int j = entity.chunkZ;
|
||||
|
||||
@@ -1110,6 +1110,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1115,6 +1115,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.getChunkAt(i, j).b(entity);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5ee90c9c958827da1f346eb10357632e3b363611 Mon Sep 17 00:00:00 2001
|
||||
From 1afbefeda4968c4d7af97d155ea94bbe6f237de0 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 56700fc59..9b9c8361e 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 50e616179..cc30f19f0 100644
|
||||
index 15a81d1eb..f0fa4e944 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -121,6 +121,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -35,10 +35,10 @@ index 50e616179..cc30f19f0 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 2dd617de9..2e6b00541 100644
|
||||
index 63588cd0c..ddd438647 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1041,6 +1041,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1046,6 +1046,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
entity.valid = true; // CraftBukkit
|
||||
@ -46,7 +46,7 @@ index 2dd617de9..2e6b00541 100644
|
||||
new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
}
|
||||
|
||||
@@ -1109,6 +1110,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1114,6 +1115,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 2dd617de9..2e6b00541 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
|
||||
@@ -2319,6 +2321,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2324,6 +2326,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
@ -62,7 +62,7 @@ index 2dd617de9..2e6b00541 100644
|
||||
|
||||
if (oclass.isAssignableFrom(entity.getClass()) && predicate.test((T) entity)) { // CraftBukkit - decompile error
|
||||
list.add((T) entity); // CraftBukkit - decompile error
|
||||
@@ -2405,6 +2408,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2410,6 +2413,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 39148659a11dc6f6d5ec7bb3fb4397c25b8e991a Mon Sep 17 00:00:00 2001
|
||||
From d16207bc6f8483316663f8ffcf3f9ad25a0d0daf 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 2e6b00541..0d112016f 100644
|
||||
index ddd438647..74e1f4810 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -76,6 +76,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -16,7 +16,7 @@ index 2e6b00541..0d112016f 100644
|
||||
public final List<Entity> k = Lists.newArrayList();
|
||||
protected final IntHashMap<Entity> entitiesById = new IntHashMap<>();
|
||||
private final long F = 16777215L;
|
||||
@@ -1025,6 +1026,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1030,6 +1031,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
EntityHuman entityhuman = (EntityHuman) entity;
|
||||
|
||||
this.players.add(entityhuman);
|
||||
@ -25,7 +25,7 @@ index 2e6b00541..0d112016f 100644
|
||||
this.everyoneSleeping();
|
||||
}
|
||||
|
||||
@@ -1067,6 +1070,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1072,6 +1075,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.die();
|
||||
if (entity instanceof EntityHuman) {
|
||||
this.players.remove(entity);
|
||||
@ -33,7 +33,7 @@ index 2e6b00541..0d112016f 100644
|
||||
// Spigot start
|
||||
for ( WorldPersistentData worldData : worldMaps.worldMap.values() )
|
||||
{
|
||||
@@ -1100,6 +1104,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1105,6 +1109,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
entity.die();
|
||||
if (entity instanceof EntityHuman) {
|
||||
this.players.remove(entity);
|
||||
@ -41,7 +41,7 @@ index 2e6b00541..0d112016f 100644
|
||||
this.everyoneSleeping();
|
||||
}
|
||||
|
||||
@@ -2670,6 +2675,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2675,6 +2680,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
@Nullable
|
||||
public EntityHuman a(String s) {
|
||||
@ -50,7 +50,7 @@ index 2e6b00541..0d112016f 100644
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
||||
|
||||
@@ -2679,10 +2686,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2684,10 +2691,15 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -66,7 +66,7 @@ index 2e6b00541..0d112016f 100644
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
||||
|
||||
@@ -2692,6 +2704,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2697,6 +2709,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4bec88c9c9d3934730f7c9ef94b409a04c8bcc66 Mon Sep 17 00:00:00 2001
|
||||
From 53c212aceb5442fc775470aefd2a3160946881e8 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
|
||||
@ -53,10 +53,10 @@ index ca236a315..edf4d9130 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 0d112016f..187506b57 100644
|
||||
index 74e1f4810..db130852f 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1032,6 +1032,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1037,6 +1037,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
this.getChunkAt(i, j).a(entity);
|
||||
@ -64,7 +64,7 @@ index 0d112016f..187506b57 100644
|
||||
this.entityList.add(entity);
|
||||
this.b(entity);
|
||||
return true;
|
||||
@@ -2437,9 +2438,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2442,9 +2443,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return j;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f3535616c140d470acb08dfa6671ea715300c8f8 Mon Sep 17 00:00:00 2001
|
||||
From f2e6a430e2bb0295c4e5a23223dbd20857d0c8a5 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 000000000..a10a5bc13
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index a9b0f8497..3311e2b24 100644
|
||||
index 3ca51a5c5..c29d7eeb0 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -122,6 +122,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -171,7 +171,7 @@ index e62616552..bfbe4d3e3 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 187506b57..823c3900b 100644
|
||||
index db130852f..0866c6feb 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -45,7 +45,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@ -192,16 +192,19 @@ index 187506b57..823c3900b 100644
|
||||
// Spigot end
|
||||
protected final Set<Entity> g = com.google.common.collect.Sets.newHashSet(); public Set<Entity> getEntityUnloadQueue() { return g; };// Paper - OBFHELPER
|
||||
//public final List<TileEntity> tileEntityList = Lists.newArrayList(); // Paper - remove unused list
|
||||
@@ -139,7 +141,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -139,8 +141,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
|
||||
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
- private boolean guardEntityList; // Spigot
|
||||
+ public boolean guardEntityList; // Spigot // Paper - public
|
||||
public static boolean haveWeSilencedAPhysicsCrash;
|
||||
public static String blockLocation;
|
||||
public static BlockPosition lastPhysicsProblem; // Spigot
|
||||
+ public static boolean haveWeSilencedAPhysicsCrash;
|
||||
+ public static String blockLocation;
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -1117,6 +1119,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
private org.spigotmc.TickLimiter tileLimiter;
|
||||
private int tileTickPosition;
|
||||
@@ -1122,6 +1126,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.getChunkAt(i, j).b(entity);
|
||||
}
|
||||
entity.shouldBeRemoved = true; // Paper
|
||||
|
@ -1,14 +1,14 @@
|
||||
From b4008e9f85da18e2872ba12cc5064bcf6c8d89cf Mon Sep 17 00:00:00 2001
|
||||
From 26c2d12f82126e938d3873de0bf7d4485db0164e Mon Sep 17 00:00:00 2001
|
||||
From: Sotr <i@omc.hk>
|
||||
Date: Thu, 23 Aug 2018 16:14:12 +0800
|
||||
Subject: [PATCH] Add source block to BlockPhysicsEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 823c3900b..b4c9df025 100644
|
||||
index 0866c6feb..c8a49d776 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -625,7 +625,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -632,7 +632,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// CraftBukkit start
|
||||
CraftWorld world = ((WorldServer) this).getWorld();
|
||||
if (world != null && !((WorldServer)this).stopPhysicsEvent) { // Paper
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 94a35b002229e4b622235ab9c8f1e0475ce27a46 Mon Sep 17 00:00:00 2001
|
||||
From 7dbfd324c0ed19ad289e2333f2f17bff859e05a2 Mon Sep 17 00:00:00 2001
|
||||
From: stonar96 <minecraft.stonar96@gmail.com>
|
||||
Date: Mon, 20 Aug 2018 03:03:58 +0200
|
||||
Subject: [PATCH] Anti-Xray
|
||||
@ -1473,7 +1473,7 @@ index 7d3f846a1..240f59066 100644
|
||||
} else {
|
||||
this.a((Packet) (new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, this.chunk)));
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
index 4c1f43c49..22574a184 100644
|
||||
index 07f9b8d2f..22378b6bc 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
@@ -207,6 +207,8 @@ public class PlayerInteractManager {
|
||||
@ -1534,7 +1534,7 @@ index 16e3469d0..e4c0cc6a3 100644
|
||||
|
||||
if (enumskyblock == EnumSkyBlock.SKY) {
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index b4c9df025..a95c8df4b 100644
|
||||
index c8a49d776..5c5b3ef28 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1,6 +1,8 @@
|
||||
@ -1554,7 +1554,7 @@ index b4c9df025..a95c8df4b 100644
|
||||
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public boolean guardEntityList; // Spigot // Paper - public
|
||||
@@ -164,6 +167,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -165,6 +168,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
protected World(IDataManager idatamanager, @Nullable PersistentCollection persistentcollection, WorldData worlddata, WorldProvider worldprovider, MethodProfiler methodprofiler, boolean flag, ChunkGenerator gen, org.bukkit.World.Environment env) {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(worlddata.getName(), this.spigotConfig); // Paper
|
||||
@ -1562,7 +1562,7 @@ index b4c9df025..a95c8df4b 100644
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
@@ -406,6 +410,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -407,6 +411,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
// CraftBukkit end
|
||||
|
||||
IBlockData iblockdata1 = chunk.setType(blockposition, iblockdata, (i & 64) != 0, (i & 1024) == 0); // CraftBukkit custom NO_PLACE flag
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1fcbcf080609ed885aae4b8b4d0173f01b5bf33b Mon Sep 17 00:00:00 2001
|
||||
From 054e75a8aa2efaf8de0b9bd367a3186e38a9a1e1 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
|
||||
@ -23,10 +23,10 @@ index 41926a361..186cfda7e 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 a95c8df4b..cd56ca04e 100644
|
||||
index 5c5b3ef28..c89a0f7da 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -161,7 +161,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -162,7 +162,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public Chunk getChunkIfLoaded(int x, int z) {
|
||||
@ -35,7 +35,7 @@ index a95c8df4b..cd56ca04e 100644
|
||||
}
|
||||
|
||||
protected World(IDataManager idatamanager, @Nullable PersistentCollection persistentcollection, WorldData worlddata, WorldProvider worldprovider, MethodProfiler methodprofiler, boolean flag, ChunkGenerator gen, org.bukkit.World.Environment env) {
|
||||
@@ -717,7 +717,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -724,7 +724,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
blockposition = new BlockPosition(blockposition.getX(), 0, blockposition.getZ());
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ index a95c8df4b..cd56ca04e 100644
|
||||
}
|
||||
|
||||
public void a(EnumSkyBlock enumskyblock, BlockPosition blockposition, int i) {
|
||||
@@ -1960,7 +1961,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1967,7 +1968,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
if (blockposition.isInvalidYLocation()) { // Paper
|
||||
return false;
|
||||
} else {
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 062b314e9738b03ea846cd097167d93bd4680d60 Mon Sep 17 00:00:00 2001
|
||||
From 596abf69b2fac810f11d4d62d30da12339bc5ac7 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 10 Sep 2018 23:56:36 -0400
|
||||
Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
|
||||
index 2b15aa6c9e..3ca32123bb 100644
|
||||
index 2b15aa6c9..3ca32123b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
|
||||
@@ -12,11 +12,13 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget {
|
||||
@ -53,7 +53,7 @@ index 2b15aa6c9e..3ca32123bb 100644
|
||||
return block == this.f && iworldreader.getType(blockposition.up()).isAir() && iworldreader.getType(blockposition.up(2)).isAir();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java
|
||||
index e58fdee8bb..f2c4048c2b 100644
|
||||
index e58fdee8b..f2c4048c2 100644
|
||||
--- a/src/main/java/net/minecraft/server/RandomPositionGenerator.java
|
||||
+++ b/src/main/java/net/minecraft/server/RandomPositionGenerator.java
|
||||
@@ -87,6 +87,7 @@ public class RandomPositionGenerator {
|
||||
@ -74,10 +74,10 @@ index e58fdee8bb..f2c4048c2b 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index cd56ca04ea..f48d5d9f78 100644
|
||||
index c89a0f7da..bd0271aeb 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -757,7 +757,17 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -764,7 +764,17 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return chunk.getType(blockposition);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4dfffbe401ef870b956fc5cf3b6269aa7e56b266 Mon Sep 17 00:00:00 2001
|
||||
From d8c055a6b9588b2fe77fdb73f7200a1a87931599 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 16:55:04 -0400
|
||||
Subject: [PATCH] Async Chunk Loading and Generation
|
||||
@ -2052,7 +2052,7 @@ index 284e96710..8b08efe1f 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index f48d5d9f7..b5b0fcf8c 100644
|
||||
index bd0271aeb..c771e657e 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -41,7 +41,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
@ -2089,7 +2089,7 @@ index f48d5d9f7..b5b0fcf8c 100644
|
||||
public boolean allowMonsters;
|
||||
public boolean allowAnimals;
|
||||
private boolean J;
|
||||
@@ -737,17 +755,42 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -744,17 +762,42 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
}
|
||||
|
||||
@ -2136,7 +2136,7 @@ index f48d5d9f7..b5b0fcf8c 100644
|
||||
// CraftBukkit end
|
||||
if (blockposition.isInvalidYLocation()) { // Paper
|
||||
return Blocks.VOID_AIR.getBlockData();
|
||||
@@ -1016,6 +1059,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1023,6 +1066,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 695bfadd880ff0a6efb5791f61223a5c2cbc4ccb Mon Sep 17 00:00:00 2001
|
||||
From ae00e18aa67201e19223f874e8d473e5d3501961 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 28 Sep 2018 20:46:29 -0400
|
||||
Subject: [PATCH] Optimize Light Recalculations
|
||||
@ -14,7 +14,7 @@ Also optimizes to not repeatedly look up the same chunk for
|
||||
light lookups.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 6d3f5b6512..9ac594dcbe 100644
|
||||
index 6d3f5b651..9ac594dcb 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -353,7 +353,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -36,10 +36,10 @@ index 6d3f5b6512..9ac594dcbe 100644
|
||||
int i1 = iblockdata.b(this.world, blockposition);
|
||||
int j1 = iblockdata1.b(this.world, blockposition);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index b5b0fcf8cd..88f8145c4d 100644
|
||||
index c771e657e..2819a9094 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -584,8 +584,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -591,8 +591,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
|
||||
if (this.worldProvider.g()) {
|
||||
@ -51,7 +51,7 @@ index b5b0fcf8cd..88f8145c4d 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2221,6 +2222,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2228,6 +2229,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
public boolean c(EnumSkyBlock enumskyblock, BlockPosition blockposition) {
|
||||
// CraftBukkit start - Use neighbor cache instead of looking up
|
||||
Chunk chunk = this.getChunkIfLoaded(blockposition.getX() >> 4, blockposition.getZ() >> 4);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e154874d67835605e5e359706de7dd788da052df Mon Sep 17 00:00:00 2001
|
||||
From 42df6398002eb3dd1fec24201046a74e1b49a08b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 28 Sep 2018 21:49:53 -0400
|
||||
Subject: [PATCH] Fix issues with entity loss due to unloaded chunks
|
||||
@ -18,10 +18,10 @@ This change ensures the chunks are always loaded when entities are
|
||||
added to the world, or a valid entity moves between chunks.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 88f8145c4d..55cd98ae20 100644
|
||||
index 2819a9094..1b7d8bbee 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1074,7 +1074,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1081,7 +1081,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
int i = MathHelper.floor(entity.locX / 16.0D);
|
||||
int j = MathHelper.floor(entity.locZ / 16.0D);
|
||||
@ -30,7 +30,7 @@ index 88f8145c4d..55cd98ae20 100644
|
||||
|
||||
// Paper start - Set origin location when the entity is being added to the world
|
||||
if (entity.origin == null) {
|
||||
@@ -1578,7 +1578,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -1585,7 +1585,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From bd1e23a74e539c1a5ea3e37efe5a85a2aefe206b Mon Sep 17 00:00:00 2001
|
||||
From 692747064da797b9af3c7b7b559c72d45953b477 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sun, 7 Oct 2018 00:54:21 -0500
|
||||
Subject: [PATCH] Add sun related API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index ee5078370c..3059682a49 100644
|
||||
index ee5078370..3059682a4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -1287,6 +1287,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@ -17,10 +17,10 @@ index ee5078370c..3059682a49 100644
|
||||
if (this.world.L() && !this.world.isClientSide) {
|
||||
float f = this.az();
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 55cd98ae20..a186637f5e 100644
|
||||
index 1b7d8bbee..868685e0b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -822,6 +822,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -829,6 +829,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ index 55cd98ae20..a186637f5e 100644
|
||||
return this.G < 4;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index b5a87cfaf6..e33135adaa 100644
|
||||
index b5a87cfaf..e33135ada 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -538,6 +538,12 @@ public class CraftWorld implements World {
|
||||
@ -46,7 +46,7 @@ index b5a87cfaf6..e33135adaa 100644
|
||||
return createExplosion(x, y, z, power, false, true);
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||
index 53c2d154ed..40a429942e 100644
|
||||
index 53c2d154e..40a429942 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||
@@ -68,4 +68,10 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 448a78b9923ab4bed3002a13d2ecbeedfa42de4a Mon Sep 17 00:00:00 2001
|
||||
From 356ac9a81cbeaeba16995f4dcd7db259c821e02f Mon Sep 17 00:00:00 2001
|
||||
From: theosib <millerti@172.16.221.1>
|
||||
Date: Thu, 27 Sep 2018 01:43:35 -0600
|
||||
Subject: [PATCH] Optimize redstone algorithm
|
||||
@ -19,7 +19,7 @@ Aside from making the obvious class/function renames and obfhelpers I didn't nee
|
||||
Just added Bukkit's event system and took a few liberties with dead code and comment misspellings.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index f47a648af3..eefbb355dc 100644
|
||||
index 2add466ac..b499c58b7 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -579,4 +579,14 @@ public class PaperWorldConfig {
|
||||
@ -39,7 +39,7 @@ index f47a648af3..eefbb355dc 100644
|
||||
}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java
|
||||
new file mode 100644
|
||||
index 0000000000..21d9d6d7ed
|
||||
index 000000000..21d9d6d7e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java
|
||||
@@ -0,0 +1,910 @@
|
||||
@ -954,7 +954,7 @@ index 0000000000..21d9d6d7ed
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockRedstoneWire.java b/src/main/java/net/minecraft/server/BlockRedstoneWire.java
|
||||
index 48c79568fb..a09aa69444 100644
|
||||
index 48c79568f..a09aa6944 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockRedstoneWire.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockRedstoneWire.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@ -1122,10 +1122,10 @@ index 48c79568fb..a09aa69444 100644
|
||||
iblockdata.a(world, blockposition, 0);
|
||||
world.setAir(blockposition);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index a186637f5e..589d3efa70 100644
|
||||
index 868685e0b..9e19984a2 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -641,6 +641,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -648,6 +648,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
|
||||
}
|
||||
|
||||
@ -1133,7 +1133,7 @@ index a186637f5e..589d3efa70 100644
|
||||
public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) {
|
||||
if (!this.isClientSide) {
|
||||
IBlockData iblockdata = this.getType(blockposition);
|
||||
@@ -2594,6 +2595,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2601,6 +2602,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0))));
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 89559f21278d3266548781c5d637afde29f2e122 Mon Sep 17 00:00:00 2001
|
||||
From 34cffb3d7e0f3639f280c11dbc952f3677d253a7 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Tue, 13 Nov 2018 14:01:00 +0000
|
||||
Subject: [PATCH] limit the range at which we'll consider an attackable target
|
||||
@ -12,10 +12,10 @@ decrease when set, allowing us to skip further checks earlier on
|
||||
when looking for an attackable entity
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 589d3efa70..c5960cf4cb 100644
|
||||
index 9e19984a2..c412cceff 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -2722,8 +2722,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -2729,8 +2729,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
EntityHuman entityhuman1 = (EntityHuman) this.players.get(i);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6f62ca5139a969a7a92e62fed7fe83b4805115bb Mon Sep 17 00:00:00 2001
|
||||
From 096328c61aa430d20c20f4834554c9cf8d4986b6 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 26 Nov 2018 19:21:58 -0500
|
||||
Subject: [PATCH] Prevent rayTrace from loading chunks
|
||||
@ -7,10 +7,10 @@ ray tracing into an unloaded chunk should be treated as a miss
|
||||
this saves a ton of lag for when AI tries to raytrace near unloaded chunks.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index c5960cf4cb..e11e22836f 100644
|
||||
index c412cceff..7e2d8d4c5 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -853,7 +853,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -860,7 +860,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
int i1 = MathHelper.floor(d1);
|
||||
int j1 = MathHelper.floor(d2);
|
||||
BlockPosition blockposition = new BlockPosition(l, i1, j1);
|
||||
@ -20,7 +20,7 @@ index c5960cf4cb..e11e22836f 100644
|
||||
Fluid fluid = this.getFluid(blockposition);
|
||||
boolean flag2;
|
||||
boolean flag3;
|
||||
@@ -975,7 +976,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
@@ -982,7 +983,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
||||
i1 = MathHelper.floor(d1) - (enumdirection == EnumDirection.UP ? 1 : 0);
|
||||
j1 = MathHelper.floor(d2) - (enumdirection == EnumDirection.SOUTH ? 1 : 0);
|
||||
blockposition = new BlockPosition(l, i1, j1);
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 3108e64a6ac9b00a74c94441ce0dc5d63ecd652a
|
||||
Subproject commit bb813f6f69028b8effd085244d33fec70cbb30f9
|
@ -1 +1 @@
|
||||
Subproject commit ad6070dffd9bd5e46bd9d9d423a6d111a8af130a
|
||||
Subproject commit 2ced02339aeb75e0c59014b1543e75f85f3dac36
|
@ -1 +1 @@
|
||||
Subproject commit f56e2e787f425025af0d7410ff4cdb4f8edf7f3b
|
||||
Subproject commit b0f4c22b92c82146214dad69ea296ab7034592d8
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren