Patches 100-260 (#2729)

This commit is contained in:
MiniDigger 2019-12-12 00:43:22 +01:00 committed by Zach
parent f2ed239ead
commit b00d871009
161 changed files with 1054 additions and 1053 deletions

View File

@ -1,4 +1,4 @@
From 35f24483bdf3ab1260b36b66e51f4836bb0c33a0 Mon Sep 17 00:00:00 2001
From acc3c97129aadff8f9139c652a9da0e165979f8b 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
@ -11,7 +11,7 @@ This feature is good for long term worlds so that newer players
do not suffer with "Every chest has been looted"
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index bea878970..934097163 100644
index d00e8155d..277f7618e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -265,4 +265,26 @@ public class PaperWorldConfig {
@ -520,19 +520,19 @@ index 000000000..d50410532
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 36bfee227..4793bc7d8 100644
index 167d22574..2e56c7f57 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -72,6 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
}
@@ -73,6 +73,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
};
// Paper end
+ public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper
private CraftEntity bukkitEntity;
public CraftEntity getBukkitEntity() {
diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
index 676d67dc3..8e6e7ed60 100644
index 72d0c53cd..fd8e8ae20 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
@@ -15,10 +15,11 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
@ -591,7 +591,7 @@ index 676d67dc3..8e6e7ed60 100644
if (entityhuman != null) {
diff --git a/src/main/java/net/minecraft/server/TileEntityLootable.java b/src/main/java/net/minecraft/server/TileEntityLootable.java
index 56c7f9b4e..a12d49fc4 100644
index 8f776e0df..04a6511ff 100644
--- a/src/main/java/net/minecraft/server/TileEntityLootable.java
+++ b/src/main/java/net/minecraft/server/TileEntityLootable.java
@@ -6,8 +6,9 @@ import javax.annotation.Nullable;
@ -756,5 +756,5 @@ index 334bd5bb3..f5b31237f 100644
public CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) {
--
2.23.0
2.17.1

View File

@ -1,11 +1,11 @@
From 67287a0553617ecd063e0328812389e8741a5ca4 Mon Sep 17 00:00:00 2001
From c4233c4dd155a34c72f37ecdc80a2cebdd537d8e 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
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index dc3438890..cbfe12734 100644
index e4f0db64c..67f35fe66 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -228,4 +228,9 @@ public class PaperConfig {
@ -19,7 +19,7 @@ index dc3438890..cbfe12734 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PersistentScoreboard.java b/src/main/java/net/minecraft/server/PersistentScoreboard.java
index fab5962e2..de7ac6c20 100644
index 1eab0c310..6bf66972f 100644
--- a/src/main/java/net/minecraft/server/PersistentScoreboard.java
+++ b/src/main/java/net/minecraft/server/PersistentScoreboard.java
@@ -174,6 +174,7 @@ public class PersistentScoreboard extends PersistentBase {
@ -31,5 +31,5 @@ index fab5962e2..de7ac6c20 100644
nbttagcompound.setString("Name", scoreboardteam.getName());
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 9708222bc4a17ecae0b74e1e953f16e0d4497d67 Mon Sep 17 00:00:00 2001
From 9c7277dfab9dcd62aa8a511cc200a97a058f8334 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 12 May 2016 23:02:58 -0500
Subject: [PATCH] System property for disabling watchdoge
@ -18,5 +18,5 @@ index 56f5f54bd..9532aada8 100644
Logger log = Bukkit.getServer().getLogger();
log.log( Level.SEVERE, "------------------------------" );
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 87f6d99f3b919bc730e3f98ec6243fafa015479d Mon Sep 17 00:00:00 2001
From 025d5128eaa1e73d661b4545dc3e44ed1b49414c 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 17b9e9a31d..6a2933f4ff 100644
index 2a40bb0b8..38bf3ea44 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -751,7 +751,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -759,7 +759,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Spigot start
if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
LOGGER.info("Saving usercache.json");
@ -23,7 +23,7 @@ index 17b9e9a31d..6a2933f4ff 100644
// Spigot end
}
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
index 57d053e9ff..ea02567554 100644
index 65659996c..566f3db39 100644
--- a/src/main/java/net/minecraft/server/UserCache.java
+++ b/src/main/java/net/minecraft/server/UserCache.java
@@ -43,8 +43,8 @@ public class UserCache {
@ -72,7 +72,7 @@ index 57d053e9ff..ea02567554 100644
+ @Nullable public GameProfile getProfile(UUID uuid) { return a(uuid); } // Paper - OBFHELPER
@Nullable
public GameProfile a(UUID uuid) {
public GameProfile getProfile(UUID uuid) {
UserCache.UserCacheEntry usercache_usercacheentry = (UserCache.UserCacheEntry) this.e.get(uuid);
@@ -220,8 +222,15 @@ public class UserCache {
@ -106,5 +106,5 @@ index 57d053e9ff..ea02567554 100644
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From e31be59b829cb42dc3f9ea5f6143275dcd8ed1e2 Mon Sep 17 00:00:00 2001
From 97be5e03e39b4a76d767df3c495281b54362952b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 16 May 2016 23:19:16 -0400
Subject: [PATCH] Avoid blocking on Network Manager creation
@ -6,18 +6,18 @@ Subject: [PATCH] Avoid blocking on Network Manager creation
Per Paper issue 294
diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java
index 7de96ae69d..379c79272b 100644
index bd5563577..e6fac155d 100644
--- a/src/main/java/net/minecraft/server/ServerConnection.java
+++ b/src/main/java/net/minecraft/server/ServerConnection.java
@@ -39,6 +39,15 @@ public class ServerConnection {
public volatile boolean c;
private final List<ChannelFuture> f = Collections.synchronizedList(Lists.newArrayList());
private final List<NetworkManager> g = Collections.synchronizedList(Lists.newArrayList());
private final List<NetworkManager> listeningChannels = Collections.synchronizedList(Lists.newArrayList());
+ // Paper start - prevent blocking on adding a new network manager while the server is ticking
+ private final List<NetworkManager> pending = Collections.synchronizedList(Lists.<NetworkManager>newArrayList());
+ private void addPending() {
+ synchronized (pending) {
+ this.g.addAll(pending); // Paper - OBFHELPER - List of network managers
+ this.listeningChannels.addAll(pending);
+ pending.clear();
+ }
+ }
@ -29,19 +29,19 @@ index 7de96ae69d..379c79272b 100644
channel.pipeline().addLast("timeout", new ReadTimeoutHandler(30)).addLast("legacy_query", new LegacyPingHandler(ServerConnection.this)).addLast("splitter", new PacketSplitter()).addLast("decoder", new PacketDecoder(EnumProtocolDirection.SERVERBOUND)).addLast("prepender", new PacketPrepender()).addLast("encoder", new PacketEncoder(EnumProtocolDirection.CLIENTBOUND));
NetworkManager networkmanager = new NetworkManager(EnumProtocolDirection.SERVERBOUND);
- ServerConnection.this.g.add(networkmanager);
- ServerConnection.this.listeningChannels.add(networkmanager);
+ pending.add(networkmanager); // Paper
channel.pipeline().addLast("packet_handler", networkmanager);
networkmanager.setPacketListener(new HandshakeListener(ServerConnection.this.e, networkmanager));
}
@@ -112,6 +121,7 @@ public class ServerConnection {
synchronized (this.g) {
synchronized (this.listeningChannels) {
// Spigot Start
+ addPending(); // Paper
// This prevents players from 'gaming' the server, and strategically relogging to increase their position in the tick order
if ( org.spigotmc.SpigotConfig.playerShuffle > 0 && MinecraftServer.currentTick % org.spigotmc.SpigotConfig.playerShuffle == 0 )
{
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From c6fac8147b0b1b3a1019625eb4e2ffaa05f22c3c Mon Sep 17 00:00:00 2001
From 446ab7ff2aba9834e4775dd86f62429fac2ef20d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 22 May 2016 20:20:55 -0500
Subject: [PATCH] Optional TNT doesn't move in water
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 934097163..300cc68a7 100644
index 277f7618e..1dbeb209e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -2,7 +2,6 @@ package com.destroystokyo.paper;
@ -32,13 +32,13 @@ index 934097163..300cc68a7 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 4793bc7d8..0981e9c8c 100644
index 2e56c7f57..e04b3f4e2 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2698,6 +2698,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2705,6 +2705,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
public boolean bE() {
public boolean bM() {
+ // Paper start
+ return this.pushedByWater();
+ }
@ -49,12 +49,12 @@ index 4793bc7d8..0981e9c8c 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
index f2ee53ab9..dc0d944ea 100644
index 7625dca00..75193e87d 100644
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
@@ -80,7 +80,27 @@ public class EntityTNTPrimed extends Entity {
this.ay();
this.world.addParticle(Particles.SMOKE, this.locX, this.locY + 0.5D, this.locZ, 0.0D, 0.0D, 0.0D);
@@ -79,7 +79,27 @@ public class EntityTNTPrimed extends Entity {
this.world.addParticle(Particles.SMOKE, this.locX(), this.locY() + 0.5D, this.locZ(), 0.0D, 0.0D, 0.0D);
}
}
-
+ // Paper start - Optional prevent TNT from moving in water
@ -81,8 +81,8 @@ index f2ee53ab9..dc0d944ea 100644
}
private void explode() {
@@ -149,4 +169,11 @@ public class EntityTNTPrimed extends Entity {
public Packet<?> N() {
@@ -148,4 +168,11 @@ public class EntityTNTPrimed extends Entity {
public Packet<?> L() {
return new PacketPlayOutSpawnEntity(this);
}
+
@ -94,7 +94,7 @@ index f2ee53ab9..dc0d944ea 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index f04a9d18c..cd7e0299a 100644
index a13fd9b34..3ff7a7b4a 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -36,7 +36,7 @@ public class EntityTrackerEntry {
@ -107,5 +107,5 @@ index f04a9d18c..cd7e0299a 100644
private java.util.Map<EntityPlayer, Boolean> trackedPlayerMap = null;
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 3d14572f7a9ba30b0eae0daf0a239b60e3ebc457 Mon Sep 17 00:00:00 2001
From d20759aaff7ab4cb1819c6677dc52aa2871cffa1 Mon Sep 17 00:00:00 2001
From: Martin Panzer <postremus1996@googlemail.com>
Date: Mon, 23 May 2016 12:12:37 +0200
Subject: [PATCH] Faster redstone torch rapid clock removal
@ -6,7 +6,7 @@ Subject: [PATCH] Faster redstone torch rapid clock removal
Only resize the the redstone torch list once, since resizing arrays / lists is costly
diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
index a99f979ef..919ba8a14 100644
index 98a255ae5..4c3062ece 100644
--- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
+++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
@@ -11,7 +11,7 @@ import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit
@ -77,10 +77,10 @@ index a99f979ef..919ba8a14 100644
public RedstoneUpdateInfo(BlockPosition blockposition, long i) {
this.a = blockposition;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index f396ca691..4ce18f85b 100644
index 7d5f6e220..312e32f1b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -99,6 +99,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -98,6 +98,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
private org.spigotmc.TickLimiter tileLimiter;
private int tileTickPosition;
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
@ -89,5 +89,5 @@ index f396ca691..4ce18f85b 100644
public CraftWorld getWorld() {
return this.world;
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 5ea1c896146e882a1c8debaf9578405d40cf1ed1 Mon Sep 17 00:00:00 2001
From 8a1aad77aff1c228dc3c0b3b00ce5f0f6ffde89d 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 484f1995a..ad1da9ddd 100644
index 2481c1860..4a4e56e76 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -136,6 +136,14 @@ public class Main {
@ -24,5 +24,5 @@ index 484f1995a..ad1da9ddd 100644
};
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 7ef1b66691b9ff7a782e4903c8e5f6b31bba08bb Mon Sep 17 00:00:00 2001
From aef341f706c37a285e09e421050f6e029eb47d6c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 31 May 2016 22:53:50 -0400
Subject: [PATCH] Only send Dragon/Wither Death sounds to same world
@ -6,11 +6,11 @@ Subject: [PATCH] Only send Dragon/Wither Death sounds to same world
Also fix view distance lookup
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index 9ecbc8e3e..0421052d2 100644
index e11ccdbd8..e0d240a89 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -563,8 +563,11 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
if (this.bL == 1) {
@@ -572,8 +572,11 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
if (this.bA == 1) {
// CraftBukkit start - Use relative location for far away sounds
// this.world.b(1028, new BlockPosition(this), 0);
- int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16;
@ -20,11 +20,11 @@ index 9ecbc8e3e..0421052d2 100644
+ for (EntityPlayer player : ((WorldServer)world).getPlayers()) {
+ final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch
+ // Paper end
double deltaX = this.locX - player.locX;
double deltaZ = this.locZ - player.locZ;
double deltaX = this.locX() - player.locX();
double deltaZ = this.locZ() - player.locZ();
double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java
index 92acd504a..ee1b0a884 100644
index 2edf466ee..2e95069c1 100644
--- a/src/main/java/net/minecraft/server/EntityWither.java
+++ b/src/main/java/net/minecraft/server/EntityWither.java
@@ -207,8 +207,11 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
@ -38,9 +38,9 @@ index 92acd504a..ee1b0a884 100644
+ for (EntityPlayer player : ((WorldServer)world).getPlayers()) {
+ final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch
+ // Paper end
double deltaX = this.locX - player.locX;
double deltaZ = this.locZ - player.locZ;
double deltaX = this.locX() - player.locX();
double deltaZ = this.locZ() - player.locZ();
double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 55251a666bc4d1120c00d23ad77ee7caf7d757ed Mon Sep 17 00:00:00 2001
From db10dbff71b014658808050b7f633e3e63505bd1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 21 Jun 2016 22:54:34 -0400
Subject: [PATCH] Fix Double World Add issues
@ -8,10 +8,10 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added.
Also add debug if something else tries to, and abort before world gets bad state
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index d50e804102..71130dd2e4 100644
index ea9899889..f606a7340 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -975,6 +975,7 @@ public class WorldServer extends World {
@@ -983,6 +983,7 @@ public class WorldServer extends World {
// CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
@ -20,5 +20,5 @@ index d50e804102..71130dd2e4 100644
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit
return false;
--
2.22.1
2.17.1

View File

@ -1,4 +1,4 @@
From 599276513a14e0ed0db9767795ca02f258ab5fdf Mon Sep 17 00:00:00 2001
From abef8b250ac2af6f388497dc00abd5fbb8fc7c70 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 17 Jun 2016 20:50:11 -0400
Subject: [PATCH] Fix Old Sign Conversion
@ -9,7 +9,7 @@ Subject: [PATCH] Fix Old Sign Conversion
This causes Igloos and such to render broken signs. We fix this by ignoring sign conversion for Defined Structures
diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java
index 7bcd9786a..775ec6389 100644
index dad966825..8c411ff07 100644
--- a/src/main/java/net/minecraft/server/DefinedStructure.java
+++ b/src/main/java/net/minecraft/server/DefinedStructure.java
@@ -203,9 +203,11 @@ public class DefinedStructure {
@ -25,7 +25,7 @@ index 7bcd9786a..775ec6389 100644
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index e1db24316..af6977dcd 100644
index e2f3cec74..630b27915 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -20,6 +20,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
@ -33,14 +33,14 @@ index e1db24316..af6977dcd 100644
// CraftBukkit end
private static final Logger LOGGER = LogManager.getLogger();
+ boolean isLoadingStructure = false; // Paper
private final TileEntityTypes<?> b; public TileEntityTypes getTileEntityType() { return b; } // Paper - OBFHELPER
private final TileEntityTypes<?> tileType; public TileEntityTypes getTileEntityType() { return tileType; } // Paper - OBFHELPER
@Nullable
protected World world;
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 914f4e6da..ddf8f4659 100644
index 4a48c09e9..03f6ddf00 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -58,13 +58,14 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
@@ -55,13 +55,14 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
}
try {
@ -58,5 +58,5 @@ index 914f4e6da..ddf8f4659 100644
if (this.world instanceof WorldServer) {
try {
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From bb8c40312cc74d634ee982f9df515eb7b072f4dc Mon Sep 17 00:00:00 2001
From 09d2c6aeec8d9ec23c454e41eff56df692cdf858 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 16 Jul 2016 19:11:17 -0500
Subject: [PATCH] Don't lookup game profiles that have no UUID and no name
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
index ea0256755..b0d883d49 100644
index 566f3db39..e8143eff4 100644
--- a/src/main/java/net/minecraft/server/UserCache.java
+++ b/src/main/java/net/minecraft/server/UserCache.java
@@ -86,7 +86,7 @@ public class UserCache {
@ -18,5 +18,5 @@ index ea0256755..b0d883d49 100644
GameProfile gameprofile = new GameProfile(uuid, s);
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From 3c1bfaec22e1743156d4806b5e56b666a63294e9 Mon Sep 17 00:00:00 2001
From ae8e72862897e15a4aeb4e6acbe938df9cb5ee6e Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 28 Jul 2016 17:58:53 -0500
Subject: [PATCH] More informative vehicle moved wrongly message
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 046bcb27e3..39662f1462 100644
index 8f182fcc8..53d201c59 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -362,7 +362,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -365,7 +365,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot
flag1 = true;
@ -18,5 +18,5 @@ index 046bcb27e3..39662f1462 100644
Location curPos = this.getPlayer().getLocation(); // Spigot
--
2.22.0
2.17.1

View File

@ -1,16 +1,16 @@
From 7fc9411e0c2d870ae25a7e0c3da3ea22ddb5d24d Mon Sep 17 00:00:00 2001
From 8071a5ef7c8dcdde949b15fef8891a6ec1fbf14e Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 31 Jul 2016 16:33:03 -0500
Subject: [PATCH] Re-track players that dismount from other players
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 9dfa92f88..940663bd3 100644
index 6595dca86..a9827322c 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -980,6 +980,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
if (entity1 != entity && this.playerConnection != null) {
this.playerConnection.a(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
@@ -979,6 +979,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
if (!this.isSpectator()) {
super.b(blockposition);
}
+ // Paper start - "Fixes" an issue in which the vehicle player would not be notified that the passenger dismounted
+ if (entity instanceof EntityPlayer) {
@ -24,5 +24,5 @@ index 9dfa92f88..940663bd3 100644
}
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 8076467ee1a1540dbc421f8aa8f049cb4e36fbac Mon Sep 17 00:00:00 2001
From 26c83d73e35ac4a256132b67ea1b142006b7b89a 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
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index cbfe12734d..1daa2e4535 100644
index 67f35fe66..53f96a157 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -22,6 +22,7 @@ import org.bukkit.configuration.InvalidConfigurationException;
@ -31,7 +31,7 @@ index cbfe12734d..1daa2e4535 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
index 21a8ed3231..0794aff5b7 100644
index 1422503e1..d3c2e1bed 100644
--- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
+++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
@@ -58,7 +58,8 @@ public class NameReferencingFileConverter {
@ -45,10 +45,10 @@ index 21a8ed3231..0794aff5b7 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 6f6b0bea39..893d3e5c4c 100644
index 09c62261a..08019fc94 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1358,7 +1358,8 @@ public final class CraftServer implements Server {
@@ -1361,7 +1361,8 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode
@ -59,5 +59,5 @@ index 6f6b0bea39..893d3e5c4c 100644
profile = console.getUserCache().getProfile( name );
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 8b1b9b76920b2208bf6b134392699f93f12812d8 Mon Sep 17 00:00:00 2001
From ea817a1e785ca6f37864a8d6f05700b020fd05aa Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <alfeh@me.com>
Date: Fri, 19 Aug 2016 01:52:56 +0100
Subject: [PATCH] Optimise BlockState's hashCode/equals
@ -9,7 +9,7 @@ object identity checks safely.
Use a simpler optimized hashcode
diff --git a/src/main/java/net/minecraft/server/BlockState.java b/src/main/java/net/minecraft/server/BlockState.java
index 77b25317a..be7e10d85 100644
index 0ce77d923..00e67b567 100644
--- a/src/main/java/net/minecraft/server/BlockState.java
+++ b/src/main/java/net/minecraft/server/BlockState.java
@@ -28,23 +28,13 @@ public abstract class BlockState<T extends Comparable<T>> implements IBlockState
@ -41,7 +41,7 @@ index 77b25317a..be7e10d85 100644
public int c() {
diff --git a/src/main/java/net/minecraft/server/BlockStateBoolean.java b/src/main/java/net/minecraft/server/BlockStateBoolean.java
index 31cb8ac84..3f085c7d6 100644
index d8738447d..7ca302b52 100644
--- a/src/main/java/net/minecraft/server/BlockStateBoolean.java
+++ b/src/main/java/net/minecraft/server/BlockStateBoolean.java
@@ -30,8 +30,7 @@ public class BlockStateBoolean extends BlockState<Boolean> {
@ -55,7 +55,7 @@ index 31cb8ac84..3f085c7d6 100644
return true;
} else if (object instanceof BlockStateBoolean && super.equals(object)) {
diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java
index 59d86fc66..82a1fac6f 100644
index 1486d460c..7cdadc6b6 100644
--- a/src/main/java/net/minecraft/server/BlockStateEnum.java
+++ b/src/main/java/net/minecraft/server/BlockStateEnum.java
@@ -49,8 +49,7 @@ public class BlockStateEnum<T extends Enum<T> & INamable> extends BlockState<T>
@ -69,7 +69,7 @@ index 59d86fc66..82a1fac6f 100644
return true;
} else if (object instanceof BlockStateEnum && super.equals(object)) {
diff --git a/src/main/java/net/minecraft/server/BlockStateInteger.java b/src/main/java/net/minecraft/server/BlockStateInteger.java
index 6861c2b05..74ef69952 100644
index 6f35c365f..0499a7170 100644
--- a/src/main/java/net/minecraft/server/BlockStateInteger.java
+++ b/src/main/java/net/minecraft/server/BlockStateInteger.java
@@ -38,8 +38,7 @@ public class BlockStateInteger extends BlockState<Integer> {
@ -83,5 +83,5 @@ index 6861c2b05..74ef69952 100644
return true;
} else if (object instanceof BlockStateInteger && super.equals(object)) {
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From c948e40ab09a0873d5df1d64a05b26cb7e56bf93 Mon Sep 17 00:00:00 2001
From d2a96b33351af347c2a04ff69900bb0a12cac3a3 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 11 Sep 2016 14:30:57 -0500
Subject: [PATCH] Configurable packet in spam threshold
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 1daa2e4535..5d0645c829 100644
index 53f96a157..010b17d2e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -243,4 +243,13 @@ public class PaperConfig {
@ -23,10 +23,10 @@ index 1daa2e4535..5d0645c829 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 39662f1462..586d40a471 100644
index 53d201c59..77cfec712 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1191,13 +1191,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -1203,13 +1203,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
// Spigot start - limit place/interactions
private int limitedPackets;
private long lastLimitedPacket = -1;
@ -44,5 +44,5 @@ index 39662f1462..586d40a471 100644
limitedPackets = 0;
return true;
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 680b0199706bd0c2dd2fe8d1049639b3ab4597ed Mon Sep 17 00:00:00 2001
From 7248ca8d9378b2bc237f55b06d86c4b12ec3ce4a Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Tue, 20 Sep 2016 00:58:01 +0000
Subject: [PATCH] Configurable flying kick messages
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 5d0645c82..b5a50afd2 100644
index 010b17d2e..5a83fc21c 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -252,4 +252,11 @@ public class PaperConfig {
@ -21,10 +21,10 @@ index 5d0645c82..b5a50afd2 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index cfd34f516..bf09c3939 100644
index 77cfec712..16b70221e 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -144,7 +144,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -147,7 +147,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
if (this.B) {
if (++this.C > 80) {
PlayerConnection.LOGGER.warn("{} was kicked for floating too long!", this.player.getDisplayName().getString());
@ -33,7 +33,7 @@ index cfd34f516..bf09c3939 100644
return;
}
} else {
@@ -163,7 +163,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -166,7 +166,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
if (this.D && this.player.getRootVehicle().getRidingPassenger() == this.player) {
if (++this.E > 80) {
PlayerConnection.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getDisplayName().getString());
@ -43,5 +43,5 @@ index cfd34f516..bf09c3939 100644
}
} else {
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 63e3abede167a6ad15b8d1038272539970038de2 Mon Sep 17 00:00:00 2001
From c7c90ed5c44caa05b2d5c6ac1187a0598236b011 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,18 +8,18 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr
Keep them consistent
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 71130dd2e4..491c9c9170 100644
index f606a7340..38e618c78 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -664,7 +664,7 @@ public class WorldServer extends World {
@@ -682,7 +682,7 @@ public class WorldServer extends World {
public void chunkCheck(Entity entity) {
this.getMethodProfiler().enter("chunkCheck");
int i = MathHelper.floor(entity.locX / 16.0D);
- int j = MathHelper.floor(entity.locY / 16.0D);
+ int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior
int k = MathHelper.floor(entity.locZ / 16.0D);
int i = MathHelper.floor(entity.locX() / 16.0D);
- int j = MathHelper.floor(entity.locY() / 16.0D);
+ int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY() / 16.0D))); // Paper - stay consistent with chunk add/remove behavior;
int k = MathHelper.floor(entity.locZ() / 16.0D);
if (!entity.inChunk || entity.chunkX != i || entity.chunkY != j || entity.chunkZ != k) {
--
2.22.1
2.17.1

View File

@ -1,11 +1,11 @@
From e80bcc2cdb86f9d14f7fbab055861b4429e26236 Mon Sep 17 00:00:00 2001
From 5d8c462a578281978caa06c6224ed118f19736ed Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 16 Jun 2016 00:17:23 -0400
Subject: [PATCH] Remove FishingHook reference on Craft Entity removal
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
index 1ed9a4e32..9eb980137 100644
index cd04a2b99..174b9f543 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
@@ -66,4 +66,15 @@ public class CraftFishHook extends AbstractProjectile implements FishHook {
@ -25,5 +25,5 @@ index 1ed9a4e32..9eb980137 100644
+
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From cdf2b5d7860c49e030f00eb18980fee17cc69726 Mon Sep 17 00:00:00 2001
From 33e34cbc44e672162a56cbb8daae4bf5028d5d59 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 21 Sep 2016 23:48:39 -0400
Subject: [PATCH] Auto fix bad Y levels on player login
@ -6,7 +6,7 @@ Subject: [PATCH] Auto fix bad Y levels on player login
Bring down to a saner Y level if super high, as this can cause the server to crash
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 2d29e9d86..7b0c89ce7 100644
index a9827322c..3e958eaf8 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -193,6 +193,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@ -18,5 +18,5 @@ index 2d29e9d86..7b0c89ce7 100644
if (this.getMinecraftServer().getForceGamemode()) {
this.playerInteractManager.setGameMode(this.getMinecraftServer().getGamemode());
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 24ca14338a4d1ce533cc3d4d70841719e5e56200 Mon Sep 17 00:00:00 2001
From a85d7e8d80aed8641a9b3be4b0133fd7eeba958b Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 5 Oct 2016 16:27:36 -0500
Subject: [PATCH] Option to remove corrupt tile entities
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 300cc68a7..83d430ee5 100644
index 1dbeb209e..fd1be52f3 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -296,4 +296,9 @@ public class PaperWorldConfig {
@ -19,10 +19,10 @@ index 300cc68a7..83d430ee5 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 85e17253d..1da80e244 100644
index 034e8684d..1efddb533 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -533,6 +533,12 @@ public class Chunk implements IChunkAccess {
@@ -526,6 +526,12 @@ public class Chunk implements IChunkAccess {
"Chunk coordinates: " + (this.loc.x * 16) + "," + (this.loc.z * 16));
e.printStackTrace();
ServerInternalException.reportInternalException(e);
@ -36,5 +36,5 @@ index 85e17253d..1da80e244 100644
// CraftBukkit end
}
--
2.23.0
2.17.1

View File

@ -1,14 +1,14 @@
From cab0f672ad4486733d5c31352b443b59ad4572ab Mon Sep 17 00:00:00 2001
From d7df64d30bc7aabaa32fb4a6c58c89b21f33eee7 Mon Sep 17 00:00:00 2001
From: AlphaBlend <whizkid3000@hotmail.com>
Date: Sun, 16 Oct 2016 23:19:30 -0700
Subject: [PATCH] Add EntityZapEvent
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
index ee5bfd6f0c..7136e274af 100644
index 5c24e22c7..8d277566e 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java
@@ -167,6 +167,12 @@ public class EntityPig extends EntityAnimal {
@@ -164,6 +164,12 @@ public class EntityPig extends EntityAnimal {
entitypigzombie.setCustomNameVisible(this.getCustomNameVisible());
}
@ -22,10 +22,10 @@ index ee5bfd6f0c..7136e274af 100644
if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) {
return;
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 89065deb4f..dcd02930d9 100644
index 27afee2e3..00300c6aa 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -693,6 +693,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -678,6 +678,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
public void onLightningStrike(EntityLightning entitylightning) {
EntityWitch entitywitch = (EntityWitch) EntityTypes.WITCH.a(this.world);
@ -35,11 +35,11 @@ index 89065deb4f..dcd02930d9 100644
+ }
+ // Paper end
+
entitywitch.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
entitywitch.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
entitywitch.prepare(this.world, this.world.getDamageScaler(new BlockPosition(entitywitch)), EnumMobSpawn.CONVERSION, (GroupDataEntity) null, (NBTTagCompound) null);
entitywitch.setNoAI(this.isNoAI());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 7936180b47..9af320a562 100644
index de26145ee..ba14f66f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1040,6 +1040,14 @@ public class CraftEventFactory {
@ -58,5 +58,5 @@ index 7936180b47..9af320a562 100644
HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power);
horse.getBukkitEntity().getServer().getPluginManager().callEvent(event);
--
2.23.0
2.17.1

View File

@ -1,11 +1,11 @@
From e385888483f36d5a346d3d59d1b3a89f532b042f Mon Sep 17 00:00:00 2001
From 62498f0d28b7d705658e1d9b2c1d765d6e78fba8 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 12 Nov 2016 23:25:22 -0600
Subject: [PATCH] Filter bad data from ArmorStand and SpawnEgg items
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 83d430ee5..5d7d6fa36 100644
index fd1be52f3..ba8edcf7e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -2,6 +2,7 @@ package com.destroystokyo.paper;
@ -30,10 +30,10 @@ index 83d430ee5..5d7d6fa36 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index 0f9fa4113..0a6d2b9b3 100644
index 55d1b3529..2e908c749 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -233,6 +233,15 @@ public class EntityFallingBlock extends Entity {
@@ -231,6 +231,15 @@ public class EntityFallingBlock extends Entity {
@Override
protected void a(NBTTagCompound nbttagcompound) {
this.block = GameProfileSerializer.d(nbttagcompound.getCompound("BlockState"));
@ -50,5 +50,5 @@ index 0f9fa4113..0a6d2b9b3 100644
if (nbttagcompound.hasKeyOfType("HurtEntities", 99)) {
this.hurtEntities = nbttagcompound.getBoolean("HurtEntities");
--
2.23.0
2.17.1

View File

@ -1,11 +1,11 @@
From fcd2c72a3b622328ce01a7e9591fd2b024ecee6f Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <alfeh@me.com>
Date: Fri, 25 Nov 2016 13:22:40 +0000
Subject: [PATCH] Optimise removeQueue
From aa46a8f287929842c58b58a76698f21363033112 Mon Sep 17 00:00:00 2001
From: vemacs <d@nkmem.es>
Date: Wed, 23 Nov 2016 08:31:45 -0500
Subject: [PATCH] Cache user authenticator threads
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 8ba828a03..170f741d4 100644
index 3e958eaf8..bf74db31e 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -4,7 +4,9 @@ import com.google.common.collect.Lists;
@ -50,7 +50,7 @@ index 8ba828a03..170f741d4 100644
this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(aint));
}
@@ -1330,7 +1339,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1299,7 +1308,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.lastHealthSent = -1.0F;
this.lastFoodSent = -1;
// this.recipeBook.a((RecipeBook) entityplayer.recipeBook); // CraftBukkit
@ -63,9 +63,9 @@ index 8ba828a03..170f741d4 100644
+ this.removeQueue.addAll(entityplayer.removeQueue);
+ }
+ // Paper end
this.cp = entityplayer.cp;
this.cu = entityplayer.cu;
this.cm = entityplayer.cm;
this.cr = entityplayer.cr;
this.setShoulderEntityLeft(entityplayer.getShoulderEntityLeft());
--
2.23.0
2.17.1

View File

@ -1,11 +1,11 @@
From 0b49c3de819289a7beb6bebc8cf16c245c7b3bcc Mon Sep 17 00:00:00 2001
From: vemacs <d@nkmem.es>
Date: Wed, 23 Nov 2016 08:31:45 -0500
Subject: [PATCH] Cache user authenticator threads
From 3191d5030755745de632e7c0bd730420854ab721 Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <alfeh@me.com>
Date: Fri, 25 Nov 2016 13:22:40 +0000
Subject: [PATCH] Optimise removeQueue
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index 3db306655d..49df63d6de 100644
index 2480bc64b..3683fa298 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -97,6 +97,12 @@ public class LoginListener implements PacketLoginInListener {
@ -54,7 +54,7 @@ index 3db306655d..49df63d6de 100644
@@ -251,10 +259,8 @@ public class LoginListener implements PacketLoginInListener {
return LoginListener.this.server.U() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null;
return LoginListener.this.server.X() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null;
}
- };
-
@ -66,5 +66,5 @@ index 3db306655d..49df63d6de 100644
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 194c189b347a96b95a782873d42e50a6fd2c4f49 Mon Sep 17 00:00:00 2001
From 5d6cdd4b74075ea7c458c940fef53f190a094039 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 893d3e5c4c..ca6158dc73 100644
index 08019fc94..811c33b90 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2077,5 +2077,24 @@ public final class CraftServer implements Server {
@@ -2080,5 +2080,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}
@ -35,5 +35,5 @@ index 893d3e5c4c..ca6158dc73 100644
// Paper end
}
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 144c47833db03fc0dc276696b61a9cecb506785f Mon Sep 17 00:00:00 2001
From 777724ba4ea181c7f4d8297a1ce33d17a59c6d36 Mon Sep 17 00:00:00 2001
From: AlphaBlend <whizkid3000@hotmail.com>
Date: Thu, 8 Sep 2016 08:48:33 -0700
Subject: [PATCH] Add source to PlayerExpChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index 332dc0e53a..eec6de9ad7 100644
index f72bb0c13..0447800d9 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -193,7 +193,7 @@ public class EntityExperienceOrb extends Entity {
@ -18,7 +18,7 @@ index 332dc0e53a..eec6de9ad7 100644
this.die();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 9af320a562..30492170b5 100644
index ba14f66f7..3c52b40a3 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -111,6 +111,7 @@ import org.bukkit.entity.ThrownPotion;
@ -48,5 +48,5 @@ index 9af320a562..30492170b5 100644
return handleBlockGrowEvent(world, pos, block, 3);
}
--
2.23.0
2.17.1

View File

@ -1,30 +1,30 @@
From 700d379ba7196379a92553b35172a62cdeb80fa7 Mon Sep 17 00:00:00 2001
From 2dfb3d9a41f295d3dccb9165aa9c8c7ce86d3af6 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Fri, 16 Dec 2016 16:03:19 -0600
Subject: [PATCH] Don't let fishinghooks use portals
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 2a65a6685..187fea130 100644
index e04b3f4e2..63d44401a 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -156,7 +156,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public boolean af;
@@ -161,7 +161,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public boolean ac;
public boolean impulse;
public int portalCooldown;
- protected boolean ai;
+ protected boolean ai; public final boolean inPortal() { return this.ai; } // Paper - OBFHELPER
protected int aj;
- protected boolean af;
+ protected boolean af; public final boolean inPortal() { return this.af; } // Paper - OBFHELPER
protected int ag;
public DimensionManager dimension;
protected BlockPosition al;
protected BlockPosition ai;
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index 84e6d660d..74b726937 100644
index b10de807e..7a8b8b0d6 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -163,6 +163,12 @@ public class EntityFishingHook extends Entity {
@@ -160,6 +160,12 @@ public class EntityFishingHook extends Entity {
this.setMot(this.getMot().a(0.92D));
this.setPosition(this.locX, this.locY, this.locZ);
this.Z();
+
+ // Paper start - These shouldn't be going through portals
+ if (this.inPortal()) {
@ -35,5 +35,5 @@ index 84e6d660d..74b726937 100644
}
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From 486d30c530a76c840f613c62d703fae42aa0ff95 Mon Sep 17 00:00:00 2001
From ca1e8bd890fa9400cfd8e757611b8ae929ee7c4e Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
Date: Fri, 16 Dec 2016 21:25:39 -0600
Subject: [PATCH] Add ProjectileCollideEvent
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index 2b829abac6..a9575d310b 100644
index fc70d50ac..0c3664758 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -184,6 +184,17 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@@ -187,6 +187,17 @@ public abstract class EntityArrow extends Entity implements IProjectile {
}
}
@ -27,7 +27,7 @@ index 2b829abac6..a9575d310b 100644
this.a((MovingObjectPosition) object);
this.impulse = true;
diff --git a/src/main/java/net/minecraft/server/EntityFireball.java b/src/main/java/net/minecraft/server/EntityFireball.java
index 1a9fee8da1..14c4394933 100644
index 078cc2523..6756c79b3 100644
--- a/src/main/java/net/minecraft/server/EntityFireball.java
+++ b/src/main/java/net/minecraft/server/EntityFireball.java
@@ -67,7 +67,16 @@ public abstract class EntityFireball extends Entity {
@ -49,10 +49,10 @@ index 1a9fee8da1..14c4394933 100644
// CraftBukkit start - Fire ProjectileHitEvent
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index 390f1a24d0..758559d35d 100644
index 7a8b8b0d6..8ad0d0db1 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -217,7 +217,16 @@ public class EntityFishingHook extends Entity {
@@ -214,7 +214,16 @@ public class EntityFishingHook extends Entity {
return !entity.isSpectator() && (entity.isInteractable() || entity instanceof EntityItem) && (entity != this.owner || this.g >= 5);
}, RayTrace.BlockCollisionOption.COLLIDER, true);
@ -71,11 +71,11 @@ index 390f1a24d0..758559d35d 100644
if (movingobjectposition.getType() == MovingObjectPosition.EnumMovingObjectType.ENTITY) {
this.hooked = ((MovingObjectPositionEntity) movingobjectposition).getEntity();
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
index d1710259ce..5f0cb4c33d 100644
index 2e4c9d426..724b78b5d 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -102,7 +102,16 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
this.as = null;
@@ -99,7 +99,16 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
this.ap = null;
}
- if (movingobjectposition.getType() != MovingObjectPosition.EnumMovingObjectType.MISS) {
@ -93,7 +93,7 @@ index d1710259ce..5f0cb4c33d 100644
this.c(((MovingObjectPositionBlock) movingobjectposition).getBlockPosition());
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 30492170b5..7f38d82a61 100644
index 3c52b40a3..2bf53db88 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1144,6 +1144,16 @@ public class CraftEventFactory {
@ -114,5 +114,5 @@ index 30492170b5..7f38d82a61 100644
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 0c29a08334c31ceac93202ef8cc943e177ea67e5 Mon Sep 17 00:00:00 2001
From b89099d63eb89b7c3abd6fa4e07b99cd6668ab98 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 19 Dec 2016 23:07:42 -0500
Subject: [PATCH] Prevent Pathfinding out of World Border
@ -6,10 +6,10 @@ Subject: [PATCH] Prevent Pathfinding out of World Border
This prevents Entities from trying to run outside of the World Border
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index 126c05adc7..be6aa59749 100644
index 39a0c45bb..bdd092e49 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -115,7 +115,7 @@ public abstract class NavigationAbstract {
@@ -123,7 +123,7 @@ public abstract class NavigationAbstract {
// Paper start - Pathfind event
boolean copiedSet = false;
for (BlockPosition possibleTarget : set) {
@ -19,5 +19,5 @@ index 126c05adc7..be6aa59749 100644
if (!copiedSet) {
copiedSet = true;
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From f1df25df924b5fe017bb7cadcc6b633a7ca8b231 Mon Sep 17 00:00:00 2001
From b6ea5bc92d6f07a2a5aa0cc9fe7f19a8b9f180ee Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 20 Dec 2016 15:15:11 -0500
Subject: [PATCH] Bound Treasure Maps to World Border
@ -11,10 +11,10 @@ that is outside happens to be closer, but unreachable, yet another reachable
one is in border that would of been missed.
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
index 464e1e101..7b2eace75 100644
index 0f248b6de..e8ce2ecf2 100644
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
@@ -103,6 +103,7 @@ public abstract class StructureGenerator<C extends WorldGenFeatureConfiguration>
@@ -108,6 +108,7 @@ public abstract class StructureGenerator<C extends WorldGenFeatureConfiguration>
if (flag1 || flag2) {
ChunkCoordIntPair chunkcoordintpair = this.a(chunkgenerator, seededrandom, j, k, i1, j1);
@ -23,7 +23,7 @@ index 464e1e101..7b2eace75 100644
if (structurestart != null && structurestart.e()) {
diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java
index 1388610a7..890258137 100644
index 4ee13ac45..5f10c4338 100644
--- a/src/main/java/net/minecraft/server/WorldBorder.java
+++ b/src/main/java/net/minecraft/server/WorldBorder.java
@@ -24,6 +24,18 @@ public class WorldBorder {
@ -46,5 +46,5 @@ index 1388610a7..890258137 100644
return (double) chunkcoordintpair.f() > this.c() && (double) chunkcoordintpair.d() < this.e() && (double) chunkcoordintpair.g() > this.d() && (double) chunkcoordintpair.e() < this.f();
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 410b3f9d1345376d03424baec0e783aa30a41649 Mon Sep 17 00:00:00 2001
From 6a2c7cb959467d46b721e83a2f25eef3a9a12cf5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 20 Dec 2016 15:26:27 -0500
Subject: [PATCH] Configurable Cartographer Treasure Maps
@ -9,7 +9,7 @@ Also allow turning off treasure maps all together as they can eat up Map ID's
which are limited in quantity.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 5d7d6fa36..0d2537ab8 100644
index ba8edcf7e..bf11448bc 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -310,4 +310,14 @@ public class PaperWorldConfig {
@ -28,19 +28,19 @@ index 5d7d6fa36..0d2537ab8 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/VillagerTrades.java b/src/main/java/net/minecraft/server/VillagerTrades.java
index 8cee460bd..99374fe2a 100644
index 3bcf0b385..4764ffef7 100644
--- a/src/main/java/net/minecraft/server/VillagerTrades.java
+++ b/src/main/java/net/minecraft/server/VillagerTrades.java
@@ -89,7 +89,8 @@ public class VillagerTrades {
@Override
public MerchantRecipe a(Entity entity, Random random) {
World world = entity.world;
- BlockPosition blockposition = world.a(this.b, new BlockPosition(entity), 100, true);
+ if (!world.paperConfig.enableTreasureMaps) return null; //Paper
+ BlockPosition blockposition = world.a(this.b, new BlockPosition(entity), 100, !world.paperConfig.treasureMapsAlreadyDiscovered); //Paper
@@ -92,7 +92,8 @@ public class VillagerTrades {
return null;
} else {
WorldServer worldserver = (WorldServer) entity.world;
- BlockPosition blockposition = worldserver.a(this.b, new BlockPosition(entity), 100, true);
+ if (!worldserver.paperConfig.enableTreasureMaps) return null; //Paper
+ BlockPosition blockposition = worldserver.a(this.b, new BlockPosition(entity), 100, !worldserver.paperConfig.treasureMapsAlreadyDiscovered); //Paper
if (blockposition != null) {
ItemStack itemstack = ItemWorldMap.createFilledMapView(world, blockposition.getX(), blockposition.getZ(), (byte) 2, true, true);
if (blockposition != null) {
ItemStack itemstack = ItemWorldMap.createFilledMapView(worldserver, blockposition.getX(), blockposition.getZ(), (byte) 2, true, true);
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 679bef409a36a11aecd5edb2bf998581b3f324de Mon Sep 17 00:00:00 2001
From bf58400df5a723d81164dc713ed54293b8ff6dc4 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 21 Dec 2016 03:48:29 -0500
Subject: [PATCH] Optimize ItemStack.isEmpty()
@ -6,10 +6,10 @@ Subject: [PATCH] Optimize ItemStack.isEmpty()
Remove hashMap lookup every check, simplify code to remove ternary
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 5bc078d31..09d0de48e 100644
index 0a1596ff0..2d0a8c58f 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -145,7 +145,7 @@ public final class ItemStack {
@@ -150,7 +150,7 @@ public final class ItemStack {
}
public boolean isEmpty() {
@ -19,5 +19,5 @@ index 5bc078d31..09d0de48e 100644
public ItemStack cloneAndSubtract(int i) {
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From acb6a2a74f23b56bdaa44797acc636ebfec78049 Mon Sep 17 00:00:00 2001
From 5503284388857eb1a7a16fb5d85d84f5c66edf6d 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 2e7d966c2..3e78b152f 100644
index 9d0b85d1c..37ce4d48b 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -43,6 +43,7 @@ public class EntityArmorStand extends EntityLiving {
@ -16,7 +16,7 @@ index 2e7d966c2..3e78b152f 100644
public EntityArmorStand(EntityTypes<? extends EntityArmorStand> entitytypes, World world) {
super(entitytypes, world);
@@ -801,4 +802,13 @@ public class EntityArmorStand extends EntityLiving {
@@ -817,4 +818,13 @@ public class EntityArmorStand extends EntityLiving {
return this.getEntityType().k().a(f);
}
@ -52,5 +52,5 @@ index 2b66a08ad..124c3185b 100644
+ // Paper end
}
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 7615e6c4249f387bd62392ce23bf5f759be70b85 Mon Sep 17 00:00:00 2001
From d53b09c688a512f440207e31541029476496d469 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 170f741d4..88bc8b531 100644
index bf74db31e..4e6601617 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1803,7 +1803,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1767,7 +1767,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@Override
protected boolean isFrozen() {
@ -19,10 +19,10 @@ index 170f741d4..88bc8b531 100644
@Override
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 13c1d9b91..068827e2e 100644
index 16b70221e..cc6a2aaeb 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2515,7 +2515,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -2525,7 +2525,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
}
public final boolean isDisconnected() {
@ -32,5 +32,5 @@ index 13c1d9b91..068827e2e 100644
// CraftBukkit end
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From f9190f756fad99e0f3dd79bfabfbbf310d7ffc29 Mon Sep 17 00:00:00 2001
From 2711c437c0a4ce474e4579a6a11b84393ec9907b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 27 Dec 2016 15:02:42 -0500
Subject: [PATCH] String based Action Bar API
@ -42,10 +42,10 @@ index c96f3ed17..1f6a12632 100644
public static boolean isMainThread() {
return MinecraftServer.getServer().isMainThread();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index d854d4844..d06415382 100644
index 534e2756d..1c5007015 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -217,6 +217,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -216,6 +216,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper start
@ -65,5 +65,5 @@ index d854d4844..d06415382 100644
public void setPlayerListHeaderFooter(BaseComponent[] header, BaseComponent[] footer) {
if (header != null) {
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 76db7975abcdafa9fcfec1b5448d2bde8f9b4cff Mon Sep 17 00:00:00 2001
From 83eee358ab42e7130b5dad53a4c0a98f202610c4 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 28 Dec 2016 07:18:33 +0100
Subject: [PATCH] Firework API's
diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java
index 8f4116cde..dbbb96ac5 100644
index 4f51b9b65..278ef79d8 100644
--- a/src/main/java/net/minecraft/server/EntityFireworks.java
+++ b/src/main/java/net/minecraft/server/EntityFireworks.java
@@ -3,6 +3,8 @@ package net.minecraft.server;
@ -18,7 +18,7 @@ index 8f4116cde..dbbb96ac5 100644
public class EntityFireworks extends Entity implements IProjectile {
@@ -12,7 +14,8 @@ public class EntityFireworks extends Entity implements IProjectile {
public static final DataWatcherObject<Boolean> d = DataWatcher.a(EntityFireworks.class, DataWatcherRegistry.i); // PAIL
public static final DataWatcherObject<Boolean> SHOT_AT_ANGLE = DataWatcher.a(EntityFireworks.class, DataWatcherRegistry.i);
private int ticksFlown;
public int expectedLifespan;
- private EntityLiving ridingEntity;
@ -27,10 +27,10 @@ index 8f4116cde..dbbb96ac5 100644
public EntityFireworks(EntityTypes<? extends EntityFireworks> entitytypes, World world) {
super(entitytypes, world);
@@ -271,6 +274,11 @@ public class EntityFireworks extends Entity implements IProjectile {
@@ -268,6 +271,11 @@ public class EntityFireworks extends Entity implements IProjectile {
}
nbttagcompound.setBoolean("ShotAtAngle", (Boolean) this.datawatcher.get(EntityFireworks.d));
nbttagcompound.setBoolean("ShotAtAngle", (Boolean) this.datawatcher.get(EntityFireworks.SHOT_AT_ANGLE));
+ // Paper start
+ if (this.spawningEntity != null) {
+ nbttagcompound.setUUID("SpawningEntity", this.spawningEntity);
@ -39,9 +39,9 @@ index 8f4116cde..dbbb96ac5 100644
}
@Override
@@ -286,7 +294,11 @@ public class EntityFireworks extends Entity implements IProjectile {
@@ -283,7 +291,11 @@ public class EntityFireworks extends Entity implements IProjectile {
if (nbttagcompound.hasKey("ShotAtAngle")) {
this.datawatcher.set(EntityFireworks.d, nbttagcompound.getBoolean("ShotAtAngle"));
this.datawatcher.set(EntityFireworks.SHOT_AT_ANGLE, nbttagcompound.getBoolean("ShotAtAngle"));
}
-
+ // Paper start
@ -53,30 +53,30 @@ index 8f4116cde..dbbb96ac5 100644
@Override
diff --git a/src/main/java/net/minecraft/server/ItemCrossbow.java b/src/main/java/net/minecraft/server/ItemCrossbow.java
index 28d7fdeef..874d9f500 100644
index 6f2f6b9f5..608be9e70 100644
--- a/src/main/java/net/minecraft/server/ItemCrossbow.java
+++ b/src/main/java/net/minecraft/server/ItemCrossbow.java
@@ -199,6 +199,7 @@ public class ItemCrossbow extends ItemProjectileWeapon {
if (flag1) {
object = new EntityFireworks(world, itemstack1, entityliving.locX, entityliving.locY + (double) entityliving.getHeadHeight() - 0.15000000596046448D, entityliving.locZ, true);
object = new EntityFireworks(world, itemstack1, entityliving.locX(), entityliving.getHeadY() - 0.15000000596046448D, entityliving.locZ(), true);
+ ((EntityFireworks) object).spawningEntity = entityliving.getUniqueID(); // Paper
} else {
object = a(world, entityliving, itemstack, itemstack1);
if (flag || f3 != 0.0F) {
diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java
index 37caa79cb..aea46ffae 100644
index 914297bad..76b253a50 100644
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
@@ -17,6 +17,7 @@ public class ItemFireworks extends Item {
ItemStack itemstack = itemactioncontext.getItemStack();
@@ -18,6 +18,7 @@ public class ItemFireworks extends Item {
Vec3D vec3d = itemactioncontext.j();
EntityFireworks entityfireworks = new EntityFireworks(world, vec3d.x, vec3d.y, vec3d.z, itemstack);
EnumDirection enumdirection = itemactioncontext.getClickedFace();
EntityFireworks entityfireworks = new EntityFireworks(world, vec3d.x + (double) enumdirection.getAdjacentX() * 0.15D, vec3d.y + (double) enumdirection.getAdjacentY() * 0.15D, vec3d.z + (double) enumdirection.getAdjacentZ() * 0.15D, itemstack);
+ entityfireworks.spawningEntity = itemactioncontext.getEntity().getUniqueID(); // Paper
world.addEntity(entityfireworks);
itemstack.subtract(1);
@@ -31,7 +32,11 @@ public class ItemFireworks extends Item {
@@ -32,7 +33,11 @@ public class ItemFireworks extends Item {
ItemStack itemstack = entityhuman.b(enumhand);
if (!world.isClientSide) {
@ -90,10 +90,10 @@ index 37caa79cb..aea46ffae 100644
itemstack.subtract(1);
}
diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java
index 3f6d2676e..b1fd18151 100644
index 75604dbc6..98deaba12 100644
--- a/src/main/java/net/minecraft/server/NBTTagCompound.java
+++ b/src/main/java/net/minecraft/server/NBTTagCompound.java
@@ -112,7 +112,7 @@ public class NBTTagCompound implements NBTBase {
@@ -136,7 +136,7 @@ public class NBTTagCompound implements NBTBase {
return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least"));
}
@ -103,7 +103,7 @@ index 3f6d2676e..b1fd18151 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java
index d3cbad9a5..219a1e4c0 100644
index 475b7b004..de74e7214 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java
@@ -2,6 +2,7 @@ package org.bukkit.craftbukkit.entity;
@ -128,7 +128,7 @@ index d3cbad9a5..219a1e4c0 100644
private final Random random = new Random();
@@ -78,4 +82,17 @@ public class CraftFirework extends CraftEntity implements Firework {
public void setShotAtAngle(boolean shotAtAngle) {
getHandle().getDataWatcher().set(EntityFireworks.d, shotAtAngle);
getHandle().getDataWatcher().set(EntityFireworks.SHOT_AT_ANGLE, shotAtAngle);
}
+
+ // Paper start
@ -145,5 +145,5 @@ index d3cbad9a5..219a1e4c0 100644
+ // Paper end
}
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 453ea87e48a77798e95881e9c9f593066e3875c6 Mon Sep 17 00:00:00 2001
From b399ea16b2848230ce345357ac855fc4e9b19a21 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 31 Dec 2016 21:44:50 -0500
Subject: [PATCH] PlayerTeleportEndGatewayEvent
@ -6,10 +6,10 @@ Subject: [PATCH] PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
index 2f44cf89f..1783f5914 100644
index b907a3c4d..78fba7937 100644
--- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java
+++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
@@ -132,7 +132,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
@@ -133,7 +133,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
location.setPitch(player.getLocation().getPitch());
location.setYaw(player.getLocation().getYaw());
@ -19,5 +19,5 @@ index 2f44cf89f..1783f5914 100644
if (teleEvent.isCancelled()) {
return;
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 66248ba62555ea5329f7a91875e29baa69650ba9 Mon Sep 17 00:00:00 2001
From 94daa691d441e249ceeffd0b9d6849bfd8417f4b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 7 Jan 2017 15:24:46 -0500
Subject: [PATCH] Provide E/TE/Chunk count stat methods
@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 253177d1b6..63ef42d860 100644
index 31213dd20..ebe30cc21 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -274,6 +274,48 @@ public class CraftWorld implements World {
@@ -275,6 +275,48 @@ public class CraftWorld implements World {
private int waterAnimalSpawn = -1;
private int ambientSpawn = -1;
@ -60,5 +60,5 @@ index 253177d1b6..63ef42d860 100644
public CraftWorld(WorldServer world, ChunkGenerator gen, Environment env) {
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 7b82841465226946c7984c2825385fe912d96c59 Mon Sep 17 00:00:00 2001
From df4a5a4b9a37740c2ad02f8e9f51f4167f1257d6 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 ee5297dc3..ccf8b7c70 100644
index b7012b5b6..ce5bd2229 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -930,11 +930,13 @@ public abstract class PlayerList {
@@ -931,11 +931,13 @@ public abstract class PlayerList {
}
public void savePlayers() {
@ -25,5 +25,5 @@ index ee5297dc3..ccf8b7c70 100644
public WhiteList getWhitelist() {
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From ec3b684b139bf03519280a5324d5cf789fa9f1f6 Mon Sep 17 00:00:00 2001
From d9e303b768837901e71e950b680879ca1ec734f4 Mon Sep 17 00:00:00 2001
From: Alfie Cleveland <alfeh@me.com>
Date: Sun, 8 Jan 2017 04:31:36 +0000
Subject: [PATCH] Don't allow entities to ride themselves - #572
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 187fea130..f2be5b5a3 100644
index 63d44401a..1619d9f41 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2043,6 +2043,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2025,6 +2025,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
protected boolean addPassenger(Entity entity) { // CraftBukkit
@ -17,5 +17,5 @@ index 187fea130..f2be5b5a3 100644
throw new IllegalStateException("Use x.startRiding(y), not y.addPassenger(x)");
} else {
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 81a7559230ad173c9c710bfbc2e21200b6218cc1 Mon Sep 17 00:00:00 2001
From 72e3bfa7713a5deae4baf261a1fd63a6a5a7ef10 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,7 +8,7 @@ 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 1426bd01ad..880fc52703 100644
index e485d4a82..3e4fc4ee5 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -511,13 +511,13 @@ public class Block implements IMaterial {
@ -28,7 +28,7 @@ index 1426bd01ad..880fc52703 100644
}
diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java
index 2d2cd09ad1..ed88e208d0 100644
index 2d2cd09ad..ed88e208d 100644
--- a/src/main/java/net/minecraft/server/ContainerGrindstone.java
+++ b/src/main/java/net/minecraft/server/ContainerGrindstone.java
@@ -81,7 +81,7 @@ public class ContainerGrindstone extends Container {
@ -41,20 +41,20 @@ index 2d2cd09ad1..ed88e208d0 100644
world.triggerEffect(1042, blockposition, 0);
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index cf857b88de..5fae347db2 100644
index e0d240a89..07abcc1e2 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -607,7 +607,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -616,7 +616,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
int j = EntityExperienceOrb.getOrbValue(i);
i -= j;
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j, org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, this.killer, this)); // Paper
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j, org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, this.killer, this)); // Paper
}
}
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index eec6de9ad7..35f03947d6 100644
index 0447800d9..d4275e733 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -16,9 +16,59 @@ public class EntityExperienceOrb extends Entity {
@ -134,102 +134,102 @@ index eec6de9ad7..35f03947d6 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index 758559d35d..2a351701b4 100644
index 8ad0d0db1..8d48154e5 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -404,7 +404,7 @@ public class EntityFishingHook extends Entity {
@@ -401,7 +401,7 @@ public class EntityFishingHook extends Entity {
this.world.addEntity(entityitem);
// CraftBukkit start - this.random.nextInt(6) + 1 -> playerFishEvent.getExpToDrop()
if (playerFishEvent.getExpToDrop() > 0) {
- this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX, this.owner.locY + 0.5D, this.owner.locZ + 0.5D, playerFishEvent.getExpToDrop()));
+ 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
- this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX(), this.owner.locY() + 0.5D, this.owner.locZ() + 0.5D, playerFishEvent.getExpToDrop()));
+ 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.FISHES)) {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 5fa937aeae..6ba5e98400 100644
index 191e7dfaf..be85a76ac 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -385,7 +385,8 @@ public abstract class EntityLiving extends Entity {
@@ -1377,7 +1377,8 @@ public abstract class EntityLiving extends Entity {
int j = EntityExperienceOrb.getOrbValue(i);
i -= j;
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j));
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j));
+ EntityLiving attacker = killer != null ? killer : lastDamager; // Paper
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j, this instanceof EntityPlayer ? org.bukkit.entity.ExperienceOrb.SpawnReason.PLAYER_DEATH : org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, attacker, this)); // Paper
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j, this instanceof EntityPlayer ? org.bukkit.entity.ExperienceOrb.SpawnReason.PLAYER_DEATH : org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, attacker, this)); // Paper
}
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 4ac5cce062..05970c5644 100644
index 0bfc0a773..ba2f90cc6 100644
--- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
+++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
@@ -43,7 +43,7 @@ public class EntityThrownExpBottle extends EntityProjectileThrowable {
int j = EntityExperienceOrb.getOrbValue(i);
i -= j;
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j, org.bukkit.entity.ExperienceOrb.SpawnReason.EXP_BOTTLE, getShooter(), this)); // Paper
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j, org.bukkit.entity.ExperienceOrb.SpawnReason.EXP_BOTTLE, getShooter(), this)); // Paper
}
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
index 25c7214ded..594cc70def 100644
index c73cc9ae4..76296119a 100644
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
@@ -508,7 +508,7 @@ public class EntityTurtle extends EntityAnimal {
@@ -510,7 +510,7 @@ public class EntityTurtle extends EntityAnimal {
Random random = this.animal.getRandom();
if (this.b.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, random.nextInt(7) + 1));
+ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, random.nextInt(7) + 1, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer)); // Paper;
- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), random.nextInt(7) + 1));
+ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), random.nextInt(7) + 1, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer)); // Paper;
}
}
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index dcd02930d9..8a5127c5d1 100644
index 00300c6aa..4aa947e24 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -504,7 +504,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -506,7 +506,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
}
if (merchantrecipe.isRewardExp()) {
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY + 0.5D, this.locZ, i));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY + 0.5D, this.locZ, i, org.bukkit.entity.ExperienceOrb.SpawnReason.VILLAGER_TRADE, this.getTrader(), this)); // Paper
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY() + 0.5D, this.locZ(), i));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY() + 0.5D, this.locZ(), i, org.bukkit.entity.ExperienceOrb.SpawnReason.VILLAGER_TRADE, this.getTrader(), this)); // Paper
}
}
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index 1753c67aa9..a24e7127d7 100644
index fa814814f..14ccf33c0 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -147,7 +147,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
if (merchantrecipe.isRewardExp()) {
int i = 3 + this.random.nextInt(4);
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY + 0.5D, this.locZ, i));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY + 0.5D, this.locZ, i, org.bukkit.entity.ExperienceOrb.SpawnReason.VILLAGER_TRADE, this.getTrader(), this)); // Paper
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY() + 0.5D, this.locZ(), i));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY() + 0.5D, this.locZ(), i, org.bukkit.entity.ExperienceOrb.SpawnReason.VILLAGER_TRADE, this.getTrader(), this)); // Paper
}
}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
index 363a98bece..0cc34400be 100644
index 1ab2668e9..2b708761d 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
@@ -117,7 +117,7 @@ public class PathfinderGoalBreed extends PathfinderGoal {
if (this.b.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
// CraftBukkit start - use event experience
if (experience > 0) {
- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, experience));
+ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, experience, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer, entityageable)); // Paper
- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), experience));
+ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), experience, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer, entityageable)); // Paper
}
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index d4df766111..bce3844dd5 100644
index 46154b281..56f249c43 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -364,7 +364,7 @@ public class PlayerInteractManager {
@@ -374,7 +374,7 @@ public class PlayerInteractManager {
// Drop event experience
if (flag && event != null) {
@ -239,7 +239,7 @@ index d4df766111..bce3844dd5 100644
return true;
diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
index d2698e847c..edc4a5c34e 100644
index d2698e847..edc4a5c34 100644
--- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java
+++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
@@ -2,7 +2,7 @@ package net.minecraft.server;
@ -252,23 +252,23 @@ index d2698e847c..edc4a5c34e 100644
public SlotFurnaceResult(EntityHuman entityhuman, IInventory iinventory, int i, int j, int k) {
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
index 0cb2e6d874..2bbd3663a7 100644
index 2a51a241e..0419aea92 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -554,7 +554,7 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I
while (i > 0) {
j = EntityExperienceOrb.getOrbValue(i);
i -= j;
- entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX, entityhuman.locY + 0.5D, entityhuman.locZ + 0.5D, j));
+ entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX, entityhuman.locY + 0.5D, entityhuman.locZ + 0.5D, j, org.bukkit.entity.ExperienceOrb.SpawnReason.FURNACE, entityhuman)); // Paper
- entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX(), entityhuman.locY() + 0.5D, entityhuman.locZ() + 0.5D, j));
+ entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX(), entityhuman.locY() + 0.5D, entityhuman.locZ() + 0.5D, j, org.bukkit.entity.ExperienceOrb.SpawnReason.FURNACE, entityhuman)); // Paper
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 63ef42d860..0e4f4cda0b 100644
index ebe30cc21..b7db32833 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1733,7 +1733,7 @@ public class CraftWorld implements World {
@@ -1749,7 +1749,7 @@ public class CraftWorld implements World {
} else if (TNTPrimed.class.isAssignableFrom(clazz)) {
entity = new EntityTNTPrimed(world, x, y, z, null);
} else if (ExperienceOrb.class.isAssignableFrom(clazz)) {
@ -278,7 +278,7 @@ index 63ef42d860..0e4f4cda0b 100644
entity = new EntityLightning(world, x, y, z, false);
} else if (Firework.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 1b512cc45c..fbad045675 100644
index 1b512cc45..fbad04567 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
@@ -20,6 +20,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {
@ -301,5 +301,5 @@ index 1b512cc45c..fbad045675 100644
public EntityExperienceOrb getHandle() {
return (EntityExperienceOrb) entity;
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From e4d0e2c4c05de3b2d3f6554050f3e1cae9bce922 Mon Sep 17 00:00:00 2001
From c667019226f7a78de46e1e18cdc92176f0b1044c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 22 Jan 2017 18:07:56 -0500
Subject: [PATCH] Cap Entity Collisions
@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped.
You can set this to 0 to disable collisions.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 0d2537ab8..2d01984f0 100644
index bf11448bc..e00e1e8f6 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -320,4 +320,10 @@ public class PaperWorldConfig {
@ -27,10 +27,10 @@ index 0d2537ab8..2d01984f0 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f4188fc75..482864ac6 100644
index 1619d9f41..fcfe8f550 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -184,6 +184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -189,6 +189,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public final boolean defaultActivationState;
public long activatedTick = Integer.MIN_VALUE;
public boolean fromMobSpawner;
@ -39,10 +39,10 @@ index f4188fc75..482864ac6 100644
// Spigot end
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 6ba5e9840..79edb3b3c 100644
index be85a76ac..6379b361a 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2560,8 +2560,11 @@ public abstract class EntityLiving extends Entity {
@@ -2621,8 +2621,11 @@ public abstract class EntityLiving extends Entity {
}
}
@ -53,8 +53,8 @@ index 6ba5e9840..79edb3b3c 100644
+ entity.numCollisions++; // Paper
+ numCollisions++; // Paper
this.D(entity);
this.C(entity);
}
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 8a89d0054aa70d747bc10d9a0f546df94ab6bb3e Mon Sep 17 00:00:00 2001
From 37411084342435f6aad5b3250a8c95300c63489c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 5 Feb 2017 00:04:04 -0500
Subject: [PATCH] Remove CraftScheduler Async Task Debugger
@ -9,7 +9,7 @@ One report of a suspected memory leak with the system.
This adds additional overhead to asynchronous task dispatching
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index 552daf4376..e102be583c 100644
index 552daf437..e102be583 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -414,7 +414,7 @@ public class CraftScheduler implements BukkitScheduler {
@ -47,5 +47,5 @@ index 552daf4376..e102be583c 100644
@Deprecated
--
2.22.0
2.17.1

View File

@ -1,23 +1,23 @@
From 3728f0b19240c5f228fb7caa3e467ab7f78f9155 Mon Sep 17 00:00:00 2001
From ea0c748587a2f8db9942b79451971ba63d98d112 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/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 14b0875eee..63140fb642 100644
index 1d4eddd93..492d1538f 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -109,7 +109,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.v = new AtomicInteger();
@@ -110,7 +110,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.u = new AtomicInteger();
this.playerMap = new PlayerMap();
this.trackedEntities = new Int2ObjectOpenHashMap();
- this.A = Queues.newConcurrentLinkedQueue();
+ this.A = new com.destroystokyo.paper.utils.CachedSizeConcurrentLinkedQueue<>(); // Paper
- this.z = Queues.newConcurrentLinkedQueue();
+ this.z = new com.destroystokyo.paper.utils.CachedSizeConcurrentLinkedQueue<>(); // Paper
this.definedStructureManager = definedstructuremanager;
this.x = worldserver.getWorldProvider().getDimensionManager().a(file);
this.w = worldserver.getWorldProvider().getDimensionManager().a(file);
this.world = worldserver;
@@ -354,7 +354,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -356,7 +356,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
// Spigot start
org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant;
activityAccountant.startActivity(0.5);
@ -26,17 +26,16 @@ index 14b0875eee..63140fb642 100644
// Spigot end
while (longiterator.hasNext()) { // Spigot
long j = longiterator.nextLong();
@@ -376,7 +376,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -378,7 +378,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
Runnable runnable;
- while ((booleansupplier.getAsBoolean() || this.A.size() > 2000) && (runnable = (Runnable) this.A.poll()) != null) {
+ int queueTarget = Math.min(this.A.size() - 100, (int) (this.A.size() * UNLOAD_QUEUE_RESIZE_FACTOR)); // Paper - Target this queue as well
+
+ while ((booleansupplier.getAsBoolean() || this.A.size() > queueTarget) && (runnable = (Runnable) this.A.poll()) != null) { // Paper - Target this queue as well
- while ((booleansupplier.getAsBoolean() || this.z.size() > 2000) && (runnable = (Runnable) this.z.poll()) != null) {
+ int queueTarget = Math.min(this.z.size() - 100, (int) (this.z.size() * UNLOAD_QUEUE_RESIZE_FACTOR)); // Paper - Target this queue as well
+ while ((booleansupplier.getAsBoolean() || this.z.size() > queueTarget) && (runnable = (Runnable) this.z.poll()) != null) { // Paper - Target this queue as well
runnable.run();
}
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From 2f2e638edbbacbf9356bc1679b56ac781e14df12 Mon Sep 17 00:00:00 2001
From fb88fcc7b5baa69684dd4771823d7a4a8aa14ed2 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 3e78b152f..9e6633a1b 100644
index 37ce4d48b..80bf58b05 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -810,5 +810,10 @@ public class EntityArmorStand extends EntityLiving {
@@ -826,5 +826,10 @@ public class EntityArmorStand extends EntityLiving {
super.move(moveType, vec3d);
}
}
@ -20,26 +20,26 @@ index 3e78b152f..9e6633a1b 100644
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 79edb3b3c..a016cbb21 100644
index 6379b361a..f6cb18639 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -223,6 +223,7 @@ public abstract class EntityLiving extends Entity {
@@ -227,6 +227,7 @@ public abstract class EntityLiving extends Entity {
super.a(d0, flag, iblockdata, blockposition);
}
+ public boolean canBreatheUnderwater() { return this.cm(); } // Paper - OBFHELPER
public boolean cm() {
+ public boolean canBreatheUnderwater() { return this.cB(); } // Paper - OBFHELPER
public boolean cB() {
return this.getMonsterType() == EnumMonsterType.UNDEAD;
}
@@ -262,7 +263,7 @@ public abstract class EntityLiving extends Entity {
@@ -266,7 +267,7 @@ public abstract class EntityLiving extends Entity {
if (this.isAlive()) {
if (this.a(TagsFluid.WATER) && this.world.getType(new BlockPosition(this.locX, this.locY + (double) this.getHeadHeight(), this.locZ)).getBlock() != Blocks.BUBBLE_COLUMN) {
- if (!this.cm() && !MobEffectUtil.c(this) && !flag1) {
if (this.a(TagsFluid.WATER) && this.world.getType(new BlockPosition(this.locX(), this.getHeadY(), this.locZ())).getBlock() != Blocks.BUBBLE_COLUMN) {
- if (!this.cB() && !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);
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 7dc83c0fff37f349a9d529e535df8226404a49b2 Mon Sep 17 00:00:00 2001
From 6be55762cf5ee4507a7f72325554765c96dc7d2c 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 6a2933f4ff..f621350ea6 100644
index 38bf3ea44..a180ba6b0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -88,6 +88,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -41,7 +41,7 @@ index 6a2933f4ff..f621350ea6 100644
private boolean isStopped;
private int ticks;
protected final Proxy proxy;
@@ -714,7 +715,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -722,7 +723,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
if (this.playerList != null) {
MinecraftServer.LOGGER.info("Saving players");
this.playerList.savePlayers();
@ -50,7 +50,7 @@ index 6a2933f4ff..f621350ea6 100644
try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets
}
@@ -768,8 +769,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -776,8 +777,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
return this.isRunning;
}
@ -64,7 +64,7 @@ index 6a2933f4ff..f621350ea6 100644
if (flag) {
try {
this.serverThread.join();
@@ -779,6 +785,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -787,6 +793,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
}
@ -73,10 +73,10 @@ index 6a2933f4ff..f621350ea6 100644
// Spigot Start
private static double calcTps(double avg, double exp, double tps)
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index ccf8b7c707..d23e4e5e3d 100644
index ce5bd2229..1eb53f67e 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1041,10 +1041,15 @@ public abstract class PlayerList {
@@ -1042,10 +1042,15 @@ public abstract class PlayerList {
entityplayer.playerInteractManager.b(generatoraccess.getWorldData().getGameType());
}
@ -92,8 +92,8 @@ index ccf8b7c707..d23e4e5e3d 100644
+ player.playerConnection.disconnect(!isRestarting ? this.server.server.getShutdownMessage() : org.spigotmc.SpigotConfig.restartMessage); // CraftBukkit - add custom shutdown message // Paper - add isRestarting flag
}
// CraftBukkit end
// Paper start - Remove collideRule team if it exists
@@ -1055,6 +1060,7 @@ public abstract class PlayerList {
@@ -1057,6 +1062,7 @@ public abstract class PlayerList {
}
// Paper end
}
@ -102,7 +102,7 @@ index ccf8b7c707..d23e4e5e3d 100644
// CraftBukkit start
public void sendMessage(IChatBaseComponent[] iChatBaseComponents) {
diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java
index ccea803f58..aefea3a9a8 100644
index ccea803f5..aefea3a9a 100644
--- a/src/main/java/org/spigotmc/RestartCommand.java
+++ b/src/main/java/org/spigotmc/RestartCommand.java
@@ -46,86 +46,134 @@ public class RestartCommand extends Command
@ -307,5 +307,5 @@ index ccea803f58..aefea3a9a8 100644
+
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From bde502f65fe15b840f7ab6904827592d8dedd89c Mon Sep 17 00:00:00 2001
From 2d1817280a0d11836091e26148edcc8ba09a689a Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 13 May 2017 20:11:21 -0500
Subject: [PATCH] Add system property to disable book size limits
@ -11,7 +11,7 @@ to make books with as much data as they want. Do not use this without
limiting incoming data from packets in some other way.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
index 804fe9499..7262920c1 100644
index 0e89025a0..1bf74bdae 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
@@ -36,6 +36,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
@ -57,5 +57,5 @@ index 804fe9499..7262920c1 100644
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 4e20ea037a039e8799ae11a8767bb7eb482b6865 Mon Sep 17 00:00:00 2001
From 2efa7347f652e1e7343139018169984a046c3812 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 16 May 2017 21:29:08 -0500
Subject: [PATCH] Add option to make parrots stay on shoulders despite movement
@ -11,7 +11,7 @@ I suspect Mojang may switch to this behavior before full release.
To be converted into a Paper-API event at some point in the future?
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 2d01984f0..42c4a9445 100644
index e00e1e8f6..f151e43c3 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -326,4 +326,10 @@ public class PaperWorldConfig {
@ -26,25 +26,25 @@ index 2d01984f0..42c4a9445 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 4ceac0a2f..c162c6b73 100644
index 242d0df1c..673e2b79d 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -451,7 +451,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -463,7 +463,7 @@ public abstract class EntityHuman extends EntityLiving {
this.j(this.getShoulderEntityLeft());
this.j(this.getShoulderEntityRight());
if (!this.world.isClientSide && (this.fallDistance > 0.5F || this.isInWater() || this.isPassenger()) || this.abilities.isFlying || this.isSleeping()) {
if (!this.world.isClientSide && (this.fallDistance > 0.5F || this.isInWater()) || this.abilities.isFlying || this.isSleeping()) {
- this.releaseShoulderEntities();
+ if (!this.world.paperConfig.parrotsHangOnBetter) this.releaseShoulderEntities(); // Paper - Hang on!
}
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 068827e2e..579c551f9 100644
index cc6a2aaeb..01ab2e151 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1756,6 +1756,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -1772,6 +1772,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
switch (packetplayinentityaction.c()) {
case START_SNEAKING:
case PRESS_SHIFT_KEY:
this.player.setSneaking(true);
+
+ // Paper start - Hang on!
@ -54,8 +54,8 @@ index 068827e2e..579c551f9 100644
+ // Paper end
+
break;
case STOP_SNEAKING:
case RELEASE_SHIFT_KEY:
this.player.setSneaking(false);
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 047c0fb7c02a50bdd6e251d0d179adf2210b76c4 Mon Sep 17 00:00:00 2001
From 0c7cb8c62714ae93958efc38d6b7a613fccc339c 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
@ -6,7 +6,7 @@ Subject: [PATCH] Add configuration option to prevent player names from being
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index b5a50afd24..11d2a1013b 100644
index 5a83fc21c..295b8390c 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -259,4 +259,9 @@ public class PaperConfig {
@ -20,10 +20,10 @@ index b5a50afd24..11d2a1013b 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ca6158dc73..8e6f23d278 100644
index 811c33b90..77bb68605 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2096,5 +2096,10 @@ public final class CraftServer implements Server {
@@ -2099,5 +2099,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}
@ -35,5 +35,5 @@ index ca6158dc73..8e6f23d278 100644
// Paper end
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From f00c943e438f24b1dc0c345a59fb52431b5a127d Mon Sep 17 00:00:00 2001
From 9c98c9243d9cc8b495dce4ef15ed0df94c8d0df5 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Fri, 9 Jun 2017 19:03:43 +0200
Subject: [PATCH] Use TerminalConsoleAppender for console improvements
@ -19,7 +19,7 @@ Other changes:
configuration
diff --git a/pom.xml b/pom.xml
index 04b0dd9a7..58b14a740 100644
index ae1de6d01..f716e9870 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,10 +41,27 @@
@ -143,7 +143,7 @@ index 000000000..685deaa0e
+
+}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 895049287..92d0aa6d6 100644
index a5a8bad4f..dfe806291 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -85,6 +85,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -185,7 +185,7 @@ index 895049287..92d0aa6d6 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 759c71397..6c9a43d66 100644
index a180ba6b0..7df3ae0ec 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate;
@ -197,7 +197,7 @@ index 759c71397..6c9a43d66 100644
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.Main;
@@ -158,7 +158,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -161,7 +161,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public OptionSet options;
public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
@ -206,7 +206,7 @@ index 759c71397..6c9a43d66 100644
public static int currentTick = 0; // Paper - Further improve tick loop
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
@@ -207,7 +207,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -212,7 +212,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.K = s;
// CraftBukkit start
this.options = options;
@ -216,7 +216,7 @@ index 759c71397..6c9a43d66 100644
if (System.console() == null && System.getProperty("jline.terminal") == null) {
System.setProperty("jline.terminal", "jline.UnsupportedTerminal");
Main.useJline = false;
@@ -228,6 +230,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -233,6 +235,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
LOGGER.warn((String) null, ex);
}
}
@ -225,7 +225,7 @@ index 759c71397..6c9a43d66 100644
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
}
// CraftBukkit end
@@ -942,7 +946,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -950,7 +954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} finally {
// CraftBukkit start - Restore terminal to original settings
try {
@ -234,7 +234,7 @@ index 759c71397..6c9a43d66 100644
} catch (Exception ignored) {
}
// CraftBukkit end
@@ -1446,7 +1450,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1458,7 +1462,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@Override
public void sendMessage(IChatBaseComponent ichatbasecomponent) {
@ -244,7 +244,7 @@ index 759c71397..6c9a43d66 100644
public KeyPair getKeyPair() {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index d23e4e5e3..6a7770798 100644
index 1eb53f67e..308bc3baf 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -76,8 +76,7 @@ public abstract class PlayerList {
@ -256,9 +256,9 @@ index d23e4e5e3..6a7770798 100644
+ minecraftserver.console = new com.destroystokyo.paper.console.TerminalConsoleCommandSender(); // Paper
// CraftBukkit end
this.k = new GameProfileBanList(PlayerList.a);
this.k = new GameProfileBanList(PlayerList.b);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8e6f23d27..4c94e85e4 100644
index 77bb68605..cd58906ad 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -41,7 +41,6 @@ import java.util.function.Consumer;
@ -269,7 +269,7 @@ index 8e6f23d27..4c94e85e4 100644
import net.minecraft.server.Advancement;
import net.minecraft.server.ArgumentEntity;
import net.minecraft.server.Block;
@@ -1093,9 +1092,13 @@ public final class CraftServer implements Server {
@@ -1094,9 +1093,13 @@ public final class CraftServer implements Server {
return logger;
}
@ -284,7 +284,7 @@ index 8e6f23d27..4c94e85e4 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 78534c307..b0bb086a9 100644
index 4a4e56e76..b562e95dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -13,7 +13,7 @@ import java.util.logging.Logger;
@ -608,5 +608,5 @@ index 490a9acc7..08b6bb7f9 100644
<AppenderRef ref="TerminalConsole" level="info"/>
</Root>
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From bf0e527e71fd52aa2bcc2fcd66a19a6fdbc90c5a Mon Sep 17 00:00:00 2001
From 221b72d1ca538a47727288b31db4e4069ec289e7 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
@ -6,7 +6,7 @@ Subject: [PATCH] provide a configurable option to disable creeper lingering
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 42c4a9445..891a52b2a 100644
index f151e43c3..c145e27cc 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -332,4 +332,10 @@ public class PaperWorldConfig {
@ -21,18 +21,18 @@ index 42c4a9445..891a52b2a 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 53b1e2ac0..100a1a10c 100644
index 859b52845..dabe40c5f 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -226,7 +226,7 @@ public class EntityCreeper extends EntityMonster {
@@ -228,7 +228,7 @@ public class EntityCreeper extends EntityMonster {
private void createEffectCloud() {
Collection<MobEffect> collection = this.getEffects();
- if (!collection.isEmpty()) {
+ if (!collection.isEmpty() && !world.paperConfig.disableCreeperLingeringEffect) { // Paper
EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.locX, this.locY, this.locZ);
EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.locX(), this.locY(), this.locZ());
entityareaeffectcloud.setSource(this); // CraftBukkit
--
2.23.0
2.17.1

View File

@ -1,17 +1,17 @@
From 4e73cb7abb2e428e3f77a0a75b9b45d63aa2c43d Mon Sep 17 00:00:00 2001
From d5f7773be6ecef58bcea504533c3bb613ee1ceb5 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 5 May 2017 03:57:17 -0500
Subject: [PATCH] Item#canEntityPickup
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 6e304492cf..a14d490ade 100644
index dac3540c6..eadac07f6 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -511,6 +511,11 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -513,6 +513,11 @@ public abstract class EntityInsentient extends EntityLiving {
EntityItem entityitem = (EntityItem) iterator.next();
if (!entityitem.dead && !entityitem.getItemStack().isEmpty() && !entityitem.q()) {
if (!entityitem.dead && !entityitem.getItemStack().isEmpty() && !entityitem.p()) {
+ // Paper Start
+ if (!entityitem.canMobPickup) {
+ continue;
@ -21,10 +21,10 @@ index 6e304492cf..a14d490ade 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index 0569ad9af8..c0b81223f1 100644
index f657607a1..9973fc0b1 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -19,6 +19,7 @@ public class EntityItem extends Entity {
@@ -20,6 +20,7 @@ public class EntityItem extends Entity {
private UUID owner;
public final float b;
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
@ -33,7 +33,7 @@ index 0569ad9af8..c0b81223f1 100644
public EntityItem(EntityTypes<? extends EntityItem> entitytypes, World world) {
super(entitytypes, world);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index cc593fbc99..3f552b5905 100644
index cc593fbc9..3f552b590 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -48,6 +48,16 @@ public class CraftItem extends CraftEntity implements Item {
@ -54,5 +54,5 @@ index cc593fbc99..3f552b5905 100644
public String toString() {
return "CraftItem";
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From 9ebb4b20c387475c0154b08cfe1b769899387fee Mon Sep 17 00:00:00 2001
From d564e48afbfbcf86f14ef7d91940a5fc82b7b9ee Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 7 May 2017 06:26:09 -0500
Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index 27decbd06..17c291569 100644
index 9973fc0b1..4b2e19f30 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -318,6 +318,7 @@ public class EntityItem extends Entity {
@@ -322,6 +322,7 @@ public class EntityItem extends Entity {
// CraftBukkit start - fire PlayerPickupItemEvent
int canHold = entityhuman.inventory.canHold(itemstack);
int remaining = i - canHold;
@ -16,7 +16,7 @@ index 27decbd06..17c291569 100644
if (this.pickupDelay <= 0 && canHold > 0) {
itemstack.setCount(canHold);
@@ -325,8 +326,14 @@ public class EntityItem extends Entity {
@@ -329,8 +330,14 @@ public class EntityItem extends Entity {
PlayerPickupItemEvent playerEvent = new PlayerPickupItemEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), (org.bukkit.entity.Item) this.getBukkitEntity(), remaining);
playerEvent.setCancelled(!entityhuman.canPickUpLoot);
this.world.getServer().getPluginManager().callEvent(playerEvent);
@ -31,10 +31,10 @@ index 27decbd06..17c291569 100644
return;
}
@@ -350,7 +357,11 @@ public class EntityItem extends Entity {
@@ -354,7 +361,11 @@ public class EntityItem extends Entity {
// CraftBukkit end
if (this.pickupDelay == 0 && (this.owner == null || 6000 - this.age <= 200 || this.owner.equals(entityhuman.getUniqueID())) && entityhuman.inventory.pickup(itemstack)) {
if (this.pickupDelay == 0 && (this.owner == null || this.owner.equals(entityhuman.getUniqueID())) && entityhuman.inventory.pickup(itemstack)) {
- entityhuman.receive(this, i);
+ // Paper Start
+ if (flyAtPlayer) {
@ -45,5 +45,5 @@ index 27decbd06..17c291569 100644
this.die();
itemstack.setCount(i);
--
2.23.0
2.17.1

View File

@ -1,14 +1,14 @@
From 5908c0f26e8452837d9a92f7bf31821e27639437 Mon Sep 17 00:00:00 2001
From 48df7a39fc7f335f7b3b6e7404156087612219af Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 11 Jun 2017 16:30:30 -0500
Subject: [PATCH] PlayerAttemptPickupItemEvent
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index 1baff88c4a..f1f86ef8b5 100644
index 4b2e19f30..fcc1c0993 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -8,6 +8,7 @@ import javax.annotation.Nullable;
@@ -9,6 +9,7 @@ import javax.annotation.Nullable;
import org.bukkit.event.entity.EntityPickupItemEvent;
import org.bukkit.event.player.PlayerPickupItemEvent;
// CraftBukkit end
@ -16,7 +16,7 @@ index 1baff88c4a..f1f86ef8b5 100644
public class EntityItem extends Entity {
@@ -320,6 +321,22 @@ public class EntityItem extends Entity {
@@ -324,6 +325,22 @@ public class EntityItem extends Entity {
int remaining = i - canHold;
boolean flyAtPlayer = false; // Paper
@ -40,5 +40,5 @@ index 1baff88c4a..f1f86ef8b5 100644
itemstack.setCount(canHold);
// Call legacy event
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From f4b1ac869326bd16b7c94847d5ece41e4dc896c8 Mon Sep 17 00:00:00 2001
From 0da274f7c094ef3191d0881e7739d9109eb19975 Mon Sep 17 00:00:00 2001
From: Sweepyoface <github@sweepy.pw>
Date: Sat, 17 Jun 2017 18:48:21 -0400
Subject: [PATCH] Add UnknownCommandEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7179692e11..344c99d107 100644
index cd58906ad..202f6ad68 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -77,6 +77,7 @@ import net.minecraft.server.WorldServer;
@ -24,7 +24,7 @@ index 7179692e11..344c99d107 100644
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerChatTabCompleteEvent;
import org.bukkit.event.server.BroadcastMessageEvent;
@@ -737,7 +739,13 @@ public final class CraftServer implements Server {
@@ -738,7 +740,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {
@ -40,5 +40,5 @@ index 7179692e11..344c99d107 100644
// Spigot end
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From de22020424bc3d2831d68f812df2172635cc433b Mon Sep 17 00:00:00 2001
From abd5f22ee2480d2a88bb8d450e212b6788ea857c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 15 Jan 2018 22:11:48 -0500
Subject: [PATCH] Basic PlayerProfile API
@ -7,7 +7,7 @@ Establishes base extension of profile systems for future edits too
diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java
new file mode 100644
index 0000000000..b151a13c1b
index 000000000..b151a13c1
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java
@@ -0,0 +1,280 @@
@ -293,7 +293,7 @@ index 0000000000..b151a13c1b
+}
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java
new file mode 100644
index 0000000000..25836b975b
index 000000000..25836b975
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java
@@ -0,0 +1,30 @@
@ -329,7 +329,7 @@ index 0000000000..25836b975b
+}
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java
new file mode 100644
index 0000000000..3bcdb8f93f
index 000000000..3bcdb8f93
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java
@@ -0,0 +1,17 @@
@ -352,7 +352,7 @@ index 0000000000..3bcdb8f93f
+}
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java
new file mode 100644
index 0000000000..4b2a67423f
index 000000000..4b2a67423
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java
@@ -0,0 +1,29 @@
@ -387,7 +387,7 @@ index 0000000000..4b2a67423f
+}
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java
new file mode 100644
index 0000000000..3aceb0ea8a
index 000000000..3aceb0ea8
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java
@@ -0,0 +1,11 @@
@ -403,7 +403,7 @@ index 0000000000..3aceb0ea8a
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
index 1f6a126329..6d278a0da5 100644
index 1f6a12632..6d278a0da 100644
--- a/src/main/java/net/minecraft/server/MCUtil.java
+++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -1,7 +1,10 @@
@ -429,10 +429,10 @@ index 1f6a126329..6d278a0da5 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 6c9a43d66b..6e6c662f95 100644
index 7df3ae0ec..1ddb10741 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1277,7 +1277,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1289,7 +1289,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
DispenserRegistry.init();
DispenserRegistry.c();
String s = "."; // PAIL?
@ -441,7 +441,7 @@ index 6c9a43d66b..6e6c662f95 100644
MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService();
GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository();
UserCache usercache = new UserCache(gameprofilerepository, new File(s, MinecraftServer.b.getName()));
@@ -1737,6 +1737,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1749,6 +1749,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.H = i;
}
@ -450,7 +450,7 @@ index 6c9a43d66b..6e6c662f95 100644
return this.minecraftSessionService;
}
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
index b0d883d493..1d4bf64b1b 100644
index e8143eff4..10935bcf3 100644
--- a/src/main/java/net/minecraft/server/UserCache.java
+++ b/src/main/java/net/minecraft/server/UserCache.java
@@ -43,7 +43,7 @@ public class UserCache {
@ -475,7 +475,7 @@ index b0d883d493..1d4bf64b1b 100644
+
@Nullable public GameProfile getProfile(UUID uuid) { return a(uuid); } // Paper - OBFHELPER
@Nullable
public GameProfile a(UUID uuid) {
public GameProfile getProfile(UUID uuid) {
@@ -274,7 +281,7 @@ public class UserCache {
class UserCacheEntry {
@ -486,10 +486,10 @@ index b0d883d493..1d4bf64b1b 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 f891b1346c..308ae2e157 100644
index 202f6ad68..2f7769c00 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -196,6 +196,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
@@ -197,6 +197,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@ -499,7 +499,7 @@ index f891b1346c..308ae2e157 100644
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
@@ -2112,5 +2115,24 @@ public final class CraftServer implements Server {
@@ -2115,5 +2118,24 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
@ -525,5 +525,5 @@ index f891b1346c..308ae2e157 100644
// Paper end
}
--
2.22.1
2.17.1

View File

@ -1,14 +1,14 @@
From 13f64d403e4682edfec24772d8d52e3da5afedf5 Mon Sep 17 00:00:00 2001
From d07f3a2beb5500decddbeece416426183bde9c91 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 17 Jun 2017 15:18:30 -0400
Subject: [PATCH] Shoulder Entities Release API
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 28a8cfdd3..6acab2b97 100644
index 673e2b79d..2d982ce1e 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -1801,20 +1801,44 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1893,20 +1893,44 @@ public abstract class EntityHuman extends EntityLiving {
}
@ -42,7 +42,7 @@ index 28a8cfdd3..6acab2b97 100644
((EntityTameableAnimal) entity).setOwnerUUID(this.uniqueID);
}
entity.setPosition(this.locX, this.locY + 0.699999988079071D, this.locZ);
entity.setPosition(this.locX(), this.locY() + 0.699999988079071D, this.locZ());
- return ((WorldServer) this.world).addEntitySerialized(entity, CreatureSpawnEvent.SpawnReason.SHOULDER_ENTITY); // CraftBukkit
- }).orElse(true); // CraftBukkit
+ boolean addedToWorld = ((WorldServer) this.world).addEntitySerialized(entity, CreatureSpawnEvent.SpawnReason.SHOULDER_ENTITY); // CraftBukkit
@ -58,7 +58,7 @@ index 28a8cfdd3..6acab2b97 100644
@Override
public abstract boolean isSpectator();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 027063239..37b057c51 100644
index 66cd2db1e..a1397d142 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -665,6 +665,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@ -95,5 +95,5 @@ index 027063239..37b057c51 100644
public boolean discoverRecipe(NamespacedKey recipe) {
return discoverRecipes(Arrays.asList(recipe)) != 0;
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From db5fd6216ff20d4670dc04f0222792982220196f Mon Sep 17 00:00:00 2001
From 231e2f402814cd547155b82ee47531f0a81dfb97 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 17 Jun 2017 17:00:32 -0400
Subject: [PATCH] Profile Lookup Events
@ -7,7 +7,7 @@ Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in p
profiles that had to be looked up.
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java
index 3bcdb8f93f..bb9894318e 100644
index 3bcdb8f93..bb9894318 100644
--- a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java
@@ -1,17 +1,68 @@
@ -81,5 +81,5 @@ index 3bcdb8f93f..bb9894318e 100644
}
}
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From f59189466e67ed2dd9a28bb8f55af3f6a6b57266 Mon Sep 17 00:00:00 2001
From 94a516b0a57ec3612f96098903af158bff7ce867 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 49df63d6de..977a5009dd 100644
index 3683fa298..6f7c71579 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -49,6 +49,12 @@ public class LoginListener implements PacketLoginInListener {
@ -22,5 +22,5 @@ index 49df63d6de..977a5009dd 100644
this.c();
} else if (this.g == LoginListener.EnumProtocolState.DELAY_ACCEPT) {
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From 84600057c686d41de05de42fa07a3c3285851bb2 Mon Sep 17 00:00:00 2001
From 56e14834b23acaeffb94083b1e35cc7a40b98c33 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 18 Jun 2017 18:17:05 -0500
Subject: [PATCH] Entity#fromMobSpawner()
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 482864ac6..be4ebcadb 100644
index fcfe8f550..7c4ab7fe7 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -184,6 +184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -189,6 +189,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public final boolean defaultActivationState;
public long activatedTick = Integer.MIN_VALUE;
public boolean fromMobSpawner;
@ -16,7 +16,7 @@ index 482864ac6..be4ebcadb 100644
protected int numCollisions = 0; // Paper
public void inactiveTick() { }
// Spigot end
@@ -1635,6 +1636,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1621,6 +1622,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
if (this.origin != null) {
nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ()));
}
@ -27,7 +27,7 @@ index 482864ac6..be4ebcadb 100644
// Paper end
return nbttagcompound;
} catch (Throwable throwable) {
@@ -1763,6 +1768,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1741,6 +1746,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
if (!originTag.isEmpty()) {
origin = new Location(world.getWorld(), originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2));
}
@ -37,10 +37,10 @@ index 482864ac6..be4ebcadb 100644
} catch (Throwable throwable) {
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
index 13e62e3d7..4bd511dd7 100644
index deb32db2b..8384a2cbf 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -133,6 +133,7 @@ public abstract class MobSpawnerAbstract {
@@ -134,6 +134,7 @@ public abstract class MobSpawnerAbstract {
((EntityInsentient) entity).prepare(world, world.getDamageScaler(new BlockPosition(entity)), EnumMobSpawn.SPAWNER, (GroupDataEntity) null, (NBTTagCompound) null);
}
}
@ -49,10 +49,10 @@ index 13e62e3d7..4bd511dd7 100644
if ( entity.world.spigotConfig.nerfSpawnerMobs )
{
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 91c5bb511..09ca9a3eb 100644
index bb07dec3c..495a7c464 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1048,5 +1048,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1045,5 +1045,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
Location origin = getHandle().origin;
return origin == null ? null : origin.clone();
}
@ -64,5 +64,5 @@ index 91c5bb511..09ca9a3eb 100644
// Paper end
}
--
2.22.1
2.17.1

View File

@ -1,4 +1,4 @@
From c7287c81488d289834b45064849790e3dac26be7 Mon Sep 17 00:00:00 2001
From dca9dc7dc24627c6e09515251c1235d96365f14f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 10 Dec 2016 16:24:06 -0500
Subject: [PATCH] Improve the Saddle API for Horses
@ -7,7 +7,7 @@ Not all horses with Saddles have armor. This lets us break up the horses with sa
and access their saddle state separately from an interface shared with Armor.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
index 09016e3547..9952db3eb5 100644
index 09016e354..9952db3eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
@@ -6,6 +6,7 @@ import net.minecraft.server.EntityHorseAbstract;
@ -27,7 +27,7 @@ index 09016e3547..9952db3eb5 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
index 63991bf4be..9a47a1adc1 100644
index 63991bf4b..9a47a1adc 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
@@ -4,7 +4,7 @@ import net.minecraft.server.IInventory;
@ -41,7 +41,7 @@ index 63991bf4be..9a47a1adc1 100644
super(inventory);
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java
new file mode 100644
index 0000000000..99cfbaf90b
index 000000000..99cfbaf90
--- /dev/null
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java
@@ -0,0 +1,15 @@
@ -61,5 +61,5 @@ index 0000000000..99cfbaf90b
+
+}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 2dc39a751a5a43ea381bbaf121d5ddee83cabacb Mon Sep 17 00:00:00 2001
From 8529676f2d0453ba34b52228e3f97076a989b4a6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 May 2016 22:43:12 -0400
Subject: [PATCH] Implement ensureServerConversions API
@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr
to ensure it meets latest minecraft expectations.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index b15406014..bd04174c3 100644
index c9b59fd8d..57f50cccf 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -332,4 +332,10 @@ public final class CraftItemFactory implements ItemFactory {
@@ -334,4 +334,10 @@ public final class CraftItemFactory implements ItemFactory {
public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException {
return ((CraftMetaItem) meta).updateMaterial(material);
}
@ -22,5 +22,5 @@ index b15406014..bd04174c3 100644
+ // Paper end
}
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 1a37b18ef694433c929d94f2e4e5d197ac6c917b Mon Sep 17 00:00:00 2001
From b1453ada4f219bce1fa153db344add1a5082d5ec Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 May 2016 23:59:38 -0400
Subject: [PATCH] Implement getI18NDisplayName
@ -25,10 +25,10 @@ index c0c13798f..601273933 100644
return this.c(s);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index bd04174c3..3cddf254a 100644
index 57f50cccf..72cc4980e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -337,5 +337,18 @@ public final class CraftItemFactory implements ItemFactory {
@@ -339,5 +339,18 @@ public final class CraftItemFactory implements ItemFactory {
public ItemStack ensureServerConversions(ItemStack item) {
return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item));
}
@ -48,5 +48,5 @@ index bd04174c3..3cddf254a 100644
// Paper end
}
--
2.23.0
2.17.1

View File

@ -1,14 +1,14 @@
From 9363bf8ee294b4e8687c4af786bd781e781ad95b Mon Sep 17 00:00:00 2001
From 5823c5485f3d20cd2cd53ff1229f0243e79a774b 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 6a77707983..a167843bfb 100644
index 308bc3baf..002f7e844 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -521,9 +521,9 @@ public abstract class PlayerList {
@@ -522,9 +522,9 @@ public abstract class PlayerList {
// return chatmessage;
if (!gameprofilebanentry.hasExpired()) event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(chatmessage)); // Spigot
@ -20,7 +20,7 @@ index 6a77707983..a167843bfb 100644
} else if (getIPBans().isBanned(socketaddress) && !getIPBans().get(socketaddress).hasExpired()) {
IpBanEntry ipbanentry = this.l.get(socketaddress);
@@ -892,9 +892,25 @@ public abstract class PlayerList {
@@ -893,9 +893,25 @@ public abstract class PlayerList {
this.server.getCommandDispatcher().a(entityplayer);
}
@ -46,7 +46,7 @@ index 6a77707983..a167843bfb 100644
+ // Paper end
public boolean isOp(GameProfile gameprofile) {
return this.operators.d(gameprofile) || this.server.b(gameprofile) && this.server.getWorldServer(DimensionManager.OVERWORLD).getWorldData().t() || this.u;
return this.operators.d(gameprofile) || this.server.a(gameprofile) && this.server.getWorldServer(DimensionManager.OVERWORLD).getWorldData().t() || this.u;
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From ecb854e19a77c30ab24c008aa7b8568584c9a765 Mon Sep 17 00:00:00 2001
From 1afac47b97ebd139492651cc002123164c99f701 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,12 +9,12 @@ 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 486629a6d..56ac679b2 100644
index b562e95dc..140b82275 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -217,10 +217,12 @@ public class Main {
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -28);
deadline.add(Calendar.DAY_OF_YEAR, -3);
if (buildDate.before(deadline.getTime())) {
- System.err.println("*** Error, this build is outdated ***");
+ // Paper start - This is some stupid bullshit
@ -29,5 +29,5 @@ index 486629a6d..56ac679b2 100644
}
--
2.24.0
2.17.1

View File

@ -1,14 +1,14 @@
From 2e0688b36f97187cb8f065e164e5fd0fa9059935 Mon Sep 17 00:00:00 2001
From 94586121247edbc9777d6629a0d18c3b8c386f53 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 01:54:40 -0500
Subject: [PATCH] Ocelot despawns should honor nametags and leash
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
index a6b15efd5d..edc5f696c0 100644
index 062411455..d9a7b8ac1 100644
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
@@ -82,7 +82,7 @@ public class EntityOcelot extends EntityAnimal {
@@ -81,7 +81,7 @@ public class EntityOcelot extends EntityAnimal {
@Override
public boolean isTypeNotPersistent(double d0) {
@ -18,5 +18,5 @@ index a6b15efd5d..edc5f696c0 100644
@Override
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From 393e17f7fb0841095ec391a7a7192c6b81604ffb Mon Sep 17 00:00:00 2001
From fc0c24008c1783f514a071176e2e159cfd820172 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 01:45:19 -0500
Subject: [PATCH] Reset spawner timer when spawner event is cancelled
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
index 4bd511dd7c..59bd9ccd70 100644
index 8384a2cbf..258e96ba5 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -139,6 +139,9 @@ public abstract class MobSpawnerAbstract {
@@ -140,6 +140,9 @@ public abstract class MobSpawnerAbstract {
{
entity.fromMobSpawner = true;
}
@ -18,7 +18,7 @@ index 4bd511dd7c..59bd9ccd70 100644
if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, blockposition).isCancelled()) {
Entity vehicle = entity.getVehicle();
if (vehicle != null) {
@@ -156,7 +159,7 @@ public abstract class MobSpawnerAbstract {
@@ -157,7 +160,7 @@ public abstract class MobSpawnerAbstract {
((EntityInsentient) entity).doSpawnEffect();
}
@ -28,5 +28,5 @@ index 4bd511dd7c..59bd9ccd70 100644
}
--
2.22.0
2.17.1

View File

@ -1,14 +1,14 @@
From 71b39eb3328c1d4bb08e116a0410410bec249da8 Mon Sep 17 00:00:00 2001
From cb98e4077354d4495e2a641196c2b4e4fee88bd9 Mon Sep 17 00:00:00 2001
From: mezz <tehgeek@gmail.com>
Date: Wed, 9 Aug 2017 17:51:22 -0500
Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d6f04c823a..8add757cc8 100644
index 312e32f1b..8cbad8362 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -734,7 +734,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -654,7 +654,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
gameprofilerfiller.enter("blockEntities");
timings.tileEntityTick.startTiming(); // Spigot
if (!this.tileEntityListUnload.isEmpty()) {
@ -22,5 +22,5 @@ index d6f04c823a..8add757cc8 100644
this.tileEntityListUnload.clear();
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 3e8591beff5e88eda41d6790603446fbe00fe15c Mon Sep 17 00:00:00 2001
From af7e3f0496ac4b7f4dd6f8b9b60329b68aa759cb Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Thu, 17 Aug 2017 16:08:20 -0700
Subject: [PATCH] Allow specifying a custom "authentication servers down" kick
@ -6,7 +6,7 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 11d2a1013b..11f08c2b73 100644
index 295b8390c..5884b04f7 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -1,5 +1,6 @@
@ -27,7 +27,7 @@ index 11d2a1013b..11f08c2b73 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index 977a5009dd..c3ff7a6b8f 100644
index 6f7c71579..a1be28390 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -247,6 +247,10 @@ public class LoginListener implements PacketLoginInListener {
@ -42,5 +42,5 @@ index 977a5009dd..c3ff7a6b8f 100644
LoginListener.LOGGER.error("Couldn't verify username because servers are unavailable");
}
--
2.22.0
2.17.1

View File

@ -1,22 +1,22 @@
From 3cc596d6759ac8ec57121500b9ddc72e0878c46d Mon Sep 17 00:00:00 2001
From 0404dd95e23bd99fcf65b823dcf94cc16545caa5 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 01:49:48 -0500
Subject: [PATCH] LivingEntity#setKiller
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index a016cbb21..46dfb3c49 100644
index f6cb18639..bf049bfc4 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -76,7 +76,7 @@ public abstract class EntityLiving extends Entity {
public float aN;
public float aO;
@@ -80,7 +80,7 @@ public abstract class EntityLiving extends Entity {
public float aL;
public float aM;
public EntityHuman killer;
- protected int lastDamageByPlayerTime;
+ public int lastDamageByPlayerTime; // Paper - protected -> public
protected boolean killed;
protected int ticksFarFromPlayer;
protected float aT;
protected float aR;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 7e9aff668..b8482c632 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@ -39,5 +39,5 @@ index 7e9aff668..b8482c632 100644
public boolean addPotionEffect(PotionEffect effect) {
return addPotionEffect(effect, false);
--
2.22.1
2.17.1

View File

@ -1,4 +1,4 @@
From 293d21b77ff488266b8137593bf35c8cb805ba94 Mon Sep 17 00:00:00 2001
From 51f074f0e0f071356d81aace1d38ceaf4fe2a3e8 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,7 +12,7 @@ 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 58b14a740e..a70c0ec07a 100644
index f716e9870..e6395c773 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,6 +63,11 @@
@ -28,7 +28,7 @@ index 58b14a740e..a70c0ec07a 100644
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 92d0aa6d66..c6eb88c34b 100644
index dfe806291..6e95a0452 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -147,8 +147,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -45,5 +45,5 @@ index 92d0aa6d66..c6eb88c34b 100644
thread.setDaemon(true);
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From d6a94ec50d3adf4c4c7ed9c15c680b40bab4f77e Mon Sep 17 00:00:00 2001
From 8124c833fa4861c85f5451ca8e3e5033b0d83bde 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,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing
the plugin logger.
diff --git a/pom.xml b/pom.xml
index a70c0ec07a..5ab1f29846 100644
index e6395c773..026dcfdab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,7 @@
@ -28,7 +28,7 @@ index a70c0ec07a..5ab1f29846 100644
<dependency>
<groupId>org.apache.logging.log4j</groupId>
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index d873256c01..783aa6db1f 100644
index d873256c0..783aa6db1 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -286,7 +286,7 @@ public class SpigotConfig
@ -41,7 +41,7 @@ index d873256c01..783aa6db1f 100644
public static int playerShuffle;
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 08b6bb7f97..9f8334376f 100644
index 08b6bb7f9..9f8334376 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -2,10 +2,22 @@
@ -70,5 +70,5 @@ index 08b6bb7f97..9f8334376f 100644
<TimeBasedTriggeringPolicy />
<OnStartupTriggeringPolicy />
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From bf759fa436ae169e7e28d17abdd048943a1d2e54 Mon Sep 17 00:00:00 2001
From 81c4efd41672172bdc421347dfc9429c64348208 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 d955106433..b7db74c9ba 100644
index 026dcfdab..dbc425524 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,6 +63,12 @@
@ -22,5 +22,5 @@ index d955106433..b7db74c9ba 100644
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-iostreams</artifactId>
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 1950fa644d4c5e34543c88115d259bc2133591ef Mon Sep 17 00:00:00 2001
From 60dfcd4e3f304e962558e5263c9e03c13b40058e Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Sat, 23 Sep 2017 21:07:20 +0200
Subject: [PATCH] Disable logger prefix for various plugins bypassing the
@ -11,7 +11,7 @@ log. Disable the logger prefix for these plugins so the messages
show up correctly.
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 9f8334376f..6711e6dff9 100644
index 9f8334376..6711e6dff 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -5,7 +5,8 @@
@ -35,5 +35,5 @@ index 9f8334376f..6711e6dff9 100644
</LoggerNamePatternSelector>
</PatternLayout>
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 246163fe2f7e4f715d94d4a759d31cc34fba3d75 Mon Sep 17 00:00:00 2001
From 066208622cb57436c6e832f8b57820d4b9be3c8c 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/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 579c551f95..5e3ca96871 100644
index 01ab2e151..399724d6a 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -58,6 +58,8 @@ import org.bukkit.inventory.CraftingInventory;
@ -17,9 +17,9 @@ index 579c551f95..5e3ca96871 100644
import co.aikar.timings.MinecraftTimings; // Paper
// CraftBukkit end
@@ -913,7 +915,34 @@ public class PlayerConnection implements PacketListenerPlayIn {
d8 = d5 - this.p;
d9 = d6 - this.q;
@@ -925,7 +927,34 @@ public class PlayerConnection implements PacketListenerPlayIn {
}
if (this.player.onGround && !packetplayinflying.b() && d8 > 0.0D) {
- this.player.jump();
+ // Paper start - Add player jump event
@ -54,5 +54,5 @@ index 579c551f95..5e3ca96871 100644
this.player.move(EnumMoveType.PLAYER, new Vec3D(d7, d8, d9));
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 78d292bb028979a78ee9567c774e6d97f4aa24f7 Mon Sep 17 00:00:00 2001
From 531d21dac3ed12422173380c48104e9c09248412 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Thu, 5 Oct 2017 01:54:07 +0100
Subject: [PATCH] handle PacketPlayInKeepAlive async
@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing
random disconnections for clients.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 5e3ca96871..0cb68a8553 100644
index 399724d6a..a4660f2b8 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2476,14 +2476,18 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -2486,14 +2486,18 @@ public class PlayerConnection implements PacketListenerPlayIn {
@Override
public void a(PacketPlayInKeepAlive packetplayinkeepalive) {
@ -40,5 +40,5 @@ index 5e3ca96871..0cb68a8553 100644
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 7792dcfee7c0a9197d18e8cd965acffb0fa7e5f3 Mon Sep 17 00:00:00 2001
From 710d05e1055a1d076ee3615b9a82256baba38b5e Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Tue, 10 Oct 2017 18:45:20 +0200
Subject: [PATCH] Expose client protocol version and virtual host
@ -6,7 +6,7 @@ Subject: [PATCH] Expose client protocol version and virtual host
diff --git a/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java
new file mode 100644
index 0000000000..5caca6439d
index 000000000..5caca6439
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java
@@ -0,0 +1,50 @@
@ -61,7 +61,7 @@ index 0000000000..5caca6439d
+
+}
diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java
index 078b711c47..740c8d2728 100644
index d0b9c6e3d..8928d93e4 100644
--- a/src/main/java/net/minecraft/server/HandshakeListener.java
+++ b/src/main/java/net/minecraft/server/HandshakeListener.java
@@ -15,6 +15,7 @@ public class HandshakeListener implements PacketHandshakingInListener {
@ -84,7 +84,7 @@ index 078b711c47..740c8d2728 100644
@Override
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index 3ccf166366..e2d8ed88f0 100644
index 3ccf16636..e2d8ed88f 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -60,6 +60,10 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -99,7 +99,7 @@ index 3ccf166366..e2d8ed88f0 100644
public NetworkManager(EnumProtocolDirection enumprotocoldirection) {
this.h = enumprotocoldirection;
diff --git a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java
index 4f008e4723..8545146fb1 100644
index 4f008e472..8545146fb 100644
--- a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java
+++ b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java
@@ -35,6 +35,7 @@ public class PacketHandshakingInSetProtocol implements Packet<PacketHandshakingI
@ -111,10 +111,10 @@ index 4f008e4723..8545146fb1 100644
return this.a;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index d554054e86..de43559647 100644
index 1c5007015..cade504af 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -184,6 +184,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -183,6 +183,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@ -136,5 +136,5 @@ index d554054e86..de43559647 100644
public double getEyeHeight(boolean ignorePose) {
if (ignorePose) {
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 284e000b1ea70ce686594d35c360f4bde826515b Mon Sep 17 00:00:00 2001
From a04915c0d944cae377ef56a079b1da1b840766fa Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 15 Oct 2017 00:29:07 +0100
Subject: [PATCH] revert serverside behavior of keepalives
@ -17,7 +17,7 @@ from networking or during connections flood of chunk packets on slower clients,
at the cost of dead connections being kept open for longer.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 0cb68a8553..1d140b3fe7 100644
index a4660f2b8..9af8e947e 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -70,7 +70,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@ -37,7 +37,7 @@ index 0cb68a8553..1d140b3fe7 100644
public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) {
this.minecraftServer = minecraftserver;
@@ -179,18 +180,26 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -182,18 +183,26 @@ public class PlayerConnection implements PacketListenerPlayIn {
}
this.minecraftServer.getMethodProfiler().enter("keepAlive");
@ -74,5 +74,5 @@ index 0cb68a8553..1d140b3fe7 100644
this.minecraftServer.getMethodProfiler().exit();
// CraftBukkit start
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From b9256e9dff588622499e1f768a5ebefef50626db Mon Sep 17 00:00:00 2001
From 23a78d79f6a374067ac84e4ac07d2160bf2e6614 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,11 +6,11 @@ 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 6acab2b97..50ded7483 100644
index 2d982ce1e..fd7de143e 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -957,6 +957,15 @@ public abstract class EntityHuman extends EntityLiving {
return super.isFrozen() || this.isSleeping();
@@ -1023,6 +1023,15 @@ public abstract class EntityHuman extends EntityLiving {
return vec3d;
}
+ // Paper start - send SoundEffect to everyone who can see fromEntity
@ -23,59 +23,59 @@ index 6acab2b97..50ded7483 100644
+ // Paper end
+
public void attack(Entity entity) {
if (entity.bs()) {
if (entity.bA()) {
if (!entity.t(this)) {
@@ -981,7 +990,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1047,7 +1056,7 @@ public abstract class EntityHuman extends EntityLiving {
int i = b0 + EnchantmentManager.b((EntityLiving) this);
if (this.isSprinting() && flag) {
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
++i;
flag1 = true;
}
@@ -1056,7 +1065,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1122,7 +1131,7 @@ public abstract class EntityHuman extends EntityLiving {
}
}
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
this.dE();
- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
this.ea();
}
@@ -1084,15 +1093,15 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1150,15 +1159,15 @@ public abstract class EntityHuman extends EntityLiving {
}
if (flag2) {
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
this.a(entity);
}
if (!flag2 && !flag3) {
if (flag) {
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
} else {
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
}
}
@@ -1144,7 +1153,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1210,7 +1219,7 @@ public abstract class EntityHuman extends EntityLiving {
this.applyExhaustion(world.spigotConfig.combatExhaustion); // Spigot - Change to use configurable value
} else {
- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F);
+ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility
if (flag4) {
entity.extinguish();
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 8add757cc..22f1d9e27 100644
index 8cbad8362..117939bb7 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -671,6 +671,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -591,6 +591,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.playSound(entityhuman, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, soundeffect, soundcategory, f, f1);
}
@ -88,5 +88,5 @@ index 8add757cc..22f1d9e27 100644
public abstract void playSound(@Nullable EntityHuman entityhuman, Entity entity, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1);
--
2.23.0
2.17.1

View File

@ -1,11 +1,11 @@
From 3885f25d48d36b79204cfdd48b64c40227a54199 Mon Sep 17 00:00:00 2001
From 2fceac6687db42c0f6c5fa45ee062a4d55722d6f Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 10 Nov 2017 23:03:12 -0500
Subject: [PATCH] Option for maximum exp value when merging orbs
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 891a52b2a..063ba6a1d 100644
index c145e27cc..671587631 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -338,4 +338,10 @@ public class PaperWorldConfig {
@ -20,7 +20,7 @@ index 891a52b2a..063ba6a1d 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 7f38d82a6..a438e4320 100644
index 2bf53db88..e310f2afe 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -537,16 +537,32 @@ public class CraftEventFactory {
@ -60,5 +60,5 @@ index 7f38d82a6..a438e4320 100644
// Spigot end
} else if (!(entity instanceof EntityPlayer)) {
--
2.23.0
2.17.1

View File

@ -1,11 +1,11 @@
From d8089c4bf30144a196c0cea8306ef6d32899ce37 Mon Sep 17 00:00:00 2001
From 353818a8456ac6461323ddb7ac6d1815cef712db Mon Sep 17 00:00:00 2001
From: pkt77 <parkerkt77@gmail.com>
Date: Fri, 10 Nov 2017 23:46:34 -0500
Subject: [PATCH] Add PlayerArmorChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 46dfb3c498..74c1f7c447 100644
index bf049bfc4..c03fcd2d3 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1,5 +1,6 @@
@ -14,8 +14,8 @@ index 46dfb3c498..74c1f7c447 100644
+import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
@@ -2276,6 +2277,13 @@ public abstract class EntityLiving extends Entity {
import com.google.common.collect.ImmutableSet;
@@ -2334,6 +2335,13 @@ public abstract class EntityLiving extends Entity {
ItemStack itemstack1 = this.getEquipment(enumitemslot);
if (!ItemStack.matches(itemstack1, itemstack)) {
@ -30,7 +30,7 @@ index 46dfb3c498..74c1f7c447 100644
if (!itemstack.isEmpty()) {
this.getAttributeMap().a(itemstack.a(enumitemslot));
diff --git a/src/main/java/net/minecraft/server/EnumItemSlot.java b/src/main/java/net/minecraft/server/EnumItemSlot.java
index 02a7ae6785..60b235f16f 100644
index 02a7ae678..60b235f16 100644
--- a/src/main/java/net/minecraft/server/EnumItemSlot.java
+++ b/src/main/java/net/minecraft/server/EnumItemSlot.java
@@ -16,6 +16,7 @@ public enum EnumItemSlot {
@ -42,5 +42,5 @@ index 02a7ae6785..60b235f16f 100644
return this.g;
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 1ef9c95d02515c643df7f8ac642186f4e81ade43 Mon Sep 17 00:00:00 2001
From 02a7530a63a6e92cd283b0416021f7b128296ae5 Mon Sep 17 00:00:00 2001
From: killme <killme-git@ibts.me>
Date: Sun, 12 Nov 2017 19:40:01 +0100
Subject: [PATCH] Prevent logins from being processed when the player has
@ -6,7 +6,7 @@ Subject: [PATCH] Prevent logins from being processed when the player has
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index c3ff7a6b8f..a2af5b4b29 100644
index a1be28390..828b64e41 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -56,7 +56,11 @@ public class LoginListener implements PacketLoginInListener {
@ -23,5 +23,5 @@ index c3ff7a6b8f..a2af5b4b29 100644
EntityPlayer entityplayer = this.server.getPlayerList().a(this.i.getId());
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 73f423d4b038df91294e25f806ab2836b290bfbf Mon Sep 17 00:00:00 2001
From 576298272c0aa61f8fd7f23d99c98bec4b5b2730 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Thu, 16 Nov 2017 12:12:41 +0000
Subject: [PATCH] use CB BlockState implementations for captured blocks
@ -18,10 +18,10 @@ the blockstate that will be valid for restoration, as opposed to dropping
information on restoration when the event is cancelled.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 22f1d9e27b..e780f7af40 100644
index 117939bb7..39b136935 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -348,7 +348,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -282,7 +282,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// CraftBukkit start - capture blockstates
CraftBlockState blockstate = null;
if (this.captureBlockStates) {
@ -31,5 +31,5 @@ index 22f1d9e27b..e780f7af40 100644
}
// CraftBukkit end
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 3da7acd8b4c3fb3ae58fe3f8c2c3210ef0f1a790 Mon Sep 17 00:00:00 2001
From 282a855337c9b21d88e3a025014d290aea141cf8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 6 Nov 2017 21:08:22 -0500
Subject: [PATCH] API to get a BlockState without a snapshot
@ -13,10 +13,10 @@ also Avoid NPE during CraftBlockEntityState load if could not get TE
If Tile Entity was null, correct Sign to return empty lines instead of null
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index af6977dcd..c72b01386 100644
index 630b27915..958279249 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -230,7 +230,12 @@ public abstract class TileEntity implements KeyedObject { // Paper
@@ -231,7 +231,12 @@ public abstract class TileEntity implements KeyedObject { // Paper
}
// CraftBukkit start - add method
@ -29,7 +29,7 @@ index af6977dcd..c72b01386 100644
if (world == null) return null;
// Spigot start
org.bukkit.block.Block block = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ());
@@ -239,7 +244,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
@@ -240,7 +245,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
return null;
}
// Spigot end
@ -39,7 +39,7 @@ index af6977dcd..c72b01386 100644
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
index d3e524093..da3c50c70 100644
index 3d632543b..887ade5e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -309,6 +309,20 @@ public class CraftBlock implements Block {
@ -131,5 +131,5 @@ index 15022ada0..af15656cc 100644
@Override
--
2.24.0
2.17.1

View File

@ -1,4 +1,4 @@
From 8dc339d494ac04fa85ad7eca65213096c14c98f4 Mon Sep 17 00:00:00 2001
From 78dda52d682ec67a2f8154d53b92ee578ae623e7 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,10 +14,10 @@ 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 1d140b3fe7..6008613fae 100644
index 9af8e947e..ad2a36627 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -521,10 +521,10 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -524,10 +524,10 @@ public class PlayerConnection implements PacketListenerPlayIn {
@Override
public void a(PacketPlayInTabComplete packetplayintabcomplete) {
@ -30,7 +30,7 @@ index 1d140b3fe7..6008613fae 100644
return;
}
// CraftBukkit end
@@ -534,12 +534,37 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -537,12 +537,37 @@ public class PlayerConnection implements PacketListenerPlayIn {
stringreader.skip();
}
@ -72,10 +72,10 @@ index 1d140b3fe7..6008613fae 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 308ae2e157..3938adf7c7 100644
index 2f7769c00..9fe19fb59 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1668,7 +1668,7 @@ public final class CraftServer implements Server {
@@ -1671,7 +1671,7 @@ public final class CraftServer implements Server {
offers = tabCompleteChat(player, message);
}
@ -85,7 +85,7 @@ index 308ae2e157..3938adf7c7 100644
return tabEvent.isCancelled() ? Collections.EMPTY_LIST : tabEvent.getCompletions();
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
index 5510266fb1..a51202ed53 100644
index 5510266fb..a51202ed5 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
@@ -28,6 +28,39 @@ public class ConsoleCommandCompleter implements Completer {
@ -129,5 +129,5 @@ index 5510266fb1..a51202ed53 100644
Waitable<List<String>> waitable = new Waitable<List<String>>() {
@Override
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From f28a5e2b34432128d6bed2ef1671bc526da11581 Mon Sep 17 00:00:00 2001
From c72f85b26faae29bc8da82ed7ba569f479c5f427 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 29 Nov 2017 22:18:54 -0500
Subject: [PATCH] Avoid NPE in PathfinderGoalTempt
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
index fb395bcded..d1164dd682 100644
index eafdcb916..d37a2fa0a 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
@@ -55,7 +55,7 @@ public class PathfinderGoalTempt extends PathfinderGoal {
@ -18,5 +18,5 @@ index fb395bcded..d1164dd682 100644
}
}
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 0b8205b527e5acfa6d114903d7f2c5f322871e34 Mon Sep 17 00:00:00 2001
From d658459a32f49fc117a6dd2af0355f472518ca05 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 22:02:53 -0500
Subject: [PATCH] PlayerPickupExperienceEvent
@ -6,18 +6,18 @@ Subject: [PATCH] PlayerPickupExperienceEvent
Allows plugins to cancel a player picking up an experience orb
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index 35f03947d..e6b810756 100644
index d4275e733..b3edb69a9 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -222,7 +222,7 @@ public class EntityExperienceOrb extends Entity {
@Override
public void pickup(EntityHuman entityhuman) {
if (!this.world.isClientSide) {
- if (this.d == 0 && entityhuman.bF == 0) {
+ if (this.d == 0 && entityhuman.bF == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
entityhuman.bF = 2;
- if (this.d == 0 && entityhuman.bC == 0) {
+ if (this.d == 0 && entityhuman.bC == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
entityhuman.bC = 2;
entityhuman.receive(this, 1);
Entry<EnumItemSlot, ItemStack> entry = EnchantmentManager.b(Enchantments.MENDING, (EntityLiving) entityhuman);
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 782fe85c988f7dff4bd866321a742aad5865e93d Mon Sep 17 00:00:00 2001
From f779071caff42d2a59ef762a8d39da9f3e0227e6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 22:57:26 -0500
Subject: [PATCH] ExperienceOrbMergeEvent
@ -8,7 +8,7 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor
metadata such as spawn reason, or conditionally move data from source to target.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 5257941e9..489943410 100644
index e310f2afe..9b314eacc 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -547,7 +547,7 @@ public class CraftEventFactory {
@ -21,5 +21,5 @@ index 5257941e9..489943410 100644
if ((int) newTotal < 0) continue; // Overflow
if (maxValue > 0 && newTotal > (long)maxValue) {
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From d5fb0d436ef69748430a2bd4aefd7d74ccc57ff0 Mon Sep 17 00:00:00 2001
From 72ec0195082095bf3f6043846e3450dd66f06963 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 20 Dec 2017 17:36:49 -0500
Subject: [PATCH] Ability to apply mending to XP API
@ -10,10 +10,10 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
index ed9aedc07..1d16919e6 100644
index 1822178e8..fabc7a8dd 100644
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
@@ -241,6 +241,11 @@ public class EnchantmentManager {
@@ -246,6 +246,11 @@ public class EnchantmentManager {
return getEnchantmentLevel(Enchantments.CHANNELING, itemstack) > 0;
}
@ -26,7 +26,7 @@ index ed9aedc07..1d16919e6 100644
public static Entry<EnumItemSlot, ItemStack> b(Enchantment enchantment, EntityLiving entityliving) {
Map<EnumItemSlot, ItemStack> map = enchantment.a(entityliving);
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index e6b810756..ba3e66f9e 100644
index b3edb69a9..87c6b77ce 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -254,10 +254,12 @@ public class EntityExperienceOrb extends Entity {
@ -43,10 +43,10 @@ index e6b810756..ba3e66f9e 100644
return i * 2;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3e8979dfe..a1481c5b8 100644
index cade504af..c82de14eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1063,8 +1063,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1047,8 +1047,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return GameMode.getByValue(getHandle().playerInteractManager.getGameMode().getId());
}
@ -88,5 +88,5 @@ index 3e8979dfe..a1481c5b8 100644
}
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From c8322dca6d932724fccf3fdff4d06653ae0bdcae Mon Sep 17 00:00:00 2001
From eaaf3357e4e96bf181c4f311f7e20ad9e798830c Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 11 Jan 2018 16:47:28 -0600
Subject: [PATCH] Make max squid spawn height configurable
@ -7,7 +7,7 @@ I don't know why upstream made only the minimum height configurable but
whatever
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 063ba6a1d..aacce432b 100644
index 671587631..e315a00cc 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -344,4 +344,9 @@ public class PaperWorldConfig {
@ -21,7 +21,7 @@ index 063ba6a1d..aacce432b 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
index f8fa64959..735d1879a 100644
index 8c4f3b2c2..1c1ff2069 100644
--- a/src/main/java/net/minecraft/server/EntitySquid.java
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
@@ -171,7 +171,8 @@ public class EntitySquid extends EntityWaterAnimal {
@ -35,5 +35,5 @@ index f8fa64959..735d1879a 100644
public void a(float f, float f1, float f2) {
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From d12fdc3e162f3ed34415d5aab640a2c0dde75f70 Mon Sep 17 00:00:00 2001
From 77f5f5b6b827dea777daf452900e3aea606e3cbd Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 14 Jan 2018 17:01:31 -0500
Subject: [PATCH] PreCreatureSpawnEvent
@ -15,40 +15,39 @@ instead and save a lot of server resources.
See: https://github.com/PaperMC/Paper/issues/917
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
index 59bd9ccd70..6f5d8b0315 100644
index 258e96ba5..fe8bc7f75 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -104,6 +104,28 @@ public abstract class MobSpawnerAbstract {
@@ -105,6 +105,27 @@ public abstract class MobSpawnerAbstract {
double d5 = j >= 3 ? nbttaglist.h(2) : (double) blockposition.getZ() + (world.random.nextDouble() - world.random.nextDouble()) * (double) this.spawnRange + 0.5D;
if (world.c(((EntityTypes) optional.get()).a(d3, d4, d5)) && EntityPositionTypes.a((EntityTypes) optional.get(), world.getMinecraftWorld(), EnumMobSpawn.SPAWNER, new BlockPosition(d3, d4, d5), world.getRandom())) {
+ // Paper start
+ EntityTypes entityType = optional.get();
+ String key = EntityTypes.getName(entityType).getKey();
if (world.a(((EntityTypes) optional.get()).a(d3, d4, d5)) && EntityPositionTypes.a((EntityTypes) optional.get(), world.getMinecraftWorld(), EnumMobSpawn.SPAWNER, new BlockPosition(d3, d4, d5), world.getRandom())) {
+ // Paper start
+ EntityTypes entityType = optional.get();
+ String key = EntityTypes.getName(entityType).getKey();
+
+ org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(key);
+ if (type != null) {
+ com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event;
+ event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent(
+ MCUtil.toLocation(world, d3, d4, d5),
+ type,
+ org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER
+ );
+ if (!event.callEvent()) {
+ flag = true;
+ if (event.shouldAbortSpawn()) {
+ break;
+ org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(key);
+ if (type != null) {
+ com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event;
+ event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent(
+ MCUtil.toLocation(world, d3, d4, d5),
+ type,
+ org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER
+ );
+ if (!event.callEvent()) {
+ flag = true;
+ if (event.shouldAbortSpawn()) {
+ break;
+ }
+ continue;
+ }
+ continue;
+ }
+ }
+ // Paper end
+
+ // Paper end
Entity entity = EntityTypes.a(nbttagcompound, world, (entity1) -> {
entity1.setPositionRotation(d3, d4, d5, entity1.yaw, entity1.pitch);
return entity1;
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 9c065c9997..30da877d53 100644
index 02157d051..487114367 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -38,7 +38,7 @@ public final class SpawnerCreature {
@ -61,7 +60,7 @@ index 9c065c9997..30da877d53 100644
while (true) {
@@ -77,6 +77,25 @@ public final class SpawnerCreature {
if (a(entitypositiontypes_surface, (IWorldReader) world, (BlockPosition) blockposition_mutableblockposition, entitytypes) && EntityPositionTypes.a(entitytypes, world, EnumMobSpawn.NATURAL, blockposition_mutableblockposition, world.random) && world.c(entitytypes.a((double) f, (double) k, (double) f1))) {
if (a(entitypositiontypes_surface, (IWorldReader) worldserver, (BlockPosition) blockposition_mutableblockposition, entitytypes) && EntityPositionTypes.a(entitytypes, worldserver, EnumMobSpawn.NATURAL, blockposition_mutableblockposition, worldserver.random) && worldserver.a(entitytypes.a((double) f, (double) k, (double) f1))) {
EntityInsentient entityinsentient;
+ // Paper start
@ -84,8 +83,8 @@ index 9c065c9997..30da877d53 100644
+ // Paper end
+
try {
Entity entity = entitytypes.a(world);
Entity entity = entitytypes.a((World) worldserver);
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From d13d8591c15acda5b1d6521ddad05834b9fbc65b Mon Sep 17 00:00:00 2001
From 880e221e575862228c507b8f5dcb67ca4d78f2b0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 14 Jan 2018 17:36:02 -0500
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent
@ -9,10 +9,10 @@ from triggering monster spawns on a server.
Also a highly more effecient way to blanket block spawns in a world
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 6a3a66e7d..649600b3e 100644
index 492d1538f..df24bac3b 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -842,12 +842,24 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -843,12 +843,24 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange;
chunkRange = (chunkRange > 8) ? 8 : chunkRange;
@ -40,5 +40,5 @@ index 6a3a66e7d..649600b3e 100644
}
--
2.24.0
2.17.1

View File

@ -1,4 +1,4 @@
From 2abab834a6150dde60c05f78153364368618be36 Mon Sep 17 00:00:00 2001
From 2ef86bc0487e416d204b91b9fb1ca946971dbe13 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 19 Jan 2018 00:36:25 -0500
Subject: [PATCH] Add setPlayerProfile API for Skulls
@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo
which commonly cause rate limit issues with Mojang API
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
index a4bc7f9701..2dd2f476f0 100644
index a4bc7f970..2dd2f476f 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
@@ -1,5 +1,7 @@
@ -48,7 +48,7 @@ index a4bc7f9701..2dd2f476f0 100644
public BlockFace getRotation() {
BlockData blockData = getBlockData();
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
index 0136e1bfe1..aee97b9f03 100644
index a83abc722..c29a78fd3 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -3,6 +3,8 @@ package org.bukkit.craftbukkit.inventory;
@ -89,5 +89,5 @@ index 0136e1bfe1..aee97b9f03 100644
public OfflinePlayer getOwningPlayer() {
if (hasOwner()) {
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 983dc15ebbccfcee1a79c984189d6a20984b7223 Mon Sep 17 00:00:00 2001
From 29b51a8a3a8baa13e34edeb2742e860244d98ccc Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 2 Jan 2018 00:31:26 -0500
Subject: [PATCH] Fill Profile Property Events
@ -11,7 +11,7 @@ If Mojang API does need to be hit, event fire so you can get the results.
This is useful for implementing a ProfileCache for Player Skulls
diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java
index 4b2a67423f..61cfdf73c8 100644
index 4b2a67423..61cfdf73c 100644
--- a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java
+++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java
@@ -1,5 +1,7 @@
@ -40,5 +40,5 @@ index 4b2a67423f..61cfdf73c8 100644
@Override
--
2.22.0
2.17.1

View File

@ -1,11 +1,11 @@
From 365884033fb92fc9c1f6c5ebbc4b1d73690de74b Mon Sep 17 00:00:00 2001
From a995742255e4fdbd4865622b4047974b45b91b59 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 19 Jan 2018 08:15:29 -0600
Subject: [PATCH] PlayerAdvancementCriterionGrantEvent
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
index 4040eb3b3f..b7f1f39a16 100644
index 4407e760c..fe5bea363 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
@@ -276,6 +276,12 @@ public class AdvancementDataPlayer {
@ -22,5 +22,5 @@ index 4040eb3b3f..b7f1f39a16 100644
this.i.add(advancement);
flag = true;
--
2.22.0
2.17.1

View File

@ -1,4 +1,4 @@
From 8566c6907149379db72cac436dc270dc320039e0 Mon Sep 17 00:00:00 2001
From adffa3a0e999f6283f0c7cc41049bd40d3a7354c Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 27 Jan 2018 17:04:14 -0500
Subject: [PATCH] Add ArmorStand Item Meta
@ -13,7 +13,7 @@ starting point for future additions in this area.
Fixes GH-559
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java
index f700522840..3723faccac 100644
index f70052284..3723facca 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java
@@ -8,13 +8,39 @@ import org.bukkit.Material;
@ -267,7 +267,7 @@ index f700522840..3723faccac 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 479a5686aa..6a6b80b5bd 100644
index 5ee968f2e..1eede4bcc 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1428,7 +1428,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@ -288,7 +288,7 @@ index 479a5686aa..6a6b80b5bd 100644
}
return HANDLED_TAGS;
diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
index b07a3051ca..919f2ffa91 100644
index 630233960..3a82bede7 100644
--- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
+++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
@@ -6,6 +6,7 @@ import java.util.ArrayList;
@ -299,7 +299,7 @@ index b07a3051ca..919f2ffa91 100644
import net.minecraft.server.Block;
import net.minecraft.server.IRegistry;
import net.minecraft.server.ITileEntity;
@@ -351,6 +352,7 @@ public class ItemMetaTest extends AbstractTestingBase {
@@ -313,6 +314,7 @@ public class ItemMetaTest extends AbstractTestingBase {
final CraftMetaArmorStand meta = (CraftMetaArmorStand) cleanStack.getItemMeta();
meta.entityTag = new NBTTagCompound();
meta.entityTag.setBoolean("Small", true);
@ -308,5 +308,5 @@ index b07a3051ca..919f2ffa91 100644
return cleanStack;
}
--
2.23.0
2.17.1

View File

@ -1,4 +1,4 @@
From 834cacda9a16782a8247a1e451c3debe61526423 Mon Sep 17 00:00:00 2001
From cf5b0d2dad1db1eb4f84e52d537acdff1882a711 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 11 Feb 2018 10:43:46 +0000
Subject: [PATCH] Extend Player Interact cancellation
@ -13,10 +13,10 @@ Update adjacent blocks of doors, double plants, pistons and beds
when cancelling interaction.
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index 10aa7da31f..aa139aee0e 100644
index 56f249c43..18ff6dd68 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -136,6 +136,11 @@ public class PlayerInteractManager {
@@ -137,6 +137,11 @@ public class PlayerInteractManager {
PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.LEFT_CLICK_BLOCK, blockposition, enumdirection, this.player.inventory.getItemInHand(), EnumHand.MAIN_HAND);
if (event.isCancelled()) {
// Let the client know the block still exists
@ -28,7 +28,7 @@ index 10aa7da31f..aa139aee0e 100644
this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition));
// Update any tile entity data for this block
TileEntity tileentity = this.world.getTileEntity(blockposition);
@@ -439,7 +444,25 @@ public class PlayerInteractManager {
@@ -449,7 +454,25 @@ public class PlayerInteractManager {
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, bottom ? blockposition.up() : blockposition.down()));
} else if (iblockdata.getBlock() instanceof BlockCake) {
((EntityPlayer) entityhuman).getBukkitEntity().sendHealthUpdate(); // SPIGOT-1341 - reset health for cake
@ -55,5 +55,5 @@ index 10aa7da31f..aa139aee0e 100644
enuminteractionresult = (event.useItemInHand() != Event.Result.ALLOW) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS;
} else if (this.gamemode == EnumGamemode.SPECTATOR) {
--
2.22.1
2.17.1

View File

@ -1,4 +1,4 @@
From e7671db0140d7ff978a3e1a2652aa527aebfb8fb Mon Sep 17 00:00:00 2001
From eda073002e6ae458f54b520c7b6c600ab5bdad3a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 24 Feb 2018 01:14:55 -0500
Subject: [PATCH] Tameable#getOwnerUniqueId API
@ -7,7 +7,7 @@ This is faster if all you need is the UUID, as .getOwner() will cause
an OfflinePlayer to be loaded from disk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
index 9952db3eb5..1aea5f3f05 100644
index 9952db3eb..1aea5f3f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
@@ -90,6 +90,9 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac
@ -21,7 +21,7 @@ index 9952db3eb5..1aea5f3f05 100644
return getHandle().getOwnerUUID();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java
index 5dfa40dda1..407b95cafd 100644
index 5dfa40dda..407b95caf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java
@@ -17,6 +17,9 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat
@ -35,5 +35,5 @@ index 5dfa40dda1..407b95cafd 100644
try {
return getHandle().getOwnerUUID();
--
2.22.0
2.17.1

Some files were not shown because too many files have changed in this diff Show More