mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-06 07:02:18 -07:00
Drop hopper optimization patch
This commit is contained in:
@@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and
|
|||||||
documented as to their purpose.
|
documented as to their purpose.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index 64992e139..ad600c318 100644
|
index 635be7ccc..a9ea2fd87 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
@@ -106,7 +106,7 @@ index c1ef1c950..3824180ee 100644
|
|||||||
public Location getBedSpawnLocation() {
|
public Location getBedSpawnLocation() {
|
||||||
NBTTagCompound data = getData();
|
NBTTagCompound data = getData();
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 05f380023..67a960616 100644
|
index 73a7cc7fd..14695d1a1 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable pillager patrols
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 8648d9e3d..917dc6253 100644
|
index c0af1aaf3..dbc645ebb 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -6,7 +6,7 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index fe3e78f36..4bcba0a2b 100644
|
index 7dda0803c..dd5e263d7 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -29,7 +29,7 @@ index 7a9159252..3e4632425 100644
|
|||||||
return this.worldProvider.getDimensionManager() == DimensionManager.OVERWORLD && this.c < 4;
|
return this.worldProvider.getDimensionManager() == DimensionManager.OVERWORLD && this.c < 4;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index 182322752..578fe8d19 100644
|
index 8a0675037..aec657952 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow chests to be placed with NBT data
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||||
index 627fa465c..df85f9df0 100644
|
index 33d9cac4d..d891e7b0e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||||
@@ -0,0 +0,0 @@ public final class ItemStack {
|
@@ -0,0 +0,0 @@ public final class ItemStack {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Anti-Xray
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index f5ed0a698..363676348 100644
|
index 99f1541b9..6634ef923 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@
|
@@ -0,0 +0,0 @@
|
||||||
|
@@ -2962,7 +2962,7 @@ index 25a87c2d3..c02c53b50 100644
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 8e15aba7f..edb3a6035 100644
|
index f63269157..664c48d68 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
@@ -3542,7 +3542,7 @@ index 6a54ccb86..fce37d0d6 100644
|
|||||||
return this.m;
|
return this.m;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
index e28fea44e..1d74a59b5 100644
|
index 4295e2d8d..d0354531d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
|
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
|
||||||
|
@@ -12,7 +12,7 @@ Player we will look at limiting the scope of this change. It appears to
|
|||||||
be unintentional in the few cases we've seen so far.
|
be unintentional in the few cases we've seen so far.
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 67a960616..b176b2346 100644
|
index 14695d1a1..10c653e8e 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Call player spectator target events
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index 51b3acadb..9b1758303 100644
|
index 4c7692721..de11e1249 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
@@ -39,7 +39,7 @@ index b03316bc8..5d31068d7 100644
|
|||||||
|
|
||||||
this.setCustomNameVisible(nbttagcompound.getBoolean("CustomNameVisible"));
|
this.setCustomNameVisible(nbttagcompound.getBoolean("CustomNameVisible"));
|
||||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||||
index 6d278a0da..ec3732193 100644
|
index 670f8313a..d49e210a3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||||
@@ -0,0 +0,0 @@ public final class MCUtil {
|
@@ -0,0 +0,0 @@ public final class MCUtil {
|
||||||
|
@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
|
|||||||
This lets you disable it for some worlds and lower it for others.
|
This lets you disable it for some worlds and lower it for others.
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 14fa5fdb7..332f20ce8 100644
|
index 2b2c82d5e..778de4630 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
@@ -21,7 +21,7 @@ index 14fa5fdb7..332f20ce8 100644
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 443e727dc..0a7648381 100644
|
index be31fef79..6be2e1e2f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
@@ -25,7 +25,7 @@ P3) Solutions for 1) and especially 2) might not be future-proof, while this
|
|||||||
server-internal fix makes this change future-proof.
|
server-internal fix makes this change future-proof.
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 0a7e6fff1..097b623fd 100644
|
index 2f0b06dc5..0fc77ac28 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -5,12 +5,12 @@ Subject: [PATCH] Configurable speed for water flowing over lava
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 80d66c647..e49318a19 100644
|
index 42d14fac2..50ac7afa3 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
disableHopperMoveEvents = getBoolean("hopper.disable-move-event", disableHopperMoveEvents);
|
this.armorStandTick = this.getBoolean("armor-stands-tick", this.armorStandTick);
|
||||||
log("Hopper Move Item Events: " + (disableHopperMoveEvents ? "disabled" : "enabled"));
|
log("ArmorStand ticking is " + (this.armorStandTick ? "enabled" : "disabled") + " by default");
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ public int waterOverLavaFlowSpeed;
|
+ public int waterOverLavaFlowSpeed;
|
||||||
|
@@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA
|
|||||||
It is recommended you regenerate the entities, as these were legit entities, and deserve your love.
|
It is recommended you regenerate the entities, as these were legit entities, and deserve your love.
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 3b1289099..14fa5fdb7 100644
|
index 357c7cf1d..2b2c82d5e 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -27,7 +27,7 @@ index 007934d8c..78e48f478 100644
|
|||||||
this.aB = 0;
|
this.aB = 0;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 61dbb31e7..c6c392676 100644
|
index ba4eb3726..609e274a3 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
@@ -16,7 +16,7 @@ handling that should have been handled synchronously will be handled
|
|||||||
synchronously when the server gets shut down.
|
synchronously when the server gets shut down.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index c023848c7..443e727dc 100644
|
index 430d38b9c..be31fef79 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
@@ -200,7 +200,7 @@ index 4379434f6..8e2208422 100644
|
|||||||
boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair) {
|
boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair) {
|
||||||
// Spigot start
|
// Spigot start
|
||||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
index ebb1b6b8b..e28fea44e 100644
|
index c12fb3c10..4295e2d8d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
|
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix zero-tick instant grow farms MC-113809
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index fd9bedf5a..8648d9e3d 100644
|
index 33e251c87..c0af1aaf3 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Generator Settings
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index f63525d67..fd9bedf5a 100644
|
index 02715539a..33e251c87 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement alternative item-despawn-rate
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 097b623fd..d0f5b2ab7 100644
|
index 0fc77ac28..3dfe54ad3 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@
|
@@ -0,0 +0,0 @@
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Limit lightning strike effect distance
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index e49318a19..fe3e78f36 100644
|
index 50ac7afa3..7dda0803c 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index a2739b887..182322752 100644
|
index 7d8ec9450..8a0675037 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
||||||
|
@@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural
|
|||||||
influences natural spawns.
|
influences natural spawns.
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 363676348..0a7e6fff1 100644
|
index 6634ef923..2f0b06dc5 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -7,7 +7,7 @@ Avoids a hashmap lookup by cacheing a reference to the CraftBlockData
|
|||||||
and cloning it when one is needed.
|
and cloning it when one is needed.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java
|
diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java
|
||||||
index 08d884649..8fb0b5af0 100644
|
index 9ab57be85..c1ff62aa5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IBlockData.java
|
--- a/src/main/java/net/minecraft/server/IBlockData.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IBlockData.java
|
+++ b/src/main/java/net/minecraft/server/IBlockData.java
|
||||||
@@ -0,0 +0,0 @@ import com.google.common.collect.ImmutableMap;
|
@@ -0,0 +0,0 @@ import com.google.common.collect.ImmutableMap;
|
||||||
|
@@ -1,306 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Aikar <aikar@aikar.co>
|
|
||||||
Date: Wed, 27 Apr 2016 22:09:52 -0400
|
|
||||||
Subject: [PATCH] Optimize Hoppers
|
|
||||||
|
|
||||||
* Removes unnecessary extra calls to .update() that are very expensive
|
|
||||||
* Lots of itemstack cloning removed. Only clone if the item is actually moved
|
|
||||||
* Return true when a plugin cancels inventory move item event instead of false, as false causes pulls to cycle through all items.
|
|
||||||
However, pushes do not exhibit the same behavior, so this is not something plugins could of been relying on.
|
|
||||||
* Add option (Default on) to cooldown hoppers when they fail to move an item due to full inventory
|
|
||||||
* Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
||||||
index 42d14fac2..80d66c647 100644
|
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
|
||||||
this.armorStandTick = this.getBoolean("armor-stands-tick", this.armorStandTick);
|
|
||||||
log("ArmorStand ticking is " + (this.armorStandTick ? "enabled" : "disabled") + " by default");
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public boolean cooldownHopperWhenFull = true;
|
|
||||||
+ public boolean disableHopperMoveEvents = false;
|
|
||||||
+ private void hopperOptimizations() {
|
|
||||||
+ cooldownHopperWhenFull = getBoolean("hopper.cooldown-when-full", cooldownHopperWhenFull);
|
|
||||||
+ log("Cooldown Hoppers when Full: " + (cooldownHopperWhenFull ? "enabled" : "disabled"));
|
|
||||||
+ disableHopperMoveEvents = getBoolean("hopper.disable-move-event", disableHopperMoveEvents);
|
|
||||||
+ log("Hopper Move Item Events: " + (disableHopperMoveEvents ? "disabled" : "enabled"));
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
|
||||||
index 33d9cac4d..627fa465c 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
|
||||||
@@ -0,0 +0,0 @@ public final class ItemStack {
|
|
||||||
return this.getItem().a(this, entityhuman, entityliving, enumhand);
|
|
||||||
}
|
|
||||||
|
|
||||||
- public ItemStack cloneItemStack() {
|
|
||||||
+ public ItemStack cloneItemStack() { return cloneItemStack(false); } // Paper
|
|
||||||
+ public ItemStack cloneItemStack(boolean origItem) { // Paper
|
|
||||||
if (this.isEmpty()) {
|
|
||||||
return ItemStack.a;
|
|
||||||
} else {
|
|
||||||
- ItemStack itemstack = new ItemStack(this.getItem(), this.count);
|
|
||||||
+ ItemStack itemstack = new ItemStack(origItem ? this.item : this.getItem(), this.count); // Paper
|
|
||||||
|
|
||||||
itemstack.d(this.C());
|
|
||||||
if (this.tag != null) {
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
index dd2d8712e..206a4ad64 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
|
||||||
WorldServer worldserver = (WorldServer) iterator.next();
|
|
||||||
|
|
||||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
|
||||||
+ TileEntityHopper.skipHopperEvents = worldserver.paperConfig.disableHopperMoveEvents || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
|
|
||||||
if (true || worldserver.worldProvider.getDimensionManager() == DimensionManager.OVERWORLD || this.getAllowNether()) { // CraftBukkit
|
|
||||||
this.methodProfiler.a(() -> {
|
|
||||||
return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager());
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
|
||||||
index 958279249..a8e64dfda 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
|
||||||
@@ -0,0 +0,0 @@ public abstract class TileEntity implements KeyedObject { // Paper
|
|
||||||
public void setCurrentChunk(Chunk chunk) {
|
|
||||||
this.currentChunk = chunk != null ? new java.lang.ref.WeakReference<>(chunk) : null;
|
|
||||||
}
|
|
||||||
+ static boolean IGNORE_TILE_UPDATES = false;
|
|
||||||
// Paper end
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@@ -0,0 +0,0 @@ public abstract class TileEntity implements KeyedObject { // Paper
|
|
||||||
|
|
||||||
public void update() {
|
|
||||||
if (this.world != null) {
|
|
||||||
+ if (IGNORE_TILE_UPDATES) return; // Paper
|
|
||||||
this.c = this.world.getType(this.position);
|
|
||||||
this.world.b(this.position, this);
|
|
||||||
if (!this.c.isAir()) {
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java
|
|
||||||
index e08faf538..e7cf14d10 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntityHopper.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntityHopper.java
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Paper start - Optimize Hoppers
|
|
||||||
+ private static boolean skipPullModeEventFire = false;
|
|
||||||
+ private static boolean skipPushModeEventFire = false;
|
|
||||||
+ static boolean skipHopperEvents = false;
|
|
||||||
+
|
|
||||||
+ private boolean hopperPush(IInventory iinventory, EnumDirection enumdirection) {
|
|
||||||
+ skipPushModeEventFire = skipHopperEvents;
|
|
||||||
+ boolean foundItem = false;
|
|
||||||
+ for (int i = 0; i < this.getSize(); ++i) {
|
|
||||||
+ if (!this.getItem(i).isEmpty()) {
|
|
||||||
+ foundItem = true;
|
|
||||||
+ ItemStack origItemStack = this.getItem(i);
|
|
||||||
+ ItemStack itemstack = origItemStack;
|
|
||||||
+
|
|
||||||
+ final int origCount = origItemStack.getCount();
|
|
||||||
+ final int moved = Math.min(world.spigotConfig.hopperAmount, origCount);
|
|
||||||
+ origItemStack.setCount(moved);
|
|
||||||
+
|
|
||||||
+ // We only need to fire the event once to give protection plugins a chance to cancel this event
|
|
||||||
+ // Because nothing uses getItem, every event call should end up the same result.
|
|
||||||
+ if (!skipPushModeEventFire) {
|
|
||||||
+ itemstack = callPushMoveEvent(iinventory, itemstack);
|
|
||||||
+ if (itemstack == null) { // cancelled
|
|
||||||
+ origItemStack.setCount(origCount);
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ final ItemStack itemstack2 = addItem(this, iinventory, itemstack, enumdirection);
|
|
||||||
+ final int remaining = itemstack2.getCount();
|
|
||||||
+ if (remaining != moved) {
|
|
||||||
+ origItemStack = origItemStack.cloneItemStack(true);
|
|
||||||
+ if (!origItemStack.isEmpty()) {
|
|
||||||
+ origItemStack.setCount(origCount - moved + remaining);
|
|
||||||
+ }
|
|
||||||
+ this.setItem(i, origItemStack);
|
|
||||||
+ iinventory.update();
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ origItemStack.setCount(origCount);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (foundItem && world.paperConfig.cooldownHopperWhenFull) { // Inventory was full - cooldown
|
|
||||||
+ this.setCooldown(world.spigotConfig.hopperTransfer);
|
|
||||||
+ }
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private static boolean hopperPull(IHopper ihopper, IInventory iinventory, int i) {
|
|
||||||
+ ItemStack origItemStack = iinventory.getItem(i);
|
|
||||||
+ ItemStack itemstack = origItemStack;
|
|
||||||
+ final int origCount = origItemStack.getCount();
|
|
||||||
+ final World world = ihopper.getWorld();
|
|
||||||
+ final int moved = Math.min(world.spigotConfig.hopperAmount, origCount);
|
|
||||||
+ itemstack.setCount(moved);
|
|
||||||
+
|
|
||||||
+ if (!skipPullModeEventFire) {
|
|
||||||
+ itemstack = callPullMoveEvent(ihopper, iinventory, itemstack);
|
|
||||||
+ if (itemstack == null) { // cancelled
|
|
||||||
+ origItemStack.setCount(origCount);
|
|
||||||
+ // Drastically improve performance by returning true.
|
|
||||||
+ // No plugin could of relied on the behavior of false as the other call
|
|
||||||
+ // site for IMIE did not exhibit the same behavior
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ final ItemStack itemstack2 = addItem(iinventory, ihopper, itemstack, null);
|
|
||||||
+ final int remaining = itemstack2.getCount();
|
|
||||||
+ if (remaining != moved) {
|
|
||||||
+ origItemStack = origItemStack.cloneItemStack(true);
|
|
||||||
+ if (!origItemStack.isEmpty()) {
|
|
||||||
+ origItemStack.setCount(origCount - moved + remaining);
|
|
||||||
+ }
|
|
||||||
+ IGNORE_TILE_UPDATES = true;
|
|
||||||
+ iinventory.setItem(i, origItemStack);
|
|
||||||
+ IGNORE_TILE_UPDATES = false;
|
|
||||||
+ iinventory.update();
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ origItemStack.setCount(origCount);
|
|
||||||
+
|
|
||||||
+ if (world.paperConfig.cooldownHopperWhenFull) {
|
|
||||||
+ cooldownHopper(ihopper);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private ItemStack callPushMoveEvent(IInventory iinventory, ItemStack itemstack) {
|
|
||||||
+ Inventory destinationInventory = getInventory(iinventory);
|
|
||||||
+ InventoryMoveItemEvent event = new InventoryMoveItemEvent(this.getOwner(false).getInventory(),
|
|
||||||
+ CraftItemStack.asCraftMirror(itemstack), destinationInventory, true);
|
|
||||||
+ boolean result = event.callEvent();
|
|
||||||
+ if (!event.calledGetItem && !event.calledSetItem) {
|
|
||||||
+ skipPushModeEventFire = true;
|
|
||||||
+ }
|
|
||||||
+ if (!result) {
|
|
||||||
+ cooldownHopper(this);
|
|
||||||
+ return null;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (event.calledSetItem) {
|
|
||||||
+ return CraftItemStack.asNMSCopy(event.getItem());
|
|
||||||
+ } else {
|
|
||||||
+ return itemstack;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private static ItemStack callPullMoveEvent(IHopper hopper, IInventory iinventory, ItemStack itemstack) {
|
|
||||||
+ Inventory sourceInventory = getInventory(iinventory);
|
|
||||||
+ Inventory destination = getInventory(hopper);
|
|
||||||
+
|
|
||||||
+ InventoryMoveItemEvent event = new InventoryMoveItemEvent(sourceInventory,
|
|
||||||
+ // Mirror is safe as we no plugins ever use this item
|
|
||||||
+ CraftItemStack.asCraftMirror(itemstack), destination, false);
|
|
||||||
+ boolean result = event.callEvent();
|
|
||||||
+ if (!event.calledGetItem && !event.calledSetItem) {
|
|
||||||
+ skipPullModeEventFire = true;
|
|
||||||
+ }
|
|
||||||
+ if (!result) {
|
|
||||||
+ cooldownHopper(hopper);
|
|
||||||
+ return null;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (event.calledSetItem) {
|
|
||||||
+ return CraftItemStack.asNMSCopy(event.getItem());
|
|
||||||
+ } else {
|
|
||||||
+ return itemstack;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private static Inventory getInventory(IInventory iinventory) {
|
|
||||||
+ Inventory sourceInventory;// Have to special case large chests as they work oddly
|
|
||||||
+ if (iinventory instanceof InventoryLargeChest) {
|
|
||||||
+ sourceInventory = new org.bukkit.craftbukkit.inventory.CraftInventoryDoubleChest((InventoryLargeChest) iinventory);
|
|
||||||
+ } else if (iinventory instanceof TileEntity) {
|
|
||||||
+ sourceInventory = ((TileEntity) iinventory).getOwner(false).getInventory();
|
|
||||||
+ } else {
|
|
||||||
+ sourceInventory = iinventory.getOwner().getInventory();
|
|
||||||
+ }
|
|
||||||
+ return sourceInventory;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private static void cooldownHopper(IHopper hopper) {
|
|
||||||
+ if (hopper instanceof TileEntityHopper) {
|
|
||||||
+ ((TileEntityHopper) hopper).setCooldown(hopper.getWorld().spigotConfig.hopperTransfer);
|
|
||||||
+ } else if (hopper instanceof EntityMinecartHopper) {
|
|
||||||
+ ((EntityMinecartHopper) hopper).setCooldown(hopper.getWorld().spigotConfig.hopperTransfer / 2);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Paper end
|
|
||||||
+
|
|
||||||
private boolean j() {
|
|
||||||
IInventory iinventory = this.k();
|
|
||||||
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
if (this.b(iinventory, enumdirection)) {
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
+ return hopperPush(iinventory, enumdirection); /* // Paper - disable rest
|
|
||||||
for (int i = 0; i < this.getSize(); ++i) {
|
|
||||||
if (!this.getItem(i).isEmpty()) {
|
|
||||||
ItemStack itemstack = this.getItem(i).cloneItemStack();
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- return false;
|
|
||||||
+ return false;*/ // Paper - end commenting out replaced block for Hopper Optimizations
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
EnumDirection enumdirection = EnumDirection.DOWN;
|
|
||||||
|
|
||||||
return c(iinventory, enumdirection) ? false : a(iinventory, enumdirection).anyMatch((i) -> {
|
|
||||||
+ skipPullModeEventFire = skipHopperEvents; // Paper
|
|
||||||
return a(ihopper, iinventory, i, enumdirection);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
ItemStack itemstack = iinventory.getItem(i);
|
|
||||||
|
|
||||||
if (!itemstack.isEmpty() && b(iinventory, itemstack, i, enumdirection)) {
|
|
||||||
+ return hopperPull(ihopper, iinventory, i); /* // Paper - disable rest
|
|
||||||
ItemStack itemstack1 = itemstack.cloneItemStack();
|
|
||||||
// ItemStack itemstack2 = addItem(iinventory, ihopper, iinventory.splitStack(i, 1), (EnumDirection) null);
|
|
||||||
// CraftBukkit start - Call event on collection of items from inventories into the hopper
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
}
|
|
||||||
|
|
||||||
itemstack1.subtract(origCount - itemstack2.getCount()); // Spigot
|
|
||||||
- iinventory.setItem(i, itemstack1);
|
|
||||||
+ iinventory.setItem(i, itemstack1);*/ // Paper - end commenting out replaced block for Hopper Optimizations
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
public static boolean a(IInventory iinventory, EntityItem entityitem) {
|
|
||||||
boolean flag = false;
|
|
||||||
// CraftBukkit start
|
|
||||||
- InventoryPickupItemEvent event = new InventoryPickupItemEvent(iinventory.getOwner().getInventory(), (org.bukkit.entity.Item) entityitem.getBukkitEntity());
|
|
||||||
+ InventoryPickupItemEvent event = new InventoryPickupItemEvent(getInventory(iinventory), (org.bukkit.entity.Item) entityitem.getBukkitEntity()); // Paper - use getInventory() to avoid snapshot creation
|
|
||||||
entityitem.world.getServer().getPluginManager().callEvent(event);
|
|
||||||
if (event.isCancelled()) {
|
|
||||||
return false;
|
|
||||||
@@ -0,0 +0,0 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
|
||||||
boolean flag1 = iinventory1.isNotEmpty();
|
|
||||||
|
|
||||||
if (itemstack1.isEmpty()) {
|
|
||||||
+ IGNORE_TILE_UPDATES = true; // Paper
|
|
||||||
iinventory1.setItem(i, itemstack);
|
|
||||||
+ IGNORE_TILE_UPDATES = false; // Paper
|
|
||||||
itemstack = ItemStack.a;
|
|
||||||
flag = true;
|
|
||||||
} else if (a(itemstack1, itemstack)) {
|
|
||||||
--
|
|
@@ -217,7 +217,7 @@ index 000000000..6bb2f98b4
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index ec575bc8f..3120f91de 100644
|
index 7fd040409..553014b79 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
@@ -8,7 +8,7 @@ the updates per world, so that we can re-use the same packet
|
|||||||
object for every player unless they have per-player time enabled.
|
object for every player unless they have per-player time enabled.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 3120f91de..8fc55d31a 100644
|
index 553014b79..ca45093e6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
@@ -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.
|
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
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 4bcba0a2b..3b1289099 100644
|
index dd5e263d7..357c7cf1d 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -17,7 +17,7 @@ index 5d31068d7..365984bb8 100644
|
|||||||
return 300;
|
return 300;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index 9b1758303..c467ca356 100644
|
index de11e1249..8eb20424f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
@@ -6,7 +6,7 @@ Subject: [PATCH] Server Tick Events
|
|||||||
Fires event at start and end of a server tick
|
Fires event at start and end of a server tick
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 8fc55d31a..c023848c7 100644
|
index ca45093e6..430d38b9c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
@@ -59,7 +59,7 @@ index 214b577b3..559e6b42b 100644
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 206a4ad64..ec575bc8f 100644
|
index dd2d8712e..7fd040409 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index 0f8e0e81e..ac032c0ed 100644
|
index a9ea2fd87..65b6051cf 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
@@ -25,7 +25,7 @@ index 8de6c4816..e25544f11 100644
|
|||||||
poiUnload = Timings.ofSafe(name + "Chunk unload - POI");
|
poiUnload = Timings.ofSafe(name + "Chunk unload - POI");
|
||||||
chunkUnload = Timings.ofSafe(name + "Chunk unload - Chunk");
|
chunkUnload = Timings.ofSafe(name + "Chunk unload - Chunk");
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index d0f5b2ab7..f63525d67 100644
|
index 3dfe54ad3..02715539a 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
|
@@ -5,7 +5,7 @@ Subject: [PATCH] incremental chunk saving
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 332f20ce8..f5ed0a698 100644
|
index 778de4630..99f1541b9 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||||
@@ -62,7 +62,7 @@ index 9b2bafdbd..f138b112f 100644
|
|||||||
public void close() throws IOException {
|
public void close() throws IOException {
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 0a7648381..8e15aba7f 100644
|
index 6be2e1e2f..f63269157 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
Reference in New Issue
Block a user