- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobsExtension:修订间差异
Qsefthuopq(留言 | 贡献) 无编辑摘要 |
Qsefthuopq(留言 | 贡献) 小 (→前置) |
||
第18行: | 第18行: | ||
一些机械需要用到 [https://dev.bukkit.org/projects/holographic-displays HolographicDisplays] | 一些机械需要用到 [https://dev.bukkit.org/projects/holographic-displays HolographicDisplays] | ||
一些条件也支持worldguard和faction | |||
=条件= | =条件= | ||
条件的使用方法和mythicmobs内的用法一样<br /> | 条件的使用方法和mythicmobs内的用法一样<br /> |
2018年1月22日 (一) 13:19的版本
外文名 | 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}
机械
列表
技能
技能 | 描述 |
---|---|
asquip | 给盔甲架装上装备 |
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 | 设置目标对施放者的威胁度 |
技能详解
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