插件手册:betonquest:条件列表

这是本文档旧的修订版!


条件列表

(版本:2017.01.12 原文链接)


判断玩家背包里是否有某个物品. 如果多个物品,可以用逗号分隔 (中间没有空格!) 每个物品包括名称和数量,用冒号隔开. 如果没有标明数量,那么就代表一个.

例子 item emerald:5,diamond:10 (背包里有5个绿宝石和10个钻石)

判断玩家手中的物品. 这个判断并不能判断物品的数量,可以通过item去判断.

例子 hand bow (手中拿着弓)

满足一项条件即可. ! 代表.

例子: or night,rain,!has_armor (现在是夜晚,或者正在下雨,或者没有护甲)

同时满足所有条件.

例子: and has_helmet,has_chestplate,has_leggings,has_boots (同时有头盔、胸甲、护腿、靴子)

判断玩家的位置是否在某个范围之内 x;y;z;world;distance.

例子: location 100;200;300;survival_nether;5 (在survival_nether世界,距离100,200,300在5格之内)

判断玩家的血量是否 >= 某个值(浮点型). 不要用0!

例子: health 5.6 (血量大于等于5.6)

判断玩家的等级.

例子: experience 30

判断玩家是否有某种权限.

例子: permission essentials.tpa

判断玩家的某种积分是否达到一定值. 必须有两个参数,第一个是分类,第二个是值.

例子: point beton 20

判断玩家是否有标签.(这是一个特别有用的功能,一般由此判断玩家是否完成某个任务)

例子: tag quest_completed

判断玩家是否穿着特殊的装备, 这个装备在items.yml里边编写.

例子: armor helmet_of_concrete

判断玩家是否有某种药水效果. 参数见: potion types.

例子: effect SPEED

判断当前的“Minecraft时间”是否在一定范围. 用两个参数表示时间范围(24小时制). 第一个数必须小于第二个数. 如果你想写成23点到2点, 需要写time 2-23, 然后在判断条件的时候写!.

例子: time 2-23

判断当前的天气. 三种情况: sun, rain and storm. 需要注意 /toggledownfall 不能改变天气. 如果想要停止下雨,/weather clear.

例子: weather sun

判断玩家位置的Y值是否_低于_某个值. 参数是一个数字或者位置 (例如 100;200;300;world). 如果用位置,执行判断程序的时候会从里边取出Y值然后对比.

例子: height 16

判断玩家的护甲值(10 意味着原版中满护甲状态的一半).

例子: rating 10

persistent, static

以一定概率返回true。可以用来roll dice或抽奖。

例子: random 12-100 (平均100次中有12次满足条件,12%概率返回true)

判断玩家是否按住了Shift键.

例子: sneak

判断玩家的小本本是否有某些记录(源于 journal.yml 文件).

例子: journal wood_started

persistent, static

判断某个位置是否是某个方块可用列表.

例子: testforblock 100;200;300;world STONE

判断玩家背包是否有满足数量的空位.

例子: empty 5

请参阅基本概念:团队Party了解更多关于“团队”的概念。

这个判断还有三个可选参数,分别是every:any:count:。团队内所有成员都需要满足every:内的全部条件;any:中的条件只需要被团队内的任意一个成员满足即可(如成员A满足第一个条件,成员B满足剩下的条件);count:用于判断团队内成员个数。

你不需要同时使用三个参数,你可以只用其中一个(比如就一个count:)。

例子: party 10 has_tag1,!has_tag2 every:some_item any:some_location,some_other_item count:5

persistent, static

指定的范围有(或超过)一定数量数量的怪物. 有两个参数 - 怪物、位置. 怪物列表用逗号隔开. 每个怪物 (怪物列表) 都可以指定数量, 例如 ZOMBIE:5,SKELETON:2 有5个(或以上)的僵尸和2个(或以上)的骷髅. 位置条件 100;200;300;world;10, 最后一个参数代表了搜索半径. 可以使用附加参数 name:, 限制怪物的名字. 这里的空格要替换成_.

例子: monsters ZOMBIE:2 100;200;300;world;10 name:Deamon

判断玩家正在被分配的任务,如果某项任务正在进行中,则返回true。参数具体来自:objectives.yml

例子: objective wood

可以检测多个条件. 每个指令用 ^ 分隔. 它与 and 不同, 因为这个写的是详细条件,而不是条件名称(conditions.yml).

例子: check ^tag beton ^item emerald:5 ^location 100;200;300;survival_nether;5 ^experience 20

===== 箱子里的物品: chestitem

persistent, static

item 条件相似, 但是判断的是箱子里的物品. 第一个参数是箱子的位置 100;200;300;world (必须是整数!) 第二个参数和item相同. 如果没有箱子,返回“否”.

例子: chestitem 100;200;300;world emerald:5,sword

你可以用这个来判断玩家的记分板Scoreboard的某一项分数是否达到或超过某个值。第一个参数是记分项目名称,第二个参数则是数值(整数)。

例子: score kills 20

condition用来判断玩家是否在某个指定的世界。第一个参数是世界的名字。

例子: world world_the_end

condition用来判断玩家的游戏模式。参数是游戏模式名称,比如survivalcreaitveadventure

例子: gamemode survival

condition用来判断玩家是否已经达成了某个成就(默认为Minecraft自带的成就)。参数是成就的名字,具体名字请参阅成就列表

例子: achievement BUILD_FURNACE

利用Regex Pattern,此condition用来判断某个变量Variable是否符合某些值。第一个参数是%变量名称%,需要用%套起来。第二个参数是Regex Pattern。举个例子,如果你想判断%world%是不是“world_the_end”,这个Pattern你只需要写world_the_end即可;如果你想判断某个变量是不是数字,你需要填-?\d+,这里前面的-?表示有或没有负号都行,\d表示一定要有数字,最后的+表示这个数字是不是一个或以上,连在一起就表示匹配所有正整数或负整数。

例子: variable %objective.var.price% -?\d+

  • 插件手册/betonquest/条件列表.1529080413.txt.gz
  • 最后更改: 2018/06/16 00:33
  • 小小k酱