- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
MythicMobsExtension:修订间差异
1240798440(留言 | 贡献) |
小无编辑摘要 |
||
| 第8行: | 第8行: | ||
</gallery> | </gallery> | ||
|plugin=MythicMobsExtension | |plugin=MythicMobsExtension | ||
|version=1. | |version=1.239 | ||
|pre= | |pre= | ||
|ver= | |ver= | ||
2020年4月17日 (五) 11:09的版本
|
MythicMobsExtension
插件介绍这个插件是基于API链接mythicmobs的,可以给你的mythicmobs插件添加60多种机制,50多种条件和10多个目标. 前置至少4.1以上版本的 MythicMobs 一些机制需要用到 HolographicDisplays 一些条件也支持worldguard和faction 配置Configuration:
# 不要修改版本号!
Version: 1
Debug: false
Update_Notification: true
Patches:
NaN_Patch: true
Modules:
Mythic_Players: true
Mythic_Thiefs: true
Cached_Owners: true
Entities:
Mythic_Parrot: true
Compatibility:
Worldguard: true
Factions: true
RPGItems: true
MobArena: true
Holographic_Displays: true
描述
条件条件的使用方法和mythicmobs内的用法一样 可用条件列表点击文字跳转到相应条件 总体条件译者注: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}
气候条件- 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}
- owneralive{action=[boolean]} 检测某些生物的主人是否在线或在同一个世界内
例子: - owneralive{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}
机制列表技能
原版增强技能列表
实用技能列表
技能详解译者注:有关时间的数值单位都是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
dropStolenItems·弃物同上,但只作用于偷窃机制 - dropstolenitems @Self ~onDeath 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·自定义伤害
- 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·技能检测在某种条件下执行技能 - 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
MythicOrbitalProjectile
这会让怪物召唤一只僵尸围绕自己旋转. 测试环绕: Skills:
- mythicorbitalprojectile{onTick=测试环绕1;pobject=zombie;i=1;hR=0;vR=0;oradx=0;oradx=4;oradz=4;oradsec=1;md=20000;se=false;sb=false;pvoff=1} @Self
测试环绕1: Skills:
- damage{a=1} @PlayersNearOrigin{r=1.5}
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·设置物品冷却用这一机制来设置物品的冷却. 对MythicArtifacts物品很拥有, 但只能由玩家触发. 在使用物品时显示3秒的冷却: - setitemcooldown{t=60} @Self ~onUse
setMobHealth·设置生命设置施放者的最大血量为100: - setmobhealth{a=100;sch=true} setMobLevel | setRandomLevel·设置等级将怪物的等级设置为1到10: - setmoblevel{a=1to10}
setNBT·设置NBT更多的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
目标这部分机制需要MM4.3以上版本才能使用
触发器
额外拓展模块这些拓展模块可以安装到你的服务器里的plugins/MythicMobsExtension/externals 点击监听器机制
使用这个机制可以记录玩家的左键和右键. 玩家蹲下即完成监听. 如果玩家没有maxdelay(最大点击间隔)内点击鼠标,监听器将会执行failskill(失败触发技能).
聊天监听器机制
用这个技能来监听一段时间内玩家是否聊天. 如果其中的一个或多个phrase(短语、单词)留空, 将会执行matchskill, 否则执行falseskill.不论匹配单词、短语成功或失败,都可用breakonmatch 和 breakonfalse 来取消这两个技能.
示例: #技能 yaml
match:
Skills:
- message{msg="你输入了正确的密码!"} @trigger
false:
Skills:
- message{msg="错误的密码!"} @trigger
inuse:
Skills:
- message{msg="我现在很忙"} @trigger
#怪物 yaml
ChatMonkey:
Type: zombie
Health: 10
AIGoalSelectors:
- 0 clear
Skills:
- chatlistener{multi=false;phrases="123456";period=240;inuseskill=inuse;matchskill=match;falseskill=false} @trigger ~onInteract
#怪物yaml
ChatMonkey1:
Type: zombie
Health: 10
AIGoalSelectors:
- 0 clear
Skills:
- chatlistener{multi=true;meta=blabla<target.uuid>;phrases="救救我";period=240;inuseskill=inuse;matchskill=match;falseskill=false} @trigger ~onInteract
#技能yaml
match:
Skills:
- pstance{s="你说: <mob.meta.blabla<trigger.uuid>>"} @self
- message{msg="<mob.stance>"} @trigger
- message{msg="小心爬行者!"} @trigger
false:
Skills:
- message{msg="抱歉,我不知道你说是的什么."} @trigger
inuse:
Skills:
- message{msg="你已经在和我聊天了!"} @trigger
以下部分涉及到OTC插件、OTG地形编辑器MOD,与插件本体无多大关系。 otcbiome条件
需要 OpenTerrainControl 插件 otgbiome条件
选项:
otgbiometemperature条件
选项:
otgbase条件
选项:
链接
|



