ReActions

ReActions - 服务器脚本引擎

强大易学的脚本引擎,为您的服务器量身打造!
Bukkit / Spigot 作者 fromgate 支持版本 1.9 - 1.12
服务器使用量
5
服务玩家数
2
下载量
6,401
插件详细介绍

ReActions 是一款通用的事件处理系统,它允许检查特定条件并执行相应动作。如果所需条件不满足,则会执行其他动作。

什么是 ReActions?

ReActions 是一款工具,允许你为物品、按钮以及各种事件添加新功能。你可以定义当点击按钮或打开箱子时触发的新动作,可以改变拉杆状态或将玩家传送到另一个地点,可以检查玩家是否在某个区域内,并在其击败 Boss 后给予附魔物品作为奖励。当然,你也可以用它来生成 Boss 生物。

ReActions 能与众多第三方插件(如 Vault、Factions、Towny 等)交互,从而引入非标准的功能使用方式,或为你提供更灵活、完全可定制的玩家设置。例如,你可以对进入某区域、打开箱子或拉动拉杆收取费用,也可以在玩家变更派系(由 Factions 插件提供)时执行某些动作,或强制玩家加入城镇(Towny 插件)。

最重要的是,你无需学习脚本语言。只需几分钟理解 ReActions 的工作原理,之后你的想象力就是唯一的限制。

指令说明

<参数> 表示必需参数。

[参数] 表示可选参数。

[参数:值] 表示如果使用则必须指定值的可选参数。

[v1 | v2 | v3] 表示可从中选择一个值的可选参数。

插件的主指令是 /react,别名:/rea/ra

  • /react help - 显示帮助信息。
  • /react add <ActivatorType> <ActrName> [Param] - 创建一个订阅指定事件类型的新激活器。查看激活器类型列表。
  • /react add loc <LocName> - 将你当前位置保存为一个命名地点,供后续使用(例如传送)。
  • /react add <ActrName> f <Flag> <Param> - 为激活器添加一个条件(标志)。查看标志列表。
  • /react add <ActrName> a <Actn> <Param> - 为激活器添加一个动作(在所有检查返回 true 时执行)。所有动作按添加顺序执行。查看动作列表。
  • /react add <ActrName> r <Reaction> <Param> - 为激活器添加一个反应(在至少一个检查返回 false 时执行)。所有反应按添加顺序执行。查看反应列表。
  • /react copy [flag | actions | reactions] <SrcActr> <DestActr> - 将源激活器的标志、动作或反应复制到目标激活器。注意:如果省略可选参数,将复制全部内容。
  • /react list [loc | group | type] [页码] - 显示地点、组或类型的列表。注意:如果省略可选参数,则显示所有激活器列表。
  • /react info <ActrName> [f | a | r] - 显示激活器的标志、动作或反应信息。注意:如果省略可选参数,则显示激活器的完整信息。
  • /react group <ActrName> <GroupName> - 将激活器更改到指定组。注意:如果指定组不存在,将会被创建。
  • /react remove <loc|activator> <ActrName|LocName> - 删除激活器或地点。
  • /react remove <ActrName> <f | a | r> <编号> - 从激活器中删除指定编号的标志、动作或反应。注意:可使用 /react info <ActrName> [f | a | r] 查看编号。
  • /react clear <ActrName> <f | a | r> - 清除激活器的所有标志、动作或反应。
  • /react debug <true|false|off> - 切换调试模式。true:所有检查始终返回 true;false:所有检查始终返回 false;off:关闭调试模式。
  • /react check [半径] - 显示指定范围内的所有地理定位激活器。注意:如果省略半径参数,则使用默认值 8 米(方块)。
  • /react reload - 重载插件(插件将重新读取所有配置文件)。

权限说明

  • reactions.config - 允许创建和设置激活器及地点。
  • reactions.debug - 允许使用调试模式。

你可以在[此处](reactions.fromgate.me)查看更多关于指令和权限的详细信息。

核心概念与特性

为了便于理解,我们先明确一些术语和通用特性

  • 订阅 - 将激活器绑定到任何游戏事件(受到伤害、按下按钮、穿戴盔甲、手持特定物品右键点击等)。如果激活器订阅了某个事件,则该事件发生时激活器会被触发。
  • 激活器 - 一组“事件-条件-动作”的集合。即,激活器由特定事件(其订阅的事件)触发,检查某些条件(标志),然后执行一些动作。
  • 标志 - 需要检查的条件。
  • 动作 - 激活器在检查标志后执行的内容。动作有两种类型:
- **action** - 在标志检查成功后执行。
- **reaction** - 在标志检查失败后(至少有一个标志返回 false)执行。
  • 占位符 - 用于定义动态计算的值。你可以将内置占位符用作命令或动作的参数。支持 Placeholder API。
  • 计时器 - 在定义的时间触发激活器的调度器。
  • 物品格式 - 用于定义物品和物品堆叠的特定格式。
  • 位置格式 - 定义位置的格式。你可以指向固定点,甚至是区域内的随机点。
  • GUI - 库存菜单 - 使用玩家库存创建和显示菜单。
  • 粒子效果 - 播放任何粒子效果。
  • 时间格式 - 一些动作、标志和激活器使用通用格式来定义时间、游戏刻或延迟。
  • 变量 - 可以更改的值,可包含数字、文本或布尔值。你可以在命令、激活器甚至支持 Placeholder API 的第三方插件中使用这些值。

使用示例

以下是一些在服务器上使用 ReActions 的实例:

  • 传送系统:可以收取金钱或物品,并依赖于玩家权限和游戏内时间。例如:仅在白天允许传送,并使用一个钻石块作为支付。
  • 简易管理员商店:出售物品。例如,通过单次鼠标点击出售一整套钻石盔甲。
  • 辐射区域:玩家在区域内会受到伤害,并在离开该区域后持续一段时间。
  • 桥梁和大门
  • 创建自定义命令(包括使用你的母语),无需安装第三方插件。
  • 为任务或迷宫创建额外的解决方式。例如,手持钻石剑的玩家会被传送到特殊地点,而没有钻石剑的玩家则被传送到另一个地方。
  • 执行第三方插件命令,带来更多乐趣。
  • 策略游戏应用:我知道一个服务器运行一种策略游戏,玩家不能在那里建造,但有一些区域玩家可以购买提供资源的建筑(这些建筑通过 ScLoad 插件命令创建,而该命令由 ReActions 执行)。
  • 创建枪支和喷气背包

视频教程与示例

目前没有展示 ReActions 全部功能的视频,我会尽快制作。但有一些视频演示了部分特性:

  • 如何通过物品右键点击实现飞行。
  • 演示两种激活器类型:REGION_ENTER 和 REGION_LEAVE,以及药水效果等动作功能。

你可以在[这里](here)查看一些演示如何使用 ReActions 的教程视频。

为什么选择 ReActions?

有时我会收到一个问题:为什么我应该使用 ReActions 而不是 BukkitDev 上能找到的任何脚本插件?关于这一点,我想说:如果你已经为任何脚本插件学习了脚本语言,我不建议你更换。大多数脚本插件允许你做与 ReActions 相同的事情。但 ReActions 有一些特别的品质值得关注:

  • ReActions 非常容易上手。在创建你的第一个激活器后,你就会了解 ReActions 的工作原理。
  • 我努力让 ReActions 更贴近用户,而非开发者:Bukkit 的内置事件通常不会在 ReActions 中直接镜像。例如,ReActions 包含一个 REGION_ENTER 激活器,而不是镜像 PlayerMoveEvent(脚本编写者必须在其中检查玩家周围的区域)。
  • 我努力让 ReActions 更贴近服务器所有者,并计划添加对最流行插件的支持。目前已支持:WorldGuard、Vault、Craftconomy3、Factions、Towny、PlayEffect 和 RacesAndClasses。
  • 你可以使用插件命令或手动编辑配置文件来创建激活器(后者甚至更简单)。
  • ReActions 不是脚本语言。用户为此感谢我,这也是我继续开发它的主要原因。

与第三方插件交互

ReActions 与一些第三方插件兼容。所有依赖都是软依赖——你可以自由选择使用(或不使用)其中任何一个。

  • Vault — 组管理和经济系统。
  • WorldGuard — 使用区域激活器所必需。
  • Towny — 你可以更改/检查玩家的城镇。(警告!Towny 位于外部网站,未经 Bukkit 团队批准。使用风险自负。)
  • Factions — 你可以捕获派系关系变化,更改玩家的派系。
  • RacesAndClasses — 你可以更改/检查玩家的职业和种族。
  • PlayEffect — 你可以播放粒子效果。
  • Craftconomy3 — 高级经济功能,支持多种货币。
  • ProtocolLib — 数据包控制库,用于处理发送给玩家的消息。
  • PlaceholderAPI — 提供额外的占位符。

数据统计与更新检查

ReActions 包含两个使用你服务器互联网连接的功能。第一个是 Metrics,用于收集插件相关信息(插件版本、Java 版本等)。第二个是 更新检查器,它会在插件启动后以及每半小时检查 ReActions 的新版本。此功能使用 dev.bukkit.org 提供的 API。

如果你不喜欢这些功能,可以轻松禁用它

  • 要禁用更新检查器,需要在 config.yml 中将参数 version-check 设置为 false
  • 有关 Metrics 的更多信息以及如何禁用它,你可以阅读[此处](here)。

支持与反馈

如果你喜欢这个插件,别忘了[请我吃块巧克力](buy me a chocolate)!

详细说明可在此处查看:[reactions.fromgate.me](reactions.fromgate.me)

俄语说明在此处:[reactions.fromgate.ru](reactions.fromgate.ru)

测试支持版本
1.9 1.10 1.11 1.12
版本分布
基本信息
插件名称 ReActions
作者 fromgate
平台 Bukkit / Spigot
支持版本 1.9 - 1.12
点赞数 3
Modrinth 下载 213
最近版本
0.11.1 4
0.13.0-b100 1
0.11.0 1