模块 linlang.api
程序包 api.linlang.tool

类 LinInventories

java.lang.Object
api.linlang.tool.LinInventories

public final class LinInventories extends Object
Bukkit 容器容量与物品数量计算工具。
  • 方法概要

    修饰符和类型
    方法
    说明
    static boolean
    canFit(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item)
    判断容器能否完整放入指定物品堆栈。
    static boolean
    canFitAll(org.bukkit.inventory.Inventory inventory, Iterable<? extends org.bukkit.inventory.ItemStack> items)
    判断容器能否同时完整放入全部物品。
    static long
    capacityFor(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item)
    计算容器还能容纳多少个指定物品。
    static boolean
    containsAtLeastSimilar(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack sample, long amount)
    判断容器是否至少持有指定数量的相似物品。
    static long
    count(org.bukkit.inventory.Inventory inventory, Predicate<? super org.bukkit.inventory.ItemStack> filter)
    按条件统计容器储存区域内的物品数量。
    static long
    countSimilar(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack sample)
    统计容器中与样本物品相似的物品数量。
    static int
    emptySlots(org.bukkit.inventory.Inventory inventory)
    统计容器中的空储存槽位。
    static boolean
    isEmpty(org.bukkit.inventory.Inventory inventory)
    判断容器储存区域是否没有物品。
    static boolean
    isFullFor(org.bukkit.inventory.Inventory inventory, org.bukkit.inventory.ItemStack item)
    判断容器是否已经无法接收指定物品。
    static List<Integer>
    matchingSlots(org.bukkit.inventory.Inventory inventory, Predicate<? super org.bukkit.inventory.ItemStack> filter)
    返回储存区域内满足条件的槽位索引。
    simulateAdd(org.bukkit.inventory.Inventory inventory, Iterable<? extends org.bukkit.inventory.ItemStack> items)
    模拟向容器连续放入一组物品。
    static List<org.bukkit.inventory.ItemStack>
    storageSnapshot(org.bukkit.inventory.Inventory inventory)
    返回容器储存区域的完整副本。

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 方法详细资料

    • 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