Fix3dll/SkyblockAddons

[Bug] NPE in switch statements

Closed this issue · 1 comments

Bug Description

switch (guiFeatureData.getDrawType()) {

Quoting from the JLS:

When the switch statement is executed, first the Expression is evaluated. If the Expression evaluates to null, a NullPointerException is thrown and the entire switch statement completes abruptly for that reason.

SBA Version

Commit fdcdf77

Other Installed Mods

not relevant

Operating System

not relevant

Crash Report

java.lang.NullPointerException
        at codes.biscuit.skyblockaddons.core.Feature.draw(Feature.java:406) ~[Feature.class:1.9.0-beta.7+286]
        at codes.biscuit.skyblockaddons.listeners.RenderListener.renderOverlays(RenderListener.java:416) ~[RenderListener.class:1.9.0-beta.7+286]
        at codes.biscuit.skyblockaddons.listeners.RenderListener.onRenderRegular(RenderListener.java:196) ~[RenderListener.class:1.9.0-beta.7+286]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_2091_RenderListener_onRenderRegular_Post.invoke(.dynamic) ~[?:?]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:49) ~[ASMEventHandler.class:?]
        at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
        at net.minecraftforge.client.GuiIngameForge.post(GuiIngameForge.java:851) ~[GuiIngameForge.class:?]
        at net.minecraftforge.client.GuiIngameForge.renderExperience(GuiIngameForge.java:558) ~[GuiIngameForge.class:?]
        at net.minecraftforge.client.GuiIngameForge.renderGameOverlay(GuiIngameForge.java:145) ~[GuiIngameForge.class:?]
        at club.sk1er.patcher.screen.render.caching.HUDCaching.renderCachedHud(HUDCaching.java:100) ~[HUDCaching.class:?]
        at net.minecraft.client.renderer.EntityRenderer.redirect$bpk000$patcher$renderCachedHUD(EntityRenderer.java:18558) ~[bfk.class:?]
        at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1401) ~[bfk.class:?]
        at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1051) ~[ave.class:?]
        at net.minecraft.client.Minecraft.handler$bdd000$run(Minecraft.java:3250) [ave.class:?]
        at net.minecraft.client.Minecraft.run(Minecraft.java) [ave.class:?]
        at net.minecraft.client.main.Main.main(SourceFile:124) [Main.class:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_411]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_411]
        at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
        at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_411]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_411]
        at gg.essential.loader.stage2.relaunch.Relaunch.relaunch(Relaunch.java:124) [stage2.forge_1.8.9.jar:?]
        at gg.essential.loader.stage2.EssentialLoader.preloadEssential(EssentialLoader.java:220) [stage2.forge_1.8.9.jar:?]
        at gg.essential.loader.stage2.EssentialLoader.loadPlatform(EssentialLoader.java:116) [stage2.forge_1.8.9.jar:?]
        at gg.essential.loader.stage2.EssentialLoaderBase.load(EssentialLoaderBase.java:148) [stage2.forge_1.8.9.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_411]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_411]
        at gg.essential.loader.stage1.EssentialLoaderBase.load(EssentialLoaderBase.java:293) [stage1.jar:8]
        at gg.essential.loader.stage1.EssentialSetupTweaker.<init>(EssentialSetupTweaker.java:44) [stage1.jar:8]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [?:1.8.0_411]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_411]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_411]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) [?:1.8.0_411]
        at gg.essential.loader.stage0.EssentialSetupTweaker.loadStage1(EssentialSetupTweaker.java:53) [ctjs-2.2.0-1.8.9.jar:?]
        at gg.essential.loader.stage0.EssentialSetupTweaker.<init>(EssentialSetupTweaker.java:26) [ctjs-2.2.0-1.8.9.jar:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [?:1.8.0_411]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_411]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_411]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) [?:1.8.0_411]
        at java.lang.Class.newInstance(Unknown Source) [?:1.8.0_411]
        at net.minecraft.launchwrapper.Launch.launch(Launch.java:98) [launchwrapper-1.12.jar:?]
        at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
        at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100) [NewLaunch.jar:?]
        at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129) [NewLaunch.jar:?]
        at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) [NewLaunch.jar:?]

@nea89o Looks like i missed this. Thanks for reporting.