package com.tiedup.remake.entities.kidnapper.hosts;

import com.tiedup.remake.entities.EntityKidnapper;
import com.tiedup.remake.entities.kidnapper.components.ISaleHost;
import com.tiedup.remake.state.IRestrainable;
import net.minecraft.world.level.Level;
import org.jetbrains.annotations.Nullable;

/**
 * Host implementation for KidnapperSaleManager callbacks.
 * Provides access to entity properties needed for sale management.
 */
public class SaleHost implements ISaleHost {

    private final EntityKidnapper entity;

    public SaleHost(EntityKidnapper entity) {
        this.entity = entity;
    }

    @Override
    public Level level() {
        return entity.level();
    }

    @Override
    public boolean hasCaptives() {
        return entity.hasCaptives();
    }

    @Override
    @Nullable
    public IRestrainable getCaptive() {
        return entity.getCaptive();
    }

    @Override
    public String getNpcName() {
        return entity.getNpcName();
    }

    @Override
    public void setGetOutState(boolean state) {
        entity.setGetOutState(state);
    }

    @Override
    public boolean getAllowCaptiveTransferFlag() {
        return entity.getAllowCaptiveTransferFlag();
    }

    @Override
    public void setAllowCaptiveTransferFlag(boolean flag) {
        entity.setAllowCaptiveTransferFlag(flag);
    }
}
