jacksonhardaway / locksmith

🔐 A mod about locks.
https://www.curseforge.com/minecraft/mc-mods/locksmith
Other
9 stars 8 forks source link

Add instanceof check for ClientLevel #31

Closed SiverDX closed 1 year ago

SiverDX commented 1 year ago

What version are you seeing the problem on?

1.19.2

Describe the issue

https://github.com/MoonflowerTeam/locksmith/blob/34ce998f7be017828a82ea058e938680ed83e5ac/common/src/main/java/gg/moonflower/locksmith/api/lock/LockManager.java#L37C24-L37C30

Creates PonderWorld is not overriding isClientSide https://github.com/Creators-of-Create/Create/blob/mc1.19/0.5.1/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java

and it can crash with certain ponder scenes when the above method is called

latest.log

java.lang.ClassCastException: class com.simibubi.create.foundation.ponder.PonderWorld cannot be cast to class net.minecraft.client.multiplayer.ClientLevel (com.simibubi.create.foundation.ponder.PonderWorld is in module create@0.5.1.b of loader 'TRANSFORMER' @d0b814d; net.minecraft.client.multiplayer.ClientLevel is in module minecraft@1.19.2 of loader 'TRANSFORMER' @d0b814d)

    at gg.moonflower.locksmith.api.lock.LockManager.client(LockManager.java:38) ~[locksmith-forge-1.1.0.jar%23327!/:?] {re:mixin,re:classloading}

    at gg.moonflower.locksmith.api.lock.LockManager.get(LockManager.java:34) ~[locksmith-forge-1.1.0.jar%23327!/:?] {re:mixin,re:classloading}

    at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.handler$zcg000$getDestroyProgress(BlockBehaviour.java:896) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:locksmith-common.mixins.json:BlockStateBaseMixin,pl:mixin:APP:supplementaries-common.mixins.json:BlockBehaviourPlanterMixin,pl:mixin:A}

    at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.m_60800_(BlockBehaviour.java:570) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:locksmith-common.mixins.json:BlockStateBaseMixin,pl:mixin:APP:supplementaries-common.mixins.json:BlockBehaviourPlanterMixin,pl:mixin:A}

    at com.simibubi.create.content.fluids.FluidPropagator.isOpenEnd(FluidPropagator.java:185) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.content.fluids.pump.PumpBlockEntity.hasReachedValidEndpoint(PumpBlockEntity.java:297) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.content.fluids.pump.PumpBlockEntity.distributePressureTo(PumpBlockEntity.java:129) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.content.fluids.pump.PumpBlockEntity.lambda$tick$0(PumpBlockEntity.java:79) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.utility.Couple.forEachWithParams(Couple.java:104) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:mixin,re:classloading}

    at com.simibubi.create.foundation.utility.Couple.forEachWithContext(Couple.java:100) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:mixin,re:classloading}

    at com.simibubi.create.content.fluids.pump.PumpBlockEntity.tick(PumpBlockEntity.java:75) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.blockEntity.SmartBlockEntityTicker.m_155252_(SmartBlockEntityTicker.java:15) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.ponder.element.WorldSectionElement.lambda$addTicker$4(WorldSectionElement.java:304) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.ponder.element.WorldSectionElement.lambda$tick$2(WorldSectionElement.java:269) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] {re:mixin}

    at com.simibubi.create.foundation.ponder.element.WorldSectionElement.tick(WorldSectionElement.java:268) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.ponder.PonderScene.lambda$tick$8(PonderScene.java:284) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.ponder.PonderScene.forEach(PonderScene.java:354) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.ponder.PonderScene.tick(PonderScene.java:284) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at com.simibubi.create.foundation.ponder.ui.PonderUI.m_86600_(PonderUI.java:304) ~[create-1.19.2-0.5.1.b.jar%23288!/:0.5.1.b] {re:classloading}

    at net.minecraft.client.Minecraft.m_231445_(Minecraft.java:1758) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:mixin:APP:dynamiclightsreforged.mixins.json:MinecraftClientMixin,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:enhancedvisuals.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMinecraft,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mutantmore.mixins.json:MinecraftMixin,pl:mixin:APP:itemphysic.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin,pl:mixin:APP:rubidium_extras.mixins.json:FrameCounter.FpsAccessorMixin,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:quark.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:mixins.essential.json:feature.skin_overwrites.Mixin_InstallTrustingServicesKeyInfo,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}

    at net.minecraft.client.gui.screens.Screen.m_96579_(Screen.java:522) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:quark.mixins.json:client.ScreenMixin,pl:mixin:APP:mixins.essential.json:client.gui.GuiScreenAccessor,pl:mixin:APP:mixins.essential.json:client.gui.MixinGuiScreen,pl:mixin:A,pl:runtimedistcleaner:A}

    at net.minecraft.client.Minecraft.m_91398_(Minecraft.java:1757) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:mixin:APP:dynamiclightsreforged.mixins.json:MinecraftClientMixin,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:enhancedvisuals.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMinecraft,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mutantmore.mixins.json:MinecraftMixin,pl:mixin:APP:itemphysic.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin,pl:mixin:APP:rubidium_extras.mixins.json:FrameCounter.FpsAccessorMixin,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:quark.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:mixins.essential.json:feature.skin_overwrites.Mixin_InstallTrustingServicesKeyInfo,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}

    at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1078) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:mixin:APP:dynamiclightsreforged.mixins.json:MinecraftClientMixin,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:enhancedvisuals.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMinecraft,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mutantmore.mixins.json:MinecraftMixin,pl:mixin:APP:itemphysic.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin,pl:mixin:APP:rubidium_extras.mixins.json:FrameCounter.FpsAccessorMixin,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:quark.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:mixins.essential.json:feature.skin_overwrites.Mixin_InstallTrustingServicesKeyInfo,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}

    at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:700) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,pl:mixin:APP:dynamiclightsreforged.mixins.json:MinecraftClientMixin,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:enhancedvisuals.mixins.json:MinecraftMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMinecraft,pl:mixin:APP:carryon.mixins.json:MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mutantmore.mixins.json:MinecraftMixin,pl:mixin:APP:itemphysic.mixins.json:MinecraftMixin,pl:mixin:APP:playerrevive.mixins.json:MinecraftAccessor,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin,pl:mixin:APP:rubidium_extras.mixins.json:FrameCounter.FpsAccessorMixin,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:quark.mixins.json:client.MinecraftMixin,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:mixins.essential.json:feature.skin_overwrites.Mixin_InstallTrustingServicesKeyInfo,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}

    at net.minecraft.client.main.Main.m_239872_(Main.java:212) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,pl:runtimedistcleaner:A}

    at net.minecraft.client.main.Main.main(Main.java:51) ~[client-1.19.2-20220805.130853-srg.jar%23387!/:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,pl:runtimedistcleaner:A}

    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}

    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}

    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}

    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}

    at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.2-43.2.3.jar%23101!/:?] {}

    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.8.jar%2388!/:?] {}

    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.8.jar%2388!/:?] {}

    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.8.jar%2388!/:?] {}

    at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-10.0.8.jar%2388!/:?] {}

    at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-10.0.8.jar%2388!/:?] {}

    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.8.jar%2388!/:?] {}

    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-10.0.8.jar%2388!/:?] {}

    at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?] {}