当前位置: 首页>>代码示例>>Java>>正文


Java IInventory.isItemValidForSlot方法代码示例

本文整理汇总了Java中net.minecraft.inventory.IInventory.isItemValidForSlot方法的典型用法代码示例。如果您正苦于以下问题:Java IInventory.isItemValidForSlot方法的具体用法?Java IInventory.isItemValidForSlot怎么用?Java IInventory.isItemValidForSlot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.inventory.IInventory的用法示例。


在下文中一共展示了IInventory.isItemValidForSlot方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testInventoryInsertion

import net.minecraft.inventory.IInventory; //导入方法依赖的package包/类
public int testInventoryInsertion(IInventory inventory, ItemStack item) {
	if (item.isEmpty() || item.getCount() == 0) {
		return 0;
	}
	if (inventory == null) {
		return 0;
	}
	int slotCount = inventory.getSizeInventory();
	int itemSizeCounter = item.getCount();
	for (int i = 0; i < slotCount && itemSizeCounter > 0; i++) {

		if (!inventory.isItemValidForSlot(i, item)) {
			continue;
		}
		ItemStack inventorySlot = inventory.getStackInSlot(i);
		if (inventorySlot.isEmpty()) {
			itemSizeCounter -= Math.min(Math.min(itemSizeCounter, inventory.getInventoryStackLimit()), item.getMaxStackSize());
		}
		else if (areMergeCandidates(item, inventorySlot)) {

			int space = inventorySlot.getMaxStackSize() - inventorySlot.getCount();
			itemSizeCounter -= Math.min(itemSizeCounter, space);
		}
	}
	if (itemSizeCounter != item.getCount()) {
		itemSizeCounter = Math.max(itemSizeCounter, 0);
		return item.getCount() - itemSizeCounter;
	}
	return 0;
}
 
开发者ID:p455w0rd,项目名称:EndermanEvolution,代码行数:31,代码来源:EntityFrienderman.java

示例2: canInsertItemInSlot

import net.minecraft.inventory.IInventory; //导入方法依赖的package包/类
/**
 * Can this hopper insert the specified item from the specified slot on the specified side?
 */
private static boolean canInsertItemInSlot(IInventory inventoryIn, ItemStack stack, int index, EnumFacing side)
{
    return !inventoryIn.isItemValidForSlot(index, stack) ? false : !(inventoryIn instanceof ISidedInventory) || ((ISidedInventory)inventoryIn).canInsertItem(index, stack, side);
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:8,代码来源:TileEntityHopper.java

示例3: canInsertItemInSlot

import net.minecraft.inventory.IInventory; //导入方法依赖的package包/类
private static boolean canInsertItemInSlot(IInventory inventoryIn, ItemStack stack, int index, EnumFacing side) {
	return !inventoryIn.isItemValidForSlot(index, stack) ? false : !(inventoryIn instanceof ISidedInventory) || ((ISidedInventory) inventoryIn).canInsertItem(index, stack, side);
}
 
开发者ID:p455w0rd,项目名称:EndermanEvolution,代码行数:4,代码来源:FriendermanUtils.java


注:本文中的net.minecraft.inventory.IInventory.isItemValidForSlot方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。