• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

MythicMobsExtension

来自Minecraft插件百科
Qsefthuopq留言 | 贡献2018年2月12日 (一) 15:51的版本
跳转到导航 跳转到搜索
MythicMobsExtension
外文名MythicMobsExtension
作者muhahahahe
最新版本1.238l
源地址https://www.spigotmc.org/resources/mythicmobsextension.51884/
本条目已有一定量的内容,但仍需完善

欢迎参与本条目的完善工作

你可以从以下几个方面入手

  • 参阅格式化手册,并对该页面进行相应格式排版工作;
  • 日常检查是否内容有更新版本并更新该页面;
  • 修复该页面中已出现/潜在的问题

插件介绍

这个插件是基于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 forces a credit screen
playLoading forces a dirt wall screen
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}

传送施放者 infront of 在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

链接

github原文