Skip to content

Commit 20ec622

Browse files
committed
use correct types for preloading CraftRegistry
also add a check in CraftRegistryEntry constructor to make sure preload class isn't in net.minecraft package
1 parent 1bc02e6 commit 20ec622

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

patches/server/0471-Add-RegistryAccess-for-managing-Registries.patch

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public net.minecraft.server.RegistryLayer STATIC_ACCESS
1212

1313
diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
1414
new file mode 100644
15-
index 0000000000000000000000000000000000000000..c92ce42398a9bfd00eb4e05972289c521ee255cf
15+
index 0000000000000000000000000000000000000000..633b01431750d4b40159a57bf25fb35c6670ff1b
1616
--- /dev/null
1717
+++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
1818
@@ -0,0 +1,146 @@
@@ -28,8 +28,6 @@ index 0000000000000000000000000000000000000000..c92ce42398a9bfd00eb4e05972289c52
2828
+import net.minecraft.core.Registry;
2929
+import net.minecraft.core.registries.Registries;
3030
+import net.minecraft.resources.ResourceKey;
31-
+import net.minecraft.world.item.enchantment.Enchantment;
32-
+import net.minecraft.world.level.levelgen.structure.Structure;
3331
+import org.bukkit.GameEvent;
3432
+import org.bukkit.JukeboxSong;
3533
+import org.bukkit.Keyed;
@@ -58,11 +56,13 @@ index 0000000000000000000000000000000000000000..c92ce42398a9bfd00eb4e05972289c52
5856
+import org.bukkit.craftbukkit.potion.CraftPotionEffectType;
5957
+import org.bukkit.craftbukkit.util.CraftNamespacedKey;
6058
+import org.bukkit.damage.DamageType;
59+
+import org.bukkit.enchantments.Enchantment;
6160
+import org.bukkit.entity.Cat;
6261
+import org.bukkit.entity.Frog;
6362
+import org.bukkit.entity.Villager;
6463
+import org.bukkit.entity.Wolf;
6564
+import org.bukkit.entity.memory.MemoryKey;
65+
+import org.bukkit.generator.structure.Structure;
6666
+import org.bukkit.generator.structure.StructureType;
6767
+import org.bukkit.inventory.ItemType;
6868
+import org.bukkit.inventory.MenuType;
@@ -416,12 +416,13 @@ index 0000000000000000000000000000000000000000..ceb217dbbb84e8bd51365dd47bf91971
416416
+}
417417
diff --git a/src/main/java/io/papermc/paper/registry/entry/CraftRegistryEntry.java b/src/main/java/io/papermc/paper/registry/entry/CraftRegistryEntry.java
418418
new file mode 100644
419-
index 0000000000000000000000000000000000000000..568984894a5463ccfa68bb6944b409ab0a2d7ad7
419+
index 0000000000000000000000000000000000000000..9bb4aa926978f117901c9f99c45a6862a1d5ce30
420420
--- /dev/null
421421
+++ b/src/main/java/io/papermc/paper/registry/entry/CraftRegistryEntry.java
422-
@@ -0,0 +1,49 @@
422+
@@ -0,0 +1,51 @@
423423
+package io.papermc.paper.registry.entry;
424424
+
425+
+import com.google.common.base.Preconditions;
425426
+import io.papermc.paper.registry.RegistryHolder;
426427
+import io.papermc.paper.registry.RegistryKey;
427428
+import java.util.function.BiFunction;
@@ -450,6 +451,7 @@ index 0000000000000000000000000000000000000000..568984894a5463ccfa68bb6944b409ab
450451
+ final BiFunction<NamespacedKey, M, B> minecraftToBukkit
451452
+ ) {
452453
+ super(mcKey, apiKey);
454+
+ Preconditions.checkArgument(!classToPreload.getPackageName().startsWith("net.minecraft"), classToPreload + " should not be in the net.minecraft package as the class-to-preload");
453455
+ this.classToPreload = classToPreload;
454456
+ this.minecraftToBukkit = minecraftToBukkit;
455457
+ }

0 commit comments

Comments
 (0)