Pepperoni-Jabroni / MapAtlases

A vanilla-friendly mini-map & world-map mod using vanilla Maps!
GNU General Public License v3.0
24 stars 14 forks source link

Crash when trying to place down a pin [FABRIC] #133

Open ExDrill opened 8 months ago

ExDrill commented 8 months ago
Description: mouseClicked event handler

java.util.NoSuchElementException: No value present
    at java.base/java.util.Optional.get(Optional.java:143)
    at pepjebs.mapatlases.integration.moonlight.ClientMarkers.getPinAt(ClientMarkers.java:176)
    at pepjebs.mapatlases.integration.moonlight.ClientMarkers.addMarker(ClientMarkers.java:161)
    at pepjebs.mapatlases.client.screen.PinButton.placePin(PinButton.java:34)
    at pepjebs.mapatlases.client.screen.AtlasOverviewScreen.addNewPin(AtlasOverviewScreen.java:700)
    at pepjebs.mapatlases.client.screen.AtlasOverviewScreen.placePinAt(AtlasOverviewScreen.java:681)
    at pepjebs.mapatlases.client.screen.MapWidget.method_25402(MapWidget.java:240)
    at net.minecraft.class_4069.method_25402(class_4069.java:38)
    at pepjebs.mapatlases.client.screen.AtlasOverviewScreen.method_25402(AtlasOverviewScreen.java:417)
    at net.minecraft.class_312.method_1611(class_312.java:98)
    at net.minecraft.class_437.method_25412(class_437.java:409)
    at net.minecraft.class_312.method_1601(class_312.java:98)
    at net.minecraft.class_312.method_22686(class_312.java:169)
    at net.minecraft.class_1255.execute(class_1255.java:102)
    at net.minecraft.class_312.method_22684(class_312.java:169)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403)
    at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:201)
    at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:212)
    at net.minecraft.class_1041.method_15998(class_1041.java:288)
    at net.minecraft.class_310.method_1523(class_310.java:1241)
    at net.minecraft.class_310.method_1514(class_310.java:802)
    at net.minecraft.client.main.Main.main(Main.java:250)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
MehVahdJukaar commented 8 months ago

very odd issue. Can you replicate every time? does it work on a fresh instance?

ExDrill commented 8 months ago

Yeah, it happens every time I place down a pin. It doesn't seem to be an issue on a fresh instance. Here's a more descriptive crash report.

-- Head --
Thread: Render thread
Stacktrace:
    at java.base/java.util.Optional.get(Optional.java:143)
    at pepjebs.mapatlases.integration.moonlight.ClientMarkers.getPinAt(ClientMarkers.java:176)
    at pepjebs.mapatlases.integration.moonlight.ClientMarkers.addMarker(ClientMarkers.java:161)
    at pepjebs.mapatlases.client.screen.PinButton.placePin(PinButton.java:34)
    at pepjebs.mapatlases.client.screen.AtlasOverviewScreen.addNewPin(AtlasOverviewScreen.java:700)
    at pepjebs.mapatlases.client.screen.AtlasOverviewScreen.placePinAt(AtlasOverviewScreen.java:681)
    at pepjebs.mapatlases.client.screen.MapWidget.method_25402(MapWidget.java:240)
    at net.minecraft.class_4069.method_25402(class_4069.java:38)
    at pepjebs.mapatlases.client.screen.AtlasOverviewScreen.method_25402(AtlasOverviewScreen.java:417)
    at net.minecraft.class_312.method_1611(class_312.java:98)
    at net.minecraft.class_437.method_25412(class_437.java:409)
    at net.minecraft.class_312.method_1601(class_312.java:98)
    at net.minecraft.class_312.method_22686(class_312.java:169)
    at net.minecraft.class_1255.execute(class_1255.java:102)
    at net.minecraft.class_312.method_22684(class_312.java:169)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403)
    at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:201)
    at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:212)

-- Affected screen --
Details:
    Screen name: pepjebs.mapatlases.client.screen.AtlasOverviewScreen
Stacktrace:
    at net.minecraft.class_437.method_25412(class_437.java:409)
    at net.minecraft.class_312.method_1601(class_312.java:98)
    at net.minecraft.class_312.method_22686(class_312.java:169)
    at net.minecraft.class_1255.execute(class_1255.java:102)
    at net.minecraft.class_312.method_22684(class_312.java:169)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403)
    at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:201)
    at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:212)
    at net.minecraft.class_1041.method_15998(class_1041.java:288)
    at net.minecraft.class_310.method_1523(class_310.java:1241)
    at net.minecraft.class_310.method_1514(class_310.java:802)
    at net.minecraft.client.main.Main.main(Main.java:250)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Mod List:

architectury: Architectury 9.1.12
        balm-fabric: Balm 7.2.1
        bedrockify: BedrockIfy 1.9.1+mc1.20
            panorama_screens: Panorama Screens 1.0+fabric+mc1.20
        brainierbees: Brainier Bees 1.4
        caffeinated: Caffeinated 1.0.3
        cardinal-components: Cardinal Components API 5.2.2
            cardinal-components-base: Cardinal Components API (base) 5.2.2
            cardinal-components-block: Cardinal Components API (blocks) 5.2.2
            cardinal-components-chunk: Cardinal Components API (chunks) 5.2.2
            cardinal-components-entity: Cardinal Components API (entities) 5.2.2
            cardinal-components-item: Cardinal Components API (items) 5.2.2
            cardinal-components-level: Cardinal Components API (world saves) 5.2.2
            cardinal-components-scoreboard: Cardinal Components API (scoreboard) 5.2.2
            cardinal-components-world: Cardinal Components API (worlds) 5.2.2
        cloth-config: Cloth Config v11 11.1.118
            cloth-basic-math: cloth-basic-math 0.6.1
        craftpresence: CraftPresence 2.2.6
            fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.9+132c48c177
        creeperoverhaul: Creeper Overhaul 3.0.1
            resourcefullib: Resourceful Lib 2.0.6
                com_teamresourceful_yabn: yabn 1.0.3
        cyanide: Cyanide 4.1.0
        disable_custom_worlds_advice: Disable Custom Worlds Advice 4.1
        elementa: Elementa 619
        essential: Essential 1.3.0.2+ge922acc4a7
        essential-container: essential-container 1.0.0
            essential-loader: essential-loader 1.2.1
        fabric-api: Fabric API 0.91.0+1.20.1
            fabric-api-base: Fabric API Base 0.4.30+7abfd51577
            fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.35+4d8536c977
            fabric-biome-api-v1: Fabric Biome API (v1) 13.0.12+215bbe9677
            fabric-block-api-v1: Fabric Block API (v1) 1.0.10+92a0d36777
            fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.0+92a0d36777
            fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.40+b3afc78b77
            fabric-client-tags-api-v1: Fabric Client Tags 1.1.1+97bb207577
            fabric-command-api-v1: Fabric Command API (v1) 1.2.33+f71b366f77
            fabric-command-api-v2: Fabric Command API (v2) 2.2.12+b3afc78b77
            fabric-commands-v0: Fabric Commands (v0) 0.2.50+df3654b377
            fabric-containers-v0: Fabric Containers (v0) 0.1.63+df3654b377
            fabric-content-registries-v0: Fabric Content Registries (v0) 4.0.10+57aed33f77
            fabric-convention-tags-v1: Fabric Convention Tags 1.5.4+a1a980da77
            fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.18+aeb40ebe77
            fabric-data-generation-api-v1: Fabric Data Generation API (v1) 12.3.3+d7b148e077
            fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.53+8536527b77
            fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.22+b3afc78b77
            fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.1+e91849a877
            fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.62+df3654b377
            fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.39+ae9f657a77
            fabric-item-api-v1: Fabric Item API (v1) 2.1.27+b3afc78b77
            fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.11+d7b148e077
            fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.36+fb8d95da77
            fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.34+df3654b377
            fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.21+b3afc78b77
            fabric-loot-api-v2: Fabric Loot API (v2) 1.2.0+96dfa95977
            fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.44+9e7660c677
            fabric-message-api-v1: Fabric Message API (v1) 5.1.8+d7b148e077
            fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.49+b3afc78b77
            fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.2+709a987177
            fabric-models-v0: Fabric Models (v0) 0.4.1+9386d8a777
            fabric-networking-api-v1: Fabric Networking API (v1) 1.3.10+eeb8eb3677
            fabric-networking-v0: Fabric Networking (v0) 0.3.50+df3654b377
            fabric-object-builder-api-v1: Fabric Object Builder API (v1) 11.1.2+4ee0bc6077
            fabric-particles-v1: Fabric Particles (v1) 1.1.1+201a23a077
            fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.20+b3afc78b77
            fabric-registry-sync-v0: Fabric Registry Sync (v0) 2.3.2+4df89eb277
            fabric-renderer-api-v1: Fabric Renderer API (v1) 3.2.0+39a511ba77
            fabric-renderer-indigo: Fabric Renderer - Indigo 1.5.0+39a511ba77
            fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.45+df3654b377
            fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.36+92a0d36777
            fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.27+b3afc78b77
            fabric-rendering-v0: Fabric Rendering (v0) 1.1.48+df3654b377
            fabric-rendering-v1: Fabric Rendering (v1) 3.0.7+b3afc78b77
            fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.7+29de845d77
            fabric-screen-api-v1: Fabric Screen API (v1) 2.0.7+b3afc78b77
            fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.29+b3afc78b77
            fabric-sound-api-v1: Fabric Sound API (v1) 1.0.12+b3afc78b77
            fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.3+c81d263177
            fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.3.0+6c31357e77
        fabric-language-kotlin: Fabric Language Kotlin 1.10.17+kotlin.1.9.22
            org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 1.9.22
            org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 1.9.22
            org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 1.9.22
            org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 1.9.22
            org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.23.1
            org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.7.3
            org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.7.3
            org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.5.0
            org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.6.2
            org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.6.2
            org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.6.2
        fabricloader: Fabric Loader 0.15.1
            mixinextras: MixinExtras 0.3.1
        farmersdelight: Farmer's Delight 1.20.1-1.4.3
        fastminecart: Fast Minecart 1.0.0
        geckolib: GeckoLib 4 4.3.1
            com_eliotlash_mclib_mclib: mclib 20
        globalpacks: Global Data- & Resourcepacks 1.16.1_fabric
            com_electronwill_night-config_core: core 3.6.5
            com_electronwill_night-config_toml: toml 3.6.5
        guarding: Guarding 2.3.3
            mm: Manningham Mills 2.3
            scribe: Scribe 1.20.1-0.5.0-alpha
        java: Java HotSpot(TM) 64-Bit Server VM 17
        kubejs: KubeJS 2001.6.4-build.114
        map_atlases: Map Atlases 1.20-2.7.7
        minecraft: Minecraft 1.20.1
        modmenu: Mod Menu 7.2.2
        moonlight: Moonlight 1.20-2.8.79
        no-rocket-boosting: No Rocket Boosting 1.0.0
        org_jetbrains_annotations: annotations 13.0
        patchouli: Patchouli 1.20.1-84-FABRIC
            fiber: fiber 0.23.0-2
        probejs: ProbeJS 5.7.0
        resourcefulconfig: Resourcefulconfig 2.1.1
        rhino: Rhino 2001.2.2-build.18
        simple_copper_pipes: Simple Copper Pipes 1.16.1
            frozenlib: FrozenLib 1.5.2-Fabric+1.20.1
        sws: Spawn World Setter 1.0.0-1.20
            ducky-updater-lib: Ducky Updater Lib 2023.10.1
        universalcraft: UniversalCraft 323
        vigilance: Vigilance 295
        waystones: Waystones 14.1.3
MehVahdJukaar commented 8 months ago

Well it must be conflicting with something that's somehow able to mess or nuke the map marker registry. That's deep in vanilla code so idk how that would even be possible

MehVahdJukaar commented 8 months ago

try the new version

ExDrill commented 8 months ago

Well it must be conflicting with something that's somehow able to mess or nuke the map marker registry. That's deep in vanilla code so idk how that would even be possible

I updated the mod and it seems you're right. Using another mod, I was able to dump the registry of moonlight:map_markers and it found no entries. I'm going to start disabling mods and see which mod causes this.

ExDrill commented 8 months ago

Alright, after around 10 minutes of enabling mods, I found out it seems to be a compatibility issue with Cyanide. It does mixin into the RegistryDataLoader.

MehVahdJukaar commented 8 months ago

did you update moonlight to most recent version? there was an issue where some markers jsons were partialy failing due to wrong codec. however vanilla optionals are lazy and so they would just default to their default value. Maybe that mod makes all optional codecs strict ( which would be a pretty bad things to do as there are many instances where one wouldnt want that) Regardless i did fix that issue recently after I made all my optional codec fields be strict

ExDrill commented 8 months ago

Yep, it was at the latest version at the time of the post.