- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobsExtension
| 外文名 | MythicMobsExtension |
| 作者 | muhahahahe |
| 最新版本 | 1.238l |
| 源地址 | spigotmc |
插件介绍
这个插件是基于API链接mythicmobs的,可以给你的mythicmobs插件添加60多种机械,50多种条件和10多个目标.
前置
至少4.1以上版本的 MythicMobs
一些机械需要用到 HolographicDisplays
一些条件也支持worldguard和faction
条件
条件的使用方法和mythicmobs内的用法一样
可用条件列表
| attackable | behind | BiomeFix | crouching | damageable | |
| eir | facingDirection | FactionsFlag | getBowTension | getIndicator | |
| hasMeta | hasSpawner | hasTarget | inFaction | inFront | |
| inMobArena | inMotion | inSolidBlock | isBurning | isGoggling | |
| isPresent | isSpinning | isStunned | isVehicle | jumping | |
| lastBowTension | lastDamageCause | leir | lookAtMe | looksAtMe | |
| MobsInRadius | moveSpeed | onCooldown | onSolidBlock | ownerAlive | |
| ownsItem | ownsItemSimple | parsedStance | pir | playerTime | |
| playerWeather | relativeDirection | running | sameFaction | sameSpawner | |
| sameWorld | sleeping | testfor | vDistance | WGDenySpawnFlag | WGStateFlag |
总体条件
译者注:mm怪物即为mythicmobs内的怪物
检测生物群系
- biomefix{b=[SINGLE/ARRAY];action=[BOOLEAN]}
检测施放者或目标所在的生物群系
例子: - biomefix{b=DESERT,PLAINS;action=true}
实体
- eir{types=[SINGLE/ARRAY/ALL];amount=[数值/数值范围];radius=[数值];action=[boolean];insameblock/isb=[BOOLEAN]}
检测在所给出范围内的实体数
例子: - eir{types=ARMOR_STAND;amount=1;radius=5;action=true}
- leir{types=[SINGLE/ARRAY/ALL];amount=[数值/数值范围];radius=[数值];action=[boolean];insameblock/isb=[BOOLEAN]}
检测所给数值范围内的实体数
例子: - leir{types=ZOMBIE,SQUID;amount=2;radius=15;action=true}
- mobsinradius{mobtypes=[SINGLE/ARRAY/ALL];a=[NUMERIC/NUMERIC范围];r=[NUMERIC];action=[BOOLEAN]}
检测施放者/目标/特定位置在所给范围内的怪物数量
例子: - mobsinradius{m=ALL;a=5to10;r=20;action=TRUE}
朝向
- facingdirection{d=[CARDINAL-POINT];action=[BOOLEAN]}
检测目标是否看着指定的方向
例子: - facingdirection{f=SOUTH_WEST;action=true}
派系
- factionsflag{flag=[SINGLE/ARRAY];action=[BOOLEAN]}
检测 派系内是否有已设置或未设置的flag
例子: - factionsflag{flag=firespread;action=false}
- infaction{faction=[STRING/ARRAY];action=[BOOLEAN]}
检测施放者是否在一个派系内
注意: 只对mm怪物生效
例子: - infaction{faction=MyFaction;action=true}
拉弓状态
- getbowtension{range=[数值/数值范围];debug=[BOOLEAN];action=[BOOLEAN]}
检测拉弓状态
例子: - getbowtension{range=1;action=true}
攻击指示器
- getindicator{value=[数值/数值范围];action=[BOOLEAN]}
检测玩家的攻击指示器
0 = 无攻击指示器, 1 = 满的攻击指示器
例子: - getindicator{value=<0.51;action=true}
源于刷怪笼
- hasspawner{names=[SINGLE/ARRAY/ANY];action=[BOOLEAN]}
检测mm怪物是否来自于刷怪笼
例子: - hasspawner{names=MySpawner;action=true}
目标
- hastarget{action=[BOOLEAN]}
检测施放者是否已经有一个目标
注意: 这只作用于施放者, 如果你在 TargetConditions 内使用这个条件的话将会出错!
例子: - hastarget{action=true}
移动状态
- inmotion{action=[BOOLEAN]}
检测检测目标是否在移动
不对非生物实体起作用
例子: - inmotion{action=true}
处于方块上
- insolidblock{action=[BOOLEAN]}
检测目标实体或位置是否处于一块固体的方块上
例子: - insolidblock{action=true}
拉弓力度
- lastbowtension{range=[数值/数值范围];debug=[BOOLEAN];action=[BOOLEAN]}
检测射箭时拉弓的力度
例子: - lastbowtension{range=>0.7;action=true}
伤害事件
- lastdamagecause{cause=[BukkitDamageCause];damager=[BukkitEntityType];action=[BOOLEAN]}
检测最后一次对施放者或目标造成伤害的事件
注意: 只会检测mm生成的实体
例子: - lastdamagecause{cause=PROJECTILE;damager=PLAYER;action=true}
移动状态
- movespeed{range=[数值/数值范围]}
检测目标实体的移动速度
例子: - movespeed{range=>0.1}
冷却
- oncooldown{value=[数值/数值-Range];action=[BOOLEAN]}
检测玩家的物品是否处于冷却
例子: - oncooldown{value=1to10;action=true}
- owneralive{action=[boolean]}
检测某些生物的主人是否在线或在同一个世界内
例子: - owneralive{action=true}
- playerweather{weather=[WEATHERTYPE];action=[boolean]}
检测目标玩家的天气
只配合 playerweather机械来使用
例子: - playerweather{weather=CLEAR;action=true}
- testfor{vc="[valid_testfor_stuff]";action=[BOOLEAN]}
检测施放者或目标是否有testfor材料
例子: - testfor{vc="XpLevel:20";action=true}
玩家状态
睡觉
- sleeping{action=[boolean]}
检测目标玩家是否在睡觉
例子: - sleeping{action=true}
潜行
- crouching{action=[BOOLEAN]}
检测玩家是否处于潜行状态
例子: - crouching{action=true}
奔跑
- running{action=[BOOLEAN]}
检测目标玩家是否在奔跑/冲刺
例子: - running{action=true}
跳跃
- jumping{action=[BOOLEAN]}
检测目标实体是否在跳跃
例子: - jumping{action=true}
玩家时间
- playertime{time=[数值/数值范围];action=[boolean]}
检测目标玩家的时间
只配合 playerweather机械来使用
例子: - playertime{time=0to12000;action=true}
玩家数量
- pir{amount=[数值/数值范围];radius=[数值];action=[boolean];insameblock/isb=[BOOLEAN]}
检测在所给范围内的玩家数
例子: - pir{amount=5;radius=10;action=true}
其它插件
mobarena
- inmobarena
检测 施放者, 目标或指定位置是否在怪物竞技场内. 需要 MobArena 插件
worldguard
- wgdenyspawnflag{types=[BukkitEntityType];action=[BOOLEAN]}
检测 区域内是否禁止生成特定的怪物(通常在随机刷怪中使用)
例子: - wgdenyspawnflag{types=ZOMBIE,SKELETON;action=false}
- wgstateflag{flag=[WorldGuardFlag];action=[BOOLEAN]}
检测区域内是否有已设置的flag
例子: - wgstateflag{flag=mob-spawning;action=false}
对比条件
位置
- behind{view=[ANGLE_VALUE];action=[BOOLEAN]}
检测施法者是否在目标后
例子: - behind{view=90;action=true}
- vdistance{d=[NUMERIC];action=[BOOLEAN]}
检测施放者和目标直之间的距离
例子: - vdistance{d=2to3;action=true}
- relativedirection{angle=[数值/数值范围];action=[BOOLEAN]}
检测目标到施放者间的距离
例子: - relativedirection{angle=90;action=false}
- infront{view=[ANGLE-数值];action=[BOOLEAN]}
检测施放者是否在目标前
例子: - infront{view=10;action=false}
- parsedstance{s="<variable>";cs=[BOOLEAN];action=[BOOLEAN]}
这个条件可以检测一个变量是否设置为距离
对 parsedstance mechanic
(注意: 如果 cs 设置为true 它会总是检测施放者)
例子: - parsedstance{s="<target.uuid>";cs=true;action=true}
- sameworld{action=[BOOLEAN]}
检测目标实体和施放者是否在同一时间
例子: - sameworld{action=true}
- onsolidblock{action=[BOOLEAN]}
检测检测目标实体或位置是否处于一块固体的方块上
例子: - onsolidblock{action=true}
伤害
- attackable{cause=[BukkitEntityDamageEvent];action=[BOOLEAN]}
检测目标是否可以被施放者的伤害事件所伤
例子: - attackable{cause=PROJECTILE;action=false}
- damageable{cause=[BukkitEntityDamageEvent];action=[BOOLEAN]}
检测目标是否可以被伤害事件所伤
例子: - damageable{cause=PROJECTILE;action=true}
数据
- hasmeta{meta="tag=[TAGNAME];value=[TAGVALUE];type=[BOOLEAN/NUMERIC/STRING]";compareself=[BOOLEAN];action=[BOOLEAN]}
对比2个实体的数据, 也可以对比自身
可以检测多个数据 (用 && 代表 AND , || 代表 OR)
例子: - hasmeta{meta="tag=lastdamagedentity;value=<target.uuid>;
type=STRING";cs=true;action=true}
- hasmetasimple{tag=[TAGNAME];value=[TAGVALUE];type=[BOOLEAN/NUMERIC/STRING]";compareself=[BOOLEAN];action=[BOOLEAN]}
只能对比一个数据,用法同上
例子: - hasmetasimple{tag=lastdamagedentity;value=<target.uuid>;
type=STRING;cs=true;action=true}
状态
- isburning{range=[数值];action=[BOOLEAN]}
检测如果目标实体在燃烧
在提供的范围内检测 ticks数是否与 FIRE_TICKS 配对
例子: - isburning{action=true}
- isgoggling{action=[BOOLEAN]}
检测玩家正在看到的东西
例子: - isgoggling{action=true}
- ispresent{action=[BOOLEAN]}
检测一个实体是否在场
例子: - ispresent{action=true}
- isspinning{action=[BOOLEAN]}
检测玩家是否在旋转
和playerspin机械一起使用
例子: - isspinning{action=true}
- isstunned{action=[BOOLEAN]}
检测施放者或目标是否中了stun技能
这也会在 TargetConditions条件下起作用: 但要设置正确的目标
例子: - isstunned{action=true}
- isvehicle{action=[BOOLEAN]}
检测目标是否处于骑乘状态
例子: - isvehicle{action=true}
- lookatme{fov=[DOUBLE];yo=[DOUBLE];debug=[BOOLEAN]}
检测目标是否在看着施放者
这个例子使用的默认数值对任何实体都有用
开启调试模式后你的控制台会显示fov 和 yo
例子: - lookatme{fov=1.999;yo=-0.4}
背包
- ownsitem{list="where=[ANY/HAND/ARMOR/INVENTORY];material=[ANY/MATERIALTYPE];amount=[数值/数值范围];lore=[LORETEXT]";action=[BOOLEAN]}
检测目标背包内是否拥有(使用 && 代表 AND || 代表 OR)
一或多个格子顺序的特定物品
例子: - ownsitem{list="where=HAND;material=DIAMOND_SWORD;amount=1 && where=INVENTORY;material=DIAMOND_SWORD;amount=1to2";action=true}
- ownsitemsimple{where=[ANY/HAND/ARMOR/INVENTORY];material=[ANY/MATERIALTYPE];amount=[数值/数值范围];lore=[LORETEXT];action=[BOOLEAN]}
和 ownsitem一样但只能检测1个背包格
例子: - ownsitemsimple{where=HAND;material=SAND;amount=1;action=true}
生成
- samefaction{faction=[STRING/ARRAY];action=[BOOLEAN]}
检测目标和施放者是否在同一个派系内
注意: 只作用于一只mm的怪物
例子: - samefaction{faction=MyFaction;action=true}
- samespawner{action=[BOOLEAN]}
检测 目标MythicMob是否作为来自同一刷怪笼的施放者
例子: - samespawner{action=true}
机械
列表
技能
| 技能 | 描述 |
|---|---|
| asequip | 给盔甲架装上装备 |
| cure / removePotion | 移除目标身上特点或所有的药水效果 |
| damageArmor | 伤害目标身上所有或特定格子顺序的防具 |
| disarm | 缴械目标 |
| dropInventory | 丢出目标玩家背包内特定倍数或所有的物品 |
| dropStolenItems | 掉落之前偷窃的物品 (配合steal使用) |
| entityGoggle / entityGoggleAt | 强制非玩家实体看着施放者 |
| equipSkull | 修复MC 1.8.8版本的BUG, 给施放者装上头颅 |
| extinguish | 熄灭目标身上的火焰 |
| feed | 喂养目标玩家 |
| playerGoggle / playerGoggleAt | 强制目标玩家看着施放者 |
| playerSpin | 旋转目标玩家 |
| playerWeather | 设置目标玩家的天气或时间 |
| playerZoom | 旋转目标玩家 |
| oxygen | 给目标玩家灌满氧气 |
| setRotation | 旋转实体 |
| steal | 从目标玩家身上偷取物品 |
| stun | 使被标记的生物无法移动和交互 |
| swap | 交互施放者和目标的位置 |
| unEquip | 卸下施放者指定格子顺序的防具 |
原版增强技能列表
| 技能 | 描述 |
|---|---|
| customDamage | 对目标造成指定的伤害 |
| customParticleline | 在与目标相对的特定点之间绘出一条粒子线 |
| customRandomSkill | 从列表中随机触发一个技能 |
| customSummon | 在目标实体或特定未知生成mm怪物 |
| customTeleport | 传送目标 和/或 施放者到一个实体或指定位置处 |
| customVelocity | 矢量操纵 |
实用技能列表
| 技能 | 描述 |
|---|---|
| castIf | 与另一个或多个条件比较并,如果条件满足将执行一项技能,否则执行另一项技能 |
| clearThreatTarget | drops combat和清除施放者对怪物的威胁度 |
| closeInventory | 关上已经打开背包玩家的背包 |
| delMeta | 从一个实体中移除数值 |
| dropMythicItem | 在目标出掉落mm物品 |
| modifyArrows | 修改目标身上的箭 |
| parsedDisguise | 使用变量伪装目标 |
| pStance | 把一个变量视为距离 |
| playCredits | 强制玩家观看credit界面 |
| playLoading | 强制玩家观看加载界面 |
| renameEntity | 重命名目标实体 |
| setCachedOwner | 设置目标实体为施放者的主人 |
| setFaction | 设置目标mm怪物的派系 |
| setItemCooldown | 设置物品使用冷却 |
| setLevel | 设置目标mm怪物的等级 |
| setMeta | 设置实体的数值 |
| setMobHealth | 修改目标mm怪物的血量 |
| setSpeed | 设置目标的移动速度 |
| setThreatTarget | 设置目标对施放者的威胁度 |
技能详解
译者注:有关时间的数值单位都是tick,原版的mm也是. 20ticks=1s
asquip
这会给盔甲架的主手位置装备上钻石剑.
- asquip{i=diamond_sword:0}
cure | removePotion
使用这个来移除目标实体身上所有或特定的药水效果. 这基于mm原版的 reverted potion机械.
治疗虚弱:
UnCripple:
Skills:
- cure{t=SLOW}
定时清除僵尸身上的buff:
TheUnbuffable: Type: ZOMBIE Skills: - cure @Self ~onTimer:5
同样的效果:
TheUnbuffable: Type: ZOMBIE Skills: - removepotion @Self ~onTimer:5
damageArmor
使用这个来损坏目标全部或指定的装备
多次损坏所有装备耐久度:
BreakChains:
Skills:
- damagearmor{armor=all;damage=1}
- delay 5
- damagearmor{armor=all;damage=1}
- delay 5
- damagearmor{armor=all;damage=1}
- delay 5
- damagearmor{armor=all;damage=1}
- delay 5
- damagearmor{armor=all;damage=1}
僵尸会在击破目标头盔后停止该行为:
TheHeadCrusher:
Type: ZOMBIE
Skills:
- damagearmor{a=helmet;d=50;signal=Execute} @Target ~onTimer:100
- skill{s=ExecuteTheHelmless} @Target ~onSignal:Execute
disarm
缴械目标5秒:
- disarm{duration=100} @Target
dropInventory
将玩家背包内的所有物品丢到地上:
- dropinventory{item="where=ANY,material=ANY,amount=64";pieces=41} @trigger ~onDamaged
entityGoggle / entityGoggleAt
强制10格内的生物看着施放者:
- entitygoggle{duration=100} @EIR{r=10}
- entitygoggleat{duration=100} @EIR{r=10}
- entitylookin{duration=100} @EIR{r=10}
equipSkull
在施放者生成的时候带上皮肤头:
- equipskull{s=MySkullItem} ~onSpawn
extinguish
在施放者受伤时熄灭身上的火焰:
- extinguish @Self ~onDamaged
feed
使5格内的玩家的饱食度增加5格:
- feed{a=10} @PIR{r=10}
playerGoggle | playerGoggleAt
强制附近的玩家看着施放者5秒:
- playergoggle{duration=100} @NearestPlayer
- playergoggleat{duration=100} @NearestPlayer
playerSpin
强制附近的玩家旋转5秒:
- playerspin{duration=100;s=50} @NearestPlayer
playerWeather
改变10格内玩家的天气10秒:
- playerweather{w=DOWNFALL;time=18000;duration=200} @PIR{r=10} ~onAttack
playerZoom
使附近玩家的视角变为广角:
- playerzoom{v=1} @NearestPlayer
oxygen
给10格内的玩家增加5格氧气值
- oxygen{a=100} @PIR{r=10}
setRotation
旋转10格内的实体90°
- setrotation{d=100;yo=90} @EIR{r=10}
steal
偷窃目标背包内的钻石剑:
- steal{items=DIAMOND_SWORD:1} @Target
偷窃三者之一(钻石剑/5个西瓜种子/64个石头)的物品并对被盗者发送信息(成功为"ok" 失败为failure):
- steal{items=DIAMOND_SWORD:1,MELON_SEEDS:5,STONE:64;ok=success;fail=failure} @Target
stun
击晕目标5秒:
- stun{dur=100} @Target
swap
在受伤时有10%几率交互敌我位置:
- swap{kty=true;kcy=false} @Trigger ~onDamaged 0.1
unEquip
在受伤时有10%几率脱下自身的头盔:
- unequip{a=helmet} @Self ~onDamaged 0.1
customDamage
对目标造成1-5的随机伤害:
- customdamage{a=1to5} @Target
对目标造成当前血量10%的伤害:
- customdamage{a=0.1;p=true;pcur=true} @Target
customParticleline
在目标和施放者之间发出一道粒子线(和原mm的粒子用法一致):
- customparticleline{particle=reddust;amount=5;color=#feff90;ys=2.5;vd=1.0;hd=-1.0;idoy=true;distanceBetween=0.5;tyo=1.25} @pir{r=10} ~onTimer:5
customRandomSkill
检测每个技能的触发率并执行其中一项:
- customrandomskill{s=Skill1:0.1,Skill2:0.4,Skill3:0.2}
customSummon
和原版的summon指令/summon ~5 ~-4 ~3 creeper一样召唤出一只苦力怕:
- customsummon{t=CREEPER;a=1;ax=5;ay=-4;az=3} @Self
在施放者后2格召唤出一只苦力怕并把召唤者视为主人:
- customsummon{t=CREEPER;a=1;ued=true;ifb=-2;setowner=true} @Self
customTeleport
在1秒后传送施放者到其目标所在位置:
- customteleport{d="@Target";td=20}
传送在20格内的3名玩家到施放者面前并传送回起点并在完成时显示信息"Done":
- customteleport{d="@PIR{r=20}";mt=3;f=true;rs=true;fs=Done}
customVelocity
使一条直线上的目标速度为0:
- customvelocity{x=0;y=0;z=0} @Target
castIf
在某种条件下执行技能
如果施放者在地面上并且在野外,执行技能1,反之执行技能2:
- castif{c="onground true && outside true || playerwithin{d=10} true";meet=技能1;elese=技能2}
如果施放者10格内有玩家将会执行技能1,反之执行技能2
- castif{c="playerwithin{d=10} true";meet=技能1;elese=技能2;meettargeter="@PIR{r=10}";elsetargeter="@Self"}
clearThreatTarget
只在威胁度模块开启时有用
清除目标威胁度:
- clearthreattarget
closeInventory
关闭10格内玩家打开的背包或其他GUI:
- closeinventory @PIR{r=10}
delMeta
在施放者脱离战斗后清除"最后受伤的实体"标签:
- delmeta{meta="tag=lastdamagedentity"} @Self ~onDropCombat
setMeta
在施放者身上设置"最后受伤的实体"标签,把数值"玩家"视为一个STRING类型:
- setmeta{meta="tag=lastdamagedentity;value=PLAYER;type=STRING";uc=true}
设置标签"hasBow"为true:
- setmeta{meta="tag=hasBow;value=true;type=BOOLEAN"}
dropMythicItem
击杀该技能的施放者获得5个"mm物品":
- dropmythicitem{i=mm物品;a=5} @Trigger ~onDeath
modifyArrows
拔下目标身上的5枝箭:
- modifyarrows{m=SUBSTRACT;a=5} @Target
noDamageTicks
受到的攻击无间隔,持续5秒:
- nodamageticks{ndt=0;duration=100} @Target
parsedDisguise
使目标怪物伪装成攻击它的人,但显示的名称不会变:
- parseddisguise{d=PLAYER:<mob.name>:<target.name>} @trigger ~onDamaged
parsedStance | pStance
把目标的UUID视为stance:
- parsedstance{s="<trigger.uuid>"} @Self
playCredits
强制目标玩家黑屏3秒并由于关闭物品机械而复原:
- playcredits{repeat=59;repeatinterval=1} @Target
- closeinventory{delay=60} @Target
playLoading
强制目标玩家看着泥土墙(minecraft加载界面)3秒并由于关闭物品机械而复原:
- playloading{repeat=59;repeatinterval=1} @Target
- closeinventory{delay=60} @Target
renameEntity
重命名目标为施法者的名字:
- renameentity{name=<mob.name>;visible=true} @Target
setCachedOwner
永久设置目标为施放者的主人直到施放者死亡或被移除,服务器重启后也仍然会视为主人
- setcachedowner @trigger ~onInteract
setFaction
在生成时设置以怪物名为一派系:
- setfaction{faction=<mob.name>} @Self ~onSpawn
setItemCooldown
在使用物品时显示3秒的冷却:
- setitemcooldown{t=60} @Self ~onUse
setMobHealth
设置施放者的最大血量为100: - setmobhealth{a=100;sch=true}
setMobLevel | setRandomLevel
将怪物的等级设置为1到10:
- setmoblevel{a=1to10}
setNBT
更多的NBT可以查看NBT列表
支持<mob.name>之类的变量
把物品从左手移到右手: - setnbt{nbt="{LeftHanded:1b}"}
setSpeed
设置施放者的移速为0.23到0.33的随机值:
- setspeed{a=0.23to0.33} @Self
setThreatTarget
设置威胁度为11111(取值范围为0-65536):
- setthreattarget{a=11111}
Grenade
这将向目标投掷1枚手榴弹,引信时间为1秒,爆炸半径为2,不会引发火焰,但会破坏方块并在2秒后恢复方块:
- grenade{size=2;amount=1;fuse=20;fire=false;breakblocks=true;utime=40;ueffect=true;undotnt=true} @target
全息显示技能
createHealthbar
显示目标怪物的血量:
- createhealthbar{o=2.5;so=0;fo=0;iy=false;c=100;display="$h"} @Self ~onSpawn
changeHealthbar
在怪物受伤时改变血条:
- changehealthbar{d="[&4>>>&r$h&4<<<&r]"} @Self ~onDamaged
speechBubble
显示全息文字信息,并在15秒后消失:
- speechbubble{d="Hello, &5<trigger.name>&f! My name is &3<mob.name>&f Nice to meet you.";ll=20;c=300} @trigger ~onInteract
modifyBubble
改变全息文字的信息:
- modifybubble{d="Nice weather today"} @trigger ~onInteract
lineBubble
改变同一行全息文字的内容:
- linebubble{id=MyBubble;m=replace;ol="前一句话";nl="后一句话"} ~onInteract
removeBubble
移除指定ID的全息信息:
- removebubble{id=MyBubble} ~onInteract