YiyunCEfurniture - 专为CraftEngine设计的自定义家具商城插件 | 支持Folia | 稳定更新中

原创 工具 娱乐 YiyunCEfurniture - 专为CraftEngine设计的自定义家具商城插件 | 支持Folia | 稳定更新中 v1.6.3

完成注册/登录后下载
[MD] - 修复启动时,gui.yml生成的bug [/MD]
[MD] - 修复默认GUI的一点问题 [/MD]
[MD] - 更新CE依赖版本,更新为CE26.8,不再支持低于26.8版本的CE [/MD]
[MD] - 金币余额统一按整数显示,不再出现过长的小数部分 - 余额取整时不会向上增加,避免界面显示高于玩家实际可用余额 - 商城视线提示、购买菜单、购买结果、余额不足提示和信息命令同步使用整数余额 - 支持直接写 material: 'ce:命名空间:id',例如 material: 'ce:yiyun:menu_icon' [/MD]
[MD] - 进行了大量性能优化和完善 - GUI再次进行了完善,全面支持客制化,支持CEUI - 修复 FoliaLib 提示“调度了 0 tick 延迟任务”的警告。 - 所有小于等于 0 tick 的延迟或周期会自动规范为 1 tick,避免无效调度参数。 - 修复玩家看向部分 CraftEngine block 类型家具时不显示 ActionBar 的问题。 - 修复无碰撞箱、可穿过的装饰方块无法被家具提示射线命中的问题。 - 修复前方存在无碰撞 CraftEngine 方块时,可能错误识别后方实体家具的问题。 - 修复虚拟碰撞箱家具回退检测可能穿过前方方块的问题。 - 方块检测改为采用与 CraftEngine 26.8 一致的 OUTLINE 选择轮廓语义。 - 射线检测不再忽略可穿过方块,使装饰类、细小模型类方块也能正常显示购买提示。 - 家具距离改为根据实际射线命中点计算,提高方块家具与实体家具同时存在时的目标选择准确性。 - 增强视线遮挡判断,避免隔着墙体或装饰方块显示后方家具的 ActionBar。 - 增加非法、非有限和非正数射线距离防护。 - 命中点数据缺失时自动回退到方块中心距离,避免提示任务异常中断。 [/MD]
[MD] 插件已从原来的双模式购买逻辑,重构为统一的“视线提示 + 蹲下左键打开批量购买 GUI”流程,版本保持为 1.5.0。 交互与性能 - 修复普通玩家打开购买界面反应慢、偶尔无法打开的问题。 - 管理员与普通玩家现在走相同的家具识别和 GUI 打开流程。 - 统一处理 CraftEngine 家具、自定义方块和直接家具实体交互。 - 加入交互冷却,避免一次点击被多个监听器重复处理。 - 增加玩家权限、商城区域、商品状态和线程归属检查。 - 完善 Folia/FoliaLib 调度,避免跨区域线程直接操作玩家或 GUI。 - 默认视线检测间隔调整为 2 ticks,降低提示延迟。 - Tooltip 可以关闭,但关闭后仍可通过蹲下左键购买。 GUI 全面重构 购买界面调整为 45 格布局,包含: - 家具实物预览和家具 ID。 - 玩家当前余额与购买后余额。 - 商品单价。 - 当前购买数量。 - 订单总价。 - -10、-1、+1、+10 数量按钮。 - 五个数量快捷按钮,默认 1、8、16、32、64。 - 自动选择当前最大可购买数量。 - 取消和确认购买按钮。 - 余额不足、背包不足、商品失效等独立按钮状态。 - 价格变化后自动刷新订单,并要求玩家重新确认。 数量范围、初始数量、快捷数量和所有 GUI 槽位都可以通过 config.yml 调整。 批量购买系统 - 新增 PurchaseQuote 订单报价模型。 - 统一计算单价、数量、总价、余额和购买后余额。 - 同时计算余额最多可买数量、背包最多容纳数量及最终最大购买量。 - 支持一次购买多个家具。 - 超过单组堆叠上限时自动拆分物品堆。 - 下单前和确认时都会重新检查价格、余额、商品和背包容量。 - 防止同一玩家同时提交多个订单。 - API 和购买事件现在支持数量、单价与总价。 - 外部插件修改事件数量或价格后,会再次执行合法性验证。 交易安全 - 扣款前检查余额和订单参数。 - 使用模拟背包计算,避免付款后才发现放不下。 - 发货失败时恢复发货前的背包内容。 - 背包不足或发货失败时自动尝试退款。 - 对无效价格、非有限数值和异常事件参数进行拦截。 - 记录玩家、家具、数量、总价、货币和失败原因。 - 交易日志继续写入 transactions.log。 配置迁移 主配置版本升级至 v3,迁移功能经过完整加固: - 启动时先检测配置版本,再执行新版校验。 - 修复 v2 的 gui.size: 27 在迁移前被误报为错误的问题。 - 迁移前按原始字节生成唯一时间戳备份。 - 空配置和 YAML 损坏配置也会先备份。 - 在临时文件中完成合并与校验。 - 校验通过后再原子替换正式 config.yml。 - 写入失败时旧配置保持不变。 - 保留经济、提示、音效、权限和自定义货币名称等有效值。 - 类型不匹配的旧值自动回退到新版默认值。 - 删除 interaction-mode 和旧版 GUI 按钮结构。 - 自动加入数量购买和新版 GUI 配置。 - 迁移后固定使用 45 格布局。 - 保留新版配置说明注释。 - 已是 v3 的配置不会重复迁移或重复生成备份。 你提供的实际 Folia 启动日志也确认 v2 到 v3 迁移成功,插件能够正常启用。 提示文本 购买成功提示现在会显示完整订单信息,例如: [家具商城] 购买成功 | 长椅 x8 | 支付 200 金币 | 余额 800 金币 新增或完善的提示包括: - 商城未开放。 - 没有使用权限。 - 不在商城区域。 - 商品已下架或失效。 - 背包无法容纳指定数量。 - 余额不足、当前余额和所差金额。 - 会话过期。 - 商品信息变化。 - 商品价格变化。 - 扣款失败。 - 发货失败及退款提示。 购买消息支持 {furniture}、{amount}、{unit_price}、{total}、{balance}、{shortfall} 和 {currency}。 旧版官方默认消息会在内存中自动升级,管理员自定义消息不会被覆盖。 注:如果实在有问题那就重新生成一下配置文件 [/MD]
[MD] - 修复在商城范围外,指向家具会显示价格的bug [/MD]
[MD] --- 新功能 选区粒子特效 - 使用选区工具(烈焰棒)选完两点后,自动显示青色粒子边框,精确标识商城区域范围 - 持续约 10 秒后自动消失,重新选点自动刷新 - 退出服务器自动清理 交易日志 - 每次购买成功自动记录到 plugins/YiyunCEfurniture/transactions.log - 记录内容:时间、玩家UUID、玩家名、家具ID、价格、货币类型 - 后台异步写入,不卡服;单文件超过 10MB 自动轮转 配置文件自动迁移 - 新增 config-version 机制,升级插件时配置自动升级 - 旧配置中的用户设置自动保留,新增项使用默认值 - 旧配置自动带时间戳备份,极端情况下写入失败也会自动还原 会话超时清理 - 购买 / 编辑会话闲置超过 5 分钟自动清理,不再残留占内存 - 玩家退出服务器时立即清理所有会话 --- 🔧 修复 - 修复编辑模式下显示 "正在编辑{furniture}" 而非实际家具名的问题(占位符未替换) - 修复首次编辑家具价格后,TOOLTIP 模式最长 30 秒内不显示该家具的问题(价格缓存未及时失效) - 修复 /ycf reload 后自定义声音设置不生效的问题 - 修复价格设为 0 时界面提示"设置成功"但实际未保存的问题(现在正确提示"价格必须大于 0") - 修复 Folia 服务端家具交互监听器报错的问题 - 修复物品经济扣款后背包残留零量物品堆的问题 --- ⚡ 性能优化 - 四个交互监听器代码去重,内存占用降低 - 家具名称缓存改用无锁加载,多玩家同时看向新家具时不再互相等待 - 工具提示临时查询复用运行中数据,减少对象创建 - 物品经济取款改为三阶段原子操作,杜绝计数与扣除之间的不一致 [/MD]
[MD] - 修复玩家在领地中没破坏权限就无法购买家具的bug [/MD]
  • 喜欢
反馈: wy2002
[MD] - 支持CraftEngine-26.5版本,但由于CE26.5版本API的改动,所以本插件不再支持之前的CE-0.0.67版本或者更久之前的版本 - 插件现在默认使用tooltip模式 - tooltip模式显示位置也改为了默认为ACTIONBAR位置 - 修复folia端无法正常使用tooltip模式的bug - 修复编辑模式编辑bug - 注:此次改动比较大,如果发现bug可以及时反馈给我 [/MD]
后退
顶部 底部