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

GuillaumeVDN的插件文档/杂项:修订间差异

来自Minecraft插件百科
跳转到导航 跳转到搜索
(创建页面,内容为“{{模板:VDNBox}} =指令与权限= 大多数参数可以通过按tab来自动补全。如果插件停止给出参数建议,这就意味着插件找到了唯一…”)
 
 
(未显示同一用户的2个中间版本)
第183行: 第183行:


=占位符=
=占位符=
==PlaceholderAPI占位符==
你可以在我的绝大部分插件设置内使用占位符。
==自定义占位符==
 
== PlaceholderAPI占位符 ==
''你可以在任意变量末尾加上<code>_<player></code> 来将其解析为特定玩家。''
 
=== GCore的PlaceholderAPI占位符 ===
 
* <code>%gcore_statistic_<statistic>%</code>:玩家的数据值(目前暂时没什么用)
 
=== QuestCreator的PlaceholderAPI占位符 ===
 
* <code>%questcreator_variable_<变量>%</code>:玩家的变量值
* <code>%questcreator_points_<categ或y>%</code>:玩家的任务点数
* <code>%questcreator_allcompletions%</code>:全部任务的总完成次数
* <code>%questcreator_allcompletions_group_<group>%</code>:任务组中全部任务的总完成次数
 
''你可以在所有‘allcompletions’占位符末尾加上<code>_SUCCESS</code>、<code>_FAIL</code>或<code>_CANCEL</code> 来解析为特定结束类型。''
 
任务占位符 :
 
在这两个占位符内……
 
* <code>%questcreator_activequest_[index]_<questPlaceholder>%</code>:用于活跃中的任务(如果未指定index则用于最高优先度的任务)
* <code>%questcreator_quest_<quest>_<questPlaceholder>%</code>:用于特定任务模型(可以是活跃的)
 
……你可以将<code><questPlaceholder></code> 替换为以下任一任务占位符:
 
* <code>id</code>:任务模型id
* <code>name</code>:任务模型名
* <code>description_[行数]</code>:任务模型的自定义描述占位符(行数为0则为未指定)
* <code>state</code>:玩家的任务状态
* <code>completions_[结束类型]</code>:完成次数
* <code>cooldown</code>:格式化剩余冷却
* <code>cooldownmillis</code>:毫秒剩余冷却
* <code>lastcompletion_[结束类型]</code>:格式化上一次完成任务日期
* <code>lastcompletionmillis_[结束类型]</code>:上一次完成任务日期的毫秒时间
* <code>objective_name_[分支ID]</code>:当前任务目标名
* <code>objective_[分支ID]_[progressionPartId]</code>:当前任务目标进度(合并为委托目标)
* <code>objective_progression_[分支ID]_[progressionPartId]</code>:当前任务目标进度(合并为委托目标)
* <code>objective_goal_[分支ID]_[progressionPartId]</code>:当前任务目标(合并为委托目标)
* <code>objective_progression_percentage_[分支ID]_[progressionPartId]</code>:当前任务目标的完成率(合并为委托目标)
 
''如果未指定[结束类型]则使用SUCCESS。 如果未指定[分支ID]则使用最高优先度的分支。如果未指定[progressionPartId]则使用合并目标。''
 
== 自定义占位符 ==
你也可以在任何地方使用一些自定义占位符。
 
* <code>{player}</code>:玩家的名称
* <code>{player_location}</code>:玩家的位置
* <code>{random_in_list:<value1>,<value2>,<value3>,...}</code>:从列表内随机选取一个值
* <code>{random_double:<min>,<max>}</code>:从范围内随机选取一个小数
* <code>{random_integer:<min>,<max>}</code>:从范围内随机选取一个整数
* <code>{math:<表达式>}</code>:数学表达式
* <code>{permission:<permission>,<value_if_has>,<value_if_hasnt>}</code>:根据玩家是否拥有权限而使用不同的值
 
QuestCreator自定义占位符:
 
* <code>{variable:<变量>}</code>:玩家的变量值
* <code>{svariable:<变量>}</code>:服务器变量值
* <code>{gvariable:<变量>}</code>:全局变量值
 
QuestCreator任务自定义占位符:
 
* <code>{quest}</code>:任务名
* <code>{leader}</code>:队长名称
* <code>{variable:<变量>}</code>:队长的变量值
* <code>{mvariable:<变量>}</code>:模型变量值
* <code>{objective}</code>或<code>{objective:<id>}</code>:当前目标(包括以下四个格式化占位符的可配置文本)
* <code>{objective_name}</code> 或 <code>{objective_name:<id>}</code>:当前目标名
* <code>{objective_progression}</code> 或 <code>{objective_progression:<id>}</code>:当前目标进度(合并为委托目标)
* <code>{objective_goal}</code> 或 <code>{objective_goal:<id>}</code>:当前目标(合并为委托目标)
* <code>{objective_progression_percentage}</code> 或 <code>{objective_progression_percentage:<id>}</code>:当前目标名(合并为委托目标)
 
目标占位符可以独自使用,也可以加上特定目标id。这对于有多个进度的任务目标很有用,比如方块目标。
 
=数学与逻辑=
=数学与逻辑=
==数学==
== 数学 ==
==逻辑==
你可以在我的绝大部分插件设置内使用可包含变量的数学表达式。
===比较表达式==
 
===条件合并(“与”和“或”)===
以下是全部可用的数学表达式:
===条件组合===
 
* 基础符号(<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的插件文档
页面

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]

为玩家打开任务日志。

/questcreator menu [目标] [gui] [-active]

打开特定的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:任务模型id
  • name:任务模型名
  • 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必须等于b
  • a != b:a必须不等于b
  • a > 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]。