Update Paper to 1.13 proper - THIS IS STILL HIGHLY UNSTABLE

DO NOT RUN ON PRODUCTION SERVERS!!! Use Backups!!
This commit is contained in:
Aikar 2018-07-22 01:27:46 -04:00
parent 6219932b89
commit e2c75e81f7
No known key found for this signature in database
GPG Key ID: 401ADFC9891FAAFE
77 changed files with 454 additions and 452 deletions

View File

@ -1,11 +1,11 @@
From 7439e7e3c94eb559415193440a9e1515335819c7 Mon Sep 17 00:00:00 2001
From 012c183c1c668f4ab31e7b6e0e6ae61005127510 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 00:16:08 +0100
Subject: [PATCH] POM changes
diff --git a/pom.xml b/pom.xml
index 3e6c8707..c2d0651e 100644
index e946bccf..7374304f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,29 +3,35 @@
@ -21,7 +21,7 @@ index 3e6c8707..c2d0651e 100644
+ </parent>
+
+ <artifactId>paper-api</artifactId>
<version>1.13-pre7-R0.1-SNAPSHOT</version>
<version>1.13-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Spigot-API</name>

View File

@ -1,4 +1,4 @@
From 4e2445c63fba52523da6ce11e8cf8a241cf593f3 Mon Sep 17 00:00:00 2001
From ac7a0eff76dedc21f1bc6fc1eb0d6cbb367f6f90 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Mon, 29 Feb 2016 17:50:31 -0600
Subject: [PATCH] Entity Origin API
@ -25,10 +25,10 @@ index 28b169d2..9b0f97f1 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java
index 9d34e691..b0b1defc 100644
index 0cd830d9..170a9aee 100644
--- a/src/main/java/org/bukkit/entity/FallingBlock.java
+++ b/src/main/java/org/bukkit/entity/FallingBlock.java
@@ -52,4 +52,15 @@ public interface FallingBlock extends Entity {
@@ -51,4 +51,15 @@ public interface FallingBlock extends Entity {
* @param hurtEntities whether entities will be damaged by this block.
*/
void setHurtEntities(boolean hurtEntities);

View File

@ -1,23 +1,22 @@
From 05b70bbd7bf543c94832d486d58987b490016c8d Mon Sep 17 00:00:00 2001
From 6842476267fe66eaac1bffd41ef47e5e82cf4964 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 20:40:33 -0600
Subject: [PATCH] POM Changes
diff --git a/pom.xml b/pom.xml
index 958eb763a..17bc80776 100644
index 5d398f7cb..09b4ddf19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,12 +1,12 @@
@@ -1,12 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.spigotmc</groupId>
- <artifactId>spigot</artifactId>
+ <groupId>com.destroystokyo.paper</groupId>
+ <artifactId>paper</artifactId>
<packaging>jar</packaging>
<version>1.13-pre7-R0.1-SNAPSHOT</version>
<version>1.13-R0.1-SNAPSHOT</version>
- <name>Spigot</name>
- <url>http://www.spigotmc.org</url>
+ <name>Paper</name>
@ -25,7 +24,7 @@ index 958eb763a..17bc80776 100644
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -21,16 +21,16 @@
@@ -21,16 +20,16 @@
</properties>
<parent>
@ -46,7 +45,7 @@ index 958eb763a..17bc80776 100644
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
@@ -101,34 +101,22 @@
@@ -101,34 +100,22 @@
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
<build>
@ -92,7 +91,7 @@ index 958eb763a..17bc80776 100644
</goals>
</execution>
</executions>
@@ -138,11 +126,12 @@
@@ -138,11 +125,12 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
@ -106,7 +105,7 @@ index 958eb763a..17bc80776 100644
<Implementation-Vendor>${maven.build.timestamp}</Implementation-Vendor>
<Specification-Title>Bukkit</Specification-Title>
<Specification-Version>${api.version}</Specification-Version>
@@ -182,19 +171,22 @@
@@ -182,19 +170,22 @@
<goal>shade</goal>
</goals>
<configuration>
@ -137,7 +136,7 @@ index 958eb763a..17bc80776 100644
<relocation>
<pattern>org.bukkit.craftbukkit</pattern>
<shadedPattern>org.bukkit.craftbukkit.v${minecraft_version}</shadedPattern>
@@ -220,18 +212,6 @@
@@ -220,18 +211,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
@ -156,7 +155,7 @@ index 958eb763a..17bc80776 100644
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -250,6 +230,11 @@
@@ -250,6 +229,11 @@
<profiles>
<profile>
<id>development</id>

View File

@ -1,4 +1,4 @@
From a54aaf050878b967a9ee98b9264f67e476ff26ba Mon Sep 17 00:00:00 2001
From b03f578652215491a2fda2190e0b3941e902b2dc Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 21:02:09 -0600
Subject: [PATCH] Paper config files
@ -499,7 +499,7 @@ index 000000000..621bf7051
+ }
+}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 8563712d9..9155aa727 100644
index 5ff1e9686..3706e44a3 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -192,6 +192,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -514,7 +514,7 @@ index 8563712d9..9155aa727 100644
DedicatedServer.LOGGER.info("Generating keypair");
this.a(MinecraftEncryption.b());
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 015959b9f..f3f8b65be 100644
index 5046ecb3b..3fa32228b 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -134,9 +134,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@ -531,7 +531,7 @@ index 015959b9f..f3f8b65be 100644
public boolean impulse;
public int portalCooldown;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index a0c701f35..557a3f97f 100644
index ad3f89199..ca2a14d7a 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -2,6 +2,8 @@ package net.minecraft.server;
@ -555,7 +555,7 @@ index a0c701f35..557a3f97f 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index c7f5cba2d..330ea4e72 100644
index 13c404337..b2bb06c79 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -127,6 +127,8 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@ -576,7 +576,7 @@ index c7f5cba2d..330ea4e72 100644
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ce5ebcc54..88766d30d 100644
index 4dc0c8fcb..99d397872 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -743,6 +743,7 @@ public final class CraftServer implements Server {
@ -603,7 +603,7 @@ index ce5ebcc54..88766d30d 100644
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -1880,4 +1883,26 @@ public final class CraftServer implements Server {
@@ -1862,4 +1865,26 @@ public final class CraftServer implements Server {
{
return spigot;
}
@ -631,10 +631,10 @@ index ce5ebcc54..88766d30d 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index c234b8749..5e49bca8a 100644
index df07dc594..57da619d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -126,6 +126,14 @@ public class Main {
@@ -128,6 +128,14 @@ public class Main {
.defaultsTo(new File("spigot.yml"))
.describedAs("Yml file");
// Spigot End

View File

@ -1,4 +1,4 @@
From 3586286523db67ea246cf1e37a9693b8c6f902c6 Mon Sep 17 00:00:00 2001
From 4a42cad650e2d9c8a48001ef506ce74e0437cf22 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
@ -476,10 +476,10 @@ index 5ab2cf6ee..b5795b6d3 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index ffb91b27b..ff110c8e9 100644
index 06f10e1e8..43feccef8 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -29,8 +29,17 @@ public class Block implements IMaterial {
@@ -28,8 +28,16 @@ public class Block implements IMaterial {
private IBlockData blockData;
protected final boolean o;
private final boolean p;
@ -495,8 +495,7 @@ index ffb91b27b..ff110c8e9 100644
+ return timing;
+ }
+ // Paper end
+
private static final ThreadLocal<Object2ByteLinkedOpenHashMap<Triple<IBlockData, IBlockData, EnumDirection>>> r = ThreadLocal.withInitial(() -> {
private static final ThreadLocal<Object2ByteLinkedOpenHashMap<Object>> r = ThreadLocal.withInitial(() -> {
Object2ByteLinkedOpenHashMap object2bytelinkedopenhashmap = new Object2ByteLinkedOpenHashMap(200) {
protected void rehash(int i) {}
diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java
@ -531,10 +530,27 @@ index 5164e5c92..0c2386f5e 100644
return chunk1;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 0296d3ef0..badfe86b2 100644
index 0296d3ef0..d23f4e80c 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -221,7 +221,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -122,14 +122,13 @@ public class ChunkProviderServer implements IChunkProvider {
if (chunk != null) {
return chunk;
} else {
- try {
- world.timings.syncChunkLoadTimer.startTiming(); // Spigot
+ try (co.aikar.timings.Timing timing = world.timings.chunkGeneration.startTiming()) {
+ ; // Spigot
chunk = (Chunk) this.generateChunk(i, j).get();
return chunk;
} catch (ExecutionException | InterruptedException interruptedexception) {
throw this.a(i, j, (Throwable) interruptedexception);
}
- finally { world.timings.syncChunkLoadTimer.stopTiming(); } // Spigot
}
}
@@ -221,7 +220,7 @@ public class ChunkProviderServer implements IChunkProvider {
}
public void saveChunk(IChunkAccess ichunkaccess, boolean unloaded) { // Spigot
@ -544,7 +560,7 @@ index 0296d3ef0..badfe86b2 100644
this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot
} catch (IOException ioexception) {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 90d857105..3a0e52d88 100644
index 88301ee61..5001fd11d 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -1,5 +1,6 @@
@ -554,7 +570,7 @@ index 90d857105..3a0e52d88 100644
import com.google.common.collect.Maps;
import com.mojang.datafixers.DataFixTypes;
import com.mojang.datafixers.DataFixer;
@@ -688,7 +689,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -690,7 +691,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
public void loadEntities(NBTTagCompound nbttagcompound, Chunk chunk) {
NBTTagList nbttaglist = nbttagcompound.getList("Entities", 10);
World world = chunk.getWorld();
@ -563,7 +579,7 @@ index 90d857105..3a0e52d88 100644
for (int i = 0; i < nbttaglist.size(); ++i) {
NBTTagCompound nbttagcompound1 = nbttaglist.getCompound(i);
@@ -697,8 +698,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -699,8 +700,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
chunk.f(true);
}
@ -572,7 +588,7 @@ index 90d857105..3a0e52d88 100644
NBTTagList nbttaglist1 = nbttagcompound.getList("TileEntities", 10);
for (int j = 0; j < nbttaglist1.size(); ++j) {
@@ -715,8 +714,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -717,8 +716,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
}
}
@ -581,7 +597,7 @@ index 90d857105..3a0e52d88 100644
if (nbttagcompound.hasKeyOfType("TileTicks", 9) && world.I() instanceof TickListServer) {
((TickListServer) world.I()).a(nbttagcompound.getList("TileTicks", 10));
@@ -725,7 +722,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -727,7 +724,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
if (nbttagcompound.hasKeyOfType("LiquidTicks", 9) && world.H() instanceof TickListServer) {
((TickListServer) world.H()).a(nbttagcompound.getList("LiquidTicks", 10));
}
@ -591,7 +607,7 @@ index 90d857105..3a0e52d88 100644
}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 9155aa727..a3d58b5ce 100644
index 3706e44a3..bf1fffcfe 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level;
@ -644,7 +660,7 @@ index 9155aa727..a3d58b5ce 100644
return waitable.get();
} catch (java.util.concurrent.ExecutionException e) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 7a17a4ff9..2ed362791 100644
index 36cc0c18d..4830c7b8b 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;
@ -683,7 +699,7 @@ index 7a17a4ff9..2ed362791 100644
protected float ab() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index b6dd6dc5d..f1840f4fa 100644
index 514c95151..d6e9915c1 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@ -701,7 +717,7 @@ index b6dd6dc5d..f1840f4fa 100644
public void tick() {
- SpigotTimings.timerEntityBaseTick.startTiming(); // Spigot
super.tick();
this.cU();
this.cV();
this.o();
@@ -2058,9 +2057,7 @@ public abstract class EntityLiving extends Entity {
}
@ -753,7 +769,7 @@ index b6dd6dc5d..f1840f4fa 100644
}
- SpigotTimings.timerEntityAICollision.startTiming(); // Spigot
this.cM();
this.cN();
- SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot
this.world.methodProfiler.e();
}
@ -790,7 +806,7 @@ index ae31935c4..70c9b1f50 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d813c72e1..61ec088d2 100644
index 71ee66a9b..1839bf7d2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1,5 +1,6 @@
@ -810,7 +826,7 @@ index d813c72e1..61ec088d2 100644
public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStatistics, ICommandListener, Runnable {
@@ -560,6 +561,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -599,6 +600,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
@ -818,7 +834,7 @@ index d813c72e1..61ec088d2 100644
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -766,7 +768,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -805,7 +807,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public void u() {}
protected void v() {
@ -827,7 +843,7 @@ index d813c72e1..61ec088d2 100644
this.slackActivityAccountant.tickStarted(); // Spigot
long i = SystemUtils.c();
@@ -793,7 +795,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -832,7 +834,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
@ -835,7 +851,7 @@ index d813c72e1..61ec088d2 100644
this.methodProfiler.a("save");
this.s.savePlayers();
// Spigot Start
@@ -808,7 +809,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -847,7 +848,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// this.saveChunks(true);
// Spigot End
this.methodProfiler.e();
@ -843,7 +859,7 @@ index d813c72e1..61ec088d2 100644
}
this.methodProfiler.a("snooper");
@@ -829,14 +829,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -868,14 +868,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.e();
org.spigotmc.WatchdogThread.tick(); // Spigot
this.slackActivityAccountant.tickEnded(l); // Spigot
@ -862,7 +878,7 @@ index d813c72e1..61ec088d2 100644
this.methodProfiler.a("jobs");
FutureTask futuretask;
@@ -844,26 +844,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -883,26 +883,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
while ((futuretask = (FutureTask) this.g.poll()) != null) {
SystemUtils.a(futuretask, MinecraftServer.LOGGER);
}
@ -871,7 +887,7 @@ index d813c72e1..61ec088d2 100644
this.methodProfiler.c("commandFunctions");
- SpigotTimings.commandFunctionsTimer.startTiming(); // Spigot
+ MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot
this.aD().X_();
this.getFunctionData().Y_();
- SpigotTimings.commandFunctionsTimer.stopTiming(); // Spigot
+ MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot
this.methodProfiler.c("levels");
@ -897,7 +913,7 @@ index d813c72e1..61ec088d2 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) {
@@ -871,7 +872,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -910,7 +911,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
}
}
@ -906,7 +922,7 @@ index d813c72e1..61ec088d2 100644
int i;
@@ -930,9 +931,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -969,9 +970,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.e();
this.methodProfiler.a("tracker");
@ -916,7 +932,7 @@ index d813c72e1..61ec088d2 100644
this.methodProfiler.e();
this.methodProfiler.e();
}
@@ -941,20 +940,19 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -980,20 +979,19 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
this.methodProfiler.c("connection");
@ -936,7 +952,7 @@ index d813c72e1..61ec088d2 100644
- SpigotTimings.tickablesTimer.startTiming(); // Spigot
+ MinecraftTimings.tickablesTimer.startTiming(); // Spigot
for (i = 0; i < this.l.size(); ++i) {
((ITickable) this.l.get(i)).X_();
((ITickable) this.l.get(i)).Y_();
}
- SpigotTimings.tickablesTimer.stopTiming(); // Spigot
+ MinecraftTimings.tickablesTimer.stopTiming(); // Spigot
@ -1038,7 +1054,7 @@ index ac6d8cc6e..d975c2ccf 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 6f21b01a8..359aa3997 100644
index 556989f60..17b925f88 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory;
@ -1100,7 +1116,7 @@ index 889b32287..69da194f5 100644
throw CancelledPacketHandleException.INSTANCE;
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 0156175fb..1e3dd22e5 100644
index e476d3433..9cef6b9af 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@ -1110,7 +1126,7 @@ index 0156175fb..1e3dd22e5 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -1186,10 +1187,11 @@ public abstract class PlayerList {
@@ -1179,10 +1180,11 @@ public abstract class PlayerList {
}
public void savePlayers() {
@ -1178,7 +1194,7 @@ index a07895935..ee5c2421b 100644
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index b992360ac..5b7f6ca84 100644
index cffbcb8f7..6b8a1c8c8 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -4,12 +4,13 @@ import javax.annotation.Nullable;
@ -1198,7 +1214,7 @@ index b992360ac..5b7f6ca84 100644
private final TileEntityTypes<?> e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER
protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 330ea4e72..e6b916a5d 100644
index b2bb06c79..562a85b72 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,6 @@
@ -1303,7 +1319,7 @@ index 330ea4e72..e6b916a5d 100644
if (entity.isPassenger()) {
entity.aH();
} else {
@@ -1402,8 +1408,6 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -1406,8 +1412,6 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
}
}
}
@ -1313,7 +1329,7 @@ index 330ea4e72..e6b916a5d 100644
public boolean a(@Nullable Entity entity, VoxelShape voxelshape) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index cecc9bc62..271d75c48 100644
index 2c6f6de4c..f032ecab6 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1,5 +1,6 @@
@ -1429,10 +1445,10 @@ index cecc9bc62..271d75c48 100644
// CraftBukkit start
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 60182cecf..33826231d 100644
index 99d397872..bc1f858af 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1853,12 +1853,31 @@ public final class CraftServer implements Server {
@@ -1835,12 +1835,31 @@ public final class CraftServer implements Server {
private final Spigot spigot = new Spigot()
{
@ -1681,7 +1697,7 @@ index 413dd35f0..52a8c48fa 100644
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 0a2199b6a..fad258f11 100644
index 75d56ee3b..47f650e42 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1665,6 +1665,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@ -1,4 +1,4 @@
From 505cb60061caae705dbb6fccad730e81f9634672 Mon Sep 17 00:00:00 2001
From e2da442d9796c473f37e5fde6c8ff6b17cc2593b Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:24:16 -0600
Subject: [PATCH] Allow nerfed mobs to jump
@ -31,7 +31,7 @@ index 4ed5192c6..489beed26 100644
this.b.o(this.a);
this.a = false;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 5de20721c..27b01d1ee 100644
index d24ff109c..3744d01ec 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -32,6 +32,7 @@ public abstract class EntityInsentient extends EntityLiving {
@ -56,24 +56,21 @@ index 5de20721c..27b01d1ee 100644
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
index 4d8876cae..2cb9d1b5a 100644
index 0d9505138..38a0b2db1 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
@@ -6,6 +6,7 @@ public class PathfinderGoalFloat extends PathfinderGoal {
@@ -6,14 +6,17 @@ public class PathfinderGoalFloat extends PathfinderGoal {
public PathfinderGoalFloat(EntityInsentient entityinsentient) {
this.a = entityinsentient;
+ if (entityinsentient.getWorld().paperConfig.nerfedMobsShouldJump) entityinsentient.goalFloat = this; // Paper
this.a(4);
if (entityinsentient.getNavigation() instanceof Navigation) {
((Navigation) entityinsentient.getNavigation()).c(true);
@@ -15,10 +16,12 @@ public class PathfinderGoalFloat extends PathfinderGoal {
entityinsentient.getNavigation().d(true);
}
+ public boolean validConditions() { return this.a(); } // Paper - OBFHELPER
public boolean a() {
return this.a.isInWater() || this.a.ax();
return this.a.isInWater() && this.a.bY() > 0.4D || this.a.ax();
}
+ public void update() { this.e(); } // Paper - OBFHELPER

View File

@ -1,4 +1,4 @@
From 7bcfdec2f367b97a5459b023661911495b573125 Mon Sep 17 00:00:00 2001
From ececfb43f16b065d3755a1bfc4e889287c0e3c95 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
@ -25,10 +25,10 @@ index 220ca7bca..eb4b08be4 100644
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 590eb507c..4889a82a2 100644
index 1839bf7d2..5d5aa72ca 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1151,7 +1151,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1205,7 +1205,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
public String getServerModName() {
@ -38,7 +38,7 @@ index 590eb507c..4889a82a2 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 88ea651ba..28f6cdf96 100644
index bc1f858af..ce87736da 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -152,7 +152,7 @@ import org.bukkit.event.server.TabCompleteEvent;
@ -51,10 +51,10 @@ index 88ea651ba..28f6cdf96 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 5e49bca8a..d9059129d 100644
index 57da619d8..38e696aa9 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -198,7 +198,7 @@ public class Main {
@@ -200,7 +200,7 @@ public class Main {
deadline.add(Calendar.DAY_OF_YEAR, -3);
if (buildDate.before(deadline.getTime())) {
System.err.println("*** Error, this build is outdated ***");

View File

@ -1,11 +1,11 @@
From fd20af56dbf1982c04406fcd9a0360b54568d965 Mon Sep 17 00:00:00 2001
From 655295872243600487c4870e833198a8746aecf1 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Tue, 1 Mar 2016 14:47:52 -0600
Subject: [PATCH] Player affects spawning API
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 40efd6c60..1aa32bf11 100644
index fc64ba3c9..a47ef2ca5 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -72,6 +72,9 @@ public abstract class EntityHuman extends EntityLiving {
@ -19,7 +19,7 @@ index 40efd6c60..1aa32bf11 100644
// CraftBukkit start
public boolean fauxSleeping;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index c8c191667..d29364b01 100644
index 27c97530f..3723fd977 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -614,7 +614,7 @@ public abstract class EntityInsentient extends EntityLiving {
@ -32,7 +32,7 @@ index c8c191667..d29364b01 100644
double d1 = entityhuman.locY - this.locY;
double d2 = entityhuman.locZ - this.locZ;
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
index 6cb4f889c..a1ebf5c68 100644
index 75040a0f2..683191c4a 100644
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
@@ -96,7 +96,7 @@ public class EntitySilverfish extends EntityMonster {
@ -45,7 +45,7 @@ index 6cb4f889c..a1ebf5c68 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 44fb75c6f..aec9cdae5 100644
index e54dcaa99..b12e767db 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -37,7 +37,7 @@ public final class SpawnerCreature {
@ -58,7 +58,7 @@ index 44fb75c6f..aec9cdae5 100644
j = MathHelper.floor(entityhuman.locZ / 16.0D);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 05d363171..fd64b75ed 100644
index 6ca7a2069..ae11c2e43 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -28,6 +28,7 @@ import org.bukkit.craftbukkit.block.data.CraftBlockData;
@ -69,7 +69,7 @@ index 05d363171..fd64b75ed 100644
import org.bukkit.event.block.BlockCanBuildEvent;
import org.bukkit.event.block.BlockPhysicsEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -2407,7 +2408,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -2411,7 +2412,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
for (int i = 0; i < this.players.size(); ++i) {
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
@ -79,7 +79,7 @@ index 05d363171..fd64b75ed 100644
if (d3 < 0.0D || d4 < d3 * d3) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index fad258f11..c67137a80 100644
index 47f650e42..0109d8e97 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1585,7 +1585,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@ -1,4 +1,4 @@
From b51264983f1041ab516cbc32f6973fe9615826bd Mon Sep 17 00:00:00 2001
From 977746b6c79dbf14c44ccb350fef1a1ab88084b7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 1 Mar 2016 23:09:29 -0600
Subject: [PATCH] Further improve server tick loop
@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cba7c18f2..093190108 100644
index 5d5aa72ca..ae17796ce 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -141,7 +141,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -142,7 +142,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
public ConsoleReader reader;
@ -24,7 +24,7 @@ index cba7c18f2..093190108 100644
public final Thread primaryThread;
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
@@ -149,10 +149,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -150,10 +150,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public CommandDispatcher vanillaCommandDispatcher;
// CraftBukkit end
// Spigot start
@ -35,7 +35,7 @@ index cba7c18f2..093190108 100644
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -637,12 +633,54 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -676,12 +672,54 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.isRunning = false;
}
@ -95,7 +95,7 @@ index cba7c18f2..093190108 100644
public void run() {
try {
@@ -654,24 +692,41 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -693,24 +731,41 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// Spigot start
Arrays.fill( recentTps, 20 );
@ -149,10 +149,10 @@ index cba7c18f2..093190108 100644
}
lastTick = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a1a0a9b34..f39ddbf09 100644
index ce87736da..fdcdbf508 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1850,6 +1850,17 @@ public final class CraftServer implements Server {
@@ -1832,6 +1832,17 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE;
}

View File

@ -1,11 +1,11 @@
From 3b55d88bdefa6b3479ff0e0ee21da64912d24f0b Mon Sep 17 00:00:00 2001
From 258c176a476363f322e5c45f1e9a9e2cb9e9530e Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 1 Mar 2016 23:52:34 -0600
Subject: [PATCH] Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 5b7f6ca84..8cab71c0e 100644
index 6b8a1c8c8..e03965fc7 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -175,7 +175,12 @@ public abstract class TileEntity implements KeyedObject {
@ -23,7 +23,7 @@ index 5b7f6ca84..8cab71c0e 100644
}
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 3f0b6ac26..c605d7e52 100644
index e3c56a750..bfe09a205 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1166,10 +1166,12 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@ -44,7 +44,7 @@ index 3f0b6ac26..c605d7e52 100644
}
@@ -1232,10 +1234,13 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
((ITickable) tileentity).X_();
((ITickable) tileentity).Y_();
this.methodProfiler.e();
} catch (Throwable throwable2) {
- crashreport1 = CrashReport.a(throwable2, "Ticking block entity");

View File

@ -1,4 +1,4 @@
From fe837b054c13a5ef4ad79e3111af573ff28c2bca Mon Sep 17 00:00:00 2001
From 6a23a851deddbd06d8dbde1734d8ebd1644fb666 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 00:52:31 -0600
Subject: [PATCH] Lighting Queue
@ -43,7 +43,7 @@ index a340866f3..1e3405cc1 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 4a4cc6c59..b0060c363 100644
index 091a53371..d46578b3e 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -91,6 +91,7 @@ public class Chunk implements IChunkAccess {
@ -102,10 +102,10 @@ index 4a4cc6c59..b0060c363 100644
IMMEDIATE, QUEUED, CHECK;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index badfe86b2..51bc23daf 100644
index d23f4e80c..48b484da1 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -323,6 +323,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -322,6 +322,7 @@ public class ChunkProviderServer implements IChunkProvider {
return false;
}
save = event.isSaveChunk();
@ -114,10 +114,10 @@ index badfe86b2..51bc23daf 100644
// Update neighbor counts
for (int x = -2; x < 3; x++) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2e691b9f6..4473c3b51 100644
index ae17796ce..1ac8d61cd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -825,7 +825,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -864,7 +864,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
protected void v() {
co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper
this.slackActivityAccountant.tickStarted(); // Spigot
@ -126,7 +126,7 @@ index 2e691b9f6..4473c3b51 100644
++this.ticks;
if (this.S) {
@@ -883,6 +883,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -922,6 +922,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.e();
this.methodProfiler.e();
org.spigotmc.WatchdogThread.tick(); // Spigot
@ -233,7 +233,7 @@ index 000000000..345cd5824
+ }
+}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index c605d7e52..f57bd081b 100644
index bfe09a205..c40ecbc0c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -325,7 +325,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose

View File

@ -1,4 +1,4 @@
From 46d962a94e8bfe83e54319f47e57da34b4e7f741 Mon Sep 17 00:00:00 2001
From b8d7f6c6cd036f9e845a1f07708681a023b68a2e 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
@ -25,7 +25,7 @@ index dccccbf5b..3626aa717 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index 6b9f6c956..8fdcd52b2 100644
index e558a3a57..18c55402d 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -136,7 +136,7 @@ public class Explosion {
@ -124,10 +124,10 @@ index 6b9f6c956..8fdcd52b2 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4473c3b51..1027b0588 100644
index 1ac8d61cd..96d31f874 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -990,6 +990,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1029,6 +1029,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
worldserver.getTracker().updatePlayers();
this.methodProfiler.e();
this.methodProfiler.e();
@ -136,7 +136,7 @@ index 4473c3b51..1027b0588 100644
// this.f[i][this.ticks % 100] = SystemUtils.c() - j; // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index f57bd081b..04493a1f9 100644
index c40ecbc0c..1ca3eef11 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,6 +18,7 @@ import org.apache.logging.log4j.Logger;

View File

@ -1,4 +1,4 @@
From 2c3fc9d8180148edd78d5ce513eb6bd792cf7d0c Mon Sep 17 00:00:00 2001
From f620d59ecbd4bff1544e6d010208a17cb8549df5 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:48:03 -0600
Subject: [PATCH] Disable explosion knockback
@ -19,7 +19,7 @@ index 3626aa717..be92c1af6 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index f1840f4fa..17955d0f7 100644
index d6e9915c1..574883462 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1004,6 +1004,7 @@ public abstract class EntityLiving extends Entity {
@ -46,9 +46,9 @@ index f1840f4fa..17955d0f7 100644
+
if (this.getHealth() <= 0.0F) {
if (!this.e(damagesource)) {
SoundEffect soundeffect = this.cr();
SoundEffect soundeffect = this.cs();
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index 8fdcd52b2..75b21010b 100644
index 18c55402d..7c676f9f3 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -152,7 +152,7 @@ public class Explosion {

View File

@ -1,4 +1,4 @@
From 77d4e20f2d1dcbac4798b664c809dbcf3819dbf2 Mon Sep 17 00:00:00 2001
From a582f2795d2b29ef1c1d52de9dafde6db552ec36 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 02:02:07 -0600
Subject: [PATCH] Optimize Pathfinding
@ -7,7 +7,7 @@ Prevents pathfinding from spamming failures for things such as
arrow attacks.
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index 9337b9397..1964684ac 100644
index 62cb81516..8111317e3 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -122,10 +122,26 @@ public abstract class NavigationAbstract {
@ -41,7 +41,7 @@ index 9337b9397..1964684ac 100644
@@ -258,6 +274,7 @@ public abstract class NavigationAbstract {
}
public void r() {
public void q() {
+ this.pathfindFailures = 0; this.lastFailure = 0; // Paper - Pathfinding optimizations
this.c = null;
}

View File

@ -1,14 +1,14 @@
From 7ad52fafe34a337de31950cfcb5714b42936672c Mon Sep 17 00:00:00 2001
From bd50b8b817431b942df9ac1ed7cb17e6f9854b63 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Thu, 3 Mar 2016 02:15:57 -0600
Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d637199ca..703d38f0c 100644
index 2d8820070..6d00be24b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1604,6 +1604,7 @@ public final class CraftServer implements Server {
@@ -1586,6 +1586,7 @@ public final class CraftServer implements Server {
return helpMap;
}

View File

@ -1,4 +1,4 @@
From 8dbd8eba1f8a7f3c7dc31d92225602ea6438fb91 Mon Sep 17 00:00:00 2001
From 1bba90c8786ff7744430062680e3f9f2fb1e09be Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <joe@ibj.io>
Date: Thu, 3 Mar 2016 03:15:41 -0600
Subject: [PATCH] Add exception reporting event
@ -50,7 +50,7 @@ index 000000000..93397188b
+}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 2d55abd7a..7ea4b9b5c 100644
index 0c2540938..15ecac26c 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -1,5 +1,6 @@
@ -98,7 +98,7 @@ index 2d55abd7a..7ea4b9b5c 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 51bc23daf..bb96a7392 100644
index 48b484da1..6917fdbe0 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -17,6 +17,7 @@ import java.util.concurrent.ExecutionException;
@ -109,7 +109,7 @@ index 51bc23daf..bb96a7392 100644
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -215,7 +216,11 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -214,7 +215,11 @@ public class ChunkProviderServer implements IChunkProvider {
try {
// this.chunkLoader.a(this.world, chunk); // Spigot
} catch (Exception exception) {
@ -122,7 +122,7 @@ index 51bc23daf..bb96a7392 100644
}
}
@@ -225,9 +230,14 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -224,9 +229,14 @@ public class ChunkProviderServer implements IChunkProvider {
ichunkaccess.setLastSaved(this.world.getTime());
this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot
} catch (IOException ioexception) {
@ -167,7 +167,7 @@ index 33e5aaf2c..f13534917 100644
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PersistentCollection.java b/src/main/java/net/minecraft/server/PersistentCollection.java
index 0ffca4301..86d8fd0d9 100644
index 6b5600ba5..72f386720 100644
--- a/src/main/java/net/minecraft/server/PersistentCollection.java
+++ b/src/main/java/net/minecraft/server/PersistentCollection.java
@@ -1,5 +1,6 @@
@ -194,7 +194,7 @@ index 0ffca4301..86d8fd0d9 100644
}
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
index 94364baae..c80d724f0 100644
index 31899549d..cc7cad8be 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -1,5 +1,6 @@
@ -212,7 +212,7 @@ index 94364baae..c80d724f0 100644
}
}
@@ -209,6 +211,7 @@ public class RegionFile {
@@ -237,6 +239,7 @@ public class RegionFile {
this.b(i, j, (int) (SystemUtils.d() / 1000L));
} catch (IOException ioexception) {
ioexception.printStackTrace();
@ -221,7 +221,7 @@ index 94364baae..c80d724f0 100644
}
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
index d394645a5..384628ccc 100644
index 0e91aeec3..ff473a263 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -1,5 +1,6 @@
@ -240,7 +240,7 @@ index d394645a5..384628ccc 100644
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index aec9cdae5..6d842df62 100644
index b12e767db..342a15db5 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -10,6 +10,7 @@ import org.apache.logging.log4j.LogManager;
@ -288,7 +288,7 @@ index 4ff243dab..67b2e41c7 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 26b2a1fd4..d51ed0f80 100644
index 30cafca04..fa75ed496 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,6 +1,8 @@

View File

@ -1,4 +1,4 @@
From ac2e096b98ab349ce20eb01bb7543fa3aaf4f4ee Mon Sep 17 00:00:00 2001
From 9cb479ab95970eba850de078eaa105429a3024a7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 4 Mar 2016 18:18:37 -0600
Subject: [PATCH] Chunk save queue improvements
@ -41,7 +41,7 @@ index 36689db74..3898ad8fa 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 3a0e52d88..8701777cc 100644
index 5001fd11d..b247d5f07 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -25,6 +25,7 @@ import java.util.function.Consumer;
@ -75,22 +75,7 @@ index 3a0e52d88..8701777cc 100644
private final File c;
private final DataFixer d;
private PersistentStructureLegacy e;
@@ -285,7 +299,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
};
} else {
- if (this.b.containsKey(chunkcoordintpair) && this.a(this.b.get(chunkcoordintpair).get()) == ChunkStatus.Type.LEVELCHUNK || this.a(this.b(world, chunkcoordintpair.x, chunkcoordintpair.z)) == ChunkStatus.Type.LEVELCHUNK) {
+ // Paper start
+ Supplier<NBTTagCompound> existingSave;
+ synchronized (this) {
+ existingSave = this.b.get(chunkcoordintpair);
+ }
+ if (existingSave != null && this.a(existingSave.get()) == ChunkStatus.Type.LEVELCHUNK || this.a(this.b(world, chunkcoordintpair.x, chunkcoordintpair.z)) == ChunkStatus.Type.LEVELCHUNK) { // Paper - extract existingSave to synchronized lookup
+ // Paper end
return;
}
@@ -296,8 +316,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -298,8 +312,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
};
}
@ -101,7 +86,7 @@ index 3a0e52d88..8701777cc 100644
// Spigot end
} catch (Exception exception) {
ChunkRegionLoader.a.error("Failed to save chunk", exception);
@@ -306,18 +326,22 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -308,18 +322,22 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
protected synchronized void a(ChunkCoordIntPair chunkcoordintpair, Supplier<NBTTagCompound> nbttagcompound) { // Spigot
@ -128,7 +113,7 @@ index 3a0e52d88..8701777cc 100644
if (logCompletion) {
// CraftBukkit end
ChunkRegionLoader.a.info("ThreadedAnvilChunkStorage ({}): All chunks are saved", this.c.getName());
@@ -325,17 +349,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -327,17 +345,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
return false;
} else {
@ -148,7 +133,7 @@ index 3a0e52d88..8701777cc 100644
if (nbttagcompound != null) {
try {
@@ -347,7 +367,14 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -349,7 +363,14 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
flag = true;
} finally {

View File

@ -1,4 +1,4 @@
From 2fafede916dc83820145ee9a6663fa1f9725d8da Mon Sep 17 00:00:00 2001
From cd1396b77d29f151316d181df8ce104bd61c5974 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 4 Mar 2013 23:46:10 -0500
Subject: [PATCH] Chunk Save Reattempt
@ -6,10 +6,10 @@ Subject: [PATCH] Chunk Save Reattempt
We commonly have "Stream Closed" errors on chunk saving, so this code should re-try to save the chunk in the event of failure and hopefully prevent rollbacks.
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 8701777cc..ad3bd3808 100644
index b247d5f07..f007af2e1 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -358,11 +358,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -354,11 +354,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
NBTTagCompound nbttagcompound = SupplierUtils.getIfExists(chunk.compoundSupplier); // Spigot // Paper
if (nbttagcompound != null) {
@ -28,10 +28,10 @@ index 8701777cc..ad3bd3808 100644
flag = true;
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
index c80d724f0..3f9aa5923 100644
index cc7cad8be..b8b514c87 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -210,8 +210,7 @@ public class RegionFile {
@@ -238,8 +238,7 @@ public class RegionFile {
this.b(i, j, (int) (SystemUtils.d() / 1000L));
} catch (IOException ioexception) {

View File

@ -1,4 +1,4 @@
From 63781dcbca84f8aa63d89c21777f46521465843f Mon Sep 17 00:00:00 2001
From 03aaffbcad2bfeb80e38be011d9da2f2934c57e8 Mon Sep 17 00:00:00 2001
From: William <admin@domnian.com>
Date: Fri, 18 Mar 2016 03:30:17 -0400
Subject: [PATCH] Allow Reloading of Custom Permissions
@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions
https://github.com/PaperMC/Paper/issues/49
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4db5aacc4..1c9637ff7 100644
index ff966de55..3f51eb384 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1960,5 +1960,20 @@ public final class CraftServer implements Server {
@@ -1942,5 +1942,20 @@ public final class CraftServer implements Server {
return false;
}
}

View File

@ -1,4 +1,4 @@
From 2223947a61cc98c1e2b2c3e52c5e0bad7399dceb Mon Sep 17 00:00:00 2001
From db448a33d090f16e94422a122727963472d771a1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 18 Mar 2016 14:24:53 -0400
Subject: [PATCH] Fix Furnace cook time bug
@ -9,10 +9,10 @@ cook in the expected amount of time as the cook time was not decremented correct
This patch ensures that furnaces cook to the correct wall time expectation.
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
index 8f9a59693..3a587a766 100644
index b484fc721..bc158b877 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -272,7 +272,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve
@@ -267,7 +267,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve
if (this.isBurning() && this.canBurn(irecipe)) {
this.cookTime += elapsedTicks;
if (this.cookTime >= this.cookTimeTotal) {

View File

@ -1,4 +1,4 @@
From b13a9f38c46d3600d2b142d3b69bee8e8c6f5cd4 Mon Sep 17 00:00:00 2001
From a773200d9ab31e884e149a3fd9a108d1e94e618b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 18 Mar 2016 21:22:56 -0400
Subject: [PATCH] Optimized Light Level Comparisons
@ -8,7 +8,7 @@ Use an optimized method to test if a block position meets a desired light level.
This method benefits from returning as soon as the desired light level matches.
diff --git a/src/main/java/net/minecraft/server/BlockCrops.java b/src/main/java/net/minecraft/server/BlockCrops.java
index e64b6dbda..8acfe9e66 100644
index b392846aa..c64e6c197 100644
--- a/src/main/java/net/minecraft/server/BlockCrops.java
+++ b/src/main/java/net/minecraft/server/BlockCrops.java
@@ -44,7 +44,7 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement
@ -17,9 +17,9 @@ index e64b6dbda..8acfe9e66 100644
super.a(iblockdata, world, blockposition, random);
- if (world.getLightLevel(blockposition.up(), 0) >= 9) {
+ if (world.isLightLevel(blockposition.up(), 9)) { // Paper
int i = this.j(iblockdata);
int i = this.k(iblockdata);
if (i < this.d()) {
if (i < this.e()) {
diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java
index 723e5c9b4..e24fb1736 100644
--- a/src/main/java/net/minecraft/server/BlockSapling.java
@ -34,7 +34,7 @@ index 723e5c9b4..e24fb1736 100644
world.captureTreeGeneration = true;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/BlockStem.java b/src/main/java/net/minecraft/server/BlockStem.java
index 3959e0700..c4aff522b 100644
index 0192f9386..334c42d0d 100644
--- a/src/main/java/net/minecraft/server/BlockStem.java
+++ b/src/main/java/net/minecraft/server/BlockStem.java
@@ -27,7 +27,7 @@ public class BlockStem extends BlockPlant implements IBlockFragilePlantElement {
@ -47,7 +47,7 @@ index 3959e0700..c4aff522b 100644
if (random.nextInt((int) ((100.0F / (this == Blocks.PUMPKIN_STEM ? world.spigotConfig.pumpkinModifier : world.spigotConfig.melonModifier)) * (25.0F / f)) + 1) == 0) { // Spigot
diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java
index bef146aa9..9c387365b 100644
index 494ce0bc0..f06c34c6f 100644
--- a/src/main/java/net/minecraft/server/EntityMonster.java
+++ b/src/main/java/net/minecraft/server/EntityMonster.java
@@ -64,9 +64,18 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
@ -73,7 +73,7 @@ index bef146aa9..9c387365b 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 268e4d57b..24224efc6 100644
index 9f8f667c1..90aa8641b 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -262,7 +262,7 @@ public class EntityZombie extends EntityMonster {

View File

@ -1,11 +1,11 @@
From a9821eba8de7feae6fcaed3baccc7451992f2fc6 Mon Sep 17 00:00:00 2001
From 7b31831037d962e312445ec6f9e32fa2506bc4f9 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Sun, 21 Jun 2015 15:07:20 -0400
Subject: [PATCH] Custom replacement for eaten items
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 00cd44a72..bcbc77ad2 100644
index dd48c6af0..acd8034e8 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2563,12 +2563,13 @@ public abstract class EntityLiving extends Entity {
@ -23,7 +23,7 @@ index 00cd44a72..bcbc77ad2 100644
world.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -2583,9 +2584,19 @@ public abstract class EntityLiving extends Entity {
@@ -2583,9 +2584,20 @@ public abstract class EntityLiving extends Entity {
itemstack = this.activeItem.a(this.world, this);
}
@ -33,13 +33,14 @@ index 00cd44a72..bcbc77ad2 100644
+ itemstack = CraftItemStack.asNMSCopy(event.getReplacement());
+ }
+ // Paper end
this.a(this.cT(), itemstack);
this.a(this.cU(), itemstack);
// CraftBukkit end
this.cZ();
this.da();
+ // Paper start - if the replacement is anything but the default, update the client inventory
+ if (this instanceof EntityPlayer && !com.google.common.base.Objects.equal(defaultReplacement, itemstack)) {
+ ((EntityPlayer) this).getBukkitEntity().updateInventory();
+ }
+ // Paper end
}
}

View File

@ -1,4 +1,4 @@
From 4710b24774a3e974f01b1db6348dcc36a4d2ded7 Mon Sep 17 00:00:00 2001
From 2ad7998f791d185616cd9fe917db69a70eed172a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 02:07:55 -0600
Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling
@ -31,7 +31,7 @@ index e2a7b4be2..58f8b4b72 100644
public BaseBlockPosition(int i, int j, int k) {
this.a = i;
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
index 70a7edf57..fff08f09d 100644
index 35ec4981c..ca73ac82f 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -339,6 +339,16 @@ public class BlockPosition extends BaseBlockPosition {
@ -52,7 +52,7 @@ index 70a7edf57..fff08f09d 100644
public MutableBlockPosition() {
this(0, 0, 0);
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index fb27dcac2..1c0580f79 100644
index 0dc05b644..94d036865 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -430,12 +430,24 @@ public class Chunk implements IChunkAccess {
@ -96,7 +96,7 @@ index 7c6308dbe..880058a9e 100644
private NibbleArray skyLight;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d3785f73b..f8e4cd14c 100644
index 11cf087e7..489c152ee 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -262,11 +262,11 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@ -172,7 +172,7 @@ index d3785f73b..f8e4cd14c 100644
return FluidTypes.a.i();
} else {
Chunk chunk = this.getChunkAtWorldCoords(blockposition);
@@ -1764,7 +1764,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -1768,7 +1768,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
public Map<BlockPosition, TileEntity> capturedTileEntities = Maps.newHashMap();
@Nullable
public TileEntity getTileEntity(BlockPosition blockposition) {
@ -181,7 +181,7 @@ index d3785f73b..f8e4cd14c 100644
return null;
} else {
// CraftBukkit start
@@ -1805,7 +1805,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -1809,7 +1809,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
}
public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) {
@ -190,7 +190,7 @@ index d3785f73b..f8e4cd14c 100644
if (tileentity != null && !tileentity.x()) {
// CraftBukkit start
if (captureBlockStates) {
@@ -1866,7 +1866,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -1870,7 +1870,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
}
public boolean p(BlockPosition blockposition) {

View File

@ -1,4 +1,4 @@
From 6455ce561b9117bf7b6752c1553f5159fb3712f3 Mon Sep 17 00:00:00 2001
From 6f900d976e49e29d9a3cfd377e94d7121ddb6e65 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 21:22:26 -0400
Subject: [PATCH] EntityPathfindEvent
@ -6,7 +6,7 @@ Subject: [PATCH] EntityPathfindEvent
Fires when an Entity decides to start moving to a location.
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index 1964684ac..0c5215657 100644
index 8111317e3..76d1f4bd2 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -4,7 +4,7 @@ import javax.annotation.Nullable;
@ -24,7 +24,7 @@ index 1964684ac..0c5215657 100644
} else {
+ if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(getEntity().world, blockposition), null).callEvent()) { return null; } // Paper
this.q = blockposition;
float f = this.k();
float f = this.j();
@@ -102,6 +103,7 @@ public abstract class NavigationAbstract {
if (this.c != null && !this.c.b() && blockposition.equals(this.q)) {
@ -32,7 +32,7 @@ index 1964684ac..0c5215657 100644
} else {
+ if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(entity.world, blockposition), entity.getBukkitEntity()).callEvent()) { return null; } // Paper
this.q = blockposition;
float f = this.k();
float f = this.j();
--
2.18.0

View File

@ -1,4 +1,4 @@
From a064f1ff86cfe2af3e4659d3b4ab7191c1bbdee5 Mon Sep 17 00:00:00 2001
From dfd965ef359e7bf7dfc9ed33736374439c753e83 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
@ -21,10 +21,10 @@ index eb09be512..6ac58e5ec 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1027b0588..b7aa9e869 100644
index 96d31f874..664007c29 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -446,8 +446,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -485,8 +485,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
ArrayList arraylist = Lists.newArrayList();
Set set = Sets.newConcurrentHashSet();
@ -39,10 +39,10 @@ index 1027b0588..b7aa9e869 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index cc1492e4d..2c6774082 100644
index 6ec1ee26d..a4c8e62e2 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -2821,8 +2821,9 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -2825,8 +2825,9 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
int k = i * 16 + 8 - blockposition.getX();
int l = j * 16 + 8 - blockposition.getZ();
boolean flag = true;
@ -54,10 +54,10 @@ index cc1492e4d..2c6774082 100644
public void a(Packet<?> packet) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f90dc11f2..06b59657f 100644
index 62872675d..7cb795dd8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1008,7 +1008,7 @@ public final class CraftServer implements Server {
@@ -990,7 +990,7 @@ public final class CraftServer implements Server {
System.out.println("Preparing start region for level " + (console.worlds.size() - 1) + " (Seed: " + internal.getSeed() + ")");
if (internal.getWorld().getKeepSpawnInMemory()) {

View File

@ -1,14 +1,14 @@
From 0fcdea66258db413a6b24290ed64dbe31665a343 Mon Sep 17 00:00:00 2001
From afb30e11f473e9edbeff81f0bad1736ab90b28b9 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 5 Apr 2016 19:42:22 -0400
Subject: [PATCH] Don't spam reload spawn chunks in nether/end
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 5b2d67260..3aecf7a5d 100644
index ae953d85d..e747d1e46 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -2817,6 +2817,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -2821,6 +2821,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
return this.K;
}

View File

@ -1,4 +1,4 @@
From e2d1cd0843677e1a8e8dea3ed851c5c8e2e94e69 Mon Sep 17 00:00:00 2001
From 43bd8c9254a8f40906a62978cf6045d7e1eff64b 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 3aecf7a5d..e5ecfdbf0 100644
index e747d1e46..46eab028d 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -73,7 +73,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@ -57,7 +57,7 @@ index 3aecf7a5d..e5ecfdbf0 100644
this.tileEntityListTick.add(tileentity);
}
@@ -1852,7 +1852,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -1856,7 +1856,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
} else {
if (tileentity != null) {
this.c.remove(tileentity);

View File

@ -1,4 +1,4 @@
From 9f2f1b9ab1eed83663f5141642da3ed16f93bdaf Mon Sep 17 00:00:00 2001
From 3ee292c7290a2edfc9b0e97fb5ff14e1f8e0a595 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 13 Apr 2016 02:10:49 -0400
Subject: [PATCH] Configurable Player Collision
@ -19,10 +19,10 @@ index ec4643384..430b5d0cd 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b7aa9e869..c5670fe8d 100644
index 664007c29..eb0e1361a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -379,6 +379,20 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -418,6 +418,20 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.a(this.getDifficulty());
this.g_();
@ -44,7 +44,7 @@ index b7aa9e869..c5670fe8d 100644
protected void a(File file, WorldData worlddata) {
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
index 5f54e7b9c..759288b97 100644
index a6aed2531..575e3762b 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
@@ -94,7 +94,7 @@ public class PacketPlayOutScoreboardTeam implements Packet<PacketListenerPlayOut
@ -57,7 +57,7 @@ index 5f54e7b9c..759288b97 100644
packetdataserializer.a(this.c);
packetdataserializer.a(this.d);
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 8e1edde31..6b7d81933 100644
index 7f324a9c0..d0c547cc9 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -74,6 +74,7 @@ public abstract class PlayerList {
@ -99,7 +99,7 @@ index 8e1edde31..6b7d81933 100644
this.savePlayerFile(entityplayer);
if (entityplayer.isPassenger()) {
Entity entity = entityplayer.getRootVehicle();
@@ -1318,7 +1336,13 @@ public abstract class PlayerList {
@@ -1311,7 +1329,13 @@ public abstract class PlayerList {
player.playerConnection.disconnect(this.server.server.getShutdownMessage()); // CraftBukkit - add custom shutdown message
}
// CraftBukkit end

View File

@ -1,4 +1,4 @@
From c1a4ecfa714d709d6c41f26869d7f52f45e27db2 Mon Sep 17 00:00:00 2001
From 977b959e4d5d6964c13e43d5f3a6b6db6af2cb32 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 3c201c2e2..05dc8451e 100644
index eb0e1361a..68ab9b7eb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -68,6 +68,7 @@ import co.aikar.timings.MinecraftTimings; // Paper
@ -17,7 +17,7 @@ index 3c201c2e2..05dc8451e 100644
public static final Logger LOGGER = LogManager.getLogger();
public static final File a = new File("usercache.json");
public Convertable convertable;
@@ -153,6 +154,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -154,6 +155,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// Spigot end
public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
@ -26,7 +26,7 @@ index 3c201c2e2..05dc8451e 100644
this.ac = new ResourceManager(EnumResourcePackType.SERVER_DATA);
this.resourcePackRepository = new ResourcePackRepository(ResourcePackLoader::new);
this.ag = new CraftingManager();
@@ -1742,7 +1745,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1806,7 +1809,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// CraftBukkit start
@Deprecated
public static MinecraftServer getServer() {

View File

@ -1,4 +1,4 @@
From 9d96b8545503e22d3196831671b54fc1a5e80009 Mon Sep 17 00:00:00 2001
From 89c539bf9cd6e0a1ac5fd61cbcb7bf6a08ed570d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 1 May 2016 21:19:14 -0400
Subject: [PATCH] LootTable API & Replenishable Lootables Feature
@ -418,7 +418,7 @@ index 000000000..9a65603bc
+ }
+}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
index dc329dcc5..d3bf88585 100644
index 9ec73ac06..8bd7976f9 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
@@ -6,17 +6,21 @@ import javax.annotation.Nullable;
@ -445,7 +445,7 @@ index dc329dcc5..d3bf88585 100644
// CraftBukkit start
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
@@ -159,12 +163,13 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
@@ -168,12 +172,13 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
protected void b(NBTTagCompound nbttagcompound) {
super.b(nbttagcompound);
@ -460,7 +460,7 @@ index dc329dcc5..d3bf88585 100644
ContainerUtil.a(nbttagcompound, this.items);
}
@@ -172,11 +177,12 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
@@ -181,11 +186,12 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
protected void a(NBTTagCompound nbttagcompound) {
super.a(nbttagcompound);
@ -474,7 +474,7 @@ index dc329dcc5..d3bf88585 100644
ContainerUtil.b(nbttagcompound, this.items);
}
@@ -225,10 +231,10 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
@@ -234,10 +240,10 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
}
public void f(@Nullable EntityHuman entityhuman) {
@ -487,7 +487,7 @@ index dc329dcc5..d3bf88585 100644
Random random;
if (this.d == 0L) {
@@ -253,12 +259,51 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
@@ -262,12 +268,51 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
this.items.clear();
}
@ -540,7 +540,7 @@ index dc329dcc5..d3bf88585 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/TileEntityLootable.java b/src/main/java/net/minecraft/server/TileEntityLootable.java
index ce710d219..9c8bebe4b 100644
index fbda02b32..e6fc1ae92 100644
--- a/src/main/java/net/minecraft/server/TileEntityLootable.java
+++ b/src/main/java/net/minecraft/server/TileEntityLootable.java
@@ -1,12 +1,16 @@

View File

@ -1,4 +1,4 @@
From e1f368e70c67a8656883a4a1025adfce7f085a83 Mon Sep 17 00:00:00 2001
From a348c3710bdb5813fc2278b285f8f77f3a5d4368 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 7 May 2016 23:33:08 -0400
Subject: [PATCH] Don't save empty scoreboard teams to scoreboard.dat
@ -19,10 +19,10 @@ index 430b5d0cd..011cbf5e3 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PersistentScoreboard.java b/src/main/java/net/minecraft/server/PersistentScoreboard.java
index 81afa3195..ed3d5c889 100644
index 0260fb7ec..45d8de1b7 100644
--- a/src/main/java/net/minecraft/server/PersistentScoreboard.java
+++ b/src/main/java/net/minecraft/server/PersistentScoreboard.java
@@ -175,6 +175,7 @@ public class PersistentScoreboard extends PersistentBase {
@@ -177,6 +177,7 @@ public class PersistentScoreboard extends PersistentBase {
while (iterator.hasNext()) {
ScoreboardTeam scoreboardteam = (ScoreboardTeam) iterator.next();

View File

@ -1,4 +1,4 @@
From 5f52336745925855acb58d3b4f55fc404c5a1766 Mon Sep 17 00:00:00 2001
From 570d7c506c2cc65f5899a4ca5e6b5cd5c2f38182 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 12 May 2016 02:03:56 -0400
Subject: [PATCH] Fix Chunk Unload Queue Issues
@ -9,7 +9,7 @@ has not resolved all the bugs with the changes.
This patch fixes known issues and really should be applied by Spigot team.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 744b5bc6d..718ebfea0 100644
index 49c5953fb..8da7e39ee 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -58,7 +58,7 @@ public class Chunk implements IChunkAccess {
@ -22,10 +22,10 @@ index 744b5bc6d..718ebfea0 100644
private int E;
private final AtomicInteger F;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index bb96a7392..7825dc91b 100644
index 6917fdbe0..bac5c921b 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -302,6 +302,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -301,6 +301,7 @@ public class ChunkProviderServer implements IChunkProvider {
if (chunk != null && chunk.d) {
// CraftBukkit start - move unload logic to own method

View File

@ -1,4 +1,4 @@
From 1b066a794864bf5d0073b12f7d575ee00775466e Mon Sep 17 00:00:00 2001
From 575168a9432ee2e2241160b96d5a72f299dfa366 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 16 May 2016 20:47:41 -0400
Subject: [PATCH] Optimize UserCache / Thread Safe
@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase
the user never changed the default setting for Spigot's save on stop only.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 05dc8451e..0e59fc9eb 100644
index 68ab9b7eb..0e385e4ea 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -632,7 +632,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -671,7 +671,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// Spigot start
if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
LOGGER.info("Saving usercache.json");

View File

@ -1,14 +1,14 @@
From 6b56636274fd02421525e8c2000511fe4cf89272 Mon Sep 17 00:00:00 2001
From 66f789bf81987858175b8ef9204c85c50a69d1b1 Mon Sep 17 00:00:00 2001
From: Martin Panzer <postremus1996@googlemail.com>
Date: Sat, 28 May 2016 16:54:03 +0200
Subject: [PATCH] Add server-name parameter
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index d9059129d..aad208f47 100644
index 38e696aa9..c552c624e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -134,6 +134,14 @@ public class Main {
@@ -136,6 +136,14 @@ public class Main {
.defaultsTo(new File("paper.yml"))
.describedAs("Yml file");
// Paper end

View File

@ -1,4 +1,4 @@
From 8b0ebf88191276c87b61235e51405887463861a3 Mon Sep 17 00:00:00 2001
From 51db9f7a8b2e9545edec3a323c0d6c1e298d30d8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 18 Jun 2016 23:22:12 -0400
Subject: [PATCH] Delay Chunk Unloads based on Player Movement
@ -40,7 +40,7 @@ index 321da3be3..0e6c18b32 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 718ebfea0..6c6924937 100644
index 8da7e39ee..99421aca9 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -39,6 +39,7 @@ public class Chunk implements IChunkAccess {
@ -52,10 +52,10 @@ index 718ebfea0..6c6924937 100644
public final int locZ;
private boolean m;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 7825dc91b..2e72a294d 100644
index bac5c921b..4f9ece9e4 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -318,6 +318,19 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -317,6 +317,19 @@ public class ChunkProviderServer implements IChunkProvider {
activityAccountant.endActivity(); // Spigot
}
@ -131,7 +131,7 @@ index 4d888d6d4..cf5c76a78 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 5102f24ed..c9b6b57af 100644
index f1c036aa6..95ec4f48f 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1294,7 +1294,13 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose

View File

@ -1,4 +1,4 @@
From c4546f54875964aa47af70957bae0bc9a8840b28 Mon Sep 17 00:00:00 2001
From dbfe877863ead07c12ce6bc9fe159f20cd3a8563 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/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index ad3bd3808..e70c2184c 100644
index f007af2e1..2f1488ee5 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -1058,7 +1058,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -1050,7 +1050,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
public static void a(Entity entity, GeneratorAccess generatoraccess, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) {
@ -21,7 +21,7 @@ index ad3bd3808..e70c2184c 100644
Iterator iterator = entity.bP().iterator();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index c9b6b57af..067b92f3e 100644
index 95ec4f48f..45ab70167 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -955,6 +955,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose

View File

@ -1,4 +1,4 @@
From 3345a0866470144d0accf25736ef329d09bdf279 Mon Sep 17 00:00:00 2001
From ee073c0208ecf659a81f02bd43bf65b4fe99699d Mon Sep 17 00:00:00 2001
From: Gabriele C <sgdc3.mail@gmail.com>
Date: Fri, 5 Aug 2016 01:03:08 +0200
Subject: [PATCH] Add setting for proxy online mode status
@ -33,10 +33,10 @@ index f13534917..85c7a96c5 100644
} else {
String[] astring1 = astring;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 06b59657f..6c7151536 100644
index 7cb795dd8..e125632ff 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1375,7 +1375,8 @@ public final class CraftServer implements Server {
@@ -1357,7 +1357,8 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode

View File

@ -1,4 +1,4 @@
From 71e6ced752630d941c3d5bf62881eb81b72eb156 Mon Sep 17 00:00:00 2001
From b790f76209c8a401084cc4d03b4c78164ee79c41 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 19 Sep 2016 23:16:39 -0400
Subject: [PATCH] Auto Save Improvements
@ -64,7 +64,7 @@ index 0e6c18b32..c182ceffb 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 6c6924937..2f40f687a 100644
index 99421aca9..ee992e346 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -52,9 +52,9 @@ public class Chunk implements IChunkAccess {
@ -96,7 +96,7 @@ index 6c6924937..2f40f687a 100644
public boolean isEmpty() {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 2e72a294d..1e6ea3084 100644
index 4f9ece9e4..afeb0685b 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -1,5 +1,6 @@
@ -106,7 +106,7 @@ index 2e72a294d..1e6ea3084 100644
import com.google.common.collect.Lists;
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
import it.unimi.dsi.fastutil.longs.Long2ObjectMaps;
@@ -260,7 +261,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -259,7 +260,7 @@ public class ChunkProviderServer implements IChunkProvider {
this.saveChunk(chunk, false); // Spigot
chunk.a(false);
++i;
@ -116,7 +116,7 @@ index 2e72a294d..1e6ea3084 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 08d6f77ae..5122cee42 100644
index 982e18f8a..1879c3238 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -38,6 +38,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -128,10 +128,10 @@ index 08d6f77ae..5122cee42 100644
public final MinecraftServer server;
public final PlayerInteractManager playerInteractManager;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0e59fc9eb..603ce9fe2 100644
index 0e385e4ea..326d4242d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -143,6 +143,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -144,6 +144,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
public ConsoleReader reader;
public static int currentTick = 0; // Paper - Further improve tick loop
@ -139,7 +139,7 @@ index 0e59fc9eb..603ce9fe2 100644
public final Thread primaryThread;
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
@@ -869,22 +870,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -908,22 +909,30 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.n.b().a(agameprofile);
}
@ -175,7 +175,7 @@ index 0e59fc9eb..603ce9fe2 100644
this.methodProfiler.a("snooper");
if (getSnooperEnabled() && !this.j.d() && this.ticks > 100) { // Spigot
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 6b7d81933..3ee587014 100644
index d0c547cc9..12f6812d6 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -341,6 +341,7 @@ public abstract class PlayerList {
@ -186,7 +186,7 @@ index 6b7d81933..3ee587014 100644
this.playerFileData.save(entityplayer);
ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) entityplayer.getStatisticManager(); // CraftBukkit
@@ -1220,13 +1221,25 @@ public abstract class PlayerList {
@@ -1213,13 +1214,25 @@ public abstract class PlayerList {
}
@ -214,7 +214,7 @@ index 6b7d81933..3ee587014 100644
public WhiteList getWhitelist() {
return this.whitelist;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 6c976e3b1..a08ef197e 100644
index 96002184b..bf07155bc 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {

View File

@ -1,4 +1,4 @@
From 977d7d2021db60c67df0f9fa5fa7fc5ae5089144 Mon Sep 17 00:00:00 2001
From be60b6d44fc147afab85cfd2e75313fd053fd746 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 21 Sep 2016 22:54:28 -0400
Subject: [PATCH] Chunk registration fixes
@ -8,10 +8,10 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr
Keep them consistent
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 067b92f3e..04b5521cd 100644
index 45ab70167..5d3378be0 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1470,7 +1470,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -1474,7 +1474,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
}
i = MathHelper.floor(entity.locX / 16.0D);

View File

@ -1,4 +1,4 @@
From 86f5120f1974823a7b6aa8ffd62575bfcdb812fb Mon Sep 17 00:00:00 2001
From c6e872685630cb2732c1f34b2f53d95867fcea05 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Nov 2016 20:28:12 -0400
Subject: [PATCH] Don't load Chunks from Hoppers and other things
@ -13,13 +13,13 @@ This of course is undesirable, so just return the loaded side as "primary"
and treat it as a single chest if the other sides are unloaded
diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java
index f8be07258..633c75ffe 100644
index 1ad39aca3..7262c2b19 100644
--- a/src/main/java/net/minecraft/server/BlockChest.java
+++ b/src/main/java/net/minecraft/server/BlockChest.java
@@ -196,7 +196,12 @@ public class BlockChest extends BlockTileEntity implements IFluidSource, IFluidC
return (ITileInventory) object;
} else {
BlockPosition blockposition1 = blockposition.shift(j(iblockdata));
BlockPosition blockposition1 = blockposition.shift(k(iblockdata));
- IBlockData iblockdata1 = world.getType(blockposition1);
+ // Paper start - don't load chunks if the other side of the chest is in unloaded chunk
+ final IBlockData iblockdata1 = world.getTypeIfLoaded(blockposition1); // Paper

View File

@ -1,4 +1,4 @@
From 3efd56fcbb76e3a5ed65644d6040c9e030f641b7 Mon Sep 17 00:00:00 2001
From 821c5c8577518add23e8a91fec1d7dc1ca81d7f2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Nov 2016 21:52:22 -0400
Subject: [PATCH] Prevent Auto Save if Save Queue is full
@ -23,10 +23,10 @@ index 9a2ec0793..f88444c7e 100644
private void removeCorruptTEs() {
removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false);
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 1e6ea3084..9145401bc 100644
index afeb0685b..a4c4a9486 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -250,6 +250,14 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -249,6 +249,14 @@ public class ChunkProviderServer implements IChunkProvider {
ArrayList arraylist = Lists.newArrayList(this.chunks.values());
Iterator iterator = arraylist.iterator();
@ -41,7 +41,7 @@ index 1e6ea3084..9145401bc 100644
while (iterator.hasNext()) {
Chunk chunk = (Chunk) iterator.next();
@@ -261,7 +269,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -260,7 +268,7 @@ public class ChunkProviderServer implements IChunkProvider {
this.saveChunk(chunk, false); // Spigot
chunk.a(false);
++i;
@ -51,7 +51,7 @@ index 1e6ea3084..9145401bc 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index e70c2184c..20aa20a98 100644
index 2f1488ee5..859148cb8 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -137,6 +137,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {

View File

@ -1,4 +1,4 @@
From 2180b64ba27758854a3d43a078e959ae159b8a8d Mon Sep 17 00:00:00 2001
From 908a149ec4d6d824d1457eb2745f45e5afbfb942 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 4 Nov 2016 02:12:10 -0400
Subject: [PATCH] Chunk Save Stats Debug Option
@ -8,7 +8,7 @@ Adds a command line flag to enable stats on how chunk saves are processing.
Stats on current queue, how many was processed and how many were queued.
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 9145401bc..ef35eb7ec 100644
index a4c4a9486..4be7173bf 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -36,6 +36,11 @@ public class ChunkProviderServer implements IChunkProvider {
@ -23,7 +23,7 @@ index 9145401bc..ef35eb7ec 100644
public final WorldServer world;
public ChunkProviderServer(WorldServer worldserver, IChunkLoader ichunkloader, ChunkGenerator<?> chunkgenerator, IAsyncTaskHandler iasynctaskhandler) {
@@ -253,6 +258,30 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -252,6 +257,30 @@ public class ChunkProviderServer implements IChunkProvider {
// Paper start
final ChunkRegionLoader chunkLoader = (ChunkRegionLoader) world.getChunkProviderServer().chunkLoader;
final int queueSize = chunkLoader.getQueueSize();
@ -55,7 +55,7 @@ index 9145401bc..ef35eb7ec 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 20aa20a98..de2231bb0 100644
index 859148cb8..ea8684747 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -137,7 +137,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@ -73,7 +73,7 @@ index 20aa20a98..de2231bb0 100644
// CraftBukkit start - Add async variant, provide compatibility
@Nullable
@@ -329,6 +335,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -325,6 +331,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
protected synchronized void a(ChunkCoordIntPair chunkcoordintpair, Supplier<NBTTagCompound> nbttagcompound) { // Spigot
queue.add(new QueuedChunk(chunkcoordintpair, nbttagcompound)); // Paper - Chunk queue improvements
@ -81,7 +81,7 @@ index 20aa20a98..de2231bb0 100644
this.b.put(chunkcoordintpair, nbttagcompound);
FileIOThread.a().a(this);
}
@@ -352,6 +359,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -348,6 +355,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
return false;
} else {
ChunkCoordIntPair chunkcoordintpair = chunk.coords; // Paper - Chunk queue improvements

View File

@ -1,4 +1,4 @@
From 21a06c5a111434636227935f23120b53773e3316 Mon Sep 17 00:00:00 2001
From 8c64658c0fc06e452f61e18f3e5c5191edd1890b Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
Date: Mon, 28 Nov 2016 10:21:52 -0500
Subject: [PATCH] Allow Reloading of Command Aliases
@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6c7151536..1b6a849e2 100644
index e125632ff..d7247a1ec 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1986,5 +1986,24 @@ public final class CraftServer implements Server {
@@ -1968,5 +1968,24 @@ public final class CraftServer implements Server {
});
}
}

View File

@ -1,11 +1,11 @@
From c454c72a987b25fdfd7dd8a651f4aa4beb8b891e Mon Sep 17 00:00:00 2001
From 542ff3ee75511fdfb8bd5963063c428d43a82747 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Wed, 21 Dec 2016 11:47:25 -0600
Subject: [PATCH] Add API methods to control if armour stands can move
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 4c615baea..52a1036fd 100644
index cf11a2225..578d96640 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -44,6 +44,7 @@ public class EntityArmorStand extends EntityLiving {
@ -17,7 +17,7 @@ index 4c615baea..52a1036fd 100644
public EntityArmorStand(World world) {
super(EntityTypes.ARMOR_STAND, world);
@@ -755,4 +756,13 @@ public class EntityArmorStand extends EntityLiving {
public boolean de() {
public boolean df() {
return false;
}
+

View File

@ -1,4 +1,4 @@
From 905fa22f222f8547b63412650bc2927850fa8382 Mon Sep 17 00:00:00 2001
From 92dd98b36207e4e5aa69b572e52cf01641543621 Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <alfeh@me.com>
Date: Tue, 27 Dec 2016 01:57:57 +0000
Subject: [PATCH] Properly fix item duplication bug
@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug
Credit to prplz for figuring out the real issue
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index cf2a39384..c91caf578 100644
index 4bde378af..7059fc118 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1531,7 +1531,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1525,7 +1525,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@Override
protected boolean isFrozen() {
@ -19,7 +19,7 @@ index cf2a39384..c91caf578 100644
@Override
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 1f2cfbc92..f26636e30 100644
index fc4e927d6..9ac86f7af 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2504,7 +2504,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {

View File

@ -1,4 +1,4 @@
From 527982777c9728d51edc763ccf27080487902c05 Mon Sep 17 00:00:00 2001
From f99c9ad753cb27454bb9bbc36b4c9ba4d54027e2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 27 Dec 2016 22:38:06 -0500
Subject: [PATCH] Activation Range Improvements
@ -6,7 +6,7 @@ Subject: [PATCH] Activation Range Improvements
Fixes and adds new Immunities to improve gameplay behavior
diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java
index e2e1095118..34dcd01ded 100644
index b34756769..53b25dd80 100644
--- a/src/main/java/net/minecraft/server/EntityCreature.java
+++ b/src/main/java/net/minecraft/server/EntityCreature.java
@@ -6,6 +6,7 @@ import org.bukkit.event.entity.EntityUnleashEvent;
@ -18,7 +18,7 @@ index e2e1095118..34dcd01ded 100644
private float b;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 1bef317758..c1618f8c36 100644
index 8dbff3c37..3da4bc356 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -74,7 +74,7 @@ public abstract class EntityLiving extends Entity {
@ -31,19 +31,19 @@ index 1bef317758..c1618f8c36 100644
protected int ticksFarFromPlayer;
protected float aZ;
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index 2698579603..864ca3cc6e 100644
index bb86ecb2f..5cd8c3f28 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -363,6 +363,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
return this.bR != null;
}
+ public boolean inCaravan() { return this.em(); } // Paper - OBFHELPER
public boolean em() {
+ public boolean inCaravan() { return this.en(); } // Paper - OBFHELPER
public boolean en() {
return this.bQ != null;
}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java
index a146a8b459..a19853463c 100644
index a146a8b45..a19853463 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoal.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoal.java
@@ -18,7 +18,10 @@ public abstract class PathfinderGoal {
@ -59,7 +59,7 @@ index a146a8b459..a19853463c 100644
public void e() {}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java
index d5c08aa7cb..fe6570c88d 100644
index d5c08aa7c..fe6570c88 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java
@@ -2,17 +2,24 @@ package net.minecraft.server;
@ -99,7 +99,7 @@ index d5c08aa7cb..fe6570c88d 100644
}
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index e02647f806..cdbf769e7b 100644
index e02647f80..cdbf769e7 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -20,6 +20,7 @@ import net.minecraft.server.EntityFireball;

View File

@ -1,4 +1,4 @@
From 61d3c06b65d8a1032845bff14e2dbfc071cd9906 Mon Sep 17 00:00:00 2001
From 0e2d3a5968ee223fd6d7c206a3393be137bd0046 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 7 Jan 2017 15:41:58 -0500
Subject: [PATCH] Enforce Sync Player Saves
@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 3ee587014..fdbc01792 100644
index 12f6812d6..c8b5a610a 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1227,6 +1227,7 @@ public abstract class PlayerList {
@@ -1220,6 +1220,7 @@ public abstract class PlayerList {
}
public void savePlayers(Integer interval) {
@ -18,7 +18,7 @@ index 3ee587014..fdbc01792 100644
long now = MinecraftServer.currentTick;
MinecraftTimings.savePlayers.startTiming(); // Paper
int numSaved = 0; // Paper
@@ -1238,6 +1239,7 @@ public abstract class PlayerList {
@@ -1231,6 +1232,7 @@ public abstract class PlayerList {
}
}
MinecraftTimings.savePlayers.stopTiming(); // Paper

View File

@ -1,4 +1,4 @@
From b381115d1a60cf615a6bc13d874fd8bb29a02c1b Mon Sep 17 00:00:00 2001
From cf91146dbca0cbe6b854ea98e00be7a4bf6de4c6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 16:31:46 -0500
Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player
@ -8,10 +8,10 @@ Adds lots of information about why this orb exists.
Replaces isFromBottle() with logic that persists entity reloads too.
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index ff110c8e95..d95587c8cc 100644
index 43feccef8..e820bfbd5 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -473,13 +473,13 @@ public class Block implements IMaterial {
@@ -471,13 +471,13 @@ public class Block implements IMaterial {
}
}
@ -28,7 +28,7 @@ index ff110c8e95..d95587c8cc 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index e5f0645774..e237c5dc1a 100644
index 131f8a515..d8ab87e21 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -618,7 +618,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
@ -41,7 +41,7 @@ index e5f0645774..e237c5dc1a 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index 3c888d6015..79d80596df 100644
index 3c888d601..79d80596d 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -15,9 +15,59 @@ public class EntityExperienceOrb extends Entity {
@ -120,7 +120,7 @@ index 3c888d6015..79d80596df 100644
public void d(EntityHuman entityhuman) {
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index 7440e4a2a9..895254c155 100644
index 1804a49de..82e4d2eab 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -467,7 +467,7 @@ public class EntityFishingHook extends Entity {
@ -131,9 +131,9 @@ index 7440e4a2a9..895254c155 100644
+ this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX, this.owner.locY + 0.5D, this.owner.locZ + 0.5D, playerFishEvent.getExpToDrop(), org.bukkit.entity.ExperienceOrb.SpawnReason.FISHING, this.owner, this)); // Paper
}
// CraftBukkit end
if (itemstack1.getItem().a(TagsItem.G)) {
if (itemstack1.getItem().a(TagsItem.D)) {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index c1618f8c36..9f493e43d4 100644
index 3da4bc356..f9a76ce27 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -353,7 +353,8 @@ public abstract class EntityLiving extends Entity {
@ -147,7 +147,7 @@ index c1618f8c36..9f493e43d4 100644
this.expToDrop = 0;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
index a5e1939e05..e73dba09a6 100644
index a5e1939e0..e73dba09a 100644
--- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
+++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
@@ -36,7 +36,7 @@ public class EntityThrownExpBottle extends EntityProjectile {
@ -160,7 +160,7 @@ index a5e1939e05..e73dba09a6 100644
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index fc0c1cc3b2..dd4ecfa883 100644
index e8fdf8625..b51543ea7 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -411,7 +411,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
@ -173,7 +173,7 @@ index fc0c1cc3b2..dd4ecfa883 100644
if (this.tradingPlayer instanceof EntityPlayer) {
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
index 4a128f707b..b870964674 100644
index 4a128f707..b87096467 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
@@ -122,7 +122,7 @@ public class PathfinderGoalBreed extends PathfinderGoal {
@ -186,7 +186,7 @@ index 4a128f707b..b870964674 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index 33b5080147..e34198e407 100644
index 545a98302..55ec29bd2 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -384,7 +384,7 @@ public class PlayerInteractManager {
@ -199,7 +199,7 @@ index 33b5080147..e34198e407 100644
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
index 998662d9e6..6b4eb7f053 100644
index 998662d9e..6b4eb7f05 100644
--- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java
+++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
@@ -9,7 +9,7 @@ import org.bukkit.event.inventory.FurnaceExtractEvent;
@ -221,7 +221,7 @@ index 998662d9e6..6b4eb7f053 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 86848543d0..7004f11764 100644
index 86848543d..7004f1176 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1220,7 +1220,7 @@ public class CraftWorld implements World {
@ -234,7 +234,7 @@ index 86848543d0..7004f11764 100644
// not sure what this can do
if (LightningStrike.class.isAssignableFrom(clazz)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
index 3a09cab3d4..3302af0e45 100644
index 3a09cab3d..3302af0e4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
@@ -18,6 +18,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {

View File

@ -1,14 +1,14 @@
From 31b95b88c25e4b25cf7ef32ff4692d1bf937b679 Mon Sep 17 00:00:00 2001
From 990b651cbd64dc43013878c653744f461492478e Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Tue, 7 Feb 2017 16:55:35 -0600
Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index ef35eb7ec..70790386e 100644
index 4be7173bf..7d77c5fb3 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -328,7 +328,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -327,7 +327,7 @@ public class ChunkProviderServer implements IChunkProvider {
// Spigot start
org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant;
activityAccountant.startActivity(0.5);
@ -18,5 +18,5 @@ index ef35eb7ec..70790386e 100644
LongIterator longiterator = this.unloadQueue.iterator();
--
2.17.1
2.18.0

View File

@ -1,11 +1,11 @@
From 0628af2631258500bd906bbaf21bcaca89c8de03 Mon Sep 17 00:00:00 2001
From 0fa5dce73cc9cdf2630c65eaa2ffaf4787580165 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 18 Feb 2017 19:29:58 -0600
Subject: [PATCH] Do not let armorstands drown
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 52a1036fdb..26171b3430 100644
index 578d96640..e9a746f13 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -764,5 +764,10 @@ public class EntityArmorStand extends EntityLiving {
@ -20,23 +20,23 @@ index 52a1036fdb..26171b3430 100644
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index fc0e440798..38baecd862 100644
index 3b4867bfc..b596a616f 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -201,6 +201,7 @@ public abstract class EntityLiving extends Entity {
super.a(d0, flag, iblockdata, blockposition);
}
+ public boolean canBreatheUnderwater() { return this.bZ(); } // Paper - OBFHELPER
public boolean bZ() {
+ public boolean canBreatheUnderwater() { return this.ca(); } // Paper - OBFHELPER
public boolean ca() {
return this.getMonsterType() == EnumMonsterType.UNDEAD;
}
@@ -235,7 +236,7 @@ public abstract class EntityLiving extends Entity {
if (this.isAlive()) {
if (this.a(TagsFluid.a) && this.world.getType(new BlockPosition(this.locX, this.locY + (double) this.getHeadHeight(), this.locZ)).getBlock() != Blocks.BUBBLE_COLUMN) {
- if (!this.bZ() && !MobEffectUtil.c(this) && !flag1) {
+ if (!this.canBreatheUnderwater() && !MobEffectUtil.c(this) && !flag1) { // Paper - use OBFHELPER
- if (!this.ca() && !MobEffectUtil.c(this) && !flag1) {
+ if (!this.canBreatheUnderwater() && !MobEffectUtil.c(this) && !flag1) { // Paper - use OBFHELPER so it can be overridden
this.setAirTicks(this.l(this.getAirTicks()));
if (this.getAirTicks() == -20) {
this.setAirTicks(0);

View File

@ -1,4 +1,4 @@
From 97859bd335e381d24dfb98d703ee44295283f04c Mon Sep 17 00:00:00 2001
From a196d99aed3b693c24cece49966b2089b7123812 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Fri, 12 May 2017 23:34:11 -0500
Subject: [PATCH] Properly handle async calls to restart the server
@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
in corruption/dataloss.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ab3193295..5d13f053f 100644
index 9405dc7bf..eb8c7aaad 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -85,6 +85,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@ -41,7 +41,7 @@ index ab3193295..5d13f053f 100644
private boolean isStopped;
private int ticks;
protected final Proxy d;
@@ -591,7 +592,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -630,7 +631,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
if (this.s != null) {
MinecraftServer.LOGGER.info("Saving players");
this.s.savePlayers();
@ -50,7 +50,7 @@ index ab3193295..5d13f053f 100644
try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets
}
@@ -650,10 +651,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -689,10 +690,18 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
return this.isRunning;
}
@ -69,7 +69,7 @@ index ab3193295..5d13f053f 100644
// Paper start - Further improve server tick loop
private static final int TPS = 20;
private static final long SEC_IN_NANO = 1000000000;
@@ -1608,6 +1617,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1662,6 +1671,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
return this.aa;
}
@ -78,10 +78,10 @@ index ab3193295..5d13f053f 100644
return this.serverThread;
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index fdbc01792..4c9ff8c29 100644
index c8b5a610a..0b0d99652 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1345,10 +1345,15 @@ public abstract class PlayerList {
@@ -1338,10 +1338,15 @@ public abstract class PlayerList {
entityplayer.playerInteractManager.b(generatoraccess.getWorldData().getGameType());
}
@ -98,7 +98,7 @@ index fdbc01792..4c9ff8c29 100644
}
// CraftBukkit end
// Paper start - Remove collideRule team if it exists
@@ -1359,6 +1364,7 @@ public abstract class PlayerList {
@@ -1352,6 +1357,7 @@ public abstract class PlayerList {
}
// Paper end
}

View File

@ -1,4 +1,4 @@
From 7c1020f87381d93af07c2ac419e8780a643c7405 Mon Sep 17 00:00:00 2001
From b7ebc8e864503bb53440d7d919063dbce2971df6 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Fri, 9 Jun 2017 07:24:34 -0700
Subject: [PATCH] Add configuration option to prevent player names from being
@ -20,10 +20,10 @@ index ea6fcb39f..dbafef023 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1b6a849e2..470e334f7 100644
index d7247a1ec..ff9346023 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2005,5 +2005,10 @@ public final class CraftServer implements Server {
@@ -1987,5 +1987,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}

View File

@ -1,4 +1,4 @@
From af3fcc467f9180b820aaa4e89b3695f7d7d420cd Mon Sep 17 00:00:00 2001
From 9192bd2b48900aca881a1ac43bc94dfea1585a2f 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,10 +19,10 @@ Other changes:
configuration
diff --git a/pom.xml b/pom.xml
index 17bc80776..47cb2c036 100644
index 09b4ddf19..47e307a24 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,12 +40,6 @@
@@ -39,12 +39,6 @@
<version>${minecraft.version}-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
@ -35,7 +35,7 @@ index 17bc80776..47cb2c036 100644
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
@@ -70,6 +64,32 @@
@@ -69,6 +63,32 @@
<version>3.0.3</version>
<scope>compile</scope>
</dependency>
@ -68,7 +68,7 @@ index 17bc80776..47cb2c036 100644
<!-- testing -->
<dependency>
<groupId>junit</groupId>
@@ -203,10 +223,18 @@
@@ -202,10 +222,18 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/services/java.sql.Driver</resource>
</transformer>
@ -157,7 +157,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 a3d58b5ce..681194e94 100644
index bf1fffcfe..af430b73f 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -79,6 +79,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -199,7 +199,7 @@ index a3d58b5ce..681194e94 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 5d13f053f..c95f12351 100644
index eb8c7aaad..88900121d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -57,7 +57,6 @@ import org.apache.commons.lang3.Validate;
@ -210,7 +210,7 @@ index 5d13f053f..c95f12351 100644
import joptsimple.OptionSet;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.CraftServer;
@@ -142,7 +141,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -143,7 +142,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public OptionSet options;
public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
@ -219,7 +219,7 @@ index 5d13f053f..c95f12351 100644
public static int currentTick = 0; // Paper - Further improve tick loop
public boolean serverAutoSave = false; // Paper
public final Thread primaryThread;
@@ -184,7 +183,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -185,7 +184,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.ac.a((IResourcePackListener) this.al);
// CraftBukkit start
this.options = options;
@ -229,7 +229,7 @@ index 5d13f053f..c95f12351 100644
if (System.console() == null && System.getProperty("jline.terminal") == null) {
System.setProperty("jline.terminal", "jline.UnsupportedTerminal");
Main.useJline = false;
@@ -205,6 +206,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -206,6 +207,8 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
LOGGER.warn((String) null, ex);
}
}
@ -238,7 +238,7 @@ index 5d13f053f..c95f12351 100644
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
this.serverThread = primaryThread = new Thread(this, "Server thread"); // Moved from main
@@ -805,7 +808,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -844,7 +847,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
} finally {
// CraftBukkit start - Restore terminal to original settings
try {
@ -247,7 +247,7 @@ index 5d13f053f..c95f12351 100644
} catch (Exception ignored) {
}
// CraftBukkit end
@@ -1286,7 +1289,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1340,7 +1343,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
public void sendMessage(IChatBaseComponent ichatbasecomponent) {
@ -257,7 +257,7 @@ index 5d13f053f..c95f12351 100644
public KeyPair G() {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 4c9ff8c29..9e403d625 100644
index 0b0d99652..4cbe14801 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -78,8 +78,7 @@ public abstract class PlayerList {
@ -271,7 +271,7 @@ index 4c9ff8c29..9e403d625 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 8719fe35e..f6dfe2e2b 100644
index ff9346023..21d9f381c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -137,8 +137,8 @@ import java.nio.ByteBuffer;
@ -284,7 +284,7 @@ index 8719fe35e..f6dfe2e2b 100644
import org.bukkit.NamespacedKey;
import org.bukkit.block.data.BlockData;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
@@ -1141,9 +1141,13 @@ public final class CraftServer implements Server {
@@ -1123,9 +1123,13 @@ public final class CraftServer implements Server {
return logger;
}
@ -299,7 +299,7 @@ index 8719fe35e..f6dfe2e2b 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 aad208f47..ac38028d7 100644
index c552c624e..3245fded9 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -14,7 +14,7 @@ import java.util.logging.Logger;
@ -311,7 +311,7 @@ index aad208f47..ac38028d7 100644
public class Main {
public static boolean useJline = true;
@@ -176,6 +176,8 @@ public class Main {
@@ -178,6 +178,8 @@ public class Main {
}
try {
@ -320,7 +320,7 @@ index aad208f47..ac38028d7 100644
// This trick bypasses Maven Shade's clever rewriting of our getProperty call when using String literals
String jline_UnsupportedTerminal = new String(new char[] {'j','l','i','n','e','.','U','n','s','u','p','p','o','r','t','e','d','T','e','r','m','i','n','a','l'});
String jline_terminal = new String(new char[] {'j','l','i','n','e','.','t','e','r','m','i','n','a','l'});
@@ -193,10 +195,18 @@ public class Main {
@@ -195,10 +197,18 @@ public class Main {
// This ensures the terminal literal will always match the jline implementation
System.setProperty(jline.TerminalFactory.JLINE_TERMINAL, jline.UnsupportedTerminal.class.getName());
}

View File

@ -1,4 +1,4 @@
From bf87bdd3574f5c1a208ffe8ea73199994905069c Mon Sep 17 00:00:00 2001
From 36d19d1a7e42d31db09f1d3b94cb2293dbf484df Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 11 Jun 2017 21:01:18 +0100
Subject: [PATCH] provide a configurable option to disable creeper lingering
@ -21,11 +21,11 @@ index 99fe720e8..c80d84b9b 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index f286b6286..f37169d73 100644
index 8b0134ecd..0147054df 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -214,7 +214,7 @@ public class EntityCreeper extends EntityMonster {
private void dF() {
private void dG() {
Collection collection = this.getEffects();
- if (!collection.isEmpty()) {

View File

@ -1,4 +1,4 @@
From 6a116ada95d75bf31b18a32818efe792c9b39d49 Mon Sep 17 00:00:00 2001
From 5ba0adc0334b2371f2b4647ac4f91d800402923e 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
@ -429,10 +429,10 @@ index 70db1cc14..9ab3844fc 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 c95f12351..26ace3cbf 100644
index 88900121d..5d12855ba 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1115,7 +1115,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1157,7 +1157,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
*/ // CraftBukkit end
String s1 = "."; // PAIL?
@ -441,7 +441,7 @@ index c95f12351..26ace3cbf 100644
MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService();
GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository();
UserCache usercache = new UserCache(gameprofilerepository, new File(s1, MinecraftServer.a.getName()));
@@ -1563,6 +1563,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1617,6 +1617,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.G = i;
}
@ -486,7 +486,7 @@ index a47a51a41..4c476f757 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 ac46e50ac..a8da20e35 100644
index 814a65ec5..202c6c492 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -152,6 +152,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey;
@ -500,7 +500,7 @@ index ac46e50ac..a8da20e35 100644
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
@@ -2021,5 +2025,21 @@ public final class CraftServer implements Server {
@@ -2003,5 +2007,21 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}

View File

@ -1,17 +1,17 @@
From 147cea6aa1decfdcbf1f3d7fc2bca8f22fdaae5a Mon Sep 17 00:00:00 2001
From dd04e617cb4eb245710fe0691eb157a0ab850400 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 2 Jul 2017 21:35:56 -0500
Subject: [PATCH] Block player logins during server shutdown
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index 89a11a496..bab13a4fd 100644
index b6e829682..85eff6e2d 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -50,6 +50,12 @@ public class LoginListener implements PacketLoginInListener, ITickable {
}
public void X_() {
public void Y_() {
+ // Paper start - Do not allow logins while the server is shutting down
+ if (!MinecraftServer.getServer().isRunning()) {
+ this.disconnect(new ChatMessage(org.spigotmc.SpigotConfig.restartMessage));

View File

@ -1,11 +1,11 @@
From 29abeacb899601637af19e18457fff1ba671f470 Mon Sep 17 00:00:00 2001
From 81ace36f21de4341d47d827637fcfe406d40b33a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 3 Jul 2017 18:11:10 -0500
Subject: [PATCH] ProfileWhitelistVerifyEvent
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 9e403d625..879780c5b 100644
index 4cbe14801..45e42e998 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -543,9 +543,9 @@ public abstract class PlayerList {
@ -20,7 +20,7 @@ index 9e403d625..879780c5b 100644
} else if (getIPBans().isBanned(socketaddress) && !getIPBans().get(socketaddress).hasExpired()) {
IpBanEntry ipbanentry = this.l.get(socketaddress);
@@ -1184,9 +1184,25 @@ public abstract class PlayerList {
@@ -1177,9 +1177,25 @@ public abstract class PlayerList {
this.server.getCommandDispatcher().a(entityplayer);
}

View File

@ -1,4 +1,4 @@
From 65acab73c8ed9963f274dd34e30d183069604441 Mon Sep 17 00:00:00 2001
From ae43b5d79b454b6a616f610119360894023cb5c1 Mon Sep 17 00:00:00 2001
From: DemonWav <demonwav@gmail.com>
Date: Sun, 6 Aug 2017 17:17:53 -0500
Subject: [PATCH] Fix this stupid bullshit
@ -9,10 +9,10 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa
and to provide some level of hint without being disruptive.
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index ac38028d7..ad0635925 100644
index 3245fded9..d4f6e009e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -215,10 +215,12 @@ public class Main {
@@ -217,10 +217,12 @@ public class Main {
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -3);
if (buildDate.before(deadline.getTime())) {

View File

@ -1,4 +1,4 @@
From 85d40c5071b3c70477b3dfbb204207f97904c8d3 Mon Sep 17 00:00:00 2001
From 73bbebc2ba89bec6a0a886d598bac3901e2f81c8 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Mon, 18 Sep 2017 12:00:03 +0200
Subject: [PATCH] Use Log4j IOStreams to redirect System.out/err to logger
@ -12,10 +12,10 @@ results in a separate line, even though it should not result in
a line break. Log4j's implementation handles it correctly.
diff --git a/pom.xml b/pom.xml
index f2c7d2ba8b..fa6c3702a7 100644
index 47e307a24..a93ed45df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,6 +90,13 @@
@@ -89,6 +89,13 @@
<scope>runtime</scope>
</dependency>
@ -30,7 +30,7 @@ index f2c7d2ba8b..fa6c3702a7 100644
<dependency>
<groupId>junit</groupId>
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 681194e94f..927cbeedcd 100644
index af430b73f..8c7630018 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -131,8 +131,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer

View File

@ -1,4 +1,4 @@
From 3b947e0656877c19c211ce7680e3937ae5dea267 Mon Sep 17 00:00:00 2001
From d5b28ecc49de351485333e2960919669c43780e7 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Thu, 21 Sep 2017 16:14:55 +0200
Subject: [PATCH] Handle plugin prefixes using Log4J configuration
@ -15,10 +15,10 @@ This may cause additional prefixes to be disabled for plugins bypassing
the plugin logger.
diff --git a/pom.xml b/pom.xml
index 9d2473317..eb2cdf129 100644
index a93ed45df..bb32cb749 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,7 +87,7 @@
@@ -86,7 +86,7 @@
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.1</version>
@ -28,7 +28,7 @@ index 9d2473317..eb2cdf129 100644
<!-- Paper - Add additional Log4J dependencies -->
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 9a1ffed07..b39096f04 100644
index 676780b61..5a873fe9d 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -286,7 +286,7 @@ public class SpigotConfig

View File

@ -1,14 +1,14 @@
From edb75eca4cd2549499d4475155065a2e73d4b9c0 Mon Sep 17 00:00:00 2001
From 7c9fbb91ca5a19e2e151dbf2e4021220d5347a31 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Thu, 21 Sep 2017 16:33:35 +0200
Subject: [PATCH] Include Log4J2 SLF4J implementation
diff --git a/pom.xml b/pom.xml
index eb2cdf129..353a5560e 100644
index bb32cb749..a319cfe3b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,6 +91,12 @@
@@ -90,6 +90,12 @@
</dependency>
<!-- Paper - Add additional Log4J dependencies -->

View File

@ -1,23 +1,23 @@
From dd4f541fca1b685e85db063ff2813f6d552cb262 Mon Sep 17 00:00:00 2001
From e2039fa94b546d69eae59942ae8af658cb991af5 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 28 Sep 2017 17:21:44 -0400
Subject: [PATCH] Add PlayerJumpEvent
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index f08c0ba60..1b944abea 100644
index b20cab58b..1bfe9d0e7 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -1460,6 +1460,7 @@ public abstract class EntityHuman extends EntityLiving {
return 0;
}
+ public void jump() { this.cG(); } // Paper - OBFHELPER
public void cG() {
super.cG();
+ public void jump() { this.cH(); } // Paper - OBFHELPER
public void cH() {
super.cH();
this.a(StatisticList.JUMP);
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 383ef87ba..480b93aa0 100644
index 932eeb19d..7465c548a 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -57,6 +57,8 @@ import org.bukkit.inventory.CraftingInventory;
@ -33,7 +33,7 @@ index 383ef87ba..480b93aa0 100644
d8 = d5 - this.p;
d9 = d6 - this.q;
if (this.player.onGround && !packetplayinflying.b() && d8 > 0.0D) {
- this.player.cG();
- this.player.cH();
+ // Paper start - Add player jump event
+ Player player = this.getPlayer();
+ Location from = new Location(player.getWorld(), lastPosX, lastPosY, lastPosZ, lastYaw, lastPitch); // Get the Players previous Event location.

View File

@ -1,4 +1,4 @@
From 6ded5c4dfe33c7a2da270fb889d550c0f89afcc2 Mon Sep 17 00:00:00 2001
From 68d7cdfbe8d650efad86ee10f528f15670eabe04 Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Tue, 31 Oct 2017 03:26:18 +0100
Subject: [PATCH] Send attack SoundEffects only to players who can see the
@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 1b944abea..ae4dd621d 100644
index 1bfe9d0e7..cd3e021a0 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -981,6 +981,15 @@ public abstract class EntityHuman extends EntityLiving {
@ -40,7 +40,7 @@ index 1b944abea..ae4dd621d 100644
- this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.bV(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.bV(), 1.0F, 1.0F); // Paper - send while respecting visibility
this.dk();
this.dl();
}
@@ -1113,15 +1122,15 @@ public abstract class EntityHuman extends EntityLiving {
@ -72,7 +72,7 @@ index 1b944abea..ae4dd621d 100644
entity.extinguish();
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d0ce6b363..56292fad9 100644
index 2f9aa10f8..2904a845b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -916,6 +916,12 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose

View File

@ -1,4 +1,4 @@
From 9b2ecdc4d560d69dfd41dad01498207a3ef040f9 Mon Sep 17 00:00:00 2001
From f4914b7018762e1d9e23715905c35c231f5d697c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 26 Nov 2017 13:19:58 -0500
Subject: [PATCH] AsyncTabCompleteEvent
@ -14,7 +14,7 @@ completion, such as offline players.
Also adds isCommand and getLocation to the sync TabCompleteEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 7e96c4eb4..ab2bd6dae 100644
index cb9f25e96..c0249933b 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -504,18 +504,59 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@ -85,10 +85,10 @@ index 7e96c4eb4..ab2bd6dae 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0ef1186b9..d605e5792 100644
index 202c6c492..c74831b3d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1685,7 +1685,7 @@ public final class CraftServer implements Server {
@@ -1667,7 +1667,7 @@ public final class CraftServer implements Server {
offers = tabCompleteChat(player, message);
}

View File

@ -1,4 +1,4 @@
From a1e5ecf741cca8862642895e14580b92151b92ff Mon Sep 17 00:00:00 2001
From 0d34338ddc54622e57515a7f8281f3726f33b1f6 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Wed, 11 Oct 2017 15:56:26 +0200
Subject: [PATCH] Implement extended PaperServerListPingEvent
@ -177,10 +177,10 @@ index 000000000..350410527
+
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 26ace3cbf..bc2712898 100644
index 5d12855ba..ebc0709eb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -871,7 +871,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -910,7 +910,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
if (i - this.Y >= 5000000000L) {
this.Y = i;
this.n.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.B(), this.A()));
@ -189,8 +189,8 @@ index 26ace3cbf..bc2712898 100644
int j = MathHelper.nextInt(this.o, 0, this.A() - agameprofile.length);
for (int k = 0; k < agameprofile.length; ++k) {
@@ -1221,10 +1221,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
return "1.13-pre7";
@@ -1275,10 +1275,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
return "1.13";
}
+ public int getPlayerCount() { return A(); } // Paper - OBFHELPER
@ -251,7 +251,7 @@ index d7e1ecc03..f20cddc41 100644
this.c = agameprofile;
}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index b39096f04..d89224e7d 100644
index 5a873fe9d..42bd3b6ed 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -285,7 +285,7 @@ public class SpigotConfig

View File

@ -1,4 +1,4 @@
From 3cf669e70d479742197c2514cda5bd38a37c53d6 Mon Sep 17 00:00:00 2001
From 2881f51e09aaf6feb720969e323bbdcb87b054b7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 22 Mar 2018 01:40:24 -0400
Subject: [PATCH] getPlayerUniqueId API
@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b1d3f2a5e..f3050b126 100644
index c74831b3d..e860a83d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1379,6 +1379,26 @@ public final class CraftServer implements Server {
@@ -1361,6 +1361,26 @@ public final class CraftServer implements Server {
return recipients.size();
}

View File

@ -1,4 +1,4 @@
From b5b9280ab8819c53ce5fdcaf92e9967a002bc18a Mon Sep 17 00:00:00 2001
From 2c487e159f55a7145d0e7a32048fa08fa60dcdae Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 13:15:55 -0400
Subject: [PATCH] EndermanEscapeEvent
@ -8,7 +8,7 @@ Fires an event anytime an enderman intends to teleport away from the player
You may cancel this, enabling ranged attacks to damage the enderman for example.
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
index 96e29539b..e5eb0189d 100644
index ddf64ee6c..a766b3895 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -1,6 +1,7 @@
@ -39,7 +39,7 @@ index 96e29539b..e5eb0189d 100644
- if (f > 0.5F && this.world.e(new BlockPosition(this)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F) {
+ if (f > 0.5F && this.world.e(new BlockPosition(this)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && tryEscape(EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper
this.setGoalTarget((EntityLiving) null);
this.dz();
this.dA();
}
@@ -247,7 +254,7 @@ public class EntityEnderman extends EntityMonster {
public boolean damageEntity(DamageSource damagesource, float f) {
@ -48,7 +48,7 @@ index 96e29539b..e5eb0189d 100644
- } else if (damagesource instanceof EntityDamageSourceIndirect) {
+ } else if (damagesource instanceof EntityDamageSourceIndirect && tryEscape(EndermanEscapeEvent.Reason.INDIRECT)) { // Paper
for (int i = 0; i < 64; ++i) {
if (this.dz()) {
if (this.dA()) {
return true;
@@ -258,7 +265,7 @@ public class EntityEnderman extends EntityMonster {
} else {
@ -56,7 +56,7 @@ index 96e29539b..e5eb0189d 100644
- if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0) {
+ if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0 && tryEscape(damagesource == DamageSource.DROWN ? EndermanEscapeEvent.Reason.DROWN : EndermanEscapeEvent.Reason.CRITICAL_HIT)) { // Paper
this.dz();
this.dA();
}
@@ -347,7 +354,7 @@ public class EntityEnderman extends EntityMonster {
@ -74,7 +74,7 @@ index 96e29539b..e5eb0189d 100644
if (this.i.f((EntityHuman) this.d)) {
- if (((EntityHuman) this.d).h(this.i) < 16.0D) {
+ if (((EntityHuman) this.d).h(this.i) < 16.0D && this.getEnderman().tryEscape(EndermanEscapeEvent.Reason.STARE)) { // Paper
this.i.dz();
this.i.dA();
}
--

View File

@ -1,4 +1,4 @@
From 880a89e66ceb7046eff5ee0e63c34e8c58789991 Mon Sep 17 00:00:00 2001
From 4554c34485e08548f66997ac51e4ae290a56eecf Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 13:29:44 -0400
Subject: [PATCH] Enderman.teleportRandomly()
@ -6,15 +6,15 @@ Subject: [PATCH] Enderman.teleportRandomly()
Ability to trigger the vanilla "teleport randomly" mechanic of an enderman.
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
index e5eb0189d..df94b4ca9 100644
index a766b3895..0f64c8f2b 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -184,6 +184,7 @@ public class EntityEnderman extends EntityMonster {
super.mobTick();
}
+ public boolean teleportRandomly() { return dz(); } // Paper - OBFHELPER
protected boolean dz() {
+ public boolean teleportRandomly() { return dA(); } // Paper - OBFHELPER
protected boolean dA() {
double d0 = this.locX + (this.random.nextDouble() - 0.5D) * 64.0D;
double d1 = this.locY + (double) (this.random.nextInt(64) - 32);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java

View File

@ -1,4 +1,4 @@
From 6ed48dc3d24f2c96bc25877a4b9039fb81dfe608 Mon Sep 17 00:00:00 2001
From f00d585a8bbb438d74f7802fd5fb536bfc69185b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 10 Jun 2018 01:18:49 -0400
Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event
@ -6,7 +6,7 @@ Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event
Otherwise the creeper infinite explodes
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index f37169d73..86935f70a 100644
index 0147054df..bbb4ca0fe 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -12,7 +12,7 @@ public class EntityCreeper extends EntityMonster {
@ -19,7 +19,7 @@ index f37169d73..86935f70a 100644
private int fuseTicks;
public int maxFuseTicks = 30;
@@ -205,6 +205,7 @@ public class EntityCreeper extends EntityMonster {
this.dF();
this.dG();
} else {
fuseTicks = 0;
+ this.datawatcher.set(isIgnitedDW, Boolean.valueOf(false)); // Paper

View File

@ -1,4 +1,4 @@
From 8d4c2d59264801c858ea9086dcda25380a409942 Mon Sep 17 00:00:00 2001
From 1bf8f7ce7285ba62fda47503cf9ac20e460b2926 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 16 Jun 2018 01:18:16 -0500
Subject: [PATCH] Make shield blocking delay configurable
@ -19,10 +19,10 @@ index f1db4becd..ef4bfb480 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index a4026d64a..dffa42ba5 100644
index 999a02cad..eaab10a14 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2663,7 +2663,7 @@ public abstract class EntityLiving extends Entity {
@@ -2664,7 +2664,7 @@ public abstract class EntityLiving extends Entity {
if (this.isHandRaised() && !this.activeItem.isEmpty()) {
Item item = this.activeItem.getItem();
@ -31,8 +31,8 @@ index a4026d64a..dffa42ba5 100644
} else {
return false;
}
@@ -2751,4 +2751,16 @@ public abstract class EntityLiving extends Entity {
public boolean de() {
@@ -2752,4 +2752,16 @@ public abstract class EntityLiving extends Entity {
public boolean df() {
return true;
}
+
@ -49,7 +49,7 @@ index a4026d64a..dffa42ba5 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 460a050cc..35ba95e0f 100644
index 524cfd99b..a6f847e31 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -530,5 +530,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@ -1,4 +1,4 @@
From a8a715a958825c0714c667dd9fb939e330e09551 Mon Sep 17 00:00:00 2001
From 8f9dd75bf0186ef9e145b0399cedd29b5b090740 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 29 Jun 2018 00:21:28 -0400
Subject: [PATCH] LivingEntity Hand Raised/Item Use API
@ -6,29 +6,33 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API
How long an entity has raised hands to charge an attack or use an item
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 7cacbaffe..5f3ccee2e 100644
index 4455dc489..8be1ba526 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2648,14 +2648,17 @@ public abstract class EntityLiving extends Entity {
}
+ public ItemStack getActiveItem() { return cV(); } // Paper - OBFHELPER
public ItemStack cV() {
@@ -106,7 +106,7 @@ public abstract class EntityLiving extends Entity {
private float bI;
private int bJ;
private float bK;
- protected ItemStack activeItem;
+ public ItemStack activeItem; // Paper - public
protected int bu;
protected int bv;
private BlockPosition bL;
@@ -2653,10 +2653,12 @@ public abstract class EntityLiving extends Entity {
return this.activeItem;
}
+ public int getItemUseRemainingTime() { return cW(); } // Paper - OBFHELPER
public int cW() {
+ public int getItemUseRemainingTime() { return cX(); } // Paper - OBFHELPER
public int cX() {
return this.bu;
}
+ public int getHandRaisedTime() { return cX(); } // Paper - OBFHELPER
public int cX() {
return this.isHandRaised() ? this.activeItem.k() - this.cW() : 0;
+ public int getHandRaisedTime() { return cY(); } // Paper - OBFHELPER
public int cY() {
return this.isHandRaised() ? this.activeItem.k() - this.cX() : 0;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 35ba95e0f..0975181e0 100644
index a6f847e31..768bce141 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -540,5 +540,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@ -38,7 +42,7 @@ index 35ba95e0f..0975181e0 100644
+
+ @Override
+ public ItemStack getActiveItem() {
+ return getHandle().getActiveItem().asBukkitMirror();
+ return getHandle().activeItem.asBukkitMirror();
+ }
+
+ @Override

View File

@ -1,4 +1,4 @@
From 087cf44f244fd8c9afe5831e5714891a26585028 Mon Sep 17 00:00:00 2001
From a110ff1f46dcdda93c0d692af44fd4d36b0dbc26 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/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index ac90ca802..9e798038b 100644
index a5a63a01d..e504b7858 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -886,7 +886,7 @@ public class Chunk implements IChunkAccess {
@ -29,11 +29,11 @@ index ac90ca802..9e798038b 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 4aba5716c..d84bb0e40 100644
index 738ac8570..14a61f68e 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -153,7 +153,7 @@ public abstract class EntityHuman extends EntityLiving {
this.df();
this.dg();
super.tick();
if (!this.world.isClientSide && this.activeContainer != null && !this.activeContainer.canUse(this)) {
- this.closeInventory();
@ -56,7 +56,7 @@ index 4aba5716c..d84bb0e40 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 5db6e0764..99c638857 100644
index 7059fc118..0c01f8daf 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -343,7 +343,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -110,7 +110,7 @@ index 5db6e0764..99c638857 100644
this.m();
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 067f7b990..97b315bca 100644
index 42bb86d31..2860df860 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2038,7 +2038,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@ -123,7 +123,7 @@ index 067f7b990..97b315bca 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 879780c5b..907f0232b 100644
index 45e42e998..7a2b219c6 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -422,7 +422,7 @@ public abstract class PlayerList {
@ -155,7 +155,7 @@ index 4b9ecb4a6..b602a5d1b 100644
public boolean isBlocking() {
return getHandle().isBlocking();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 60bc6d331..b25980027 100644
index ab9956fa2..0f3e1d5ae 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -687,7 +687,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@ -1,14 +1,14 @@
From 1b2b2a7ce9672bd95eb9708047a5761eb9b64b80 Mon Sep 17 00:00:00 2001
From 4f6298ddaea7e4a4437ea321033433a16d8cf8fd Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Tue, 17 Jul 2018 16:42:17 +0200
Subject: [PATCH] Use asynchronous Log4j 2 loggers
diff --git a/pom.xml b/pom.xml
index a034c87d6..efa52f356 100644
index a319cfe3b..ddee1b048 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,6 +103,14 @@
@@ -102,6 +102,14 @@
<version>2.8.1</version>
</dependency>

@ -1 +1 @@
Subproject commit a5effc614208d06202688a775f25d7b820b36d47
Subproject commit 351106b6336fc52f6acf94aabd34ac54fc772432

@ -1 +1 @@
Subproject commit 2ba30dddd4acb3bd789b4e487ed0647984576e8c
Subproject commit 7f2225966203a65e7d2c32d686121360489375f3

@ -1 +1 @@
Subproject commit 961295e4327324766a0404857c1ca85051971995
Subproject commit 4e2f57133714acc3f84bec56d8ebcbcfc0228326

@ -1 +1 @@
Subproject commit 3fa6cc486bf213165cc95cc3809162036cf9bf78
Subproject commit ed1cec9ae9ee07f1b51bdda14dfe14b40e92c9ed