Add STRUCTURE_TYPE registry entry (#6400)
This commit is contained in:
parent
7978121c7c
commit
9490475b02
|
@ -0,0 +1,60 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
Date: Sat, 14 Aug 2021 16:19:03 -0700
|
||||
Subject: [PATCH] Expand the Registry API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
|
||||
index 6242336de18fdd708cc3d7b745cbbace13140bc0..661d424c609a01ad9bee837b4069d9e4e98d20c0 100644
|
||||
--- a/src/main/java/org/bukkit/Registry.java
|
||||
+++ b/src/main/java/org/bukkit/Registry.java
|
||||
@@ -209,6 +209,25 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
|
||||
return Arrays.stream(org.bukkit.potion.PotionEffectType.values()).iterator();
|
||||
}
|
||||
};
|
||||
+
|
||||
+ /**
|
||||
+ * Structure types.
|
||||
+ *
|
||||
+ * @see StructureType
|
||||
+ */
|
||||
+ Registry<StructureType> STRUCTURE_TYPE = new Registry<StructureType>() {
|
||||
+
|
||||
+ @Override
|
||||
+ public @Nullable StructureType get(@NotNull NamespacedKey key) {
|
||||
+ return StructureType.getStructureTypes().get(key.getKey());
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ @Override
|
||||
+ public Iterator<StructureType> iterator() {
|
||||
+ return StructureType.getStructureTypes().values().iterator();
|
||||
+ }
|
||||
+ };
|
||||
// Paper end
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/StructureType.java b/src/main/java/org/bukkit/StructureType.java
|
||||
index 8acb2b9de398ab5f4b18c46e9ab9eb964df8be3f..5558daa9512212a4b05f174b64c4c998ebbccfcc 100644
|
||||
--- a/src/main/java/org/bukkit/StructureType.java
|
||||
+++ b/src/main/java/org/bukkit/StructureType.java
|
||||
@@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
* The registration of new {@link StructureType}s is case-sensitive.
|
||||
*/
|
||||
// Order is retrieved from WorldGenFactory
|
||||
-public final class StructureType {
|
||||
+public final class StructureType implements Keyed { // Paper - implement keyed
|
||||
|
||||
private static final Map<String, StructureType> structureTypeMap = new HashMap<>();
|
||||
|
||||
@@ -244,4 +244,10 @@ public final class StructureType {
|
||||
public static Map<String, StructureType> getStructureTypes() {
|
||||
return ImmutableMap.copyOf(structureTypeMap);
|
||||
}
|
||||
+ // Paper start
|
||||
+ @Override
|
||||
+ public @NotNull NamespacedKey getKey() {
|
||||
+ return NamespacedKey.minecraft(this.name);
|
||||
+ }
|
||||
+ // Paper end
|
||||
}
|
Loading…
Reference in New Issue