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.AIRjava.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 - 玩家名称