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

Python 弧光核心:自用all in one简单核心插件系统 v0.8.5

完成注册/登录后下载
[MD] ### v0.8.5(当前版本) - ✅ **公共领地拦截生物生成修复**:原先仅取消 EndStone `Mob` 类型,模组生物常被包成普通 Actor 因而漏拦。开启 `block_actor_spawn` 后改为取消该公共领地内**除玩家外的全部实体**生成 - ✅ **跨服玩法配置以主服为准**:远程客户端按已开启的同步类别,从同步中心拉取并覆盖对应 `core_setting.yml` 项(初始金钱、公会升级消耗、签到存款、传送/圈地价格等)。主服改配置或重载后推送;从服本地修改这些键会被主服覆盖。共享文件模式不自动同步配置 - ✅ **公会 API 补齐**:按公会 id / 玩家 xuid 查询与单独增减公共、私人贡献点(`api_get_player_guild_id`、`api_get_guild_info`、`api_get_guild_total_contribution`、`api_change_guild_total_contribution`、`api_get_member_guild_contribution`、`api_change_member_guild_contribution`、`api_list_guild_members`) - ✅ **其它系统对外 API**:经济 / 头衔 / 领地 / 传送 / 玩家解析统一支持 **xuid**;新增 `api_adjust_player_money`、财富排名、头衔列表与佩戴查询、玩家/公会领地、静默领地权限检查、坐标/Home/Warp 传送、`api_get_player_name_by_xuid` 等。旧签名保持兼容 [/MD]
[MD] ### v0.8.2(当前版本) - ✅ **公共领地三级优先级**:`lands.public_priority`(1/2/3,**3 最高**,默认 1)。高优先级公共可覆盖低优先级;同级不可重叠。位置生效顺序:**私人/公会 > 公共(3>2>1)**;私人子领地仍先于父领地。创建公共领地时 OP 选择等级;OP 公共领地设置可改级(升高时校验冲突) - ✅ **公共领地拦截生物生成**:`block_actor_spawn`(默认关闭);开启后经 `ActorSpawnEvent` 取消该公共领地内 `Mob`(不含玩家)生成 - ✅ **传送点校验修复**:设置领地传送点改为按目标领地三维 AABB(含维度/Y)判定,不再用「脚下生效领地 ID」比较,避免嵌套私人地/高层公共覆盖时误报「不在领地内」 - ✅ **领地外接 API**:`api_if_position_in_land` 适配三维 Y、维度规范化与多层生效;新增 **`api_resolve_land_at_position`**、**`api_list_lands_at_position`**。维度支持规范 ID(如 `minecraft:overworld`)及自定义维度 - ✅ **跨维传送指令修复**:`/execute in` 对原版三维度使用短名(`overworld` / `nether` / `the_end`),去掉 `minecraft:`;自定义维度仍使用完整 `namespace:dimension_identifier` - ✅ **版本号方案**:历史版本号由 `0.0.x` 调整为 `0.x`(如原 `0.0.8.1` → `0.8.1`) ### v0.8.1 - ✅ **跨服数据同步**:游戏服 **远程客户端**(**`ENABLE_SYNC_CLIENT`**)与 **共享文件路径**(**`PLAYER_DATABASE_PATH`** 等)**互斥**;远程模式支持分项开关 **`SYNC_CLIENT_SYNC_PLAYER` / `_ECONOMY` / `_TITLE` / `_GUILD`**。新增 **`sync_client.py`**、**`sync_config.py`**;同步中心 **`ENABLE_SYNC_SERVER`** 可选开启。详见上文「跨服数据同步」 - ✅ **爆炸监听修复**:修复 **`ActorExplodeEvent`** 在 **`BLOCK_ALL_EXPLOSIONS=False`** 时按领地保护的流程错误。改为用 **`block.x/y/z`** 直接取坐标;对需保留方块通过 **`get_block_at`** 重建 **`block_list`** 再写回;写回失败时回退为取消整次爆炸 [/MD]
[MD] ### v0.0.4.2 (当前版本) - ✅ **每日签到机制** - 数据库字段:`total_checkin_count`(累计次数)、`last_checkin_at`(最近一次签到时间,用于当日排序) - 随机物品条数:支持每日在 `CHECKIN_REWARD_PICK_MIN`~`CHECKIN_REWARD_PICK_MAX` 之间随机;未配置区间时仍可读旧项 `CHECKIN_REWARD_PICK_COUNT` - 签到成功后全服广播:完成提示 + **今日签到先后**(人数少时列全员;人数多时拆成「最早前 10」「最晚前 10」)+ **累计签到榜前 10** - ✅ **签到排行榜展示**:聊天侧将标题与各名次 **分行广播**,语言文件中名次分隔改为换行,避免一长串顿号连在一起 - ✅ **OP 签到管理页**:入口总览当前存款、随机条数区间、奖励池条目数;**存款与随机条数** 使用弹窗表单一次保存;**物品奖励列表** 为编号列表,可逐条进入 **编辑 / 删除(含确认)** 或 **新增** 条目,无需手改 JSON - ✅ **玩家间传送请求**:TPA / TPHERE 发起后,目标玩家 **自动收到 Modal 弹窗**,可一键同意或拒绝(仍保留聊天提示与菜单内「处理待处理请求」) [/MD]
[MD] ### v0.0.4.1 - 🔧 **随机传送缓降时长**:随机传送落地后给予的缓降(羽落)效果由 **10 秒** 调整为 **30 秒**(`/effect ... slow_falling`)。 - 🐛 **按玩家名解析 XUID(跨版本 / 插件导致名称大小写不一致)** - **现象**:与其它版本或第三方插件混用后,运行时传入的玩家名可能被规范为**全小写**(或带首尾空白),而数据库 `player_basic_info.name` 中仍为进服时写入的原始大小写;原先用 `name = ?` 做精确匹配时,SQLite 对英文**区分大小写**,会查不到行,导致 `get_player_xuid_by_name` 返回空,进而经济扣款、对外 API 加减款、传送扣费等依赖「名字 → XUID」的路径失败(例如错误码 `BANK15` / `BANK16`)。 - **修复**:优先在**在线玩家列表**中按「去空白 + 大小写不敏感」匹配名称得到 XUID;否则对数据库使用 `LOWER(TRIM(name))` 与参数做同等规范化后再匹配;`get_offline_player_op_status` 等与「按名查库」相关的逻辑已统一走上述解析。 [/MD]
[MD] ### v0.0.4.0 - ✅ **成就系统** - 新模块 `AchievementSystem.py`:击杀/破坏统计、成就条件表、达成记录;OP 面板「成就管理」可配置条件并联动头衔解锁与奖励 - ✅ **财富榜首富头衔** - 配置 `RICHEST_TITLE_NAME`;金钱变动后刷新财富榜第一;首富易主时撤销旧头衔并授予新首富;离线玩家通过 xuid 写入解锁记录 - ✅ **头衔体验** - 解锁头衔时若当前未佩戴任何头衔,自动佩戴新头衔;`PlayerDeathEvent` 与 `ActorDeathEvent` 分离为独立事件处理函数,避免原方法名冲突 - ✅ **每日签到** - `last_checkin_date`、存款与加权随机物品;主菜单「每日签到」;OP「签到配置」 - ✅ **击杀生物金钱奖励** - `kill_reward.txt`;未配置类型自动追加 `=0`;金额大于 0 才提示;显示名与 `entity_display_name.txt` 联动 - ✅ **OP 面板重构** - 入口顺序:重载配置 → 工具 → 经济管理 → 领地管理 → 传送管理 → 成就管理 → 签到配置 → 邀请奖励 → 头衔管理 - 传送管理:公共 Warp 管理 + 传送参数表单(原传送菜单内 OP 管理入口已移至此处) - 领地管理、工具二级菜单;经济管理含在线加减款与经济参数(初始存款、排行榜隐藏 OP、首富头衔名) - ✅ **配置与重载** - OP 重载时同步 `entity_display_name.txt`、`kill_reward.txt` [/MD]
[MD] ### v0.0.2.2 - ✅ **三维领地与圈地流程** - 领地改为三维:创建时输入 min/max X/Y/Z,按体积(方块数)× 地价计费;默认地价 100/格,新玩家免费格子 1000 - 命令 `/landpos1`、`/landpos2` 记录两点 XYZ 并自动排序为最小/最大坐标,粒子显示立方体边界,可用 `/landbuy` 或 UI 购买 - 创建领地表单支持预填/修改坐标,提交后显示体积与费用,可「重新选择坐标」或购买 - 数据库 `lands` 新增 `min_y`、`max_y`,旧数据迁移为 0~255;重叠检测先判 Y 再判 XZ - ✅ **子领地系统** - 领地主人可在领地详情中「管理子领地」:创建三维子领地、重命名、删除、管理授权 - 子领地不得超出父领地、不得与同父下其他子领地重叠;交互/破坏时先判子领地权限,再判父领地 - 公共领地无子领地入口(私人领地才支持子领地) - ✅ **公共领地「允许圈私人领地」** - 公共领地设置中新增「允许圈私人领地」开关(OP 在公共领地设置里配置) - 开启后,圈地重叠检测会忽略该公共领地,玩家可在其内购买私人领地;同一位置优先按私人领地权限判定 - ✅ **领地数据与退款** - `owner_paid_money` 仅在建表升级**首次添加该列**时按面积×地价回填;列已存在绝不重算(修复此前因 `execute()` 吞异常导致每次启动重算的 bug,改用 `_column_exists` 判断) - 领地设为公共领地时自动将 `owner_paid_money` 置为 0 - ✅ **创建领地重叠提示** - 与已有领地重叠时,提示「与以下领地重叠:#ID 名称, …」 - ✅ **OP 领地与区块** - OP 面板「管理脚下领地」:直接取脚下私人领地并进入该领地管理 - OP 领地详情中「强制删除领地」:私人领地全额退款给主人,公共领地无退款 - OP 面板「重建领地区块映射」:删除所有 `chunk_lands_*` 表后按当前 `lands` 表重新生成,便于在数据库里改领地边界后一键同步 - 区块映射逻辑抽成 `_register_land_to_chunk_mapping`,创建领地与重建映射共用 - ✅ **OP 执行指令** - 输入框留空并确定时执行**上一条指令**;输入框不再预填上次命令,保持空白 ### v0.0.2.1 — 全新小版本 - ✅ **我的信息 & 邀请系统** - 主菜单新增「我的信息」按钮,展示:名字、XUID、存款、领地数、剩余免费领地格子、邀请人、待领取邀请奖励次数 - 数据库 `player_basic_info` 新增 `inviter_xuid`(邀请人)、`pending_invite_reward_times`(待领取邀请奖励次数) - 未填写邀请人时可「填写邀请人」;填写后当场为双方发放奖励(被邀请人即时发放,邀请人累加待领取) - 有待领取奖励时可「领取邀请奖励」;玩家上线时若有待领取会提示 - OP 面板新增「邀请奖励配置」:可设置物资(物品 ID + 数量)、金钱、免费领地格子数奖励 - ✅ **经济系统升级:金钱精确到分** - 金钱存储由整数改为 `REAL`(float),精确到分(两位小数) - 旧数据库自动升级:`player_economy.money` 从 INTEGER 迁移为 REAL - 新增 `_round_money()` / `_format_money_display()`,界面统一两位小数显示 - 转账、OP 加减款、初始金钱、邀请奖励等均支持小数;经济相关 API 返回/接受 `float` - ✅ **OP 领地管理增强** - 在「管理所有领地」中打开任意领地后,提供完整管理入口: - **传送前往**:传送到该领地传送点(不扣费) - **强制修改领地名称**:任意领地均可修改名称(不限于公共领地) - **管理授权**:添加/移除授权玩家,与领地主人的授权管理逻辑一致 - 公共领地仍保留「公共领地设置」「设为公共领地」等入口 - ✅ **公共领地白名单保护生物** - 配置项 `PUBLIC_LAND_PROTECTED_ENTITIES`:逗号分隔的生物类型 ID(如 `minecraft:villager,minecraft:iron_golem`) - 公共领地内:若「禁止生物伤害」则一律拦截所有生物伤害;若「开放生物伤害」则仅保护白名单内生物,其他生物可被伤害 - 设为公共领地时默认开放:方块互动、生物互动、生物伤害 - ✅ **OP 重载配置** - OP 面板新增「重载配置」按钮,可立即重新载入: - 配置文件(`core_setting.yml`)并重新应用缓存项(领地价格、传送费用、公告间隔等) - 广播列表(`broadcast.txt`) - 语言文件(当前语言) - 迎新指令/迎新文案在下次新人进服时自动使用最新文件;公告与清道夫间隔变更需重启服务器后生效 - ✅ **执行指令记住上次命令** - 每位 OP 执行过的指令会记录为「上一次命令」 - 执行指令面板输入框默认显示上次命令;留空直接确定则使用当前记录点(@p1/@p2)重复执行上次命令 - 便于重复执行 fill 等命令:选点后直接点执行即可 [/MD]
[MD] - ✅ **金钱管理 UI 重构** - 更安全便捷的管理方式 - 将 `addmoney` 和 `removemoney` 命令改为 UI 菜单形式 - 集成到 OP 面板,仅管理员可访问 - 三步式操作流程:选择操作类型 → 选择玩家 → 输入金额 - 选择玩家时显示当前余额,方便操作 - 完整的输入验证和错误提示 - 移除了命令形式,提升安全性 [/MD]
[MD] - ✅ **随机传送系统** - 全新的探险功能 - 可配置的随机传送中心点和半径 - 在指定范围内随机生成传送坐标 - 自动附加10秒羽落效果,防止玩家摔死 - 配置项:`ENABLE_RANDOM_TELEPORT`(开关)、`RANDOM_TELEPORT_CENTER_X/Z`(中心点)、`RANDOM_TELEPORT_RADIUS`(半径) - ✅ **传送付费系统** - 灵活的经济控制 - 支持所有传送类型独立收费配置 - 公共传送点收费 (`TELEPORT_COST_PUBLIC_WARP`) - 私人传送点收费 (`TELEPORT_COST_HOME`) - 领地传送收费 (`TELEPORT_COST_LAND`) - 死亡地点传送收费 (`TELEPORT_COST_DEATH_LOCATION`) - 随机传送收费 (`TELEPORT_COST_RANDOM`) - 玩家互传收费 (`TELEPORT_COST_PLAYER`) - 传送前自动检查余额,余额不足时阻止传送 - 传送按钮自动显示费用(仅当费用>0时) - 设置为0表示免费传送 [/MD]
[MD] - ✅ **死亡消息系统升级** - 全新的死亡通知机制 - **幽默死亡原因翻译** - 为各种死亡原因添加了有趣的翻译 - 摔落 → "验证了牛顿第一定律" - 溺水 → "明白了学游泳的重要性" - 岩浆 → "体验了岩浆浴" - 火焰 → "玩火自焚" - 以及其他各种死亡原因的幽默翻译 - **维度名称本地化** - 自动翻译维度名称 - Overworld → 主世界 - Nether → 下界 - TheEnd → 末地 - **生物攻击者显示** - 显示导致玩家死亡的生物名称 - 支持显示生物名称(如"iron_golem") - 智能消息格式:被生物杀死时显示"被 XXX 杀死了" - **消息格式优化** - 三种灵活的消息格式 - 基础死亡消息(无原因) - 包含死亡原因的消息 - 包含生物攻击者的消息 - **LanguageManager集成** - 使用统一的语言管理器 - 所有翻译条目通过语言文件管理 - 支持动态扩展新的死亡原因翻译 - **QQ群集成** - 自动发送死亡消息到QQ群 - 游戏内和QQ群同步显示死亡信息 - 支持完整的死亡信息格式化 - **代码兼容性修复** - 修复字符串格式化问题 - 统一使用单引号包裹f-string,双引号用于内部字符串,提升代码兼容性,支持了低于Python3.13版本的Python环境 [/MD]
[MD] - ✅ **领地生物保护系统** - 全新的生物保护机制 - **生物互动保护** - 可控制领地内是否允许与生物进行交互 - **生物攻击保护** - 可控制领地内是否允许攻击生物 - **智能权限验证** - 只有领地主人和授权用户可以执行受保护的操作 - **完整UI支持** - 在领地设置中提供便捷的开关控制 - **数据库自动升级** - 为现有领地自动添加新的保护字段 - **多语言支持** - 完整的中文界面和提示信息 - ✅ **别踩白块小游戏设施适配** - 智能游戏设施保护机制 - **设施识别** - 自动识别别踩白块小游戏设施方块,避免误拦截 - **方块破坏保护** - 在方块破坏事件中优先检查是否为DTWT设施,允许正常游戏操作 - **方块交互保护** - 在方块交互事件中跳过DTWT设施的权限检查,确保游戏正常运行 - **插件联动** - 与arc_dtwt插件无缝集成,提供完整的游戏体验 - **智能检测** - 使用DTWT插件的API接口判断方块是否为游戏设施起始方块 - ✅ **股票系统适配** - 新增up_and_down插件集成支持 - 在主菜单中新增"股票市场"按钮,玩家可直接访问股票交易功能 - 提供便捷的股票系统入口,简化玩家投资操作流程 - 自动检测up_and_down插件是否安装,动态显示股票功能 [/MD]
后退
顶部 底部