Updated Upstream (Bukkit/CraftBukkit) for LootTable API
I have tested that the Replenishing Feature still works as expected. Lootable API's that now have Bukkit equivalents are now deprecated. Bukkit Changes: f0f33981 SPIGOT-1936: LootTable API CraftBukkit Changes: c0df4b82 SPIGOT-1936: LootTable API
This commit is contained in:
@@ -6,7 +6,7 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 471ae811..d6686820 100644
|
||||
index 4c5e0035a..f11cc3db8 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ public final class Bukkit {
|
||||
@@ -24,7 +24,7 @@ index 471ae811..d6686820 100644
|
||||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 56b0fdb5..5a4528c4 100644
|
||||
index 4f9dd992a..07a24faa4 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -35,7 +35,7 @@ index 56b0fdb5..5a4528c4 100644
|
||||
+ void reloadPermissions(); // Paper
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
||||
index 0ab7e295..f331a442 100644
|
||||
index 0ab7e295d..f331a4423 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
||||
@@ -0,0 +0,0 @@ public class ReloadCommand extends BukkitCommand {
|
||||
@@ -87,7 +87,7 @@ index 0ab7e295..f331a442 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
index b88f31ca..bd0588a2 100644
|
||||
index b88f31ca2..bd0588a20 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
@@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Add configuration option to prevent player names from being
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 35e18341..9558645f 100644
|
||||
index 37bf146dc..a8234e626 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ public final class Bukkit {
|
||||
@@ -27,7 +27,7 @@ index 35e18341..9558645f 100644
|
||||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 12efd654..da0d08b3 100644
|
||||
index 765efbc31..f164137e4 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -46,7 +46,7 @@ index 12efd654..da0d08b3 100644
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/PluginCommand.java b/src/main/java/org/bukkit/command/PluginCommand.java
|
||||
index 2abe1208..c660c178 100644
|
||||
index 2abe1208f..c660c178c 100644
|
||||
--- a/src/main/java/org/bukkit/command/PluginCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/PluginCommand.java
|
||||
@@ -0,0 +0,0 @@ public final class PluginCommand extends Command implements PluginIdentifiableCo
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add getTPS method
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index b56c09d3..477a5833 100644
|
||||
index 5046816b8..bfe388fc0 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ public final class Bukkit {
|
||||
@@ -26,7 +26,7 @@ index b56c09d3..477a5833 100644
|
||||
* Get the advancement specified by this key.
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 4ddb8b02..1fa6f53e 100644
|
||||
index ae8120e2e..9b71cbffc 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Allow Reloading of Command Aliases
|
||||
Reload the aliases stored in commands.yml
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index d6686820..35e18341 100644
|
||||
index f11cc3db8..37bf146dc 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ public final class Bukkit {
|
||||
@@ -26,7 +26,7 @@ index d6686820..35e18341 100644
|
||||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 5a4528c4..12efd654 100644
|
||||
index 07a24faa4..765efbc31 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -37,7 +37,7 @@ index 5a4528c4..12efd654 100644
|
||||
+ boolean reloadCommandAliases(); // Paper
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/CommandMap.java b/src/main/java/org/bukkit/command/CommandMap.java
|
||||
index 30d60247..938959aa 100644
|
||||
index 30d60247e..938959aa5 100644
|
||||
--- a/src/main/java/org/bukkit/command/CommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/CommandMap.java
|
||||
@@ -0,0 +0,0 @@ public interface CommandMap {
|
||||
@@ -55,7 +55,7 @@ index 30d60247..938959aa 100644
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
index 4aea03c6..63d27392 100644
|
||||
index 4aea03c69..63d273927 100644
|
||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
@@ -0,0 +0,0 @@ public class SimpleCommandMap implements CommandMap {
|
||||
@@ -70,7 +70,7 @@ index 4aea03c6..63d27392 100644
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
||||
index f331a442..a977045d 100644
|
||||
index f331a4423..a977045de 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
||||
@@ -0,0 +0,0 @@ public class ReloadCommand extends BukkitCommand {
|
||||
|
||||
@@ -7,7 +7,7 @@ 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..1a69e5f7
|
||||
index 000000000..1a69e5f75
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/profile/PlayerProfile.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@@ -154,7 +154,7 @@ index 00000000..1a69e5f7
|
||||
+}
|
||||
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
|
||||
index 000000000..d17061e66
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/profile/ProfileProperty.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@@ -231,7 +231,7 @@ index 00000000..d17061e6
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 9558645f..86e72f95 100644
|
||||
index a8234e626..39e52986c 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
@@ -283,7 +283,7 @@ index 9558645f..86e72f95 100644
|
||||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index da0d08b3..878255a4 100644
|
||||
index f164137e4..64c78caf3 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Expose server CommandMap
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 477a5833..73c85063 100644
|
||||
index bfe388fc0..dbfd6e41d 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.boss.BarColor;
|
||||
@@ -39,7 +39,7 @@ index 477a5833..73c85063 100644
|
||||
{
|
||||
return server.spigot();
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 1fa6f53e..70e19580 100644
|
||||
index 9b71cbffc..c23ae761e 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.boss.BarColor;
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses
|
||||
Change Javadoc to be accurate
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 73c85063b..471ae811c 100644
|
||||
index dbfd6e41d..4c5e0035a 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ public final class Bukkit {
|
||||
@@ -37,7 +37,7 @@ index 73c85063b..471ae811c 100644
|
||||
* Gets the name of the update folder. The update folder is used to safely
|
||||
* update plugins at the right moment on a plugin load.
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 70e195808..56b0fdb55 100644
|
||||
index c23ae761e..4f9dd992a 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -68,7 +68,7 @@ index 70e195808..56b0fdb55 100644
|
||||
* Gets the name of the update folder. The update folder is used to safely
|
||||
* update plugins at the right moment on a plugin load.
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index d5b904e61..0b14317e3 100644
|
||||
index e5e611201..45e9484dc 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -0,0 +0,0 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
|
||||
@@ -12,32 +12,37 @@ 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 00000000..d962a0ce
|
||||
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}
|
||||
+ */
|
||||
+public interface 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()}
|
||||
+ */
|
||||
+ String getLootTableName();
|
||||
+
|
||||
+ /**
|
||||
+ * Returns whether or not this object has a Loot Table
|
||||
+ * @return Has a loot table
|
||||
+ */
|
||||
+ default boolean hasLootTable() {
|
||||
+ return getLootTableName() != null;
|
||||
+ @Deprecated
|
||||
+ default String getLootTableName() {
|
||||
+ LootTable lootTable = getLootTable();
|
||||
+ return lootTable != null && lootTable.getKey() != null ? lootTable.getKey().toString() : null;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
@@ -46,7 +51,9 @@ index 00000000..d962a0ce
|
||||
+ *
|
||||
+ * @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);
|
||||
+ }
|
||||
@@ -58,45 +65,53 @@ index 00000000..d962a0ce
|
||||
+ * @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)}
|
||||
+ */
|
||||
+ String setLootTable(String name, long seed);
|
||||
+ @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()}
|
||||
+ */
|
||||
+ long getLootTableSeed();
|
||||
+ @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.
|
||||
+ *
|
||||
+ * @throws IllegalStateException If called when this object does not have a loot table
|
||||
+ * @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 = getLootTableSeed();
|
||||
+ setLootTable(lootTableName, seed);
|
||||
+ long prev = getSeed();
|
||||
+ setSeed(seed);
|
||||
+ return prev;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Clears the associated Loot Table to this object
|
||||
+ */
|
||||
+ void clearLootTable();
|
||||
+}
|
||||
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 00000000..5e93e7e3
|
||||
index 000000000..9095df616
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/loottable/LootableBlockInventory.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@@ -104,6 +119,9 @@ index 00000000..5e93e7e3
|
||||
+
|
||||
+import org.bukkit.block.Block;
|
||||
+
|
||||
+/**
|
||||
+ * Represents an Inventory that can generate loot, such as Chests inside of Fortresses and Mineshafts
|
||||
+ */
|
||||
+public interface LootableBlockInventory extends LootableInventory {
|
||||
+
|
||||
+ /**
|
||||
@@ -114,7 +132,7 @@ index 00000000..5e93e7e3
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/loottable/LootableEntityInventory.java b/src/main/java/com/destroystokyo/paper/loottable/LootableEntityInventory.java
|
||||
new file mode 100644
|
||||
index 00000000..8bebf070
|
||||
index 000000000..a389f74c6
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/loottable/LootableEntityInventory.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@@ -122,6 +140,9 @@ index 00000000..8bebf070
|
||||
+
|
||||
+import org.bukkit.entity.Entity;
|
||||
+
|
||||
+/**
|
||||
+ * Represents an Inventory that can generate loot, such as Minecarts inside of Mineshafts
|
||||
+ */
|
||||
+public interface LootableEntityInventory extends LootableInventory {
|
||||
+
|
||||
+ /**
|
||||
@@ -132,7 +153,7 @@ index 00000000..8bebf070
|
||||
+}
|
||||
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 00000000..cde999ef
|
||||
index 000000000..cde999ef4
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/loottable/LootableInventory.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@@ -249,7 +270,7 @@ index 00000000..cde999ef
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/loottable/LootableInventoryReplenishEvent.java b/src/main/java/com/destroystokyo/paper/loottable/LootableInventoryReplenishEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..2169493d
|
||||
index 000000000..2169493d9
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/loottable/LootableInventoryReplenishEvent.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@@ -295,76 +316,172 @@ index 00000000..2169493d
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/block/Chest.java b/src/main/java/org/bukkit/block/Chest.java
|
||||
index 97dc7813..a24a4094 100644
|
||||
index 815d79a53..b68ab881d 100644
|
||||
--- a/src/main/java/org/bukkit/block/Chest.java
|
||||
+++ b/src/main/java/org/bukkit/block/Chest.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package org.bukkit.block;
|
||||
|
||||
+import com.destroystokyo.paper.loottable.LootableBlockInventory;
|
||||
import org.bukkit.Nameable;
|
||||
+import com.destroystokyo.paper.loottable.LootableInventory; // Paper
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
import org.bukkit.loot.Lootable;
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.loot.Lootable;
|
||||
/**
|
||||
* Represents a captured state of a chest.
|
||||
*/
|
||||
-public interface Chest extends Container, Nameable {
|
||||
+public interface Chest extends Container, Nameable, LootableInventory { // Paper
|
||||
-public interface Chest extends Container, Nameable, Lootable {
|
||||
+public interface Chest extends Container, Nameable, LootableBlockInventory { // Paper
|
||||
|
||||
/**
|
||||
* Gets the inventory of the chest block represented by this block state.
|
||||
diff --git a/src/main/java/org/bukkit/block/Dispenser.java b/src/main/java/org/bukkit/block/Dispenser.java
|
||||
index 108332df..4430b123 100644
|
||||
index 2741625db..6d180117e 100644
|
||||
--- a/src/main/java/org/bukkit/block/Dispenser.java
|
||||
+++ b/src/main/java/org/bukkit/block/Dispenser.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package org.bukkit.block;
|
||||
|
||||
+import com.destroystokyo.paper.loottable.LootableBlockInventory;
|
||||
import org.bukkit.Nameable;
|
||||
+import com.destroystokyo.paper.loottable.LootableInventory; // Paper
|
||||
import org.bukkit.loot.Lootable;
|
||||
import org.bukkit.projectiles.BlockProjectileSource;
|
||||
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.projectiles.BlockProjectileSource;
|
||||
/**
|
||||
* Represents a captured state of a dispenser.
|
||||
*/
|
||||
-public interface Dispenser extends Container, Nameable {
|
||||
+public interface Dispenser extends Container, Nameable, LootableInventory { // Paper
|
||||
-public interface Dispenser extends Container, Nameable, Lootable {
|
||||
+public interface Dispenser extends Container, Nameable, LootableBlockInventory { // Paper
|
||||
|
||||
/**
|
||||
* Gets the BlockProjectileSource object for the dispenser.
|
||||
diff --git a/src/main/java/org/bukkit/block/Dropper.java b/src/main/java/org/bukkit/block/Dropper.java
|
||||
index 2e8c3f711..47737b590 100644
|
||||
--- a/src/main/java/org/bukkit/block/Dropper.java
|
||||
+++ b/src/main/java/org/bukkit/block/Dropper.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package org.bukkit.block;
|
||||
|
||||
+import com.destroystokyo.paper.loottable.LootableBlockInventory;
|
||||
import org.bukkit.Nameable;
|
||||
import org.bukkit.loot.Lootable;
|
||||
|
||||
/**
|
||||
* Represents a captured state of a dropper.
|
||||
*/
|
||||
-public interface Dropper extends Container, Nameable, Lootable {
|
||||
+public interface Dropper extends Container, Nameable, LootableBlockInventory { // Paper
|
||||
|
||||
/**
|
||||
* Tries to drop a randomly selected item from the dropper's inventory,
|
||||
diff --git a/src/main/java/org/bukkit/block/Hopper.java b/src/main/java/org/bukkit/block/Hopper.java
|
||||
index bc3aeef2..5b698613 100644
|
||||
index 73fce5f33..221123e8c 100644
|
||||
--- a/src/main/java/org/bukkit/block/Hopper.java
|
||||
+++ b/src/main/java/org/bukkit/block/Hopper.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package org.bukkit.block;
|
||||
|
||||
+import com.destroystokyo.paper.loottable.LootableBlockInventory;
|
||||
import org.bukkit.Nameable;
|
||||
+import com.destroystokyo.paper.loottable.LootableInventory; // Paper
|
||||
import org.bukkit.loot.Lootable;
|
||||
|
||||
/**
|
||||
* Represents a captured state of a hopper.
|
||||
*/
|
||||
-public interface Hopper extends Container, Nameable { }
|
||||
+public interface Hopper extends Container, Nameable, LootableInventory { } // Paper
|
||||
\ No newline at end of file
|
||||
-public interface Hopper extends Container, Nameable, Lootable { }
|
||||
+public interface Hopper extends Container, Nameable, LootableBlockInventory { } // Paper
|
||||
diff --git a/src/main/java/org/bukkit/block/ShulkerBox.java b/src/main/java/org/bukkit/block/ShulkerBox.java
|
||||
index 4c1740e7..aa1109c4 100644
|
||||
index 8e061e4a4..1c02c6e1c 100644
|
||||
--- a/src/main/java/org/bukkit/block/ShulkerBox.java
|
||||
+++ b/src/main/java/org/bukkit/block/ShulkerBox.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package org.bukkit.block;
|
||||
|
||||
+import com.destroystokyo.paper.loottable.LootableInventory;
|
||||
+import com.destroystokyo.paper.loottable.LootableBlockInventory;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Nameable;
|
||||
|
||||
import org.bukkit.loot.Lootable;
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.loot.Lootable;
|
||||
/**
|
||||
* Represents a captured state of a ShulkerBox.
|
||||
*/
|
||||
-public interface ShulkerBox extends Container, Nameable {
|
||||
+public interface ShulkerBox extends Container, Nameable, LootableInventory { // Paper
|
||||
-public interface ShulkerBox extends Container, Nameable, Lootable {
|
||||
+public interface ShulkerBox extends Container, Nameable, LootableBlockInventory { // Paper
|
||||
|
||||
/**
|
||||
* Get the {@link DyeColor} corresponding to this ShulkerBox
|
||||
diff --git a/src/main/java/org/bukkit/entity/minecart/HopperMinecart.java b/src/main/java/org/bukkit/entity/minecart/HopperMinecart.java
|
||||
index 8ced54039..865885501 100644
|
||||
--- a/src/main/java/org/bukkit/entity/minecart/HopperMinecart.java
|
||||
+++ b/src/main/java/org/bukkit/entity/minecart/HopperMinecart.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package org.bukkit.entity.minecart;
|
||||
|
||||
+import com.destroystokyo.paper.loottable.LootableEntityInventory;
|
||||
import org.bukkit.entity.Minecart;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.loot.Lootable;
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.loot.Lootable;
|
||||
/**
|
||||
* Represents a Minecart with a Hopper inside it
|
||||
*/
|
||||
-public interface HopperMinecart extends Minecart, InventoryHolder, Lootable {
|
||||
+public interface HopperMinecart extends Minecart, InventoryHolder, LootableEntityInventory {
|
||||
|
||||
/**
|
||||
* Checks whether or not this Minecart will pick up
|
||||
diff --git a/src/main/java/org/bukkit/entity/minecart/StorageMinecart.java b/src/main/java/org/bukkit/entity/minecart/StorageMinecart.java
|
||||
index 9ea403e6f..238d118f7 100644
|
||||
--- a/src/main/java/org/bukkit/entity/minecart/StorageMinecart.java
|
||||
+++ b/src/main/java/org/bukkit/entity/minecart/StorageMinecart.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package org.bukkit.entity.minecart;
|
||||
|
||||
+import com.destroystokyo.paper.loottable.LootableEntityInventory;
|
||||
import org.bukkit.entity.Minecart;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.loot.Lootable;
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.loot.Lootable;
|
||||
* minecarts} have their own inventory that can be accessed using methods
|
||||
* from the {@link InventoryHolder} interface.
|
||||
*/
|
||||
-public interface StorageMinecart extends Minecart, InventoryHolder, Lootable {
|
||||
+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
|
||||
--- 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 {
|
||||
*/
|
||||
LootTable getLootTable();
|
||||
|
||||
+ // Paper start
|
||||
+ /**
|
||||
+ * Set the loot table and seed for a container or entity at the same time.
|
||||
+ *
|
||||
+ * @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);
|
||||
+
|
||||
+ /**
|
||||
+ * Returns whether or not this object has a Loot Table
|
||||
+ * @return Has a loot table
|
||||
+ */
|
||||
+ default boolean hasLootTable() {
|
||||
+ return getLootTable() != null;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Clears the associated Loot Table to this object
|
||||
+ */
|
||||
+ default void clearLootTable() {
|
||||
+ setLootTable(null);
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
/**
|
||||
* Set the seed used when this Loot Table generates loot.
|
||||
*
|
||||
--
|
||||
@@ -3004,7 +3004,7 @@ index 000000000..df592d855
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index ff7f436cb..b56c09d3e 100644
|
||||
index 5b1a2a8bd..5046816b8 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ public final class Bukkit {
|
||||
@@ -3016,7 +3016,7 @@ index ff7f436cb..b56c09d3e 100644
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index a766ee96c..4ddb8b02c 100644
|
||||
index df3ce745c..ae8120e2e 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
|
||||
|
||||
@@ -9,7 +9,7 @@ In Offline Mode, will return an Offline UUID
|
||||
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 01a226d9..b389677a 100644
|
||||
index 39e52986c..491c73832 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -0,0 +0,0 @@ public final class Bukkit {
|
||||
@@ -34,7 +34,7 @@ index 01a226d9..b389677a 100644
|
||||
* Gets the plugin manager for interfacing with plugins.
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 6c96fc14..f5aee1c5 100644
|
||||
index 64c78caf3..f75fe8b15 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
|
||||
|
||||
Reference in New Issue
Block a user