package net.citizensnpcs.nms.v1_18_R2.util;

import org.bukkit.entity.Entity;

import com.google.common.base.Joiner;

import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.util.Messaging;
import net.citizensnpcs.npc.ai.NPCHolder;

public interface ForwardingNPCHolder extends NPCHolder, Entity {
    @Override
    default NPC getNPC() {
        net.minecraft.world.entity.Entity handle = NMSImpl.getHandle(this);
        if (!(handle instanceof NPCHolder)) {
            Messaging.idebug(
                    () -> Joiner.on(' ').join("ForwardingNPCHolder with an improper bukkit entity", this, handle));
            return null;
        }
        return ((NPCHolder) handle).getNPC();
    }
}
