tropheusj / block_limit_fix Goto Github PK
View Code? Open in Web Editor NEWFixes a vanilla bug limiting total Blockstates to ~500k
License: MIT License
Fixes a vanilla bug limiting total Blockstates to ~500k
License: MIT License
Hi - tried out the "block_limit_fix-1.0.0-forge.jar" using a Forge 1.19.3 profile.
Inside mods.toml the loaderVersion range is incorrect if you want to include 1.19.3. Forge's number for 1.19.3 is 44.x.x.
Also - does this mod work / is needed for minecraft older than 1.16.5 which the file is tagged in curseforge down to? Unclear from the project page description. If not either case perhaps it would be best to add a lower limit restriction in the loaderVersion also.
Currently is loaderVersion = "(,43]" which is any Forge version equal to or older than 1.19.2.
It should instead be loaderVersion = "(,44]"
(former title: Additional fixes seems required for block limit (ClientboundBlockChangedAckPacket))
This fix worked great in large modpacks for certain cases (Diagonal feces and Diagonal windows mods adding to modpack start to corrupt blocks when placed or change state).
However, there are certain mods that use other network packets that seem to depend on states too. For example, if using the Create mod contraption, some blocks also start to vanish (see Creators-of-Create/Create#5419). I have added the Block Limit Fix mod, and now exceptions in the log have changed. Instead of exceptions for "ClientboundSectionBlocksUpdatePacket", I started to receive them for certain other packet - ClientboundBlockChangedAckPacket. Here is an example:
[02Sep2023 00:55:56.464] [Render thread/ERROR] [net.minecraft.util.thread.BlockableEventLoop/FATAL]: Error executing task on Client
java.lang.NullPointerException: Cannot invoke "net.minecraft.world.level.block.state.BlockState.m_60734_()" because "p_46606_" is null
at net.minecraft.world.level.Level.m_6933_(Level.java:198) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.client.multiplayer.ClientLevel.m_6933_(ClientLevel.java:165) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.world.level.Level.m_7731_(Level.java:188) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.client.multiplayer.ClientLevel.m_233647_(ClientLevel.java:142) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.client.multiplayer.prediction.BlockStatePredictionHandler.m_233856_(BlockStatePredictionHandler.java:44) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.client.multiplayer.ClientLevel.m_233651_(ClientLevel.java:129) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.client.multiplayer.ClientPacketListener.m_214108_(ClientPacketListener.java:2109) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.network.protocol.game.ClientboundBlockChangedAckPacket.m_5797_(ClientboundBlockChangedAckPacket.java:19) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.network.protocol.game.ClientboundBlockChangedAckPacket.m_5797_(ClientboundBlockChangedAckPacket.java:6) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.network.protocol.PacketUtils.m_131356_(PacketUtils.java:22) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:157) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.19.2-20220805.130853-srg.jar%23723!/:?]
at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:131) ~[client-1.19.2-20220805.130853-srg.jar%
This causes the following crash on Forge 1.16 running with Java 11.
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:57)
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88)
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126)
at org.prismlauncher.EntryPoint.main(EntryPoint.java:71)
Caused by: org.spongepowered.asm.launch.MixinInitialisationError: Error initialising mixin config block_limit_fix.mixins.json
at org.spongepowered.asm.mixin.transformer.Config.create(Config.java:153)
at org.spongepowered.asm.mixin.Mixins.createConfiguration(Mixins.java:100)
at org.spongepowered.asm.mixin.Mixins.addConfiguration(Mixins.java:87)
at org.spongepowered.asm.launch.platform.MixinPlatformManager.addConfig(MixinPlatformManager.java:262)
at org.spongepowered.asm.launch.platform.MixinPlatformAgentDefault.prepare(MixinPlatformAgentDefault.java:46)
at org.spongepowered.asm.launch.platform.MixinContainer.prepare(MixinContainer.java:122)
at org.spongepowered.asm.launch.platform.MixinPlatformManager.createContainerFor(MixinPlatformManager.java:144)
at org.spongepowered.asm.launch.platform.MixinPlatformManager.addContainer(MixinPlatformManager.java:134)
at org.spongepowered.asm.launch.platform.MixinPlatformManager.addNestedContainers(MixinPlatformManager.java:152)
at org.spongepowered.asm.launch.platform.MixinPlatformManager.scanForContainers(MixinPlatformManager.java:213)
at org.spongepowered.asm.launch.platform.MixinPlatformManager.inject(MixinPlatformManager.java:186)
at org.spongepowered.asm.launch.MixinBootstrap.inject(MixinBootstrap.java:202)
at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.initializeLaunch(MixinLaunchPluginLegacy.java:201)
at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.initializeLaunch(MixinLaunchPluginLegacy.java:195)
at cpw.mods.modlauncher.LaunchPluginHandler.lambda$announceLaunch$9(LaunchPluginHandler.java:97)
at java.base/java.util.HashMap.forEach(HashMap.java:1337)
at cpw.mods.modlauncher.LaunchPluginHandler.announceLaunch(LaunchPluginHandler.java:97)
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:52)
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72)
at cpw.mods.modlauncher.Launcher.run(Launcher.java:82)
at cpw.mods.modlauncher.Launcher.main(Launcher.java:66)
... 8 more
Caused by: java.lang.IllegalArgumentException: The requested compatibility level JAVA_17 could not be set. Level is not supported by the active JRE or ASM version (Java 11.0, ASM 9.1 (ASM10_EXPERIMENTAL))
at org.spongepowered.asm.mixin.MixinEnvironment.setCompatibilityLevel(MixinEnvironment.java:1570)
at org.spongepowered.asm.mixin.transformer.MixinConfig.initCompatibilityLevel(MixinConfig.java:555)
at org.spongepowered.asm.mixin.transformer.MixinConfig.postInit(MixinConfig.java:500)
at org.spongepowered.asm.mixin.transformer.MixinConfig.onLoad(MixinConfig.java:428)
at org.spongepowered.asm.mixin.transformer.MixinConfig.create(MixinConfig.java:1285)
at org.spongepowered.asm.mixin.transformer.Config.create(Config.java:148)
... 28 more
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.