[](https://modrinth.com/user/spoorn "https://modrinth.com/user/spoorn") [
](https://discord.gg/xfddZwG898 "https://discord.gg/xfddZwG898") [
](https://github.com/spoorn/QoLFixes "https://github.com/spoorn/QoLFixes") [
](https://github.com/spoorn/QoLFixes/issues "https://github.com/spoorn/QoLFixes/issues")
描述
包含针对 Fabric 加载器的各种生活质量改进。查看下方的“功能”部分,了解本模组所做的更改列表(全部可配置)。同时修复了一些错误。
功能
- 移除服务器认为玩家移动过快时出现的“...移动过快!...”错误信息
- 移除玩家移动过快时服务器自动传送回原地的功能
- 对载具也移除上述功能
- 使 AbstractCriterion 进度使用线程安全的集合。修复类似 https://github.com/Draylar/inmis/issues/117 的问题
- 使各种功能(如 ShulkerEntity 的 getHeightOffset)具备空指针异常安全性。防止类似 https://github.com/Sollace/Presence-Footsteps/issues/135 的问题
- 将多种物品的最大堆叠数量增加到 64(可切换),例如:鞍、桶、牛奶桶、实体桶、细雪桶、雪球、船、末影珍珠、鸡蛋、附魔书、蜂蜜瓶、药水、音乐唱片、马铠、炖菜
- 修复 StructureTemplate.PalettedBlockInfoList 的并发修改异常:
由 java.util.ConcurrentModificationException 引起
位于 java.util.HashMap.computeIfAbsent(HashMap.java:1221) ~\[?:?\]
位于 net.minecraft.structure.StructureTemplate$PalettedBlockInfoList.getAllOf(StructureTemplate:773) ~\[?:?\]
位于 net.minecraft.structure.StructureTemplate.getInfosForBlock(StructureTemplate:184) ~\[?:?\]
位于 net.minecraft.structure.pool.SinglePoolElement.getStructureBlockInfos(SinglePoolElement:111) ~\[?:?\]
- 修复错误的声音数据包导致客户端被服务器踢出的问题:
\[21.11 14:17:52\] \[Server\] \[Netty Epoll Server IO #2/ERROR\]: 接收数据包 96 时出错 \[21.11 14:17:52\] \[Server\] java.lang.IllegalArgumentException 在映射 Registry\[ResourceKey\[minecraft:root / minecraft:sound\event\] (Experimental)\] 中找不到 'net.minecraft.class\3414@164a3a7a' 的 ID \[21.11 14:17:52\] \[Server\] at Not Enough Crashes deobfuscated stack trace.(1.19.2+build.28) ~\[?:?\] \[21.11 14:17:52\] \[Server\] at net.minecraft.network.PacketByteBuf.writeRegistryValue(PacketByteBuf:147) ~\[?:?\] \[21.11 14:17:52\] \[Server\] at net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket.write(PlaySoundS2CPacket:47) ~\[?:?\] \[21.11 14:17:52\] \[Server\] at net.minecraft.network.PacketEncoder.encode(PacketEncoder:45) ~\[?:?\] \[21.11 14:17:52\] \[Server\] at net.minecraft.network.PacketEncoder.encode(PacketEncoder:14) ~\[?:?\] \[21.11 14:17:52\] \[Server\] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) \[netty-codec-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) \[netty-transport-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) \[netty-transport-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071) \[netty-transport-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) \[netty-common-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) \[netty-common-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) \[netty-common-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:391) \[netty-transport-classes-epoll-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) \[netty-common-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) \[netty-common-4.1.77.Final.jar:?\] \[21.11 14:17:52\] \[Server\] at java.lang.Thread.run(Thread.java:833) \[?:?\] \[21.11 14:17:52\] \[Server\] \[Netty Epoll Server IO #2/ERROR\]: \[QoLFixes\] 注册声音事件数据包失败,ID 为 platypus:platypus\_ambient \[21.11 14:17:52\] \[Server\] \[Netty Epoll Server IO #2/WARN\]: \[QoLFixes\] 跳过错误声音数据包的写入错误
配置
你可以在配置文件 config/qolfixes.json5 中切换所有功能。你也可以查看配置文档 https://github.com/spoorn/QoLFixes/blob/main/config-documentation.json5 获取更多详情。
依赖项
本模组需要:
- Fabric API - https://modrinth.com/mod/fabric-api

如果你喜欢这个模组,也看看我的其他模组吧!:https://www.curseforge.com/members/spoorn/projects