public static interface GermSlotAPI.SlotDAOHandler
定义了槽位数据的增删改查操作
Modifier and Type | Method and Description |
---|---|
java.util.Collection<java.lang.String> |
getAllIdentitys()
获取所有槽位标识符
|
@NotNull org.bukkit.inventory.ItemStack |
getFromIdentity(java.lang.String playerName,
java.lang.String identity)
从指定槽位获取物品
|
java.util.Map<java.lang.String,org.bukkit.inventory.ItemStack> |
getFromIdentitys(java.lang.String playerName,
java.util.Collection<java.lang.String> identitys)
批量从多个槽位获取物品
|
default @NotNull java.lang.Object |
getLock(@NotNull java.lang.String playerName)
获取槽位物品的读写锁
SimpleSlotHandler和SaferSlotHandler将返回GermSlotAPI.class,
SaferSlotHandlerV2将根据玩家名返回不同的锁
当你尝试编辑萌芽槽位物品时,为了防止编辑过程中其他插件修改此物品,
你应该通过synchronized (GermSlotAPI.getSlotDAOHandler().getLock(playerName))上锁
|
default boolean |
saveItemStackToDatabase(java.lang.String playerName,
java.lang.String identity,
org.bukkit.inventory.ItemStack itemStack)
保存物品到数据库的完整流程
执行顺序:触发GermGuiSlotSaveEvent → 执行saveToIdentity → 触发GermGuiSlotSavedEvent
|
void |
saveToIdentity(java.lang.String playerName,
java.lang.String identity,
org.bukkit.inventory.ItemStack itemStack)
保存物品到指定槽位
|
java.util.Collection<java.lang.String> getAllIdentitys()
void saveToIdentity(java.lang.String playerName, java.lang.String identity, org.bukkit.inventory.ItemStack itemStack)
playerName
- 玩家名称identity
- 槽位标识符itemStack
- 要存储的物品default boolean saveItemStackToDatabase(java.lang.String playerName, java.lang.String identity, org.bukkit.inventory.ItemStack itemStack)
执行顺序:触发GermGuiSlotSaveEvent → 执行saveToIdentity → 触发GermGuiSlotSavedEvent
playerName
- 玩家名称identity
- 槽位标识符itemStack
- 要存储的物品@NotNull @NotNull org.bukkit.inventory.ItemStack getFromIdentity(java.lang.String playerName, java.lang.String identity)
playerName
- 玩家名称identity
- 槽位标识符Material.AIR
java.util.Map<java.lang.String,org.bukkit.inventory.ItemStack> getFromIdentitys(java.lang.String playerName, java.util.Collection<java.lang.String> identitys)
playerName
- 玩家名称identitys
- 槽位标识符集合@NotNull default @NotNull java.lang.Object getLock(@NotNull @NotNull java.lang.String playerName)
SimpleSlotHandler和SaferSlotHandler将返回GermSlotAPI.class, SaferSlotHandlerV2将根据玩家名返回不同的锁
当你尝试编辑萌芽槽位物品时,为了防止编辑过程中其他插件修改此物品, 你应该通过synchronized (GermSlotAPI.getSlotDAOHandler().getLock(playerName))上锁
playerName
- 玩家名称