geforkt von Mirrors/Paper
Bring task execution into server tick timings (#2357)
Dieser Commit ist enthalten in:
Ursprung
edce53843c
Commit
4ac69cec8d
@ -1,4 +1,4 @@
|
||||
From 32433f247363809b8ea035499c20a4fee2e8fe1e Mon Sep 17 00:00:00 2001
|
||||
From c1ee662cf3caa470950652abba88a1cb8be0a561 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
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Timings v2
|
||||
|
||||
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
new file mode 100644
|
||||
index 000000000..3f9fb6f90
|
||||
index 0000000000..c2d2614181
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
@@ -0,0 +1,133 @@
|
||||
@@ -0,0 +1,134 @@
|
||||
+package co.aikar.timings;
|
||||
+
|
||||
+import com.google.common.collect.MapMaker;
|
||||
@ -44,6 +44,7 @@ index 000000000..3f9fb6f90
|
||||
+ public static final Timing structureGenerationTimer = Timings.ofSafe("Structure Generation");
|
||||
+
|
||||
+ public static final Timing processQueueTimer = Timings.ofSafe("processQueue");
|
||||
+ public static final Timing processTasksTimer = Timings.ofSafe("processTasks");
|
||||
+
|
||||
+ public static final Timing playerCommandTimer = Timings.ofSafe("playerCommand");
|
||||
+
|
||||
@ -145,10 +146,10 @@ index 000000000..3f9fb6f90
|
||||
+}
|
||||
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
|
||||
new file mode 100644
|
||||
index 000000000..366de6665
|
||||
index 0000000000..92c32c48d2
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
|
||||
@@ -0,0 +1,107 @@
|
||||
@@ -0,0 +1,120 @@
|
||||
+package co.aikar.timings;
|
||||
+
|
||||
+import net.minecraft.server.World;
|
||||
@ -187,6 +188,12 @@ index 000000000..366de6665
|
||||
+ public final Timing tracker2;
|
||||
+ public final Timing doTick;
|
||||
+ public final Timing tickEntities;
|
||||
+ public final Timing chunks;
|
||||
+ public final Timing newEntities;
|
||||
+ public final Timing raids;
|
||||
+ public final Timing chunkProviderTick;
|
||||
+ public final Timing broadcastChunkUpdates;
|
||||
+ public final Timing countNaturalMobs;
|
||||
+
|
||||
+ public final Timing syncChunkLoadTimer;
|
||||
+ public final Timing syncChunkLoadDataTimer;
|
||||
@ -250,6 +257,13 @@ index 000000000..366de6665
|
||||
+ tracker2 = Timings.ofSafe(name + "tracker stage 2");
|
||||
+ doTick = Timings.ofSafe(name + "doTick");
|
||||
+ tickEntities = Timings.ofSafe(name + "tickEntities");
|
||||
+
|
||||
+ chunks = Timings.ofSafe(name + "Chunks");
|
||||
+ newEntities = Timings.ofSafe(name + "New entity registration");
|
||||
+ raids = Timings.ofSafe(name + "Raids");
|
||||
+ chunkProviderTick = Timings.ofSafe(name + "Chunk provider tick");
|
||||
+ broadcastChunkUpdates = Timings.ofSafe(name + "Broadcast chunk updates");
|
||||
+ countNaturalMobs = Timings.ofSafe(name + "Count natural mobs");
|
||||
+ }
|
||||
+
|
||||
+ public static Timing getTickList(WorldServer worldserver, String timingsType) {
|
||||
@ -257,7 +271,7 @@ index 000000000..366de6665
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 5518ec1e5..0c65afccf 100644
|
||||
index 5518ec1e54..0c65afccfd 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit;
|
||||
@ -304,7 +318,7 @@ index 5518ec1e5..0c65afccf 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index abba434da..1426bd01a 100644
|
||||
index abba434dac..1426bd01ad 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -31,6 +31,15 @@ public class Block implements IMaterial {
|
||||
@ -324,7 +338,7 @@ index abba434da..1426bd01a 100644
|
||||
private final float frictionFactor;
|
||||
protected final BlockStateList<Block, IBlockData> blockStateList;
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 3ed48be38..c4d989f70 100644
|
||||
index 3ed48be382..c4d989f702 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -573,6 +573,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -344,7 +358,7 @@ index 3ed48be38..c4d989f70 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index dd6e69a0f..25e0163c6 100644
|
||||
index dd6e69a0f1..978a9f9172 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -150,11 +150,13 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@ -373,7 +387,40 @@ index dd6e69a0f..25e0163c6 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -462,9 +466,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -375,7 +379,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
this.tickDistanceManager();
|
||||
this.world.timings.doChunkMap.stopTiming(); // Spigot
|
||||
this.world.getMethodProfiler().exitEnter("chunks");
|
||||
+ this.world.timings.chunks.startTiming(); // Paper - timings
|
||||
this.tickChunks();
|
||||
+ this.world.timings.chunks.stopTiming(); // Paper - timings
|
||||
this.world.timings.doChunkUnload.startTiming(); // Spigot
|
||||
this.world.getMethodProfiler().exitEnter("unload");
|
||||
this.playerChunkMap.unloadChunks(booleansupplier);
|
||||
@@ -400,10 +406,12 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
boolean flag2 = world.ticksPerAnimalSpawns != 0L && worlddata.getTime() % world.ticksPerAnimalSpawns == 0L; // CraftBukkit // PAIL: TODO monster ticks
|
||||
|
||||
this.world.getMethodProfiler().enter("naturalSpawnCount");
|
||||
+ this.world.timings.countNaturalMobs.startTiming(); // Paper - timings
|
||||
int l = this.chunkMapDistance.b();
|
||||
EnumCreatureType[] aenumcreaturetype = EnumCreatureType.values();
|
||||
Object2IntMap<EnumCreatureType> object2intmap = this.world.l();
|
||||
|
||||
+ this.world.timings.countNaturalMobs.stopTiming(); // Paper - timings
|
||||
this.world.getMethodProfiler().exit();
|
||||
this.playerChunkMap.f().forEach((playerchunk) -> {
|
||||
Optional<Chunk> optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left();
|
||||
@@ -412,7 +420,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
Chunk chunk = (Chunk) optional.get();
|
||||
|
||||
this.world.getMethodProfiler().enter("broadcast");
|
||||
+ this.world.timings.broadcastChunkUpdates.startTiming(); // Paper - timings
|
||||
playerchunk.a(chunk);
|
||||
+ this.world.timings.broadcastChunkUpdates.stopTiming(); // Paper - timings
|
||||
this.world.getMethodProfiler().exit();
|
||||
ChunkCoordIntPair chunkcoordintpair = playerchunk.i();
|
||||
|
||||
@@ -462,9 +472,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
this.world.getMethodProfiler().exit();
|
||||
}
|
||||
|
||||
@ -385,7 +432,7 @@ index dd6e69a0f..25e0163c6 100644
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -477,9 +481,7 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -477,9 +487,7 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
this.world.getMethodProfiler().exit();
|
||||
}
|
||||
|
||||
@ -396,7 +443,7 @@ index dd6e69a0f..25e0163c6 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index 28bf9e14d..03be77299 100644
|
||||
index 28bf9e14d6..03be77299b 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -434,7 +481,7 @@ index 28bf9e14d..03be77299 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java
|
||||
index 12885cbd6..49de6e997 100644
|
||||
index 12885cbd60..49de6e997a 100644
|
||||
--- a/src/main/java/net/minecraft/server/CustomFunction.java
|
||||
+++ b/src/main/java/net/minecraft/server/CustomFunction.java
|
||||
@@ -13,12 +13,22 @@ public class CustomFunction {
|
||||
@ -461,7 +508,7 @@ index 12885cbd6..49de6e997 100644
|
||||
return this.b;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java
|
||||
index 53735b52a..721839b4c 100644
|
||||
index 53735b52a3..721839b4c6 100644
|
||||
--- a/src/main/java/net/minecraft/server/CustomFunctionData.java
|
||||
+++ b/src/main/java/net/minecraft/server/CustomFunctionData.java
|
||||
@@ -101,7 +101,7 @@ public class CustomFunctionData implements IResourcePackListener {
|
||||
@ -474,7 +521,7 @@ index 53735b52a..721839b4c 100644
|
||||
int j = 0;
|
||||
CustomFunction.c[] acustomfunction_c = customfunction.b();
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 5e0797afd..f572cd8fc 100644
|
||||
index 5e0797afde..f572cd8fc7 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -19,6 +19,8 @@ import java.util.Collections;
|
||||
@ -562,7 +609,7 @@ index 5e0797afd..f572cd8fc 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index d4954801c..fd4712c71 100644
|
||||
index d4954801cb..fd4712c710 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender;
|
||||
@ -601,7 +648,7 @@ index d4954801c..fd4712c71 100644
|
||||
|
||||
protected Vec3D a(Vec3D vec3d, EnumMoveType enummovetype) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index dcbc4ea7e..b1f130f91 100644
|
||||
index dcbc4ea7e1..b1f130f91d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -35,7 +35,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@ -677,7 +724,7 @@ index dcbc4ea7e..b1f130f91 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 1701d39ea..8d04500ac 100644
|
||||
index 1701d39eab..d9eb5ce085 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -63,7 +63,7 @@ import org.bukkit.craftbukkit.CraftServer;
|
||||
@ -697,6 +744,15 @@ index 1701d39ea..8d04500ac 100644
|
||||
// CraftBukkit start
|
||||
if (this.server != null) {
|
||||
this.server.disablePlugins();
|
||||
@@ -881,7 +882,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
// CraftBukkit end
|
||||
|
||||
protected void sleepForTick() {
|
||||
- this.executeAll();
|
||||
+ //this.executeAll(); // Paper - move this into the tick method for timings
|
||||
this.awaitTasks(() -> {
|
||||
return !this.canSleepForTick();
|
||||
});
|
||||
@@ -961,7 +962,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
protected void exit() {}
|
||||
|
||||
@ -721,12 +777,17 @@ index 1701d39ea..8d04500ac 100644
|
||||
}
|
||||
|
||||
this.methodProfiler.enter("snooper");
|
||||
@@ -1012,30 +1011,29 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1012,30 +1011,34 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.methodProfiler.exit();
|
||||
org.spigotmc.WatchdogThread.tick(); // Spigot
|
||||
this.slackActivityAccountant.tickEnded(l); // Spigot
|
||||
- SpigotTimings.serverTickTimer.stopTiming(); // Spigot
|
||||
- org.spigotmc.CustomTimingsHandler.tick(); // Spigot
|
||||
+ // Paper start - move executeAll() into full server tick timing
|
||||
+ try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) {
|
||||
+ this.executeAll();
|
||||
+ }
|
||||
+ // Paper end
|
||||
+ co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper
|
||||
}
|
||||
|
||||
@ -760,7 +821,7 @@ index 1701d39ea..8d04500ac 100644
|
||||
// Send time updates to everyone, it will get the right time from the world the player is in.
|
||||
if (this.ticks % 20 == 0) {
|
||||
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
|
||||
@@ -1043,7 +1041,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1043,7 +1046,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean(GameRules.DO_DAYLIGHT_CYCLE))); // Add support for per player time
|
||||
}
|
||||
}
|
||||
@ -769,7 +830,7 @@ index 1701d39ea..8d04500ac 100644
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
WorldServer worldserver = (WorldServer) iterator.next();
|
||||
@@ -1086,20 +1084,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1086,20 +1089,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
}
|
||||
|
||||
this.methodProfiler.exitEnter("connection");
|
||||
@ -797,7 +858,7 @@ index 1701d39ea..8d04500ac 100644
|
||||
this.methodProfiler.exit();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index e41d21f91..cf3d291af 100644
|
||||
index e41d21f915..cf3d291af8 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -1,7 +1,9 @@
|
||||
@ -875,7 +936,7 @@ index e41d21f91..cf3d291af 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 301b1c082..36c56773f 100644
|
||||
index 301b1c0829..36c56773f3 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;
|
||||
@ -930,7 +991,7 @@ index 301b1c082..36c56773f 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 a677ec74d..e928525b8 100644
|
||||
index a677ec74d4..e928525b8f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
@@ -2,6 +2,8 @@ package net.minecraft.server;
|
||||
@ -957,7 +1018,7 @@ index a677ec74d..e928525b8 100644
|
||||
PlayerConnectionUtils.LOGGER.debug("Ignoring packet due to disconnection: " + packet);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index ee22d6c81..fb6b48e3f 100644
|
||||
index ee22d6c81a..fb6b48e3fe 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -981,7 +1042,7 @@ index ee22d6c81..fb6b48e3f 100644
|
||||
|
||||
public WhiteList getWhitelist() {
|
||||
diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java
|
||||
index 00bbd34b6..f533860bb 100644
|
||||
index 00bbd34b6a..f533860bbe 100644
|
||||
--- a/src/main/java/net/minecraft/server/TickListServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/TickListServer.java
|
||||
@@ -28,13 +28,18 @@ public class TickListServer<T> implements TickList<T> {
|
||||
@ -1031,7 +1092,7 @@ index 00bbd34b6..f533860bb 100644
|
||||
this.g.clear();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
index 2efaf516f..22a8ea916 100644
|
||||
index 2efaf516ff..22a8ea916a 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
@@ -9,11 +9,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer;
|
||||
@ -1050,7 +1111,7 @@ index 2efaf516f..22a8ea916 100644
|
||||
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
|
||||
public CraftPersistentDataContainer persistentDataContainer;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 1d5e4c512..60c222b12 100644
|
||||
index 1d5e4c5127..60c222b12b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@ -1105,7 +1166,7 @@ index 1d5e4c512..60c222b12 100644
|
||||
CrashReport crashreport = CrashReport.a(throwable, "Ticking entity");
|
||||
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked");
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 825e72e53..ab82623cc 100644
|
||||
index 825e72e53a..a28c97a889 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@ -1137,9 +1198,13 @@ index 825e72e53..ab82623cc 100644
|
||||
this.H = Sets.newHashSet();
|
||||
this.I = new ObjectLinkedOpenHashSet();
|
||||
this.dataManager = worldnbtstorage;
|
||||
@@ -258,12 +259,12 @@ public class WorldServer extends World {
|
||||
@@ -256,24 +257,28 @@ public class WorldServer extends World {
|
||||
this.M();
|
||||
this.a();
|
||||
gameprofilerfiller.exitEnter("chunkSource");
|
||||
+ this.timings.chunkProviderTick.startTiming(); // Paper - timings
|
||||
this.getChunkProvider().tick(booleansupplier);
|
||||
+ this.timings.chunkProviderTick.stopTiming(); // Paper - timings
|
||||
gameprofilerfiller.exitEnter("tickPending");
|
||||
- timings.doTickPending.startTiming(); // Spigot
|
||||
+ timings.scheduledBlocks.startTiming(); // Spigot
|
||||
@ -1152,7 +1217,19 @@ index 825e72e53..ab82623cc 100644
|
||||
|
||||
gameprofilerfiller.exitEnter("portalForcer");
|
||||
timings.doPortalForcer.startTiming(); // Spigot
|
||||
@@ -316,6 +317,7 @@ public class WorldServer extends World {
|
||||
this.portalTravelAgent.a(this.getTime());
|
||||
timings.doPortalForcer.stopTiming(); // Spigot
|
||||
gameprofilerfiller.exitEnter("raid");
|
||||
+ this.timings.raids.startTiming(); // Paper - timings
|
||||
this.c.a();
|
||||
if (this.mobSpawnerTrader != null) {
|
||||
this.mobSpawnerTrader.a();
|
||||
}
|
||||
+ this.timings.raids.stopTiming(); // Paper - timings
|
||||
|
||||
gameprofilerfiller.exitEnter("blockEvents");
|
||||
timings.doSounds.startTiming(); // Spigot
|
||||
@@ -316,6 +321,7 @@ public class WorldServer extends World {
|
||||
|
||||
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
|
||||
timings.entityTick.startTiming(); // Spigot
|
||||
@ -1160,7 +1237,7 @@ index 825e72e53..ab82623cc 100644
|
||||
while (objectiterator.hasNext()) {
|
||||
Entry<Entity> entry = (Entry) objectiterator.next();
|
||||
Entity entity1 = (Entity) entry.getValue();
|
||||
@@ -342,6 +344,7 @@ public class WorldServer extends World {
|
||||
@@ -342,6 +348,7 @@ public class WorldServer extends World {
|
||||
gameprofilerfiller.enter("tick");
|
||||
if (!entity1.dead && !(entity1 instanceof EntityComplexPart)) {
|
||||
this.a(this::entityJoinedWorld, entity1);
|
||||
@ -1168,7 +1245,19 @@ index 825e72e53..ab82623cc 100644
|
||||
}
|
||||
|
||||
gameprofilerfiller.exit();
|
||||
@@ -419,6 +422,7 @@ public class WorldServer extends World {
|
||||
@@ -358,9 +365,11 @@ public class WorldServer extends World {
|
||||
|
||||
this.tickingEntities = false;
|
||||
|
||||
+ try (co.aikar.timings.Timing ignored = this.timings.newEntities.startTiming()) { // Paper - timings
|
||||
while ((entity = (Entity) this.entitiesToAdd.poll()) != null) {
|
||||
this.registerEntity(entity);
|
||||
}
|
||||
+ } // Paper - timings
|
||||
|
||||
gameprofilerfiller.exit();
|
||||
timings.tickEntities.stopTiming(); // Spigot
|
||||
@@ -419,6 +428,7 @@ public class WorldServer extends World {
|
||||
}
|
||||
|
||||
gameprofilerfiller.exitEnter("tickBlocks");
|
||||
@ -1176,7 +1265,7 @@ index 825e72e53..ab82623cc 100644
|
||||
if (i > 0) {
|
||||
ChunkSection[] achunksection = chunk.getSections();
|
||||
int l = achunksection.length;
|
||||
@@ -450,7 +454,7 @@ public class WorldServer extends World {
|
||||
@@ -450,7 +460,7 @@ public class WorldServer extends World {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1185,7 +1274,7 @@ index 825e72e53..ab82623cc 100644
|
||||
gameprofilerfiller.exit();
|
||||
}
|
||||
|
||||
@@ -745,6 +749,7 @@ public class WorldServer extends World {
|
||||
@@ -745,6 +755,7 @@ public class WorldServer extends World {
|
||||
|
||||
if (!flag1) {
|
||||
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
|
||||
@ -1193,7 +1282,7 @@ index 825e72e53..ab82623cc 100644
|
||||
if (iprogressupdate != null) {
|
||||
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
|
||||
}
|
||||
@@ -754,7 +759,10 @@ public class WorldServer extends World {
|
||||
@@ -754,7 +765,10 @@ public class WorldServer extends World {
|
||||
iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0]));
|
||||
}
|
||||
|
||||
@ -1205,7 +1294,7 @@ index 825e72e53..ab82623cc 100644
|
||||
|
||||
// CraftBukkit start - moved from MinecraftServer.saveChunks
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 2fd73f483..6de0b6e5d 100644
|
||||
index 2fd73f4835..6de0b6e5da 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1931,12 +1931,31 @@ public final class CraftServer implements Server {
|
||||
@ -1242,7 +1331,7 @@ index 2fd73f483..6de0b6e5d 100644
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
|
||||
deleted file mode 100644
|
||||
index b98a7b56a..000000000
|
||||
index b98a7b56a4..0000000000
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
|
||||
+++ /dev/null
|
||||
@@ -1,164 +0,0 @@
|
||||
@ -1411,7 +1500,7 @@ index b98a7b56a..000000000
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index e434738cb..9f5080b23 100644
|
||||
index e434738cb1..9f5080b233 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1749,6 +1749,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -1430,7 +1519,7 @@ index e434738cb..9f5080b23 100644
|
||||
|
||||
public Player.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||
index b90979c7b..8823f94f7 100644
|
||||
index b90979c7ba..8823f94f7b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -1496,7 +1585,7 @@ index b90979c7b..8823f94f7 100644
|
||||
|
||||
private boolean isReady(final int currentTick) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
|
||||
index 3f55381c1..0d9a46680 100644
|
||||
index 3f55381c15..0d9a466809 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
|
||||
@@ -1,9 +1,11 @@
|
||||
@ -1581,7 +1670,7 @@ index 3f55381c1..0d9a46680 100644
|
||||
- // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
|
||||
index e52ef47b7..3d90b3426 100644
|
||||
index e52ef47b78..3d90b34268 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
|
||||
@@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon;
|
||||
@ -1593,7 +1682,7 @@ index e52ef47b7..3d90b3426 100644
|
||||
this.value = value;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index dd602243d..924ab7f54 100644
|
||||
index dd602243d3..924ab7f541 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -288,6 +288,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
@ -1611,7 +1700,7 @@ index dd602243d..924ab7f54 100644
|
||||
* This helper class represents the different NBT Tags.
|
||||
* <p>
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index ca7789b5e..442383969 100644
|
||||
index ca7789b5e0..4423839697 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -31,7 +31,7 @@ import net.minecraft.server.EntityWither;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8a94ed11527adbb597c3cf4dca2d9d202f9e1e94 Mon Sep 17 00:00:00 2001
|
||||
From af9adce4d92c26640b7c018c32287af165d9091f Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 14:32:43 -0600
|
||||
Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java
|
||||
index 3f35a28ba..cf00f35a5 100644
|
||||
index 3f35a28ba1..cf00f35a5b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EULA.java
|
||||
+++ b/src/main/java/net/minecraft/server/EULA.java
|
||||
@@ -70,7 +70,7 @@ public class EULA {
|
||||
@ -19,10 +19,10 @@ index 3f35a28ba..cf00f35a5 100644
|
||||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 8d04500ac..cec120cf2 100644
|
||||
index d9eb5ce085..15c6818f10 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1295,7 +1295,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1300,7 +1300,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
}
|
||||
|
||||
public String getServerModName() {
|
||||
@ -32,7 +32,7 @@ index 8d04500ac..cec120cf2 100644
|
||||
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 6de0b6e5d..e72faeaa3 100644
|
||||
index 6de0b6e5da..e72faeaa3b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -196,7 +196,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
|
||||
@ -45,7 +45,7 @@ index 6de0b6e5d..e72faeaa3 100644
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index d28530051..484f1995a 100644
|
||||
index d28530051d..484f1995aa 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -200,12 +200,25 @@ public class Main {
|
||||
@ -76,7 +76,7 @@ index d28530051..484f1995a 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 27297204f..70b187190 100644
|
||||
index 27297204f1..70b187190f 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
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 5a30eb9f7a3eb95be4ce811e575c7d041f0456af Mon Sep 17 00:00:00 2001
|
||||
From 19e6103dad1ed608d71f9393209577447ffd480a 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 40dcb3125..5f85eb2ba 100644
|
||||
index 40dcb31258..5f85eb2ba2 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -163,6 +163,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -51,7 +51,7 @@ index 40dcb3125..5f85eb2ba 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 f8d8d8f35..0f9fa4113 100644
|
||||
index f8d8d8f353..0f9fa41133 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
@@ -254,6 +254,14 @@ public class EntityFallingBlock extends Entity {
|
||||
@ -70,7 +70,7 @@ index f8d8d8f35..0f9fa4113 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 e988abd67..f2ee53ab9 100644
|
||||
index e988abd67c..f2ee53ab90 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
@@ -104,6 +104,14 @@ public class EntityTNTPrimed extends Entity {
|
||||
@ -89,7 +89,7 @@ index e988abd67..f2ee53ab9 100644
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
index ce510c486..b7c94fe23 100644
|
||||
index ce510c4867..b7c94fe238 100644
|
||||
--- a/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
|
||||
@@ -161,6 +161,7 @@ public class NBTTagList extends NBTList<NBTBase> {
|
||||
@ -101,10 +101,10 @@ index ce510c486..b7c94fe23 100644
|
||||
if (i >= 0 && i < this.list.size()) {
|
||||
NBTBase nbtbase = (NBTBase) this.list.get(i);
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index ab82623cc..9c487fb61 100644
|
||||
index a28c97a889..aec67b9bc0 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1103,6 +1103,11 @@ public class WorldServer extends World {
|
||||
@@ -1109,6 +1109,11 @@ public class WorldServer extends World {
|
||||
this.H.add(((EntityInsentient) entity).getNavigation());
|
||||
}
|
||||
entity.valid = true; // CraftBukkit
|
||||
@ -117,7 +117,7 @@ index ab82623cc..9c487fb61 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index a98f6f338..d1d37c06b 100644
|
||||
index a98f6f3389..d1d37c06bf 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1009,4 +1009,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f945ca215b4e13bd1ef95950c3c916db65175ea9 Mon Sep 17 00:00:00 2001
|
||||
From 007df3f67953da4b9df15a5b6b6c7486d9dc5a80 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
|
||||
@ -10,7 +10,7 @@ This patch adds a per-tick cache that is used for storing and retrieving
|
||||
an entity's exposure during an explosion.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index c2b9690a0..a5ec0bc0e 100644
|
||||
index c2b9690a0c..a5ec0bc0e0 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -145,4 +145,10 @@ public class PaperWorldConfig {
|
||||
@ -25,7 +25,7 @@ index c2b9690a0..a5ec0bc0e 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
|
||||
index cdd893950..bd6a0bd16 100644
|
||||
index cdd8939504..bd6a0bd16b 100644
|
||||
--- a/src/main/java/net/minecraft/server/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/server/Explosion.java
|
||||
@@ -172,7 +172,7 @@ public class Explosion {
|
||||
@ -123,10 +123,10 @@ index cdd893950..bd6a0bd16 100644
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 7bb83014b..6d9db5294 100644
|
||||
index a7b8567ec5..980284c3e9 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1139,6 +1139,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1144,6 +1144,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
this.methodProfiler.exit();
|
||||
this.methodProfiler.exit();
|
||||
@ -135,7 +135,7 @@ index 7bb83014b..6d9db5294 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 5fea828de..ee869a769 100644
|
||||
index 5fea828de0..ee869a769f 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -19,6 +19,7 @@ import org.apache.logging.log4j.util.Supplier;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 98d790acb8c4c4761a0a9999b6e8c378aa28f0c5 Mon Sep 17 00:00:00 2001
|
||||
From f72bf6653918f2840874514d56aa069481de094f Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 14:52:43 -0600
|
||||
Subject: [PATCH] Disable thunder
|
||||
@ -19,10 +19,10 @@ index 6a307d5dd6..bf0cd6a8b4 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index b9e1816e82..9555afbd8d 100644
|
||||
index aec67b9bc0..48cd8913d1 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -383,7 +383,7 @@ public class WorldServer extends World {
|
||||
@@ -389,7 +389,7 @@ public class WorldServer extends World {
|
||||
gameprofilerfiller.enter("thunder");
|
||||
BlockPosition blockposition;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6b7e6ab5ed2af58cd941e6d5715778ee5ea21c4b Mon Sep 17 00:00:00 2001
|
||||
From 0de55207887aaffe899954d39a585887634e3cf9 Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 14:57:24 -0600
|
||||
Subject: [PATCH] Disable ice and snow
|
||||
@ -19,10 +19,10 @@ index bf0cd6a8b4..8db5c3f3fe 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 9555afbd8d..eaa2ff33c8 100644
|
||||
index 48cd8913d1..4ca79a774e 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -403,7 +403,7 @@ public class WorldServer extends World {
|
||||
@@ -409,7 +409,7 @@ public class WorldServer extends World {
|
||||
}
|
||||
|
||||
gameprofilerfiller.exitEnter("iceandsnow");
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c3fa37daab3af14e540958f9d1754deac692251a Mon Sep 17 00:00:00 2001
|
||||
From 1861ca0fb17451f485c82125a94eae83f820c2f6 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 22 Mar 2016 12:04:28 -0500
|
||||
Subject: [PATCH] Configurable spawn chances for skeleton horses
|
||||
@ -22,10 +22,10 @@ index 98049567f4..2a71381dae 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index eaa2ff33c8..252fbb36eb 100644
|
||||
index 4ca79a774e..ee74a677a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -387,7 +387,7 @@ public class WorldServer extends World {
|
||||
@@ -393,7 +393,7 @@ public class WorldServer extends World {
|
||||
blockposition = this.a(this.a(j, 0, k, 15));
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 37a6f823c355660c814b5ced5abca655be766b10 Mon Sep 17 00:00:00 2001
|
||||
From 9bbb2d0782475e8049ba823fc4e5432d6f47a12b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 28 Mar 2016 19:55:45 -0400
|
||||
Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener
|
||||
Saves on some object allocation and processing when no plugin listens to this
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPlant.java b/src/main/java/net/minecraft/server/BlockPlant.java
|
||||
index 9bf42bb5e..0526af776 100644
|
||||
index 9bf42bb5ef..0526af776d 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockPlant.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockPlant.java
|
||||
@@ -16,7 +16,7 @@ public class BlockPlant extends Block {
|
||||
@ -19,7 +19,7 @@ index 9bf42bb5e..0526af776 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockTallPlant.java b/src/main/java/net/minecraft/server/BlockTallPlant.java
|
||||
index ef392f5fe..227fe073f 100644
|
||||
index ef392f5fe8..227fe073fd 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockTallPlant.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockTallPlant.java
|
||||
@@ -55,7 +55,7 @@ public class BlockTallPlant extends BlockPlant {
|
||||
@ -32,10 +32,10 @@ index ef392f5fe..227fe073f 100644
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 6d9db5294..524b8dc6c 100644
|
||||
index 980284c3e9..0740737672 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1105,6 +1105,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1110,6 +1110,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
while (iterator.hasNext()) {
|
||||
WorldServer worldserver = (WorldServer) iterator.next();
|
||||
|
||||
@ -44,7 +44,7 @@ index 6d9db5294..524b8dc6c 100644
|
||||
this.methodProfiler.a(() -> {
|
||||
return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager());
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index c40777ecb..cb5515dc3 100644
|
||||
index c40777ecb8..cb5515dc3b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -440,7 +440,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
|
||||
@ -66,7 +66,7 @@ index c40777ecb..cb5515dc3 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 332663c75..991f0132b 100644
|
||||
index ee74a677a3..81f8373985 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -71,6 +71,7 @@ public class WorldServer extends World {
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 21e3a13e33fa949b25056cc51be4b77342dc337e Mon Sep 17 00:00:00 2001
|
||||
From 0dfed2c9f792756621050fcae3fc81ef8de41d01 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/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 991f0132b..e5fd949e2 100644
|
||||
index 81f8373985..f63cb1843f 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1109,6 +1109,7 @@ public class WorldServer extends World {
|
||||
@@ -1115,6 +1115,7 @@ public class WorldServer extends World {
|
||||
entity.origin = entity.getBukkitEntity().getLocation();
|
||||
}
|
||||
// Paper end
|
||||
@ -16,7 +16,7 @@ index 991f0132b..e5fd949e2 100644
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1117,6 +1118,7 @@ public class WorldServer extends World {
|
||||
@@ -1123,6 +1124,7 @@ public class WorldServer extends World {
|
||||
if (this.tickingEntities) {
|
||||
throw new IllegalStateException("Removing entity while ticking!");
|
||||
} else {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 66eb68aecc656e97825ab083d2446999a3773802 Mon Sep 17 00:00:00 2001
|
||||
From 088133cdf474306bd86db30e27b2345bef28687c 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 07d150586..ebeb48f6d 100644
|
||||
index 07d1505867..ebeb48f6dc 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -40,7 +40,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
|
||||
@ -67,10 +67,10 @@ index 07d150586..ebeb48f6d 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index e5fd949e2..552373ddb 100644
|
||||
index f63cb1843f..79f97f0de0 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1558,7 +1558,7 @@ public class WorldServer extends World {
|
||||
@@ -1564,7 +1564,7 @@ public class WorldServer extends World {
|
||||
}
|
||||
|
||||
bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size()));
|
||||
@ -79,7 +79,7 @@ index e5fd949e2..552373ddb 100644
|
||||
bufferedwriter.write(String.format("block_ticks: %d\n", this.getBlockTickList().a()));
|
||||
bufferedwriter.write(String.format("fluid_ticks: %d\n", this.getFluidTickList().a()));
|
||||
bufferedwriter.write("distance_manager: " + playerchunkmap.e().c() + "\n");
|
||||
@@ -1721,7 +1721,7 @@ public class WorldServer extends World {
|
||||
@@ -1727,7 +1727,7 @@ public class WorldServer extends World {
|
||||
|
||||
private void a(Writer writer) throws IOException {
|
||||
CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5e758106631ef6319880888cf38ead080a7de9d9 Mon Sep 17 00:00:00 2001
|
||||
From 84a97a765c6b7e047e6fddd62e3c6036caea4f1b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 28 Apr 2016 00:57:27 -0400
|
||||
Subject: [PATCH] remove null possibility for getServer singleton
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton
|
||||
to stop IDE complaining about potential NPE
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 57db59671..9562fde4c 100644
|
||||
index 815b8dc243..5a04e6d72e 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -68,6 +68,7 @@ import org.spigotmc.SlackActivityAccountant; // Spigot
|
||||
@ -25,7 +25,7 @@ index 57db59671..9562fde4c 100644
|
||||
this.resourcePackRepository = new ResourcePackRepository<>(ResourcePackLoader::new);
|
||||
this.ai = new CraftingManager();
|
||||
this.aj = new TagRegistry();
|
||||
@@ -2117,7 +2119,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -2122,7 +2124,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
@Deprecated
|
||||
public static MinecraftServer getServer() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c58760ac54e8144d82ab95903915ec69494cbcfc Mon Sep 17 00:00:00 2001
|
||||
From b21961da589e623bc9f94d429bf559828ab67c31 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 aaf297e71..3f829f79e 100644
|
||||
index aaf297e717..3f829f79e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -605,6 +605,12 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -30,7 +30,7 @@ index aaf297e71..3f829f79e 100644
|
||||
return entityitem;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java
|
||||
index fc0815893..090d3dbd3 100644
|
||||
index fc08158937..090d3dbd31 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldMap.java
|
||||
@@ -31,6 +31,7 @@ public class WorldMap extends PersistentBase {
|
||||
@ -102,10 +102,10 @@ index fc0815893..090d3dbd3 100644
|
||||
for ( org.bukkit.map.MapCursor cursor : render.cursors) {
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 552373ddb..26840d500 100644
|
||||
index 79f97f0de0..7416781044 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1045,6 +1045,7 @@ public class WorldServer extends World {
|
||||
@@ -1051,6 +1051,7 @@ public class WorldServer extends World {
|
||||
{
|
||||
if ( iter.next().trackee == entity )
|
||||
{
|
||||
@ -114,7 +114,7 @@ index 552373ddb..26840d500 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
|
||||
index 256a13178..5768cd512 100644
|
||||
index 256a131781..5768cd512e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java
|
||||
@@ -5,7 +5,7 @@ import org.bukkit.map.MapCursor;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0f13c4eb9499652484b2bbe90f32dea9ac588e3d Mon Sep 17 00:00:00 2001
|
||||
From f50b93045265d5c0add7a1e9d25bf9439b19d47a 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
|
||||
@ -8,10 +8,10 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added.
|
||||
Also add debug if something else tries to, and abort before world gets bad state
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 26840d500..35e46dd75 100644
|
||||
index 7416781044..3265d66065 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -934,6 +934,7 @@ public class WorldServer extends World {
|
||||
@@ -940,6 +940,7 @@ public class WorldServer extends World {
|
||||
// CraftBukkit start
|
||||
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
|
||||
|
@ -1,4 +1,4 @@
|
||||
From fdb0692c5b8e5803493e54d448b2d4129badb38f Mon Sep 17 00:00:00 2001
|
||||
From d24a8917a1b54548c0325e25915f79ebb1863524 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/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index f6831a33a4..78d5cf4738 100644
|
||||
index 3265d66065..18e0455a37 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -623,7 +623,7 @@ public class WorldServer extends World {
|
||||
@@ -629,7 +629,7 @@ public class WorldServer extends World {
|
||||
public void chunkCheck(Entity entity) {
|
||||
this.getMethodProfiler().enter("chunkCheck");
|
||||
int i = MathHelper.floor(entity.locX / 16.0D);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 21d4e267f8aeaa9764da1381e37d0d082e4a155a Mon Sep 17 00:00:00 2001
|
||||
From 1e4a0195e149cf0b657118531e001bacde3daeb7 Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Fri, 9 Jun 2017 19:03:43 +0200
|
||||
Subject: [PATCH] Use TerminalConsoleAppender for console improvements
|
||||
@ -19,7 +19,7 @@ Other changes:
|
||||
configuration
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 04b0dd9a7..58b14a740 100644
|
||||
index 04b0dd9a7f..58b14a740e 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -41,10 +41,27 @@
|
||||
@ -75,7 +75,7 @@ index 04b0dd9a7..58b14a740 100644
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||
new file mode 100644
|
||||
index 000000000..cd6e25923
|
||||
index 0000000000..cd6e259239
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||
@@ -0,0 +1,40 @@
|
||||
@ -121,7 +121,7 @@ index 000000000..cd6e25923
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java
|
||||
new file mode 100644
|
||||
index 000000000..685deaa0e
|
||||
index 0000000000..685deaa0e5
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java
|
||||
@@ -0,0 +1,17 @@
|
||||
@ -143,7 +143,7 @@ index 000000000..685deaa0e
|
||||
+
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index f2c65e40a..f8fa3f78e 100644
|
||||
index f2c65e40a1..f8fa3f78e7 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -85,6 +85,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@ -185,7 +185,7 @@ index f2c65e40a..f8fa3f78e 100644
|
||||
System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true));
|
||||
System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true));
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 7f6c3d4f6..dd188e941 100644
|
||||
index 43319f1061..6c2b050da3 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate;
|
||||
@ -234,7 +234,7 @@ index 7f6c3d4f6..dd188e941 100644
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -1423,7 +1427,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1428,7 +1432,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
@Override
|
||||
public void sendMessage(IChatBaseComponent ichatbasecomponent) {
|
||||
@ -244,7 +244,7 @@ index 7f6c3d4f6..dd188e941 100644
|
||||
|
||||
public KeyPair getKeyPair() {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index d23e4e5e3..6a7770798 100644
|
||||
index d23e4e5e3d..6a77707983 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -76,8 +76,7 @@ public abstract class PlayerList {
|
||||
@ -258,7 +258,7 @@ index d23e4e5e3..6a7770798 100644
|
||||
|
||||
this.k = new GameProfileBanList(PlayerList.a);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index f477f8943..42e0f5ec8 100644
|
||||
index f477f8943f..42e0f5ec86 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -41,7 +41,6 @@ import java.util.function.Consumer;
|
||||
@ -284,7 +284,7 @@ index f477f8943..42e0f5ec8 100644
|
||||
@Override
|
||||
public PluginCommand getPluginCommand(String name) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index ad1da9ddd..d2bdd7c73 100644
|
||||
index ad1da9ddd3..d2bdd7c73f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -13,7 +13,7 @@ import java.util.logging.Logger;
|
||||
@ -326,7 +326,7 @@ index ad1da9ddd..d2bdd7c73 100644
|
||||
if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java b/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java
|
||||
deleted file mode 100644
|
||||
index fdf2f075e..000000000
|
||||
index fdf2f075e2..0000000000
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java
|
||||
+++ /dev/null
|
||||
@@ -1,72 +0,0 @@
|
||||
@ -403,7 +403,7 @@ index fdf2f075e..000000000
|
||||
- }
|
||||
-}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
|
||||
index befcc19f9..5510266fb 100644
|
||||
index befcc19f9b..5510266fb1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
|
||||
@@ -4,20 +4,31 @@ import java.util.Collections;
|
||||
@ -486,7 +486,7 @@ index befcc19f9..5510266fb 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
|
||||
index 70f8d4299..449e99d1b 100644
|
||||
index 70f8d42992..449e99d1b6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
|
||||
@@ -17,7 +17,7 @@ public class ServerShutdownThread extends Thread {
|
||||
@ -500,7 +500,7 @@ index 70f8d4299..449e99d1b 100644
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java
|
||||
deleted file mode 100644
|
||||
index f267f99f9..000000000
|
||||
index f267f99f96..0000000000
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java
|
||||
+++ /dev/null
|
||||
@@ -1,57 +0,0 @@
|
||||
@ -563,13 +563,13 @@ index f267f99f9..000000000
|
||||
-}
|
||||
diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties
|
||||
new file mode 100644
|
||||
index 000000000..0694b2146
|
||||
index 0000000000..0694b21465
|
||||
--- /dev/null
|
||||
+++ b/src/main/resources/log4j2.component.properties
|
||||
@@ -0,0 +1 @@
|
||||
+log4j.skipJansi=true
|
||||
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
|
||||
index 490a9acc7..08b6bb7f9 100644
|
||||
index 490a9acc70..08b6bb7f97 100644
|
||||
--- a/src/main/resources/log4j2.xml
|
||||
+++ b/src/main/resources/log4j2.xml
|
||||
@@ -1,12 +1,11 @@
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a1bbb7af57e8bd7348467954d2359a502128be2e Mon Sep 17 00:00:00 2001
|
||||
From c8e8a8d3fd52fe0bc39c1d0cd5a0388183b97a9b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 15 Jan 2018 22:11:48 -0500
|
||||
Subject: [PATCH] Basic PlayerProfile API
|
||||
@ -7,7 +7,7 @@ Establishes base extension of profile systems for future edits too
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java
|
||||
new file mode 100644
|
||||
index 000000000..b151a13c1
|
||||
index 0000000000..b151a13c1b
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java
|
||||
@@ -0,0 +1,280 @@
|
||||
@ -293,7 +293,7 @@ index 000000000..b151a13c1
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java
|
||||
new file mode 100644
|
||||
index 000000000..25836b975
|
||||
index 0000000000..25836b975b
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java
|
||||
@@ -0,0 +1,30 @@
|
||||
@ -329,7 +329,7 @@ index 000000000..25836b975
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java
|
||||
new file mode 100644
|
||||
index 000000000..3bcdb8f93
|
||||
index 0000000000..3bcdb8f93f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java
|
||||
@@ -0,0 +1,17 @@
|
||||
@ -352,7 +352,7 @@ index 000000000..3bcdb8f93
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java
|
||||
new file mode 100644
|
||||
index 000000000..4b2a67423
|
||||
index 0000000000..4b2a67423f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java
|
||||
@@ -0,0 +1,29 @@
|
||||
@ -387,7 +387,7 @@ index 000000000..4b2a67423
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java
|
||||
new file mode 100644
|
||||
index 000000000..3aceb0ea8
|
||||
index 0000000000..3aceb0ea8a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java
|
||||
@@ -0,0 +1,11 @@
|
||||
@ -403,7 +403,7 @@ index 000000000..3aceb0ea8
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
index 1f6a12632..6d278a0da 100644
|
||||
index 1f6a126329..6d278a0da5 100644
|
||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -1,7 +1,10 @@
|
||||
@ -429,10 +429,10 @@ index 1f6a12632..6d278a0da 100644
|
||||
* Calculates distance between 2 entities
|
||||
* @param e1
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index dd188e941..798bf3521 100644
|
||||
index 6c2b050da3..22d653cfcd 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1254,7 +1254,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1259,7 +1259,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
DispenserRegistry.init();
|
||||
DispenserRegistry.c();
|
||||
String s = "."; // PAIL?
|
||||
@ -441,7 +441,7 @@ index dd188e941..798bf3521 100644
|
||||
MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService();
|
||||
GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository();
|
||||
UserCache usercache = new UserCache(gameprofilerepository, new File(s, MinecraftServer.b.getName()));
|
||||
@@ -1714,6 +1714,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1719,6 +1719,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.H = i;
|
||||
}
|
||||
|
||||
@ -450,7 +450,7 @@ index dd188e941..798bf3521 100644
|
||||
return this.minecraftSessionService;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
|
||||
index b0d883d49..1d4bf64b1 100644
|
||||
index b0d883d493..1d4bf64b1b 100644
|
||||
--- a/src/main/java/net/minecraft/server/UserCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/UserCache.java
|
||||
@@ -43,7 +43,7 @@ public class UserCache {
|
||||
@ -486,7 +486,7 @@ index b0d883d49..1d4bf64b1 100644
|
||||
|
||||
private UserCacheEntry(GameProfile gameprofile, Date date) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 90ce6e8fb..ee622bcab 100644
|
||||
index 90ce6e8fb2..ee622bcab5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -196,6 +196,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 77af93a647ee680f0a25d0d1f3fb9da25a50162b Mon Sep 17 00:00:00 2001
|
||||
From f9776c7737fa08d7cbc81cca89ed9fb1fe9ebbb0 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 15 Aug 2017 22:29:12 -0400
|
||||
Subject: [PATCH] Expand World.spawnParticle API and add Builder
|
||||
@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle.
|
||||
This adds a new Builder API which is much friendlier to use.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 73c4fa2a4..18abad9d8 100644
|
||||
index 18e0455a37..55bb019eaa 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -52,7 +52,7 @@ public class WorldServer extends World {
|
||||
@ -22,7 +22,7 @@ index 73c4fa2a4..18abad9d8 100644
|
||||
boolean tickingEntities;
|
||||
private final MinecraftServer server;
|
||||
private final WorldNBTStorage dataManager;
|
||||
@@ -1330,12 +1330,17 @@ public class WorldServer extends World {
|
||||
@@ -1336,12 +1336,17 @@ public class WorldServer extends World {
|
||||
}
|
||||
|
||||
public <T extends ParticleParam> int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) {
|
||||
@ -43,7 +43,7 @@ index 73c4fa2a4..18abad9d8 100644
|
||||
|
||||
if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 72e54b08e..3ef989346 100644
|
||||
index 72e54b08e9..3ef9893460 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2163,11 +2163,17 @@ public class CraftWorld implements World {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b3ac49835faaa81cda96aa6a80a69d854368a5e4 Mon Sep 17 00:00:00 2001
|
||||
From d71a3828816ca43e895799b50172617d1911d0ba Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 3 Jul 2018 21:56:23 -0400
|
||||
Subject: [PATCH] InventoryCloseEvent Reason API
|
||||
@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
|
||||
to "confirm" things based on if it was player triggered close or not.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 8bec59b8f..7d6a2e8d5 100644
|
||||
index 8bec59b8fd..7d6a2e8d53 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -164,7 +164,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@ -34,7 +34,7 @@ index 8bec59b8f..7d6a2e8d5 100644
|
||||
this.activeContainer = this.defaultContainer;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index fc9899037..dcd48d8b3 100644
|
||||
index fc98990379..dcd48d8b3d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -362,7 +362,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@ -88,7 +88,7 @@ index fc9899037..dcd48d8b3 100644
|
||||
this.m();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 89beac63a..b9793d4cc 100644
|
||||
index 89beac63aa..b9793d4cc6 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2025,7 +2025,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@ -101,7 +101,7 @@ index 89beac63a..b9793d4cc 100644
|
||||
this.player.m();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index a167843bf..9e5cd22d7 100644
|
||||
index a167843bfb..9e5cd22d7d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -402,7 +402,7 @@ public abstract class PlayerList {
|
||||
@ -114,10 +114,10 @@ index a167843bf..9e5cd22d7 100644
|
||||
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game");
|
||||
cserver.getPluginManager().callEvent(playerQuitEvent);
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 18abad9d8..a607c819c 100644
|
||||
index 55bb019eaa..174fe985f2 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -987,7 +987,7 @@ public class WorldServer extends World {
|
||||
@@ -993,7 +993,7 @@ public class WorldServer extends World {
|
||||
{
|
||||
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
|
||||
{
|
||||
@ -126,7 +126,7 @@ index 18abad9d8..a607c819c 100644
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1010,7 +1010,7 @@ public class WorldServer extends World {
|
||||
@@ -1016,7 +1016,7 @@ public class WorldServer extends World {
|
||||
{
|
||||
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
|
||||
{
|
||||
@ -136,7 +136,7 @@ index 18abad9d8..a607c819c 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
index 2f24b52dd..92c7449b7 100644
|
||||
index 2f24b52ddd..92c7449b76 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
@@ -619,8 +619,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
@ -155,7 +155,7 @@ index 2f24b52dd..92c7449b7 100644
|
||||
@Override
|
||||
public boolean isBlocking() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index e610c8aae..ce35e6bbc 100644
|
||||
index e610c8aaed..ce35e6bbc2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -781,7 +781,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -168,7 +168,7 @@ index e610c8aae..ce35e6bbc 100644
|
||||
|
||||
// Check if the fromWorld and toWorld are the same.
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 9e6ad82ba..e84df5dd4 100644
|
||||
index 9e6ad82ba5..e84df5dd4e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1259,8 +1259,19 @@ public class CraftEventFactory {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 34feaa0ebfc4d90a9139870e709a57776b3329d5 Mon Sep 17 00:00:00 2001
|
||||
From ac7243bc9b8c3ea44c7806ea208a4dbb98d6dcc7 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 19 Jul 2018 01:08:05 -0400
|
||||
Subject: [PATCH] Re-add vanilla entity warnings for duplicates
|
||||
@ -8,10 +8,10 @@ These are a critical sign that somethin went wrong, and you've lost some data...
|
||||
We should kind of know about these things you know.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index cd4cb9616c..895d9ccac8 100644
|
||||
index 174fe985f2..d8c49d95e1 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -972,7 +972,8 @@ public class WorldServer extends World {
|
||||
@@ -978,7 +978,8 @@ public class WorldServer extends World {
|
||||
if (entity1 == null) {
|
||||
return false;
|
||||
} else {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From be784e43b2526bf7a73473e1b90210a51f1f877c Mon Sep 17 00:00:00 2001
|
||||
From e1dc1fc92f1d4e46ea41c274074713de49976a3c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 08:25:40 -0400
|
||||
Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
|
||||
Add -Ddebug.entities=true to your JVM flags to gain more information
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 6ada92379..924187413 100644
|
||||
index 6ada923797..9241874139 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -75,6 +75,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -19,7 +19,7 @@ index 6ada92379..924187413 100644
|
||||
if (bukkitEntity == null) {
|
||||
bukkitEntity = CraftEntity.getEntity(world.getServer(), this);
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index e6c55d87b..6379d2d84 100644
|
||||
index e6c55d87b4..6379d2d84f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -1014,6 +1014,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
@ -40,7 +40,7 @@ index e6c55d87b..6379d2d84 100644
|
||||
|
||||
protected void g() {
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index e780f7af4..627fec10a 100644
|
||||
index e780f7af40..627fec10a8 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -68,6 +68,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
|
||||
@ -52,7 +52,7 @@ index e780f7af4..627fec10a 100644
|
||||
public boolean captureBlockStates = false;
|
||||
public boolean captureTreeGeneration = false;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index dc258e3b2..b11604957 100644
|
||||
index d8c49d95e1..93d1cf0683 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -72,6 +72,9 @@ public class WorldServer extends World {
|
||||
@ -65,7 +65,7 @@ index dc258e3b2..b11604957 100644
|
||||
|
||||
// Add env and gen to constructor
|
||||
public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
|
||||
@@ -936,6 +939,12 @@ public class WorldServer extends World {
|
||||
@@ -942,6 +945,12 @@ public class WorldServer extends World {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
|
||||
if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper
|
||||
if (entity.dead) {
|
||||
@ -78,7 +78,7 @@ index dc258e3b2..b11604957 100644
|
||||
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit
|
||||
return false;
|
||||
} else if (this.isUUIDTaken(entity)) {
|
||||
@@ -1101,7 +1110,24 @@ public class WorldServer extends World {
|
||||
@@ -1107,7 +1116,24 @@ public class WorldServer extends World {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c1497231a38c361881fcc0d0be1f27fc5d945dea Mon Sep 17 00:00:00 2001
|
||||
From 711732dece46935958e265cecf83aa9e2a70417d 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
|
||||
@ -11,7 +11,7 @@ This will ensure that dead entities are skipped from iteration since
|
||||
they shouldn't of been in the list in the first place.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
||||
index 360abc05e..391726d99 100644
|
||||
index 360abc05e4..391726d99c 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
||||
@@ -176,6 +176,7 @@ public class PaperCommand extends Command {
|
||||
@ -23,7 +23,7 @@ index 360abc05e..391726d99 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/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index a74e389d1..09e010e67 100644
|
||||
index a74e389d14..09e010e670 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -678,6 +678,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -51,7 +51,7 @@ index a74e389d1..09e010e67 100644
|
||||
if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check
|
||||
list.add(t0);
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 701090c11..7d579c119 100644
|
||||
index 701090c11e..7d579c119b 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -126,6 +126,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -63,10 +63,10 @@ index 701090c11..7d579c119 100644
|
||||
private float av;
|
||||
private float aw;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index b11604957..4b7104927 100644
|
||||
index 93d1cf0683..20fb20c2e7 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -845,7 +845,7 @@ public class WorldServer extends World {
|
||||
@@ -851,7 +851,7 @@ public class WorldServer extends World {
|
||||
|
||||
while (objectiterator.hasNext()) {
|
||||
Entity entity = (Entity) objectiterator.next();
|
||||
@ -75,7 +75,7 @@ index b11604957..4b7104927 100644
|
||||
if (entity instanceof EntityInsentient) {
|
||||
EntityInsentient entityinsentient = (EntityInsentient) entity;
|
||||
|
||||
@@ -1138,6 +1138,7 @@ public class WorldServer extends World {
|
||||
@@ -1144,6 +1144,7 @@ public class WorldServer extends World {
|
||||
entity.origin = entity.getBukkitEntity().getLocation();
|
||||
}
|
||||
// Paper end
|
||||
@ -83,7 +83,7 @@ index b11604957..4b7104927 100644
|
||||
new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
}
|
||||
|
||||
@@ -1151,6 +1152,7 @@ public class WorldServer extends World {
|
||||
@@ -1157,6 +1158,7 @@ public class WorldServer extends World {
|
||||
this.removeEntityFromChunk(entity);
|
||||
this.entitiesById.remove(entity.getId());
|
||||
this.unregisterEntity(entity);
|
||||
@ -92,7 +92,7 @@ index b11604957..4b7104927 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 62240fbf9..a4df908bb 100644
|
||||
index 62240fbf92..a4df908bb9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -931,6 +931,7 @@ public class CraftWorld implements World {
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 636d42b7fd0f59ebb3a211c26f1b2c060ce6f7f5 Mon Sep 17 00:00:00 2001
|
||||
From dd89fe6e7813bf8bb59dc7e9df0ea17cd5ad6218 Mon Sep 17 00:00:00 2001
|
||||
From: Mystiflow <mystiflow@gmail.com>
|
||||
Date: Fri, 6 Jul 2018 13:21:30 +0100
|
||||
Subject: [PATCH] Send nearby packets from world player list not server list
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 9e5cd22d7..049d702cb 100644
|
||||
index 9e5cd22d7d..049d702cb9 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -922,8 +922,25 @@ public abstract class PlayerList {
|
||||
@ -46,10 +46,10 @@ index 9e5cd22d7..049d702cb 100644
|
||||
double d5 = d1 - entityplayer.locY;
|
||||
double d6 = d2 - entityplayer.locZ;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 4b7104927..d8d4da7d1 100644
|
||||
index 20fb20c2e7..9172d08001 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1185,7 +1185,7 @@ public class WorldServer extends World {
|
||||
@@ -1191,7 +1191,7 @@ public class WorldServer extends World {
|
||||
}
|
||||
// CraftBukkit end
|
||||
this.globalEntityList.add(entitylightning);
|
||||
@ -58,7 +58,7 @@ index 4b7104927..d8d4da7d1 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1317,7 +1317,7 @@ public class WorldServer extends World {
|
||||
@@ -1323,7 +1323,7 @@ public class WorldServer extends World {
|
||||
BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst();
|
||||
|
||||
if (this.a(blockactiondata)) {
|
||||
@ -68,7 +68,7 @@ index 4b7104927..d8d4da7d1 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index a4df908bb..9a7b0076f 100644
|
||||
index a4df908bb9..9a7b0076fc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -1998,7 +1998,7 @@ public class CraftWorld implements World {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5b801e3c5edad18b68fec16407515dc6c6b942b7 Mon Sep 17 00:00:00 2001
|
||||
From 5b14cf5c8f6cb08ef4991880537bae8439a94343 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
|
||||
@ -11,7 +11,7 @@ Subject: [PATCH] Optimize Hoppers
|
||||
* 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 5832c3e86..ede558d02 100644
|
||||
index 5832c3e868..ede558d029 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -355,6 +355,15 @@ public class PaperWorldConfig {
|
||||
@ -31,7 +31,7 @@ index 5832c3e86..ede558d02 100644
|
||||
private void disableSprintInterruptionOnAttack() {
|
||||
disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false);
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index c69a067ef..1e23d77e7 100644
|
||||
index c69a067ef1..1e23d77e72 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -482,8 +482,9 @@ public final class ItemStack {
|
||||
@ -47,10 +47,10 @@ index c69a067ef..1e23d77e7 100644
|
||||
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 e99e698c4..cd80d2a56 100644
|
||||
index 4efcbcbad5..ae33f2e948 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1137,6 +1137,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1142,6 +1142,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
WorldServer worldserver = (WorldServer) iterator.next();
|
||||
|
||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
@ -59,7 +59,7 @@ index e99e698c4..cd80d2a56 100644
|
||||
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 c72b01386..b8ddb99fa 100644
|
||||
index c72b013868..b8ddb99fa3 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
@@ -62,6 +62,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
|
||||
@ -79,7 +79,7 @@ index c72b01386..b8ddb99fa 100644
|
||||
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 1ba98bf73..6f6519f6c 100644
|
||||
index 1ba98bf736..6f6519f6c5 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityHopper.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityHopper.java
|
||||
@@ -189,6 +189,154 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 7dd2179e78684fc322f82017fc67d851a85ca677 Mon Sep 17 00:00:00 2001
|
||||
From e5cd8b14861c5e1e592df865cf45603cf7ed42bc Mon Sep 17 00:00:00 2001
|
||||
From: Trigary <trigary0@gmail.com>
|
||||
Date: Fri, 14 Sep 2018 17:42:08 +0200
|
||||
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
|
||||
index 7e031d18e..63f313a92 100644
|
||||
index 7e031d18e0..63f313a92d 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -234,6 +234,28 @@ public class PaperWorldConfig {
|
||||
@ -38,7 +38,7 @@ index 7e031d18e..63f313a92 100644
|
||||
public int fixedInhabitedTime;
|
||||
private void fixedInhabitedTime() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java
|
||||
index 2ceee79cf..27bf271bb 100644
|
||||
index 2ceee79cf2..27bf271bb5 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLightning.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLightning.java
|
||||
@@ -64,6 +64,17 @@ public class EntityLightning extends Entity {
|
||||
@ -69,10 +69,10 @@ index 2ceee79cf..27bf271bb 100644
|
||||
|
||||
--this.lifeTicks;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index d8d4da7d1..dd9b9cbfa 100644
|
||||
index 9172d08001..9d92fb2a3f 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1185,7 +1185,7 @@ public class WorldServer extends World {
|
||||
@@ -1191,7 +1191,7 @@ public class WorldServer extends World {
|
||||
}
|
||||
// CraftBukkit end
|
||||
this.globalEntityList.add(entitylightning);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 00ff72f7dcdf3fa0d12681e7491bd52c59798c9d Mon Sep 17 00:00:00 2001
|
||||
From e81b7a80f13ef4a74b4c31279c19ed692cfb5c0e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 2 Nov 2018 23:11:51 -0400
|
||||
Subject: [PATCH] Optimize World Time Updates
|
||||
@ -8,10 +8,10 @@ the updates per world, so that we can re-use the same packet
|
||||
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
|
||||
index f6a979a5b..c92586ccd 100644
|
||||
index 3b948a0eed..7959fba8a8 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1124,12 +1124,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1129,12 +1129,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
|
||||
// Send time updates to everyone, it will get the right time from the world the player is in.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d645aa23e5fb7ff50296281746d8c99a85166a56 Mon Sep 17 00:00:00 2001
|
||||
From 8bdc3180009870d13123a44e540b385344e94458 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 24 Mar 2019 00:24:52 -0400
|
||||
Subject: [PATCH] Entity#getEntitySpawnReason
|
||||
@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners,
|
||||
or DEFAULT since data was not stored.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 046e7e031..f87514a20 100644
|
||||
index 046e7e031c..f87514a200 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -68,6 +68,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -59,7 +59,7 @@ index 046e7e031..f87514a20 100644
|
||||
|
||||
} catch (Throwable throwable) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 65df0e7c8..abddc8895 100644
|
||||
index 65df0e7c8c..abddc8895e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -250,7 +250,7 @@ public abstract class PlayerList {
|
||||
@ -72,10 +72,10 @@ index 65df0e7c8..abddc8895 100644
|
||||
});
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index dd9b9cbfa..1745a164b 100644
|
||||
index 9d92fb2a3f..c791ab686e 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -937,6 +937,7 @@ public class WorldServer extends World {
|
||||
@@ -943,6 +943,7 @@ public class WorldServer extends World {
|
||||
// CraftBukkit start
|
||||
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
|
||||
@ -84,7 +84,7 @@ index dd9b9cbfa..1745a164b 100644
|
||||
if (entity.dead) {
|
||||
// Paper start
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 1cd3448e5..15042943c 100644
|
||||
index 1cd3448e57..15042943c9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1053,5 +1053,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7ac59fdac9af57bab449c5d23341bdd924acad2c Mon Sep 17 00:00:00 2001
|
||||
From 92e78367f968c250304b0d7a05343e015ff8ce44 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 27 Mar 2019 22:48:45 -0400
|
||||
Subject: [PATCH] Server Tick Events
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Server Tick Events
|
||||
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
|
||||
index c92586ccd..73b8f7f99 100644
|
||||
index 7959fba8a8..d72c02680c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1054,6 +1054,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@ -17,10 +17,10 @@ index c92586ccd..73b8f7f99 100644
|
||||
|
||||
++this.ticks;
|
||||
this.b(booleansupplier);
|
||||
@@ -1100,6 +1101,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.methodProfiler.exit();
|
||||
org.spigotmc.WatchdogThread.tick(); // Spigot
|
||||
this.slackActivityAccountant.tickEnded(l); // Spigot
|
||||
@@ -1105,6 +1106,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.executeAll();
|
||||
}
|
||||
// Paper end
|
||||
+ // Paper start
|
||||
+ long endTime = System.nanoTime();
|
||||
+ long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 30c564dca4603c19c2004c69264971786212f47c Mon Sep 17 00:00:00 2001
|
||||
From a1ad9b53d37594f0d2ba28cc803cb8e44b29c474 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Mon, 13 May 2019 21:10:59 -0700
|
||||
Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer
|
||||
@ -16,10 +16,10 @@ handling that should have been handled synchronously will be handled
|
||||
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
|
||||
index 105aa4c46..200df602a 100644
|
||||
index cbc9502802..51be3f9adf 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -2149,7 +2149,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -2154,7 +2154,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
// CraftBukkit start
|
||||
@Override
|
||||
public boolean isMainThread() {
|
||||
@ -29,7 +29,7 @@ index 105aa4c46..200df602a 100644
|
||||
|
||||
@Deprecated
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index fc2576129..058864148 100644
|
||||
index fc2576129f..0588641482 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1663,7 +1663,7 @@ public final class CraftServer implements Server {
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8bf6de3f1cf74ceb3f6f03067a013f9085faa02d Mon Sep 17 00:00:00 2001
|
||||
From bde8b8d76b122c1e4e9e7a10315b4eb28783b308 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
|
||||
@ -19,10 +19,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/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 3734613efe..e37285e791 100644
|
||||
index c791ab686e..51f697b2c9 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -634,7 +634,7 @@ public class WorldServer extends World {
|
||||
@@ -640,7 +640,7 @@ public class WorldServer extends World {
|
||||
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ index 3734613efe..e37285e791 100644
|
||||
entity.inChunk = false;
|
||||
} else {
|
||||
this.getChunkAt(i, k).a(entity);
|
||||
@@ -955,7 +955,7 @@ public class WorldServer extends World {
|
||||
@@ -961,7 +961,7 @@ public class WorldServer extends World {
|
||||
return false;
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 03a9af08fdb99d5eeec5eb9a363255440a714bcc Mon Sep 17 00:00:00 2001
|
||||
From 0774260e6ddf31b3c48d62ce459633e624768a2c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 14:27:34 -0400
|
||||
Subject: [PATCH] Duplicate UUID Resolve Option
|
||||
@ -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.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 91c809b7c..d8bb13693 100644
|
||||
index 91c809b7ce..d8bb13693d 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -444,4 +444,43 @@ public class PaperWorldConfig {
|
||||
@ -81,7 +81,7 @@ index 91c809b7c..d8bb13693 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 09e010e67..ee8f80174 100644
|
||||
index 09e010e670..ee8f801745 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -397,6 +397,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -93,7 +93,7 @@ index 09e010e67..ee8f80174 100644
|
||||
|
||||
int k = MathHelper.floor(entity.locY / 16.0D);
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index f87514a20..55c73ffca 100644
|
||||
index f87514a200..55c73ffcaa 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2728,6 +2728,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@ -105,7 +105,7 @@ index f87514a20..55c73ffca 100644
|
||||
this.uniqueID = uuid;
|
||||
this.ap = this.uniqueID.toString();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 6379d2d84..67d011745 100644
|
||||
index 6379d2d84f..67d011745f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -1,6 +1,7 @@
|
||||
@ -196,7 +196,7 @@ index 6379d2d84..67d011745 100644
|
||||
|
||||
if (list != null) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index c01984dca..2a9ceacaf 100644
|
||||
index 51f697b2c9..e474237c24 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -2,6 +2,8 @@ package net.minecraft.server;
|
||||
@ -208,7 +208,7 @@ index c01984dca..2a9ceacaf 100644
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Queues;
|
||||
@@ -982,8 +984,23 @@ public class WorldServer extends World {
|
||||
@@ -988,8 +990,23 @@ public class WorldServer extends World {
|
||||
if (entity1 == null) {
|
||||
return false;
|
||||
} else {
|
||||
@ -234,7 +234,7 @@ index c01984dca..2a9ceacaf 100644
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1116,7 +1133,7 @@ public class WorldServer extends World {
|
||||
@@ -1122,7 +1139,7 @@ public class WorldServer extends World {
|
||||
}
|
||||
|
||||
Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f4ac025c6de88b7e2536490ab7f2c624c2268e96 Mon Sep 17 00:00:00 2001
|
||||
From c5d9df70d841184b48e1202c9ff00e6dbf660b45 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
|
||||
@ -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.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index d8bb13693..de11a91af 100644
|
||||
index d8bb13693d..de11a91af6 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -483,4 +483,10 @@ public class PaperWorldConfig {
|
||||
@ -21,7 +21,7 @@ index d8bb13693..de11a91af 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 200df602a..98c2694a2 100644
|
||||
index 51be3f9adf..380c3663a6 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -577,6 +577,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@ -61,7 +61,7 @@ index 200df602a..98c2694a2 100644
|
||||
// CraftBukkit start
|
||||
// this.nextTick = SystemUtils.getMonotonicMillis() + 10L;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldLoadListener.java b/src/main/java/net/minecraft/server/WorldLoadListener.java
|
||||
index d6762d385..7b6f5b2da 100644
|
||||
index d6762d3853..7b6f5b2da0 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldLoadListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldLoadListener.java
|
||||
@@ -9,4 +9,6 @@ public interface WorldLoadListener {
|
||||
@ -72,7 +72,7 @@ index d6762d385..7b6f5b2da 100644
|
||||
+ void setChunkRadius(int radius); // Paper - allow changing chunk radius
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java b/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java
|
||||
index 3868572ae..ae77805f7 100644
|
||||
index 3868572aed..ae77805f71 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldLoadListenerLogger.java
|
||||
@@ -7,16 +7,24 @@ import org.apache.logging.log4j.Logger;
|
||||
@ -103,10 +103,10 @@ index 3868572ae..ae77805f7 100644
|
||||
@Override
|
||||
public void a(ChunkCoordIntPair chunkcoordintpair) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 2a9ceacaf..a98e2613a 100644
|
||||
index e474237c24..1003ea50d3 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1493,13 +1493,85 @@ public class WorldServer extends World {
|
||||
@@ -1499,13 +1499,85 @@ public class WorldServer extends World {
|
||||
return ((PersistentIdCounts) this.getMinecraftServer().getWorldServer(DimensionManager.OVERWORLD).getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a();
|
||||
}
|
||||
|
||||
@ -196,7 +196,7 @@ index 2a9ceacaf..a98e2613a 100644
|
||||
|
||||
public LongSet getForceLoadedChunks() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 273afa972..acf151a25 100644
|
||||
index 273afa972a..acf151a253 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -1837,15 +1837,21 @@ public class CraftWorld implements World {
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 88a9cc31fed9191b8092d50e8e752ba6be35b32a Mon Sep 17 00:00:00 2001
|
||||
From a8e90a3b3a47a66669c8268ab6fb2c90d2d35d8c Mon Sep 17 00:00:00 2001
|
||||
From: kickash32 <kickash32@gmail.com>
|
||||
Date: Sun, 2 Jun 2019 01:22:02 -0400
|
||||
Subject: [PATCH] Actually-Limit-Natural-Spawns-To-Limit
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 4e60de0b6e..21032fa943 100644
|
||||
index 744fa825e6..3b7288c6cb 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -459,8 +459,12 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -465,8 +465,12 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
if (enumcreaturetype != EnumCreatureType.MISC && (!enumcreaturetype.c() || this.allowAnimals) && (enumcreaturetype.c() || this.allowMonsters) && (!enumcreaturetype.d() || flag2)) {
|
||||
int k1 = limit * l / ChunkProviderServer.b; // CraftBukkit - use per-world limits
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From aec6947ae80ea5c923fc0f5a6984f036ff965b2a Mon Sep 17 00:00:00 2001
|
||||
From 26a439d52fa750663f2280641d8299ec5bdbfc4b Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Sun, 9 Jun 2019 03:53:22 +0100
|
||||
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
|
||||
index de11a91af..4d3c6c6b4 100644
|
||||
index de11a91af6..4d3c6c6b47 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -489,4 +489,19 @@ public class PaperWorldConfig {
|
||||
@ -29,7 +29,7 @@ index de11a91af..4d3c6c6b4 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index ee8f80174..2003522d9 100644
|
||||
index ee8f801745..2003522d96 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess {
|
||||
@ -42,7 +42,7 @@ index ee8f80174..2003522d9 100644
|
||||
private long t;
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 98c2694a2..e9a497359 100644
|
||||
index 380c3663a6..01b389d89f 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -165,6 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@ -86,7 +86,7 @@ index 98c2694a2..e9a497359 100644
|
||||
this.methodProfiler.enter("snooper");
|
||||
if (((DedicatedServer) this).getDedicatedServerProperties().snooperEnabled && !this.snooper.d() && this.ticks > 100) { // Spigot
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 493770bf6..17eee15b2 100644
|
||||
index 493770bf68..17eee15b2d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -325,15 +325,32 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
@ -126,10 +126,10 @@ index 493770bf6..17eee15b2 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index a98e2613a..20894e549 100644
|
||||
index 1003ea50d3..d709002c89 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -754,8 +754,9 @@ public class WorldServer extends World {
|
||||
@@ -760,8 +760,9 @@ public class WorldServer extends World {
|
||||
ChunkProviderServer chunkproviderserver = this.getChunkProvider();
|
||||
|
||||
if (!flag1) {
|
||||
@ -140,7 +140,7 @@ index a98e2613a..20894e549 100644
|
||||
if (iprogressupdate != null) {
|
||||
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
|
||||
}
|
||||
@@ -764,6 +765,7 @@ public class WorldServer extends World {
|
||||
@@ -770,6 +771,7 @@ public class WorldServer extends World {
|
||||
if (iprogressupdate != null) {
|
||||
iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0]));
|
||||
}
|
||||
@ -148,7 +148,7 @@ index a98e2613a..20894e549 100644
|
||||
|
||||
timings.worldSaveChunks.startTiming(); // Paper
|
||||
chunkproviderserver.save(flag);
|
||||
@@ -771,6 +773,7 @@ public class WorldServer extends World {
|
||||
@@ -777,6 +779,7 @@ public class WorldServer extends World {
|
||||
} // Paper
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ index a98e2613a..20894e549 100644
|
||||
// CraftBukkit start - moved from MinecraftServer.saveChunks
|
||||
// PAIL - rename
|
||||
WorldServer worldserver1 = this;
|
||||
@@ -780,6 +783,7 @@ public class WorldServer extends World {
|
||||
@@ -786,6 +789,7 @@ public class WorldServer extends World {
|
||||
worlddata.c(this.server.getBossBattleCustomData().c());
|
||||
worldserver1.getDataManager().saveWorldData(worlddata, this.server.getPlayerList().r());
|
||||
// CraftBukkit end
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 75867964f818c34502a5eef6ef6d504166bc8721 Mon Sep 17 00:00:00 2001
|
||||
From 7b2643a897ec0574d7af42c7d004e3c643fa2e75 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 24 Mar 2019 01:01:32 -0400
|
||||
Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob
|
||||
@ -38,10 +38,10 @@ index 929f5c3031..ff520d9e86 100644
|
||||
public boolean asynchronous;
|
||||
public EngineMode engineMode;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index b7d536ff0e..9fb5af4717 100644
|
||||
index d709002c89..b8e964c974 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -864,6 +864,13 @@ public class WorldServer extends World {
|
||||
@@ -870,6 +870,13 @@ public class WorldServer extends World {
|
||||
EnumCreatureType enumcreaturetype = entity.getEntityType().e();
|
||||
|
||||
if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) {
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren