Fix some components (#12457)
This commit is contained in:
@@ -1,19 +1,14 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import io.papermc.paper.adventure.PaperAdventure;
|
||||
import io.papermc.paper.registry.HolderableBase;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.entity.animal.ChickenVariant;
|
||||
import net.minecraft.world.item.EitherHolder;
|
||||
import org.bukkit.craftbukkit.CraftRegistry;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Chicken;
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
import java.util.Optional;
|
||||
|
||||
@NullMarked
|
||||
public class CraftChicken extends CraftAnimals implements Chicken {
|
||||
@@ -54,26 +49,6 @@ public class CraftChicken extends CraftAnimals implements Chicken {
|
||||
return CraftRegistry.minecraftHolderToBukkit(minecraft, Registries.CHICKEN_VARIANT);
|
||||
}
|
||||
|
||||
public static Variant minecraftEitherHolderToBukkit(EitherHolder<ChickenVariant> minecraft) {
|
||||
final Optional<Holder<ChickenVariant>> left = minecraft.contents().left();
|
||||
if (left.isPresent()) {
|
||||
return CraftRegistry.minecraftHolderToBukkit(left.get(), Registries.CHICKEN_VARIANT);
|
||||
}
|
||||
final Optional<ResourceKey<ChickenVariant>> right = minecraft.contents().right();
|
||||
if (right.isPresent()) {
|
||||
final Holder.Reference<ChickenVariant> orThrow = CraftRegistry.getMinecraftRegistry(right.get().registryKey()).getOrThrow(right.get());
|
||||
return minecraftToBukkit(orThrow.value());
|
||||
}
|
||||
throw new IllegalStateException("Cannot map entry for " + minecraft);
|
||||
}
|
||||
|
||||
public static EitherHolder<ChickenVariant> bukkitToMinecraftEitherHolder(Variant variant) {
|
||||
final Registry<ChickenVariant> chickenVariantRegistry = CraftRegistry.getMinecraftRegistry(Registries.CHICKEN_VARIANT);
|
||||
final Optional<Holder.Reference<ChickenVariant>> chickenVariantReference = chickenVariantRegistry.get(PaperAdventure.asVanilla(variant.key()));
|
||||
return chickenVariantReference.map(EitherHolder::new).orElseGet(() -> new EitherHolder<>(PaperAdventure.asVanilla(chickenVariantRegistry.key(), variant.key())));
|
||||
|
||||
}
|
||||
|
||||
public static ChickenVariant bukkitToMinecraft(Variant bukkit) {
|
||||
return CraftRegistry.bukkitToMinecraft(bukkit);
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ public final class CraftJukeboxComponent implements JukeboxPlayableComponent {
|
||||
@Override
|
||||
public JukeboxSong getSong() {
|
||||
Optional<Holder<net.minecraft.world.item.JukeboxSong>> song = this.handle.song().unwrap(CraftRegistry.getMinecraftRegistry());
|
||||
return (song.isPresent()) ? CraftJukeboxSong.minecraftHolderToBukkit(song.get()) : null;
|
||||
return song.map(CraftJukeboxSong::minecraftHolderToBukkit).orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user