Add PlayerProfile API to replace GameProfile

This simply provides the base API to create the objects. Further commits will come that adds
adds usage of this API to existing GameProfile based API's, as well as new API's.
This commit is contained in:
Aikar 2018-01-15 22:13:17 -05:00
parent 2f0e48c89a
commit 71c18fd5c9
No known key found for this signature in database
GPG key ID: 401ADFC9891FAAFE
76 changed files with 661 additions and 241 deletions

View file

@ -0,0 +1,273 @@
From 25ef872a8b8b59d5640efcbd915448b4c29d0d80 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 15 Jan 2018 21:46:46 -0500
Subject: [PATCH] Basic PlayerProfile API
Provides basic elements of a PlayerProfile to be used by future API/events
diff --git a/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java
new file mode 100644
index 00000000..fd8788be
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java
@@ -0,0 +1,82 @@
+package com.destroystokyo.paper.profile;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.Collection;
+import java.util.Set;
+import java.util.UUID;
+
+/**
+ * Represents a players profile for the game, such as UUID, Name, and textures.
+ */
+public interface PlayerProfile {
+
+ /**
+ * @return The players name, if set
+ */
+ @Nullable String getName();
+
+ /**
+ * @return The players unique identifier, if set
+ */
+ @Nullable UUID getId();
+
+ /**
+ * @return A copy of this players properties, such as textures.
+ * Values specified here are subject to implementation details.
+ */
+ @Nonnull Set<ProfileProperty> getProperties();
+
+ /**
+ * Sets a property. If the property already exists, the previous one will be replaced
+ * @param property Property to set.
+ */
+ void setProperty(ProfileProperty property);
+
+ /**
+ * Sets multiple properties. If any of the set properties already exist, it will be replaced
+ * @param properties The properties to set
+ */
+ void setProperties(Collection<ProfileProperty> properties);
+
+ /**
+ * Removes a specific property from this profile
+ * @param property The property to remove
+ * @return If a property was removed
+ */
+ boolean removeProperty(String property);
+
+ /**
+ * Removes a specific property from this profile
+ * @param property The property to remove
+ * @return If a property was removed
+ */
+ default boolean removeProperty(@Nonnull ProfileProperty property) {
+ return removeProperty(property.getName());
+ }
+
+ /**
+ * Removes all properties in the collection
+ * @param properties The properties to remove
+ * @return If any property was removed
+ */
+ default boolean removeProperties(Collection<ProfileProperty> properties) {
+ boolean removed = false;
+ for (ProfileProperty property : properties) {
+ if (removeProperty(property)) {
+ removed = true;
+ }
+ }
+ return removed;
+ }
+
+ /**
+ * Clears all properties on this profile
+ */
+ void clearProperties();
+
+ /**
+ * @return Does this profile have Name, UUID and Textures filled in
+ */
+ boolean isComplete();
+}
diff --git a/src/main/java/com/destroystokyo/paper/profile/ProfileProperty.java b/src/main/java/com/destroystokyo/paper/profile/ProfileProperty.java
new file mode 100644
index 00000000..d17061e6
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/ProfileProperty.java
@@ -0,0 +1,72 @@
+package com.destroystokyo.paper.profile;
+
+import com.google.common.base.Preconditions;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.Objects;
+
+/**
+ * Represents a property on a {@link PlayerProfile}
+ */
+public class ProfileProperty {
+ private final String name;
+ private final String value;
+ private final String signature;
+
+ public ProfileProperty(@Nonnull String name, @Nonnull String value) {
+ this(name, value, null);
+ }
+
+ public ProfileProperty(@Nonnull String name, @Nonnull String value, @Nullable String signature) {
+ this.name = Preconditions.checkNotNull(name, "ProfileProperty name can not be null");
+ this.value = Preconditions.checkNotNull(value, "ProfileProperty value can not be null");
+ this.signature = signature;
+ }
+
+ /**
+ * @return The property name, ie "textures"
+ */
+ @Nonnull
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @return The property value, likely to be base64 encoded
+ */
+ @Nonnull
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * @return A signature from Mojang for signed properties
+ */
+ @Nullable
+ public String getSignature() {
+ return signature;
+ }
+
+ /**
+ * @return If this property has a signature or not
+ */
+ public boolean isSigned() {
+ return this.signature != null;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ProfileProperty that = (ProfileProperty) o;
+ return Objects.equals(name, that.name) &&
+ Objects.equals(value, that.value) &&
+ Objects.equals(signature, that.signature);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name);
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index ed403c33..690d9c07 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -44,6 +44,9 @@ import org.bukkit.generator.ChunkGenerator;
import org.bukkit.inventory.ItemFactory;
import org.bukkit.inventory.meta.ItemMeta;
+import javax.annotation.Nullable; // Paper
+import javax.annotation.Nonnull; // Paper
+
/**
* Represents the Bukkit core, for version and Server singleton handling
*/
@@ -1216,6 +1219,37 @@ public final class Bukkit {
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
+
+ /**
+ * Creates a PlayerProfile for the specified uuid, with name as null
+ * @param uuid UUID to create profile for
+ * @return A PlayerProfile object
+ */
+ public static com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull UUID uuid) {
+ return server.createProfile(uuid);
+ }
+
+ /**
+ * Creates a PlayerProfile for the specified name, with UUID as null
+ * @param name Name to create profile for
+ * @return A PlayerProfile object
+ */
+ public static com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull String name) {
+ return server.createProfile(name);
+ }
+
+ /**
+ * Creates a PlayerProfile for the specified name/uuid
+ *
+ * Both UUID and Name can not be null at same time. One must be supplied.
+ *
+ * @param uuid UUID to create profile for
+ * @param name Name to create profile for
+ * @return A PlayerProfile object
+ */
+ public static com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name) {
+ return server.createProfile(uuid, name);
+ }
// Paper end
public static Server.Spigot spigot()
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 87ab9d2b..f2ee6516 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -45,6 +45,9 @@ import org.bukkit.generator.ChunkGenerator;
import org.bukkit.inventory.ItemFactory;
import org.bukkit.inventory.meta.ItemMeta;
+import javax.annotation.Nullable; // Paper
+import javax.annotation.Nonnull; // Paper
+
/**
* Represents a server implementation.
*/
@@ -1041,5 +1044,30 @@ public interface Server extends PluginMessageRecipient {
* @return true if player names should be suggested
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
+
+ /**
+ * Creates a PlayerProfile for the specified uuid, with name as null
+ * @param uuid UUID to create profile for
+ * @return A PlayerProfile object
+ */
+ com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull UUID uuid);
+
+ /**
+ * Creates a PlayerProfile for the specified name, with UUID as null
+ * @param name Name to create profile for
+ * @return A PlayerProfile object
+ */
+ com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull String name);
+
+ /**
+ * Creates a PlayerProfile for the specified name/uuid
+ *
+ * Both UUID and Name can not be null at same time. One must be supplied.
+ *
+ * @param uuid UUID to create profile for
+ * @param name Name to create profile for
+ * @return A PlayerProfile object
+ */
+ com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name);
// Paper end
}
--
2.15.1

View file

@ -1,4 +1,4 @@
From 3a5f33ba756ff0587b88c7b6340ff6368131f51e Mon Sep 17 00:00:00 2001
From 4ca727fe10c32507bd208efbecc6cb500fbf2534 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 17 Jun 2017 15:04:51 -0400
Subject: [PATCH] Shoulder Entities Release API
@ -34,5 +34,5 @@ index 518aa2a9..3939d4af 100644
* Gets the entity currently perched on the left shoulder or null if no
* entity.
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From bcbcc7dd8033e55027d77c7eaeaea3b6288b643e Mon Sep 17 00:00:00 2001
From da39e33d6a82ceead9d973492435f4d5954ffc30 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 17 Jun 2017 16:30:44 -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/pom.xml b/pom.xml
index 31b6f51b..60e9f910 100644
index c8b37997..13994dc2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,6 +62,13 @@
@ -260,5 +260,5 @@ index 00000000..455ffaa1
+ }
+}
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From a8aa41de68178cdcd147a3380b5c4bd10f3afd85 Mon Sep 17 00:00:00 2001
From b6a1a9c6c4cec87d0234bc858239e1f0d0db36c1 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()
@ -22,5 +22,5 @@ index 69fbdb3c..6fc00fdf 100644
// Paper end
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 15feb50af4d9bd5aa91a5f7206db294d15e141cc Mon Sep 17 00:00:00 2001
From 3fe26d396837d1f3aad927133722332e4d1f7b51 Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
Date: Thu, 20 Jul 2017 18:05:36 -0400
Subject: [PATCH] Allow Changing of Player Sample in ServerListPingEvent
@ -43,5 +43,5 @@ index 3c38d857..cb8d0fcd 100644
+
}
--
2.14.2
2.15.1

View file

@ -1,4 +1,4 @@
From a3b4ea5396b88e411599100f60091cbfe68dc242 Mon Sep 17 00:00:00 2001
From ff1048377c614b8a6f32c6d32d80b8ef8183650f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 10 Dec 2016 16:12:48 -0500
Subject: [PATCH] Improve the Saddle API for Horses
@ -94,5 +94,5 @@ index 00000000..010dc364
+ void setSaddle(ItemStack stack);
+}
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From c6ffdd4bda7232c5e22d96bc0c5e6f6a9c995401 Mon Sep 17 00:00:00 2001
From 8c7f590319e0322c7b6d85b44bbc280328f84e93 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 May 2016 23:55:48 -0400
Subject: [PATCH] ensureServerConversions API
@ -61,5 +61,5 @@ index 188ae6d7..6bb19b9d 100644
+ // Paper end
}
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From f2f0642e3bce08e006218abf9e98fb735a641963 Mon Sep 17 00:00:00 2001
From f5bac55ab934fbc8b94846e8e3c56c0c73a640c8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 May 2016 23:55:48 -0400
Subject: [PATCH] Add getI18NDisplayName API
@ -49,5 +49,5 @@ index 6bb19b9d..7a52da9b 100644
// Paper end
}
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From 225e4e635f54b9f4ba440a4a849a4bddde5c6309 Mon Sep 17 00:00:00 2001
From 75a76f4448b91caeb0c7ab06a8cdf5f26deb8818 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 3 Jul 2017 18:11:34 -0500
Subject: [PATCH] ProfileWhitelistVerifyEvent
@ -124,5 +124,5 @@ index 00000000..59b69b23
+ }
+}
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From eb6be9c2f7b8605aa86bf14cc297ef8db064922e Mon Sep 17 00:00:00 2001
From 665b880ec9616fbc2aea0aee0d2d2dbf2a3613e8 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 02:08:55 -0500
Subject: [PATCH] Make /plugins list alphabetical
@ -50,5 +50,5 @@ index e40b03a7..b1d384e8 100644
}
}
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From 9eeca99eb63a2892a12da3c26bcee01f402c337e Mon Sep 17 00:00:00 2001
From 95f344d24cda39523f06b944ee96d0c7c5893d06 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 01:49:43 -0500
Subject: [PATCH] LivingEntity#setKiller
@ -34,5 +34,5 @@ index be51e389..4a51c519 100644
* Adds the given {@link PotionEffect} to the living entity.
* <p>
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From 862e7c3bc002483f3d98c7f24ea0e06d6575a3eb Mon Sep 17 00:00:00 2001
From f27a613d49050d6941376ec69d0efa182cab743c Mon Sep 17 00:00:00 2001
From: Minecrell <dev@minecrell.net>
Date: Thu, 21 Sep 2017 16:14:13 +0200
Subject: [PATCH] Handle plugin prefixes in implementation logging
@ -40,5 +40,5 @@ index 16b1eb37..0abad9ad 100644
/**
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From fd9c40f3f333eab91c410c02c20b7b9f7c64ebf2 Mon Sep 17 00:00:00 2001
From 21357c1c249a2ebea454a1bb6b7b435c3fecdbfa Mon Sep 17 00:00:00 2001
From: Minecrell <dev@minecrell.net>
Date: Thu, 21 Sep 2017 16:33:12 +0200
Subject: [PATCH] Allow plugins to use SLF4J for logging
@ -14,7 +14,7 @@ it without having to shade it in the plugin and going through
several layers of logging abstraction.
diff --git a/pom.xml b/pom.xml
index ad385f45..b83c6eb1 100644
index 13994dc2..45145c5f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,6 +122,14 @@
@ -50,5 +50,5 @@ index c4e22c62..02670254 100644
* Returns the name of the plugin.
* <p>
--
2.14.1
2.15.1

View file

@ -1,4 +1,4 @@
From 26b7c3d6ac64b033578ae2d9a5bf30af408f1418 Mon Sep 17 00:00:00 2001
From ff0a13235b08f1c508e36951f820337a8d4e71ff Mon Sep 17 00:00:00 2001
From: Minecrell <dev@minecrell.net>
Date: Thu, 21 Sep 2017 19:41:20 +0200
Subject: [PATCH] Add workaround for plugins modifying the parent of the plugin
@ -106,5 +106,5 @@ index ca9c7796..a7d87d2d 100644
}
}
--
2.15.1.windows.2
2.15.1

View file

@ -1,4 +1,4 @@
From e35607cf3ee0d7905ad75771762bc290f16cc359 Mon Sep 17 00:00:00 2001
From 01c9b5fa055b84a9b62c60cc067cbe2cdd35d18f Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 28 Sep 2017 17:21:32 -0400
Subject: [PATCH] Add PlayerJumpEvent
@ -112,5 +112,5 @@ index 00000000..dd24f9b0
+ }
+}
--
2.14.1.windows.1
2.15.1

View file

@ -1,4 +1,4 @@
From 2d0f0d8b881b61178c0b87ce0f71c9855c79be60 Mon Sep 17 00:00:00 2001
From 33619b42899f0f4393688abc5274e8affa545445 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Tue, 10 Oct 2017 18:44:42 +0200
Subject: [PATCH] Expose client protocol version and virtual host
@ -68,5 +68,5 @@ index 39684300..23cc8b5e 100644
/**
* Gets the "friendly" name to display of this player. This may include
--
2.15.0
2.15.1

View file

@ -1,4 +1,4 @@
From feabeac37f30a2a99bbf59e58386a2585aabe8e2 Mon Sep 17 00:00:00 2001
From b39929bd4824e7c52ee40e1f6827f638507db00f Mon Sep 17 00:00:00 2001
From: pkt77 <parkerkt77@gmail.com>
Date: Fri, 10 Nov 2017 23:45:59 -0500
Subject: [PATCH] Add PlayerArmorChangeEvent
@ -146,5 +146,5 @@ index 00000000..9d56a9e7
+ }
+}
--
2.14.2
2.15.1

View file

@ -1,4 +1,4 @@
From 2ab4995d8bcb9c83e5ac45d99751509479c3b77d Mon Sep 17 00:00:00 2001
From d53ca5239656a103aa601c46cfaf190cc849fcda Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 6 Nov 2017 21:10:01 -0500
Subject: [PATCH] API to get a BlockState without a snapshot
@ -29,5 +29,5 @@ index 235c15bd..359b81f3 100644
* Returns the biome that this block resides in
*
--
2.15.0
2.15.1

View file

@ -1,4 +1,4 @@
From e4c7ebe4e225c8fc4fd29c95fbf24c903d58e0a8 Mon Sep 17 00:00:00 2001
From ce5e52c29872bfca3e47d91777b075db4ce21d20 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 26 Nov 2017 13:17:09 -0500
Subject: [PATCH] AsyncTabCompleteEvent

View file

@ -1,4 +1,4 @@
From 71b19d58c49cc29951d7a0b7b2cba4ae2bb603c8 Mon Sep 17 00:00:00 2001
From 252d7dcf7c5531b482ea92f756a6847d9b26ad84 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 9 Dec 2017 12:40:25 -0500
Subject: [PATCH] Display warning on deprecated recipe API

View file

@ -1,4 +1,4 @@
From 93048da2672d4843808fceebe06730974bf6ef44 Mon Sep 17 00:00:00 2001
From 8c10030d2ddd7eb0274ddbfd30318e68454db888 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 16:24:42 -0500
Subject: [PATCH] Add World#createExplosion(Location, float, boolean, boolean)

View file

@ -1,4 +1,4 @@
From d8a66c3b1137626639c052ccb0a1735431f7c576 Mon Sep 17 00:00:00 2001
From 6cb0feab026b4f79e51b1f840c8ad5be852013ca Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 22:00:41 -0500
Subject: [PATCH] PlayerPickupExperienceEvent

View file

@ -1,4 +1,4 @@
From 1e771a4b19373d4a328f569bb97193d8aea8961c Mon Sep 17 00:00:00 2001
From 618b35fdfaa7ce6b1fea185bca94cc8f736839c9 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 22:56:24 -0500
Subject: [PATCH] ExperienceOrbMergeEvent

View file

@ -1,4 +1,4 @@
From ff71cdc936e5e71adb9c467dbcfaf4cfceb116e8 Mon Sep 17 00:00:00 2001
From 28c0d637302920bc0e79dd70ed34d67221c51efe Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 20 Dec 2017 17:38:07 -0500
Subject: [PATCH] Ability to apply mending to XP API

View file

@ -1,4 +1,4 @@
From 9ac5fb79f031b9eb090079fc3937dbf5650b5464 Mon Sep 17 00:00:00 2001
From a7b0ffbf5d18452aef72e50c0c588d945024aada Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 14 Jan 2018 16:59:43 -0500
Subject: [PATCH] PreCreatureSpawnEvent

View file

@ -1,4 +1,4 @@
From 3fcb573b25e7ea1c5ded854f96b6b6b39114c8de Mon Sep 17 00:00:00 2001
From 10e8807ee044f09bbe115a187eee5a2cef747400 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 14 Jan 2018 17:31:37 -0500
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent

View file

@ -0,0 +1,147 @@
From 30d546fa1b645b81f27c28e696e1c4637165e7b2 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
diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftGameProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftGameProfile.java
new file mode 100644
index 000000000..9891d8f06
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/profile/CraftGameProfile.java
@@ -0,0 +1,99 @@
+package com.destroystokyo.paper.profile;
+
+import com.mojang.authlib.GameProfile;
+import com.mojang.authlib.properties.Property;
+import com.mojang.authlib.properties.PropertyMap;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.Collection;
+import java.util.Set;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+public class CraftGameProfile implements PlayerProfile {
+
+ private final GameProfile profile;
+
+ /**
+ * Constructs a new Game Profile with the specified ID and name.
+ * <p/>
+ * Either ID or name may be null/empty, but at least one must be filled.
+ *
+ * @param id Unique ID of the profile
+ * @param name Display name of the profile
+ * @throws IllegalArgumentException Both ID and name are either null or empty
+ */
+ public CraftGameProfile(UUID id, String name) {
+ this.profile = new GameProfile(id, name);
+ }
+
+ public GameProfile getGameProfile() {
+ return profile;
+ }
+
+ @Nullable
+ @Override
+ public UUID getId() {
+ return profile.getId();
+ }
+
+ @Nonnull
+ @Override
+ public Set<ProfileProperty> getProperties() {
+ return profile.getProperties().values().stream().map(this::toBukkit).collect(Collectors.toSet());
+ }
+
+ @Nullable
+ @Override
+ public String getName() {
+ return profile.getName();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return profile.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return profile.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return profile.toString();
+ }
+
+ @Override
+ public void setProperty(ProfileProperty property) {
+ String name = property.getName();
+ PropertyMap properties = profile.getProperties();
+ properties.removeAll(name);
+ properties.put(name, new Property(name, property.getValue(), property.getSignature()));
+ }
+
+ @Override
+ public void setProperties(Collection<ProfileProperty> properties) {
+ properties.forEach(this::setProperty);
+ }
+
+ @Override
+ public boolean removeProperty(String property) {
+ return !profile.getProperties().removeAll(property).isEmpty();
+ }
+
+ @Override
+ public void clearProperties() {
+ profile.getProperties().clear();
+ }
+
+ @Override
+ public boolean isComplete() {
+ return profile.isComplete();
+ }
+
+ private ProfileProperty toBukkit(Property property) {
+ return new ProfileProperty(property.getName(), property.getValue(), property.getSignature());
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8d0a9e8ca..7d26531d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -135,6 +135,10 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey;
import org.bukkit.event.server.TabCompleteEvent;
import net.md_5.bungee.api.chat.BaseComponent;
+import javax.annotation.Nullable; // Paper
+import javax.annotation.Nonnull; // Paper
+
+
public final class CraftServer implements Server {
private final String serverName = "Paper";
private final String serverVersion;
@@ -1923,5 +1927,17 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
+
+ public com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull UUID uuid) {
+ return createProfile(uuid, null);
+ }
+
+ public com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nonnull String name) {
+ return createProfile(null, name);
+ }
+
+ public com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name) {
+ return new com.destroystokyo.paper.profile.CraftGameProfile(uuid, name);
+ }
// Paper end
}
--
2.15.1

View file

@ -1,11 +1,11 @@
From aca19eb6976d67b8baf4909f79d3450959b2094e Mon Sep 17 00:00:00 2001
From 85a5ecfdfe44de1d6fb8e82118c4f53a2c37f274 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 9cda8a17..deb0f4a9 100644
index 9cda8a177..deb0f4a9c 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -1721,21 +1721,48 @@ public abstract class EntityHuman extends EntityLiving {
@ -62,7 +62,7 @@ index 9cda8a17..deb0f4a9 100644
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 a54548f0..a0128426 100644
index a54548f02..a0128426f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -444,6 +444,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@ -99,5 +99,5 @@ index a54548f0..a0128426 100644
public org.bukkit.entity.Entity getShoulderEntityLeft() {
if (!getHandle().getShoulderEntityLeft().isEmpty()) {
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From ae1bf6b77b7aff7800cba5fbec83a127419447d8 Mon Sep 17 00:00:00 2001
From 5b763d42808fabdc4bfc6310338de99a2d76dcac 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/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e8bddc17..0e255861 100644
index e8bddc171..0e255861d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1021,6 +1021,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@ -19,5 +19,5 @@ index e8bddc17..0e255861 100644
final DedicatedServer dedicatedserver = new DedicatedServer(options, DataConverterRegistry.a(), yggdrasilauthenticationservice, minecraftsessionservice, gameprofilerepository, usercache);
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From fd044412cd145d64581dddfbd1adbf99259b9126 Mon Sep 17 00:00:00 2001
From 524a5d32964ce51dcc7f2be7df620f12abd9bfba 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 2158fcd3..c5434e6b 100644
index 2158fcd32..c5434e6ba 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -53,6 +53,12 @@ public class LoginListener implements PacketLoginInListener, ITickable {
@ -22,5 +22,5 @@ index 2158fcd3..c5434e6b 100644
this.b();
} else if (this.g == LoginListener.EnumProtocolState.DELAY_ACCEPT) {
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From 07d9869dee1b26d16661f6ca11214a16b0954ef5 Mon Sep 17 00:00:00 2001
From 77aee58bb758526b4f20f846587dc64ff4ae388f 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 f08f4ae5..1f3aabd0 100644
index f08f4ae56..1f3aabd01 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -170,6 +170,7 @@ public abstract class Entity implements ICommandListener {
@ -37,7 +37,7 @@ index f08f4ae5..1f3aabd0 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 0562c6e3..06b064a7 100644
index 0562c6e34..06b064a78 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -107,6 +107,7 @@ public abstract class MobSpawnerAbstract {
@ -49,7 +49,7 @@ index 0562c6e3..06b064a7 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 8628cd5a..6f06584f 100644
index 8628cd5a2..6f06584ff 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -793,5 +793,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@ -64,5 +64,5 @@ index 8628cd5a..6f06584f 100644
// Paper end
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 3f187c2e2ae21a7984e1e3d87f2015a2ba0503b5 Mon Sep 17 00:00:00 2001
From 773807f01bfe47808176689487b33bdee794514c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 11 Jul 2017 23:17:57 -0400
Subject: [PATCH] Fix Anvil Level sync to client
@ -10,7 +10,7 @@ Was done incorrectly and is now causing level desyncs to client.
Always send current level to the client, and instead make setWindowProperty set the level.
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
index 175753c5..16ec6756 100644
index 175753c5a..16ec67569 100644
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
@@ -376,9 +376,9 @@ public class ContainerAnvil extends Container {
@ -26,7 +26,7 @@ index 175753c5..16ec6756 100644
this.lastLevelCost = this.levelCost;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b17f2c06..5c2bacc7 100644
index b17f2c067..5c2bacc7f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1337,6 +1337,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -42,5 +42,5 @@ index b17f2c06..5c2bacc7 100644
return true;
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 96d42683dd9accbc3584cb21897adc46d703bfbb Mon Sep 17 00:00:00 2001
From d1223562d51d9ff7482bc83692980f4a38ec9900 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sat, 22 Jul 2017 15:22:59 +0100
Subject: [PATCH] Add missing coverages for getTileEntity in order to attempt
@ -6,7 +6,7 @@ Subject: [PATCH] Add missing coverages for getTileEntity in order to attempt
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 2ac5caaa..c03be509 100644
index 2ac5caaa4..c03be509f 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -235,6 +235,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -24,5 +24,5 @@ index 2ac5caaa..c03be509 100644
return result;
}
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From 2cad5316cd2c9730c862529b7f99ae749e52827e Mon Sep 17 00:00:00 2001
From 0b99c5bb088b5a88f180704eb53797a34bac74c3 Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
Date: Fri, 5 May 2017 18:59:22 -0400
Subject: [PATCH] Allow Changing of Player Sample in ServerListPingEvent
diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java
index 313bb000..45d6984f 100644
index 313bb0007..45d6984f7 100644
--- a/src/main/java/net/minecraft/server/PacketStatusListener.java
+++ b/src/main/java/net/minecraft/server/PacketStatusListener.java
@@ -5,6 +5,7 @@ import com.mojang.authlib.GameProfile;
@ -64,5 +64,5 @@ index 313bb000..45d6984f 100644
playerSample.a(profiles.toArray(new GameProfile[profiles.size()]));
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 80b5772cc61e3c128c19ebe9a75a123d28147c8d Mon Sep 17 00:00:00 2001
From ceab391a41c2fe5e4a02dd1ffe57a7501227127c 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 62c7d44c..64d75459 100644
index 62c7d44c7..64d75459a 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 62c7d44c..64d75459 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
index 5adbd743..2f685240 100644
index 5adbd7437..2f6852404 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
@@ -4,24 +4,16 @@ import net.minecraft.server.IInventory;
@ -58,7 +58,7 @@ index 5adbd743..2f685240 100644
}
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 00000000..615010c4
index 000000000..615010c40
--- /dev/null
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java
@@ -0,0 +1,20 @@
@ -83,5 +83,5 @@ index 00000000..615010c4
+ }
+}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From e12cc521c629a1d8a05a229794658dd2962c8c64 Mon Sep 17 00:00:00 2001
From aae8be84bd2b26b5a192bd5f1b6cdc2eb220d051 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,7 +7,7 @@ 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 49ebad22..eb698733 100644
index 49ebad22e..eb6987338 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -194,4 +194,11 @@ public final class CraftItemFactory implements ItemFactory {
@ -23,5 +23,5 @@ index 49ebad22..eb698733 100644
+ // Paper end
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 98e88b7247d092b1fcba762c008965d0268a8df5 Mon Sep 17 00:00:00 2001
From 64d5c620752b7798dd9e34beabd74cd35a563536 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
@ -8,7 +8,7 @@ Currently the server only supports the English language. To override this,
You must replace the language file embedded in the server jar.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index eb698733..c2f26577 100644
index eb6987338..c2f26577c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -200,5 +200,18 @@ public final class CraftItemFactory implements ItemFactory {
@ -31,5 +31,5 @@ index eb698733..c2f26577 100644
// Paper end
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From ec50fe635952450e4432cb04e3c197a68b9a370f Mon Sep 17 00:00:00 2001
From 7583b605421861b80bd88300dca7ec8e6795143a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 27 Jul 2017 00:06:43 -0400
Subject: [PATCH] GH-806: Respect saving disabled before unloading all chunks
@ -9,7 +9,7 @@ This behavior causes a save to occur even though saving was supposed to be turne
It's triggered when Hell/End worlds are empty of players.
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 0b10f168..4af55732 100644
index 0b10f1684..4af557321 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -220,7 +220,7 @@ public class PlayerChunkMap {
@ -22,5 +22,5 @@ index 0b10f168..4af55732 100644
}
} // Paper timing
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From cc8d081f195f2c1ed76ffe8d833c41d5509a1c3a Mon Sep 17 00:00:00 2001
From 2cb950c06bc8c5d3d461968dc63055fb6e4f7fd7 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 21973468..00b8887b 100644
index 219734689..00b8887bc 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -538,9 +538,9 @@ public abstract class PlayerList {
@ -48,5 +48,5 @@ index 21973468..00b8887b 100644
public boolean isOp(GameProfile gameprofile) {
return this.operators.d(gameprofile) || this.server.R() && this.server.worlds.get(0).getWorldData().u() && this.server.Q().equalsIgnoreCase(gameprofile.getName()) || this.u; // CraftBukkit
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 359bb97f40f4839d44d820d1cd261f92af1f9b3a Mon Sep 17 00:00:00 2001
From f8d03b8ecb61934d691a2f7f4a4da62e00df9671 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,7 +9,7 @@ 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 d3d848f8..21628e19 100644
index d3d848f8c..21628e196 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -209,10 +209,12 @@ public class Main {
@ -29,5 +29,5 @@ index d3d848f8..21628e19 100644
}
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From c87e1e895f548c24e80196c4ea01bd90d3ea503a Mon Sep 17 00:00:00 2001
From 6e332112aa0268917c09e440ff581f07038d1763 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 5a76821e..858bbef5 100644
index 5a76821ea..858bbef5b 100644
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
@@ -58,7 +58,7 @@ public class EntityOcelot extends EntityTameableAnimal {
@ -18,5 +18,5 @@ index 5a76821e..858bbef5 100644
protected void initAttributes() {
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From 80ea019ce112d14db92860c75e74ddfd853c5e81 Mon Sep 17 00:00:00 2001
From 8157ea3db7e48a39c5810f391a16f25d81f7e5eb 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 06b064a7..c29df55f 100644
index 06b064a78..c29df55fa 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -113,6 +113,9 @@ public abstract class MobSpawnerAbstract {
@ -28,5 +28,5 @@ index 06b064a7..c29df55f 100644
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From a6f9dba98ea7fb8efa3d0acd5b7a2833c76260e5 Mon Sep 17 00:00:00 2001
From 49c70f3fff8b7fbb9c3525b210359b1323eed49f Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Fri, 11 Aug 2017 03:29:26 +0200
Subject: [PATCH] MC-94186 Fix dragon egg falling in lazy chunks
@ -8,7 +8,7 @@ Fixes falling dragon eggs in lazy chunks fall to the block below the last empty
See also https://bugs.mojang.com/browse/MC-94186
diff --git a/src/main/java/net/minecraft/server/BlockDragonEgg.java b/src/main/java/net/minecraft/server/BlockDragonEgg.java
index ce186f82..291342c9 100644
index ce186f825..291342c90 100644
--- a/src/main/java/net/minecraft/server/BlockDragonEgg.java
+++ b/src/main/java/net/minecraft/server/BlockDragonEgg.java
@@ -44,7 +44,7 @@ public class BlockDragonEgg extends Block {
@ -21,5 +21,5 @@ index ce186f82..291342c9 100644
}
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From d4fd8c2c3305c2dbd19b8a9cd8f701497e9dfce4 Mon Sep 17 00:00:00 2001
From ed3c41e1569e1bf2ccb034d9492a8e0675781bd1 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 b0139fff..00513d02 100644
index b0139fff6..00513d02c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1572,7 +1572,11 @@ public abstract class World implements IBlockAccess {
@ -22,5 +22,5 @@ index b0139fff..00513d02 100644
this.tileEntityListUnload.clear();
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 4e4a640186a7fab650d7adc335162ac608e12451 Mon Sep 17 00:00:00 2001
From 4dde9263200c043ee84d1f97674bfccb42a3d38e 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 f4b23703..f5cb9799 100644
index f4b237034..f5cb9799b 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 f4b23703..f5cb9799 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index c5434e6b..75df9283 100644
index c5434e6ba..75df92836 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -250,6 +250,10 @@ public class LoginListener implements PacketLoginInListener, ITickable {
@ -42,5 +42,5 @@ index c5434e6b..75df9283 100644
LoginListener.c.error("Couldn\'t verify username because servers are unavailable");
}
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From e197c8b6e39155f3ac30cdea8cc80b4ab77a516d Mon Sep 17 00:00:00 2001
From a73f221ae8da67088809289e20070d9abda308ac 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/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index b9e10603..413bab0c 100644
index b9e106031..413bab0c9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -252,6 +252,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@ -26,5 +26,5 @@ index b9e10603..413bab0c 100644
return addPotionEffect(effect, false);
}
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From 393357be31b0748391a60219438ae3da64cac021 Mon Sep 17 00:00:00 2001
From 85d259828c414dd09689aa55984d663a59bc2423 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Mon, 18 Sep 2017 13:38:40 -0700
Subject: [PATCH] Avoid NPE during CraftBlockEntityState load
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 54b719d9..3f2c5b2d 100644
index 54b719d91..3f2c5b2d5 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -60,7 +60,7 @@ public class TileEntitySign extends TileEntity {
@ -18,7 +18,7 @@ index 54b719d9..3f2c5b2d 100644
};
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
index 266f87d7..22dcaea7 100644
index 266f87d7f..22dcaea72 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
@@ -24,6 +24,7 @@ public class CraftBlockEntityState<T extends TileEntity> extends CraftBlockState
@ -38,5 +38,5 @@ index 266f87d7..22dcaea7 100644
}
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From c404918d7567fa0dd5a29af990886365d0d20742 Mon Sep 17 00:00:00 2001
From 398ab25e228ff38b78e33b3dfe4d85d028bcebfc Mon Sep 17 00:00:00 2001
From: stonar96 <minecraft.stonar96@gmail.com>
Date: Thu, 21 Sep 2017 00:38:47 +0200
Subject: [PATCH] Anti-Xray
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index ca1dce68..37b26827 100644
index ca1dce687..37b26827d 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -1,7 +1,10 @@
@ -47,7 +47,7 @@ index ca1dce68..37b26827 100644
}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
new file mode 100644
index 00000000..6833cfad
index 000000000..6833cfad2
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
@@ -0,0 +1,36 @@
@ -89,7 +89,7 @@ index 00000000..6833cfad
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
new file mode 100644
index 00000000..91fa945f
index 000000000..91fa945fa
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
@@ -0,0 +1,627 @@
@ -722,7 +722,7 @@ index 00000000..91fa945f
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
new file mode 100644
index 00000000..92399318
index 000000000..92399318c
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
@@ -0,0 +1,56 @@
@ -784,7 +784,7 @@ index 00000000..92399318
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
new file mode 100644
index 00000000..aca0b9d7
index 000000000..aca0b9d71
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
@@ -0,0 +1,84 @@
@ -874,7 +874,7 @@ index 00000000..aca0b9d7
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/PacketPlayOutMapChunkInfo.java b/src/main/java/com/destroystokyo/paper/antixray/PacketPlayOutMapChunkInfo.java
new file mode 100644
index 00000000..0bd269a0
index 000000000..0bd269a07
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/PacketPlayOutMapChunkInfo.java
@@ -0,0 +1,80 @@
@ -960,7 +960,7 @@ index 00000000..0bd269a0
+}
diff --git a/src/main/java/com/destroystokyo/paper/antixray/PacketPlayOutMapChunkInfoAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/PacketPlayOutMapChunkInfoAntiXray.java
new file mode 100644
index 00000000..8ea2beb5
index 000000000..8ea2beb59
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/antixray/PacketPlayOutMapChunkInfoAntiXray.java
@@ -0,0 +1,28 @@
@ -993,7 +993,7 @@ index 00000000..8ea2beb5
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 1d056031..d1066d82 100644
index 1d056031b..d1066d82e 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -129,7 +129,7 @@ public class Chunk {
@ -1024,7 +1024,7 @@ index 1d056031..d1066d82 100644
this.initLighting();
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 14f88e91..bcce5e8b 100644
index 14f88e91d..bcce5e8b7 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -416,7 +416,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@ -1037,7 +1037,7 @@ index 14f88e91..bcce5e8b 100644
NibbleArray nibblearray = new NibbleArray(nbttagcompound1.getByteArray("Data"));
NibbleArray nibblearray1 = nbttagcompound1.hasKeyOfType("Add", 7) ? new NibbleArray(nbttagcompound1.getByteArray("Add")) : null;
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
index afdc4a77..aae227fd 100644
index afdc4a779..aae227fdb 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -9,9 +9,15 @@ public class ChunkSection {
@ -1077,7 +1077,7 @@ index afdc4a77..aae227fd 100644
int xx = i & 15;
int yy = (i >> 8) & 15;
diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java
index fa0fd8a9..401dc7cd 100644
index fa0fd8a9c..401dc7cdc 100644
--- a/src/main/java/net/minecraft/server/DataBits.java
+++ b/src/main/java/net/minecraft/server/DataBits.java
@@ -51,6 +51,7 @@ public class DataBits {
@ -1089,7 +1089,7 @@ index fa0fd8a9..401dc7cd 100644
return this.a;
}
diff --git a/src/main/java/net/minecraft/server/DataPalette.java b/src/main/java/net/minecraft/server/DataPalette.java
index 5765b258..d522611e 100644
index 5765b2588..d522611ec 100644
--- a/src/main/java/net/minecraft/server/DataPalette.java
+++ b/src/main/java/net/minecraft/server/DataPalette.java
@@ -4,8 +4,10 @@ import javax.annotation.Nullable;
@ -1104,7 +1104,7 @@ index 5765b258..d522611e 100644
IBlockData a(int i);
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 2cb462b8..67784b4a 100644
index 2cb462b8e..67784b4a6 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -2,22 +2,55 @@ package net.minecraft.server;
@ -1212,7 +1212,7 @@ index 2cb462b8..67784b4a 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index d0b67d8f..eeaa625d 100644
index d0b67d8fd..eeaa625d2 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -74,6 +74,7 @@ public class EntityFallingBlock extends Entity {
@ -1232,7 +1232,7 @@ index d0b67d8f..eeaa625d 100644
if (block instanceof BlockFalling) {
((BlockFalling) block).a(this.world, blockposition, this.block, iblockdata);
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index e148901e..61fbdeb6 100644
index e148901e5..61fbdeb6a 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -228,6 +228,7 @@ public class Explosion {
@ -1244,7 +1244,7 @@ index e148901e..61fbdeb6 100644
if (flag) {
double d0 = (double) ((float) blockposition.getX() + this.world.random.nextFloat());
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index d583cced..2eddb68d 100644
index d583cced6..2eddb68d7 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -62,7 +62,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -1343,7 +1343,7 @@ index d583cced..2eddb68d 100644
public QueuedPacket(Packet<?> packet, GenericFutureListener<? extends Future<? super Void>>... agenericfuturelistener) {
this.a = packet;
diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java
index c1273e98..d71734df 100644
index c1273e988..d71734df8 100644
--- a/src/main/java/net/minecraft/server/PacketDataSerializer.java
+++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java
@@ -33,6 +33,7 @@ public class PacketDataSerializer extends ByteBuf {
@ -1355,7 +1355,7 @@ index c1273e98..d71734df 100644
for (int j = 1; j < 5; ++j) {
if ((i & -1 << j * 7) == 0) {
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
index d16669bc..306a6b7c 100644
index d16669bcc..306a6b7cd 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -8,6 +8,10 @@ import java.util.Iterator;
@ -1448,7 +1448,7 @@ index d16669bc..306a6b7c 100644
if (flag) {
packetdataserializer.writeBytes(chunksection.getSkyLightArray().asBytes());
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index 48a008e0..045adbd3 100644
index 48a008e0a..045adbd3d 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -134,6 +134,8 @@ public class PlayerChunk {
@ -1477,7 +1477,7 @@ index 48a008e0..045adbd3 100644
} else {
this.a((Packet) (new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, this.chunk)));
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index a49b5c81..5ec7f581 100644
index a49b5c81a..5ec7f5819 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -200,6 +200,8 @@ public class PlayerInteractManager {
@ -1490,7 +1490,7 @@ index a49b5c81..5ec7f581 100644
public void a(BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java
index 8860a012..fa0d66d6 100644
index 8860a0129..fa0d66d63 100644
--- a/src/main/java/net/minecraft/server/RegistryBlockID.java
+++ b/src/main/java/net/minecraft/server/RegistryBlockID.java
@@ -47,6 +47,7 @@ public class RegistryBlockID<T> implements Registry { // Paper - Fix decompile e
@ -1502,7 +1502,7 @@ index 8860a012..fa0d66d6 100644
return this.a.size();
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 00513d02..592e5b3b 100644
index 00513d02c..592e5b3ba 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -35,6 +35,8 @@ import org.bukkit.generator.ChunkGenerator;
@ -1539,7 +1539,7 @@ index 00513d02..592e5b3b 100644
public void a(BlockPosition blockposition, Block block, EnumDirection enumdirection) {
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
index 9942f0c7..2da6edc6 100644
index 9942f0c75..2da6edc63 100644
--- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
@@ -73,7 +73,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator {
@ -1579,5 +1579,5 @@ index 9942f0c7..2da6edc6 100644
}
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From aebb8067ec31525beb2d173d9f2fa99a156ab4a6 Mon Sep 17 00:00:00 2001
From 5780ce5c1c883e145098b9357bb43ecfcd836df2 Mon Sep 17 00:00:00 2001
From: Minecrell <dev@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 42f2a99a..9ce02242 100644
index 42f2a99ab..9ce02242e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,13 @@
@ -30,7 +30,7 @@ index 42f2a99a..9ce02242 100644
<dependency>
<groupId>junit</groupId>
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index b3f1aa99..85445571 100644
index b3f1aa999..854455711 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -129,8 +129,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -47,5 +47,5 @@ index b3f1aa99..85445571 100644
thread.setDaemon(true);
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 0b6358f3a5862386306ec264fe07ceff558cee6d Mon Sep 17 00:00:00 2001
From ec9f527494698d241d2d3c0f1383cd5a6fed1c68 Mon Sep 17 00:00:00 2001
From: Minecrell <dev@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 9ce02242..16baff46 100644
index 9ce02242e..16baff46d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -94,7 +94,7 @@
@ -28,7 +28,7 @@ index 9ce02242..16baff46 100644
<!-- Paper - Add additional Log4J dependencies -->
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 9ce3e136..cc1f3ac9 100644
index 9ce3e1365..cc1f3ac96 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -282,7 +282,7 @@ public class SpigotConfig
@ -41,7 +41,7 @@ index 9ce3e136..cc1f3ac9 100644
public static int playerShuffle;
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 08b6bb7f..9f833437 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 08b6bb7f..9f833437 100644
<TimeBasedTriggeringPolicy />
<OnStartupTriggeringPolicy />
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From c0a65cbcad0baebd96d69f1278788e75e60ddc12 Mon Sep 17 00:00:00 2001
From 5c396d9b5ae99588482dc5c9991bfedc4974dbfd Mon Sep 17 00:00:00 2001
From: Minecrell <dev@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 16baff46..0296c13d 100644
index 16baff46d..0296c13d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,6 +98,12 @@
@ -22,5 +22,5 @@ index 16baff46..0296c13d 100644
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-iostreams</artifactId>
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 10655989e0019030d03071b1cfa0c044bde782ef Mon Sep 17 00:00:00 2001
From 6b7045636e1f88e97515fa5d543f4a409320f3ed Mon Sep 17 00:00:00 2001
From: Minecrell <dev@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 9f833437..6711e6df 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 9f833437..6711e6df 100644
</LoggerNamePatternSelector>
</PatternLayout>
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From 35f54d42ec2538dd1caf18e5946a17114a385dca Mon Sep 17 00:00:00 2001
From 309f155e98051c570eac0d5115ed058577b6341d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 28 Sep 2017 17:21:44 -0400
Subject: [PATCH] Add PlayerJumpEvent
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index deb0f4a9..579996d1 100644
index deb0f4a9c..579996d1e 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -1399,6 +1399,7 @@ public abstract class EntityHuman extends EntityLiving {
@ -17,7 +17,7 @@ index deb0f4a9..579996d1 100644
super.cu();
this.b(StatisticList.w);
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 9c8828eb..cc58a4a9 100644
index 9c8828ebd..cc58a4a93 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -57,6 +57,7 @@ import org.bukkit.inventory.EquipmentSlot;
@ -65,5 +65,5 @@ index 9c8828eb..cc58a4a9 100644
this.player.move(EnumMoveType.PLAYER, d7, d8, d9);
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 563bdc4c1166fc9fb05d51a82119b6f260859ef5 Mon Sep 17 00:00:00 2001
From 2fa4d2c6ca51041f47c8f2e2ce583aa67db30ae5 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,7 +15,7 @@ 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 cc58a4a9..a92bf896 100644
index cc58a4a93..a92bf8967 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2230,14 +2230,20 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@ -42,5 +42,5 @@ index cc58a4a9..a92bf896 100644
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 4af0a18551ba9f1b07af520837d356be39d82671 Mon Sep 17 00:00:00 2001
From b9052d98e21b73582ca84ba47978fd70ab42a3e7 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 00000000..5caca643
index 000000000..5caca6439
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java
@@ -0,0 +1,50 @@
@ -61,7 +61,7 @@ index 00000000..5caca643
+
+}
diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java
index 309ab18d..c583ab7d 100644
index 309ab18df..c583ab7d9 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 309ab18d..c583ab7d 100644
public void a(IChatBaseComponent ichatbasecomponent) {}
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index 2eddb68d..b93a26e8 100644
index 2eddb68d7..b93a26e8f 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -75,6 +75,10 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -99,7 +99,7 @@ index 2eddb68d..b93a26e8 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 aececa39..1d4ba3b3 100644
index aececa39d..1d4ba3b3d 100644
--- a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java
+++ b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java
@@ -33,6 +33,7 @@ public class PacketHandshakingInSetProtocol implements Packet<PacketHandshakingI
@ -111,7 +111,7 @@ index aececa39..1d4ba3b3 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 5c2bacc7..e5e3f7e8 100644
index 5c2bacc7f..e5e3f7e80 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -136,6 +136,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -136,5 +136,5 @@ index 5c2bacc7..e5e3f7e8 100644
public double getEyeHeight() {
return getEyeHeight(false);
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From b2ace419d82e64b1e3fcfc8810aeb1bdb044c219 Mon Sep 17 00:00:00 2001
From 02abc033533f70ef3165a97bfda3f5c2fa58633a 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 a92bf896..d0ab87d0 100644
index a92bf8967..d0ab87d0f 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -100,6 +100,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@ -65,5 +65,5 @@ index a92bf896..d0ab87d0 100644
this.minecraftServer.methodProfiler.b();
// CraftBukkit start
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From b4407358ba6030a47aa6c3b223c63a87055791a5 Mon Sep 17 00:00:00 2001
From 198db96cdd97f7cc470172cb2a7ca1493e779a74 Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Fri, 20 Oct 2017 04:33:45 +0200
Subject: [PATCH] Replace HashSet with fastutil's ObjectOpenHashSet in
@ -13,7 +13,7 @@ ObjectOpenHashSet never uses compareTo(), so the inconsistencies of NextTickList
Fixes https://github.com/PaperMC/Paper/issues/588
diff --git a/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java b/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java
index 80a5c29f..cd864c40 100644
index 80a5c29f3..cd864c404 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java
@@ -8,7 +8,7 @@ import java.util.TreeSet;
@ -26,5 +26,5 @@ index 80a5c29f..cd864c40 100644
public HashTreeSet() {
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 3a514f95ceda5af3d0729ad62d4493236139ea1a Mon Sep 17 00:00:00 2001
From a66b464f8cf90c2a6fbffc33dc3392c66c3d6b9e Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Tue, 31 Oct 2017 03:26:18 +0100
Subject: [PATCH] Send attack SoundEffects only to players who can see the
@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 579996d1..34723705 100644
index 579996d1e..347237055 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -939,6 +939,15 @@ public abstract class EntityHuman extends EntityLiving {
@ -72,7 +72,7 @@ index 579996d1..34723705 100644
entity.extinguish();
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 592e5b3b..d45cbf2f 100644
index 592e5b3ba..d45cbf2f6 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1061,6 +1061,12 @@ public abstract class World implements IBlockAccess {
@ -89,5 +89,5 @@ index 592e5b3b..d45cbf2f 100644
for (int i = 0; i < this.u.size(); ++i) {
((IWorldAccess) this.u.get(i)).a(entityhuman, soundeffect, soundcategory, d0, d1, d2, f, f1);
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From 84780f5c4befa622eacdc09a799255ad3a6969d1 Mon Sep 17 00:00:00 2001
From c3a4e34214b416d8987b146c4264a928195c7721 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 37b26827..fe6710f6 100644
index 37b26827d..fe6710f61 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -444,4 +444,10 @@ public class PaperWorldConfig {
@ -20,7 +20,7 @@ index 37b26827..fe6710f6 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d45cbf2f..0193364d 100644
index d45cbf2f6..0193364d2 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1143,16 +1143,30 @@ public abstract class World implements IBlockAccess {
@ -56,5 +56,5 @@ index d45cbf2f..0193364d 100644
} // Spigot end
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From 81fa95c749fe7820daa8066ad0a081d70d93c2c3 Mon Sep 17 00:00:00 2001
From d55f00f8d2dce4264c41e41bbbeb8e4882527a1e 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 839008ad..c0abea96 100644
index 839008ad7..c0abea96e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1,5 +1,6 @@
@ -30,7 +30,7 @@ index 839008ad..c0abea96 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 cdf3a3ba..be5d0bf8 100644
index cdf3a3ba4..be5d0bf89 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 cdf3a3ba..be5d0bf8 100644
return this.g;
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From f1c8d3cb4121c5db1a4eb26c86552855a2f593ea Mon Sep 17 00:00:00 2001
From 8a37f43707be04249d2965202bb0cb4b5c3d860f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 11 Nov 2017 17:57:39 -0500
Subject: [PATCH] Improve Structures Checking
@ -14,7 +14,7 @@ that has been around for a whilewith lots of structures due to ineffeciencies
in how MC stores structures (even unloaded chunks has structured data loaded)
diff --git a/src/main/java/net/minecraft/server/StructureBoundingBox.java b/src/main/java/net/minecraft/server/StructureBoundingBox.java
index db419cd9..d9329bd4 100644
index db419cd99..d9329bd42 100644
--- a/src/main/java/net/minecraft/server/StructureBoundingBox.java
+++ b/src/main/java/net/minecraft/server/StructureBoundingBox.java
@@ -4,12 +4,14 @@ import com.google.common.base.MoreObjects;
@ -47,7 +47,7 @@ index db419cd9..d9329bd4 100644
return baseblockposition.getX() >= this.a && baseblockposition.getX() <= this.d && baseblockposition.getZ() >= this.c && baseblockposition.getZ() <= this.f && baseblockposition.getY() >= this.b && baseblockposition.getY() <= this.e;
}
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
index e8263baa..f4dfba8f 100644
index e8263baa4..f4dfba8f3 100644
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
@@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
@ -157,7 +157,7 @@ index e8263baa..f4dfba8f 100644
this.a.a(structurestart.a(i, j), i, j);
this.a.c();
diff --git a/src/main/java/net/minecraft/server/StructurePiece.java b/src/main/java/net/minecraft/server/StructurePiece.java
index 93903bc6..fcc13f81 100644
index 93903bc67..fcc13f811 100644
--- a/src/main/java/net/minecraft/server/StructurePiece.java
+++ b/src/main/java/net/minecraft/server/StructurePiece.java
@@ -53,6 +53,7 @@ public abstract class StructurePiece {
@ -169,7 +169,7 @@ index 93903bc6..fcc13f81 100644
return this.l;
}
diff --git a/src/main/java/net/minecraft/server/StructureStart.java b/src/main/java/net/minecraft/server/StructureStart.java
index b6abc74e..f9bb953d 100644
index b6abc74e0..f9bb953d0 100644
--- a/src/main/java/net/minecraft/server/StructureStart.java
+++ b/src/main/java/net/minecraft/server/StructureStart.java
@@ -19,10 +19,12 @@ public abstract class StructureStart {
@ -195,5 +195,5 @@ index b6abc74e..f9bb953d 100644
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From b7973c27c49bc075c50f065c8e0aeca571c376f8 Mon Sep 17 00:00:00 2001
From 0d510a6bc971e920c01ed2277923d11bbfd3ab3f 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 75df9283..eaac25dc 100644
index 75df92836..eaac25dc3 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -60,7 +60,11 @@ public class LoginListener implements PacketLoginInListener, ITickable {
@ -23,5 +23,5 @@ index 75df9283..eaac25dc 100644
EntityPlayer entityplayer = this.server.getPlayerList().a(this.i.getId());
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From f46d01aa332ae3b6e94ea7c436f3b598a0d01ee3 Mon Sep 17 00:00:00 2001
From cb8299e55aeab7e3634c7d4f334e0e989f2a72bc 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,7 +18,7 @@ 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 0193364d..e4502551 100644
index 0193364d2..e4502551b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -393,7 +393,8 @@ public abstract class World implements IBlockAccess {
@ -32,5 +32,5 @@ index 0193364d..e4502551 100644
}
// CraftBukkit end
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 001556ca19ffe8b95cb83b6844f24cd0cb6d14e0 Mon Sep 17 00:00:00 2001
From 64fcf554dbf7e71bf754a5ec9e9990f31033f5c2 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
@ -9,7 +9,7 @@ on the real tile entity.
This is useful for where performance is needed
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 237f7e6f..fe2df18d 100644
index 237f7e6fe..fe2df18df 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -266,7 +266,12 @@ public abstract class TileEntity {
@ -35,7 +35,7 @@ index 237f7e6f..fe2df18d 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 46670c34..a9d3f12b 100644
index 46670c346..a9d3f12bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -260,7 +260,22 @@ public class CraftBlock implements Block {
@ -62,7 +62,7 @@ index 46670c34..a9d3f12b 100644
switch (material) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
index 22dcaea7..3b5a90c3 100644
index 22dcaea72..3b5a90c39 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
@@ -22,17 +22,34 @@ public class CraftBlockEntityState<T extends TileEntity> extends CraftBlockState
@ -101,5 +101,5 @@ index 22dcaea7..3b5a90c3 100644
// copy tile entity data:
this.snapshot = this.createSnapshot(tileEntity);
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 96f6f3cd478e51a675aa42bcc039910be2663148 Mon Sep 17 00:00:00 2001
From ddc7428566ea2644e807eec0adc9f06829661059 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sat, 25 Nov 2017 17:02:33 +0000
Subject: [PATCH] Do not use a snapshot for hoppers
@ -18,7 +18,7 @@ ontop, I managed to log 380 cases per second where a snapshot would have been
taken in cases where the snapshot is redundant.
diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java
index 8ad08131..ebbe5d32 100644
index 8ad081316..ebbe5d326 100644
--- a/src/main/java/net/minecraft/server/TileEntityHopper.java
+++ b/src/main/java/net/minecraft/server/TileEntityHopper.java
@@ -219,11 +219,15 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
@ -63,5 +63,5 @@ index 8ad08131..ebbe5d32 100644
if (event.isCancelled()) {
iinventory.setItem(i, itemstack1);
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 92a5ed8c7c26a51185389ce24cb21f11333d0238 Mon Sep 17 00:00:00 2001
From 7677f1aafd2e836a61ba6a560c8fcbd7cc75dc3e Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 26 Nov 2017 13:19:58 -0500
Subject: [PATCH] AsyncTabCompleteEvent
@ -14,7 +14,7 @@ completion, such as offline players.
Also adds isCommand and getLocation to the sync TabCompleteEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index d0ab87d0..ca054afc 100644
index d0ab87d0f..ca054afcf 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2276,24 +2276,51 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@ -80,10 +80,10 @@ index d0ab87d0..ca054afc 100644
public void a(PacketPlayInSettings packetplayinsettings) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8d0a9e8c..97c32208 100644
index 7d26531d8..a9cedb997 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1639,8 +1639,8 @@ public final class CraftServer implements Server {
@@ -1643,8 +1643,8 @@ public final class CraftServer implements Server {
} else {
offers = tabCompleteChat(player, message);
}
@ -95,7 +95,7 @@ index 8d0a9e8c..97c32208 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 1e3aae3b..95d13c14 100644
index 1e3aae3b8..95d13c146 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 {
@ -139,5 +139,5 @@ index 1e3aae3b..95d13c14 100644
Waitable<List<String>> waitable = new Waitable<List<String>>() {
@Override
--
2.14.3
2.15.1

View file

@ -1,11 +1,11 @@
From f012ee2f9f2fae1549c1113bddbc7bd7365667e9 Mon Sep 17 00:00:00 2001
From a4b55d3c1a5a70f36a9a70c54c349e220ba6ad59 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 188825d1..8004f3a3 100644
index 188825d19..8004f3a3f 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
@@ -54,7 +54,7 @@ public class PathfinderGoalTempt extends PathfinderGoal {
@ -18,5 +18,5 @@ index 188825d1..8004f3a3 100644
}
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 892c8655eafdd3adc96aaa568873a300bda0d9a1 Mon Sep 17 00:00:00 2001
From 6dc94ffe03e8e9904cd9bc9e2f5b5e3707d2661b Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Mon, 18 Dec 2017 07:26:56 +0000
Subject: [PATCH] Don't blindly send unlit chunks when lighting updates are
@ -18,7 +18,7 @@ only send chunks which are actually ready to be sent, otherwise, we
will always send chunks.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index d1066d82..001fca42 100644
index d1066d82e..001fca42a 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -39,7 +39,7 @@ public class Chunk {
@ -44,5 +44,5 @@ index d1066d82..001fca42 100644
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 3d6c7721613230236ba6725edf894b786d282748 Mon Sep 17 00:00:00 2001
From 3d88ce77d6cc2afdaec24be87b4aca98571add64 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,7 +6,7 @@ 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 d567ad4a..ff5cc74b 100644
index d567ad4a5..ff5cc74ba 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -206,7 +206,7 @@ public class EntityExperienceOrb extends Entity {
@ -19,5 +19,5 @@ index d567ad4a..ff5cc74b 100644
entityhuman.receive(this, 1);
ItemStack itemstack = EnchantmentManager.b(Enchantments.C, (EntityLiving) entityhuman);
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 90be3474fa66dfd953259517ebc0a80f2262b58f Mon Sep 17 00:00:00 2001
From 2754e335efcb78a7081b47e85b7f8a91745a3bc8 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/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index e4502551..9f5388ed 100644
index e4502551b..9f5388ed9 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1153,7 +1153,7 @@ public abstract class World implements IBlockAccess {
@ -21,5 +21,5 @@ index e4502551..9f5388ed 100644
// Paper start
if (!mergeUnconditionally && xp.value > maxValue) {
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 6ca1432bf1363cb8ea126bafd36452e9e0e895c9 Mon Sep 17 00:00:00 2001
From b5ab4d8f7a7123c7e2aa36fbbc8404bb05987465 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,7 +10,7 @@ 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 98300d0a..f714dc32 100644
index 98300d0a2..f714dc326 100644
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
@@ -226,6 +226,7 @@ public class EnchantmentManager {
@ -22,7 +22,7 @@ index 98300d0a..f714dc32 100644
List list = enchantment.a(entityliving);
diff --git a/src/main/java/net/minecraft/server/Enchantments.java b/src/main/java/net/minecraft/server/Enchantments.java
index 35e87eb1..74a6a4f6 100644
index 35e87eb1c..74a6a4f60 100644
--- a/src/main/java/net/minecraft/server/Enchantments.java
+++ b/src/main/java/net/minecraft/server/Enchantments.java
@@ -32,7 +32,7 @@ public class Enchantments {
@ -35,7 +35,7 @@ index 35e87eb1..74a6a4f6 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index ff5cc74b..1c59fd96 100644
index ff5cc74ba..1c59fd966 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -234,10 +234,12 @@ public class EntityExperienceOrb extends Entity {
@ -52,7 +52,7 @@ index ff5cc74b..1c59fd96 100644
return i * 2;
}
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 52cb34ab..45c8e4b1 100644
index 52cb34abd..45c8e4b1e 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -28,7 +28,7 @@ public final class ItemStack {
@ -78,7 +78,7 @@ index 52cb34ab..45c8e4b1 100644
return this.damage;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e5e3f7e8..2c65bb48 100644
index e5e3f7e80..2c65bb484 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -932,8 +932,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -123,5 +123,5 @@ index e5e3f7e8..2c65bb48 100644
}
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 6abc4c0b28596a1eab7def2496b30971cc1dd83c Mon Sep 17 00:00:00 2001
From aad224df57ccfc99e1ba1f157dd97854f5bde6ec Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 1 Jan 2018 15:41:59 -0500
Subject: [PATCH] Configurable Chunks Sends per Tick setting
@ -8,7 +8,7 @@ Vanilla already had this limited, make it configurable.
Limit how much exploration lags the server
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index fe6710f6..acf32d51 100644
index fe6710f61..acf32d51d 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -450,4 +450,13 @@ public class PaperWorldConfig {
@ -26,7 +26,7 @@ index fe6710f6..acf32d51 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 4af55732..6ee9f6cf 100644
index 4af557321..6ee9f6cfb 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -198,7 +198,7 @@ public class PlayerChunkMap {
@ -39,5 +39,5 @@ index 4af55732..6ee9f6cf 100644
Iterator iterator2 = this.g.iterator();
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From 60c07ced088fbec1f2faba0329fcdef6c5342454 Mon Sep 17 00:00:00 2001
From 02583f41f823a2b75477de36eba276c499718fe8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 1 Jan 2018 16:10:24 -0500
Subject: [PATCH] Configurable Max Chunk Gens per Tick

View file

@ -1,4 +1,4 @@
From 9012640b501046e64eb77f1f28fd1b246832465d Mon Sep 17 00:00:00 2001
From a02014f865a05f49d52469459a509c46d8eb7544 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 964bf2d2..f3e2aee1 100644
index 19c4148c6..11e88663e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -471,4 +471,9 @@ public class PaperWorldConfig {
@ -21,7 +21,7 @@ index 964bf2d2..f3e2aee1 100644
+
}
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
index 0ce16be6..58a90283 100644
index 0ce16be65..58a902831 100644
--- a/src/main/java/net/minecraft/server/EntitySquid.java
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
@@ -141,7 +141,9 @@ public class EntitySquid extends EntityWaterAnimal {
@ -36,5 +36,5 @@ index 0ce16be6..58a90283 100644
public void b(float f, float f1, float f2) {
--
2.14.3
2.15.1

View file

@ -1,4 +1,4 @@
From db5414cc10e2023fb1c49a256c053773e672b478 Mon Sep 17 00:00:00 2001
From c64d71ef13bc28059dd6e326df41adda0e77d11d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 14 Jan 2018 17:01:31 -0500
Subject: [PATCH] PreCreatureSpawnEvent

View file

@ -1,4 +1,4 @@
From 178935c622db79435acdabb55ac60b361b26a5a7 Mon Sep 17 00:00:00 2001
From ece277fc5badcf214e311535c3405c5bd937f754 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,7 +9,7 @@ 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/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 1137dda86..e205f591c 100644
index f64de94fa..2af22d15d 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -72,6 +72,15 @@ public final class SpawnerCreature {