- 1,007
- 36
- 206
Мне нужно чтобы при нажатии ПКМ на предмете у игрока сразу удалялось 10 предметов. Как это сделать?
Можно воспользоваться, методом onItemRightClick в предмете.junkil335 написал(а):при нажатии ПКМ на предмете
@Override
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
Item findItem = Items.stick;
int i = 0;
for (ItemStack item : player.inventory.mainInventory) {
if (item != null && item.getItem() == findItem)
i += item.stackSize;
if (i >= 10) break;
}
if (i >= 10) {
//Было лень дальше писать по своему, просто...
Можно воспользоваться, методом onItemRightClick в предмете.junkil335 написал(а):при нажатии ПКМ на предмете
@Override
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
Item findItem = Items.stick;
int i = 0;
for (ItemStack item : player.inventory.mainInventory) {
if (item != null && item.getItem() == findItem)
i += item.stackSize;
if (i >= 10) break;
}
if (i >= 10) {
//Было лень дальше писать по своему, просто создал такой приметив.
for (int j = 0; j < 10; ++j)
player.inventory.consumeInventoryItem(findItem);
if (!player.capabilities.isCreativeMode) --is.stackSize;
}
return super.onItemRightClick(is, world, player);
}
for (int j = 0; j < 10; ++i)
for (int j = 0; j < 10; ++j)
@Override
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
ItemStack findItem = new ItemStack(Blocks.stone);
findItem.addEnchantment(Enchantment.fortune, 1);
for (int i = 0; i < player.inventory.getSizeInventory(); ++i) {
ItemStack item = player.inventory.getStackInSlot(i);
if (
item != null &&
item.getItemDamage() == findItem.getItemDamage() &&
ItemStack.areItemStackTagsEqual(item, findItem)
) {
player.inventory.setInventorySlotContents(i, null);
}
}
return super.onItemRightClick(is, world, player);
}