资源图标

转载 开源 经济 BetterCallCap 1.0.0

没有下载权限
版权类型
转载
插件中文名
BetterCallCap
插件英文名
BetterCallCap
原帖地址
https://modrinth.com/project/JXnHFOra
支持的核心 [服务端]
  1. Folia
语言支持
  1. 中文(简体)
适配Minecraft版本 [Java]
  1. 1.21
[MD]
# BetterCallCap

**一套以律师为核心、而非以警察为中心的角色扮演司法系统。**

大家好!我是 Cap,一名和网上许多人一样普通的技术从业者。之所以想在开头说明这个插件的来由,是因为我非常喜欢看律政剧。它们并不真实反映法律实践,但确实很有趣。说真的,谁不想成为像 Saul Goodman 那样狡猾又张扬的律师,或者像 Harvey Specter 那样的顶尖高手呢?

后来,我有机会为自己和朋友运营的服务器开发这个项目。插件最初测试时就给我们带来了不少乐趣,因此我想把它分享给大家,希望你们也能和朋友一起玩得开心。毕竟,许多司法类插件都已经很久没有更新了。

总之,别一边喝药水一边打架;但如果真打起来了,**那就叫 Cap!**

---

## 玩家可以做什么

### 加入律师协会

在指定执业领域提交申请,缴纳执照费用,自行设定委托费用与每日费率。

如果行为不当,律师可能被吊销执照;如果认为处罚不公,也可以交由同行投票决定是否解除停职。

### 提起案件

你可以依据在 `config.yml` 中自定义的刑法条款提出刑事指控,也可以就指定金额提起民事索赔。

当事人可以委托律师代理,也可以自行出庭。

### 进行诉讼

提交证物,将实体物品交由法院保管,并对对方证据提出异议。法官可以支持或驳回异议。

所有被法院采纳的证物都会参与权重计算;被排除的证物则不具备任何效力。

### 达成和解

和解方案可包含金钱、监禁时间或一箱物品,也可以要求对方提供同类条件。

同一份和解协议可以自由组合多种内容。例如:“我支付五百元,而你服刑半小时”可以作为一项完整和解条款。协议需要三方签署,且其中任意一方都可以终止协议。

### 举行听证会

在拥有真实座位的法庭房间中召开庭审。法官负责授予或收回发言权;未获发言权的人员无法发言。

庭审开始后,所有人员都会被限制在法庭内,直至休庭。

### 作出判决

法院可作出有罪、无罪或审判无效的裁决,并在指控条款允许的范围内判处罚金和监禁期限。

判决作出后,当事人还可提出上诉。

### 执行刑罚

插件提供具有区域限制功能的牢房,并可选配监狱劳动系统:玩家完成实际劳动后可缩短服刑时间。

---

## 核心特色

### 所有操作均可点击完成

`/bcc menu` 是插件的完整图形界面:十个入口中共包含 **77 项操作**。

案件、证物、牢房和律师均通过列表选择,无需手动记忆证物编号。罚金与刑期可通过按钮调整。唯一仍需手动输入的内容是陈述理由:界面会关闭,并在聊天栏中提示你输入。

菜单按钮不会重新实现任何功能,而是自动拼装并执行对应命令。因此,权限检查、参数验证、拒绝提示和审计记录都与直接输入命令时完全一致,不会产生重复逻辑。

图形界面无法执行任何玩家本来无法通过命令执行的操作。

### 刑法由你定义

指控条款是数据,而不是写死在代码中的逻辑。每项指控包含名称、罚金范围、监禁期限范围,以及可选的权限节点,用于将该条款限定给工作人员使用:

```yaml
charges:
theft:
display: charge.theft
min-fine: 50.0
max-fine: 500.0
min-jail: 5m
max-jail: 30m
murder:
display: charge.murder
min-fine: 1000.0
max-fine: 10000.0
min-jail: 1h
max-jail: 6h
permission: bettercallcap.charge.murder
```

执业领域也采用相同方式配置。服务器中的法律规则完全由配置决定。

---

## 安装

1. 将插件 JAR 文件放入 `plugins/`,然后启动服务器。插件会自动创建 SQLite 数据库,无需额外设置即可运行。
2. 建造法庭:站在法庭应设置的位置,执行 `/bcc court set <name>`;随后使用 `/bcc court seat <name> <role>` 设置法官席、当事人席和旁听席。
3. 建造一个或多个牢房:`/bcc jail cell set <name>`。
4. 打开 `config.yml`,编写服务器的刑法条款。

### 前置要求

插件需要 **Paper** 服务端,也兼容 Purpur 与 Folia。

插件使用了 Paper 的 Brigadier 命令 API 和 Adventure 聊天事件,因此**无法在 Spigot 或 CraftBukkit 上运行**。

### 可选依赖

- **Vault**:提供经济系统支持。未安装时,罚金与各类费用会被自动跳过。
- **PlaceholderAPI**:提供八个占位符:
`reputation`、`winrate`、`active_cases`、`is_lawyer`、`specialization`、`jailed`、`jail_remaining`、`convictions`。
- **Discord Webhook**:可推送案件立案、判决及吊销执照等通知。

---

## 配置与权限

插件提供 13 个配置区段,涵盖以下内容:

- 听证会时长;
- 区域限制;
- 上诉期限与上诉费用;
- 诉讼时效;
- 每日计费;
- 律师协会纪律;
- 司法费用;
- 声望权重;
- 监狱劳动系统。

执行 `/bcc reload` 可重新读取配置文件、刑法条款和语言文件。

插件共提供 88 个权限节点,分为两组:

- `bettercallcap.player.*`:默认授予普通玩家,涵盖普通公民可执行的全部操作;
- `bettercallcap.staff.*`:仅限管理员,包含主持庭审、裁定证据及管理案件登记册等功能。

插件内置 **英语** 和 **意大利语**。如需新增语言,只需复制一份语言文件进行翻译即可。

---

## 为服务器资产安全而设计

该插件会传送玩家、处理物品并转移资金,因此针对这些高风险操作进行了专门设计:

- 共有 **3,584 项测试**,行覆盖率为 98.2%,分支覆盖率为 95.1%,并由构建流程强制执行。
- **资金不会凭空消失。** 每笔付款都会经过托管状态机处理,并在服务器启动时进行对账。即使服务器在转账过程中崩溃,也只会留下管理员可见的记录,而不会导致玩家余额出现无故损失。
- **物品不会被吞没。** 作为证物保管或用于和解担保的物品都会被记录;若案件结束时物品所有者不在线,物品将在其下次登录时返还。
- **所有关键操作均会审计。** 审计记录会以追加写入的 JSONL 日志保存,且独立于数据库。
- **支持 Folia。** 代码库中不包含任何 `BukkitScheduler`。

---

## 源代码

[github.com/capvto/BetterCallCap](https://github.com/capvto/BetterCallCap)

许可证:GPL-3.0。欢迎提交 Bug 报告和拉取请求。
[/MD]
作者
cacca
下载
0
查看
1
首次发布
最后更新
评分
0.00 星 0 星

来自cacca的更多资源

后退
顶部