#1340: Centralize the conversion from and to Minecraft / Bukkit registry items even more and add a test case for them

By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
CraftBukkit/Spigot
2024-01-22 20:36:36 +11:00
parent e6b4a5f109
commit d7095f8578
20 changed files with 623 additions and 110 deletions

View File

@@ -1,32 +1,21 @@
package org.bukkit.craftbukkit;
import com.google.common.base.Preconditions;
import net.minecraft.core.IRegistry;
import net.minecraft.core.registries.Registries;
import net.minecraft.world.item.Instrument;
import org.bukkit.MusicInstrument;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
import org.bukkit.craftbukkit.util.Handleable;
import org.jetbrains.annotations.NotNull;
public class CraftMusicInstrument extends MusicInstrument {
public class CraftMusicInstrument extends MusicInstrument implements Handleable<Instrument> {
public static MusicInstrument minecraftToBukkit(Instrument minecraft) {
Preconditions.checkArgument(minecraft != null);
IRegistry<Instrument> registry = CraftRegistry.getMinecraftRegistry(Registries.INSTRUMENT);
MusicInstrument bukkit = Registry.INSTRUMENT.get(CraftNamespacedKey.fromMinecraft(registry.getKey(minecraft)));
Preconditions.checkArgument(bukkit != null);
return bukkit;
return CraftRegistry.minecraftToBukkit(minecraft, Registries.INSTRUMENT, Registry.INSTRUMENT);
}
public static Instrument bukkitToMinecraft(MusicInstrument bukkit) {
Preconditions.checkArgument(bukkit != null);
return ((CraftMusicInstrument) bukkit).getHandle();
return CraftRegistry.bukkitToMinecraft(bukkit);
}
private final NamespacedKey key;
@@ -37,6 +26,7 @@ public class CraftMusicInstrument extends MusicInstrument {
this.handle = handle;
}
@Override
public Instrument getHandle() {
return handle;
}