package com.bergerkiller.bukkit.common.entity.nms;
import net.minecraft.server.ItemStack;
import com.bergerkiller.bukkit.common.controller.DefaultEntityInventoryController;
import com.bergerkiller.bukkit.common.controller.EntityInventoryController;
import com.bergerkiller.bukkit.common.entity.CommonEntity;
import com.bergerkiller.bukkit.common.internal.CommonNMS;
public class NMSEntityInventoryHookImpl implements NMSEntityInventoryHook {
private EntityInventoryController<?> controller;
public NMSEntityInventoryHookImpl(CommonEntity<?> entity) {
this.controller = new DefaultEntityInventoryController();
this.controller.bind(entity);
}
@Override
public EntityInventoryController<?> getInventoryController() {
return controller;
}
@Override
public void setInventoryController(EntityInventoryController<?> controller) {
this.controller = controller;
}
@Override
public void setItem(int index, ItemStack item) {
this.controller.onItemSet(index, CommonNMS.getItemStack(item));
}
@Override
public void super_setItem(int index, ItemStack item) {
this.controller.getEntity().getHandle(NMSEntityInventoryHook.class).super_setItem(index, item);
}
}