Closed Ampflower closed 2 years ago
I've looked at several ways to try and fix this issue. However, most of these come with their own problems. Note: Yung-api's mixin only actually changes anything if used in dev-environment.
For example:
Using require = 0
: This would cause the mixin to remain disabled even if yungs-api's mixin doesn't modify anything.
This would result in production servers getting stuck in an infinite loop at startup if the disable_spawn_chunks
option is enabled.
Redirecting ServerChunkCache#getTickingGenerated
instead of modifying the constant value: Its what I used to do before, but this creates an incompatibility with ksyxis.
Disabling the mixin entirely if yungs-api is loaded: Since yungs-api's mixin only changes things when used in development environment, disabling this whenever it is installed would be a disadvantage for users (and yungs-api does not provide an alternative). Its better than crashing, but its more of a last resort option.
I think that probably, the most "clean" way to fix this issue would be on their end - by only injecting their mixin if it is used within dev environment. This can be done by using a mixin config plugin (example).
Fixed in yungnickyoung/YUNGs-API#28
Describe the bug ServerCore's
disableSpawnChunks(I)I
constant modifier mixin fails to be injected when YUNG's API is present.Reproduce Steps to reproduce the behavior:
Expected behavior A clear description of what you expected to happen. The game to launch normally and for both mods to be compatible.
Versions -Latest is not a version! ServerCore: 1.2.8 Minecraft: 1.18.2
Mod incompatibilities List any installed mods you think might play a role in causing this bug. Definitive:
Others required but aren't causes themselves:
Crash Report on the client (can also be reproduced on the server)
```java [02/04/2022 20:52:14 PM] [main/INFO] Loading Minecraft 1.18.2 with Fabric Loader 0.13.3 [02/04/2022 20:52:15 PM] - Mod 'Sodium Extra' (sodium-extra) 0.4.1 recommends version 1.4.1 or later of reeses-sodium-options, which is missing! [02/04/2022 20:52:15 PM] [main/WARN] Warnings were found! - You should install version 1.4.1 or later of reeses-sodium-options for the optimal experience. [02/04/2022 20:52:15 PM] - caffeineconfig 1.0.0 via sodium-extra [02/04/2022 20:52:15 PM] - com_electronwill_night-config_core 3.6.5 via servercore [02/04/2022 20:52:15 PM] - com_electronwill_night-config_toml 3.6.5 via servercore [02/04/2022 20:52:15 PM] - fabric 0.47.8+1.18.2 [02/04/2022 20:52:15 PM] - fabric-api-base 0.4.3+d7c144a8d2 via sodium [02/04/2022 20:52:15 PM] - fabric-api-lookup-api-v1 1.5.6+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-biome-api-v1 8.0.1+2873dd57d2 via fabric [02/04/2022 20:52:15 PM] - fabric-blockrenderlayer-v1 1.1.11+3ac43d95d2 via fabric [02/04/2022 20:52:15 PM] - fabric-command-api-v1 1.1.8+d7c144a8d2 via servercore [02/04/2022 20:52:15 PM] - fabric-commands-v0 0.2.7+b4f4f6cdd2 via fabric [02/04/2022 20:52:15 PM] - fabric-containers-v0 0.1.20+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-content-registries-v0 3.0.0+d82b9392d2 via fabric [02/04/2022 20:52:15 PM] - fabric-crash-report-info-v1 0.1.10+3ac43d95d2 via fabric [02/04/2022 20:52:15 PM] - fabric-dimensions-v1 2.1.16+25407454d2 via fabric [02/04/2022 20:52:15 PM] - fabric-entity-events-v1 1.4.7+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-events-interaction-v0 0.4.18+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-events-lifecycle-v0 0.2.12+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-game-rule-api-v1 1.0.12+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-item-api-v1 1.3.2+691a79b5d2 via fabric [02/04/2022 20:52:15 PM] - fabric-item-groups-v0 0.3.8+3ac43d95d2 via fabric [02/04/2022 20:52:15 PM] - fabric-key-binding-api-v1 1.0.11+54e5b2ecd2 via fabric [02/04/2022 20:52:15 PM] - fabric-keybindings-v0 0.2.9+b4f4f6cdd2 via fabric [02/04/2022 20:52:15 PM] - fabric-lifecycle-events-v1 2.0.1+25407454d2 via sodium-extra [02/04/2022 20:52:15 PM] - fabric-loot-tables-v1 1.0.10+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-mining-level-api-v1 2.0.2+d1027f7dd2 via fabric [02/04/2022 20:52:15 PM] - fabric-models-v0 0.3.5+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-networking-api-v1 1.0.20+d882b915d2 via fabric [02/04/2022 20:52:15 PM] - fabric-networking-v0 0.3.7+b4f4f6cdd2 via fabric [02/04/2022 20:52:15 PM] - fabric-object-builder-api-v1 2.0.1+d882b915d2 via fabric [02/04/2022 20:52:15 PM] - fabric-particles-v1 0.2.11+526dc1acd2 via fabric [02/04/2022 20:52:15 PM] - fabric-registry-sync-v0 0.9.5+55dca1a4d2 via fabric [02/04/2022 20:52:15 PM] - fabric-renderer-api-v1 0.4.12+d882b915d2 via fabric [02/04/2022 20:52:15 PM] - fabric-renderer-indigo 0.4.16+d8c7b9aed2 via fabric [02/04/2022 20:52:15 PM] - fabric-renderer-registries-v1 3.2.10+b4f4f6cdd2 via fabric [02/04/2022 20:52:15 PM] - fabric-rendering-data-attachment-v1 0.3.6+d7c144a8d2 via sodium [02/04/2022 20:52:15 PM] - fabric-rendering-fluids-v1 2.0.1+54e5b2ecd2 via sodium [02/04/2022 20:52:15 PM] - fabric-rendering-v0 1.1.12+b4f4f6cdd2 via fabric [02/04/2022 20:52:15 PM] - fabric-rendering-v1 1.10.6+54e5b2ecd2 via fabric [02/04/2022 20:52:15 PM] - fabric-resource-conditions-api-v1 2.0.1+d1027f7dd2 via fabric [02/04/2022 20:52:15 PM] - fabric-resource-loader-v0 0.4.16+55dca1a4d2 via sodium [02/04/2022 20:52:15 PM] - fabric-screen-api-v1 1.0.9+d882b915d2 via fabric [02/04/2022 20:52:15 PM] - fabric-screen-handler-api-v1 1.1.13+d7c144a8d2 via fabric [02/04/2022 20:52:15 PM] - fabric-textures-v0 1.0.11+3ac43d95d2 via fabric [02/04/2022 20:52:15 PM] - fabric-transfer-api-v1 1.5.12+d882b915d2 via fabric [02/04/2022 20:52:15 PM] - fabricloader 0.13.3 [02/04/2022 20:52:15 PM] - java 17 [02/04/2022 20:52:15 PM] - lazydfu 0.1.2 [02/04/2022 20:52:15 PM] - minecraft 1.18.2 [02/04/2022 20:52:15 PM] - org_joml_joml 1.10.2 via sodium [02/04/2022 20:52:15 PM] - servercore 1.2.8-1.18.2 [02/04/2022 20:52:15 PM] - sodium 0.4.1+build.15 [02/04/2022 20:52:15 PM] - sodium-extra 0.4.1 [02/04/2022 20:52:15 PM] [main/INFO] Loading 53 mods: - yungsapi 1.18.2-Fabric-2.0.7 [02/04/2022 20:52:15 PM] [main/INFO] SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:**USERSDIR**/libraries/net/fabricmc/sponge-mixin/0.11.2+mixin.0.8.5/sponge-mixin-0.11.2+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT [02/04/2022 20:52:15 PM] [main/INFO] Compatibility level set to JAVA_16 [02/04/2022 20:52:15 PM] [main/INFO] Compatibility level set to JAVA_17 [02/04/2022 20:52:15 PM] [main/INFO] Loaded configuration file for Sodium: 29 options available, 0 override(s) found [02/04/2022 20:52:15 PM] [main/INFO] Loaded configuration file for Sodium Extra: 25 options available, 0 override(s) found [02/04/2022 20:52:16 PM] [main/WARN] Error loading class: me/flashyreese/mods/reeses_sodium_options/client/gui/SodiumVideoOptionsScreen (java.lang.ClassNotFoundException: me/flashyreese/mods/reeses_sodium_options/client/gui/SodiumVideoOptionsScreen) [02/04/2022 20:52:16 PM] [main/WARN] Error loading class: me/flashyreese/mods/reeses_sodium_options/client/gui/SodiumVideoOptionsScreen (java.lang.ClassNotFoundException: me/flashyreese/mods/reeses_sodium_options/client/gui/SodiumVideoOptionsScreen) [02/04/2022 20:52:16 PM] Completely ignored arguments: [] [02/04/2022 20:52:20 PM] [main/WARN] @Inject(@At("INVOKE")) Shift.BY=3 on fabric-lifecycle-events-v1.mixins.json:client.WorldChunkMixin::handler$zdf000$onLoadBlockEntity exceeds the maximum allowed value: 0. Increase the value of maxShiftBy to suppress this warning. [02/04/2022 20:52:21 PM] [Render thread/INFO] sodium-extra.mixins.json:gui.MinecraftClientAccessor->@Accessor[FIELD_GETTER]::getCurrentFPS()I should be static as its target is [02/04/2022 20:52:21 PM] [Render thread/INFO] Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD' [02/04/2022 20:52:22 PM] [Render thread/INFO] Setting user: **MINECRAFTUSERNAME** [02/04/2022 20:52:22 PM] [Render thread/WARN] @ModifyConstant conflict. Skipping servercore.mixins.json:features.misc.MinecraftServerMixin->@ModifyConstant::disableSpawnChunks(I)I from mod servercore with priority 900, already redirected by yungsapi.mixins.json:MinecraftServerMixin->@ModifyConstant::fastSpawn2(I)I from mod yungsapi with priority 1000 [02/04/2022 20:52:22 PM] [Render thread/WARN] @ModifyConstant conflict. Skipping servercore.mixins.json:features.misc.MinecraftServerMixin->@ModifyConstant::disableSpawnChunks(I)I from mod servercore with priority 900, already redirected by yungsapi.mixins.json:MinecraftServerMixin->@ModifyConstant::fastSpawn2(I)I from mod yungsapi with priority 1000 [02/04/2022 20:52:22 PM] [Render thread/WARN] @ModifyConstant conflict. Skipping servercore.mixins.json:features.misc.MinecraftServerMixin->@ModifyConstant::disableSpawnChunks(I)I from mod servercore with priority 900, already redirected by yungsapi.mixins.json:MinecraftServerMixin->@ModifyConstant::fastSpawn2(I)I from mod yungsapi with priority 1000 [02/04/2022 20:52:22 PM] [Render thread/WARN] @ModifyConstant conflict. Skipping servercore.mixins.json:features.misc.MinecraftServerMixin->@ModifyConstant::disableSpawnChunks(I)I from mod servercore with priority 900, already redirected by yungsapi.mixins.json:MinecraftServerMixin->@ModifyConstant::fastSpawn2(I)I from mod yungsapi with priority 1000 [02/04/2022 20:52:22 PM] [Render thread/WARN] @ModifyConstant conflict. Skipping servercore.mixins.json:features.misc.MinecraftServerMixin->@ModifyConstant::disableSpawnChunks(I)I from mod servercore with priority 900, already redirected by yungsapi.mixins.json:MinecraftServerMixin->@ModifyConstant::fastSpawn2(I)I from mod yungsapi with priority 1000 [02/04/2022 20:52:22 PM] [Render thread/INFO] [ServerCore] initializing... [02/04/2022 20:52:22 PM] [Render thread/WARN] @ModifyConstant conflict. Skipping servercore.mixins.json:features.misc.MinecraftServerMixin->@ModifyConstant::disableSpawnChunks(I)I from mod servercore with priority 900, already redirected by yungsapi.mixins.json:MinecraftServerMixin->@ModifyConstant::fastSpawn2(I)I from mod yungsapi with priority 1000 [02/04/2022 20:52:22 PM] ---- Minecraft Crash Report ---- [02/04/2022 20:52:22 PM] // Don't do that. [02/04/2022 20:52:22 PM] [02/04/2022 20:52:22 PM] Time: 4/2/22, 8:52 PM [02/04/2022 20:52:22 PM] Description: Initializing game [02/04/2022 20:52:22 PM] [02/04/2022 20:52:22 PM] java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'fabric-api-lookup-api-v1'! [02/04/2022 20:52:22 PM] at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51) [02/04/2022 20:52:22 PM] at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) [02/04/2022 20:52:22 PM] at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49) [02/04/2022 20:52:22 PM] at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) [02/04/2022 20:52:22 PM] at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:52) [02/04/2022 20:52:22 PM] at net.minecraft.class_310.