java.lang.Object
api.linlang.tool.LinItems
物品堆栈的无状态判断与计算工具。
-
方法概要
修饰符和类型方法说明static booleancanStack(org.bukkit.inventory.ItemStack left, org.bukkit.inventory.ItemStack right) 判断两个物品能否放入同一堆栈。static org.bukkit.inventory.ItemStackcopy(org.bukkit.inventory.ItemStack item) 创建物品副本。static org.bukkit.inventory.ItemStackcopyWithAmount(org.bukkit.inventory.ItemStack item, int amount) 创建指定数量的物品副本。static booleanisEmpty(org.bukkit.inventory.ItemStack item) 判断物品是否没有可用内容。static booleanisFullStack(org.bukkit.inventory.ItemStack item) 判断物品数量是否达到其最大堆叠数量。static intremainingSpace(org.bukkit.inventory.ItemStack target, org.bukkit.inventory.ItemStack incoming, org.bukkit.inventory.Inventory inventory) 计算目标堆栈还能接收多少个同类物品。static booleansameType(org.bukkit.inventory.ItemStack left, org.bukkit.inventory.ItemStack right) 判断两个非空物品是否使用相同材质。static List<org.bukkit.inventory.ItemStack>split(org.bukkit.inventory.ItemStack item) 按物品最大堆叠数量拆分原物品。static List<org.bukkit.inventory.ItemStack>split(org.bukkit.inventory.ItemStack template, int amount) 按物品最大堆叠数量拆分指定总量。static longtotalAmount(Iterable<? extends org.bukkit.inventory.ItemStack> items) 汇总一组物品中的有效数量。static longtotalAmountSimilar(Iterable<? extends org.bukkit.inventory.ItemStack> items, org.bukkit.inventory.ItemStack sample) 汇总一组物品中与样本相似的物品数量。
-
方法详细资料
-
isEmpty
public static boolean isEmpty(org.bukkit.inventory.ItemStack item) 判断物品是否没有可用内容。- 参数:
item- 物品,可为null- 返回:
- 物品为空、空气或数量不大于零时为
true
-
copy
public static org.bukkit.inventory.ItemStack copy(org.bukkit.inventory.ItemStack item) 创建物品副本。- 参数:
item- 原物品- 返回:
- 不共享 ItemMeta 的物品副本
-
copyWithAmount
public static org.bukkit.inventory.ItemStack copyWithAmount(org.bukkit.inventory.ItemStack item, int amount) 创建指定数量的物品副本。- 参数:
item- 原物品amount- 副本数量- 返回:
- 指定数量的新物品
-
canStack
public static boolean canStack(org.bukkit.inventory.ItemStack left, org.bukkit.inventory.ItemStack right) 判断两个物品能否放入同一堆栈。- 参数:
left- 左侧物品right- 右侧物品- 返回:
- 两者均为空,或物品元数据相同时为
true
-
sameType
public static boolean sameType(org.bukkit.inventory.ItemStack left, org.bukkit.inventory.ItemStack right) 判断两个非空物品是否使用相同材质。- 参数:
left- 左侧物品right- 右侧物品- 返回:
- 两者均非空且材质相同时为
true
-
isFullStack
public static boolean isFullStack(org.bukkit.inventory.ItemStack item) 判断物品数量是否达到其最大堆叠数量。- 参数:
item- 物品- 返回:
- 物品非空且已经满堆时为
true
-
split
按物品最大堆叠数量拆分原物品。- 参数:
item- 原物品- 返回:
- 不共享物品元数据的堆栈副本
-
split
public static List<org.bukkit.inventory.ItemStack> split(org.bukkit.inventory.ItemStack template, int amount) 按物品最大堆叠数量拆分指定总量。- 参数:
template- 物品模板amount- 待拆分总量- 返回:
- 不共享物品元数据的堆栈副本
-
remainingSpace
public static int remainingSpace(org.bukkit.inventory.ItemStack target, org.bukkit.inventory.ItemStack incoming, org.bukkit.inventory.Inventory inventory) 计算目标堆栈还能接收多少个同类物品。- 参数:
target- 目标堆栈incoming- 待放入物品inventory- 所属容器- 返回:
- 可接收数量;物品不同或目标已满时返回零
-
totalAmount
汇总一组物品中的有效数量。- 参数:
items- 物品集合- 返回:
- 非空物品的数量总和
-
totalAmountSimilar
public static long totalAmountSimilar(Iterable<? extends org.bukkit.inventory.ItemStack> items, org.bukkit.inventory.ItemStack sample) 汇总一组物品中与样本相似的物品数量。- 参数:
items- 物品集合sample- 样本物品- 返回:
- 相似物品的数量总和
-