Create API for CanPlaceOn and CanDestroy NBT tags (#1015)

This commit is contained in:
Mark Vainomaa 2018-09-23 06:30:54 +03:00 committed by Daniel Ennis
parent df72ca1321
commit 3491f5542e
65 changed files with 261 additions and 69 deletions

View File

@ -1,11 +1,11 @@
From b0307c1c84d01e61a96ad64b5153abd236229626 Mon Sep 17 00:00:00 2001
From 81fbead5ed0f35706240a2d8d9c3d84db31bf2ad Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Tue, 4 Sep 2018 15:01:54 -0500
Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 6da68835..ae2b9752 100644
index 6da68835d..ae2b9752b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1909,6 +1909,26 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@ -36,5 +36,5 @@ index 6da68835..ae2b9752 100644
// Spigot start
--
2.18.0
2.19.0

View File

@ -1,4 +1,4 @@
From 6656095685e81f278910780b8b8e7b6c196727d4 Mon Sep 17 00:00:00 2001
From c3e3a14ed619bbe7b1eb5af0a11c333dd495652b Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 21 Aug 2018 01:32:28 +0100
Subject: [PATCH] Improve death events

View File

@ -1,4 +1,4 @@
From 8c127ac73fee4c7ad71b7033b438fa109bc20415 Mon Sep 17 00:00:00 2001
From 8287fe3f64b74ccd77c5b7e26d4ac557be8d8998 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 9 Sep 2018 12:39:06 -0400
Subject: [PATCH] Mob Pathfinding API

View File

@ -0,0 +1,47 @@
From f0bdeecfc35f492bd8b81ad517e209611fff0d6f Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Wed, 12 Sep 2018 18:53:35 +0300
Subject: [PATCH] Add an API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
index 8d8f09879..97fa7807b 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -350,4 +350,33 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable {
Spigot spigot();
// Spigot end
+ // Paper start - Add an API for CanPlaceOn and CanDestroy NBT values
+ /**
+ * Gets set of materials what given item can destroy in {@link org.bukkit.GameMode#ADVENTURE}
+ *
+ * @return Set of materials
+ */
+ Set<org.bukkit.Material> getCanDestroy();
+
+ /**
+ * Sets set of materials what given item can destroy in {@link org.bukkit.GameMode#ADVENTURE}
+ *
+ * @param canDestroy Set of materials
+ */
+ void setCanDestroy(Set<org.bukkit.Material> canDestroy);
+
+ /**
+ * Gets set of materials where given item can be placed on in {@link org.bukkit.GameMode#ADVENTURE}
+ *
+ * @return Set of materials
+ */
+ Set<org.bukkit.Material> getCanPlaceOn();
+
+ /**
+ * Sets set of materials where given item can be placed on in {@link org.bukkit.GameMode#ADVENTURE}
+ *
+ * @param canPlaceOn Set of materials
+ */
+ void setCanPlaceOn(Set<org.bukkit.Material> canPlaceOn);
+ // Paper end
}
--
2.19.0

View File

@ -1,4 +1,4 @@
From 4f1fd57d2ea5113299a778d65853cf793a729cbb Mon Sep 17 00:00:00 2001
From 8cc83558c69d808807f58f7fd8986921a4bf285c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 13 Sep 2018 20:51:50 -0400
Subject: [PATCH] Performance & Concurrency Improvements to Permissions

View File

@ -1,4 +1,4 @@
From 72b028b971900862d0ef20993f92a5edb28774d4 Mon Sep 17 00:00:00 2001
From e76b659f5e22697dc759adffd8ed7d470cc020a2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 13 Sep 2018 21:39:26 -0400
Subject: [PATCH] Add ItemStackRecipeChoice Draft API

View File

@ -1,4 +1,4 @@
From 9f579908896fe5bd40e8320205d51533aff8078b Mon Sep 17 00:00:00 2001
From ce4f8f0180f41db23e516b3004e75d9bf716fcb6 Mon Sep 17 00:00:00 2001
From: Tassu <git@tassu.me>
Date: Thu, 13 Sep 2018 08:45:01 +0300
Subject: [PATCH] Implement furnace cook speed multiplier API

View File

@ -1,4 +1,4 @@
From a8938a2fab6db83a3582928e8d967a12d64d39be Mon Sep 17 00:00:00 2001
From 32a60bd35059c35a3e7d359a37400769b93c6e31 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 18 Sep 2018 23:50:10 +0100
Subject: [PATCH] PreSpawnerSpawnEvent

View File

@ -1,4 +1,4 @@
From 04a41c887caf57c8e3572a7b42eac846a5af3315 Mon Sep 17 00:00:00 2001
From 02ea14d151acf44e283dee55d8ed2daf733704ef Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 22 Sep 2018 18:41:01 -0400
Subject: [PATCH] Remove Precondition on name for AttributeModifier

View File

@ -1,4 +1,4 @@
From cc78b6a0a71a18db09dd96d40bf04cf330e84327 Mon Sep 17 00:00:00 2001
From 69f6dac1f8e342ccf68834f614debb45534b9992 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 18 Mar 2016 15:12:22 -0400
Subject: [PATCH] Configurable Non Player Arrow Despawn Rate

View File

@ -1,4 +1,4 @@
From c86319d3f6cbf3c5a98fc7a170fd396b450a7242 Mon Sep 17 00:00:00 2001
From 0d2223784694eaef2699c7b8a68e9cbd0edc2231 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 22 Mar 2016 12:04:28 -0500
Subject: [PATCH] Configurable spawn chances for skeleton horses

View File

@ -1,4 +1,4 @@
From 45f8d6d55123ad50df9f0f520b88ff7d73dca05a Mon Sep 17 00:00:00 2001
From 33fbd58a20a30567156ab703b10c60cb246c2367 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 19:55:45 -0400
Subject: [PATCH] Option to disable BlockPhysicsEvent for Redstone

View File

@ -1,4 +1,4 @@
From 13ed84bb9522cd10db5a7e1b734e91c936396099 Mon Sep 17 00:00:00 2001
From 2e536456c28522dbe832ea41424296bf5cfd01e2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 20:46:14 -0400
Subject: [PATCH] Configurable Chunk Inhabited Timer

View File

@ -1,4 +1,4 @@
From 9f37bceb59d944975abbd6ab74871f6a0557ce39 Mon Sep 17 00:00:00 2001
From f6ea6310f7a0495954dd970acd2c50819f2e3390 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 3 Apr 2016 16:28:17 -0400
Subject: [PATCH] Configurable Grass Spread Tick Rate

View File

@ -1,4 +1,4 @@
From 345e6dd3e24f72ba67a50d5f9b1aa5df0515bf10 Mon Sep 17 00:00:00 2001
From 763fcbbb3ad52e9c0debf6d767e5da1cdeb56c59 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 13 Sep 2014 23:14:43 -0400
Subject: [PATCH] Configurable Keep Spawn Loaded range per world

View File

@ -1,4 +1,4 @@
From e7db92bad31962c695798793e38f3e9f8c7ee24d Mon Sep 17 00:00:00 2001
From 695f460f763891dde42bc64be4e47a82531ccb62 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 6 Apr 2016 01:04:23 -0500
Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names

View File

@ -1,4 +1,4 @@
From 1ab2b13e9bb811664a92a4abe8fcc7d1de2c26aa Mon Sep 17 00:00:00 2001
From aa0b6c9ff279deb6b28cba214bb3980e73efb996 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Thu, 21 Apr 2016 23:51:55 -0700
Subject: [PATCH] Add ability to configure frosted_ice properties

View File

@ -1,4 +1,4 @@
From b435c276fbc0a0e2e04823cfdd5079bae5e2363d Mon Sep 17 00:00:00 2001
From 883120e054e15f375fb50d93b96bc60d28ad32ce Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 1 May 2016 21:19:14 -0400
Subject: [PATCH] LootTable API & Replenishable Lootables Feature

View File

@ -1,4 +1,4 @@
From f702d1759f4030e80d0c44489b7c79daf7e7b69d Mon Sep 17 00:00:00 2001
From c4f5e75879f9d865e246ad3c0e95afe61737259c Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 22 May 2016 20:20:55 -0500
Subject: [PATCH] Optional TNT doesn't move in water

View File

@ -1,4 +1,4 @@
From bda7b944cb74d3529dca2cc80ba08f60efe89abd Mon Sep 17 00:00:00 2001
From 7465d7be397a9d9ffe94a32b41501bdfe77a72f3 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 18 Jun 2016 23:22:12 -0400
Subject: [PATCH] Delay Chunk Unloads based on Player Movement

View File

@ -1,4 +1,4 @@
From fef201ed700ee4c30c8b2bb8aded0e6cca9e076b Mon Sep 17 00:00:00 2001
From 4aee3a67204e2cca9bd24f8b891807f57c8d7110 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 19 Sep 2016 23:16:39 -0400
Subject: [PATCH] Auto Save Improvements

View File

@ -1,4 +1,4 @@
From 23e5004aa94503a3c9c221f734665887bc066eab Mon Sep 17 00:00:00 2001
From 6d9f312b1a4acc0055a7bebd064fcdf58ea1fdfb Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Wed, 5 Oct 2016 16:27:36 -0500
Subject: [PATCH] Option to remove corrupt tile entities

View File

@ -1,4 +1,4 @@
From c971a6e41bce603b22ca19f912e833b0fd0cce9d Mon Sep 17 00:00:00 2001
From 1b5c32b608dc6896989f14406a9aa111266ad3ab Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Nov 2016 21:52:22 -0400
Subject: [PATCH] Prevent Auto Save if Save Queue is full

View File

@ -1,4 +1,4 @@
From 8e423517ffae206c332d3a4874b324b9eae5fdfe Mon Sep 17 00:00:00 2001
From ac65d6fee722653f8d1d0957bb88b250bb32c4e7 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 12 Nov 2016 23:25:22 -0600
Subject: [PATCH] Filter bad data from ArmorStand and SpawnEgg items

View File

@ -1,4 +1,4 @@
From a42354725a30e777b61bd15f1f4fcc16297aed7f Mon Sep 17 00:00:00 2001
From 9c805dc40de579fbe3f60f440d851ed2a1f0c95a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 20 Dec 2016 15:26:27 -0500
Subject: [PATCH] Configurable Cartographer Treasure Maps

View File

@ -1,4 +1,4 @@
From 90dee31ba9876459c1cc38a82bdd30d0e6900b6f Mon Sep 17 00:00:00 2001
From 09bdf613dd7547fdbd79c1c4b5d5561ed683893f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 22 Jan 2017 18:07:56 -0500
Subject: [PATCH] Cap Entity Collisions

View File

@ -1,4 +1,4 @@
From 9c43deb3a346ab36c9cc6c8666a79f71d5ee4682 Mon Sep 17 00:00:00 2001
From af37ef1e24c03b7a7dfed40e0611c7c471c9c008 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 16 May 2017 21:29:08 -0500
Subject: [PATCH] Add option to make parrots stay on shoulders despite movement

View File

@ -1,4 +1,4 @@
From 860a7627983af59336b514e3a6c19845d333ebe0 Mon Sep 17 00:00:00 2001
From 4229fb214aecee17523646559a10f25bf5523e26 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 11 Jun 2017 21:01:18 +0100
Subject: [PATCH] provide a configurable option to disable creeper lingering

View File

@ -1,4 +1,4 @@
From a1c9725335b68ff009238b5e1f3be7a1e9448b71 Mon Sep 17 00:00:00 2001
From 8a8ea6d43ef3a37395e5175bf65dbc6a88e3e712 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

View File

@ -1,4 +1,4 @@
From dc86831d4aa4d9e67856f02dec39e20d82522ffd Mon Sep 17 00:00:00 2001
From 348dc618eced6c2791c08235138dea937e6ce275 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

View File

@ -1,4 +1,4 @@
From ff9c3cccf23d85361f76ea3db31453532137959f Mon Sep 17 00:00:00 2001
From 92cab28ad64ca7a9e872c15de45aaa49778ee048 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 0f811d854e26ae92eaf96b9be96a31844bfca523 Mon Sep 17 00:00:00 2001
From d06a6cb5454b47db888922a8bab80350af829225 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

View File

@ -1,4 +1,4 @@
From be3db1127c4662fe631b1430e78f6452aeabac3b Mon Sep 17 00:00:00 2001
From eb30549acbe531dd8a6bde60f7bc8c83298dbb68 Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Sat, 14 Apr 2018 20:20:46 +0200
Subject: [PATCH] Configurable sprint interruption on attack

View File

@ -1,4 +1,4 @@
From 1a1a27d62f8316a31d8f0ebff482451b0122a750 Mon Sep 17 00:00:00 2001
From f9fd819490c278f5309385e64aed094e3131839a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 17:15:26 -0400
Subject: [PATCH] Block Enderpearl Travel Exploit

View File

@ -1,4 +1,4 @@
From d47df5ff77a58c85e2c6176b8366bd1ed215a50e Mon Sep 17 00:00:00 2001
From 0b94f1c5d92f60e93fbfef7521300409e91882fb Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 16 Jun 2018 01:18:16 -0500
Subject: [PATCH] Make shield blocking delay configurable

View File

@ -1,4 +1,4 @@
From 17fceb5202344b1f2a3759e757d7432e90eb9664 Mon Sep 17 00:00:00 2001
From 8223ffb3d66d1778fa4cfb08af6aab35f5784e8a Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 22 Jun 2018 10:38:31 -0500
Subject: [PATCH] Add config to disable ender dragon legacy check

View File

@ -1,4 +1,4 @@
From 98aea8bd07cb91cc8c2fec14401516da32b26cdb Mon Sep 17 00:00:00 2001
From 1e525acb30342f5998d0b28a1bc4f32bab9d1f7f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 15:22:06 -0400
Subject: [PATCH] Configurable Bed Search Radius

View File

@ -1,4 +1,4 @@
From 1b11c65966aa0ba8ac0d9c18c7cf1f87a3e16e37 Mon Sep 17 00:00:00 2001
From 935ccef81ea9265bec68c0730db6730835cdf8ec Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 21 Jul 2018 14:27:34 -0400
Subject: [PATCH] Duplicate UUID Resolve Option

View File

@ -1,4 +1,4 @@
From d64ee7315bb5fab2c104860441b804b7b96a8f9d Mon Sep 17 00:00:00 2001
From 4e29f3f5698d19db99f0269c5cc0818ab01efcd0 Mon Sep 17 00:00:00 2001
From: Hugo Manrique <hugmanrique@gmail.com>
Date: Mon, 23 Jul 2018 12:57:39 +0200
Subject: [PATCH] Option to prevent armor stands from doing entity lookups

View File

@ -1,4 +1,4 @@
From b9b3308e2e4b1558df9ad01f77f0ac0264161b8f Mon Sep 17 00:00:00 2001
From 93d9a4f971a874f29871435fb5f1d7e8828a518e Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Wed, 15 Aug 2018 01:26:09 -0700
Subject: [PATCH] Allow disabling armour stand ticking

View File

@ -1,4 +1,4 @@
From 0894620915a32a8197efd7a79b421436e584d209 Mon Sep 17 00:00:00 2001
From 127dec9a00377cd18abfa142fce02f0390c7189e Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 27 Apr 2016 22:09:52 -0400
Subject: [PATCH] Optimize Hoppers

View File

@ -1,4 +1,4 @@
From d3b5ed9a5b20b89e0e0787f9851c384b2ce6fae0 Mon Sep 17 00:00:00 2001
From 66769dc5c9551799bdaae670be7a5a76757aad76 Mon Sep 17 00:00:00 2001
From: stonar96 <minecraft.stonar96@gmail.com>
Date: Mon, 20 Aug 2018 03:03:58 +0200
Subject: [PATCH] Anti-Xray

View File

@ -1,4 +1,4 @@
From c09079953d5a37bee728718bdcf58b06e30edb23 Mon Sep 17 00:00:00 2001
From d126a579b60542ea3c1d4404087c49f071f61d67 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 8 Aug 2018 16:33:21 -0600
Subject: [PATCH] Configurable speed for water flowing over lava

View File

@ -1,4 +1,4 @@
From 33323d1c602c9e8ad8f3555b076c85046c5c36e9 Mon Sep 17 00:00:00 2001
From 273f60e3c5f99173ff335828eb8aa336b7b0f8e8 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Tue, 4 Sep 2018 15:02:00 -0500
Subject: [PATCH] Expose attack cooldown methods for Player

View File

@ -1,11 +1,11 @@
From 3aceaeba05125f97f921e157ba60732c39ef94a2 Mon Sep 17 00:00:00 2001
From c42286bc5459f181eba0f0e65f4a35d65c556978 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 7 Sep 2018 18:28:24 -0500
Subject: [PATCH] Fix #1420
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index 187f02d4e4..fcb1cb36af 100644
index a82dc0a94e..529629a867 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -492,6 +492,7 @@ public abstract class EntityArrow extends Entity implements IProjectile {

View File

@ -1,4 +1,4 @@
From f0dc399ec0f1445d0d604bd8596995c8419a8efe Mon Sep 17 00:00:00 2001
From f6eeb525c83010ea51ebef72b2e2f99baf32620d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 4 Sep 2018 19:07:57 -0400
Subject: [PATCH] MC-2025: Save and load entity AABB to prevent wobble

View File

@ -1,4 +1,4 @@
From 68235ad1887959ff32a779ad852e17538dd2610f Mon Sep 17 00:00:00 2001
From 7c2386886de0581784c8c667ab82ae5eba08aba7 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 21 Aug 2018 01:39:35 +0100
Subject: [PATCH] Improve death events

View File

@ -1,4 +1,4 @@
From 034d33929c0ebe9a745be7d9398e7b09d9c6f5bd Mon Sep 17 00:00:00 2001
From 14172537b21a454dbb7cc80cc9ecb311296c4043 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 8 Sep 2018 18:43:31 -0500
Subject: [PATCH] Allow chests to be placed with NBT data

View File

@ -1,4 +1,4 @@
From 223f54e341aab667ed74e7bb256abac2b9029bef Mon Sep 17 00:00:00 2001
From 6dc5e18901c4b3b5774ca4984b1209533d7bf015 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 9 Sep 2018 13:30:00 -0400
Subject: [PATCH] Mob Pathfinding API

View File

@ -1,4 +1,4 @@
From bbcc0bdc761f668866673a819bc46e41c4ae88ad Mon Sep 17 00:00:00 2001
From 9e1c9e2dd81743e37d5b747cbf4212f292f54f25 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 10 Sep 2018 23:36:16 -0400
Subject: [PATCH] Prevent chunk loading from Fluid Flowing

View File

@ -1,4 +1,4 @@
From 641693cea7e5475e0fafbd39d3c5b484e52153ab Mon Sep 17 00:00:00 2001
From 853dd39389c58b51ad3b785f21297e184b914c1a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 10 Sep 2018 23:52:28 -0400
Subject: [PATCH] Prevent pathfinding from loading chunks

View File

@ -0,0 +1,145 @@
From fb168424520dbd77c3e78a2d2a5b1c369864a356 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Wed, 12 Sep 2018 18:53:55 +0300
Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index b90a02ef6f..c9d4d45564 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -252,6 +252,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
static final ItemMetaKey UNBREAKABLE = new ItemMetaKey("Unbreakable");
@Specific(Specific.To.NBT)
static final ItemMetaKey DAMAGE = new ItemMetaKey("Damage");
+ // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values
+ @Specific(Specific.To.NBT)
+ static final ItemMetaKey CAN_DESTROY = new ItemMetaKey("CanDestroy");
+ @Specific(Specific.To.NBT)
+ static final ItemMetaKey CAN_PLACE_ON = new ItemMetaKey("CanPlaceOn");
+ // Paper end
private IChatBaseComponent displayName;
private IChatBaseComponent locName;
@@ -262,6 +268,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
private int hideFlag;
private boolean unbreakable;
private int damage;
+ // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values
+ private Set<Material> canPlaceOn = Sets.newHashSet();
+ private Set<Material> canDestroy = Sets.newHashSet();
+ // Paper end
private static final Set<String> HANDLED_TAGS = Sets.newHashSet();
@@ -292,6 +302,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
this.hideFlag = meta.hideFlag;
this.unbreakable = meta.unbreakable;
this.damage = meta.damage;
+ // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values
+ this.canDestroy = new java.util.HashSet<>(meta.canDestroy);
+ this.canPlaceOn = new java.util.HashSet<>(meta.canPlaceOn);
+ // Paper end
this.unhandledTags.putAll(meta.unhandledTags);
this.internalTag = meta.internalTag;
@@ -347,6 +361,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
if (tag.hasKey(DAMAGE.NBT)) {
damage = tag.getInt(DAMAGE.NBT);
}
+ // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values
+ if (tag.hasKey(CAN_DESTROY.NBT)) {
+ NBTTagList list = tag.getList(CAN_DESTROY.NBT, CraftMagicNumbers.NBT.TAG_STRING);
+ for (int i = 0; i < list.size(); i++) {
+ Material material = Material.matchMaterial(list.getString(i), false);
+ this.canDestroy.add(material);
+ }
+ }
+
+ if (tag.hasKey(CAN_PLACE_ON.NBT)) {
+ NBTTagList list = tag.getList(CAN_PLACE_ON.NBT, CraftMagicNumbers.NBT.TAG_STRING);
+ for (int i = 0; i < list.size(); i++) {
+ Material material = Material.matchMaterial(list.getString(i), false);
+ this.canPlaceOn.add(material);
+ }
+ }
+ // Paper end
Set<String> keys = tag.getKeys();
for (String key : keys) {
@@ -567,6 +598,25 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
if (hasDamage()) {
itemTag.setInt(DAMAGE.NBT, damage);
}
+ // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values
+ if (!this.canPlaceOn.isEmpty()) {
+ List<String> items = this.canPlaceOn.stream()
+ .map(Material::getKey)
+ .map(org.bukkit.NamespacedKey::toString)
+ .collect(java.util.stream.Collectors.toList());
+
+ itemTag.set(CAN_PLACE_ON.NBT, createStringList(items));
+ }
+
+ if (!this.canDestroy.isEmpty()) {
+ List<String> items = this.canDestroy.stream()
+ .map(Material::getKey)
+ .map(org.bukkit.NamespacedKey::toString)
+ .collect(java.util.stream.Collectors.toList());
+
+ itemTag.set(CAN_DESTROY.NBT, createStringList(items));
+ }
+ // Paper end
for (Map.Entry<String, NBTBase> e : unhandledTags.entrySet()) {
itemTag.set(e.getKey(), e.getValue());
@@ -1231,7 +1281,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
CraftMetaArmorStand.NO_BASE_PLATE.NBT,
CraftMetaArmorStand.SHOW_ARMS.NBT,
CraftMetaArmorStand.SMALL.NBT,
- CraftMetaArmorStand.MARKER.NBT
+ CraftMetaArmorStand.MARKER.NBT,
+ CAN_DESTROY.NBT,
+ CAN_PLACE_ON.NBT
// Paper end
));
}
@@ -1278,4 +1330,35 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
return spigot;
}
// Spigot end
+ // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values
+ @Override
+ public Set<Material> getCanDestroy() {
+ return new java.util.HashSet<>(canDestroy);
+ }
+
+ @Override
+ @SuppressWarnings("deprecation")
+ public void setCanDestroy(Set<Material> canDestroy) {
+ if (canDestroy.stream().anyMatch(Material::isLegacy)) {
+ throw new IllegalArgumentException("canDestroy set must not contain any legacy materials!");
+ }
+ this.canDestroy.clear();
+ this.canDestroy.addAll(canDestroy);
+ }
+
+ @Override
+ public Set<Material> getCanPlaceOn() {
+ return new java.util.HashSet<>(canPlaceOn);
+ }
+
+ @Override
+ @SuppressWarnings("deprecation")
+ public void setCanPlaceOn(Set<Material> canPlaceOn) {
+ if (canPlaceOn.stream().anyMatch(Material::isLegacy)) {
+ throw new IllegalArgumentException("canPlaceOn set must not contain any legacy materials!");
+ }
+ this.canPlaceOn.clear();
+ this.canPlaceOn.addAll(canPlaceOn);
+ }
+ // Paper end
}
--
2.19.0

View File

@ -1,4 +1,4 @@
From 0634a8db05885476afd66f777c119571a83fc5d4 Mon Sep 17 00:00:00 2001
From 96ec3b35d9101927da6d4bb7cdc596d43559b310 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 10 Sep 2018 23:56:36 -0400
Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks

View File

@ -1,4 +1,4 @@
From 4c64742d8da6231825a8fa0325bb31b89138f327 Mon Sep 17 00:00:00 2001
From 2dcf4acbf2012b8d029ad63310fe0304e8b47f1d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 12 Sep 2018 21:12:57 -0400
Subject: [PATCH] Prevent mob spawning from loading/generating chunks

View File

@ -1,4 +1,4 @@
From 9c9fc86659689894cb0039e4b1195fa54f40502f Mon Sep 17 00:00:00 2001
From b2098f05989bf94af2a4c9745bb8a968887884ed Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 12 Sep 2018 21:47:01 -0400
Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning

View File

@ -1,4 +1,4 @@
From 707e751ef2330fe64cb9b8782c5fbf9584328640 Mon Sep 17 00:00:00 2001
From 8fd95b755bd88dcd58ca5403dd85096747340421 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 13 Sep 2018 22:26:54 -0400
Subject: [PATCH] MC-136886: Don't load chunks looking for features

View File

@ -1,4 +1,4 @@
From 5aaf6888330a14eb08fcce67de0e5b09b6222cc8 Mon Sep 17 00:00:00 2001
From 4b72c68d1947dece956e521879a05cc2e1fc17aa Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 16 Sep 2018 00:00:16 -0400
Subject: [PATCH] Optimize and Fix ExpiringMap Issues

View File

@ -1,4 +1,4 @@
From 84c50e8b79469f1609a70f1c90504902fe10420b Mon Sep 17 00:00:00 2001
From 9cd4fe1400c656db6b44b26d2e883c1a7e3c75ed Mon Sep 17 00:00:00 2001
From: Tassu <git@tassu.me>
Date: Thu, 13 Sep 2018 08:45:21 +0300
Subject: [PATCH] Implement furnace cook speed multiplier API

View File

@ -1,4 +1,4 @@
From 9ce08b8a9ec3af87ab649b2b24b48a3ed34633b4 Mon Sep 17 00:00:00 2001
From a79d0cd5a53147b050963a5b5ed4bd51adda55f5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 17 Sep 2018 23:05:31 -0400
Subject: [PATCH] Support Overriding World Seeds

View File

@ -1,4 +1,4 @@
From 07e138b1a3b1fc41b26822cb7df92fbce0e9443a Mon Sep 17 00:00:00 2001
From 7547c08ec67686b4a45d51394f519f6e62274ebb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 17 Sep 2018 23:37:31 -0400
Subject: [PATCH] Optimize Server World Map

View File

@ -1,4 +1,4 @@
From 50beca89f83a09478bb3f69ad9ea3dd528f0b07a Mon Sep 17 00:00:00 2001
From c577bdb2c893529009c611e2e73c668b17c74f11 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 18 Sep 2018 23:53:23 +0100
Subject: [PATCH] PreSpawnerSpawnEvent

View File

@ -1,4 +1,4 @@
From 36468491f2d0e76cf1f2f911d3fd57bb1d8fb0e1 Mon Sep 17 00:00:00 2001
From 4f2b4578fee42ea0b9cf659046e0a2e65e9ff6a0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 20 Sep 2018 19:11:33 -0400
Subject: [PATCH] MC-134115: Fix Double Chest Conversion Error

View File

@ -1,4 +1,4 @@
From 64eb5047c6309f9308bbb948fa7709f6952f17c6 Mon Sep 17 00:00:00 2001
From fa5b6152426b80eafe26fabee4a477bea89afd27 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 21 Sep 2018 11:34:00 -0400
Subject: [PATCH] Sync Player Position to Vehicles

View File

@ -1,14 +1,14 @@
From 103d2ac19c460d07c1d86e28a458bab6e431c88b Mon Sep 17 00:00:00 2001
From 5832e96cb9edff3b381bb51504a858329da67505 Mon Sep 17 00:00:00 2001
From: Senmori <thesenmori@gmail.com>
Date: Sat, 22 Sep 2018 12:55:43 -0400
Subject: [PATCH] Spigot PR 493
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index b90a02ef6f..55afe8382c 100644
index c9d4d45564..d928119254 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -392,22 +392,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -423,22 +423,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
continue;
}
net.minecraft.server.AttributeModifier nmsModifier = GenericAttributes.a(entry);
@ -48,7 +48,7 @@ index b90a02ef6f..55afe8382c 100644
attribMod = new AttributeModifier(attribMod.getUniqueId(), attribMod.getName(), attribMod.getAmount(), attribMod.getOperation(), slot);
}
@@ -617,10 +629,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -667,10 +679,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
}
net.minecraft.server.AttributeModifier nmsModifier = CraftAttributeInstance.convert(entry.getValue());
NBTTagCompound sub = GenericAttributes.a(nmsModifier);

View File

@ -1,4 +1,4 @@
From 353f3324ebd9b865b078e5c67fdda196e3de5080 Mon Sep 17 00:00:00 2001
From 62f6c5bbeaf52d39e1009c1c024c1acac9f5926a Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 22 Sep 2018 15:56:59 -0400
Subject: [PATCH] Return null if we get a ParseException in IChatBaseComponent