[MD]
# WarZScriptBlockPlus v1.1.8 更新内容总结
> 一句话总结:**冷却范围可配置** —— 每个脚本方块都能选择「每位玩家独立冷却」或「全服共享冷却」。
## 具体更新
### 新增冷却范围
| 范围 | 含义 | 适用场景 |
| :--- | :--- | :--- |
| `PLAYER`(默认) | 每位玩家各自计算冷却,玩家 A 触发后不影响玩家 B | 个人传送、每日领取、单人机关 |
| `GLOBAL` | 同一个方块全服共用一份冷却,任意玩家触发后所有人都要等冷却结束 | 全服活动、公共宝箱、限量机关 |
> 注意:`GLOBAL` 是**同一个方块**全服共享,不是所有脚本方块共用一个冷却。
### 指令
```text
/wsb cooldown <秒数> [player|global]
```
示例:
```text
/wsb cooldown 30 # 30 秒,保持当前范围(新方块默认 player)
/wsb cooldown 30 player # 30 秒,每位玩家独立
/wsb cooldown 30 global # 30 秒,全服玩家共享
```
也支持中文别名:`个人` / `全服` / `全局`。
### 各编辑入口
- **GUI 编辑器**:点击冷却按钮后输入 `30 global`,或只输入 `global` / `player` 切换范围。
- **Web 编辑器**:新增「冷却范围」下拉框;方块列表会给全服冷却显示 `30s 全服` 徽章。
- **`/wsb info`**:新增「冷却范围」显示。
- **全局绑定**(`config.yml`):新增 `cooldown-scope: "PLAYER|GLOBAL"` 配置项。
```yaml
global-bindings:
public_chest:
material: CHEST
trigger: INTERACT
cooldown: 60
cooldown-scope: "GLOBAL"
```
### 顺带修正
红石触发(`REDSTONE`)此前没有接入冷却判定,本次统一纳入冷却逻辑,配置了冷却的红石方块也会按范围正常冷却。
## 兼容性
- 旧 `blocks.json` 没有 `cooldownScope` 字段时按 `PLAYER` 处理,行为与旧版完全一致。
- 旧 `global-bindings` 没有 `cooldown-scope` 时同样按 `PLAYER` 处理。
- 不涉及数据迁移,不需要改任何已有配置。
## 升级注意
1. 用 `target/WarZScriptBlockPlus-1.1.8.jar` 替换旧版,**重启服务器**生效。
2. 重启后可按需执行 `/wsb reload` 重载配置与 `blocks.json`。
3. 想让某个方块全服共享冷却,执行 `/wsb cooldown <秒数> global` 即可。
[/MD]