Commit Graph
232 Commits
Author SHA1 Message Date
youpaishidifu 7eb350a8da fix: PVP/伤害权限双重检查修复 + PHP删除用户组同步
1. PVP/伤害不生效: onEntityDamage中对PVP玩家先检查denyAllDamage再检查denyPVP,避免重复getArea调
2. PHP删除用户组: handleDeleteUserGroup先删成员表再删组表,确保同步完整
2026-07-03 14:28:02 +08:00
youpaishidifu 3d9475ccec fix: PVP/伤害权限修复 + 到期自动清理
1. getEffectiveDeny(): denyPVP和denyAllDamage不再豁免ADMIN/OWNER
2. 移除重复的onEntityDamageByEntity PVP逻辑
3. Timer E新增checkAndRemoveExpired()自动清理过期成员
2026-07-03 13:41:11 +08:00
youpaishidifu 4a28287dec feat: 用户组GUI管理界面 + validation_callback自动执行 + 自动续费偏好
- 用户组GUI: /group无参打开GUI, 可购买/续费/赠予/切换自动续费
- PHP validation_callback: 验证通过后自动执行add_group_member/add_visitor
- DatabaseManager: 新增player_auto_renew表(get/setAutoRenew)
- CDKManager: 新增gift_target输入处理
- GUIManager: 新增openUserGroup/handleUserGroupClick/handleGiftTargetInput
2026-07-03 11:43:12 +08:00
youpaishidifu 7e1dbf26c8 fix: GarbageManager TypeToken NPE + Vault依赖移除 + sync_login secret修复 + AreaProtection空值检查 2026-07-03 11:09:47 +08:00
youpaishidifu e9724fd47e fix: 购买用户组后立即pushMemberToPHP写入PHP后端 2026-07-03 01:21:56 +08:00
youpaishidifu dcd1170851 fix: pushMemberToPHP改用_java后缀action,确保PHP端能识别Java推送 2026-07-03 01:16:23 +08:00
youpaishidifu 40cafa4b74 fix: 点燃权限全面重构——统一使用getEffectiveDeny做豁免+去重方法
1. 所有点燃拦截统一使用getEffectiveDeny()进行OWNER/ADMIN自动豁免
2. 移除了重复的方法定义(onIgnite/onPlayerInteractFire/BlockIgniteEvent各两个)
3. onPlayerInteractFire: 拦截打火石/火焰弹/岩浆桶/火床
4. onPlaceCampfire: 单独拦截火床/灵魂火床放置
5. onIgniteBlock: 拦截玩家放置火把等非直接用物品点燃
6. onFireSpreadNonPlayer: 拦截非玩家触发的火蔓延(如TNT红石)
7. onEntityChangeBlock: 拦截末影龙/末影螨改变方块为火/岩浆
2026-07-03 00:58:30 +08:00
youpaishidifu 3ece4c8369 fix: 领地点燃权限修复OWNER/ADMIN豁免+补充岩浆桶/打火石拦截
1. onIgnite(onBlockIgnite): 加入OWNER/ADMIN豁免检查,避免误伤领地主
2. onPlayerInteractFire: 加入岩浆桶(MAGMA_BUCKET→LAVA_BUCKET)拦截
3. onPlayerInteractFire: 加入OWNER/ADMIN豁免
4. 清理冗余的TNT材质检查逻辑
2026-07-02 23:49:45 +08:00
youpaishidifu 106211564b 修复用户组购买反馈:发送在线玩家消息+同步扣费到PHP+推送成员变更到PHP数据库 2026-07-02 22:29:57 +08:00
youpaishidifu c9a3d24e64 修复领地禁止点燃:新增PlayerInteractEvent拦截打火石/火球/火焰弹,ProjectileHitEvent拦截烈焰球落地,彻底关闭TNT/篝火点燃 2026-07-02 21:58:19 +08:00
youpaishidifu 6f004f257f 修复领地禁止点燃:支持BlockIgniteEvent+EntityExplodeEvent+BlockExplodeEvent多层拦截,覆盖TNT/火床/烈焰弹等所有来源 2026-07-02 21:21:30 +08:00
youpaishidifu 46897f06af 修复领地禁止点燃:支持检查源/目标双领地,覆盖非玩家来源(TNT/闪电) 2026-07-02 20:01:23 +08:00
youpaishidifu fb871e886a 修复领地拾取/丢弃权限:OWNER/Admin不应被allowDrop=false限制,改用getEffectiveDeny路径 2026-07-02 19:35:27 +08:00
youpaishidifu 925017e21a 领地拾取/丢弃权限重构: denyPickup/denyDrop → allowPickup/allowDrop(正向命名),修复访客权限检查 2026-07-02 19:17:17 +08:00
youpaishidifu 2f35b945fc 修复传送系统和时间解析多个Bug
1. 修复tpaall/tpahere传送方向:tpahere改为B→A(executeTeleport(player,sender))
2. 自动接受传送仅对tpa生效:tpahere/tpaall不触发autoAccept,避免误自动传送
3. 自动接受时精简消息:开启自动传送后仅显示「已自动通过」,不再打印等待确认消息
4. 修复roman数字解析:parseRoman加toLowerCase()支持大写罗马数字
5. parseChineseTime支持罗马数字识别(如II分X秒→130秒)
6. 修复配置文件writeLines:删除错误的file.renameTo(tmp),防止Linux上配置丢失
7. 新增teleport_requests表建表语句:修复SQL no such table错误
8. handleTPAccept新增DB fallback:内存找不到请求时查数据库恢复
9. HomeManager清理废弃代码
2026-07-02 16:53:00 +08:00
youpaishidifu addc5563c6 ConfigManager: 恢复奖励发放方式默认值为债券;修复中文/英文数字解析叠加bug
- rewardChannel默认值从economy改回债券
- normalizeRewardChannel支持中英文全兼容
- 中文数字解析:修复current在total!=0时错误拼接
- 英文解析:修复currentNum在单位后未重置导致叠加
- loadSettings/saveSettings/createDefaultSettings全部同步恢复为债券
2026-07-01 19:36:30 +08:00
youpaishidifu 1e6d2419db 修复时间解析器叠加bug+移除债券支持改用经济+去重loadSettings 2026-07-01 19:01:30 +08:00
youpaishidifu 17b7513276 重构配置文件:loadSettings中追加+saveSettings原子写入+保留全量旧配置 2026-07-01 16:41:03 +08:00
youpaishidifu 698a6445ed 重构配置文件保存机制:原子写入+保留全量旧配置 2026-07-01 16:18:07 +08:00
youpaishidifu 36568cb31a 重写时间解析器:支持中文大写/罗马数字/英文复合格式+自动推断单位 2026-07-01 15:38:40 +08:00
youpaishidifu 5574749351 修复saveSettings()覆盖Web通信配置+新安装默认包含Web通信配置 2026-07-01 15:12:32 +08:00
youpaishidifu 6a6685bcec 修复用户组永久时长+中文数字时间解析 2026-07-01 14:30:13 +08:00
youpaishidifu 18da80c799 修复传送系统配置:1.管理员/tpa显示传送面板+配置区 2.配置按钮直接输入值(聊天拦截) 3.tpauto仅切换自动接受 4.PHP部署到/plugin/目录 2026-07-01 13:13:56 +08:00
youpaishidifu 6a7d3bd635 feat: 修复管理员tpa CLI交互式配置 + 修复home持久化问题(不再删除已有数据) 2026-07-01 12:00:21 +08:00
youpaishidifu 0bab938784 feat: 管理员tpa CLI交互式配置菜单 + 状态机管理 + 用户组权限修复 2026-07-01 11:21:19 +08:00
youpaishidifu c437851470 feat: 管理员tpa CLI面板添加全局配置显示和快捷命令 2026-07-01 10:59:12 +08:00
youpaishidifu 265503be38 feat: 传送系统增强 - 全局配置化有效期/冷却时间 + 灵活时间输入解析 + 请求过期清理 + HomeManager + UserGroupManager8个新方法 + WebManager/EconomyManager扩展 + 基岩版GUI三级导航 2026-07-01 00:37:11 +08:00
youpaishidifu c8e8fe88e4 基岩版GUI三级导航: 主面板→玩家列表(25人/页翻页)→玩家操作(tpa/tpahere/接受/拒绝)
1. Level1主面板(27格): 玩家列表入口、incoming数量、自动接收开关、全服传送、取消请求
2. Level2玩家列表(27格): 25个玩家头颅+左右翻页(slot 18/26)
3. Level3玩家操作(9格): 请求传他/请求他来/接受/拒绝
4. 点击事件按面板大小自动路由到对应层级处理
2026-06-30 13:16:01 +08:00
youpaishidifu 4f99b6af05 tpaccept/tpdeny无参直接通过/拒绝,不再弹出面板 2026-06-30 12:42:01 +08:00
youpaishidifu 6b78165019 修复传送系统3个bug: tpaall自动接受冲突/基岩版GUI拦截/autoAccept持久化
1. tpaall全服传送: autoAccept玩家直接传送不发通知,非autoAccept正常发请求
2. 基岩版GUI无响应: Main.java二级菜单白名单排除传送系统面板
3. autoAccept持久化: 新增teleport_auto_accept表,登录从DB加载,开关同步写入
2026-06-30 12:26:22 +08:00
youpaishidifu 24aa623f7a 传送系统v5:TeleportManager独立Listener+撤回超链接+基岩版仅tpa无参走GUI+调试日志 2026-06-30 11:19:36 +08:00
youpaishidifu 7c42f60709 修复基岩版GUI按钮无效:传送面板不受isFrozen登录冻结限制 2026-06-30 11:03:16 +08:00
youpaishidifu 45dbc01eae 传送系统v4:重写CLI完整操作面板(在线玩家列表+发起传送)、基岩版玩家跳过登录自动接收、基岩版GUI增加传送发起功能 2026-06-30 10:53:18 +08:00
youpaishidifu 3d3c830a6e 重写传送系统:修复tpacancel/tpauto无参路由、CLI完整面板(incoming+outgoing)、Java版可点击按钮、Tab补全区分命令类型 2026-06-30 10:37:13 +08:00
youpaishidifu 77c49a1fa5 添加传送系统调试日志:记录消息发送过程,帮助排查目标玩家未收到提醒问题 2026-06-30 00:56:31 +08:00
youpaishidifu 2cd56d637b 修复Geyser API检测:使用正确的GeyserApi.api().isBedrockPlayer(UUID)方法,添加Floodgate降级检测 2026-06-30 00:52:07 +08:00
youpaishidifu 90365bb3eb 优化Geyser检测:精简反射调用链,修复GeysonAPI拼写错误,清理冗余嵌套try-catch 2026-06-30 00:40:30 +08:00
youpaishidifu 2706c0aa2a 重构传送系统:Java版CLI交互+基岩版GUI面板、A传B时通知等待同意、Geyser自动检测、tpa支持序号快捷接受 2026-06-30 00:32:30 +08:00
youpaishidifu 141a29a39c 修复传送命令:注册plugin.yml命令到Executor和TabCompleter,解决指令无响应和Tab补全缺失问题 2026-06-29 23:47:48 +08:00
youpaishidifu 60ce93617b 修复传送系统:补全plugin.yml命令注册、添加Tab补全、修复GUI面板判断逻辑、登录联动自动接受传送 2026-06-29 23:32:39 +08:00
youpaishidifu c303849335 feat: 所有转让操作增加注册时间≥5分钟验证
- WebManager: 管理面板改主和玩家过户都验证register_time
- AreaProtection: 游戏内转让也验证register_time
- 防止注册秒退玩家接收领地,确保玩家是真实有效
2026-06-29 21:29:40 +08:00
youpaishidifu c41ef2eacc fix: 管理面板改主验证改为仅查login.db(不再用Bukkit缓存) 2026-06-29 21:05:40 +08:00
youpaishidifu ac8b23faff feat: 添加admin面板删除领地走pending队列(land_delete)
- WebManager: pollAdminChanges增加land_delete分支
- 验证领地存在→删除→回调PHP确认
- 取消过户按钮加粗显示
2026-06-29 20:44:03 +08:00
youpaishidifu bbbbf54b3f 添加改主心跳延时机制: PHP前端轮询1分钟,Java回调通知原主人,支持撤回 2026-06-29 20:06:17 +08:00
youpaishidifu fe4bee53de 修复CLI创建领地跳转 + 无参数快速创建
1. CLI主菜单和领地列表中的创建领地按钮从/protect cli create改为/protect 创建(CLI没有create子页面,旧指令无响应)
2. /protect 创建无参数时自动快速创建3x3领地,不要求先选点
3. /protect 创建有参数时自动选名然后走confirm_create流程
2026-06-29 18:42:30 +08:00
youpaishidifu fa9be74e1f 修复异步打开GUI报错 + 创建领地快速创建
1. 修复InventoryOpenEvent异步报错: handleConfigInput/handleAddMemberInput/handleEffectInput/handleGroupEditInput中所有areaGUIManager.open调用改为Bukkit.getScheduler().runTask切主线程
2. 首页创建领地: 无选点时自动以玩家为中心3×3快速创建领地,自动命名+冲突数字0~999
3. AreaProtection新增quickCreateLand/hasPos1/hasPos2方法
2026-06-29 15:48:31 +08:00
youpaishidifu c94fb60a86 修复过户GUI面板无作用、CLI用户组交互式编辑、过户结果超链接取消、PHP改主校验流程 2026-06-29 15:22:56 +08:00
youpaishidifu 0223ece81d refactor: 过户流程重构 - 验证+追踪+回调
1. activeLandTransfers Map追踪进行中过户
2. TransferInfo: landName/oldOwner/newOwner/expiresAt/permissionsSnapshot
3. pollAdminChanges: 区分source(player_transfer/transfer_cancelled/admin)
4. handlePlayerTransfer: 验证新所有者存在性→改DB→回调PHP→追踪cooldown
5. notifyTransferCallback: POST回调PHP transfer_callback接口
6. handlePendingTransferCancellations: 权限变更自动取消过户
7. /protect transfer: 加验证+cooldown追踪+通知PHP
8. /protect canceltransfer: 新增游戏内取消命令
9. getLandPermissionsSnapshot: 权限快照用于检测cooldown期间变更
10. Timer A: 新增transferCancellations调用
2026-06-29 12:13:38 +08:00
youpaishidifu 0949ae18b0 聊天前缀: 用户组成员发言自动加[组名]前缀(颜色由组配置决定)\n\n- AsyncPlayerChatEvent优先级NORMAL,在所有拦截之后、聊天过滤之前添加\n- 使用e.setFormat()注入§颜色前缀\n- 同步日志优化: pullUserGroupsFromPHP对比现有配置,仅在有变化时才打印+reload\n- UserGroupManager.loadGroupConfigs日志降级为fine(不再每次拉取都打印) 2026-06-29 11:05:21 +08:00
youpaishidifu a33757a465 修复: 密码验证统一使用checkPasswordWithFallback,消除重复checkPassword定义;LoginManager/main/web使用新方法 2026-06-28 23:12:20 +08:00