package org.bukkit.craftbukkit; import net.minecraft.core.registries.Registries; import org.bukkit.GameEvent; import org.bukkit.NamespacedKey; import org.bukkit.Registry; import org.bukkit.craftbukkit.util.Handleable; import org.jetbrains.annotations.NotNull; public class CraftGameEvent extends GameEvent implements Handleable { public static GameEvent minecraftToBukkit(net.minecraft.world.level.gameevent.GameEvent minecraft) { return CraftRegistry.minecraftToBukkit(minecraft, Registries.GAME_EVENT, Registry.GAME_EVENT); } public static net.minecraft.world.level.gameevent.GameEvent bukkitToMinecraft(GameEvent bukkit) { return CraftRegistry.bukkitToMinecraft(bukkit); } private final NamespacedKey key; private final net.minecraft.world.level.gameevent.GameEvent handle; public CraftGameEvent(NamespacedKey key, net.minecraft.world.level.gameevent.GameEvent handle) { this.key = key; this.handle = handle; } @Override public net.minecraft.world.level.gameevent.GameEvent getHandle() { return handle; } @NotNull @Override public NamespacedKey getKey() { return key; } @Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof CraftGameEvent)) { return false; } return getKey().equals(((GameEvent) other).getKey()); } @Override public int hashCode() { return getKey().hashCode(); } @Override public String toString() { return "CraftGameEvent{key=" + key + "}"; } }