• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
[Dungeon]基于Nukkit-MOT服务器的地下城RPG插件

原创 插件 [Dungeon]基于Nukkit-MOT服务器的地下城RPG插件 1.0.3

完成注册/登录后下载
[MD] ## 表达式计算教程 插件使用 [exp4j](https://github.com/fasseg/exp4j) 表达式引擎,支持在配置文件中编写数学公式来自定义游戏数值,无需修改代码即可调整平衡性。 ### 可用变量 | 变量 | 类型 | 说明 | |------|------|------| | `level` | double | 等级(怪物等级 / 玩家等级 / 装备等级 / 等级差,取决于公式) | | `count` | double | 物品原始数量(仅材料掉落公式可用) | | `damage` | double | 原始伤害(预留变量) | | `diff` | double | 等级差(预留变量) | ### 支持的运算符与函数 - **基础运算**: `+`, `-`, `*`, `/` - **幂运算**: `^`(如 `1.2 ^ level`) - **取模**: `%` - **数学函数**: `abs()`, `sqrt()`, `log()`, `sin()`, `cos()`, `tan()`, `min()`, `max()` 等 - **括号**: `()` 控制运算优先级 ### 公式配置一览 | 配置键 | 可用变量 | 默认公式 | 说明 | |--------|---------|---------|------| | `等级材料掉落公式` | `level`, `count` | `count * level * 0.5` | 额外掉落数量 = 公式结果 | | `等级击杀经验公式` | `level` | `level * 10` | 击杀获得经验 = 公式结果 | | `玩家升级经验公式` | `level` | `1000 * 1.2 ^ level` | 升级所需经验 = 公式结果 | | `玩家升级经济公式` | `level` | `10000 * 1.2 ^ level` | 升级所需经济 = 公式结果 | | `装备升级材料公式` | `level` | `1.2 ^ level` | 实际材料 = 基础材料数 × 公式结果 | | `装备升级经济公式` | `level` | `1000 * 1.2 ^ level` | 升级所需经济 = 公式结果 | | `剑每级提升攻击公式` | `level` | `level * 2` | 额外攻击力 = 公式结果 | | `盔甲每级提升血量公式` | `level` | `level * 2` | 额外血量 = 公式结果(每件护甲累加) | | `等级压制公式` | `level` | `1 + level * 0.2` | 实际伤害 = 原始伤害 × 公式结果 | ### 公式示例 ```yaml # 线性增长:每级增加 10 经验 等级击杀经验公式: "level * 10" # 指数增长:基础 1000,每级乘以 1.2 倍 玩家升级经验公式: "1000 * 1.2 ^ level" # 材料掉落与等级和原始数量都相关 等级材料掉落公式: "count * level * 0.5" # 等级压制:等级差为正时增伤,为负时减伤 # 当 level(等级差) = 5 时,倍率 = 1 + 5 * 0.2 = 2.0 (双倍伤害) # 当 level(等级差) = -3 时,倍率 = 1 + (-3) * 0.2 = 0.4 (减伤) 等级压制公式: "1 + level * 0.2" # 使用数学函数:限制压制倍率在 0.5~3.0 之间 等级压制公式: "min(3.0, max(0.5, 1 + level * 0.2))" # 使用对数增长,避免高等级数值膨胀过大 玩家升级经验公式: "1000 * (1 + log(level + 1))" ``` > **注意**: 表达式计算出错时,插件会在控制台输出错误日志并返回 0。请确保公式语法正确。 [/MD]
fix: 同步实体操作并优化刷怪清理逻辑
fix: 使用FileInputStream和指定编码读取配置文件
后退
顶部 底部