Package pers.neige.neigeitems.manager
Object ItemManager
-
- All Implemented Interfaces:
public class ItemManager extends ItemConfigManager
物品管理器
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public enum
ItemManager.SaveResult
-
Field Summary
Fields Modifier and Type Field Description private final ConcurrentHashMap<String, ItemGenerator>
items
private final Integer
itemAmount
private final ArrayList<File>
files
private final ConcurrentHashMap<String, ItemConfig>
itemConfigs
private final List<String>
itemIds
private final List<String>
itemIdsRaw
private final JavaPlugin
plugin
private final String
dir
public final static ItemManager
INSTANCE
-
Method Summary
Modifier and Type Method Description final Unit
reload()
重载物品管理器 final ConfigurationSection
getOriginConfig(String id)
获取物品原始Config的克隆 final ConfigurationSection
getRealOriginConfig(String id)
获取物品原始Config final ItemGenerator
getItem(String id)
获取物品生成器 final ItemStack
getItemStack(String id)
获取物品 final ItemStack
getItemStack(String id, OfflinePlayer player)
获取物品 final ItemStack
getItemStack(String id, String data)
获取物品 final ItemStack
getItemStack(String id, Map<String, String> data)
获取物品 final ItemStack
getItemStack(String id, OfflinePlayer player, String data)
获取物品 final ItemStack
getItemStack(String id, OfflinePlayer player, Map<String, String> data)
获取物品 final Boolean
hasItem(String id)
是否存在对应ID的物品 final ItemManager.SaveResult
saveItem(ItemStack itemStack, String id, File file, YamlConfiguration config, Boolean cover)
保存物品 final ItemManager.SaveResult
saveItem(ItemStack itemStack, String id, String path, Boolean cover)
保存物品 final ItemInfo
isNiItem(ItemStack itemStack)
判断ItemStack是否为NI物品并返回NI物品信息 final ItemInfo
isNiItem(ItemStack itemStack, Boolean parseData)
判断ItemStack是否为NI物品并返回NI物品信息 final String
getItemId(ItemStack itemStack)
根据ItemStack获取对应的NI物品ID final static Unit
setCharge(ItemStack $self, Integer amount)
设置物品使用次数 final static Unit
addCharge(ItemStack $self, Integer amount)
添加物品使用次数 final static Unit
setMaxCharge(ItemStack $self, Integer amount)
设置物品最大使用次数 final static Unit
addMaxCharge(ItemStack $self, Integer amount)
添加物品最大使用次数 final static Unit
setCustomDurability(ItemStack $self, Integer amount)
设置物品耐久值 final static Unit
addCustomDurability(ItemStack $self, Integer amount)
添加物品耐久值 final static Unit
setMaxCustomDurability(ItemStack $self, Integer amount)
设置物品最大耐久值 final static Unit
addMaxCustomDurability(ItemStack $self, Integer amount)
添加物品最大耐久值 final static Short
checkDurability(ItemStack $self, Integer current, Integer max)
根据自定义耐久计算原版损伤值 final static Unit
refreshDurability(ItemStack $self, Integer current, Integer max)
根据自定义耐久设置原版损伤值 final static Boolean
rebuild(ItemStack $self, OfflinePlayer player, Map<String, String> sections)
重构物品 final static Boolean
rebuild(ItemStack $self, OfflinePlayer player, Map<String, String> sections, List<String> protectNBT)
重构物品 final static Boolean
rebuild(ItemStack $self, OfflinePlayer player, List<String> protectSections, List<String> protectNBT)
重构物品 final Unit
update(Player player, ItemStack itemStack, Boolean forceUpdate, Boolean sendMessage)
根据物品内的 options. final ConcurrentHashMap<String, ItemGenerator>
getItems()
获取所有物品生成器 final Integer
getItemAmount()
-
Methods inherited from class pers.neige.neigeitems.manager.ItemConfigManager
getDir, getFiles, getItemConfigs, getItemIds, getItemIdsRaw, getPlugin, reloadItemConfigs
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getOriginConfig
final ConfigurationSection getOriginConfig(String id)
获取物品原始Config的克隆
- Parameters:
id
- 物品ID- Returns:
物品原始Config的克隆
-
getRealOriginConfig
final ConfigurationSection getRealOriginConfig(String id)
获取物品原始Config
- Parameters:
id
- 物品ID- Returns:
物品原始Config
-
getItem
final ItemGenerator getItem(String id)
获取物品生成器
- Parameters:
id
- 物品ID- Returns:
物品生成器
-
getItemStack
final ItemStack getItemStack(String id)
获取物品
- Parameters:
id
- 物品ID- Returns:
物品
-
getItemStack
final ItemStack getItemStack(String id, OfflinePlayer player)
获取物品
- Parameters:
id
- 物品IDplayer
- 用于解析物品的玩家- Returns:
物品
-
getItemStack
final ItemStack getItemStack(String id, String data)
获取物品
- Parameters:
id
- 物品IDdata
- 用于解析物品的指向数据- Returns:
物品
-
getItemStack
final ItemStack getItemStack(String id, Map<String, String> data)
获取物品
- Parameters:
id
- 物品IDdata
- 用于解析物品的指向数据- Returns:
物品
-
getItemStack
final ItemStack getItemStack(String id, OfflinePlayer player, String data)
获取物品
- Parameters:
id
- 物品IDplayer
- 用于解析物品的玩家data
- 用于解析物品的指向数据- Returns:
物品
-
getItemStack
final ItemStack getItemStack(String id, OfflinePlayer player, Map<String, String> data)
获取物品
- Parameters:
id
- 物品IDplayer
- 用于解析物品的玩家data
- 用于解析物品的指向数据- Returns:
物品
-
saveItem
final ItemManager.SaveResult saveItem(ItemStack itemStack, String id, File file, YamlConfiguration config, Boolean cover)
保存物品
- Parameters:
itemStack
- 保存物品id
- 物品IDfile
- 保存文件config
- 文件转换来的YamlConfigurationcover
- 是否覆盖- Returns:
保存结果
-
saveItem
final ItemManager.SaveResult saveItem(ItemStack itemStack, String id, String path, Boolean cover)
保存物品
- Parameters:
itemStack
- 保存物品id
- 物品IDpath
- 保存路径cover
- 是否覆盖- Returns:
保存结果
-
isNiItem
final ItemInfo isNiItem(ItemStack itemStack)
判断ItemStack是否为NI物品并返回NI物品信息
- Returns:
NI物品信息, 非NI物品返回null
-
isNiItem
final ItemInfo isNiItem(ItemStack itemStack, Boolean parseData)
判断ItemStack是否为NI物品并返回NI物品信息
- Parameters:
parseData
- 是否将data解析为HashMap- Returns:
NI物品信息, 非NI物品返回null
-
getItemId
final String getItemId(ItemStack itemStack)
根据ItemStack获取对应的NI物品ID
- Returns:
NI物品ID, 非NI物品返回null
-
setCharge
final static Unit setCharge(ItemStack $self, Integer amount)
设置物品使用次数
- Parameters:
amount
- 使用次数
-
addCharge
final static Unit addCharge(ItemStack $self, Integer amount)
添加物品使用次数
- Parameters:
amount
- 添加量(可为负)
-
setMaxCharge
final static Unit setMaxCharge(ItemStack $self, Integer amount)
设置物品最大使用次数
- Parameters:
amount
- 最大使用次数
-
addMaxCharge
final static Unit addMaxCharge(ItemStack $self, Integer amount)
添加物品最大使用次数
- Parameters:
amount
- 添加量(可为负)
-
setCustomDurability
final static Unit setCustomDurability(ItemStack $self, Integer amount)
设置物品耐久值
- Parameters:
amount
- 耐久值
-
addCustomDurability
final static Unit addCustomDurability(ItemStack $self, Integer amount)
添加物品耐久值
- Parameters:
amount
- 添加量(可为负)
-
setMaxCustomDurability
final static Unit setMaxCustomDurability(ItemStack $self, Integer amount)
设置物品最大耐久值
- Parameters:
amount
- 最大耐久值
-
addMaxCustomDurability
final static Unit addMaxCustomDurability(ItemStack $self, Integer amount)
添加物品最大耐久值
- Parameters:
amount
- 添加量(可为负)
-
checkDurability
final static Short checkDurability(ItemStack $self, Integer current, Integer max)
根据自定义耐久计算原版损伤值
- Parameters:
current
- 当前自定义耐久max
- 当前最大自定义耐久- Returns:
对应的原版损伤值
-
refreshDurability
final static Unit refreshDurability(ItemStack $self, Integer current, Integer max)
根据自定义耐久设置原版损伤值
- Parameters:
current
- 当前自定义耐久max
- 当前最大自定义耐久
-
rebuild
final static Boolean rebuild(ItemStack $self, OfflinePlayer player, Map<String, String> sections)
重构物品
- Parameters:
player
- 用于重构物品的玩家sections
- 重构节点(值为null代表刷新该节点)
-
rebuild
final static Boolean rebuild(ItemStack $self, OfflinePlayer player, Map<String, String> sections, List<String> protectNBT)
重构物品
- Parameters:
player
- 用于重构物品的玩家sections
- 重构节点(值为null代表刷新该节点)protectNBT
- 需要保护的NBT(重构后不刷新), 可以填null- Returns:
物品是空气时返回false, 其余情况返回true
-
rebuild
final static Boolean rebuild(ItemStack $self, OfflinePlayer player, List<String> protectSections, List<String> protectNBT)
重构物品
- Parameters:
player
- 用于重构物品的玩家protectSections
- 保留的节点IDprotectNBT
- 需要保护的NBT(重构后不刷新), 可以填null- Returns:
物品是空气时返回false, 其余情况返回true
-
update
final Unit update(Player player, ItemStack itemStack, Boolean forceUpdate, Boolean sendMessage)
根据物品内的 options.update 配置进行物品更新
- Parameters:
player
- 用于重构物品的玩家itemStack
- 物品本身forceUpdate
- 是否忽略检测, 强制更新物品sendMessage
- 更新后是否向玩家发送更新提示文本
-
getItems
final ConcurrentHashMap<String, ItemGenerator> getItems()
获取所有物品生成器
-
getItemAmount
final Integer getItemAmount()
-
-
-
-