Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AntiDestroy

Server Java Folia Build

AntiDestroy 是一款面向 Luminol 的危险物品操作审计插件。它会记录操作结果、写入审计日志,并向有权限的在线管理员发送通知。

插件只负责审计,不会主动取消或拦截事件。监听器在 MONITOR 阶段记录操作结果,包括成功和已取消状态,因此可以与现有的领地、权限和保护插件配合使用。

功能

  • 审计危险方块放置、岩浆桶倒出、TNT 点燃、末地水晶放置和 TNT 矿车放置等操作。
  • 审计危险物品交互,以及危险物品进入箱子等外部容器的操作。
  • 记录操作状态、玩家、物品、数量、领地、坐标和上下文。
  • 将记录异步写入 plugins/AntiDestroy/logs.log
  • 使用 MiniMessage 格式向拥有通知权限的在线管理员发送消息。
  • 可选对接 Residence,以记录操作所在的领地。
  • 遵循 Folia 调度模型,并按任务所有权使用 EntityRegionGlobalAsync 调度路径。

环境要求

项目 要求
服务端 Luminol 26.2 (Build 726)
Java 25
可选依赖 Residence 6.0.0.1

当前版本仅面向 Luminol 26.2 (Build 726),不再支持 Luminol 1.21.11。项目已按照 Folia 调度模型实现,但 folia-supported: true 只代表服务端允许加载插件,不能替代生产环境验证。

使用 Residence 集成功能前,请确认所安装的 Residence 版本兼容 Luminol 26.2。部署到生产环境前,请在目标服务端验证插件加载、危险物品审计、日志写入和管理员通知。

安装

  1. GitHub Releases 获取 AntiDestroy-1.0.0.jar,或自行构建项目。
  2. 将 JAR 放入服务器的 plugins 目录。
  3. 启动服务器后,按需修改 plugins/AntiDestroy/config.yml
  4. 运行 /antidestroy reload 重新加载配置。

命令与权限

命令 说明 权限
/antidestroy reload 异步重新加载配置 antidestroy.reload
/antidestroy on 开启管理员通知 antidestroy.toggleantidestroy.reload
/antidestroy off 关闭管理员通知 antidestroy.toggleantidestroy.reload
权限 说明 默认值
antidestroy.notify 接收审计通知 OP
antidestroy.reload 重新加载配置 OP
antidestroy.toggle 切换管理员通知 OP

配置

dangerous-materials:
  - LAVA_BUCKET
  - TNT
  - END_CRYSTAL
  - RESPAWN_ANCHOR
  - FLINT_AND_STEEL
time-zone: Asia/Shanghai
notification-format: "<red>[AntiDestroy]</red> 玩家={player} 时间={time} 状态={status} 操作={action} 物品={item} 数量={amount} 领地={territory} 坐标={world},{x},{y},{z} 目标={context}"

dangerous-materials 用于配置需要审计的物品和方块。默认配置还包含 TNT 矿车、16 种床、火焰弹和凋灵骷髅头颅等条目。

time-zone 使用 IANA 时区名称,例如 Asia/Shanghainotification-format 使用 MiniMessage 格式,并且必须保留以下占位符:

{player} {time} {status} {action} {item} {amount}
{territory} {world} {x} {y} {z} {context}

岩浆桶倒出和玩家点燃 TNT 始终会产生审计记录;其余大部分监听项由 dangerous-materials 控制。

审计日志

日志文件位于 plugins/AntiDestroy/logs.log。每条记录包含时间、玩家名、UUID、操作状态(成功或已取消)、操作类型、物品、数量、领地、世界、坐标和上下文。

安装 Residence 后,日志中的领地字段会显示解析到的领地名称;未安装 Residence 或 API 不可用时,该字段会显示对应状态。

构建

Windows:

.\gradlew.bat clean build

Linux 或 macOS:

./gradlew clean build

构建完成后,JAR 位于 build/libs/AntiDestroy-1.0.0.jar

许可证

本项目采用 GNU General Public License v3.0 许可 (SPDX: GPL-3.0-only)。

作者

cloudfl4re

About

Audit dangerous item use and notify Minecraft server administrators

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages