新增功能
- 无主领地功能 @yangyangzhong82
- 新增冰霜行者冻结冰权限 #250 @yangyangzhong82
问题修复
- 修复玩家可从领地外点击脚手架延伸到领地内 #251 @yangyangzhong82
其他改动
- 优化部分代码 @engsr6982
File SHA256 PLand-windows-x64-devtool.zip 589068383f3fc6c9d329c813f01f8012ac83da089efe1c689285f740f8015d1a PLand-windows-x64-headless.zip 26024fb633a044190289e73e185e33fc78bee504d43fadaafaabbaa645fa446f
其他改动
- 添加繁体中文语言包 #254 @Byjsmc145
- 适配 Bedrock Server v26.51 (LeviLamina v26.51.x) @engsr6982
⚠ 已知问题
- KineticDamageSystemHook 在 26.40 版本下引发崩溃 (默认关闭) #231
此 Hook 失效导致矛冲锋可对实体造成伤害
问题修复
- 修复重力方块掉落权限 #242 @engsr6982
- 修复领地边缘使用发射器可以无视权限向领地内放置流体 #231 @engsr6982
- 修复领地内玩家使用长矛冲锋对实体造成伤害 #231 @engsr6982
- 尝试修复动物+怪物骑士生成 #185 @engsr6982
- 修复在领地边缘有概率无权限放置木门 #244 @engsr6982
其他改动
- 适配 Bedrock Sverver v1.26.40 (LeviLamina v26.40.x) @yangyangzhong82
- 改进生物生成拦截判定 @engsr6982
- 改正tooth.json的仓库链接错误 #246@ShrBox
File SHA256 PLand-windows-x64-headless.zip 745ecdbbb8185c8a52d0267889d74407f7e7cdda10aefd63ad2d218ca3795435 PLand-windows-x64-devtool.zip 22d46d2515533787945cb4a22bd18603c77ffbcd3bb0fbbb043ae597fa6d2f2b
注意: 此版本包含数据库存储格式变更,请务必先备份旧数据再升级
新增功能
- 支持自定义领地边框绘制颜色 @engsr6982 #224
性能优化
- 改进对实体受伤、玩家攻击时的动态实体分组,减少不必要的多次查表并优化调试日志 @engsr6982
- 优化缓存数据回写,降低崩溃丢失数据概率 @engsr6982 #215
- 更换数据库存储格式,降低磁盘占用,提升读写性能 @engsr6982 #215
- 优化事件拦截器热重载逻辑,增量注册/移除监听器,优化重载速度 @engsr6982
其他改动
- 补充遗漏的实体、方块权限配置 @engsr6982 #216 #212
- 改进配置文件合并逻辑 @engsr6982
- 删除一堆脱裤子放屁的代码 @engsr6982
问题修复
- 修复 PC 端选区时有概率多次触发选择 @engsr6982 #228
- 移除不必要的维度校验,修复 DefaultParticle 后端绘制领地范围不显示 @engsr6982
- 修复熄屏下开启 DevTool 工具启动服务端崩溃 @engsr6982 #223
- 修复领地重新选区时删除领地再提交新范围时崩溃 @engsr6982 #235
- 修复创建子领地时删除父领地再购买子领地导致崩溃 @engsr6982
问题修复
- 修复拦截器及权限加载异常:解决因反射损坏导致插件启动时无法识别物品与方块权限规则、引发领地保护失效的问题。 @engsr6982
File SHA256 PLand-windows-x64.zip e88766554ae72eed26323dbd3b4b4abbfd6c0a182c18b3a1cfb6dd68e3d0ba95
其他改动
- 适配 Bedrock Sverver v1.26.10 (LeviLamina v26.10.x) @yangyangzhong82
- 补充拦截器配置 @yangyangzhong82
- 移除 MobHurtHook @yangyangzhong82
File SHA256 PLand-windows-x64.zip 4c4fef30abea11a44f8459da9cb2de253bae3e1cddba4b71741f0a3e3f42b0a5
新增功能
- 租赁模式 @engsr6982 #154
- 数据库快照 @engsr6982 #165
- 添加大型垂滴叶触发权限 @engsr6982 #192
问题修复
- 修复 DevTool 领地编辑器非等宽字体显示错位 @engsr6982
- 提高防抖阈值修复PC端选区时可能出现的多次触发 @engsr6982 #199
性能优化
- 新增领地 Owner、Member 索引优化性能 @engsr6982 #204
其他改动
- 重构配置文件结构 @engsr6982
新增事件:
开发者相关
- PlayerLeaseLandEvent - 玩家租赁领地事件
- PlayerRenewLandEvent - 玩家续租领地事件
- LandStateChangedEvent - 领地状态变更事件
- LandRecycleEvent - 领地被回收事件
- MembersClearedEvent - 领地成员清空事件
本次版本为权限系统重构版本,存在破坏性变更
- 旧版领地权限数据与新版本完全不兼容
- 插件会在启动时自动执行数据迁移
- 由于权限模型发生变化,迁移后的权限可能与旧版行为不完全一致
新增功能
- 新增领地 名称、描述 可配置检查 @engsr6982
- DevTool 新增领地树可视化 @engsr6982
- 管理 GUI:
- 管理玩家表单支持分页和搜索(#129)@engsr6982
- 支持按领地 ID 查找领地 @engsr6982
- 权限系统:
- 区分环境权限与角色权限 #170 @engsr6982
- 成员支持独立权限配置 #170 @engsr6982
- 添加实体拾取物品事件(关联allowMobGrief权限) #171 @engsr6982
- 分离拦截配置(InterceptorConfig.json)和领地配置(Config.json),改进权限映射 #169 @engsr6982
问题修复
- 修复领地最小间距计算错误 @engsr6982
- 修复领地检查错误信息翻译失败 @engsr6982
- 重命名权限语义解决弹射物吞物品问题 #139 @engsr6982
- 修复远程武器攻击领地内实体问题 #177 @engsr6982
- 修复闪电造成领地内方块、实体状态更新 #167 @engsr6982
- 修复领地价格表达式解析失败时可能导致经济异常结算的问题 @engsr6982
- 修复玩家可以无权限放置、取下讲台书本 #143 @engsr6982
- 修复渗浆和盘丝药水在生物死亡后还是能使用 #59 @engsr6982
- 修复漏斗矿车可以吸取领地内物品 #55 @engsr6982
逻辑优化
- 预计算领地层级缓存,优化子领地查询性能 @engsr6982
其他改动
- 领地管理 GUI 新增 创建子领地 按钮 @engsr6982
- 移除 pland set language 命令 @engsr6982
- 移除对 iLand 领地数据转换支持 @engsr6982
- 移除领地描述相关配置与编辑入口(该功能无实际使用场景)#181 @engsr6982
开发者相关
- 重构代码,清理历史代码,引入 Service、pImpl 模式 (#166) @engsr6982
- 调整项目工程结构 @engsr6982
- 改进内置领地表单系统 (#144) @engsr6982
事件更改
本次版本重构了领地事件体系,旧事件已全部移除,不再提供兼容与迁移映射。
请基于以下新增事件重新接入监听逻辑。
- [-] 移除 LandEvent.h 内所有事件 @engsr6982
- [+] 新增 LandResizedEvent 事件 @engsr6982
- [+] 新增 MemberChangedEvent 事件 @engsr6982
- [+] 新增 OwnerChangedEvent 事件 @engsr6982
- [+] 新增 LandRefundFailedEvent 事件 @engsr6982
- [+] 新增 PlayerApplyLandRangeChangeBeforeEvent, PlayerApplyLandRangeChangeAfterEvent 事件 @engsr6982
- [+] 新增 PlayerBuyLandBeforeEvent, PlayerBuyLandAfterEvent 事件 @engsr6982
- [+] 新增 PlayerChangeLandDescBeforeEvent, PlayerChangeLandDescAfterEvent 事件 @engsr6982
- [+] 新增 PlayerChangeLandMemberBeforeEvent, PlayerChangeLandMemberAfterEvent 事件 @engsr6982
- [+] 新增 PlayerChangeLandNameBeforeEvent, PlayerChangeLandNameAfterEvent 事件 @engsr6982
- [+] 新增 PlayerDeleteLandBeforeEvent, PlayerDeleteLandAfterEvent 事件 @engsr6982
- [+] 新增 PlayerEnterLandEvent, PlayerLeaveLandEvent 事件 @engsr6982
- [+] 新增 PlayerRequestChangeLandRangeBeforeEvent, PlayerRequestChangeLandRangeAfterEvent 事件 @engsr6982
- [+] 新增 PlayerTransferLandBeforeEvent, PlayerTransferLandAfterEvent 事件 @engsr6982
- [+] 新增 PlayerRequestCreateLandEvent 事件 @engsr6982
领地数据权限字段变更
以下 v25 字段在 v27 中不再独立存在:
- allowActorDestroy & allowEndermanLeaveBlock -> 合并为 environment.allowMobGrief。
- allowSpecialDamage & allowCustomSpecialDamage -> 合并为 role.allowSpecialEntityDamage。
- useFurnace, useBlastFurnace, useSmoker -> 合并为 role.useFurnaces。
- allowOpenChest, useBarrel, useShulkerBox 等8项 -> 合并为 role.useContainer。
- useCraftingTable, useAnvil 等10项 -> 合并为 role.useWorkstation。
- allowAxePeeled -> 重命名为 role.useAxe。
- allowPickupItem -> 重命名为 role.allowPlayerPickupItem。
- allowAttackDragonEgg -> 重命名为 environment.allowDragonEggTeleport。
本次版本为权限系统重构版本,存在破坏性变更
- 旧版领地权限数据与新版本完全不兼容
- 插件会在启动时自动执行数据迁移
- 由于权限模型发生变化,迁移后的权限可能与旧版行为不完全一致
新增功能
- 新增领地 名称、描述 可配置检查 @engsr6982
- DevTool 新增领地树可视化 @engsr6982
- 管理 GUI:
- 管理玩家表单支持分页和搜索(#129)@engsr6982
- 支持按领地 ID 查找领地 @engsr6982
- 权限系统:
- 区分环境权限与角色权限 #170 @engsr6982
- 成员支持独立权限配置 #170 @engsr6982
- 添加实体拾取物品事件(关联allowMobGrief权限) #171 @engsr6982
- 分离拦截配置(InterceptorConfig.json)和领地配置(Config.json),改进权限映射 #169 @engsr6982
问题修复
- 修复领地最小间距计算错误 @engsr6982
- 修复领地检查错误信息翻译失败 @engsr6982
- 重命名权限语义解决弹射物吞物品问题 #139 @engsr6982
- 修复远程武器攻击领地内实体问题 #177 @engsr6982
- 修复闪电造成领地内方块、实体状态更新 #167 @engsr6982
- 修复领地价格表达式解析失败时可能导致经济异常结算的问题 @engsr6982
- 修复玩家可以无权限放置、取下讲台书本 #143 @engsr6982
- 修复渗浆和盘丝药水在生物死亡后还是能使用 #59 @engsr6982
- 修复漏斗矿车可以吸取领地内物品 #55 @engsr6982
逻辑优化
- 预计算领地层级缓存,优化子领地查询性能 @engsr6982
其他改动
- 领地管理 GUI 新增 创建子领地 按钮 @engsr6982
- 移除 pland set language 命令 @engsr6982
- 移除对 iLand 领地数据转换支持 @engsr6982
- 移除领地描述相关配置与编辑入口(该功能无实际使用场景)#181 @engsr6982
开发者相关
- 重构代码,清理历史代码,引入 Service、pImpl 模式 (#166) @engsr6982
- 调整项目工程结构 @engsr6982
- 改进内置领地表单系统 (#144) @engsr6982
事件更改
本次版本重构了领地事件体系,旧事件已全部移除,不再提供兼容与迁移映射。
请基于以下新增事件重新接入监听逻辑。
- [-] 移除 LandEvent.h 内所有事件 @engsr6982
- [+] 新增 LandResizedEvent 事件 @engsr6982
- [+] 新增 MemberChangedEvent 事件 @engsr6982
- [+] 新增 OwnerChangedEvent 事件 @engsr6982
- [+] 新增 LandRefundFailedEvent 事件 @engsr6982
- [+] 新增 PlayerApplyLandRangeChangeBeforeEvent, PlayerApplyLandRangeChangeAfterEvent 事件 @engsr6982
- [+] 新增 PlayerBuyLandBeforeEvent, PlayerBuyLandAfterEvent 事件 @engsr6982
- [+] 新增 PlayerChangeLandDescBeforeEvent, PlayerChangeLandDescAfterEvent 事件 @engsr6982
- [+] 新增 PlayerChangeLandMemberBeforeEvent, PlayerChangeLandMemberAfterEvent 事件 @engsr6982
- [+] 新增 PlayerChangeLandNameBeforeEvent, PlayerChangeLandNameAfterEvent 事件 @engsr6982
- [+] 新增 PlayerDeleteLandBeforeEvent, PlayerDeleteLandAfterEvent 事件 @engsr6982
- [+] 新增 PlayerEnterLandEvent, PlayerLeaveLandEvent 事件 @engsr6982
- [+] 新增 PlayerRequestChangeLandRangeBeforeEvent, PlayerRequestChangeLandRangeAfterEvent 事件 @engsr6982
- [+] 新增 PlayerTransferLandBeforeEvent, PlayerTransferLandAfterEvent 事件 @engsr6982
- [+] 新增 PlayerRequestCreateLandEvent 事件 @engsr6982
领地数据权限字段变更
以下 v25 字段在 v27 中不再独立存在:
- allowActorDestroy & allowEndermanLeaveBlock -> 合并为 environment.allowMobGrief。
- allowSpecialDamage & allowCustomSpecialDamage -> 合并为 role.allowSpecialEntityDamage。
- useFurnace, useBlastFurnace, useSmoker -> 合并为 role.useFurnaces。
- allowOpenChest, useBarrel, useShulkerBox 等8项 -> 合并为 role.useContainer。
- useCraftingTable, useAnvil 等10项 -> 合并为 role.useWorkstation。
- allowAxePeeled -> 重命名为 role.useAxe。
- allowPickupItem -> 重命名为 role.allowPlayerPickupItem。
- allowAttackDragonEgg -> 重命名为 environment.allowDragonEggTeleport。