本次构建的变更(自上次推送以来)
杂项
- 修复旧版 Paper 和 MC 版本中 teleportAsync 方法的检测问题(该方法不存在) - 作者:Axionize (
7885555) - 支持 26.1 版本 (#2553)
目前仅支持 Bukkit 平台 - 作者:Cyramek (a9b91e7)
- 提升 PE 版本以支持 26.1.2 - 作者:Axionize (
f36f870) - 实现流体计数追踪器 - 作者:cyramek (
f9fdfa7) - 攻击数据包始终使用主手 - 作者:cyramek (
61e9e69) - 不再传递 null clientVersion,以便区块使用服务器版本进行映射查找
最近的 packetevents 更新破坏了此功能,该更新覆盖了 Chunk_v1_18 中的 #set 方法 - 作者:cyramek (8dc657a)
- 修复一些关于骆驼冲刺的误报 (#2462)
-
修复骆驼冲刺误报
-
忘记了骆驼尸壳
-
遵守代码风格
-
修复重生
-
遵守代码风格(这次是真的)
-
修复与骆驼相关的 SprintG 误报
-
将骆驼冲刺状态移至 VehicleData - 作者:LaserSlime (
d55f1b7)
- 如果存在则加载可选的 workspace.gradle.kts - 作者:Axionize WS1 (
6c3ccb4) - 将内部触发迁移到 GrimAPI 1.3 通道 API (#2612) - 作者:Axionize (
3664f4d) - 在金库方块上出现 FastBreak 误报 (#2610) - 作者:Tyler (
794e120) - 与 GrimTeleportEvent 一同触发 GrimPlayerSetbackEvent - 作者:Axionize WS2 (
a86dedf) - 升级 packetevents 至 6953c38(上游 2.12.2 合并 + 混淆安全的 NBT 扫描) - 作者:Axionize WS1 (
7499d10) - 在我们的自定义区块读取器中传递流体计数 - 作者:cyramek (
66b3334) - 更新 DynamicConnecting.java (#2617)
修复了 1.8.9 / 旧版本中认为日光探测器连接到栅栏/铁栏杆的问题
相关 issue: https://github.com/GrimAnticheat/Grim/issues/1856 - 作者:KotlinList (d81d03f)
- 升级 packetevents 至 22c9961(relocateHandlers 尊重压缩/解压缩)
修复 #2552 - 作者:Axionize WS1 (257bffe)
- 修复 DynamicConnecting.java 中与客户端版本相关的问题 (#2618)
已在 1.8.9、1.20.4 以及 ViaVersion(1.20.4 服务器和 1.8.9 客户端)上进行测试
相关 issue: https://github.com/GrimAnticheat/Grim/issues/2148 - 作者:InetAddress (5c46b0a)
- 历史记录重写:五个后端、基于会话、环形缓冲区写入路径 + 通用配置自动更新器 (#2622) - 作者:Axionize (
578c784) - 次要 Post 代码清理 - 作者:ManInMyVan (
053b090) - 不要在 PacketOrderK 中取消 CLOSE_WINDOW - 作者:ManInMyVan (
fbabbf2) - 将 grim.legacy.* @CheckData stable_keys 重命名为描述性名称 - 作者:Axionize WS1 (
c233a60) - 在输出双引号标量时转义反斜杠 (#2623) - 作者:Axionize WS1 (
84bd90d) - 通过路由到 ChunkSource 修复 isChunkLoaded 中的 StackOverflow (#2568) - 作者:Axionize WS2 (
c88b494) - 踢出任何发送 vv:proxy_details 的玩家 - 作者:ManInMyVan (
3021287) - 还原“踢出任何发送 vv:proxy_details 的玩家”
此操作还原了提交 3021287391de4aee964abe5bcf6c452f72f68a7b。 - 作者:AoElite (73f63c1)
- 修复潜影贝不确定性逻辑中的拼写错误 (#2630) - 作者:aquip (
2508a34) - 踢出任何发送 vv:proxy_details 的玩家 - 作者:ManInMyVan (
e9c918d) - 添加对 URL 超时自定义的支持并重新实现通过代理踢出功能 - 作者:AoElite (
fd9e0f8) - 为 /grim history 添加 --name / --match / --grep 正则过滤器 - 作者:Axionize WS1 (
d591f10) - 提升 grim-api 锁定版本至 1.3.2.0 - 作者:Axionize WS1 (
2c60aae) - 红石墙火炬应使用 isLit 而非 isPowered - 作者:cyramek (
21f0c3d) - 提升 grim-api 至 1.3.2.1 - 作者:Axionize WS2 (
17d4d2f) - 在 isTickingReliablyFor 中检查 cameraEntity.isSelf() - 作者:ManInMyVan (
3e5afef) - 简化潜影贝的打开/关闭逻辑 - 作者:ManInMyVan (
fc899a3) - 应为 Min 而非 Max - 作者:ManInMyVan (
83a6d98) - 快乐恶魂的缩放比例也被限制 - 作者:ManInMyVan (
5254190) - 移除未使用的导入 - 作者:ManInMyVan (
145f71c) - 当推送负载缺失时,回退到 Modrinth 获取变更日志范围 - 作者:Axionize WS1 (
4c866d0) - 小型清理 - 作者:ManInMyVan (
5a40a06) - 移除未使用的导入 - 作者:ManInMyVan (
215a1e6) - 调整 "UrlTimeout" 常量以保持一致性 - 作者:AoElite (
addabec) - 更新 DiscordManager webhook 正则表达式以支持 canary 并使超时可配置 - 作者:AoElite (
99e309f) - 在传送中检查旋转角度 (#2268) - 作者:ManInMyVan (
717829a) - 使 CheckData 中的 name 和 stableKey 不再是可选的 - 作者:ManInMyVan (
65d1050) - 在冲刺检查奖励时仅检查 isSprinting - 作者:ManInMyVan (
c549b19) - 在 SprintA 中使用违规回退 - 作者:ManInMyVan (
6953235) - 提升 grim-api 至 1.4.0.0 - 作者:Axionize (
cdd490b) - 为 swim-hop 向量应用方块效果 (#2648)
-
为 swim-hop 向量应用方块效果
-
调整 swim hop 常量 - 作者:Cyramek (
73c60d0)
- VersionUtil 使用 providers.exec 执行 git 命令(兼容 config-cache) - 作者:Axionize (
62b2268) - 在 N 处锚定 N:M 间隔 (#2661) - 作者:Axionize (
5fa803e) - 在边界穿越时触发 N:M,而不是在边界的每个标记时触发 - 作者:Axionize (
36675eb) - 每命令事件光标(nextBoundary + executedOnce) - 作者:Axionize (
fb4ad7a) - 保留传统的一次性命令语义 - 作者:Axionize (
20d68c1) - 提升 grim-api 至 1.5.0.0 - 作者:Axionize (
25d10f4) - 使用路由后端检查目录 - 作者:Axionize (
29316a7) - 修复传统历史记录检查 ID - 作者:Axionize (
70223cd) - 使用 MySQL 重连 API 构建 - 作者:Axionize (
ff214a4) - 异步运行检查 ID 修复 - 作者:Axionize (
e32d091) - 小型清理 - 作者:ManInMyVan (
fdaf096) - 当 PacketUser 为 null 时跳过 onUserLogin - 作者:Axionize (
2af658c) - 回溯 V3 端对等添加内容(针对 2.0)(#2678) - 作者:Axionize (
9b1aa1a) - 提升 PE:修复 Issue #2670 - 作者:Axionize (
6252fe6) - 允许配置中不包含
client-brand.ignored-clients- 作者:ManInMyVan (60d3ecf) - 将工具类标记为 @UtilityClass - 作者:ManInMyVan (
fd9e91d) - 将 WriteLog$Entry 改为 record - 作者:ManInMyVan (
d501dfe) - 提升 PE:修复 #2681 - 作者:ManInMyVan (
43db51d) - 将 player.stuckSpeedMultiplier 设为 Vector3d
同时减少对象分配 - 作者:ManInMyVan (8083f42)
- 进一步减少对象分配 - 作者:ManInMyVan (
d939109) - 将 ChatD 标记为稳定 - 作者:ManInMyVan (
5869433) - 更多代码清理 - 作者:ManInMyVan (
935668a) - 将某些监听器标记为 pre-via - 作者:ManInMyVan (
ce89791) - 减少内存分配并排除注解处理器 (#2669)
-
ComplexCollisionBox#downCast: 减少分配
-
ReachInterpolationData#getPossibleLocationCombined: 减少分配
-
SimpleCollisionBox: 仅在需要时分配盒子 SimpleCollisionBox#betweenCornersInDirection: 跳过 Vector3d 分配
-
Materials: 使用基于 IdentityHashMap 的 Sets 以减少分配 (StateType#hashCode)
-
build.gradle.kts: 从 shadowJar 中排除注解处理器服务
-
更新 common/src/main/java/ac/grim/grimac/utils/collisions/datatypes/ComplexCollisionBox.java
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
- 移除测试遗留的注释
共同作者:Dieu info@l4b.org
共同作者:Techirion 126729304+Techirion@users.noreply.github.com
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 作者:NO-UUID (6152908)
- 对 CompensatedInventory.startOfTickStack 使用 lombok getter - 作者:ManInMyVan (
199b673) - 不需要时不要装箱 - 作者:ManInMyVan (
bebccfa) - 将聊天检查和 BadPacketsM 设为 pre-via - 作者:ManInMyVan (
21f1534) - 在槽位更改时更新 startOfTickStack (#2683) - 作者:ManInMyVan (
8c95b21) - 升级 packetevents 至 2.12.2+6dca3cc00(修复 Fabric pre-Via 监听器) - 作者:Axionize (
09194f3) - 修复 PE 哈希长度 — CI 发布时使用 7 字符哈希 - 作者:Axionize (
0b7001b) - 在 CheckManager 中使用 getInstance(Class) 替代 get(Class) - 作者:ManInMyVan (
b62722b) - 将更多检查迁移到 pre-via - 作者:ManInMyVan (
36931a8) - 在将任务添加到 set serverOpenedInventoryThisTick 之前发送一个事务 - 作者:ManInMyVan (
e62d451) - 将 CheckManagerListener onPacketSend 移至 pre-via - 作者:ManInMyVan (
17b86aa) - 默认将 KICK_ON_TRANSACTION_ERRORS 设为 true - 作者:ManInMyVan (
490a02b) - 预加载服务器版本的方块映射 - 作者:ManInMyVan (
cd61780) - 将 PacketPlayerRespawn 设为 pre-via - 作者:ManInMyVan (
6ce529c) - 支持相对的 PLAYER_ROTATION 数据包 - 作者:ManInMyVan (
6ff7f44) - 还原“将 PacketPlayerRespawn 设为 pre-via"
此操作还原了提交 6ce529c83de82eee53425a5b081c03115c181e04。 - 作者:ManInMyVan (48b778e)
- 加载本地 Gradle 用户属性 - 作者:Axionize (
9888990) - 在官方映射中支持 Minecraft 26.X (#2695) - 作者:Axionize (
4642c3d) - 更新 PacketEvents 锁定版本 - 作者:Axionize (
6b710c0) - 回溯公共 V2 数据存储连接 - 作者:Axionize (
4de186b) - 补偿移动时的攻击范围交换 (#7)
-
补偿移动时的攻击范围交换
-
将攻击范围移动补偿限制为交换情况
-
保持攻击范围物品值为浮点数
-
修复 attack_range 交换的 reach 补偿
-
为攻击范围移动添加 Reach 详细日志 - 作者:Axionize (
f61d522)
- 重写跨版本输入处理方式 (#2700)
我们在所有支持版本中平均达到 E-15 精度 - 作者:Cyramek (86785db)
- 将默认 server-name 从 "Prison" 改为 "ChangeMe"
将 /grim history 头部和数据库配置中遗留的 "Prison" 占位符替换为中性的 "ChangeMe" 默认值,提示操作员设置自己的服务器名称。 - 作者:Axionize (41b0fff)
- 处理缺失的数据存储路由 - 作者:Axionize (
3404e9b) - 使用 GrimAPI 1.6.0.2 - 作者:Axionize (
6b28271) - 修复 Fabric 1.21.11 cloud 命令桥接 - 作者:Axionize (
19dde8b) - 使用 GrimAPI 1.6.0.3 - 作者:Axionize (
e7fedff) - 为 BadPacketsR 采用二进制详细日志
连接公共详细日志注册表/清单基础,并添加写入 ViolationEvent.verboseData 的二进制标志路径。转换 BadPacketsR,因为其详细负载包含三个简单的数值字段:经过的玩家时钟毫秒数、最后事务差值毫秒数和位置数据包计数。 - 作者:Axionize WS2 (e19cb38)
- 修复二进制详细日志元数据的小问题 - 作者:Axionize WS2 (
417a212) - 将飞行检查转换为二进制详细日志 - 作者:Axionize WS2 (
deed028) - 在消费者端将 verboseVersion 设为无符号 - 作者:Axionize WS2 (
e684ec7) - 将 reach 详细日志转换为二进制 f32
将 Simulation 偏移量存储为不带 flagId 的 f32。通过二进制详细日志路径存储 Reach 最小距离,同时保留现有警报文本;Hitboxes 暂时保留在文本详细日志中。 - 作者:Axionize WS2 (f63a216)
- 更新二进制详细日志精度和格式化器
对 Reach 和 Simulation 数值负载使用 f64,添加为玩家客户端版本编码的 Reach 实体类型 ID,并为 Reach、Simulation 和 GroundSpoof 注册旧字符串自定义格式化器。
BadPacketsR 在转换后的检查中没有预转换的详细字符串,因此它仍使用通用的 name=value 读取器。 - 作者:Axionize WS2 (01d19bd)
- 将 badpackets 详细日志转换为二进制
已转换:BadPacketsA, BadPacketsD, BadPacketsE, BadPacketsF, BadPacketsG, BadPacketsH, BadPacketsL, BadPacketsO, BadPacketsP, BadPacketsQ, BadPacketsT, BadPacketsU, BadPacketsV, BadPacketsY。
已是二进制,移入包注册:BadPacketsR。
跳过空/无详细日志:BadPacketsB, BadPacketsC, BadPacketsI, BadPacketsJ, BadPacketsK, BadPacketsM, BadPacketsN, BadPacketsS, BadPacketsW, BadPacketsX, BadPacketsZ。
badpackets2:此检出中缺少该包。
验证:./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava --console=plain - 作者:Axionize WS2 (e422749)
- 将破坏和崩溃详细日志转换为二进制
已转换破坏类:AirLiquidBreak, FarBreak, FastBreak, InvalidBreak, MultiBreak, PositionBreakA, PositionBreakB, RotationBreak, WrongBreak。
跳过破坏类:NoSwingBreak(无/空详细日志)。
已转换崩溃类:CrashC, CrashD, CrashE, CrashF, CrashH, CrashI。
跳过崩溃类:CrashA, CrashB, CrashG(无/空详细日志)。 - 作者:Axionize WS2 (751011f)
- 为二进制详细日志检查保留精确的标志/警报/回退语义 - 作者:Axionize WS2 (
7ba8470) - 将 B 波详细日志检查转换为二进制
已转换:\n- 脚手架:DuplicateRotPlace, FabricatedPlace, InvalidPlaceB, MultiPlace, RotationPlace\n- 多动作:MultiActionsC, MultiActionsD, MultiActionsF, MultiActionsG\n- 聊天:ChatB, ChatC\n- 战斗:MultiInteractA, MultiInteractB\n\n跳过:\n- 脚手架:AirLiquidPlace, FarPlace, InvalidPlaceA, PositionPlace(空详细日志)\n- 多动作:MultiActionsA, MultiActionsB, MultiActionsE(空详细日志)\n- 聊天:ChatA, ChatD(空或空白详细日志)\n- 战斗:Hitboxes, SelfInteract(空详细日志),Reach(已转换/注册) - 作者:Axionize WS2 (01ef829)
- 将 C 波详细日志转换为二进制
已转换:
- 载具:VehicleA, VehicleD, VehicleE, VehicleF
- 速度:KnockbackHandler/AntiKB, ExplosionHandler/AntiExplosion
- 计时器:NegativeTimer, TickTimer
- 漏洞利用:ExploitA, ExploitB
- 冲刺:SprintA
- 杂项:Post
- 鞘翅:ElytraB
跳过未更改:
- 载具:VehicleB, VehicleC
- 速度:VectorPrecisionConverter
- 计时器:Timer, TimerLimit, VehicleTimer
- 冲刺:SprintB, SprintC, SprintD, SprintE, SprintF, SprintG
- 杂项:ClientBrand, GhostBlockMitigation, TransactionOrder
- 鞘翅:ElytraA, ElytraC, ElytraD, ElytraE, ElytraF, ElytraG, ElytraH, ElytraI - 作者:Axionize WS2 (
5f4b923) - 将遗漏的详细日志包转换为二进制
已转换:baritone/Baritone; packetorder/PacketOrderB, PacketOrderC, PacketOrderD, PacketOrderE, PacketOrderF, PacketOrderG, PacketOrderI, PacketOrderK, PacketOrderL, PacketOrderO, PacketOrderP。
跳过:packetorder/PacketOrderA, PacketOrderH, PacketOrderJ, PacketOrderM, PacketOrderN 和 PacketOrderProcessor,因为它们仅使用空/无详细日志。
构建:./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava -PmavenLocalOverride=true --console=plain - 作者:Axionize WS2 (e7f2ed2)
- 在警报上延迟渲染二进制详细日志 - 作者:Axionize WS2 (
05c6eda) - 对对象值使用紧凑的详细日志编码 - 作者:Axionize (
2a5685a) - 恢复 BadPacketsR 详细日志格式化器对等性 - 作者:Axionize WS2 (
5eb67c3) - 合并二进制详细日志消费者 - 作者:Axionize WS2 (
182c82e) - 集成结构化详细日志模板 - 作者:Axionize WS2 (
8e39093) - 添加 stdnum 渲染标签 - 作者:Axionize WS2 (
67aa3a9) - 将 SprintA 移至后预测检查 - 作者:cyramek (
e37b7e3) - 实现 26.2 - 作者:cyramek (
1d52bda) - 将 '2.0' 分支合并到 ver/26.2 - 作者:Cyramek (
c96667c) - Viaversion 替换和 cloud 命令 - 作者:cyramek (
ae11730) - 更新各处的版本号 - 作者:cyramek (
735550d) - 支持实体包围盒变更
如果它们要在每个版本中更改包围盒,此类需要进行注册化处理 - 作者:cyramek (4bce83e)
- 次要修复 - 作者:cyramek (
1250a40) - 合并 26.2 支持 - 作者:Axionize WS2 (
d9bade6) - 合并 26.2 支持并更新 PacketEvents - 作者:Axionize WS2 (
52f8721) - 使用已发布的 PacketEvents 快照 - 作者:Axionize WS2 (
c40dfad) - 当工件缺失时跳过 Fabric 发布 - 作者:Axionize WS2 (
12449c4) - 支持 26.2 (#2729) - 作者:Cyramek (
732b9e0) - 支持 Fabric 26.2 - 作者:Axionize WS2 (
784c46d) - 在 bug 报告模板中添加可选的客户端版本部分 - 作者:ManInMyVan (
4d28b14) - 在问题模板中添加客户端和服务器版本占位符 - 作者:ManInMyVan (
cd0986b) - 小型清理 - 作者:ManInMyVan (
f65930b) - 回溯存储所有权租约 - 作者:Axionize WS2 (
79d54e3) - 合并拉取请求 #2760 from GrimAnticheat/codex/server-ownership-leases-2.0
回溯存储所有权租约 - 作者:Axionize (573a1d2)
- 将 upstream/2.0 合并到 lightning - 作者:Axionize WS2 (
0c3ed12) - 回填 Lightning 战斗惩罚 - 作者:Axionize WS2 (
00dbb86)
♻️ 重构
- 将变体嵌套为 :fabric:{shared,intermediary,official} - 作者:Axionize (
dde41ad)
🐛 修复
- 修复弹性方块 (#2473) - 作者:Cyramek (
19c12b7) - 修复 MultiActionsC 中的拼写错误 - 作者:ManInMyVan (
8861589) - 修复页面长度检查 (#2637) - 作者:Captain-S0L0 (
f81e183) - 修复潜影贝和龙鳞属性 - 作者:ManInMyVan (
3d95fea) - 修复 1.8 服务器上 1.9 客户端的 noslow 问题 (#2607)
-
修复 1.8 服务器上 1.9 客户端的 noslow 问题
-
修复元数据 ID - 作者:ManInMyVan (
5c6de64)
- 修复 1.21.11 Spigot 支持 - 作者:ManInMyVan (
7d823f5) - 修复骑乘可漂浮实体时的 swim hops - 作者:cyramek (
ce86075) - 修复 1.21.11 三角函数问题 (#2644)
新的三角查找表已发布 - 作者:Cyramek (494e9c5)
- 修复 26.1 Spigot 支持 - 作者:ManInMyVan (
7ccff01) - 修复 BadPacketsM 误报 - 作者:ManInMyVan (
3cd17cc) - 修复花盆中金盏花的碰撞问题 - 作者:cyramek (
02f1dc3) - 修复实体包围盒复制回归问题 (#2642)
-
修复实体包围盒复制回归问题
-
检查 tick end 事件是否存在 - 作者:Cyramek (
8a3767b)
- 修复 compensatedCamera 与重生数据包的问题 - 作者:ManInMyVan (
7a7e07f) - 修复最近的 vialegacy 更新导致的误报 - 作者:ManInMyVan (
c156c00) - 修复在流动流体中游泳时的精度损失 (#2668)
我们现在平均达到 E-15 精度 - 作者:Cyramek (f3ed3b2)
- 修复 1.8 凋灵骷髅命中箱 - 作者:ManInMyVan (
fdd734a) - 修复 #2677 - 作者:ManInMyVan (
34c41db) - 修复 <=1.19.3 版本的精度损失 - 作者:cyramek (
635708a) - 修复 1.21.11 客户端在 1.8 服务器上标记 reach 的问题 - 作者:ManInMyVan (
edc3987) - 修复获取 preViaPacketChecks 时的 NPE
修复:https://github.com/GrimAnticheat/Grim/issues/2685 - 作者:cyramek (ec08cbe)
- 修复缓降时头部撞击问题
重力是基于 deltaMovement 计算的,而非 actualMovement
修复:https://github.com/GrimAnticheat/Grim/issues/2687 - 作者:cyramek (7e1607d)
- 修复 <=1.18.1 版本的精度损失 - 作者:cyramek (
4a632c1) - 修复 <=1.16.5 版本的输入精度损失 - 作者:cyramek (
10cc198) - 在获取方块位置前检查其有效性,修复 #2689 - 作者:ManInMyVan (
d34f5c1) - 修复世界切换时的 NPE - 作者:ManInMyVan (
406d6e7) - 修复 #2693 - 作者:ManInMyVan (
d2e47fd) - 修复 packetevents 提交 - 作者:ManInMyVan (
5e60273) - 从 minimize() 中排除 adventure-text-serializer-gson - 作者:Axionize (
ac892c5) - 在下界传送门框架中打开 inventory 时 MultiActionsD 出现误报 (#2702) - 作者:Bram (
b2b2503) - 处理 UUID 查找中缺失的 PacketEvents 通道 (#9) - 作者:Axionize (
2ea1d99) - 为 Polymer 0.16+ 的物品编码绑定 PacketContext (#2701) (#2705) - 作者:Axionize (
5f19722) - 修复玩家骑乘非其控制的实体时的 NPE
不知道如何复现,因为这不应该发生,但我想事务可能在实体装备更新之间分裂了 - 作者:cyramek (4f747c3)
- 修复滑翔时的精度损失
E-8 -> E-15 - 作者:cyramek (c83870b)
- 修复 FastBreak 使用过时的 onGround 状态 (#2657)
-
确保在 FastBreak 中使用最新的 onGround
-
审查中指出的问题 - 作者:Cyramek (
ba1a930)
- 修复与间歇泉相关的 swim hops - 作者:cyramek (
eba3cb8) - 修复客户端速度受碰撞影响的问题
这是导致史莱姆碰撞偏差 E-8 的原因
这也可能是许多看似随机误报的原因 - 作者:cyramek (d2727a4)
- 修复格式问题 - 作者:cyramek (
02654ce)
🚀 功能
- 添加 Fabric 活塞事件支持 (#2619) - 作者:aquip (
75cc402) - 从 LuckPerms 更新中刷新权限 - 作者:Axionize (
b3a7496) - 为所有检查的检查警报和描述添加悬停提示 (#2712) - 作者:Mater (
1f1b03c) - 使渲染悬停可配置 - 作者:Axionize (
0aa2e2b)
本次构建的变更(自上次推送以来)
杂项
- 回溯存储所有权租约 - 作者:Axionize WS2 (
e17023b) - 使用已发布的 GrimAPI 所有权构建版本 - 作者:Axionize WS2 (
429fc17) - 使用已发布的 GrimAPI 所有权版本 - 作者:Axionize WS2 (
c71ef0c) - 使用 GrimAPI 1.6.0.7 的所有权修复 - 作者:Axionize WS2 (
0066487) - 回溯存储所有权租约
使用已发布的 GrimAPI 1.6.0.7 合并存储所有权租约的回溯。- 作者:Axionize (0c38eaa)
本次构建的变更(自上次推送以来)
杂项
- 确保使用短提交哈希 - 由 AoElite (
ce6e1d3) - 任何 200 状态码均可接受 - 由 AoElite (
163e120) - 允许自定义嵌入图片并在页脚显示 Grim 版本 - 由 AoElite (
5c46021) - Webhook 嵌入略微更具可配置性 - 由 ManInMyVan (
6385460) - 忽略无法击中的实体以进行方块放置 - 由 AoElite (
8d7a4cc) - 升级 Gradle 至 9.1.0 - 由 SamB440 (
322d256) - CancelLerp 在 1.21.9 中已修复, apparently - 由 SamB440 (
bb143d7) - 修正幼年海龟、快乐恶魂、海豚、犰狳和骆驼的边界框计算 - 由 cyramek (
2e1c79b) - 不要重复指定幼年比例因子 - 由 ManInMyVan (
6a223a3) - CHUNK_BATCH_ACK 是异步的 - 由 ManInMyVan (
d538c59) - 向 .editorconfig 添加 2 条新规则 - 由 ManInMyVan (
1317ae0) - 修复新的 ChatB Via 重写器钩子导致的 ClassNotFoundException - 由 Axionize (
4d6ac75) - 对违规使用 FastUtil Map - 由 Axionize (
ca6e83d) - 更多 fastutil 微优化 - 由 Axionize (
5551ef6) - 修复 Fabric Auto JiJ 脚本 - 由 Axionize (
41c7e41) - 要求仅在应该发送时发送 CHUNK_BATCH_ACK - 由 ManInMyVan (
bbab7e2) - 检查是否已经在发送捆绑包数据包 - 由 ManInMyVan (
e222df8) - [1.21.10] 重写方块效果,支持 LpVector,部分实现碰撞箱 (#2300) - 由 Cyramek (
0237f95) - 移除向量格式转换中的一个缓冲区 - 由 cyramek (
a2f4dc1) - 支持链条的铜变种 - 由 cyramek (
44900e5) - 为
sender-not-found消息添加翻译 - 由 AoElite (f381805) - 重构 Grim 启动/系统参数处理 - 由 Axionize (
faf2fb3) - 优化消息 (#2309)
-
优化 MessageUtil.replacePlaceHolders()
-
在数据包级别发送用户消息,绕过后端服务器以提升性能
-
暂存临时更改
-
默认使 Grim 发送快速聊天消息时绕过平台 - 由 Axionize (
90036e2)
- 微优化 DefaultResyncHandler - 由 Axionize (
1eae548) - 优化 vector add() 调用时的新对象创建 - 由 Axionize (
15e8098) - 优化新 Vector3dm() 乘法调用 - 由 Axionize (
26492fd) - 将 ElytraB 标记为稳定 - 由 ManInMyVan (
8a6863b) - 将 ElytraC 标记为稳定 - 由 ManInMyVan (
3f39abc) - 将 ElytraA 标记为稳定 - 由 ManInMyVan (
d0aafdd) - 将 ElytraF 标记为稳定 - 由 ManInMyVan (
79bf7e4) - 移除 ChatB 中的双空格 - 由 ManInMyVan (
6e5ec33) - 将 PositionBreakB 标记为稳定 - 由 ManInMyVan (
89cf181) - 将 MultiActionsC 标记为稳定 - 由 ManInMyVan (
a82f2b8) - 将 MultiActionsD 标记为稳定 - 由 ManInMyVan (
a86bf57) - 可能修复构建 - 由 ManInMyVan (
9ba4052) - 在旧版上更新库存前清除活跃物品 (#2317)
-
应用 spotless
-
在旧版上更新库存前清除活跃物品 - 由 BT (calcastor/mame) (
b69906f)
- 允许每刻最多一个 PLAYER_INPUT (#2306) - 由 ManInMyVan (
1b47e31) - 添加架子碰撞箱 - 由 ManInMyVan (
4f3e715) - 添加铜傀儡雕像碰撞箱 - 由 ManInMyVan (
a76bf9c) - 添加铜傀儡雕像、架子碰撞箱以及其他缺失的 1.21.10 内容 (#2315)
-
添加铜傀儡雕像
-
包含 ViaVersion 替换
-
添加架子
-
同时添加铜盔甲
-
添加人体模型箱尺寸
-
添加铜傀儡尺寸 - 由 AnnotationVisitor (
102b584)
- 如果玩家刻可靠,我们不需要高界限。 - 由 SamB440 (
f8a5315) - Fabric 切换到 mojmap
参见 https://fabricmc.net/2025/10/31/obfuscation.html - 由 ManInMyVan (b373e5f)
- 略微清理 Fabric 代码 - 由 ManInMyVan (
0df77dd) - 重新排序工件发布到 Modrinth 并更新支持的版本 - 由 Axionize (
bfd2bd0) - 为适用的 reach/hitbox 标志显示尺寸 - 由 ManInMyVan (
6280b28) - 不要在未加载的区块中模拟移动?
谁知道这还会引起其他什么问题... - 由 SamB440 (0ba3317)
- 升级 cloud 至 beta.13,修复 #2318 - 由 SamB440 (
c323cf0) - 禁用 PacketOrderP,修复 #2327 - 由 SamB440 (
ea1f161) - 新翻译 ro.yml (#2285)
配置 grim ac 的罗马尼亚语翻译。 - 由 ItzBloxxy (918e657)
- 禁用 ExploitB“无效页面字符”检查 - 由 ManInMyVan (
def2163) - 小型活塞优化 - 由 AoElite (
ba1d1db) - 调整 GrimDump 输出并包含一些非默认警报设置 - 由 AoElite (
5c71531) - 希望使安装说明更清晰
同时将其在页面上移得更高 - 由 ManInMyVan (b14628c)
- 确保在关闭库存后使用基于数据包的库存状态 - 由 cyramek (
a46d296) - 更新 CrashC.java (#2350) - 由 Weigurde (
6df484b) - 升级 PacketEvents 版本 - 由 Axionize (
9b500a2) - 将工作流迁移到 tenki (#2362) - 由 tenki-cloud[bot] (
e1bd2ed) - 移除一些不必要的发布路径 - 由 AoElite (
3380d7f) - 优化边界框计算 - 由 cyramek (
3f67272) - Setback 变更 - 由 SamB440 (
8ddd7f1) - 改进绕过模板 - 由 ManInMyVan (
ba91251) - 更一致的问题模板 - 由 ManInMyVan (
499bf7e) - 修复观察命令在观察另一维度的玩家时重置游戏模式的问题 (#2365)
- 修复维度变更时的游戏模式变更
当对另一维度的玩家使用观察命令时发生了此问题。观察者被设置为生存模式。
- 修复玩家游戏模式重置 bug
当观察另一维度的玩家时,你之前会被设置为生存模式,现在已修复。 - 由 GroupXyz (3fc985c)
- 修复了 Happy Ghast 和低于 1.21.6 的客户端导致的 Reach 误报 (#2352) - 由 Greened (
e386b93) - 升级 PacketEvents 版本 - 由 Axionize (
2d785fd) - 使 Discord webhook 模式更严格并支持不同的 API 版本 - 由 AoElite (
3bf3226) - 更新所有配置中 lunar 的品牌格式 - 由 AoElite (
2d053d0) - 更多 setback 变更 - 由 SamB440 (
4d28f85) - 调整 canGlide 逻辑以尝试提高兼容性 - 由 AoElite (
679e869) - 调整 isGlider 逻辑以考虑无法耗尽的物品 - 由 AoElite (
acf273f) - 还原"fix incorrect EquipmentSlot mappings in isGlider logic"
此操作还原了提交 d96d683b14150d6e0f486a63cf1a74c417c6a84b。 - 由 AoElite (0153ce3)
- 重构仓库逻辑以支持 mavenLocalOverride - 由 Axionize (
965008f) - 升级 PE - 由 Axionize (
12f6af3) - 添加对 1.21.11 的初步支持并更新依赖 - 由 Axionize (
97b8758) - 修复副手槽位中滑翔翼不工作的问题 (#2397) - 由 iLemon (
32f607b) - 升级 github actions-upload-artifact 版本 - 由 Axionize (
9bd12cc) - 使 runner 可配置以绕过 Tenki 问题 (#2398) - 由 Axionize (
f772b74) - 修复启用 Spigot late-bind 选项时的 NPE 并改进注入逻辑
此 PR 修复了在 1.14.4 之前的服务器上启用 Spigot"late-bind"选项时发生的 NullPointerException。
变更:
-
更改注入优先级:插件现在尝试首先注册 Paper TickEndEvent。仅在 Paper API 不可用时才回退到 NMS 反射。
-
为服务器连接实例添加了空值检查,以防止反射注入期间的 NPE。
-
添加了特定的错误日志记录:如果在旧版服务器 (< 1.14.4) 上注入失败,插件现在会通过反射检查
spigot.yml设置,以明确警告用户是否是late-bind导致的问题。 -
重构反射逻辑以使用
ReflectionUtils,以提高安全性和代码整洁度。 - 由 uRyanxD (5f02ccc) -
升级 PE - 由 Axionize (
92d06e4) -
构建 CI 变更 - 由 Axionize (
9626712) -
缓存 map 值以提升性能 (#2407) - 由 Rothes (
8f0036e) -
稍微清理 OptifineFastMath.java - 由 ManInMyVan (
2d8def6) -
支持 CAMERA 数据包 (#2303) - 由 ManInMyVan (
d374c2b) -
添加 PlatformPlayerFactory#getOfflinePlayers() - 由 Axionize (
ce0dad5) -
暂存工作 - 由 Axionize (
90193b4) -
修复由于仅旋转回归导致未标记 1.15 至 1.20.1 版本客户端的 reach 回归 - 由 Axionize (
60b70d1) -
合并分支 'fix/reach-infinite-expanding-hitbox' 到 2.0 - 由 Axionize (
4292e93) -
使用 config history.database.port 作为数据库连接端口。修复 #2415 - 由 SamB440 (
42b6630) -
防止 Fabric 上因重建 ServerPlayerEntity 而在重生时出现撕裂读取和竞态条件 - 由 Axionize (
101473b) -
在 netty 线程上重新同步,而不是尝试在区域线程中发送数据包 - 由 Axionize (
80f90e6) -
添加选项以通过 NoOp resync 处理器禁用没有 API 的重新同步 - 由 Axionize (
7c68947) -
修复 Sculk Vein 替换阶段/模拟误报 & 优化 canBeReplaced 逻辑
-
为 SCULK_VEIN 添加了替换逻辑(镜像 GLOW_LICHEN)。
-
将顺序的'if'语句重构为'else-if'链,以改进分支预测并允许早期退出。
-
根据频率重新排序方块检查(现在首先检查台阶、雪和藤蔓)。
-
合并了多面方块的重复逻辑。 - 由 Axionize (
b79d5fd) -
仅当 PLAYER_INFO_UPDATE 包含 ADD_PLAYER 动作时才更新配置文件 - 由 Axionize (
d0b30de) -
修补 FabricatedPlace 误报 - 由 Axionize (
98fd065) -
使 CrashC 详细信息与其它检查更一致 - 由 ManInMyVan (
6186abc) -
改进 FabricatedPlace 修补 - 由 Axionize (
07d2010) -
尝试修复 disconnect.timeout 级联问题 - 由 Axionize (
639490a) -
修复蘑菇和真菌的 Hitboxes - 由 Axionize (
14573da) -
修复珊瑚 hitboxes - 由 Axionize (
a2074d0) -
添加遗漏的用于 hitbox 修复的工具类文件 - 由 Axionize (
8016586) -
修复 hitbox 修补中的合并错误 - 由 Axionize (
ca64aab) -
更新 .gitignore - 由 Axionize (
be35b9b) -
最终修复仅旋转在 1.15 - 1.20.1 和 1.21.5 - 1.21.8 中计入 reach/hitbox 的问题 - 由 Axionize (
9cb4547) -
针对 Folia 破坏 getTPS() 的临时修复 - 由 Axionize (
dbd7510) -
针对 Folia 破坏 getTPS() 的更快临时修复 - 由 Axionize (
02f6a3b) -
添加对旧版 API 的回退支持 (#2409)
-
暂时添加回对旧版 API 的支持
-
将 API 升级至发布版本 - 由 Axionize (
95e2774)
- 1.21.11 支持 (#2420)
-
修复马的现代/旧版跳跃机制,骆驼冲刺冷却追踪 (#2199)
-
实现 UseEffects 组件
修复:https://github.com/GrimAnticheat/Grim/issues/2396
-
初步支持 hitbox 边距
-
compensableDashableEntities -> dashableEntities
-
实现在水中漂浮
-
实现鹦鹉螺移动
待办:修复冲刺,修复台阶
- 修复 0.03 流体推动
此代码在此处被丢弃: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f
-
修复鹦鹉螺冲刺
-
提高冲刺时的精度
-
实际上修复了冲刺
我真的很笨 ngl,原版数据包序列:
- 带有 PLAYER 视角角度的 rot 数据包
- 带有 ENTITY 视角角度的载具移动数据包
载具移动数据包覆盖了第一个 rot 数据包中玩家的 yaw 和 pitch
- 为鹦鹉螺实现所有预测引擎
我稍后会重构这个
-
支持新的滑翔行为
-
重构鹦鹉螺预测引擎
-
实现干涸边界框
-
在流体推动中添加对快速熔岩游戏属性的支持
-
骆驼现在有了变种
-
WIP 基于刻的世界边界
-
修复离地骆驼冲刺
感谢 thisisatest8406
-
为实体添加 onGround 追踪
-
还原追踪实体 onGround
我决定我不够在乎,骆驼 bug 太多了,一切都不同步
-
移除不需要的 diff
-
修复待处理跳跃和骆驼离地冲刺
-
移除关于鹦鹉螺跳跃逻辑的过时注释
-
添加对 max_reach AttackRange 组件的支持
共同作者:Axionize 154778082+Axionize@users.noreply.github.com - 由 Cyramek (bf85863)
- 统一所有 API - 由 Axionize (
c5855fd) - 修复对弄乱旧版 getGrimUser(Player player) 方法的支持 - 由 Axionize (
8001f6c) - 升级 PE - 由 Axionize (
21f6988) - 升级 API 以不再 shade Player shim - 由 Axionize (
50a25d9) - 命令 API 回退处理 - 由 Axionize (
08770f0) - 重构 Fabric 以使权限 API 和 cloud 成为可选依赖 - 由 Axionize (
b9fa89c) - Fabric 1.21.11 支持,用于 fabric-permissions-api-v0 未被包含的情况 - 由 Axionize (
075cec8) - 更新支持的 fabric 版本 - 由 Axionize (
3659060) - 升级 PE - 由 Axionize (
a54329a) - 修复 Bukkit 上 CommandManager 过早初始化导致的启动问题 - 由 Axionize (
fefe0d1) - 重命名 Fabric mc1211 -> mc12111 模块 - 由 Axionize (
9d1682d) - 修复通过潜影盒切换工具时的 fast break 误报 (#2454) - 由 Ayou (
c043357) - 暂时还原此项,直到我们找到更好的修复方法 - 由 cyramek (
b7a719d) - 不允许玩家重用 setback 速度 (修复 #2445) (#2450) - 由 SamB440 (
cd86c14) - 重命名 Fabric1211PlatformServer -> Fabric12111PlatformServer - 由 Axionize (
88cfffc) - 重构 Resolver 生命周期 - 由 Axionize (
35174fd) - 唤魔者尖牙是不可击中的 - 由 SamB440 (
80afaae) - 升级 PE:修复数据包排序和映射问题
- Previa 数据包映射因错误地向上游调用 getPacketVersion() 而非 getClientVersion() 而失败,影响所有版本上的 previa
- 修复 Krypton + Via + Grim 兼容形式的监听器重定位 - 由 Axionize (
6c49a01) - 添加从 CompensatedWorld 暴露 int 方块类型的方法 (#2464)
-
实现功能
-
更新 common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
- 添加 @Override 注解
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 由 Cubicake (2b62148)
- 添加 /grim testwebhook - 由 ManInMyVan (
327b947) - 改进中文配置文件中的注释 (#2490)
更新了 zh.yml 中的注释以提高清晰度和翻译质量。 - 由 MatrixU5er (b65b7f0)
- 在 ZNPCsPlus 之后加载 - 由 ManInMyVan (
1d0cbb7) - 升级 grim-api 版本 - 由 AoElite (
7be8f51) - 更新 Grim API 至 1.2.4.0 - 由 Axionize (
4ca65b1) - 修复获取不稳定脚手架 hitbox 的问题 - 由 Axionize (
f0fbc9d) - 历史重写标记 - 由 Axionize (
7d487a4) - 添加对具有攻击范围组件的物品之间属性交换的支持 - 由 Axionize (
b281a2d) - 更新翻译 - 由 tjshtqwq (
c2acfae) - 合并分支 '2.0' 到 patch-1 - 由 tjshtqwq (
75b5405) - 更新 zh.yml - 由 tjshtqwq (
f54ca0e) - 清理拼写错误和译者注释 - 由 Axionize (
1f55742) - 合并 PR #2267 - 改进的中文翻译 - 由 Axionize (
439477e) - 为 GrimAC 添加波兰语配置文件 (#2501)
共同作者:DawixTV 92529087+DawixTV@users.noreply.github.com - 由 dxw1d (272a889)
- 还原"load after ZNPCsPlus"
此操作还原了提交 1d0cbb7078205b0b265a8ae6047bd304811ed130。 - 由 ManInMyVan (c7983b7)
- 移除 Reach.java 中未使用的导入 - 由 ManInMyVan (
d273229) - 修复 Discord Webhook PAPI 占位符 (#2518)
-
修复对几种边缘情况的 Discord markdown 解析支持
-
修复 PAPI 名称混淆
-
清理新 Discord Webhook 处理的实现
-
文档化 exploit 选择不使用 volatile 的技术正确性
-
解决所有代码审查关切
-
清理未使用的代码
-
重构与 discord 相关数据类型的包 - 由 Axionize (
c356f5f)
- 修复 Discord 重构中未重构包引用导致的编译问题 - 由 Axionize (
53cf3e8) - Discord.yml 翻译修复 - 由 Axionize (
d4611f1) - 在 discord.yml 中添加支持 disable-webhook-validation 布尔值,用于带有 Discord webhooks 的自定义域名
关闭 https://github.com/GrimAnticheat/Grim/issues/2520 - 由 Axionize (879d566)
- 考虑 1.21.2+ 客户端在载具中忽略传送数据包的情况 (#2470)
修复:https://github.com/GrimAnticheat/Grim/issues/2463 - 由 Cyramek (8a0d1e2)
- 升级版本至 2.3.74 - 由 cyramek (
546abf0) - 为旧版服务器上的 1.21.11+ 客户端添加对 viaversion 攻击范围组件的支持 (#2474)
添加对 https://github.com/ViaVersion/ViaVersion/pull/4733 的支持 - 由 Cyramek (7e8b6b6)
- 修复 Polymer 方块编码在与世界重新同步时崩溃的问题,优化 Fabric PlatformChunk.getBlockId(x,y,z) 的分配 - 由 Axionize (
0a1ce1d) - 重生时重置食物等级 (#2528) - 由 SamB440 (
5749463) - 修复浮动方块放置时的幽灵方块缓解 (#2530) - 由 RareMen (
13fb273) - 豁免 1.21.11+ 中的观察者免受 PacketOrderB 检查 (修复 #2493) - 由 ManInMyVan (
29c0757) - 略微更改 BadPacketsP 描述 - 由 ManInMyVan (
539e822) - 重命名 BadPacketsC 为 SelfInteract - 由 ManInMyVan (
177c003) - 在 init 时设置 CheckManager#packetEntityReplication - 由 ManInMyVan (
3055cd1) - 使 TransactionOrder 详细信息与其他检查一致 - 由 ManInMyVan (
68f34f2) - 要求 PacketOrderB 中的手为 MAIN_HAND - 由 ManInMyVan (
598aae0) - 在 1.9 服务器上检查 keepsprint (#2070)
-
在 1.9 服务器上检查 keepsprint
-
每次槽位更改时更新 AttackCooldownHandler 中的持有物品
-
修复 #2389
-
更改 AttackCooldownHandler 包 - 由 ManInMyVan (
e954124)
- 页脚文本不会被解析为 markdown - 由 ManInMyVan (
e40ec01) - 升级 Kotlin Plugin Serialization 至 2.3.0 - 由 Axionize (
5f9b9dd) - 将 DefaultResyncHandler 设为 record - 由 Axionize (
740f7f4) - 长矛刺击是攻击,应如此处理 - 由 ManInMyVan (
bf10e23) - 在工作流中添加单独的逻辑以发布正式构建 - 由 AoElite (
f0e15b0) - 升级 PE 以初步支持 26.1 - 由 Axionize (
f380fcd) - 修复 PE 26.1 更新(延迟的 fabric 文件夹) - 由 Axionize (
9b06c86) - 在允许回退前检查
isPacketInventoryActive是否为 false - 由 SamB440 (6a46c35) - 将 ElytraA onStartGliding() 移动到 PacketEntityAction 中的客户端版本检查之前 - 由 ManInMyVan (
11d572f) - 考虑 INTERACT_ENTITY 在 26.1 中被拆分 - 由 ManInMyVan (
7d9dc86) - 实际上在 MultiInteractA 中检查潜行 - 由 ManInMyVan (
89eedbe) - Quilt 是一个普通客户端 - 由 ManInMyVan (
77c48f4) - 修复发光鱿鱼边界框 - 由 SamB440 (
10cb176) - 添加 BadPacketsC 以检查 LEAVE_BED 数据包是否有效 - 由 ManInMyVan (
d1b2135) - 修复灵魂火把碰撞数据 - 由 SamB440 (
7fd7bc1) - 修复历史命令中的 PostgreSQL UUID 检索 (#2575)
-
修复历史命令中的 PostgreSQL UUID 检索
-
改进 DatabaseUtils 中 UUID 检索的错误处理
-
在 DatabaseUtils.getUuid 中使用 if-else if - 由 Fussel (
efd796c)
- 升级 PE 以支持 Bukkit 26.1 服务器 - 由 Axionize (
ece9f3c) - 对 PacketHidePlayerInfo 进行 minor 更改 - 由 ManInMyVan (
b55a12c) - RESOURCE_PACK_STATUS 是异步的 - 由 ManInMyVan (
e8dc9ae) - 降级 PE 以修复 PE 的 netty 监听器中 promise/future 执行崩溃的问题 - 由 Axionize (
3e07a0e) - 升级 Gradle Wrapper 以修复构建 (#2591) - 由 Tyler (
890799d) - 修复 MYSQL 8 支持 (#2534)
-
修复 MYSQL 8 支持
-
防止双重索引错误每次都发送。 - 由 Milan Ensink (
35fe1f0)
- MultiActionsD 未检查本刻是否打开了库存 (#2596) - 由 Bram (
1b60cb8) - 不要两次检查相同的值 - 由 ManInMyVan (
99dce8c) - 修复错误的实体元数据索引 - 由 Axionize (
c169d9c) - 修复旧版 paper 和 MC 版本中方法不存在时的 teleportAsync 检测 - 由 Axionize (
7885555) - 26.1 支持 (#2553)
目前仅限 bukkit 平台 - 由 Cyramek (a9b91e7)
- 升级 PE 以支持 26.1.2 - 由 Axionize (
f36f870) - 实现流体计数器 - 由 cyramek (
f9fdfa7) - 始终使用主手进行攻击数据包 - 由 cyramek (
61e9e69) - 不要传递 null clientVersion,以便 chunk 使用服务器版本进行映射查找
在最近更新 packetevents 后崩溃,该更新覆盖了 Chunk_v1_18 中的 #set 方法 - 由 cyramek (8dc657a)
- 修复一些关于骆驼冲刺的误报 (#2462)
-
修复骆驼冲刺误报
-
忘记了骆驼尸壳
-
遵守代码风格
-
修复重生
-
遵守代码风格(这次是真的)
-
修复骆驼的 SprintG 误报
-
将骆驼冲刺状态移至 VehicleData - 由 LaserSlime (
d55f1b7)
- 如果存在则加载可选的 workspace.gradle.kts - 由 Axionize WS1 (
6c3ccb4) - 将内部触发迁移到 GrimAPI 1.3 通道 API (#2612) - 由 Axionize (
3664f4d) - Vault 方块上的 FastBreak 误报 (#2610) - 由 Tyler (
794e120) - 与 GrimTeleportEvent 一起触发 GrimPlayerSetbackEvent - 由 Axionize WS2 (
a86dedf) - 升级 packetevents 至 6953c38 (上游 2.12.2 合并 + 混淆安全的 nbt 扫描) - 由 Axionize WS1 (
7499d10) - 在我们的自定义 chunk 读取器中传递流体计数 - 由 cyramek (
66b3334) - 更新 DynamicConnecting.java (#2617)
修复了 1.8.9 / 旧版本认为日光探测器连接到栅栏/铁栏杆的问题
相关:https://github.com/GrimAnticheat/Grim/issues/1856 - 由 KotlinList (d81d03f)
- 升级 packetevents 至 22c9961 (relocateHandlers 尊重压缩/解压缩)
修复 #2552 - 由 Axionize WS1 (257bffe)
- 修复 DynamicConnecting.java 与客户端版本相关的问题 (#2618)
已在 1.8.9, 1.20.4 以及 ViaVersion 在 1.20.4 服务器和 1.8.9 客户端上测试
相关问题:https://github.com/GrimAnticheat/Grim/issues/2148 - 由 InetAddress (5c46b0a)
- 历史重写:五个后端、基于会话、环形缓冲区写入路径 + 通用配置自动更新器 (#2622) - 由 Axionize (
578c784) - Minor Post 代码清理 - 由 ManInMyVan (
053b090) - 不要在 PacketOrderK 中取消 CLOSE_WINDOW - 由 ManInMyVan (
fbabbf2) - 将 grim.legacy.* @CheckData stable_keys 重命名为描述性名称 - 由 Axionize WS1 (
c233a60) - 在发出双引号标量时转义反斜杠 (#2623) - 由 Axionize WS1 (
84bd90d) - 通过路由到 ChunkSource 修复 isChunkLoaded 上的 StackOverflow (#2568) - 由 Axionize WS2 (
c88b494) - 踢出任何发送 vv:proxy_details 的人 - 由 ManInMyVan (
3021287) - 还原"kick anyone who sends vv:proxy_details"
此操作还原了提交 3021287391de4aee964abe5bcf6c452f72f68a7b。 - 由 AoElite (73f63c1)
- 修复了潜影盒不确定性逻辑中的拼写错误 (#2630) - 由 aquip (
2508a34) - 踢出任何发送 vv:proxy_details 的人 - 由 ManInMyVan (
e9c918d) - 添加对 URL 超时自定义的支持并重新实现通过代理踢出 - 由 AoElite (
fd9e0f8) - 为 /grim history 添加 --name / --match / --grep 正则过滤器 - 由 Axionize WS1 (
d591f10) - 升级 grim-api pin 至 1.3.2.0 - 由 Axionize WS1 (
2c60aae) - 红石墙火把应使用 isLit 而非 isPowered - 由 cyramek (
21f0c3d) - 升级 grim-api 至 1.3.2.1 - 由 Axionize WS2 (
17d4d2f) - 在 isTickingReliablyFor 中检查 cameraEntity.isSelf() - 由 ManInMyVan (
3e5afef) - 简化潜影盒打开/关闭 - 由 ManInMyVan (
fc899a3) - Min,而非 max - 由 ManInMyVan (
83a6d98) - Happy ghast 比例也被限制 - 由 ManInMyVan (
5254190) - 移除未使用的导入 - 由 ManInMyVan (
145f71c) - 当推送负载缺失时回退到 modrinth 获取 changelog 范围 - 由 Axionize WS1 (
4c866d0) - 小清理 - 由 ManInMyVan (
5a40a06) - 移除未使用的导入 - 由 ManInMyVan (
215a1e6) - 调整"UrlTimeout"常量以保持一致性 - 由 AoElite (
addabec) - 更新 DiscordManager webhook 正则表达式以支持 canary 并使超时可配置 - 由 AoElite (
99e309f) - 在传送中检查旋转 (#2268) - 由 ManInMyVan (
717829a) - 使 CheckData 中的 name 和 stableKey 不为可选 - 由 ManInMyVan (
65d1050) - 仅在 sprint 检查中奖励时检查 isSprinting - 由 ManInMyVan (
c549b19) - 在 SprintA 中使用违规 setback - 由 ManInMyVan (
6953235) - 升级 grim-api 至 1.4.0.0 - 由 Axionize (
cdd490b) - 为 swim-hop 向量应用方块效果 (#2648)
-
为 swim-hop 向量应用方块效果
-
调整 swim hop 常量 - 由 Cyramek (
73c60d0)
- VersionUtil 使用 providers.exec 进行 git 操作 (config-cache 兼容) - 由 Axionize (
62b2268) - 在 N 处锚定 N:M 间隔 (#2661) - 由 Axionize (
5fa803e) - 在边界交叉时触发 N:M,而不是在边界的每个标志时触发 - 由 Axionize (
36675eb) - 每命令事件光标 (nextBoundary + executedOnce) - 由 Axionize (
fb4ad7a) - 保留旧版一次性命令语义 - 由 Axionize (
20d68c1) - 升级 grim-api 至 1.5.0.0 - 由 Axionize (
25d10f4) - 使用路由后端检查目录 - 由 Axionize (
29316a7) - 修复旧版历史检查 ID - 由 Axionize (
70223cd) - 使用 MySQL 重连 API 构建 - 由 Axionize (
ff214a4) - 异步运行 check-id 修复 - 由 Axionize (
e32d091) - 小清理 - 由 ManInMyVan (
fdaf096) - 当 PacketUser 为 null 时跳过 onUserLogin - 由 Axionize (
2af658c) - 回港 V3-side 奇偶校验添加(针对 2.0)(#2678) - 由 Axionize (
9b1aa1a) - 升级 PE:修复 Issue #2670 - 由 Axionize (
6252fe6) - 允许配置中不包含
client-brand.ignored-clients- 由 ManInMyVan (60d3ecf) - 将工具类标记为 @UtilityClass - 由 ManInMyVan (
fd9e91d) - 将 WriteLog$Entry 设为 record - 由 ManInMyVan (
d501dfe) - 升级 PE:修复 #2681 - 由 ManInMyVan (
43db51d) - 将 player.stuckSpeedMultiplier 设为 Vector3d
同时减少对象分配 - 由 ManInMyVan (8083f42)
- 更多对象分配减少 - 由 ManInMyVan (
d939109) - 将 ChatD 标记为稳定 - 由 ManInMyVan (
5869433) - 更多代码清理 - 由 ManInMyVan (
935668a) - 将一些监听器标记为 pre-via - 由 ManInMyVan (
ce89791) - 减少内存分配并排除注解处理器 (#2669)
-
ComplexCollisionBox#downCast: 减少 alloc
-
ReachInterpolationData#getPossibleLocationCombined: 减少 alloc
-
SimpleCollisionBox: 仅在需要时分配 boxes SimpleCollisionBox#betweenCornersInDirection: 跳过 Vector3d alloc
-
Materials: 使用 IdentityHashMap 支持的 Sets 以减少 alloc (StateType#hashCode)
-
build.gradle.kts: 从 shadowJar 中排除注解处理器服务
-
更新 common/src/main/java/ac/grim/grimac/utils/collisions/datatypes/ComplexCollisionBox.java
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
- 移除测试留下的注释
共同作者:Dieu info@l4b.org
共同作者:Techirion 126729304+Techirion@users.noreply.github.com
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 由 NO-UUID (6152908)
- 对 CompensatedInventory.startOfTickStack 使用 lombok getter - 由 ManInMyVan (
199b673) - 如果不需要则不要装箱 - 由 ManInMyVan (
bebccfa) - 使 chat 检查和 BadPacketsM 为 pre-via - 由 ManInMyVan (
21f1534)
♻️ 重构
- 重构插件消息包装器 - 由 ManInMyVan (
5f8692d) - 重构 via 1.11->1.10 chat 钩子 - 由 ManInMyVan (
fc47c5b) - 重构 BlockBreakSpeed 类以提高可维护性 - 由 AoElite (
0d22e34) - 重构 BlockEffectsResolver 以接受移动列表 - 由 cyramek (
29d28c6)
🐛 修复
- 修复一些警告 - 由 ManInMyVan (
0321e0b) - 修复 #2294 - 由 ManInMyVan (
832194a) - 如果发送者被豁免或未找到,则修复 GrimDebug 命令异常 - 由 AoElite (
2fa022e) - 修复 offground 精度损失 <= 1.20.4
我们现在平均在 1e-15 - 由 cyramek (7461aca)
- 无用的玩家获取 (#2329) - 由 Szypkoo (
115c329) - 修复 #2330 - 由 ManInMyVan (
17cf067) - World isLoaded 抛出 method not found (#2372) - 由 Nils Gereke (
403fd36) - 检查面包是否为 setback 时修复空指针 - 由 AoElite (
a1b4893) - 修复 isGlider 逻辑中错误的 EquipmentSlot 映射 - 由 AoElite (
d96d683) - 从 Sapling hitbox 定义中排除 Azalea - 由 Axionize (
4a104e2) - 气泡柱、Azalea、床和天花板墙标牌命中/碰撞箱 - 由 Axionize (
c019566) - 升级 gradle wrapper 以修复构建 - 由 Axionize (
c2afc62) - 修复因初始化顺序不正确导致的 NPE - 由 cyramek (
9e745fd) - 修复 1.8 服务器上的 elytra 数据包滥用 - 由 ManInMyVan (
f95d877) - 尊重每检查 nomodifypacket (#2477) - 由 runningbird2 (
f118b5c) - 修复骑乘鹦鹉螺/happyghast 时的许多碰撞问题 (#2460)
感谢 LaserSlime 和 Axionize 的帮助! - 由 Cyramek (302bed1)
- 修复带有无效掉落物品数据包的 noslow - 由 ManInMyVan (
48115eb) - 修复 #2563 - 由 ManInMyVan (
cd3576b) - 修复 #1990 - 由 ManInMyVan (
b9da63c) - 修复 #2579 - 由 ManInMyVan (
13ad8bd) - 修复 PacketOrderC viabackwards 误报 - 由 ManInMyVan (
fc75e51) - 修复弹性方块 (#2473) - 由 Cyramek (
19c12b7) - 修复 MultiActionsC 中的拼写错误 - 由 ManInMyVan (
8861589) - 修复页面长度检查 (#2637) - 由 Captain-S0L0 (
f81e183) - 修复 shulker & dragon 比例属性 - 由 ManInMyVan (
3d95fea) - 修复 1.8 服务器上的 1.9 客户端 noslow (#2607)
-
修复 1.8 服务器上的 1.9 客户端 noslow
-
修复元数据 ID - 由 ManInMyVan (
5c6de64)
- 修复 1.21.11 spigot 支持 - 由 ManInMyVan (
7d823f5) - 修复骑乘可在水上漂浮的实体时的 swim hops - 由 cyramek (
ce86075) - 修复 1.21.11 三角函数 (#2644)
新的三角查找表刚刚发布 - 由 Cyramek (494e9c5)
- 修复 26.1 spigot 支持 - 由 ManInMyVan (
7ccff01) - 修复 BadPacketsM 误报 - 由 ManInMyVan (
3cd17cc) - 修复花盆中金蒲公英的碰撞 - 由 cyramek (
02f1dc3) - 修复实体边界框复制回归 (#2642)
-
修复实体边界框复制回归
-
检查 tick end 事件是否存在 - 由 Cyramek (
8a3767b)
- 修复带有重生数据包的 compensatedCamera - 由 ManInMyVan (
7a7e07f) - 修复最近的 vialegacy 更新导致的误报 - 由 ManInMyVan (
c156c00) - 修复在流动流体中游泳时的精度损失 (#2668)
我们现在平均在 E-15 - 由 Cyramek (f3ed3b2)
- 修复 1.8 凋零骷髅 hitbox - 由 ManInMyVan (
fdd734a) - 修复 #2677 - 由 ManInMyVan (
34c41db) - 修复 <=1.19.3 中的精度损失 - 由 cyramek (
635708a) - 修复 1.21.11 客户端在 1.8 服务器上标记 reach - 由 ManInMyVan (
edc3987)
🚀 功能
- 支持 postgresql (#2368) - 由 Nils Gereke (
c2c044f) - Discord 论坛频道支持 (#2380) - 由 Nils Gereke (
bf637f5) - 添加 Fabric 活塞事件支持 (#2619) - 由 aquip (
75cc402)
🤖 维护与 CI
- 升级 shadow - 由 Axionize (
955b725) - 增加默认构建内存分配 - 由 Axionize (
55da384) - 升级 PE - 由 Axionize (
b6f9f86)
本次构建的变更(自上次推送以来)
杂项
- 修复获取不稳定脚手架的碰撞箱问题 - 作者:Axionize (
f0fbc9d) - 历史记录重写标记 - 作者:Axionize (
7d487a4) - 为带有攻击范围组件的物品添加属性交换支持 - 作者:Axionize (
b281a2d) - 更新翻译 - 作者:tjshtqwq (
c2acfae) - 将 '2.0' 分支合并到 patch-1 - 作者:tjshtqwq (
75b5405) - 更新 zh.yml - 作者:tjshtqwq (
f54ca0e) - 清理拼写错误和译者注释 - 作者:Axionize (
1f55742) - 合并 PR #2267 - 改进中文翻译 - 作者:Axionize (
439477e) - 为 GrimAC 添加波兰语配置文件 (#2501)
共同作者:DawixTV 92529087+DawixTV@users.noreply.github.com - 作者:dxw1d (272a889)
- 回滚 "在 ZNPCsPlus 之后加载"
此操作回滚了提交 1d0cbb7078205b0b265a8ae6047bd304811ed130。 - 作者:ManInMyVan (c7983b7)
- 移除 Reach.java 中未使用的导入 - 作者:ManInMyVan (
d273229) - 修复 Discord Webhook PAPI 占位符 (#2518)
-
修复对多种边缘情况的 Discord Markdown 解析支持
-
修复 PAPI 名称混淆问题
-
清理新的 Discord Webhook 处理实现
-
记录为何在技术上正确时也不使用 volatile 的利用选择
-
解决所有代码审查关切
-
清理未使用的代码
-
重构与 Discord 相关数据类型的包结构 - 作者:Axionize (
c356f5f)
- 修复因 Discord 重构中未重构包引用而导致的编译问题 - 作者:Axionize (
53cf3e8) - Discord.yml 翻译修复 - 作者:Axionize (
d4611f1) - 在 discord.yml 中添加对 disable-webhook-validation 布尔值的支持,用于带有 Discord webhooks 的自定义域名
关闭 https://github.com/GrimAnticheat/Grim/issues/2520 - 作者:Axionize (879d566)
- 处理 1.21.2+ 客户端在载具中忽略传送数据包的情况 (#2470)
修复:https://github.com/GrimAnticheat/Grim/issues/2463 - 作者:Cyramek (8a0d1e2)
- 版本号提升至 2.3.74 - 作者:cyramek (
546abf0) - 为旧版服务器上的 1.21.11+ 客户端添加对 viaversion 攻击范围组件的支持 (#2474)
添加对 https://github.com/ViaVersion/ViaVersion/pull/4733 的支持 - 作者:Cyramek (7e8b6b6)
- 修复 Polymer 方块在与世界重新同步时编码崩溃的问题,优化 Fabric PlatformChunk.getBlockId(x,y,z) 的内存分配 - 作者:Axionize (
0a1ce1d) - 重生时重置饥饿度 (#2528) - 作者:SamB440 (
5749463) - 修复悬浮方块放置时的幽灵方块缓解问题 (#2530) - 作者:RareMen (
13fb273) - 豁免 1.21.11+ 中的旁观者免受 PacketOrderB 检查(修复 #2493) - 作者:ManInMyVan (
29c0757) - 微调 BadPacketsP 的描述 - 作者:ManInMyVan (
539e822) - 将 BadPacketsC 重命名为 SelfInteract - 作者:ManInMyVan (
177c003) - 在初始化时设置 CheckManager#packetEntityReplication - 作者:ManInMyVan (
3055cd1) - 使 TransactionOrder 的详细输出与其他检查保持一致 - 作者:ManInMyVan (
68f34f2) - 要求 PacketOrderB 中的手必须为 MAIN_HAND - 作者:ManInMyVan (
598aae0) - 在 1.9 服务器上检查 keepsprint (#2070)
-
在 1.9 服务器上检查 keepsprint
-
每次槽位变更时更新 AttackCooldownHandler 中的手持物品
-
修复 #2389
-
更改 AttackCooldownHandler 的包结构 - 作者:ManInMyVan (
e954124)
- 页脚文本不再被解析为 Markdown - 作者:ManInMyVan (
e40ec01) - 升级 Kotlin 插件序列化至 2.3.0 - 作者:Axionize (
5f9b9dd) - 将 DefaultResyncHandler 改为 record 类型 - 作者:Axionize (
740f7f4) - 将 '2.0' 分支合并到 lightning
冲突:
common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java
common/src/main/java/ac/grim/grimac/manager/CheckManager.java
common/src/main/java/ac/grim/grimac/player/GrimPlayer.java - 作者:Axionize (162a8d1)
- 修复编译问题,消除内存分配,并修正 distanceSquared() > 36 而非 6 的逻辑 - 作者:Axionize (
5efefe5) - 长矛刺击属于攻击行为,需按此处理 - 作者:ManInMyVan (
bf10e23) - 在工作流中添加发布正式版本的独立逻辑 - 作者:AoElite (
f0e15b0) - 提升 PE 以初步支持 26.1 版本 - 作者:Axionize (
f380fcd) - 修复 PE 26.1 更新(延迟 fabric 文件夹) - 作者:Axionize (
9b06c86) - 在允许回滚前检查
isPacketInventoryActive是否为 false - 作者:SamB440 (6a46c35) - 将 ElytraA 的 onStartGliding() 移至 PacketEntityAction 中的客户端版本检查之前 - 作者:ManInMyVan (
11d572f) - 处理 INTERACT_ENTITY 在 26.1 版本中被拆分的情况 - 作者:ManInMyVan (
7d9dc86) - 在 MultiInteractA 中实际检查潜行状态 - 作者:ManInMyVan (
89eedbe) - Quilt 被视为普通客户端 - 作者:ManInMyVan (
77c48f4) - 修复发光鱿鱼的边界框 - 作者:SamB440 (
10cb176) - 在 BadPacketsC 中添加对 LEAVE_BED 数据包有效性的检查 - 作者:ManInMyVan (
d1b2135) - 修复灵魂火把的碰撞数据 - 作者:SamB440 (
7fd7bc1) - 修复历史命令中 PostgreSQL UUID 检索问题 (#2575)
-
修复历史命令中 PostgreSQL UUID 检索问题
-
改进 DatabaseUtils 中 UUID 检索的错误处理
-
在 DatabaseUtils.getUuid 中使用 if-else if 结构 - 作者:Fussel (
efd796c)
- 提升 PE 以支持 Bukkit 26.1 服务器 - 作者:Axionize (
ece9f3c) - 对 PacketHidePlayerInfo 进行小幅修改 - 作者:ManInMyVan (
b55a12c) - RESOURCE_PACK_STATUS 是异步的 - 作者:ManInMyVan (
e8dc9ae) - 降级 PE 以修复 PE 的 netty 监听器中 promise/future 执行崩溃的问题 - 作者:Axionize (
3e07a0e) - 升级 Gradle Wrapper 以修复构建问题 (#2591) - 作者:Tyler (
890799d) - 修复 MYSQL 8 支持 (#2534)
-
修复 MYSQL 8 支持
-
防止重复索引错误频繁发送。 - 作者:Milan Ensink (
35fe1f0)
- MultiActionsD 未检查本 tick 内库存是否已打开 (#2596) - 作者:Bram (
1b60cb8) - 避免对同一值进行两次检查 - 作者:ManInMyVan (
99dce8c) - 修复错误的实体元数据索引 - 作者:Axionize (
c169d9c) - 合并远程跟踪分支 'origin/2.0' 到 lightning
冲突:
common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java - 作者:Axionize (65815fc)
🐛 修复
- 修复骑乘鹦鹉螺/快乐恶魂时的多种碰撞问题 (#2460)
感谢 LaserSlime 和 Axionize 的帮助! - 作者:Cyramek (302bed1)
- 修复因无效掉落物品数据包导致的 noslow 问题 - 作者:ManInMyVan (
48115eb) - 修复 #2563 - 作者:ManInMyVan (
cd3576b) - 修复 #1990 - 作者:ManInMyVan (
b9da63c) - 修复 #2579 - 作者:ManInMyVan (
13ad8bd) - 修复 PacketOrderC 在 viabackwards 下的误报 - 作者:ManInMyVan (
fc75e51)
本次构建的变更(自上次推送以来)
杂项
-
使用配置 history.database.port 作为数据库连接端口。修复 #2415 - 作者:SamB440 (
42b6630) -
防止在 Fabric 上因重构 ServerPlayerEntity 而导致重生时出现撕裂读取和竞态条件 - 作者:Axionize (
101473b) -
在 netty 线程上重新同步,而不是尝试在区域线程中发送数据包 - 作者:Axionize (
80f90e6) -
添加选项以通过 NoOp 重新同步处理程序禁用无 API 的重新同步 - 作者:Axionize (
7c68947) -
修复 Sculk Vein 替换阶段/模拟的误报 & 优化 canBeReplaced 逻辑
-
添加了 SCULK_VEIN 的替换逻辑(镜像 GLOW_LICHEN)。
-
将顺序的 'if' 语句重构为 'else-if' 链,以改进分支预测并允许提前退出。
-
根据频率重新排序方块检查(现在优先检查半砖、雪和藤蔓)。
-
合并了多面方块的重复逻辑。 - 作者:Axionize (
b79d5fd) -
仅当 PLAYER_INFO_UPDATE 包含 ADD_PLAYER 动作时才更新配置文件 - 作者:Axionize (
d0b30de) -
修补 FabricatedPlace 的误报 - 作者:Axionize (
98fd065) -
使 CrashC 的详细输出与其他检查更一致 - 作者:ManInMyVan (
6186abc) -
改进 FabricatedPlace 的修补 - 作者:Axionize (
07d2010) -
尝试修复 disconnect.timeout 的级联问题 - 作者:Axionize (
639490a) -
修复蘑菇和真菌的碰撞箱 - 作者:Axionize (
14573da) -
修复珊瑚的碰撞箱 - 作者:Axionize (
a2074d0) -
添加遗漏的用于碰撞箱修复的工具类文件 - 作者:Axionize (
8016586) -
修复碰撞箱修补中的合并错误 - 作者:Axionize (
ca64aab) -
更新 .gitignore - 作者:Axionize (
be35b9b) -
彻底修复 rot 仅在 1.15 - 1.20.1 和 1.21.5 - 1.21.8 版本中计算 reach/hitbox 的问题 - 作者:Axionize (
9cb4547) -
临时修复 Folia 破坏 getTPS() 的问题 - 作者:Axionize (
dbd7510) -
更快的临时修复 Folia 破坏 getTPS() 的问题 - 作者:Axionize (
02f6a3b) -
将远程跟踪分支 'origin/2.0' 合并到 lightning - 作者:Axionize (
5c17fba) -
添加对旧版 API 的回退支持 (#2409)
-
临时添加对旧版 API 的支持
-
将 API 提升至发布版本 - 作者:Axionize (
95e2774)
- 支持 1.21.11 (#2420)
-
修复马的现代/传统跳跃机制,骆驼冲刺冷却追踪 (#2199)
-
实现 UseEffects 组件
修复:https://github.com/GrimAnticheat/Grim/issues/2396
-
初步支持碰撞箱边距
-
compensableDashableEntities -> dashableEntities
-
实现在水中漂浮
-
实现鹦鹉螺移动
待办:修复冲刺,修复台阶
- 修复 0.03 流体推动
此代码曾在以下提交中被丢弃: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f
-
修复鹦鹉螺冲刺
-
提高冲刺时的精度
-
真正修复冲刺
我真的很笨,原版数据包序列:
- 带有玩家视角角度的 rot 数据包
- 带有实体视角角度的载具移动数据包
载具移动数据包会覆盖第一个 rot 数据包中玩家的 yaw 和 pitch
- 为鹦鹉螺实现所有预测引擎
我稍后会重构此部分
-
支持新的滑翔行为
-
重构鹦鹉螺预测引擎
-
实现干旱状态的边界框
-
在流体推动中添加对快速熔岩游戏属性的支持
-
骆驼现在有多种变体
-
进行中的基于 tick 的世界边界
-
修复离地骆驼冲刺
感谢 thisisatest8406
-
添加实体的 onGround 追踪
-
撤销实体 onGround 追踪
我决定我不够关心这个问题,骆驼 bug 太多了,一切都不同步
-
移除不必要的差异
-
修复待处理的跳跃和骆驼离地冲刺
-
移除关于鹦鹉螺跳跃逻辑的过时注释
-
添加对 max_reach AttackRange 组件的支持
共同作者:Axionize 154778082+Axionize@users.noreply.github.com - 作者:Cyramek (bf85863)
- 统一所有 API - 作者:Axionize (
c5855fd) - 修复对混乱的旧版 getGrimUser(Player player) 方法的支持 - 作者:Axionize (
8001f6c) - 提升 PE 版本 - 作者:Axionize (
21f6988) - 提升 API 版本以不再阴影化 Player shim - 作者:Axionize (
50a25d9) - 命令 API 回退处理 - 作者:Axionize (
08770f0) - 重构 Fabric 以使权限 API 和 cloud 成为可选依赖 - 作者:Axionize (
b9fa89c) - Fabric 1.21.11 支持,解决未包含 fabric-permissions-api-v0 的问题 - 作者:Axionize (
075cec8) - 更新支持的 Fabric 版本 - 作者:Axionize (
3659060) - 提升 PE 版本 - 作者:Axionize (
a54329a) - 修复 Bukkit 上 CommandManager 早期初始化导致的启动问题 - 作者:Axionize (
fefe0d1) - 重命名 Fabric mc1211 -> mc12111 模块 - 作者:Axionize (
9d1682d) - 修复通过潜影盒切换工具时的快速挖掘误报 (#2454) - 作者:Ayou (
c043357) - 暂时回滚此项,直到找到更好的修复方法 - 作者:cyramek (
b7a719d) - 不允许玩家重用 setback 速度(修复 #2445)(#2450) - 作者:SamB440 (
cd86c14) - 重命名 Fabric1211PlatformServer -> Fabric12111PlatformServer - 作者:Axionize (
88cfffc) - 重构 Resolver 生命周期 - 作者:Axionize (
35174fd) - 唤魔者尖牙不可被击中 - 作者:SamB440 (
80afaae) - 提升 PE:修复数据包排序和映射问题
- Previa 数据包映射失败,原因是错误地调用了 getPacketVersion() 而非 getClientVersion(),影响所有版本上的 previa
- 修复 Krypton + Via + Grim 兼容性的监听器重定位 - 作者:Axionize (
6c49a01) - 添加从 CompensatedWorld 暴露 int 方块类型的方法 (#2464)
-
实现功能
-
更新 common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
- 添加 @Override 注解
共同作者:ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - 作者:Cubicake (2b62148)
- 添加 /grim testwebhook 命令 - 作者:ManInMyVan (
327b947) - 改进中文配置文件中的注释 (#2490)
更新了 zh.yml 中的注释以提高清晰度和翻译质量。 - 作者:MatrixU5er (b65b7f0)
- 在 ZNPCsPlus 之后加载 - 作者:ManInMyVan (
1d0cbb7) - 提升 grim-api 版本 - 作者:AoElite (
7be8f51) - 更新 Grim API 至 1.2.4.0 - 作者:Axionize (
4ca65b1) - 将分支 '2.0' 合并到 lightning
冲突:
.github/workflows/build-and-publish.yml
common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java
common/src/main/java/ac/grim/grimac/predictionengine/PointThreeEstimator.java - 作者:Axionize (0a6ac7a)
♻️ 重构
- 重构 BlockEffectsResolver 以接受移动列表 - 作者:cyramek (
29d28c6)
🐛 修复
- 修复 1.8 服务器上的鞘翅数据包滥用 - 作者:ManInMyVan (
f95d877) - 遵守每检查项的 nomodifypacket (#2477) - 作者:runningbird2 (
f118b5c)
本次构建的变更(自上次推送以来)
杂项
- 调整 canGlide 逻辑以尝试提高兼容性 - 作者:AoElite (
679e869) - 调整 isGlider 逻辑以考虑无法耗尽的物品 - 作者:AoElite (
acf273f) - 回滚“修复 isGlider 逻辑中错误的 EquipmentSlot 映射”
此操作回滚了提交 d96d683b14150d6e0f486a63cf1a74c417c6a84b。 - 作者:AoElite (0153ce3)
- 重构仓库逻辑以支持 mavenLocalOverride - 作者:Axionize (
965008f) - 升级 PE - 作者:Axionize (
12f6af3) - 添加对 1.21.11 的初步支持并更新依赖项 - 作者:Axionize (
97b8758) - 修复副手槽位中滑翔翼无法工作的问题 (#2397) - 作者:iLemon (
32f607b) - 升级 github actions-upload-artifact 版本 - 作者:Axionize (
9bd12cc) - 使运行器可配置以绕过 Tenki 问题 (#2398) - 作者:Axionize (
f772b74) - 修复启用 Spigot late-bind 选项时的 NPE 并改进注入逻辑
此 PR 修复了在 1.14.4 之前的服务器上启用 Spigot"late-bind"选项时发生的 NullPointerException。
变更内容:
- 更改注入优先级:插件现在尝试首先注册 Paper TickEndEvent。仅在 Paper API 不可用时才回退到 NMS 反射。
- 为服务器连接实例添加了空值检查,以防止在反射注入期间发生 NPE。
- 添加了特定的错误日志记录:如果在旧版服务器(< 1.14.4)上注入失败,插件现在会通过反射检查
spigot.yml设置,以明确警告用户是否由late-bind引起。 - 重构反射逻辑以使用
ReflectionUtils,以提高安全性和代码整洁度。 - 作者:uRyanxD (5f02ccc) - 升级 PE - 作者:Axionize (
92d06e4) - 构建 CI 变更 - 作者:Axionize (
9626712) - 缓存地图值以提升性能 (#2407) - 作者:Rothes (
8f0036e) - 合并远程跟踪分支 'origin/2.0' 到 lightning
冲突:
.github/workflows/build-and-publish.yml - 作者:Axionize (8379457)
- 清理 OptifineFastMath.java 代码 - 作者:ManInMyVan (
2d8def6) - 支持 CAMERA 数据包 (#2303) - 作者:ManInMyVan (
d374c2b) - 添加 PlatformPlayerFactory#getOfflinePlayers() - 作者:Axionize (
ce0dad5) - 暂存工作 - 作者:Axionize (
90193b4) - 修复由于仅旋转回归导致未标记 1.15 至 1.20.1 版本客户端的 reach 回归问题 - 作者:Axionize (
60b70d1) - 合并分支 'fix/reach-infinite-expanding-hitbox' 到 2.0 - 作者:Axionize (
4292e93) - 合并分支 '2.0' 到 lightning - 作者:Axionize (
daa3bfe)
🐛 修复
- 修复 isGlider 逻辑中错误的 EquipmentSlot 映射 - 作者:AoElite (
d96d683) - 从树苗碰撞箱定义中排除杜鹃花丛 (Azalea) - 作者:Axionize (
4a104e2) - 气泡柱、杜鹃花丛、床和天花板壁挂告示牌的击中/碰撞箱 - 作者:Axionize (
c019566) - 升级 gradle wrapper 以修复构建 - 作者:Axionize (
c2afc62) - 修复因初始化顺序不正确导致的 NPE - 作者:cyramek (
9e745fd)
🤖 维护与 CI
- 升级 shadow - 作者:Axionize (
955b725) - 增加默认构建内存分配 - 作者:Axionize (
55da384) - 升级 PE - 作者:Axionize (
b6f9f86)

Bukkit
Folia
Paper
Spigot