Closed shinjitumala closed 2 years ago
Building Wands issues, there is nothing non-hacky that we can do about it, and there will be similar issues with other mods.
While I agree that this is an issue with Building Wands calling the wrong method to get the quads, your implementation of the method called by them is definitely wrong. You should not be throwing an exception in getQuads()
and instead return an empty list.
If you insist on throwing an exception, then it should atleast be an UnsupportedOperationException
.
You should probably be catching any RuntimeException
tbh, it is also likely that calling this method directly will cause NPEs, IAEs, or others. Changing the type of exception that we throw isn't going to help for that anyway.
I'd rather not return an empty list to avoid a silent failure.
I am well aware that changing the exception that is thrown doesn't change anything about the handling of it, but an IllegalStateException
is simply the completely wrong exception for this purpose, it implies something completely different.
We can return an empty list, that's fine, and I think we do in other places. But supporting fabric renderer seems like something building wands should do?
p.s.: Why is building wands trying to show a preview for a cable bus in the first place? It's not going to be able to place one successfully.
Changed to an empty list, like in all the other dynamic models: b00d8534f.
Thank you very much for the timely fix. I will test whether the patch fixed the crash when a new beta is released.
It is worth mentioning that the developers for building wands have also patched their mod to catch any exceptions thrown by a modded block. (https://github.com/nicguzzo/wands/issues/14)
Describe the bug
It is a crash caused by some incompatibility with another mod. It seems to be an error with how another mod renders a preview of a block from AE2.
How to reproduce the bug
I clicked on a glass cable from AE2 using a building wand. You can place multiple blocks of the type you clicked using the building wand. In this case, the building wand mod was previewing some "ghost" blocks of the glass cable.
Expected behavior
No crash.
Additional details
logs/latest.log (There are some irrelevant warnings at the beginning but posting them to be sure.)
``` [19:39:05] [main/INFO]: Loading for game Minecraft 1.17.1 [19:39:05] [main/WARN]: Warnings were found! - Mod 'QuarryPlus' (quarryplus) conflicts with any version before 2.0.0 of mod 'Energy' (team_reborn_energy), but a matching version is present: 2.0.0-beta1! - While this won't prevent you from starting the game, the developer(s) of 'QuarryPlus' (quarryplus) have found that version 2.0.0-beta1 of 'Energy' (team_reborn_energy) conflicts with their mod. - It is heavily recommended to remove one of the mods. - Mod 'Energy' (team_reborn_energy) v2.0.0-beta1 is being provided by 'Applied Energistics 2' (appliedenergistics2) v2.0.0-beta1. - Conflicting versions found for fabric-api-base: used 0.3.0+a02b446313, also found 0.3.0+8d89ed5432, 0.3.0+a02b44633d, 0.3.0+a02b446318 - Conflicting versions found for fabric-key-binding-api-v1: used 1.0.4+cbda931818, also found 1.0.4+a02b44633d - Conflicting versions found for fabric-networking-api-v1: used 1.0.13+2e8bd82f18, also found 1.0.13+cbda931818 - Conflicting versions found for fabric-rendering-data-attachment-v1: used 0.1.5+a02b446313, also found 0.1.5+a02b446318 - Conflicting versions found for fabric-lifecycle-events-v1: used 1.4.4+a02b44633d, also found 1.4.4+a02b446318 - Conflicting versions found for fabric-command-api-v1: used 1.1.3+5ab9934c88, also found 1.1.3+5ab9934c18 [19:39:05] [main/INFO]: [FabricLoader] Loading 107 mods: - accurateblockplacement@1.0.10 - actuallyunbreaking@1.17.1-0.4.0 - appliedenergistics2@9.0.0-beta.1 - architectury@2.6.35 - autoconfig1u@3.3.1 - c2me@0.2.0+alpha.5.0 - carpet@1.4.51 - cloth-api@2.0.54 - cloth-basic-math@0.5.1 - cloth-client-events-v0@2.0.54 - cloth-common-events-v1@2.0.54 - cloth-config2@5.0.38 - cloth-datagen-api-v1@2.0.54 - cloth-scissors-api-v1@2.0.54 - cloth-utils-v1@2.0.54 - entityculling@1.3.3 - fabric@0.41.0+1.17 - fabric-api-base@0.3.0+a02b446313 - fabric-api-lookup-api-v1@1.3.0+cbda931818 - fabric-biome-api-v1@3.2.0+cbda931818 - fabric-blockrenderlayer-v1@1.1.5+a02b446318 - fabric-command-api-v1@1.1.3+5ab9934c88 - fabric-commands-v0@0.2.2+92519afa18 - fabric-containers-v0@0.1.12+cbda931818 - fabric-content-registries-v0@0.3.0+cbda931818 - fabric-crash-report-info-v1@0.1.5+be9da31018 - fabric-dimensions-v1@2.0.11+6cefd57718 - fabric-entity-events-v1@1.3.0+57bef5a318 - fabric-events-interaction-v0@0.4.10+fc40aa9d18 - fabric-events-lifecycle-v0@0.2.1+92519afa18 - fabric-game-rule-api-v1@1.0.7+cbda931818 - fabric-item-api-v1@1.2.4+cbda931818 - fabric-item-groups-v0@0.2.10+b7ab612118 - fabric-key-binding-api-v1@1.0.4+cbda931818 - fabric-keybindings-v0@0.2.2+36b77c3e18 - fabric-language-scala@1.1.0+scala.2.13.6 - fabric-lifecycle-events-v1@1.4.4+a02b44633d - fabric-loot-tables-v1@1.0.4+a02b446318 - fabric-mining-levels-v0@0.1.3+92519afa18 - fabric-models-v0@0.3.0+a02b446318 - fabric-networking-api-v1@1.0.13+2e8bd82f18 - fabric-networking-blockentity-v0@0.2.11+a02b446318 - fabric-networking-v0@0.3.2+92519afa18 - fabric-object-builder-api-v1@1.10.9+cbda931818 - fabric-object-builders-v0@0.7.3+a02b446318 - fabric-particles-v1@0.2.4+a02b446318 - fabric-registry-sync-v0@0.7.11+7931163218 - fabric-renderer-api-v1@0.4.4+cbda931818 - fabric-renderer-indigo@0.4.8+cbda931818 - fabric-renderer-registries-v1@3.2.4+7931163218 - fabric-rendering-data-attachment-v1@0.1.5+a02b446313 - fabric-rendering-fluids-v1@0.1.14+4658223018 - fabric-rendering-v0@1.1.5+7931163218 - fabric-rendering-v1@1.9.0+7931163218 - fabric-resource-loader-v0@0.4.8+a00e834b18 - fabric-screen-api-v1@1.0.4+cbda931818 - fabric-screen-handler-api-v1@1.1.8+cbda931818 - fabric-structure-api-v1@1.1.13+5ab9934c18 - fabric-tag-extensions-v0@1.2.2+8f2c3e0488 - fabric-textures-v0@1.0.6+a02b446318 - fabric-tool-attribute-api-v1@1.2.12+b7ab612118 - fabric-transfer-api-v1@1.4.0+7931163218 - fabricloader@0.11.7 - fallingtree@2.14.2 - ferritecore@3.0.3 - flytre-lib-base@1.2.0 - flytre-lib-compat@1.0.0 - flytre-lib-config@1.1.0 - flytre-lib-event@1.0.1 - flytre-lib-gui@1.0.0 - flytre-lib-storage@2.3.1 - flytre_lib@1.3.9 - geckolib3@3.0.19 - hlandbukkit_c2me-fabric_ver_1_17_libs_@0.2.0+alpha.5.0 - huntingham-hills@1.2.8 - hwg@1.0.22 - hydrogen@0.3 - imm_ptl_core@0.29 - immersive_portals@0.29 - indium@1.0.0+mc1.17.1 - inventoryhud@3.4.1 - iris@1.1.2+build.9 - ironfurnaces@1.17.1-2.6.1-fabric - java@16 - kbootstrap@0.1.5 - lazydfu@0.1.2 - lightoverlay@6.0.1 - limitless@1.5.13 - minecraft@1.17.1 - nbtcrafting@2.1.0+mc1.17.1 - net_auoeke_extensions_asm-tree@0.24.0 - net_auoeke_extensions_extensions@0.24.0 - net_auoeke_reflect@3.2.0 - net_bytebuddy_byte-buddy-agent@1.11.21 - net_gudenau_lib_unsafe@1.4.3 - pipe@1.5.0 - q_misc_util@0.29 - quarryplus@17.0.390 - recipecache@0.2.1-1.17.1 - ring_of_attraction@1.1.14 - roughlyenoughitems@6.0.307-alpha - roughlyenoughresources@2.2.0 - sodium@0.3.2+IRIS2-build.9 - starlight@1.0.0+fabric.73f6d37 - team_reborn_energy@2.0.0-beta1 - wands@2.2.7_mc1.17.1 - xaerominimap@21.20.0 [19:39:05] [main/WARN]: Mod `wands` (2.2.7_mc1.17.1) does not respect SemVer - comparison support is limited. [19:39:07] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.2 Source=file:/home/shinjihoshino/.minecraft/libraries/net/fabricmc/sponge-mixin/0.9.4+mixin.0.8.2/sponge-mixin-0.9.4+mixin.0.8.2.jar Service=Knot/Fabric Env=CLIENT [19:39:07] [main/INFO]: Compatibility level set to JAVA_16 [19:39:07] [main/INFO]: Loaded configuration file for Sodium: 28 options available, 0 override(s) found [19:39:07] [main/WARN]: Reference map 'RingOfAttraction-Fabric-1.17.1-refmap.json' for ring_of_attraction.mixins.json could not be read. If this is a development environment you can ignore this message [19:39:07] [main/WARN]: Reference map 'flytre-lib-compat-refmap.json' for flytre-lib-compat.mixins.json could not be read. If this is a development environment you can ignore this message [19:39:07] [main/INFO]: Initializing C2ME Compatibility Module [19:39:07] [main/INFO]: Configuration loaded successfully after 28.658111ms [19:39:07] [main/INFO]: Successfully loaded configuration for C2ME [19:39:07] [main/INFO]: Searching for modules in 1 locations... [19:39:07] [main/INFO]: Loading 1 modules: [C2ME.fabric.libs.main] [19:39:07] [main/WARN]: Error while loading submodule java.lang.module.FindException: Module jdk.incubator.vector not found, required by C2ME.fabric.libs.main at java.lang.module.Resolver.findFail(Resolver.java:900) ~[?:?] at java.lang.module.Resolver.resolve(Resolver.java:191) ~[?:?] at java.lang.module.Resolver.resolve(Resolver.java:140) ~[?:?] at java.lang.module.Configuration.resolve(Configuration.java:421) ~[?:?] at java.lang.module.Configuration.resolve(Configuration.java:255) ~[?:?] at com.ishland.c2me.common.util.ModuleUtil.Which minecraft version are you using?
1.17
On which mod loaders does it happen?
Fabric
Crash log
Already provided in the description