Class MythicMobsHooker
-
- All Implemented Interfaces:
public abstract class MythicMobsHooker
MM挂钩
-
-
Field Summary
Fields Modifier and Type Field Description private final String
version
private final ConcurrentHashMap<String, ConfigurationSection>
mobInfos
private final Class<out Event>
spawnEventClass
private final Class<out Event>
deathEventClass
private final Class<out Event>
reloadEventClass
private final Listener
spawnListener
private final Listener
deathListener
private final Listener
reloadListener
-
Constructor Summary
Constructors Constructor Description MythicMobsHooker()
-
Method Summary
Modifier and Type Method Description abstract String
getVersion()
MM挂钩版本 final ConcurrentHashMap<String, ConfigurationSection>
getMobInfos()
MM怪物信息 abstract Class<out Event>
getSpawnEventClass()
MM怪物生成事件 abstract Class<out Event>
getDeathEventClass()
MM怪物死亡事件 abstract Class<out Event>
getReloadEventClass()
MM重载事件 abstract Listener
getSpawnListener()
MM怪物生成事件监听器, 监听器优先级HIGH, 得以覆盖MM自身的装备操作 abstract Listener
getDeathListener()
MM怪物死亡事件监听器, 监听器优先级NORMAL abstract Listener
getReloadListener()
MM重载事件监听器, 监听器优先级NORMAL abstract Boolean
hasItem(String id)
获取是否存在对应ID的MM物品 abstract ItemStack
getItemStack(String id)
获取MM物品, 不存在对应ID的MM物品则返回null abstract ItemStack
getItemStackSync(String id)
同步获取MM物品, 不存在对应ID的MM物品则返回null(在5.1. abstract Unit
castSkill(Entity entity, String skill, Entity trigger)
释放MM技能 abstract List<String>
getItemIds()
获取所有MM物品ID abstract Boolean
isMythicMob(Entity entity)
判断实体是否为MM生物 abstract String
getMythicId(Entity entity)
获取MM实体的ID(非MM实体返回null) abstract Entity
getEntity(Event event)
尝试从MM怪物出生事件或死亡事件中获取entity(非对应事件返回null) abstract LivingEntity
getKiller(Event event)
尝试从MM怪物死亡事件中获取killer(非对应事件返回null) abstract String
getInternalName(Event event)
尝试从MM怪物出生事件或死亡事件中获取MM怪物的internalName(非对应事件返回null) abstract Double
getMobLevel(Event event)
尝试从MM怪物出生事件或死亡事件中获取MM怪物的mobLevel(非对应事件返回null) abstract Object
adapt(Entity entity)
将 Bukkit 实体转换为 MythicMobs 包了一层的 BukkitEntity. final Unit
spawnEvent(String internalName, LivingEntity entity, Integer mobLevel)
为MM怪物穿戴装备 final Unit
deathEvent(LivingEntity killer, LivingEntity entity, String internalName, Integer mobLevel)
怪物死后进行掉落处理 final Unit
loadMobInfos()
加载怪物配置 -
-
Method Detail
-
getVersion
abstract String getVersion()
MM挂钩版本
-
getMobInfos
final ConcurrentHashMap<String, ConfigurationSection> getMobInfos()
MM怪物信息
-
getSpawnEventClass
abstract Class<out Event> getSpawnEventClass()
MM怪物生成事件
-
getDeathEventClass
abstract Class<out Event> getDeathEventClass()
MM怪物死亡事件
-
getReloadEventClass
abstract Class<out Event> getReloadEventClass()
MM重载事件
-
getSpawnListener
abstract Listener getSpawnListener()
MM怪物生成事件监听器, 监听器优先级HIGH, 得以覆盖MM自身的装备操作
-
getDeathListener
abstract Listener getDeathListener()
MM怪物死亡事件监听器, 监听器优先级NORMAL
-
getReloadListener
abstract Listener getReloadListener()
MM重载事件监听器, 监听器优先级NORMAL
-
hasItem
abstract Boolean hasItem(String id)
获取是否存在对应ID的MM物品
- Parameters:
id
- MM物品ID- Returns:
是否存在对应ID的MM物品
-
getItemStack
abstract ItemStack getItemStack(String id)
获取MM物品, 不存在对应ID的MM物品则返回null
- Parameters:
id
- MM物品ID- Returns:
MM物品(不存在则返回null)
-
getItemStackSync
abstract ItemStack getItemStackSync(String id)
同步获取MM物品, 不存在对应ID的MM物品则返回null(在5.1.0左右的版本中, MM物品的获取强制同步) 不一定真的同步获取, 只在必要时同步(指高版本)
- Parameters:
id
- MM物品ID- Returns:
MM物品(不存在则为空)
-
castSkill
abstract Unit castSkill(Entity entity, String skill, Entity trigger)
释放MM技能
- Parameters:
entity
- 技能释放者skill
- 技能ID
-
getItemIds
abstract List<String> getItemIds()
获取所有MM物品ID
- Returns:
所有MM物品ID
-
isMythicMob
abstract Boolean isMythicMob(Entity entity)
判断实体是否为MM生物
- Parameters:
entity
- 待判断实体- Returns:
该实体是否为MM生物
-
getMythicId
abstract String getMythicId(Entity entity)
获取MM实体的ID(非MM实体返回null)
- Parameters:
entity
- MM实体- Returns:
MM实体ID(非MM实体返回null)
-
getEntity
abstract Entity getEntity(Event event)
尝试从MM怪物出生事件或死亡事件中获取entity(非对应事件返回null)
- Parameters:
event
- MM怪物出生事件或死亡事件- Returns:
事件中的entity字段(非对应事件返回null)
-
getKiller
abstract LivingEntity getKiller(Event event)
尝试从MM怪物死亡事件中获取killer(非对应事件返回null)
- Parameters:
event
- MM怪物死亡事件- Returns:
事件中的killer字段(非对应事件返回null)
-
getInternalName
abstract String getInternalName(Event event)
尝试从MM怪物出生事件或死亡事件中获取MM怪物的internalName(非对应事件返回null)
- Parameters:
event
- MM怪物出生事件或死亡事件- Returns:
MM怪物的internalName(非对应事件返回null)
-
getMobLevel
abstract Double getMobLevel(Event event)
尝试从MM怪物出生事件或死亡事件中获取MM怪物的mobLevel(非对应事件返回null)
- Parameters:
event
- MM怪物出生事件或死亡事件- Returns:
MM怪物的mobLevel(非对应事件返回null)
-
adapt
abstract Object adapt(Entity entity)
将 Bukkit 实体转换为 MythicMobs 包了一层的 BukkitEntity.
- Parameters:
entity
- 待转换实体- Returns:
BukkitEntity
-
spawnEvent
final Unit spawnEvent(String internalName, LivingEntity entity, Integer mobLevel)
为MM怪物穿戴装备
- Parameters:
internalName
- 怪物IDentity
- 怪物实体
-
deathEvent
final Unit deathEvent(LivingEntity killer, LivingEntity entity, String internalName, Integer mobLevel)
怪物死后进行掉落处理
- Parameters:
killer
- 击杀者entity
- 被打死的怪物internalName
- 怪物的MM生物IDmobLevel
- 怪物的MM等级
-
loadMobInfos
final Unit loadMobInfos()
加载怪物配置
-
-
-
-