From 017a28b3ddc1db9f9c6d8ec55edcb3257685527b Mon Sep 17 00:00:00 2001 From: dordsor21 Date: Mon, 20 Sep 2021 16:00:50 +0100 Subject: [PATCH] Implement getAllProperties to code and adapters --- .../worldedit/bukkit/BukkitBlockRegistry.java | 9 +++++++++ .../src/main/resources/worldedit-adapters.jar | Bin 823768 -> 825115 bytes .../world/block/BlockTypesCache.java | 9 +++++++++ .../world/registry/BlockRegistry.java | 7 +++++++ .../world/registry/BundledBlockRegistry.java | 7 +++++++ 5 files changed, 32 insertions(+) diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java index 5b7e22686..21d4cc9d4 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockRegistry.java @@ -159,5 +159,14 @@ public class BukkitBlockRegistry extends BundledBlockRegistry { } return blocks; } + + @Override + public Map> getAllProperties() { + BukkitImplAdapter adapter = WorldEditPlugin.getInstance().getBukkitImplAdapter(); + if (adapter != null) { + return adapter.getAllProperties(); + } + return super.getAllProperties(); + } //FAWE end } diff --git a/worldedit-bukkit/src/main/resources/worldedit-adapters.jar b/worldedit-bukkit/src/main/resources/worldedit-adapters.jar index 0c55a0c4541d54d0aea6578249b8276d722272f5..928313959766489d1f257ec2a1c7da3b02601ed6 100644 GIT binary patch delta 24786 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 allProperties; protected static final Set $NAMESPACES = new LinkedHashSet<>(); @@ -266,6 +267,14 @@ public class BlockTypesCache { states = stateList.toArray(new BlockState[stateList.size()]); ticking = Booleans.toArray(tickList); + allProperties = WorldEdit + .getInstance() + .getPlatformManager() + .queryCapability(Capability.GAME_HOOKS) + .getRegistries() + .getBlockRegistry() + .getAllProperties(); + } catch (Throwable e) { e.printStackTrace(); throw new RuntimeException(e); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java index e5a53c5a6..bc4dbdb11 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BlockRegistry.java @@ -96,5 +96,12 @@ public interface BlockRegistry { default Collection values() { return Collections.emptyList(); } + + /** + * Get an unmodifiable map of all block properties + * + * @return a map of states where the key is the property's ID + */ + Map> getAllProperties(); //FAWE end } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java index a5cc22750..f1d4ba21b 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java @@ -80,4 +80,11 @@ public class BundledBlockRegistry implements BlockRegistry { return OptionalInt.empty(); } + //FAWE start + @Override + public Map> getAllProperties() { + return Collections.emptyMap(); // Oof + } + //FAWE end + }