diff --git a/paper-api/src/main/java/org/bukkit/Art.java b/paper-api/src/main/java/org/bukkit/Art.java
index c06204489..82daa6941 100644
--- a/paper-api/src/main/java/org/bukkit/Art.java
+++ b/paper-api/src/main/java/org/bukkit/Art.java
@@ -2,12 +2,13 @@ package org.bukkit;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryAccess;
import io.papermc.paper.registry.RegistryBuilderFactory;
+import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.data.InlinedRegistryBuilderProvider;
import io.papermc.paper.registry.data.PaintingVariantRegistryEntry;
import java.util.Locale;
import java.util.function.Consumer;
-import org.bukkit.packs.DataPack;
import org.bukkit.util.OldEnum;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -18,8 +19,8 @@ import org.jetbrains.annotations.Nullable;
*
* The arts listed in this interface are present in the default server
* or can be enabled via a {@link FeatureFlag}.
- * There may be additional arts present in the server, for example from a {@link DataPack}
- * which can be accessed via {@link Registry#ART}.
+ * There may be additional arts present in the server, for example from a {@link io.papermc.paper.datapack.Datapack}
+ * which can be accessed via {@link RegistryAccess#registryAccess()} and {@link RegistryKey#PAINTING_VARIANT}.
*/
public interface Art extends OldEnum, Keyed {
@@ -87,7 +88,7 @@ public interface Art extends OldEnum, Keyed {
@NotNull
private static Art getArt(@NotNull String key) {
- return Registry.ART.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.PAINTING_VARIANT).getOrThrow(NamespacedKey.minecraft(key));
}
/**
@@ -189,7 +190,7 @@ public interface Art extends OldEnum, Keyed {
static Art getByName(@NotNull String name) {
Preconditions.checkArgument(name != null, "Name cannot be null");
- return Bukkit.getUnsafe().get(Registry.ART, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ return Bukkit.getUnsafe().get(RegistryKey.PAINTING_VARIANT, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
}
/**
@@ -200,7 +201,7 @@ public interface Art extends OldEnum, Keyed {
@NotNull
@Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
static Art valueOf(@NotNull String name) {
- Art art = Bukkit.getUnsafe().get(Registry.ART, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ Art art = Bukkit.getUnsafe().get(RegistryKey.PAINTING_VARIANT, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
Preconditions.checkArgument(art != null, "No art found with the name %s", name);
return art;
}
diff --git a/paper-api/src/main/java/org/bukkit/Fluid.java b/paper-api/src/main/java/org/bukkit/Fluid.java
index a3ff4fefa..45a095f16 100644
--- a/paper-api/src/main/java/org/bukkit/Fluid.java
+++ b/paper-api/src/main/java/org/bukkit/Fluid.java
@@ -2,6 +2,7 @@ package org.bukkit;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import org.bukkit.util.OldEnum;
import org.jetbrains.annotations.NotNull;
@@ -45,7 +46,7 @@ public interface Fluid extends OldEnum, Keyed {
@NotNull
@Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
static Fluid valueOf(@NotNull String name) {
- Fluid fluid = Bukkit.getUnsafe().get(Registry.FLUID, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ Fluid fluid = Bukkit.getUnsafe().get(RegistryKey.FLUID, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
Preconditions.checkArgument(fluid != null, "No fluid found with the name %s", name);
return fluid;
}
diff --git a/paper-api/src/main/java/org/bukkit/JukeboxSong.java b/paper-api/src/main/java/org/bukkit/JukeboxSong.java
index c6feb13c7..7e3dca502 100644
--- a/paper-api/src/main/java/org/bukkit/JukeboxSong.java
+++ b/paper-api/src/main/java/org/bukkit/JukeboxSong.java
@@ -1,5 +1,7 @@
package org.bukkit;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -31,7 +33,7 @@ public interface JukeboxSong extends Keyed, Translatable {
@NotNull
private static JukeboxSong get(@NotNull String key) {
- return Registry.JUKEBOX_SONG.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.JUKEBOX_SONG).getOrThrow(NamespacedKey.minecraft(key));
}
// Paper start - adventure
diff --git a/paper-api/src/main/java/org/bukkit/MusicInstrument.java b/paper-api/src/main/java/org/bukkit/MusicInstrument.java
index d41892af5..bfe64b367 100644
--- a/paper-api/src/main/java/org/bukkit/MusicInstrument.java
+++ b/paper-api/src/main/java/org/bukkit/MusicInstrument.java
@@ -1,6 +1,8 @@
package org.bukkit;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Collection;
import java.util.Collections;
import org.jetbrains.annotations.NotNull;
@@ -44,7 +46,7 @@ public abstract class MusicInstrument implements Keyed, net.kyori.adventure.tran
@NotNull
private static MusicInstrument getInstrument(@NotNull String key) {
- return Registry.INSTRUMENT.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.INSTRUMENT).getOrThrow(NamespacedKey.minecraft(key));
}
// Paper start - deprecate getKey
diff --git a/paper-api/src/main/java/org/bukkit/Sound.java b/paper-api/src/main/java/org/bukkit/Sound.java
index 70d6dedca..e2fb7cfba 100644
--- a/paper-api/src/main/java/org/bukkit/Sound.java
+++ b/paper-api/src/main/java/org/bukkit/Sound.java
@@ -2,6 +2,7 @@ package org.bukkit;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import org.bukkit.packs.DataPack;
import org.bukkit.util.OldEnum;
@@ -1687,7 +1688,7 @@ public interface Sound extends OldEnum, Keyed, net.kyori.adventure.sound.
@NotNull
@Deprecated(since = "1.21.3")
static Sound valueOf(@NotNull String name) {
- Sound sound = Bukkit.getUnsafe().get(Registry.SOUNDS, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ Sound sound = Bukkit.getUnsafe().get(RegistryKey.SOUND_EVENT, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
if (sound != null) {
return sound;
}
diff --git a/paper-api/src/main/java/org/bukkit/UnsafeValues.java b/paper-api/src/main/java/org/bukkit/UnsafeValues.java
index 29838175a..de34d0684 100644
--- a/paper-api/src/main/java/org/bukkit/UnsafeValues.java
+++ b/paper-api/src/main/java/org/bukkit/UnsafeValues.java
@@ -2,6 +2,7 @@ package org.bukkit;
import com.google.common.collect.Multimap;
import io.papermc.paper.entity.EntitySerializationFlag;
+import io.papermc.paper.registry.RegistryKey;
import org.bukkit.advancement.Advancement;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeModifier;
@@ -140,7 +141,7 @@ public interface UnsafeValues {
String get(Class> aClass, String value);
@ApiStatus.Internal
- B get(Registry registry, NamespacedKey key);
+ B get(RegistryKey registry, NamespacedKey key);
@ApiStatus.Internal
Biome getCustomBiome();
diff --git a/paper-api/src/main/java/org/bukkit/attribute/Attribute.java b/paper-api/src/main/java/org/bukkit/attribute/Attribute.java
index 273ef25fe..978b0e779 100644
--- a/paper-api/src/main/java/org/bukkit/attribute/Attribute.java
+++ b/paper-api/src/main/java/org/bukkit/attribute/Attribute.java
@@ -2,6 +2,7 @@ package org.bukkit.attribute;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import org.bukkit.Bukkit;
import org.bukkit.Keyed;
@@ -158,7 +159,7 @@ public interface Attribute extends OldEnum, Keyed, Translatable, net.
@NotNull
@Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
static Attribute valueOf(@NotNull String name) {
- Attribute attribute = Bukkit.getUnsafe().get(Registry.ATTRIBUTE, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ Attribute attribute = Bukkit.getUnsafe().get(RegistryKey.ATTRIBUTE, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
Preconditions.checkArgument(attribute != null, "No attribute found with the name %s", name);
return attribute;
}
diff --git a/paper-api/src/main/java/org/bukkit/block/Biome.java b/paper-api/src/main/java/org/bukkit/block/Biome.java
index 20fc2b30f..1387559c3 100644
--- a/paper-api/src/main/java/org/bukkit/block/Biome.java
+++ b/paper-api/src/main/java/org/bukkit/block/Biome.java
@@ -2,13 +2,14 @@ package org.bukkit.block;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import org.bukkit.Bukkit;
import org.bukkit.FeatureFlag;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
-import org.bukkit.packs.DataPack;
import org.bukkit.util.OldEnum;
import org.jetbrains.annotations.NotNull;
@@ -17,8 +18,8 @@ import org.jetbrains.annotations.NotNull;
*
* The Biomes listed in this interface are present in the default server
* or can be enabled via a {@link FeatureFlag}.
- * There may be additional biomes present in the server, for example from a {@link DataPack}
- * which can be accessed via {@link Registry#BIOME}.
+ * There may be additional biomes present in the server, for example from a {@link io.papermc.paper.datapack.Datapack}
+ * which can be accessed via {@link io.papermc.paper.registry.RegistryAccess#getRegistry(RegistryKey)} and {@link RegistryKey#BIOME}.
*/
public interface Biome extends OldEnum, Keyed, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations
@@ -98,7 +99,7 @@ public interface Biome extends OldEnum, Keyed, net.kyori.adventure.transl
@NotNull
private static Biome getBiome(@NotNull String key) {
- return Registry.BIOME.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.BIOME).getOrThrow(NamespacedKey.minecraft(key));
}
/**
@@ -113,7 +114,7 @@ public interface Biome extends OldEnum, Keyed, net.kyori.adventure.transl
return Biome.CUSTOM;
}
- Biome biome = Bukkit.getUnsafe().get(Registry.BIOME, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ Biome biome = Bukkit.getUnsafe().get(RegistryKey.BIOME, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
Preconditions.checkArgument(biome != null, "No biome found with the name %s", name);
return biome;
}
diff --git a/paper-api/src/main/java/org/bukkit/block/banner/Pattern.java b/paper-api/src/main/java/org/bukkit/block/banner/Pattern.java
index de815683b..d760d500f 100644
--- a/paper-api/src/main/java/org/bukkit/block/banner/Pattern.java
+++ b/paper-api/src/main/java/org/bukkit/block/banner/Pattern.java
@@ -2,6 +2,7 @@ package org.bukkit.block.banner;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Map;
import java.util.NoSuchElementException;
import org.bukkit.Bukkit;
@@ -45,7 +46,7 @@ public class Pattern implements ConfigurationSerializable {
PatternType patternType = PatternType.getByIdentifier(value);
if (patternType == null) {
- patternType = Bukkit.getUnsafe().get(Registry.BANNER_PATTERN, NamespacedKey.fromString(value));
+ patternType = Bukkit.getUnsafe().get(RegistryKey.BANNER_PATTERN, NamespacedKey.fromString(value));
}
Preconditions.checkNotNull(patternType, "Pattern type for key %s cannot be null", value);
diff --git a/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java b/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java
index 24b58ed80..444f128e8 100644
--- a/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java
+++ b/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java
@@ -2,6 +2,8 @@ package org.bukkit.block.banner;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
@@ -95,8 +97,7 @@ public interface PatternType extends OldEnum, Keyed {
*
* @param identifier the identifier
* @return the matched pattern type or null
- * @see Registry#BANNER_PATTERN
- * @deprecated magic value, use {@link Registry#get(NamespacedKey)} instead
+ * @deprecated magic value, use {@link Registry#get(NamespacedKey)} instead with {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} and {@link io.papermc.paper.registry.RegistryKey#BANNER_PATTERN}
*/
@Contract("null -> null")
@Nullable
@@ -117,7 +118,7 @@ public interface PatternType extends OldEnum, Keyed {
@NotNull
private static PatternType getType(@NotNull String key) {
- return Registry.BANNER_PATTERN.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.BANNER_PATTERN).getOrThrow(NamespacedKey.minecraft(key));
}
/**
diff --git a/paper-api/src/main/java/org/bukkit/damage/DamageType.java b/paper-api/src/main/java/org/bukkit/damage/DamageType.java
index 14f90d8d4..b74846c77 100644
--- a/paper-api/src/main/java/org/bukkit/damage/DamageType.java
+++ b/paper-api/src/main/java/org/bukkit/damage/DamageType.java
@@ -1,5 +1,7 @@
package org.bukkit.damage;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
@@ -12,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
*
* Constants in this class include the base types provided by the vanilla
* server. Data packs are capable of registering more types of damage which may
- * be obtained through the {@link Registry#DAMAGE_TYPE}.
+ * be obtained through {@link io.papermc.paper.registry.RegistryAccess#getRegistry(RegistryKey)} and {@link RegistryKey#DAMAGE_TYPE}.
*
* @see Minecraft Wiki
*/
@@ -71,7 +73,7 @@ public interface DamageType extends Keyed, Translatable {
@NotNull
private static DamageType getDamageType(@NotNull String key) {
- return Registry.DAMAGE_TYPE.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.DAMAGE_TYPE).getOrThrow(NamespacedKey.minecraft(key));
}
/**
diff --git a/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java b/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java
index a824ac90e..288123c31 100644
--- a/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java
+++ b/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -1,6 +1,8 @@
package org.bukkit.enchantments;
import com.google.common.collect.Lists;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
@@ -229,7 +231,7 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve
@NotNull
private static Enchantment getEnchantment(@NotNull String key) {
- return Registry.ENCHANTMENT.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.ENCHANTMENT).getOrThrow(NamespacedKey.minecraft(key));
}
/**
diff --git a/paper-api/src/main/java/org/bukkit/entity/Wolf.java b/paper-api/src/main/java/org/bukkit/entity/Wolf.java
index c73489f4b..346fdddd2 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Wolf.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Wolf.java
@@ -1,5 +1,7 @@
package org.bukkit.entity;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import org.bukkit.DyeColor;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
@@ -105,7 +107,7 @@ public interface Wolf extends Tameable, Sittable, io.papermc.paper.entity.Collar
@NotNull
private static Variant getVariant(@NotNull String key) {
- return Registry.WOLF_VARIANT.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.WOLF_VARIANT).getOrThrow(NamespacedKey.minecraft(key));
}
}
}
diff --git a/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java b/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java
index b6920f834..228df69a6 100644
--- a/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java
+++ b/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java
@@ -1,5 +1,7 @@
package org.bukkit.generator.structure;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
@@ -10,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
*
* Listed structures are present in the default server. Depending on the server
* there might be additional structures present (for example structures added by
- * data packs), which can be received via {@link Registry#STRUCTURE}.
+ * data packs), which can be received via {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} and {@link io.papermc.paper.registry.RegistryKey#STRUCTURE}.
*/
public abstract class Structure implements Keyed {
@@ -51,7 +53,7 @@ public abstract class Structure implements Keyed {
@NotNull
private static Structure getStructure(@NotNull String name) {
- return Registry.STRUCTURE.getOrThrow(NamespacedKey.minecraft(name));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.STRUCTURE).getOrThrow(NamespacedKey.minecraft(name));
}
/**
diff --git a/paper-api/src/main/java/org/bukkit/inventory/ItemStack.java b/paper-api/src/main/java/org/bukkit/inventory/ItemStack.java
index d95d0d6a8..55457c753 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -2,6 +2,7 @@ package org.bukkit.inventory;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
+import io.papermc.paper.registry.RegistryKey;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
@@ -543,7 +544,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
stringKey = Bukkit.getUnsafe().get(Enchantment.class, stringKey);
NamespacedKey key = NamespacedKey.fromString(stringKey.toLowerCase(Locale.ROOT));
- Enchantment enchantment = Bukkit.getUnsafe().get(Registry.ENCHANTMENT, key);
+ Enchantment enchantment = Bukkit.getUnsafe().get(RegistryKey.ENCHANTMENT, key);
if ((enchantment != null) && (entry.getValue() instanceof Integer)) {
result.addUnsafeEnchantment(enchantment, (Integer) entry.getValue());
diff --git a/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java b/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java
index 7e8a4b4ec..0910dd287 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java
@@ -1,5 +1,7 @@
package org.bukkit.inventory.meta.trim;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import org.bukkit.Keyed;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
@@ -59,7 +61,7 @@ public interface TrimMaterial extends Keyed, Translatable {
@NotNull
private static TrimMaterial getTrimMaterial(@NotNull String key) {
- return Registry.TRIM_MATERIAL.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.TRIM_MATERIAL).getOrThrow(NamespacedKey.minecraft(key));
}
// Paper start - adventure
diff --git a/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java b/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java
index b2fa0d565..9360e27b0 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java
@@ -1,5 +1,7 @@
package org.bukkit.inventory.meta.trim;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import org.bukkit.Keyed;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
@@ -87,7 +89,7 @@ public interface TrimPattern extends Keyed, Translatable {
@NotNull
private static TrimPattern getTrimPattern(@NotNull String key) {
- return Registry.TRIM_PATTERN.getOrThrow(NamespacedKey.minecraft(key));
+ return RegistryAccess.registryAccess().getRegistry(RegistryKey.TRIM_PATTERN).getOrThrow(NamespacedKey.minecraft(key));
}
// Paper start - adventure
diff --git a/paper-api/src/main/java/org/bukkit/potion/PotionEffect.java b/paper-api/src/main/java/org/bukkit/potion/PotionEffect.java
index ab8f3c089..7cac918e0 100644
--- a/paper-api/src/main/java/org/bukkit/potion/PotionEffect.java
+++ b/paper-api/src/main/java/org/bukkit/potion/PotionEffect.java
@@ -2,6 +2,7 @@ package org.bukkit.potion;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Map;
import java.util.NoSuchElementException;
import org.bukkit.Bukkit;
@@ -175,7 +176,7 @@ public class PotionEffect implements ConfigurationSerializable {
private static PotionEffectType getEffectType(@NotNull Map, ?> map) {
PotionEffectType effect;
if (map.get(TYPE) instanceof String value) {
- effect = Bukkit.getUnsafe().get(Registry.EFFECT, NamespacedKey.fromString(value));
+ effect = Bukkit.getUnsafe().get(RegistryKey.MOB_EFFECT, NamespacedKey.fromString(value));
} else {
int type = getInt(map, TYPE);
effect = PotionEffectType.getById(type);
diff --git a/paper-server/src/main/java/io/papermc/paper/datacomponent/PaperDataComponentType.java b/paper-server/src/main/java/io/papermc/paper/datacomponent/PaperDataComponentType.java
index e2fcf870b..7ec9b765f 100644
--- a/paper-server/src/main/java/io/papermc/paper/datacomponent/PaperDataComponentType.java
+++ b/paper-server/src/main/java/io/papermc/paper/datacomponent/PaperDataComponentType.java
@@ -7,7 +7,6 @@ import net.minecraft.core.component.DataComponentMap;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.util.Handleable;
import org.jspecify.annotations.Nullable;
@@ -23,7 +22,7 @@ public abstract class PaperDataComponentType implements DataComponentTyp
}
public static DataComponentType minecraftToBukkit(final net.minecraft.core.component.DataComponentType> type) {
- return CraftRegistry.minecraftToBukkit(type, Registries.DATA_COMPONENT_TYPE, Registry.DATA_COMPONENT_TYPE);
+ return CraftRegistry.minecraftToBukkit(type, Registries.DATA_COMPONENT_TYPE);
}
public static Set minecraftToBukkit(final Set> nmsTypes) {
diff --git a/paper-server/src/main/java/io/papermc/paper/datacomponent/item/PaperBannerPatternLayers.java b/paper-server/src/main/java/io/papermc/paper/datacomponent/item/PaperBannerPatternLayers.java
index ca49c2d2e..9963cbf9f 100644
--- a/paper-server/src/main/java/io/papermc/paper/datacomponent/item/PaperBannerPatternLayers.java
+++ b/paper-server/src/main/java/io/papermc/paper/datacomponent/item/PaperBannerPatternLayers.java
@@ -1,6 +1,5 @@
package io.papermc.paper.datacomponent.item;
-import io.papermc.paper.registry.RegistryAccess;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.util.MCUtil;
import java.util.List;
@@ -20,7 +19,7 @@ public record PaperBannerPatternLayers(
private static List convert(final net.minecraft.world.level.block.entity.BannerPatternLayers nmsPatterns) {
return MCUtil.transformUnmodifiable(nmsPatterns.layers(), input -> {
- final Optional type = CraftRegistry.unwrapAndConvertHolder(RegistryAccess.registryAccess().getRegistry(RegistryKey.BANNER_PATTERN), input.pattern());
+ final Optional type = CraftRegistry.unwrapAndConvertHolder(RegistryKey.BANNER_PATTERN, input.pattern());
return new Pattern(Objects.requireNonNull(DyeColor.getByWoolData((byte) input.color().getId())), type.orElseThrow(() -> new IllegalStateException("Inlined banner patterns are not supported yet in the API!")));
});
}
diff --git a/paper-server/src/main/java/io/papermc/paper/util/Holderable.java b/paper-server/src/main/java/io/papermc/paper/util/Holderable.java
index c0115e0a3..5958c6fd4 100644
--- a/paper-server/src/main/java/io/papermc/paper/util/Holderable.java
+++ b/paper-server/src/main/java/io/papermc/paper/util/Holderable.java
@@ -4,6 +4,8 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mojang.serialization.Codec;
import com.mojang.serialization.JsonOps;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import net.kyori.adventure.key.Key;
import net.minecraft.core.Holder;
import net.minecraft.resources.RegistryOps;
@@ -25,7 +27,8 @@ public interface Holderable extends Handleable {
return this.getHolder().value();
}
- static @Nullable T fromBukkitSerializationObject(final Object deserialized, final Codec extends Holder> codec, final Registry registry) { // TODO remove Keyed
+ static @Nullable T fromBukkitSerializationObject(final Object deserialized, final Codec extends Holder> codec, final RegistryKey registryKey) { // TODO remove Keyed
+ final Registry registry = RegistryAccess.registryAccess().getRegistry(registryKey);
return switch (deserialized) {
case @Subst("key:value") final String string -> {
if (!(Key.parseable(string))) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftArt.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftArt.java
index d4edaea71..b784da2a5 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftArt.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftArt.java
@@ -7,18 +7,17 @@ import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
import net.minecraft.world.entity.decoration.PaintingVariant;
import org.bukkit.Art;
-import org.bukkit.Registry;
public class CraftArt extends OldEnumHolderable implements Art {
private static int count = 0;
public static Art minecraftToBukkit(PaintingVariant minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.PAINTING_VARIANT, Registry.ART);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.PAINTING_VARIANT);
}
public static Art minecraftHolderToBukkit(Holder minecraft) {
- return CraftRegistry.minecraftHolderToBukkit(minecraft, Registry.ART);
+ return CraftRegistry.minecraftHolderToBukkit(minecraft, Registries.PAINTING_VARIANT);
}
public static PaintingVariant bukkitToMinecraft(Art bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftFluid.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftFluid.java
index 6cbd9d313..f01fadad7 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftFluid.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftFluid.java
@@ -4,7 +4,6 @@ import java.util.Locale;
import net.minecraft.core.registries.Registries;
import org.bukkit.Fluid;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.util.Handleable;
import org.jetbrains.annotations.NotNull;
@@ -13,7 +12,7 @@ public class CraftFluid implements Fluid, Handleable {
public static GameEvent minecraftToBukkit(net.minecraft.world.level.gameevent.GameEvent minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.GAME_EVENT, Registry.GAME_EVENT);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.GAME_EVENT);
}
public static net.minecraft.world.level.gameevent.GameEvent bukkitToMinecraft(GameEvent bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftJukeboxSong.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftJukeboxSong.java
index 2772c19f5..e75c045e3 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftJukeboxSong.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftJukeboxSong.java
@@ -6,14 +6,13 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.contents.TranslatableContents;
import org.bukkit.JukeboxSong;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.util.Handleable;
import org.jetbrains.annotations.NotNull;
public class CraftJukeboxSong implements JukeboxSong, Handleable {
public static JukeboxSong minecraftToBukkit(net.minecraft.world.item.JukeboxSong minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.JUKEBOX_SONG, Registry.JUKEBOX_SONG);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.JUKEBOX_SONG);
}
public static JukeboxSong minecraftHolderToBukkit(Holder minecraft) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMusicInstrument.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMusicInstrument.java
index 7ad11769a..b72a07064 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMusicInstrument.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMusicInstrument.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit;
import com.google.common.base.Preconditions;
+import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.util.Holderable;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
@@ -8,17 +9,16 @@ import net.minecraft.world.item.Instrument;
import org.bukkit.MusicInstrument;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
-import org.bukkit.craftbukkit.util.Handleable;
import org.jetbrains.annotations.NotNull;
public class CraftMusicInstrument extends MusicInstrument implements io.papermc.paper.util.Holderable {
public static MusicInstrument minecraftToBukkit(Instrument minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.INSTRUMENT, Registry.INSTRUMENT);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.INSTRUMENT);
}
public static MusicInstrument minecraftHolderToBukkit(Holder minecraft) {
- return CraftRegistry.minecraftHolderToBukkit(minecraft, Registry.INSTRUMENT); // Paper - switch to Holder
+ return CraftRegistry.minecraftHolderToBukkit(minecraft, Registries.INSTRUMENT); // Paper - switch to Holder
}
public static Instrument bukkitToMinecraft(MusicInstrument bukkit) {
@@ -38,7 +38,7 @@ public class CraftMusicInstrument extends MusicInstrument implements io.papermc.
public static MusicInstrument stringToBukkit(Object string) { // Paper - switch to Holder
Preconditions.checkArgument(string != null);
- return io.papermc.paper.util.Holderable.fromBukkitSerializationObject(string, Instrument.CODEC, Registry.INSTRUMENT); // Paper - switch to Holder
+ return io.papermc.paper.util.Holderable.fromBukkitSerializationObject(string, Instrument.CODEC, RegistryKey.INSTRUMENT); // Paper - switch to Holder
}
// Paper start - switch to Holder
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
index b3f781c0c..fcf177b3c 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
@@ -1,12 +1,15 @@
package org.bukkit.craftbukkit;
import com.google.common.base.Preconditions;
+import io.papermc.paper.registry.PaperRegistries;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.entry.RegistryEntryMeta;
import io.papermc.paper.registry.set.NamedRegistryKeySetImpl;
import io.papermc.paper.registry.tag.Tag;
import io.papermc.paper.util.Holderable;
-import java.util.Collection;
import io.papermc.paper.util.MCUtil;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -15,7 +18,6 @@ import java.util.function.BiFunction;
import java.util.stream.Stream;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderOwner;
-import net.minecraft.core.RegistryAccess;
import net.minecraft.resources.ResourceKey;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
@@ -30,14 +32,14 @@ import org.jetbrains.annotations.NotNull;
public class CraftRegistry implements Registry {
- private static RegistryAccess registry;
+ private static net.minecraft.core.RegistryAccess registry;
- public static void setMinecraftRegistry(RegistryAccess registry) {
+ public static void setMinecraftRegistry(final net.minecraft.core.RegistryAccess registry) {
Preconditions.checkState(CraftRegistry.registry == null, "Registry already set");
CraftRegistry.registry = registry;
}
- public static RegistryAccess getMinecraftRegistry() {
+ public static net.minecraft.core.RegistryAccess getMinecraftRegistry() {
return CraftRegistry.registry;
}
@@ -49,16 +51,15 @@ public class CraftRegistry implements Registry {
* Usage note: Only use this method to delegate the conversion methods from the individual Craft classes to here.
* Do not use it in other parts of CraftBukkit, use the methods in the respective Craft classes instead.
*
- * @param minecraft the minecraft representation
+ * @param minecraft the minecraft representation
* @param registryKey the registry key of the minecraft registry to use
- * @param bukkitRegistry the bukkit registry to use
* @return the bukkit representation of the minecraft value
*/
- public static B minecraftToBukkit(M minecraft, ResourceKey> registryKey, Registry bukkitRegistry) {
+ public static B minecraftToBukkit(M minecraft, ResourceKey extends net.minecraft.core.Registry> registryKey) {
Preconditions.checkArgument(minecraft != null);
net.minecraft.core.Registry registry = CraftRegistry.getMinecraftRegistry(registryKey);
- // Paper start - support direct Holders
+ final Registry bukkitRegistry = RegistryAccess.registryAccess().getRegistry(PaperRegistries.registryFromNms(registryKey));
final java.util.Optional> resourceKey = registry.getResourceKey(minecraft);
if (resourceKey.isEmpty() && bukkitRegistry instanceof final CraftRegistry, ?> craftRegistry && craftRegistry.supportsDirectHolders()) {
return ((CraftRegistry) bukkitRegistry).convertDirectHolder(Holder.direct(minecraft));
@@ -66,17 +67,16 @@ public class CraftRegistry implements Registry {
throw new IllegalStateException(String.format("Cannot convert '%s' to bukkit representation, since it is not registered.", minecraft));
}
final B bukkit = bukkitRegistry.get(CraftNamespacedKey.fromMinecraft(resourceKey.get().location()));
- // Paper end - support direct Holders
Preconditions.checkArgument(bukkit != null);
return bukkit;
}
- // Paper start - support direct Holders
- public static B minecraftHolderToBukkit(final Holder minecraft, final Registry bukkitRegistry) {
+ public static B minecraftHolderToBukkit(final Holder minecraft, final ResourceKey extends net.minecraft.core.Registry> registryKey) {
Preconditions.checkArgument(minecraft != null);
+ final Registry bukkitRegistry = RegistryAccess.registryAccess().getRegistry(PaperRegistries.registryFromNms(registryKey));
final B bukkit = switch (minecraft) {
case final Holder.Direct direct -> {
if (!(bukkitRegistry instanceof final CraftRegistry, ?> craftRegistry) || !craftRegistry.supportsDirectHolders()) {
@@ -84,14 +84,13 @@ public class CraftRegistry implements Registry {
}
yield ((CraftRegistry) bukkitRegistry).convertDirectHolder(direct);
}
- case final Holder.Reference reference -> bukkitRegistry.get(io.papermc.paper.util.MCUtil.fromResourceKey(reference.key()));
+ case final Holder.Reference reference -> bukkitRegistry.get(MCUtil.fromResourceKey(reference.key()));
default -> throw new IllegalArgumentException("Unknown holder: " + minecraft);
};
Preconditions.checkArgument(bukkit != null);
return bukkit;
}
- // Paper end - support direct Holders
/**
* Usage note: Only use this method to delegate the conversion methods from the individual Craft classes to here.
@@ -125,13 +124,10 @@ public class CraftRegistry implements Registry {
}
// Paper start - fixup upstream being dum
- public static java.util.Optional unwrapAndConvertHolder(final io.papermc.paper.registry.RegistryKey registryKey, final Holder value) {
- return unwrapAndConvertHolder(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(registryKey), value);
- }
-
- public static java.util.Optional unwrapAndConvertHolder(final Registry registry, final Holder value) {
+ public static Optional unwrapAndConvertHolder(final RegistryKey registryKey, final Holder value) {
+ final Registry registry = RegistryAccess.registryAccess().getRegistry(registryKey);
if (registry instanceof CraftRegistry,?> craftRegistry && craftRegistry.supportsDirectHolders() && value.kind() == Holder.Kind.DIRECT) {
- return java.util.Optional.of(((CraftRegistry) registry).convertDirectHolder(value));
+ return Optional.of(((CraftRegistry) registry).convertDirectHolder(value));
}
return value.unwrapKey().map(key -> registry.get(CraftNamespacedKey.fromMinecraft(key.location())));
}
@@ -140,7 +136,8 @@ public class CraftRegistry implements Registry {
// Paper - move to PaperRegistries
// Paper - NOTE: As long as all uses of the method below relate to *serialization* via ConfigurationSerializable, it's fine
- public static B get(Registry bukkit, NamespacedKey namespacedKey, ApiVersion apiVersion) {
+ public static B get(RegistryKey bukkitKey, NamespacedKey namespacedKey, ApiVersion apiVersion) {
+ final Registry bukkit = RegistryAccess.registryAccess().getRegistry(bukkitKey);
if (bukkit instanceof CraftRegistry craft) {
return craft.get(craft.serializationUpdater.apply(namespacedKey, apiVersion)); // Paper
}
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftSound.java
index 451fe79b1..9cfbe2390 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftSound.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftSound.java
@@ -4,7 +4,6 @@ import io.papermc.paper.util.OldEnumHolderable;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
import net.minecraft.sounds.SoundEvent;
-import org.bukkit.Registry;
import org.bukkit.Sound;
public class CraftSound extends OldEnumHolderable implements Sound {
@@ -12,7 +11,7 @@ public class CraftSound extends OldEnumHolderable implements
private static int count = 0;
public static Sound minecraftToBukkit(SoundEvent minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.SOUND_EVENT, Registry.SOUNDS);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.SOUND_EVENT);
}
public static SoundEvent bukkitToMinecraft(Sound bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 281969314..ba32db69c 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -6,6 +6,8 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.mojang.datafixers.util.Pair;
import io.papermc.paper.FeatureHooks;
+import io.papermc.paper.registry.RegistryAccess;
+import io.papermc.paper.registry.RegistryKey;
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import java.io.File;
@@ -2242,7 +2244,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public StructureSearchResult locateNearestStructure(Location origin, StructureType structureType, int radius, boolean findUnexplored) {
List structures = new ArrayList<>();
- for (Structure structure : Registry.STRUCTURE) {
+ for (Structure structure : RegistryAccess.registryAccess().getRegistry(RegistryKey.STRUCTURE)) {
if (structure.getStructureType() == structureType) {
structures.add(structure);
}
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java b/paper-server/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java
index 0d04f0a34..1e7ea738f 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.attribute;
import com.google.common.base.Preconditions;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
@@ -18,7 +19,7 @@ public class CraftAttribute implements Attribute, Handleable minecraft) {
@@ -36,7 +37,7 @@ public class CraftAttribute implements Attribute, Handleable implem
for (int i = 0; i < banner.getPatterns().layers().size(); i++) {
BannerPatternLayers.Layer p = banner.getPatterns().layers().get(i);
// Paper start - fix upstream not handling inlined banner pattern
- java.util.Optional type = org.bukkit.craftbukkit.CraftRegistry.unwrapAndConvertHolder(org.bukkit.Registry.BANNER_PATTERN, p.pattern());
+ java.util.Optional type = org.bukkit.craftbukkit.CraftRegistry.unwrapAndConvertHolder(RegistryKey.BANNER_PATTERN, p.pattern());
if (type.isEmpty()) continue;
this.patterns.add(new Pattern(DyeColor.getByWoolData((byte) p.color().getId()), type.get()));
// Paper end - fix upstream not handling inlined banner pattern
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
index 4e535481c..55c99297a 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
@@ -4,7 +4,6 @@ import java.util.Locale;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.block.Biome;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.util.Handleable;
@@ -15,7 +14,7 @@ public class CraftBiome implements Biome, Handleable minecraft) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java
index 978e602c3..90fe14f10 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java
@@ -49,7 +49,7 @@ public class CraftBlockType implements BlockType.Typed,
}
public static BlockType minecraftToBukkitNew(Block minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.BLOCK, Registry.BLOCK);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.BLOCK);
}
public static Block bukkitToMinecraftNew(BlockType bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/block/banner/CraftPatternType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/block/banner/CraftPatternType.java
index 749024b25..5865892ad 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/block/banner/CraftPatternType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/block/banner/CraftPatternType.java
@@ -4,7 +4,6 @@ import io.papermc.paper.util.OldEnumHolderable;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
import net.minecraft.world.level.block.entity.BannerPattern;
-import org.bukkit.Registry;
import org.bukkit.block.banner.PatternType;
import org.bukkit.craftbukkit.CraftRegistry;
@@ -13,11 +12,11 @@ public class CraftPatternType extends OldEnumHolderable minecraft) {
- return CraftRegistry.minecraftHolderToBukkit(minecraft, Registry.BANNER_PATTERN);
+ return CraftRegistry.minecraftHolderToBukkit(minecraft, Registries.BANNER_PATTERN);
}
public static BannerPattern bukkitToMinecraft(PatternType bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/damage/CraftDamageType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/damage/CraftDamageType.java
index d48641242..335077585 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/damage/CraftDamageType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/damage/CraftDamageType.java
@@ -4,7 +4,6 @@ import com.google.common.base.Preconditions;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.damage.DamageEffect;
@@ -120,6 +119,6 @@ public class CraftDamageType implements DamageType, Handleable {
public static Enchantment minecraftToBukkit(net.minecraft.world.item.enchantment.Enchantment minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.ENCHANTMENT, Registry.ENCHANTMENT);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.ENCHANTMENT);
}
public static Enchantment minecraftHolderToBukkit(Holder minecraft) {
@@ -52,7 +53,7 @@ public class CraftEnchantment extends Enchantment implements Holderable handle;
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java
index 88e876da7..1a09082fc 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java
@@ -7,7 +7,6 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.world.entity.animal.CatVariant;
import org.bukkit.DyeColor;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.util.Handleable;
@@ -55,7 +54,7 @@ public class CraftCat extends CraftTameableAnimal implements Cat {
private static int count = 0;
public static Type minecraftToBukkit(CatVariant minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.CAT_VARIANT, Registry.CAT_VARIANT);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.CAT_VARIANT);
}
public static Type minecraftHolderToBukkit(Holder minecraft) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java
index d230cbc26..47db45462 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.entity;
import com.google.common.base.Preconditions;
+import io.papermc.paper.registry.RegistryKey;
import java.util.Locale;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
@@ -61,6 +62,6 @@ public class CraftEntityType {
NamespacedKey key = NamespacedKey.fromString(string);
// Now also convert from when keys where saved
- return CraftRegistry.get(Registry.ENTITY_TYPE, key, ApiVersion.CURRENT);
+ return CraftRegistry.get(RegistryKey.ENTITY_TYPE, key, ApiVersion.CURRENT);
}
}
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftFrog.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftFrog.java
index ebf09c27e..58cacdc8f 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftFrog.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftFrog.java
@@ -7,7 +7,6 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.world.entity.animal.FrogVariant;
import net.minecraft.world.entity.animal.frog.Frog;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.util.Handleable;
@@ -59,7 +58,7 @@ public class CraftFrog extends CraftAnimals implements org.bukkit.entity.Frog {
private static int count = 0;
public static Variant minecraftToBukkit(FrogVariant minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.FROG_VARIANT, Registry.FROG_VARIANT);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.FROG_VARIANT);
}
public static Variant minecraftHolderToBukkit(Holder minecraft) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
index 8e895d6f8..aaddce10e 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
@@ -11,7 +11,6 @@ import net.minecraft.world.level.block.BedBlock;
import net.minecraft.world.level.block.state.BlockState;
import org.bukkit.Location;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.util.CraftLocation;
@@ -23,7 +22,6 @@ import org.bukkit.event.entity.EntityTransformEvent;
// Paper start
import com.destroystokyo.paper.entity.villager.Reputation;
-import com.google.common.collect.Maps;
import java.util.Map;
import java.util.UUID;
// Paper end
@@ -177,7 +175,7 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
private static int count = 0;
public static Type minecraftToBukkit(VillagerType minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.VILLAGER_TYPE, Registry.VILLAGER_TYPE);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.VILLAGER_TYPE);
}
public static VillagerType bukkitToMinecraft(Type bukkit) {
@@ -258,7 +256,7 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
private static int count = 0;
public static Profession minecraftToBukkit(VillagerProfession minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.VILLAGER_PROFESSION, Registry.VILLAGER_PROFESSION);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.VILLAGER_PROFESSION);
}
public static VillagerProfession bukkitToMinecraft(Profession bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
index ecd33b4ad..c1b7f1281 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
@@ -6,7 +6,6 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.world.entity.animal.WolfVariant;
import org.bukkit.DyeColor;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.util.Handleable;
@@ -81,7 +80,7 @@ public class CraftWolf extends CraftTameableAnimal implements Wolf {
public static class CraftVariant implements Variant, Handleable {
public static Variant minecraftToBukkit(WolfVariant minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.WOLF_VARIANT, Registry.WOLF_VARIANT);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.WOLF_VARIANT);
}
public static Variant minecraftHolderToBukkit(Holder minecraft) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructure.java b/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructure.java
index 09fd00624..75f589e83 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructure.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructure.java
@@ -4,7 +4,6 @@ import com.google.common.base.Suppliers;
import java.util.function.Supplier;
import net.minecraft.core.registries.Registries;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.generator.structure.Structure;
@@ -13,7 +12,7 @@ import org.bukkit.generator.structure.StructureType;
public class CraftStructure extends Structure implements Handleable {
public static Structure minecraftToBukkit(net.minecraft.world.level.levelgen.structure.Structure minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.STRUCTURE, Registry.STRUCTURE);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.STRUCTURE);
}
public static net.minecraft.world.level.levelgen.structure.Structure bukkitToMinecraft(Structure bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructureType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructureType.java
index 7199847c7..cd2d04c1b 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructureType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/generator/structure/CraftStructureType.java
@@ -2,7 +2,6 @@ package org.bukkit.craftbukkit.generator.structure;
import net.minecraft.core.registries.Registries;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.generator.structure.StructureType;
@@ -10,7 +9,7 @@ import org.bukkit.generator.structure.StructureType;
public class CraftStructureType extends StructureType implements Handleable> {
public static StructureType minecraftToBukkit(net.minecraft.world.level.levelgen.structure.StructureType> minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.STRUCTURE_TYPE, Registry.STRUCTURE_TYPE);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.STRUCTURE_TYPE);
}
public static net.minecraft.world.level.levelgen.structure.StructureType> bukkitToMinecraft(StructureType bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java
index b0da057ce..24ff46293 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemType.java
@@ -51,7 +51,7 @@ public class CraftItemType implements ItemType.Typed, Han
}
public static ItemType minecraftToBukkitNew(Item minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.ITEM, Registry.ITEM);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.ITEM);
}
public static Item bukkitToMinecraftNew(ItemType bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java
index fbde94b72..e4d81ef26 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java
@@ -8,11 +8,9 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.inventory.AbstractContainerMenu;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.inventory.util.CraftMenus;
-import org.bukkit.craftbukkit.util.CraftChatMessage;
import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.entity.HumanEntity;
import org.bukkit.inventory.InventoryView;
@@ -85,7 +83,7 @@ public class CraftMenuType implements MenuType.Typed
}
public static MenuType minecraftToBukkit(net.minecraft.world.inventory.MenuType> minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.MENU, Registry.MENU);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.MENU);
}
public static MenuType minecraftHolderToBukkit(Holder> minecraft) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
index fdc0c1d73..30cc01cf1 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
@@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.inventory;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import io.papermc.paper.registry.RegistryKey;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -42,7 +43,7 @@ public class CraftMetaBanner extends CraftMetaItem implements BannerMeta {
for (int i = 0; i < Math.min(patterns.size(), 20); i++) {
BannerPatternLayers.Layer p = patterns.get(i);
DyeColor color = DyeColor.getByWoolData((byte) p.color().getId());
- PatternType pattern = org.bukkit.craftbukkit.CraftRegistry.unwrapAndConvertHolder(org.bukkit.Registry.BANNER_PATTERN, p.pattern()).orElse(null); // Paper - fix upstream not handling inlined banner pattern
+ PatternType pattern = org.bukkit.craftbukkit.CraftRegistry.unwrapAndConvertHolder(RegistryKey.BANNER_PATTERN, p.pattern()).orElse(null); // Paper - fix upstream not handling inlined banner pattern
if (color != null && pattern != null) {
this.patterns.add(new Pattern(color, pattern));
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java
index 77378a90f..d4905c329 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.inventory.trim;
import com.google.common.base.Preconditions;
+import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.util.Holderable;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
@@ -8,18 +9,17 @@ import net.minecraft.network.chat.contents.TranslatableContents;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
-import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.inventory.meta.trim.TrimMaterial;
import org.jetbrains.annotations.NotNull;
public class CraftTrimMaterial implements TrimMaterial, io.papermc.paper.util.Holderable { // Paper - switch to Holder
public static TrimMaterial minecraftToBukkit(net.minecraft.world.item.equipment.trim.TrimMaterial minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.TRIM_MATERIAL, Registry.TRIM_MATERIAL);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.TRIM_MATERIAL);
}
public static TrimMaterial minecraftHolderToBukkit(Holder minecraft) {
- return CraftRegistry.minecraftHolderToBukkit(minecraft, Registry.TRIM_MATERIAL); // Paper - switch to Holder
+ return CraftRegistry.minecraftHolderToBukkit(minecraft, Registries.TRIM_MATERIAL); // Paper - switch to Holder
}
public static net.minecraft.world.item.equipment.trim.TrimMaterial bukkitToMinecraft(TrimMaterial bukkit) {
@@ -42,7 +42,7 @@ public class CraftTrimMaterial implements TrimMaterial, io.papermc.paper.util.Ho
public static TrimMaterial objectToBukkit(Object object) {
Preconditions.checkArgument(object != null);
- return io.papermc.paper.util.Holderable.fromBukkitSerializationObject(object, net.minecraft.world.item.equipment.trim.TrimMaterial.CODEC, Registry.TRIM_MATERIAL); // Paper - switch to Holder
+ return io.papermc.paper.util.Holderable.fromBukkitSerializationObject(object, net.minecraft.world.item.equipment.trim.TrimMaterial.CODEC, RegistryKey.TRIM_MATERIAL); // Paper - switch to Holder
}
@Override
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java
index 0d92f7746..3e3c0d3ba 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.inventory.trim;
import com.google.common.base.Preconditions;
+import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.util.Holderable;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
@@ -8,18 +9,17 @@ import net.minecraft.network.chat.contents.TranslatableContents;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
-import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.inventory.meta.trim.TrimPattern;
import org.jetbrains.annotations.NotNull;
public class CraftTrimPattern implements TrimPattern, io.papermc.paper.util.Holderable { // Paper - switch to Holder
public static TrimPattern minecraftToBukkit(net.minecraft.world.item.equipment.trim.TrimPattern minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.TRIM_PATTERN, Registry.TRIM_PATTERN);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.TRIM_PATTERN);
}
public static TrimPattern minecraftHolderToBukkit(Holder minecraft) {
- return CraftRegistry.minecraftHolderToBukkit(minecraft, Registry.TRIM_PATTERN); // Paper - switch to Holder
+ return CraftRegistry.minecraftHolderToBukkit(minecraft, Registries.TRIM_PATTERN); // Paper - switch to Holder
}
public static net.minecraft.world.item.equipment.trim.TrimPattern bukkitToMinecraft(TrimPattern bukkit) {
@@ -42,7 +42,7 @@ public class CraftTrimPattern implements TrimPattern, io.papermc.paper.util.Hold
public static TrimPattern objectToBukkit(Object object) {
Preconditions.checkArgument(object != null);
- return io.papermc.paper.util.Holderable.fromBukkitSerializationObject(object, net.minecraft.world.item.equipment.trim.TrimPattern.CODEC, Registry.TRIM_PATTERN); // Paper - switch to Holder
+ return io.papermc.paper.util.Holderable.fromBukkitSerializationObject(object, net.minecraft.world.item.equipment.trim.TrimPattern.CODEC, RegistryKey.TRIM_PATTERN); // Paper - switch to Holder
}
@Override
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/legacy/enums/EnumEvil.java b/paper-server/src/main/java/org/bukkit/craftbukkit/legacy/enums/EnumEvil.java
index faba7efbd..1376703cd 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/legacy/enums/EnumEvil.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/legacy/enums/EnumEvil.java
@@ -40,6 +40,7 @@ import org.bukkit.entity.Villager;
import org.bukkit.map.MapCursor;
import org.bukkit.util.OldEnum;
+@Deprecated
@NotInBukkit
@RequireCompatibility("enum-compatibility-mode")
@RequirePluginVersion(maxInclusive = "1.20.6")
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/map/CraftMapCursor.java b/paper-server/src/main/java/org/bukkit/craftbukkit/map/CraftMapCursor.java
index 9c02115aa..a24cd5850 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/map/CraftMapCursor.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/map/CraftMapCursor.java
@@ -5,7 +5,6 @@ import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
import net.minecraft.world.level.saveddata.maps.MapDecorationType;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.map.MapCursor;
@@ -17,7 +16,7 @@ public final class CraftMapCursor {
private static int count = 0;
public static MapCursor.Type minecraftToBukkit(MapDecorationType minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.MAP_DECORATION_TYPE, Registry.MAP_DECORATION_TYPE);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.MAP_DECORATION_TYPE);
}
public static MapCursor.Type minecraftHolderToBukkit(Holder minecraft) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java
index 0bcb9df11..8d9c141ff 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java
@@ -5,7 +5,6 @@ import net.minecraft.core.registries.Registries;
import net.minecraft.world.effect.MobEffect;
import org.bukkit.Color;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.craftbukkit.util.Handleable;
import org.bukkit.potion.PotionEffect;
@@ -20,7 +19,7 @@ public class CraftPotionEffectType extends PotionEffectType implements Handleabl
}
public static PotionEffectType minecraftToBukkit(MobEffect minecraft) {
- return CraftRegistry.minecraftToBukkit(minecraft, Registries.MOB_EFFECT, Registry.EFFECT);
+ return CraftRegistry.minecraftToBukkit(minecraft, Registries.MOB_EFFECT);
}
public static MobEffect bukkitToMinecraft(PotionEffectType bukkit) {
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionType.java
index f1d8ed4a2..24010b74a 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionType.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionType.java
@@ -2,6 +2,7 @@ package org.bukkit.craftbukkit.potion;
import com.google.common.base.Preconditions;
import com.google.common.base.Suppliers;
+import io.papermc.paper.registry.RegistryKey;
import java.util.List;
import java.util.Locale;
import java.util.function.Supplier;
@@ -72,7 +73,7 @@ public class CraftPotionType implements PotionType.InternalPotionData {
if (key == null) return null; // Paper - Fixup NamespacedKey handling
// Now also convert from when keys where saved
- return CraftRegistry.get(Registry.POTION, key, ApiVersion.CURRENT);
+ return CraftRegistry.get(RegistryKey.POTION, key, ApiVersion.CURRENT);
}
private final NamespacedKey key;
diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 327504514..bd8005cd3 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -12,17 +12,16 @@ import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.serialization.Dynamic;
import com.mojang.serialization.JsonOps;
+import io.papermc.paper.registry.RegistryKey;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
-import java.util.logging.Logger;
import java.util.stream.Stream;
import io.papermc.paper.entity.EntitySerializationFlag;
import net.minecraft.SharedConstants;
@@ -48,11 +47,9 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.LevelResource;
import org.bukkit.Bukkit;
-import org.bukkit.FeatureFlag;
import org.bukkit.Keyed;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.UnsafeValues;
import org.bukkit.World;
import org.bukkit.advancement.Advancement;
@@ -66,14 +63,12 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.block.CraftBiome;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
-import org.bukkit.craftbukkit.damage.CraftDamageEffect;
import org.bukkit.craftbukkit.damage.CraftDamageSourceBuilder;
import org.bukkit.craftbukkit.entity.CraftEntity;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.craftbukkit.legacy.CraftLegacy;
import org.bukkit.craftbukkit.legacy.FieldRename;
import org.bukkit.craftbukkit.potion.CraftPotionType;
-import org.bukkit.damage.DamageEffect;
import org.bukkit.damage.DamageSource;
import org.bukkit.damage.DamageType;
import org.bukkit.enchantments.Enchantment;
@@ -495,7 +490,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
@Override
- public B get(Registry registry, NamespacedKey namespacedKey) {
+ public B get(RegistryKey registry, NamespacedKey namespacedKey) {
// We currently do not have any version-dependent remapping, so we can use current version
return CraftRegistry.get(registry, namespacedKey, ApiVersion.CURRENT);
}
diff --git a/paper-server/src/test/java/org/bukkit/registry/PerRegistryTest.java b/paper-server/src/test/java/org/bukkit/registry/PerRegistryTest.java
index 319e00051..0ce400166 100644
--- a/paper-server/src/test/java/org/bukkit/registry/PerRegistryTest.java
+++ b/paper-server/src/test/java/org/bukkit/registry/PerRegistryTest.java
@@ -34,11 +34,11 @@ public class PerRegistryTest {
try {
Object object = registryField.get(null);
// Ignore Bukkit's default SimpleRegistry. It cannot be tested correctly
- if (!(object instanceof CraftRegistry, ?> registry)) {
+ if (object instanceof Registry.NotARegistry) {
continue;
}
- data.add(Arguments.of(registry));
+ data.add(Arguments.of(object));
} catch (ReflectiveOperationException e) {
e.printStackTrace();
}
diff --git a/paper-server/src/test/java/org/bukkit/registry/RegistryConversionTest.java b/paper-server/src/test/java/org/bukkit/registry/RegistryConversionTest.java
index 293af3511..49b8fdb1a 100644
--- a/paper-server/src/test/java/org/bukkit/registry/RegistryConversionTest.java
+++ b/paper-server/src/test/java/org/bukkit/registry/RegistryConversionTest.java
@@ -1,8 +1,5 @@
package org.bukkit.registry;
-import static org.junit.jupiter.api.Assertions.*;
-import static org.junit.jupiter.api.Assumptions.*;
-import static org.mockito.Mockito.*;
import com.google.common.base.Joiner;
import io.papermc.paper.registry.RegistryKey;
import java.lang.reflect.InvocationTargetException;
@@ -13,7 +10,6 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import net.minecraft.resources.ResourceKey;
-import org.bukkit.Bukkit;
import org.bukkit.Keyed;
import org.bukkit.Registry;
import org.bukkit.craftbukkit.util.Handleable;
@@ -25,6 +21,13 @@ import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.params.provider.Arguments;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
+import static org.mockito.Mockito.mock;
+
@AllFeatures
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class RegistryConversionTest {
@@ -260,7 +263,7 @@ public class RegistryConversionTest {
Joiner.on('\n').withKeyValueSeparator(" got: ").join(notMatching)));
}
- static final Set> IGNORE_FOR_DIRECT_HOLDER = Set.of(RegistryKey.TRIM_MATERIAL, RegistryKey.TRIM_PATTERN, RegistryKey.INSTRUMENT, RegistryKey.PAINTING_VARIANT, RegistryKey.BANNER_PATTERN, RegistryKey.SOUND_EVENT); // Paper
+ static final Set> IGNORE_FOR_DIRECT_HOLDER = Set.of(RegistryKey.TRIM_MATERIAL, RegistryKey.TRIM_PATTERN, RegistryKey.INSTRUMENT, RegistryKey.PAINTING_VARIANT, RegistryKey.BANNER_PATTERN, RegistryKey.SOUND_EVENT, RegistryKey.ENCHANTMENT); // Paper
/**
* Minecraft registry can return a default key / value