Paper 1.13.1 Update

Updated Upstream (Bukkit/CraftBukkit/Spigot)

Bukkit Changes:
2dcc44dc SPIGOT-4307: Fix hacky API for banners on shields
e0fc6572 SPIGOT-4309: Add "forced" display of particles
efeeab2f Add index to README.md for easier navigation
f502bc6f Update to Minecraft 1.13.1

CraftBukkit Changes:
d0bb0a1d Fix some tests randomly failing
997d378d Fix client stall in specific teleportation scenarios
b3dc2366 SPIGOT-4307: Fix hacky API for banners on shields
2a271162 SPIGOT-4301: Fix more invalid enchants
5d0d83bb SPIGOT-4309: Add "forced" display of particles
a6772578 Add additional tests for CraftBlockData
ce1af0c3 Update to Minecraft 1.13.1

Spigot Changes:
2440e189 Rebuild patches
4ecffced Update to Minecraft 1.13.1
This commit is contained in:
Aikar
2018-08-26 14:11:49 -04:00
parent 338c730c10
commit 05dfa62d32
324 changed files with 1984 additions and 2579 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
index c75bce07..dc847340 100644
index c75bce07a..dc847340f 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
@@ -0,0 +0,0 @@ public interface Chunk {

View File

@@ -1,111 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 16 Jun 2018 13:41:00 -0400
Subject: [PATCH] Add SentientNPC Interface to Entities
Used to determine ACTUAL Living NPC's. Spigot mistakenly inversed the conditions for LivingEntity, and
used LivingEntity for Insentient Entities, and named the actual EntityLiving class EntityInsentient.
This should of all been inversed on the implementation side. To make matters worse, Spigot never
exposed the differentiator that there are entities with AI that are not sentient/alive such as
Armor stands and Players are the only things that do not implement the REAL EntityLiving class (named Insentient internally)
This interface lets you identify NPC entities capable of sentience, and able to move about and react to the world.
diff --git a/src/main/java/com/destroystokyo/paper/entity/SentientNPC.java b/src/main/java/com/destroystokyo/paper/entity/SentientNPC.java
new file mode 100644
index 000000000..cb8de4629
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/SentientNPC.java
@@ -0,0 +0,0 @@
+/*
+ * Copyright (c) 2018 Daniel Ennis (Aikar) MIT License
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+package com.destroystokyo.paper.entity;
+
+import org.bukkit.entity.Mob;
+
+
+/**
+ * @deprecated Upstream has added this API. Use {@link Mob}. Will be removed in 1.13.1
+ */
+@Deprecated
+public interface SentientNPC extends Mob {
+}
diff --git a/src/main/java/org/bukkit/entity/Ambient.java b/src/main/java/org/bukkit/entity/Ambient.java
index 613830a74..4ad71c825 100644
--- a/src/main/java/org/bukkit/entity/Ambient.java
+++ b/src/main/java/org/bukkit/entity/Ambient.java
@@ -0,0 +0,0 @@ package org.bukkit.entity;
/**
* Represents an ambient mob
*/
-public interface Ambient extends Mob {}
+public interface Ambient extends Mob, com.destroystokyo.paper.entity.SentientNPC {} // Paper {}
diff --git a/src/main/java/org/bukkit/entity/Creature.java b/src/main/java/org/bukkit/entity/Creature.java
index 6c9c5e85e..c796c4dc2 100644
--- a/src/main/java/org/bukkit/entity/Creature.java
+++ b/src/main/java/org/bukkit/entity/Creature.java
@@ -0,0 +0,0 @@ package org.bukkit.entity;
* Represents a Creature. Creatures are non-intelligent monsters or animals
* which have very simple abilities.
*/
-public interface Creature extends Mob {}
+public interface Creature extends Mob, com.destroystokyo.paper.entity.SentientNPC {} // Paper
diff --git a/src/main/java/org/bukkit/entity/EnderDragon.java b/src/main/java/org/bukkit/entity/EnderDragon.java
index 4ea0e44e7..8f200e6c4 100644
--- a/src/main/java/org/bukkit/entity/EnderDragon.java
+++ b/src/main/java/org/bukkit/entity/EnderDragon.java
@@ -0,0 +0,0 @@ package org.bukkit.entity;
/**
* Represents an Ender Dragon
*/
-public interface EnderDragon extends ComplexLivingEntity {
+public interface EnderDragon extends ComplexLivingEntity, com.destroystokyo.paper.entity.SentientNPC { // Paper
/**
* Represents a phase or action that an Ender Dragon can perform.
diff --git a/src/main/java/org/bukkit/entity/Flying.java b/src/main/java/org/bukkit/entity/Flying.java
index 580ce18bf..45840ee1f 100644
--- a/src/main/java/org/bukkit/entity/Flying.java
+++ b/src/main/java/org/bukkit/entity/Flying.java
@@ -0,0 +0,0 @@ package org.bukkit.entity;
/**
* Represents a Flying Entity.
*/
-public interface Flying extends Mob {}
+public interface Flying extends Mob, com.destroystokyo.paper.entity.SentientNPC {} // Paper
diff --git a/src/main/java/org/bukkit/entity/Slime.java b/src/main/java/org/bukkit/entity/Slime.java
index 1119e26e2..46d03d29d 100644
--- a/src/main/java/org/bukkit/entity/Slime.java
+++ b/src/main/java/org/bukkit/entity/Slime.java
@@ -0,0 +0,0 @@ package org.bukkit.entity;
/**
* Represents a Slime.
*/
-public interface Slime extends Mob {
+public interface Slime extends Mob, com.destroystokyo.paper.entity.SentientNPC { // Paper
/**
* @return The size of the slime
--

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Add TNTPrimeEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/block/TNTPrimeEvent.java b/src/main/java/com/destroystokyo/paper/event/block/TNTPrimeEvent.java
new file mode 100644
index 00000000..2ae8826b
index 000000000..2ae8826bb
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/block/TNTPrimeEvent.java
@@ -0,0 +0,0 @@

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index ef3a2f2d2..860e4374f 100644
index 1df38ba9d..5e6cb56ab 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {

View File

@@ -7,7 +7,7 @@ Not here to name and shame, only so server admins can be aware of which
plugins have and haven't been updated.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
index 33cad901..aff1d8e9 100644
index 33cad9015..aff1d8e9b 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -0,0 +0,0 @@ public interface UnsafeValues {
@@ -22,7 +22,7 @@ index 33cad901..aff1d8e9 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
index b1d384e8..72c0c0bc 100644
index b1d384e82..72c0c0bc6 100644
--- a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
@@ -0,0 +0,0 @@ public class PluginsCommand extends BukkitCommand {
@@ -42,7 +42,7 @@ index b1d384e8..72c0c0bc 100644
StringBuilder pluginList = new StringBuilder();
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 3cff01b6..2b9aad0a 100644
index 3cff01b6b..2b9aad0a7 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -0,0 +0,0 @@ public final class JavaPluginLoader implements PluginLoader {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add async chunk load API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 550c26be..121033e9 100644
index 5e6cb56ab..dbbcfec99 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add hand to bucket events
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
index 8fb121a9..7b9596f3 100644
index 8fb121a91..7b9596f30 100644
--- a/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
@@ -0,0 +0,0 @@ import org.bukkit.block.Block;
@@ -30,7 +30,7 @@ index 8fb121a9..7b9596f3 100644
public HandlerList getHandlers() {
return handlers;
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
index 56584687..3dbe428b 100644
index 56584687f..3dbe428ba 100644
--- a/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
@@ -0,0 +0,0 @@ import org.bukkit.block.Block;
@@ -82,7 +82,7 @@ index 56584687..3dbe428b 100644
return cancelled;
}
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
index 94e042a3..884b9240 100644
index 94e042a36..884b9240b 100644
--- a/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
@@ -0,0 +0,0 @@ import org.bukkit.block.Block;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add source block to BlockPhysicsEvent
diff --git a/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java b/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
index 5e47eabe..9d9e4712 100644
index 5e47eabe8..9d9e4712b 100644
--- a/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
@@ -0,0 +0,0 @@ public class BlockPhysicsEvent extends BlockEvent implements Cancellable {

View File

@@ -49,7 +49,7 @@ index 8dcb15fb8..7e1ee875e 100644
* @return A new location where X/Y/Z are the center of the block
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index f84f151ad..3170a0746 100644
index 724088ec0..d4bfbad33 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow disabling armour stand ticking
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
index 099da6ce..859f166f 100644
index 099da6ce1..859f166fb 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -0,0 +0,0 @@ public interface ArmorStand extends LivingEntity {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] AnvilDamageEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/block/AnvilDamagedEvent.java b/src/main/java/com/destroystokyo/paper/event/block/AnvilDamagedEvent.java
new file mode 100644
index 00000000..fd3c5c02
index 000000000..fd3c5c02e
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/block/AnvilDamagedEvent.java
@@ -0,0 +0,0 @@

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Don't use snapshots for Timings Tile Entity reports
diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
index c2c2fb83..769facd8 100644
index c2c2fb838..769facd80 100644
--- a/src/main/java/co/aikar/timings/TimingHistory.java
+++ b/src/main/java/co/aikar/timings/TimingHistory.java
@@ -0,0 +0,0 @@ public class TimingHistory {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Entity#getChunk API
Get the chunk the entity is currently registered to
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 4548c95b..573a6918 100644
index 4548c95b9..573a69184 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -0,0 +0,0 @@

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
Adds ability to get what arrow was shot, and control if it should be consumed.
diff --git a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
index f8c91a13..c9eb75aa 100644
index f8c91a13b..c9eb75aa7 100644
--- a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
@@ -0,0 +0,0 @@ public class EntityShootBowEvent extends EntityEvent implements Cancellable {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] EntityTransformedEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
new file mode 100644
index 00000000..d9e5cab9
index 000000000..d9e5cab95
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
@@ -0,0 +0,0 @@

View File

@@ -8,7 +8,7 @@ Add the following:
- Enable/Disable slot interactions
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
index 859f166f..eda4873d 100644
index 859f166fb..eda4873d5 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -0,0 +0,0 @@

View File

@@ -98,7 +98,7 @@ index 162a76e8b..056a4d6bb 100644
@Override
public boolean equals(Object obj) {
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 5630c624a..ef3a2f2d2 100644
index a8d97c519..1df38ba9d 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Expand Location Manipulation API
Adds set(x, y, z), add(base, x, y, z), subtract(base, x, y, z);
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
index 056a4d6b..8dcb15fb 100644
index 056a4d6bb..8dcb15fb8 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -0,0 +0,0 @@ public class Location implements Cloneable, ConfigurationSerializable {

View File

@@ -464,7 +464,7 @@ index 4d0acaf5b..255efab76 100644
* Options which can be applied to redstone dust particles - a particle
* color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index f9d8b14c6..5630c624a 100644
index 0fb55b071..a8d97c519 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -524,6 +524,6 @@ index f9d8b14c6..5630c624a 100644
+ // Paper end
+
// Spigot start
public class Spigot
/**
* Spawns the particle (the number of times specified by count)
--

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
diff --git a/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java b/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
index 35f4148b..db105e76 100644
index 35f4148bb..db105e764 100644
--- a/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
+++ b/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
@@ -0,0 +0,0 @@ public class ProjectileHitEvent extends EntityEvent {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 972b945d..526ff166 100644
index 972b945d3..526ff1666 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -0,0 +0,0 @@ package org.bukkit.inventory;

View File

@@ -10,105 +10,6 @@ auto replenish for a player.
Provides methods to determine players looted state for an object
diff --git a/src/main/java/com/destroystokyo/paper/loottable/Lootable.java b/src/main/java/com/destroystokyo/paper/loottable/Lootable.java
new file mode 100644
index 000000000..7dd3955b5
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/loottable/Lootable.java
@@ -0,0 +0,0 @@
+package com.destroystokyo.paper.loottable;
+
+import org.bukkit.Bukkit;
+import org.bukkit.NamespacedKey;
+import org.bukkit.loot.LootTable;
+
+/**
+ * Defines an object that has a Loot Table and seed associated with it.
+ * <p>
+ * How the Loot Table and seed are used may vary based on Minecraft Versions
+ * and what type of object is using the Loot Table
+ *
+ * @deprecated Use {@link org.bukkit.loot.Lootable}
+ */
+@Deprecated
+public interface Lootable extends org.bukkit.loot.Lootable {
+
+ /**
+ * Gets the name of the Loot Table to be used in the World Folder
+ *
+ * @return The name, or null if no loot table exists
+ * @deprecated Use {@link org.bukkit.loot.Lootable#getLootTable()}
+ */
+ @Deprecated
+ default String getLootTableName() {
+ LootTable lootTable = getLootTable();
+ return lootTable != null && lootTable.getKey() != null ? lootTable.getKey().toString() : null;
+ }
+
+ /**
+ * Sets the name of the Loot Table to be used in the World Folder
+ * Will use a random seed (0)
+ *
+ * @param name name in either foo or minecraft:foo format
+ * @return The previous Loot Table before the change
+ * @deprecated Use {@link org.bukkit.loot.Lootable#setLootTable(LootTable)}
+ */
+ @Deprecated
+ default String setLootTable(String name) {
+ return setLootTable(name, 0);
+ }
+
+ /**
+ * Sets the name of the Loot Table to be used in the World Folder
+ * Uses supplied Seed
+ *
+ * @param name name in either foo or minecraft:foo format
+ * @param seed seed for the loot table. If 0, seed will be random
+ * @return The previous Loot Table before the change
+ * @deprecated Use {@link org.bukkit.loot.Lootable#setSeed(long)}
+ */
+ @Deprecated
+ default String setLootTable(String name, long seed) {
+ String prev = getLootTableName();
+ LootTable lootTable = Bukkit.getLootTable(NamespacedKey.minecraft(name));
+ setLootTable(lootTable, seed);
+ return prev;
+ }
+
+ /**
+ * Gets the current seed associated to the Loot Table on this object
+ *
+ * @return The seed, or 0 for random
+ * @deprecated Use {@link org.bukkit.loot.Lootable#getSeed()}
+ */
+ @Deprecated
+ default long getLootTableSeed() {
+ return getSeed();
+ }
+
+ /**
+ * Changes the current seed associated with the Loot Table on this object.
+ * <p>
+ * The seed will have no affect if this object does not have a Loot Table
+ * associated with it.
+ *
+ * @param seed The seed to use, or 0 for random
+ * @return The previous seed
+ * @throws IllegalStateException If called when this object does not have a loot table
+ * @deprecated Use {@link org.bukkit.loot.Lootable#setSeed(long)}
+ */
+ @Deprecated
+ default long setLootTableSeed(long seed) {
+ final String lootTableName = getLootTableName();
+ if (lootTableName == null) {
+ throw new IllegalStateException("This object does not currently have a Loot Table.");
+ }
+
+ long prev = getSeed();
+ setSeed(seed);
+ return prev;
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/loottable/LootableBlockInventory.java b/src/main/java/com/destroystokyo/paper/loottable/LootableBlockInventory.java
new file mode 100644
index 000000000..9095df616
@@ -153,13 +54,14 @@ index 000000000..a389f74c6
+}
diff --git a/src/main/java/com/destroystokyo/paper/loottable/LootableInventory.java b/src/main/java/com/destroystokyo/paper/loottable/LootableInventory.java
new file mode 100644
index 000000000..cde999ef4
index 000000000..2fc3e8a1c
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/loottable/LootableInventory.java
@@ -0,0 +0,0 @@
+package com.destroystokyo.paper.loottable;
+
+import org.bukkit.entity.Player;
+import org.bukkit.loot.Lootable;
+
+import java.util.UUID;
+
@@ -449,7 +351,7 @@ index 9ea403e6f..238d118f7 100644
+public interface StorageMinecart extends Minecart, InventoryHolder, LootableEntityInventory { // Paper
}
diff --git a/src/main/java/org/bukkit/loot/Lootable.java b/src/main/java/org/bukkit/loot/Lootable.java
index f4b3d0215..98a472055 100644
index f4b3d0215..9f1c830f4 100644
--- a/src/main/java/org/bukkit/loot/Lootable.java
+++ b/src/main/java/org/bukkit/loot/Lootable.java
@@ -0,0 +0,0 @@ public interface Lootable {
@@ -463,7 +365,10 @@ index f4b3d0215..98a472055 100644
+ * @param table the Loot Table this {@link org.bukkit.block.Container} or {@link org.bukkit.entity.Mob} will have.
+ * @param seed the seed to used to generate loot. Default is 0.
+ */
+ void setLootTable(LootTable table, long seed);
+ default void setLootTable(LootTable table, long seed) {
+ setLootTable(table);
+ setSeed(seed);
+ }
+
+ /**
+ * Returns whether or not this object has a Loot Table

View File

@@ -5,15 +5,15 @@ Subject: [PATCH] Make EnderDragon extend Mob
diff --git a/src/main/java/org/bukkit/entity/EnderDragon.java b/src/main/java/org/bukkit/entity/EnderDragon.java
index 8f200e6c..dad0b314 100644
index 4ea0e44e7..fa115c091 100644
--- a/src/main/java/org/bukkit/entity/EnderDragon.java
+++ b/src/main/java/org/bukkit/entity/EnderDragon.java
@@ -0,0 +0,0 @@ package org.bukkit.entity;
/**
* Represents an Ender Dragon
*/
-public interface EnderDragon extends ComplexLivingEntity, com.destroystokyo.paper.entity.SentientNPC { // Paper
+public interface EnderDragon extends ComplexLivingEntity, com.destroystokyo.paper.entity.SentientNPC, org.bukkit.entity.Mob { // Paper - add Mob
-public interface EnderDragon extends ComplexLivingEntity {
+public interface EnderDragon extends ComplexLivingEntity, org.bukkit.entity.Mob { // Paper - add Mob
/**
* Represents a phase or action that an Ender Dragon can perform.

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] POM changes
diff --git a/pom.xml b/pom.xml
index f06c89c1..97c13752 100644
index 117a7f8cf..03894ccf3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -0,0 +0,0 @@
@@ -21,7 +21,7 @@ index f06c89c1..97c13752 100644
+ </parent>
+
+ <artifactId>paper-api</artifactId>
<version>1.13-R0.1-SNAPSHOT</version>
<version>1.13.1-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Spigot-API</name>

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] PlayerElytraBoostEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java
new file mode 100644
index 00000000..cecb2182
index 000000000..cecb2182c
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java
@@ -0,0 +0,0 @@

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] PlayerLaunchProjectileEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerLaunchProjectileEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerLaunchProjectileEvent.java
new file mode 100644
index 00000000..d2b244a4
index 000000000..d2b244a41
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerLaunchProjectileEvent.java
@@ -0,0 +0,0 @@

View File

@@ -7,7 +7,7 @@ Allows you to easily access the chunks X/z as a long, and a method
to look up by the long key too.
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
index 079b9feb..c75bce07 100644
index 079b9febe..c75bce07a 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
@@ -0,0 +0,0 @@ public interface Chunk {
@@ -27,7 +27,7 @@ index 079b9feb..c75bce07 100644
* Gets the world containing this chunk
*
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index ba300c29..f84f151a 100644
index dbbcfec99..724088ec0 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {

View File

@@ -8,15 +8,16 @@ and to perform an attack.
diff --git a/src/main/java/com/destroystokyo/paper/entity/RangedEntity.java b/src/main/java/com/destroystokyo/paper/entity/RangedEntity.java
new file mode 100644
index 000000000..ded25f214
index 000000000..8234de28f
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/RangedEntity.java
@@ -0,0 +0,0 @@
+package com.destroystokyo.paper.entity;
+
+import org.bukkit.entity.LivingEntity;
+import org.bukkit.entity.Mob;
+
+public interface RangedEntity extends SentientNPC {
+public interface RangedEntity extends Mob {
+ /**
+ * Attack the specified entity using a ranged attack.
+ *

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] SkeletonHorse Additions
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java
new file mode 100644
index 00000000..55bae018
index 000000000..55bae018e
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java
@@ -0,0 +0,0 @@
@@ -54,7 +54,7 @@ index 00000000..55bae018
+}
+
diff --git a/src/main/java/org/bukkit/entity/SkeletonHorse.java b/src/main/java/org/bukkit/entity/SkeletonHorse.java
index b2c6b6a8..ba998346 100644
index b2c6b6a86..ba9983463 100644
--- a/src/main/java/org/bukkit/entity/SkeletonHorse.java
+++ b/src/main/java/org/bukkit/entity/SkeletonHorse.java
@@ -0,0 +0,0 @@ package org.bukkit.entity;

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Slime Pathfinder Events
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SlimeChangeDirectionEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SlimeChangeDirectionEvent.java
new file mode 100644
index 00000000..f5a3ca3b
index 000000000..f5a3ca3b0
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SlimeChangeDirectionEvent.java
@@ -0,0 +0,0 @@
@@ -49,7 +49,7 @@ index 00000000..f5a3ca3b
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SlimePathfindEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SlimePathfindEvent.java
new file mode 100644
index 00000000..356bcca8
index 000000000..356bcca8b
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SlimePathfindEvent.java
@@ -0,0 +0,0 @@
@@ -104,7 +104,7 @@ index 00000000..356bcca8
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SlimeSwimEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SlimeSwimEvent.java
new file mode 100644
index 00000000..7c99fb53
index 000000000..7c99fb538
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SlimeSwimEvent.java
@@ -0,0 +0,0 @@
@@ -126,7 +126,7 @@ index 00000000..7c99fb53
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SlimeTargetLivingEntityEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SlimeTargetLivingEntityEvent.java
new file mode 100644
index 00000000..7c96e326
index 000000000..7c96e3268
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SlimeTargetLivingEntityEvent.java
@@ -0,0 +0,0 @@
@@ -161,7 +161,7 @@ index 00000000..7c96e326
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SlimeWanderEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SlimeWanderEvent.java
new file mode 100644
index 00000000..e55d208c
index 000000000..e55d208c6
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SlimeWanderEvent.java
@@ -0,0 +0,0 @@
@@ -182,10 +182,10 @@ index 00000000..e55d208c
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Slime.java b/src/main/java/org/bukkit/entity/Slime.java
index 46d03d29..8bd18406 100644
index 1119e26e2..c4791f95d 100644
--- a/src/main/java/org/bukkit/entity/Slime.java
+++ b/src/main/java/org/bukkit/entity/Slime.java
@@ -0,0 +0,0 @@ public interface Slime extends Mob, com.destroystokyo.paper.entity.SentientNPC {
@@ -0,0 +0,0 @@ public interface Slime extends Mob {
* @param sz The new size of the slime.
*/
public void setSize(int sz);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Use specific 1.13 versioning branch/build name
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
index c45faf4c..7041085c 100644
index c45faf4cb..7041085c3 100644
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
@@ -0,0 +0,0 @@ public class VersionCommand extends BukkitCommand {

View File

@@ -6,14 +6,10 @@ Subject: [PATCH] Vex#getSummoner API
Get's the Mob that summoned this Vex
diff --git a/src/main/java/org/bukkit/entity/Vex.java b/src/main/java/org/bukkit/entity/Vex.java
index a2f2fcaec..734683763 100644
index a2f2fcaec..d395e405d 100644
--- a/src/main/java/org/bukkit/entity/Vex.java
+++ b/src/main/java/org/bukkit/entity/Vex.java
@@ -0,0 +0,0 @@
package org.bukkit.entity;
+import com.destroystokyo.paper.entity.SentientNPC;
+
@@ -0,0 +0,0 @@ package org.bukkit.entity;
/**
* Represents a Vex.
*/
@@ -21,11 +17,7 @@ index a2f2fcaec..734683763 100644
+public interface Vex extends Monster {
+ /**
+ * @return What Entity (most likely an Evoker, but not guaranteed) summoned this Vex
+ * @deprecated Use {@link #getSummoner()}
+ */
+ @Deprecated
+ default SentientNPC getOwner() { return (SentientNPC) getSummoner(); } // Paper
+
+ Mob getSummoner(); // Paper
+
+}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] isChunkGenerated API
Resolves #1329
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
index 7e1ee875..9457832b 100644
index 7e1ee875e..9457832bc 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -0,0 +0,0 @@ import org.bukkit.util.NumberConversions;
@@ -34,7 +34,7 @@ index 7e1ee875..9457832b 100644
/**
* Sets the position of this Location and returns itself
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 3170a074..4fd4f997 100644
index d4bfbad33..53764fae6 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {