Package me.qscbm.inlayx.gem
Class GemManager
java.lang.Object
me.qscbm.inlayx.gem.GemManager
宝石管理.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddGem(@Nullable org.bukkit.entity.Player actor, org.bukkit.inventory.ItemStack equipment, String gemId) org.bukkit.inventory.ItemStackaddSlotToItem(org.bukkit.inventory.ItemStack item, int sockets, GemType socketType) booleancanSocketGem(org.bukkit.inventory.ItemStack item) booleancanSocketGem(org.bukkit.inventory.meta.ItemMeta meta) booleancanSocketGemType(org.bukkit.inventory.ItemStack equipment, String gemId) org.bukkit.inventory.ItemStackcreateGemItem(String gemId) org.bukkit.inventory.InventoryextractGem(@Nullable org.bukkit.entity.Player actor, org.bukkit.inventory.ItemStack item, String gemId) extractGem(org.bukkit.inventory.ItemStack item, String gemId) getDropGem(String source, int mobLevel) 按掉落来源与怪物等级随机选取一颗掉落的宝石.getGemId(org.bukkit.inventory.ItemStack item) getGems()intgetSocketCount(org.bukkit.inventory.ItemStack item) intgetSocketCount(org.bukkit.inventory.meta.ItemMeta meta) getSocketedGems(org.bukkit.inventory.ItemStack item) getSocketSlots(org.bukkit.inventory.ItemStack item) booleanhasSocketedGems(org.bukkit.inventory.ItemStack item) booleanhasSocketLore(org.bukkit.inventory.ItemStack item) booleanisGem(org.bukkit.inventory.ItemStack item) voidloadGems()booleanloreHasEmptySocket(org.bukkit.inventory.meta.ItemMeta meta) voidregisterGem(Gem gem) 注册一个宝石(供外部 API 使用), 重复 ID 时覆盖旧定义, 并刷新掉落索引.booleanorg.bukkit.inventory.ItemStackremoveSlotFromItem(org.bukkit.inventory.ItemStack item, int sockets, GemType socketType) socketGem(@Nullable org.bukkit.entity.Player actor, org.bukkit.inventory.ItemStack equipment, org.bukkit.inventory.ItemStack gemItem) socketGem(org.bukkit.inventory.ItemStack equipment, org.bukkit.inventory.ItemStack gemItem) unregisterGem(String gemId) 注销一个宝石, 返回被移除的宝石定义, 并刷新掉落索引.
-
Constructor Details
-
GemManager
-
-
Method Details
-
loadGems
public void loadGems() -
getGems
-
getAllGems
-
getGem
-
getDropGem
按掉落来源与怪物等级随机选取一颗掉落的宝石.各宝石的最终掉落率 = drop.chance + mobLevel * drop.per_level_rate (限制在 [0, 1]). 总掉落率 = min(各宝石最终掉落率之和, 1.0), 命中后按最终掉落率加权选择一颗宝石.
-
registerGem
注册一个宝石(供外部 API 使用), 重复 ID 时覆盖旧定义, 并刷新掉落索引. -
unregisterGem
注销一个宝石, 返回被移除的宝石定义, 并刷新掉落索引. -
isGem
public boolean isGem(org.bukkit.inventory.ItemStack item) -
getGemId
-
createGemItem
-
loreHasEmptySocket
public boolean loreHasEmptySocket(org.bukkit.inventory.meta.ItemMeta meta) -
canSocketGem
public boolean canSocketGem(org.bukkit.inventory.ItemStack item) -
canSocketGem
public boolean canSocketGem(org.bukkit.inventory.meta.ItemMeta meta) -
canSocketGemType
-
hasSocketedGems
public boolean hasSocketedGems(org.bukkit.inventory.ItemStack item) -
getSocketedGems
-
getSocketSlots
-
getSocketCount
public int getSocketCount(org.bukkit.inventory.ItemStack item) -
getSocketCount
public int getSocketCount(org.bukkit.inventory.meta.ItemMeta meta) -
hasSocketLore
public boolean hasSocketLore(org.bukkit.inventory.ItemStack item) -
addSlotToItem
public org.bukkit.inventory.ItemStack addSlotToItem(org.bukkit.inventory.ItemStack item, int sockets, GemType socketType) -
removeSlotFromItem
public org.bukkit.inventory.ItemStack removeSlotFromItem(org.bukkit.inventory.ItemStack item, int sockets, GemType socketType) -
socketGem
public SocketResult socketGem(org.bukkit.inventory.ItemStack equipment, org.bukkit.inventory.ItemStack gemItem) -
socketGem
public SocketResult socketGem(@Nullable org.bukkit.entity.Player actor, org.bukkit.inventory.ItemStack equipment, org.bukkit.inventory.ItemStack gemItem) -
addGem
-
addGem
public SocketResult addGem(@Nullable org.bukkit.entity.Player actor, org.bukkit.inventory.ItemStack equipment, String gemId) -
extractGem
-
extractGem
public ExtractResult extractGem(@Nullable org.bukkit.entity.Player actor, org.bukkit.inventory.ItemStack item, String gemId) -
removeGem
-
createSocketGUI
public org.bukkit.inventory.Inventory createSocketGUI()
-