- 50
- 7
Нужно сравнить предмет в OFFHAND с другим предметом, и если OFFHAND = предмет, то вернуть успешное выполнение.
Я попробовал много разных вариантов, но все же остановился на этом.
Проблема в том, что даже если предмет в левой руке не тот, или его вообще нет - выполнение все равно успешное.
Я попробовал много разных вариантов, но все же остановился на этом.
Проблема в том, что даже если предмет в левой руке не тот, или его вообще нет - выполнение все равно успешное.
Java:
public class BeefCan extends ItemFood implements IHasModel
{
public BeefCan(String name, int amount, float saturation, boolean isWolfFood)
{
super(amount, saturation, isWolfFood);
this.setRegistryName(name);
this.setUnlocalizedName(name);
this.setCreativeTab(CreativeTabs.FOOD);
ItemsRegister.ITEMS.add(this);
}
//проверка
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn) {
ItemStack offhand = playerIn.getHeldItemOffhand();
ItemStack mainhand = playerIn.getHeldItemMainhand();
if (offhand!=(new ItemStack(ItemsRegister.OPENER))) {
return new ActionResult<ItemStack>(EnumActionResult.FAIL, mainhand);
} else {
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, mainhand);
}
}
//-------
@Override
protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player)
{
super.onFoodEaten(stack, worldIn, player);
ItemStack emptycan = new ItemStack(ItemsRegister.EMPTY_CAN);
player.addItemStackToInventory(emptycan);
}
@Override
public void registerModels() {
Main.proxy.registerItemRenderer(this, 0, "inventory");
}
}