Package cn.nukkit.inventory
Interface Inventory
- All Known Implementing Classes:
AnvilInventory
,BarrelInventory
,BaseInventory
,BeaconInventory
,BigCraftingGrid
,BrewingInventory
,CampfireInventory
,ChestBoatInventory
,ChestInventory
,CommandBlockInventory
,ContainerInventory
,CraftingGrid
,CustomInventory
,DispenserInventory
,DoubleChestInventory
,DropperInventory
,EjectableInventory
,EnchantInventory
,EntityArmorInventory
,EntityEquipmentInventory
,FakeBlockUIComponent
,FakeHumanEnderChestInventory
,FakeHumanInventory
,FakeHumanOffhandInventory
,FurnaceInventory
,GrindstoneInventory
,HopperInventory
,InventorySlice
,MinecartChestInventory
,MinecartHopperInventory
,PlayerCursorInventory
,PlayerEnderChestInventory
,PlayerInventory
,PlayerOffhandInventory
,PlayerUIComponent
,PlayerUIInventory
,ShulkerBoxInventory
,SmithingInventory
,StonecutterInventory
,StructBlockInventory
,TradeInventory
public interface Inventory
- Author:
- MagicDroidX (Nukkit Project)
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionItem[]
void
addListener
(InventoryListener listener) boolean
canAddItem
(Item item) default boolean
clear
(int index) boolean
clear
(int index, boolean send) void
clearAll()
void
boolean
void
decreaseCount
(int slot) default int
int
int
firstEmpty
(Item item) getItem
(int index) 获取该库存指定索引处的物品int
获取最大库存大小getName()
获取该库存的名字int
getSize()
获取该库存大小getTitle()
获取该库存的标题getType()
default Item
getUnclonedItem
(int index) 获取该库存指定索引处的未克隆的物品boolean
isEmpty()
boolean
isFull()
void
void
void
onSlotChange
(int index, Item before, boolean send) boolean
void
Item[]
removeItem
(Item... slots) void
removeListener
(InventoryListener listener) void
sendContents
(Player player) void
sendContents
(Player... players) void
sendContents
(Collection<Player> players) void
void
void
sendSlot
(int index, Collection<Player> players) void
setContents
(Map<Integer, Item> items) default boolean
设置该库存指定索引处的物品boolean
设置该库存指定索引处的物品default boolean
setItemByPlayer
(Player player, int index, Item item, boolean send) Now it is only called bySlotChangeAction
andEnchantTransaction
void
setMaxStackSize
(int size) 设置最大库存大小
-
Field Details
-
MAX_STACK
static final int MAX_STACK- See Also:
-
-
Method Details
-
getSize
int getSize()获取该库存大小 -
getMaxStackSize
int getMaxStackSize()获取最大库存大小 -
setMaxStackSize
void setMaxStackSize(int size) 设置最大库存大小 -
getName
String getName()获取该库存的名字 -
getTitle
String getTitle()获取该库存的标题 -
getItem
获取该库存指定索引处的物品- Parameters:
index
- the index- Returns:
- the item
-
getUnclonedItem
获取该库存指定索引处的未克隆的物品 若调用方保证不会修改此方法返回的Item对象,则使用此方法将降低特定场景下Item::clone()造成的性能开销- Parameters:
index
- the index- Returns:
- the item
-
setItem
设置该库存指定索引处的物品- Parameters:
index
- the indexitem
- the item- Returns:
- the item
-
setItem
设置该库存指定索引处的物品- Parameters:
index
- the indexitem
- the itemsend
- 是否同时发送数据包- Returns:
- the item
-
setItemByPlayer
@Since("1.19.50-r3") @PowerNukkitXOnly default boolean setItemByPlayer(Player player, int index, Item item, boolean send) Now it is only called bySlotChangeAction
andEnchantTransaction
- Parameters:
player
- player that will receive the changesindex
- index of the itemitem
- item to set- Returns:
- true if the item was set
-
addItem
-
canAddItem
-
removeItem
-
getContents
-
setContents
-
sendContents
-
sendContents
-
sendContents
-
sendSlot
-
sendSlot
-
sendSlot
-
contains
-
all
-
first
-
first
-
firstEmpty
-
decreaseCount
void decreaseCount(int slot) -
remove
-
clear
default boolean clear(int index) -
clear
boolean clear(int index, boolean send) -
clearAll
void clearAll() -
isFull
boolean isFull() -
isEmpty
boolean isEmpty() -
getViewers
-
getType
InventoryType getType() -
getHolder
InventoryHolder getHolder() -
onOpen
-
open
-
close
-
onClose
-
onSlotChange
-
addListener
-
removeListener
-