public class GermSlotAPI
extends java.lang.Object
提供拓展槽位的存储和获取方法
支持原版背包槽位和自定义槽位的统一管理
如果需要自定义槽位逻辑,可以实现自己的存储处理器
Modifier and Type | Class and Description |
---|---|
protected static class |
GermSlotAPI.MinecraftSlotConsumer
原版槽位消费者枚举
定义了各种原版槽位的设置方法
|
protected static class |
GermSlotAPI.MinecraftSlotFactory
原版槽位工厂枚举
定义了各种原版槽位的获取方法
|
static interface |
GermSlotAPI.SlotDAOHandler
槽位数据访问对象处理器接口
定义了槽位数据的增删改查操作
|
Constructor and Description |
---|
GermSlotAPI() |
Modifier and Type | Method and Description |
---|---|
static java.util.List<java.lang.String> |
getAllGermSlotIdentity()
获得数据库中的所有槽位标识符
|
static java.util.List<org.bukkit.inventory.ItemStack> |
getAllGermSlotItemStacks(org.bukkit.entity.Player player)
获得玩家在数据库中的所有槽位物品
|
static java.util.List<org.bukkit.inventory.ItemStack> |
getAllGermSlotItemStacks(java.lang.String playerName)
Deprecated.
|
static java.util.Map<java.lang.String,org.bukkit.inventory.ItemStack> |
getGermSlotIdentitysAndItemStacks(org.bukkit.entity.Player player,
java.util.Collection<java.lang.String> slotIdentityList)
获取槽位标识符和物品的映射表
|
static java.util.Map<java.lang.String,org.bukkit.inventory.ItemStack> |
getGermSlotIdentitysAndItemStacks(java.lang.String playerName,
java.util.Collection<java.lang.String> slotIdentityList)
根据玩家名获取槽位标识符和物品的映射表
|
static java.util.List<org.bukkit.inventory.ItemStack> |
getGermSlotItemStacks(org.bukkit.entity.Player player,
java.util.Collection<java.lang.String> slotIdentityList)
获取指定槽位的物品列表
|
static java.util.List<org.bukkit.inventory.ItemStack> |
getGermSlotItemStacks(org.bukkit.entity.Player player,
java.util.List<java.lang.String> slotIdentityList)
Deprecated.
|
static java.util.List<org.bukkit.inventory.ItemStack> |
getGermSlotItemStacks(java.lang.String playerName,
java.util.Collection<java.lang.String> slotIdentityList)
根据玩家名获取指定槽位的物品列表
|
static @NotNull org.bukkit.inventory.ItemStack |
getItemStackFormDatabase(org.bukkit.entity.Player player,
java.lang.String slotIdentity)
Deprecated.
方法名拼写错误(from应为From),请使用
getItemStackFromDatabase(Player, String) 方法 |
static @NotNull org.bukkit.inventory.ItemStack |
getItemStackFormDatabase(java.lang.String playerName,
java.lang.String slotIdentity)
Deprecated.
方法名拼写错误(from应为From),请使用
getItemStackFromDatabase(String, String) 方法 |
static org.bukkit.inventory.ItemStack |
getItemStackFromDatabase(@NotNull org.bukkit.entity.Player player,
@NotNull java.lang.String slotIdentity)
从数据库获取玩家槽位物品
|
static @NotNull org.bukkit.inventory.ItemStack |
getItemStackFromDatabase(@NotNull java.lang.String playerName,
@NotNull java.lang.String slotIdentity)
从数据库获取物品
|
static @NotNull org.bukkit.inventory.ItemStack |
getItemStackFromIdentity(@NotNull org.bukkit.entity.Player player,
@NotNull java.lang.String slotIdentity)
根据槽位标识符查询物品
支持原版背包槽位和自定义槽位的统一查询
|
static GermSlotAPI.SlotDAOHandler |
getSlotDAOHandler()
获取当前的槽位数据访问对象处理器
如果没有设置自定义处理器,将返回默认的SimpleSlotHandler
|
static boolean |
isMinecraftIdentity(java.lang.String slotIdentity)
判断槽位标识符是否为原版槽位
原版槽位标识符包括:
germplugin_main_hand - 对应原版背包槽位里当前主手所在槽位
germplugin_off_hand - 对应原版背包槽位里副手槽位
germplugin_armor_helmet - 对应原版背包槽位里头盔槽位
germplugin_armor_chestplate - 对应原版背包槽位里胸甲槽位
germplugin_armor_leggings - 对应原版背包槽位里裤子槽位
germplugin_armor_boots - 对应原版背包槽位里鞋子槽位
germplugin_backpack_0 到 germplugin_backpack_35 - 对应原版背包槽位里0-35号槽位
|
static boolean |
saveItemStackToDatabase(org.bukkit.entity.Player player,
java.lang.String slotIdentity,
org.bukkit.inventory.ItemStack itemStack)
保存玩家的槽位物品到数据库
|
static boolean |
saveItemStackToDatabase(java.lang.String playerName,
java.lang.String slotIdentity,
org.bukkit.inventory.ItemStack itemStack)
根据玩家名保存槽位物品到数据库
|
static void |
saveItemStackToIdentity(@NotNull org.bukkit.entity.Player player,
@NotNull java.lang.String slotIdentity,
@NotNull org.bukkit.inventory.ItemStack itemStack)
保存物品到指定的槽位标识符
支持原版背包槽位和自定义槽位的统一操作
|
static void |
setSlotDAOHandler(@NotNull GermSlotAPI.SlotDAOHandler slotDAOHandler)
设置自定义槽位数据访问对象处理器
萌芽默认提供了MySQL和SQLite的持久化方案
你可以在此设置一个定制化的物品持久化处理器,
设置后将会优先使用该处理器进行槽位持久化
|
public static void setSlotDAOHandler(@NotNull @NotNull GermSlotAPI.SlotDAOHandler slotDAOHandler)
萌芽默认提供了MySQL和SQLite的持久化方案
你可以在此设置一个定制化的物品持久化处理器, 设置后将会优先使用该处理器进行槽位持久化
slotDAOHandler
- 槽位数据访问对象处理器public static GermSlotAPI.SlotDAOHandler getSlotDAOHandler()
如果没有设置自定义处理器,将返回默认的SimpleSlotHandler
public static boolean isMinecraftIdentity(java.lang.String slotIdentity)
原版槽位标识符包括:
slotIdentity
- 槽位标识符public static void saveItemStackToIdentity(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull java.lang.String slotIdentity, @NotNull @NotNull org.bukkit.inventory.ItemStack itemStack)
支持原版背包槽位和自定义槽位的统一操作
player
- 目标玩家slotIdentity
- 槽位标识符itemStack
- 要保存的物品@NotNull public static @NotNull org.bukkit.inventory.ItemStack getItemStackFromIdentity(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull java.lang.String slotIdentity)
支持原版背包槽位和自定义槽位的统一查询
player
- 目标玩家slotIdentity
- 槽位标识符public static boolean saveItemStackToDatabase(org.bukkit.entity.Player player, java.lang.String slotIdentity, org.bukkit.inventory.ItemStack itemStack)
player
- 目标玩家slotIdentity
- 槽位标识符itemStack
- 要保存的物品public static boolean saveItemStackToDatabase(java.lang.String playerName, java.lang.String slotIdentity, org.bukkit.inventory.ItemStack itemStack)
playerName
- 玩家名称slotIdentity
- 槽位标识符itemStack
- 要保存的物品public static org.bukkit.inventory.ItemStack getItemStackFromDatabase(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull java.lang.String slotIdentity)
player
- 目标玩家slotIdentity
- 槽位标识符@NotNull public static @NotNull org.bukkit.inventory.ItemStack getItemStackFromDatabase(@NotNull @NotNull java.lang.String playerName, @NotNull @NotNull java.lang.String slotIdentity)
playerName
- 玩家名称slotIdentity
- 槽位标识符public static java.util.List<java.lang.String> getAllGermSlotIdentity()
public static java.util.List<org.bukkit.inventory.ItemStack> getAllGermSlotItemStacks(org.bukkit.entity.Player player)
player
- 目标玩家@Deprecated public static java.util.List<org.bukkit.inventory.ItemStack> getAllGermSlotItemStacks(java.lang.String playerName)
getAllGermSlotItemStacks(Player)
方法playerName
- 玩家名称@Deprecated public static java.util.List<org.bukkit.inventory.ItemStack> getGermSlotItemStacks(org.bukkit.entity.Player player, java.util.List<java.lang.String> slotIdentityList)
getGermSlotItemStacks(Player, Collection)
方法player
- 目标玩家slotIdentityList
- 槽位ID列表public static java.util.List<org.bukkit.inventory.ItemStack> getGermSlotItemStacks(org.bukkit.entity.Player player, java.util.Collection<java.lang.String> slotIdentityList)
player
- 目标玩家slotIdentityList
- 槽位ID集合public static java.util.List<org.bukkit.inventory.ItemStack> getGermSlotItemStacks(java.lang.String playerName, java.util.Collection<java.lang.String> slotIdentityList)
playerName
- 玩家名称slotIdentityList
- 槽位ID集合public static java.util.Map<java.lang.String,org.bukkit.inventory.ItemStack> getGermSlotIdentitysAndItemStacks(org.bukkit.entity.Player player, java.util.Collection<java.lang.String> slotIdentityList)
player
- 目标玩家slotIdentityList
- 槽位ID集合public static java.util.Map<java.lang.String,org.bukkit.inventory.ItemStack> getGermSlotIdentitysAndItemStacks(java.lang.String playerName, java.util.Collection<java.lang.String> slotIdentityList)
playerName
- 玩家名称slotIdentityList
- 槽位ID集合@NotNull @Deprecated public static @NotNull org.bukkit.inventory.ItemStack getItemStackFormDatabase(org.bukkit.entity.Player player, java.lang.String slotIdentity)
getItemStackFromDatabase(Player, String)
方法player
- 目标玩家slotIdentity
- 槽位标识符@NotNull @Deprecated public static @NotNull org.bukkit.inventory.ItemStack getItemStackFormDatabase(java.lang.String playerName, java.lang.String slotIdentity)
getItemStackFromDatabase(String, String)
方法playerName
- 玩家名称slotIdentity
- 槽位标识符