- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
GuillaumeVDN的插件文档/杂项:修订间差异
Qsefthuopq(留言 | 贡献) (→占位符) |
Qsefthuopq(留言 | 贡献) (→数学与逻辑) |
||
(未显示同一用户的1个中间版本) | |||
第188行: | 第188行: | ||
''你可以在任意变量末尾加上<code>_<player></code> 来将其解析为特定玩家。'' | ''你可以在任意变量末尾加上<code>_<player></code> 来将其解析为特定玩家。'' | ||
=== | === GCore的PlaceholderAPI占位符 === | ||
* <code>% | * <code>%gcore_statistic_<statistic>%</code>:玩家的数据值(目前暂时没什么用) | ||
=== | === QuestCreator的PlaceholderAPI占位符 === | ||
* <code>% | * <code>%questcreator_variable_<变量>%</code>:玩家的变量值 | ||
* <code>% | * <code>%questcreator_points_<categ或y>%</code>:玩家的任务点数 | ||
* <code>% | * <code>%questcreator_allcompletions%</code>:全部任务的总完成次数 | ||
* <code>% | * <code>%questcreator_allcompletions_group_<group>%</code>:任务组中全部任务的总完成次数 | ||
''你可以在所有‘allcompletions’占位符末尾加上<code>_SUCCESS</code>、<code>_FAIL</code>或<code>_CANCEL</code> 来解析为特定结束类型。'' | ''你可以在所有‘allcompletions’占位符末尾加上<code>_SUCCESS</code>、<code>_FAIL</code>或<code>_CANCEL</code> 来解析为特定结束类型。'' | ||
第205行: | 第205行: | ||
在这两个占位符内…… | 在这两个占位符内…… | ||
* <code>% | * <code>%questcreator_activequest_[index]_<questPlaceholder>%</code>:用于活跃中的任务(如果未指定index则用于最高优先度的任务) | ||
* <code>% | * <code>%questcreator_quest_<quest>_<questPlaceholder>%</code>:用于特定任务模型(可以是活跃的) | ||
……你可以将<code><questPlaceholder></code> 替换为以下任一任务占位符: | ……你可以将<code><questPlaceholder></code> 替换为以下任一任务占位符: | ||
第238行: | 第238行: | ||
* <code>{permission:<permission>,<value_if_has>,<value_if_hasnt>}</code>:根据玩家是否拥有权限而使用不同的值 | * <code>{permission:<permission>,<value_if_has>,<value_if_hasnt>}</code>:根据玩家是否拥有权限而使用不同的值 | ||
QuestCreator自定义占位符: | |||
* <code>{variable:< | * <code>{variable:<变量>}</code>:玩家的变量值 | ||
* <code>{svariable:< | * <code>{svariable:<变量>}</code>:服务器变量值 | ||
* <code>{gvariable:< | * <code>{gvariable:<变量>}</code>:全局变量值 | ||
QuestCreator任务自定义占位符: | |||
* <code>{quest}</code>:任务名 | * <code>{quest}</code>:任务名 | ||
* <code>{leader}</code>:队长名称 | * <code>{leader}</code>:队长名称 | ||
* <code>{variable:< | * <code>{variable:<变量>}</code>:队长的变量值 | ||
* <code>{mvariable:< | * <code>{mvariable:<变量>}</code>:模型变量值 | ||
* <code>{objective}</code>或<code>{objective:<id>}</code>:当前目标(包括以下四个格式化占位符的可配置文本) | * <code>{objective}</code>或<code>{objective:<id>}</code>:当前目标(包括以下四个格式化占位符的可配置文本) | ||
* <code>{objective_name}</code> 或 <code>{objective_name:<id>}</code>:当前目标名 | * <code>{objective_name}</code> 或 <code>{objective_name:<id>}</code>:当前目标名 | ||
第259行: | 第259行: | ||
=数学与逻辑= | =数学与逻辑= | ||
==数学== | == 数学 == | ||
==逻辑== | 你可以在我的绝大部分插件设置内使用可包含变量的数学表达式。 | ||
===比较表达式== | |||
=== | 以下是全部可用的数学表达式: | ||
===条件组合=== | |||
* 基础符号(<code>+</code>、 <code>-</code>、 <code>*</code>、 <code>/</code>)和圆括号 | |||
* 平方根:<code>sqrt(number)</code> | |||
* 正弦:<code>sin(angle in degrees)</code> | |||
* 余弦:<code>cos(angle in degrees)</code> | |||
* 正切:<code>tan(angle in degrees)</code> | |||
* 自然对数:<code>ln(number)</code> | |||
* Round函数(四舍五入):<code>round(number)</code> | |||
* 舍入到最小整数:<code>floor(number)</code> | |||
* 舍入到最大整数:<code>ceil(number)</code> | |||
* 随机数(0-∞):<code>rand(max)</code> | |||
* 随机整数(0-∞):<code>randint(max)</code> | |||
* 绝对值:<code>abs(number)</code> | |||
* 正数或0:<code>posorzero(number)</code> | |||
* 正数或1:<code>posorone(number)</code> | |||
== 逻辑 == | |||
你可以在一些地方使用逻辑字符串。比如:<code>{value} + 45 >= {other_value} + 100。</code> | |||
=== 比较表达式 === | |||
你可以使用全部类型的基础表达式: | |||
* <code>a = b</code>:a必须等于b | |||
* <code>a != b</code>:a必须不等于b | |||
* <code>a > b</code>:a必须大于b(这个表达式会让插件尝试解析两侧数字) | |||
* <code>a >= b</code>:a必须大于等于b(这个表达式会让插件尝试解析两侧数字) | |||
* <code>a < b</code>:a必须小于b(这个表达式会让插件尝试解析两侧数字) | |||
* <code>a <= b</code>:a必须小于等于b(这个表达式会让插件尝试解析两侧数字) | |||
你也可以合并多个表达式。比如逻辑字符串<code>a < b <= c != d</code>的意思是<code>a必须小于,b必须小于等于c,c必须不等于d。</code> | |||
你还可以用<code>in</code>运算符检测值是否在列表内:<code>a |in| value_1 | value_2 | value_3 | ...</code> ; <code>a</code>必须等于列表内的一个值。 | |||
=== 条件合并(‘and’、‘or’) === | |||
你也可以用以下运算符来合并条件: | |||
* ‘and’运算符:<code>condition_1 && condition_2 && condition_3 && ...</code>。必须匹配全部条件。 | |||
* ‘or’运算符:<code>condition_1 || condition_2 || condition_3 || ...</code>.。只需匹配一个条件。 | |||
=== 条件组合 === | |||
你可以用括号来制造更复杂的逻辑字符串。因为普通的圆括号()已用于数学表达式中,所以它不会解析逻辑。因此我们使用中括号<code>[]</code>来组合条件。 | |||
比如:<code>[condition_1 && condition_2] || condition_3。意思是</code>:<code>[condition 1和condition 2]或[condition 3]</code>. | |||
构造复杂逻辑时,使用中括号很重要。你不能使用不同的同级合并运算符,错误示范:<code>condition_1 && condition_2 || condition_3</code> 。插件无法区分你的意思是(a) <code>[condition 1和condition 2]或[condition 3]</code> 还是(b) <code>condition_1和[condition 2或condition 3]。</code> |
2020年11月23日 (一) 09:11的最新版本
GuillaumeVDN的插件文档 | |
---|---|
页面 | |
所有插件都有的常见内容 | |
QuestCreator |
指令与权限
大多数参数可以通过按tab来自动补全。如果插件停止给出参数建议,这就意味着插件找到了唯一匹配的结果。比如输入“Guillaume”你会得到“GuillaumeVDN”的结果,或者在没有其它名字是G开头的玩家在线时只输入“g”你也会得到该结果。
参数无需遵循特定的顺序,输入 /command <element> <player>
和/command <player> <element>
都有同样的效果。
如果没有指定目标玩家参数,则大多数带有目标玩家参数的指令将以发送者为目标。
GCore指令
对QuestCreator而言最主要的指令是/gcore
。
/gcore export
导出以GCore为前置的插件数据到zip压缩包文件内。
/gcore reload
重载插件。
/gcore plugins
列出使用GCore作为前置的插件。
GCore权限层级
gcore.*
gcore.admin
(管理员权限)gcore.bypass_command_restrictions.*
(越过指令限制)
QuestCreator指令
QuestCreator的主要指令有/questcreator
缩写为/qc
、/quests
和/quest
。
管理员指令
/questcreator reload
重载插件
/questcreator edit [models/activators/groups/pools/conditions/objects/branches/variables/time_frames/states/gui_item/guis]
在游戏内编辑元素(你可以直接打开特定的GUI)。
/questcreator list
列出已加载的任务模型。
/questcreator logspam [目标玩家]
在控制台显示一名玩家的任务调试信息。
用户数据和操控指令
/questcreator progress [目标玩家] [任务模型]
查看一名玩家活跃任务的详情。
/questcreator points [目标] [category] [-silent]
查看一名玩家的任务点数。
/questcreator points <category> <ADD/TAKE/SET> <数量> [目标] [-silent]
更改一名玩家特定类型的任务点数。
/questcreator variable [目标] [变量] [-silent]
查看一名玩家的变量。
/questcreator variable <变量> <ADD/TAKE/SET> <值> [目标] [-number] [-silent]
更改一名玩家特定类型的变量值。如果指定了-number
参数,则该值会被视为数字并对当前值进行+
/-
。否则给当前值添加<值>
文本。
/questcreator goto <任务模型> <分支id> [o目标id] [停止的分支id] [目标] [-silent]
将goto应用于任务中。如果分支为开始,则插件会先开始分支。你也可以停止其它分支。
/questcreator complete <任务模型> <完成次数> [目标] [-silent]
将一名玩家的任务标记为已完成。
/questcreator completebranch <任务模型> <分支id> [目标] [-silent]
如果该任务活跃,将当前任务分支标记为已完成,这样就可以在下一次调用定时器时完成并执行效果。
/questcreator start <任务模型> [目标] [-silent] [-coop]
为一名玩家开始任务。
/questcreator reset [任务模型] [目标] [-all] [-silent]
将一名玩家的一个或全部任务标记为未完成。
/questcreator stop [任务模型] [目标] [-all] [-silent]
停止一名玩家活跃中的一个或全部任务。
/questcreator resetpool [pool id] [目标] [-all] [-silent]
将一名玩家的一个或全部任务池标记为未处理。
/questcreator setpooltokens <模型id> <券数> [目标] [-silent]
为一名玩家设置任务模型的任务券数。
/questcreator state <状态id> [目标] [-silent]
为一名玩家设置特定状态。
/questcreator rungbranch <全局分支id> [目标]
为一名玩家运行全局分支内的全部目标。
/questcreator rungobject <全局目标id> [目标]
为一名玩家运行一个全局目标。
用户设置指令
/questcreator actionbar [目标] [-silent]
切换任务actionbar显示。
/questcreator bossbar [目标] [-silent]
切换任务bossbar显示。
/questcreator title [目标] [-silent]
切换任务标题显示。
/questcreator scoreboard [目标] [-silent]
切换任务计分板显示。
/questcreator gps [目标] [-silent]
切换任务GPS显示。
/questcreator journal [目标] [-silent]
切换任务日志显示。
/questcreator journal open [目标] [-silent]
为玩家打开任务日志。
打开特定的GUI,或活跃任务GUI。
QuestCreator权限层级
questcreator.*
questcreator.admin
(管理员指令的权限)questcreator.quest.*
questcreator.quest.stop
(默认给予)questcreator.quest.leave
(默认给予)
questcreator.command.*
questcreator.command.directmenu
(默认给予)(允许用指令打开任务菜单)questcreator.command.actionbar
(默认给予)questcreator.command.actionbar.others
questcreator.command.bossbar
(默认给予)questcreator.command.bossbar.others
questcreator.command.gps
(默认给予)questcreator.command.gps.others
questcreator.command.journal
(默认给予)questcreator.command.journal.open
(默认给予)
questcreator.command.journal.others
questcreator.command.gps
(默认给予)questcreator.command.gps.others
questcreator.command.title
(默认给予)questcreator.command.title.others
questcreator.command.scoreboard
(默认给予)questcreator.command.scoreboard.others
questcreator.command.coop
(默认给予)questcreator.command.coop.leave
(默认给予)
questcreator.command.queue
(默认给予)questcreator.command.queue.leave
(默认给予)
questcreator.command.queue.others
questcreator.command.points
(默认给予)questcreator.command.points.others
questcreator.command.points.modify
questcreator.command.stop
(默认给予)questcreator.command.stop.others
questcreator.command.stop.all
questcreator.command.silent
questcreator.command.logspam
questcreator.command.list
questcreator.command.edit
questcreator.command.menu
questcreator.command.menu.active
questcreator.command.menu.others
questcreator.command.progress
questcreator.command.progress.others
questcreator.command.variable
questcreator.command.completebranch
questcreator.command.goto
questcreator.command.complete
questcreator.command.reset
questcreator.command.resetpool
questcreator.command.setpooltokens
questcreator.command.state
questcreator.command.performglobalobject
questcreator.command.performglobalbranch
questcreator.command.start
questcreator.command.start.coop
questcreator.command.start.others
占位符
你可以在我的绝大部分插件设置内使用占位符。
PlaceholderAPI占位符
你可以在任意变量末尾加上_<player>
来将其解析为特定玩家。
GCore的PlaceholderAPI占位符
%gcore_statistic_<statistic>%
:玩家的数据值(目前暂时没什么用)
QuestCreator的PlaceholderAPI占位符
%questcreator_variable_<变量>%
:玩家的变量值%questcreator_points_<categ或y>%
:玩家的任务点数%questcreator_allcompletions%
:全部任务的总完成次数%questcreator_allcompletions_group_<group>%
:任务组中全部任务的总完成次数
你可以在所有‘allcompletions’占位符末尾加上_SUCCESS
、_FAIL
或_CANCEL
来解析为特定结束类型。
任务占位符 :
在这两个占位符内……
%questcreator_activequest_[index]_<questPlaceholder>%
:用于活跃中的任务(如果未指定index则用于最高优先度的任务)%questcreator_quest_<quest>_<questPlaceholder>%
:用于特定任务模型(可以是活跃的)
……你可以将<questPlaceholder>
替换为以下任一任务占位符:
id
:任务模型idname
:任务模型名description_[行数]
:任务模型的自定义描述占位符(行数为0则为未指定)state
:玩家的任务状态completions_[结束类型]
:完成次数cooldown
:格式化剩余冷却cooldownmillis
:毫秒剩余冷却lastcompletion_[结束类型]
:格式化上一次完成任务日期lastcompletionmillis_[结束类型]
:上一次完成任务日期的毫秒时间objective_name_[分支ID]
:当前任务目标名objective_[分支ID]_[progressionPartId]
:当前任务目标进度(合并为委托目标)objective_progression_[分支ID]_[progressionPartId]
:当前任务目标进度(合并为委托目标)objective_goal_[分支ID]_[progressionPartId]
:当前任务目标(合并为委托目标)objective_progression_percentage_[分支ID]_[progressionPartId]
:当前任务目标的完成率(合并为委托目标)
如果未指定[结束类型]则使用SUCCESS。 如果未指定[分支ID]则使用最高优先度的分支。如果未指定[progressionPartId]则使用合并目标。
自定义占位符
你也可以在任何地方使用一些自定义占位符。
{player}
:玩家的名称{player_location}
:玩家的位置{random_in_list:<value1>,<value2>,<value3>,...}
:从列表内随机选取一个值{random_double:<min>,<max>}
:从范围内随机选取一个小数{random_integer:<min>,<max>}
:从范围内随机选取一个整数{math:<表达式>}
:数学表达式{permission:<permission>,<value_if_has>,<value_if_hasnt>}
:根据玩家是否拥有权限而使用不同的值
QuestCreator自定义占位符:
{variable:<变量>}
:玩家的变量值{svariable:<变量>}
:服务器变量值{gvariable:<变量>}
:全局变量值
QuestCreator任务自定义占位符:
{quest}
:任务名{leader}
:队长名称{variable:<变量>}
:队长的变量值{mvariable:<变量>}
:模型变量值{objective}
或{objective:<id>}
:当前目标(包括以下四个格式化占位符的可配置文本){objective_name}
或{objective_name:<id>}
:当前目标名{objective_progression}
或{objective_progression:<id>}
:当前目标进度(合并为委托目标){objective_goal}
或{objective_goal:<id>}
:当前目标(合并为委托目标){objective_progression_percentage}
或{objective_progression_percentage:<id>}
:当前目标名(合并为委托目标)
目标占位符可以独自使用,也可以加上特定目标id。这对于有多个进度的任务目标很有用,比如方块目标。
数学与逻辑
数学
你可以在我的绝大部分插件设置内使用可包含变量的数学表达式。
以下是全部可用的数学表达式:
- 基础符号(
+
、-
、*
、/
)和圆括号 - 平方根:
sqrt(number)
- 正弦:
sin(angle in degrees)
- 余弦:
cos(angle in degrees)
- 正切:
tan(angle in degrees)
- 自然对数:
ln(number)
- Round函数(四舍五入):
round(number)
- 舍入到最小整数:
floor(number)
- 舍入到最大整数:
ceil(number)
- 随机数(0-∞):
rand(max)
- 随机整数(0-∞):
randint(max)
- 绝对值:
abs(number)
- 正数或0:
posorzero(number)
- 正数或1:
posorone(number)
逻辑
你可以在一些地方使用逻辑字符串。比如:{value} + 45 >= {other_value} + 100。
比较表达式
你可以使用全部类型的基础表达式:
a = b
:a必须等于ba != b
:a必须不等于ba > b
:a必须大于b(这个表达式会让插件尝试解析两侧数字)a >= b
:a必须大于等于b(这个表达式会让插件尝试解析两侧数字)a < b
:a必须小于b(这个表达式会让插件尝试解析两侧数字)a <= b
:a必须小于等于b(这个表达式会让插件尝试解析两侧数字)
你也可以合并多个表达式。比如逻辑字符串a < b <= c != d
的意思是a必须小于,b必须小于等于c,c必须不等于d。
你还可以用in
运算符检测值是否在列表内:a |in| value_1 | value_2 | value_3 | ...
; a
必须等于列表内的一个值。
条件合并(‘and’、‘or’)
你也可以用以下运算符来合并条件:
- ‘and’运算符:
condition_1 && condition_2 && condition_3 && ...
。必须匹配全部条件。 - ‘or’运算符:
condition_1 || condition_2 || condition_3 || ...
.。只需匹配一个条件。
条件组合
你可以用括号来制造更复杂的逻辑字符串。因为普通的圆括号()已用于数学表达式中,所以它不会解析逻辑。因此我们使用中括号[]
来组合条件。
比如:[condition_1 && condition_2] || condition_3。意思是
:[condition 1和condition 2]或[condition 3]
.
构造复杂逻辑时,使用中括号很重要。你不能使用不同的同级合并运算符,错误示范:condition_1 && condition_2 || condition_3
。插件无法区分你的意思是(a) [condition 1和condition 2]或[condition 3]
还是(b) condition_1和[condition 2或condition 3]。