java.lang.Object
api.linlang.tool.LinInventories
Bukkit 容器容量与物品数量计算工具。
-
方法概要
修饰符和类型方法说明static booleancanFit(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item) 判断容器能否完整放入指定物品堆栈。static booleancanFitAll(org.bukkit.inventory.Inventory inventory, Iterable<? extends org.bukkit.inventory.ItemStack> items) 判断容器能否同时完整放入全部物品。static longcapacityFor(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item) 计算容器还能容纳多少个指定物品。static booleancontainsAtLeastSimilar(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack sample, long amount) 判断容器是否至少持有指定数量的相似物品。static longcount(org.bukkit.inventory.Inventory inventory, Predicate<? super org.bukkit.inventory.ItemStack> filter) 按条件统计容器储存区域内的物品数量。static longcountSimilar(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack sample) 统计容器中与样本物品相似的物品数量。static intemptySlots(org.bukkit.inventory.Inventory inventory) 统计容器中的空储存槽位。static booleanisEmpty(org.bukkit.inventory.Inventory inventory) 判断容器储存区域是否没有物品。static booleanisFullFor(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item) 判断容器是否已经无法接收指定物品。matchingSlots(org.bukkit.inventory.Inventory inventory, Predicate<? super org.bukkit.inventory.ItemStack> filter) 返回储存区域内满足条件的槽位索引。static InventorySimulationsimulateAdd(org.bukkit.inventory.Inventory inventory, Iterable<? extends org.bukkit.inventory.ItemStack> items) 模拟向容器连续放入一组物品。static List<org.bukkit.inventory.ItemStack>storageSnapshot(org.bukkit.inventory.Inventory inventory) 返回容器储存区域的完整副本。
-
方法详细资料
-
capacityFor
public static long capacityFor(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item) 计算容器还能容纳多少个指定物品。- 参数:
inventory- 目标容器item- 指定物品- 返回:
- 剩余容量
-
canFit
public static boolean canFit(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item) 判断容器能否完整放入指定物品堆栈。- 参数:
inventory- 目标容器item- 待放入物品- 返回:
- 容量足够时为
true
-
canFitAll
public static boolean canFitAll(org.bukkit.inventory.Inventory inventory, Iterable<? extends org.bukkit.inventory.ItemStack> items) 判断容器能否同时完整放入全部物品。该方法使用一次连续模拟,多个物品不会重复占用同一空槽位。
- 参数:
inventory- 目标容器items- 待放入物品- 返回:
- 全部物品均可放入时为
true
-
simulateAdd
public static InventorySimulation simulateAdd(org.bukkit.inventory.Inventory inventory, Iterable<? extends org.bukkit.inventory.ItemStack> items) 模拟向容器连续放入一组物品。该方法只操作容器内容的副本,不会修改真实容器或传入的物品。
- 参数:
inventory- 目标容器items- 待放入物品- 返回:
- 装入数量和剩余物品
-
countSimilar
public static long countSimilar(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack sample) 统计容器中与样本物品相似的物品数量。- 参数:
inventory- 目标容器sample- 样本物品- 返回:
- 相似物品的数量总和
-
count
public static long count(org.bukkit.inventory.Inventory inventory, Predicate<? super org.bukkit.inventory.ItemStack> filter) 按条件统计容器储存区域内的物品数量。筛选条件收到的是物品副本,不能借此修改真实容器。
- 参数:
inventory- 目标容器filter- 物品筛选条件- 返回:
- 匹配物品的数量总和
-
matchingSlots
public static List<Integer> matchingSlots(org.bukkit.inventory.Inventory inventory, Predicate<? super org.bukkit.inventory.ItemStack> filter) 返回储存区域内满足条件的槽位索引。筛选条件收到的是物品副本,不能借此修改真实容器。
- 参数:
inventory- 目标容器filter- 物品筛选条件- 返回:
- 不可修改的槽位索引快照
-
storageSnapshot
public static List<org.bukkit.inventory.ItemStack> storageSnapshot(org.bukkit.inventory.Inventory inventory) 返回容器储存区域的完整副本。返回列表保留空槽位及其索引,非空物品均为独立副本。
- 参数:
inventory- 目标容器- 返回:
- 不可修改的储存区域快照
-
containsAtLeastSimilar
public static boolean containsAtLeastSimilar(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack sample, long amount) 判断容器是否至少持有指定数量的相似物品。- 参数:
inventory- 目标容器sample- 样本物品amount- 最低数量- 返回:
- 数量满足要求时为
true
-
emptySlots
public static int emptySlots(org.bukkit.inventory.Inventory inventory) 统计容器中的空储存槽位。- 参数:
inventory- 目标容器- 返回:
- 空槽位数量
-
isEmpty
public static boolean isEmpty(org.bukkit.inventory.Inventory inventory) 判断容器储存区域是否没有物品。- 参数:
inventory- 目标容器- 返回:
- 全部储存槽均为空时为
true
-
isFullFor
public static boolean isFullFor(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item) 判断容器是否已经无法接收指定物品。- 参数:
inventory- 目标容器item- 指定物品- 返回:
- 非空物品没有剩余容量时为
true
-