FoundationGames / Sandwichable

Customizable Sandwich mod for Minecraft
MIT License
32 stars 28 forks source link

Quilt bug #147

Open lostopkk opened 1 year ago

lostopkk commented 1 year ago

2022-09-03-6.log

FoundationGames commented 1 year ago

Sandwichable should be fully compatible with Quilt on its own - does the issue occur with only Sandwichable + QSL?

If not, it's likely a mod compatibility issue

lostopkk commented 1 year ago

Sandwichable should be fully compatible with Quilt on its own - does the issue occur with only Sandwichable + QSL?

If not, it's likely a mod compatibility issue

well I just start and it crashes before opening minecraft with this error, I kept taking it little by little until I saw that it was the sandwichable, so I don't really know why since the fabric works perfectly

Mirsario commented 1 year ago

Also experiencing this. I made a list of the mods we share, to then realize that.. yes, it does happen with just Sandwichable + QFAPI/QSL! Tried on versions 4.0.0-beta.12/ 3.0.0-beta.16 and 4.0.0-beta.9/3.0.0-beta.14 of QFAPI/QSL, and Quilt itself - 0.17.3-1.19.2 and 0.17.5-beta.2-1.19.2. So, updating everything didn't help whatsoever.

zhuher commented 1 year ago

Same here, isolated the problem to just Sandwichable + QSL. Crash log:

[13:52:42] [main/INFO]: Loading Minecraft 1.19.2 with Quilt Loader 0.17.5-beta.2
[13:52:43] [ForkJoinPool-1-worker-4/WARN]: Warnings for mod "sandwichable"'s mod json:
- Version 1.3.a+1.19 does not respect SemVer -- comparison support is limited. "version" at  at line 4 column 26 path $.version
[13:52:43] [main/INFO]: Loading 80 mods:
| Index | Mod                                               | ID                                            | Version                      |
|------:|---------------------------------------------------|-----------------------------------------------|------------------------------|
|    14 | Java HotSpot(TM) 64-Bit Server VM                 | java                                          | 18                           |
|    46 | Minecraft                                         | minecraft                                     | 1.19.2                       |
|     6 | Not Enough Crashes                                | notenoughcrashes                              | 4.1.8+1.19.2                 |
|    77 | Quilt Advancement API                             | quilt_advancement                             | 3.0.0-beta.16+1.19.2         |
|    53 | Quilt Base API                                    | quilt_base                                    | 3.0.0-beta.16+1.19.2         |
|    76 | Quilt Biome API                                   | quilt_biome                                   | 3.0.0-beta.16+1.19.2         |
|    71 | Quilt Block Content Registry API                  | quilt_block_content_registry                  | 3.0.0-beta.16+1.19.2         |
|    47 | Quilt Block Entity API                            | quilt_block_entity                            | 3.0.0-beta.16+1.19.2         |
|    25 | Quilt Block Extensions API                        | quilt_block_extensions                        | 3.0.0-beta.16+1.19.2         |
|    75 | Quilt Client Command API                          | quilt_client_command                          | 3.0.0-beta.16+1.19.2         |
|    24 | Quilt Command API                                 | quilt_command                                 | 3.0.0-beta.16+1.19.2         |
|    72 | Quilt Crash Info                                  | quilt_crash_info                              | 3.0.0-beta.16+1.19.2         |
|    58 | Quilt DataFixerUpper API                          | quilt_datafixerupper                          | 3.0.0-beta.16+1.19.2         |
|    40 | Quilt Dimension API                               | quilt_dimension                               | 3.0.0-beta.16+1.19.2         |
|     8 | Quilt Item Content Registry API                   | quilt_item_content_registry                   | 3.0.0-beta.16+1.19.2         |
|    57 | Quilt Item Extension API                          | quilt_item_extension                          | 3.0.0-beta.16+1.19.2         |
|     9 | Quilt Item Group API                              | quilt_item_group                              | 3.0.0-beta.16+1.19.2         |
|     2 | Quilt Item Setting API                            | quilt_item_setting                            | 3.0.0-beta.16+1.19.2         |
|    54 | Quilt Lifecycle Events                            | quilt_lifecycle_events                        | 3.0.0-beta.16+1.19.2         |
|    78 | Quilt Loader                                      | quilt_loader                                  | 0.17.5-beta.2                |
|    17 | Quilt Multipart Entity API                        | quilt_entity_multipart                        | 3.0.0-beta.16+1.19.2         |
|    28 | Quilt Networking                                  | quilt_networking                              | 3.0.0-beta.16+1.19.2         |
|    35 | Quilt Recipe API                                  | quilt_recipe                                  | 3.0.0-beta.16+1.19.2         |
|    11 | Quilt Registry API                                | quilt_registry                                | 3.0.0-beta.16+1.19.2         |
|    69 | Quilt Registry Entry Attachment                   | quilt_registry_entry_attachment               | 3.0.0-beta.16+1.19.2         |
|    18 | Quilt Resource Loader                             | quilt_resource_loader                         | 3.0.0-beta.16+1.19.2         |
|    15 | Quilt Screen API                                  | quilt_screen                                  | 3.0.0-beta.16+1.19.2         |
|    42 | Quilt Surface Rule API                            | quilt_surface_rule                            | 3.0.0-beta.16+1.19.2         |
|    20 | Quilt Tags API                                    | quilt_tags                                    | 3.0.0-beta.16+1.19.2         |
|    43 | Quilt Tooltip API                                 | quilt_tooltip                                 | 3.0.0-beta.16+1.19.2         |
|    29 | Quilted Fabric API                                | quilted_fabric_api                            | 4.0.0-beta.12+0.61.0-1.19.2  |
|    66 | Quilted Fabric API Base                           | quilted_fabric_api_base                       | 4.0.0-beta.12+0.61.0-1.19.2  |
|     4 | Quilted Fabric API Lookup API (v1)                | quilted_fabric_api_lookup_api_v1              | 4.0.0-beta.12+0.61.0-1.19.2  |
|    60 | Quilted Fabric Biome API (v1)                     | quilted_fabric_biome_api_v1                   | 4.0.0-beta.12+0.61.0-1.19.2  |
|    73 | Quilted Fabric BlockRenderLayer Registration (v1) | quilted_fabric_blockrenderlayer_v1            | 4.0.0-beta.12+0.61.0-1.19.2  |
|    70 | Quilted Fabric Client Tags                        | quilted_fabric_client_tags_api_v1             | 4.0.0-beta.12+0.61.0-1.19.2  |
|    36 | Quilted Fabric Command API (v1)                   | quilted_fabric_command_api_v1                 | 4.0.0-beta.12+0.61.0-1.19.2  |
|    39 | Quilted Fabric Command API (v2)                   | quilted_fabric_command_api_v2                 | 4.0.0-beta.12+0.61.0-1.19.2  |
|    33 | Quilted Fabric Commands (v0)                      | quilted_fabric_commands_v0                    | 4.0.0-beta.12+0.61.0-1.19.2  |
|    50 | Quilted Fabric Containers (v0)                    | quilted_fabric_containers_v0                  | 4.0.0-beta.12+0.61.0-1.19.2  |
|    65 | Quilted Fabric Content Registries (v0)            | quilted_fabric_content_registries_v0          | 4.0.0-beta.12+0.61.0-1.19.2  |
|    52 | Quilted Fabric Convention Tags API (v1)           | quilted_fabric_convention_tags_api_v1         | 4.0.0-beta.12+0.61.0-1.19.2  |
|    21 | Quilted Fabric Crash Report Info (v1)             | quilted_fabric_crash_report_info_v1           | 4.0.0-beta.12+0.61.0-1.19.2  |
|    74 | Quilted Fabric Data Generation API (v1)           | quilted_fabric_data_generation_api_v1         | 4.0.0-beta.12+0.61.0-1.19.2  |
|    32 | Quilted Fabric Dimensions API (v1)                | quilted_fabric_dimensions_v1                  | 4.0.0-beta.12+0.61.0-1.19.2  |
|    51 | Quilted Fabric Entity Events (v1)                 | quilted_fabric_entity_events_v1               | 4.0.0-beta.12+0.61.0-1.19.2  |
|    41 | Quilted Fabric Events Interaction (v0)            | quilted_fabric_events_interaction_v0          | 4.0.0-beta.12+0.61.0-1.19.2  |
|    64 | Quilted Fabric Events Lifecycle (v0)              | quilted_fabric_events_lifecycle_v0            | 4.0.0-beta.12+0.61.0-1.19.2  |
|    27 | Quilted Fabric Game Rule API (v1)                 | quilted_fabric_game_rule_api_v1               | 4.0.0-beta.12+0.61.0-1.19.2  |
|    56 | Quilted Fabric Item API (v1)                      | quilted_fabric_item_api_v1                    | 4.0.0-beta.12+0.61.0-1.19.2  |
|    12 | Quilted Fabric Item Groups (v0)                   | quilted_fabric_item_groups_v0                 | 4.0.0-beta.12+0.61.0-1.19.2  |
|    79 | Quilted Fabric Key Binding API (v1)               | quilted_fabric_key_binding_api_v1             | 4.0.0-beta.12+0.61.0-1.19.2  |
|    49 | Quilted Fabric Key Bindings (v0)                  | quilted_fabric_keybindings_v0                 | 4.0.0-beta.12+0.61.0-1.19.2  |
|     1 | Quilted Fabric Lifecycle Events (v1)              | quilted_fabric_lifecycle_events_v1            | 4.0.0-beta.12+0.61.0-1.19.2  |
|    38 | Quilted Fabric Loot API (v2)                      | quilted_fabric_loot_api_v2                    | 4.0.0-beta.12+0.61.0-1.19.2  |
|     7 | Quilted Fabric Loot Tables (v1)                   | quilted_fabric_loot_tables_v1                 | 4.0.0-beta.12+0.61.0-1.19.2  |
|    63 | Quilted Fabric Message API (v1)                   | quilted_fabric_message_api_v1                 | 4.0.0-beta.12+0.61.0-1.19.2  |
|    68 | Quilted Fabric Mining Level API (v1)              | quilted_fabric_mining_level_api_v1            | 4.0.0-beta.12+0.61.0-1.19.2  |
|    62 | Quilted Fabric Models (v0)                        | quilted_fabric_models_v0                      | 4.0.0-beta.12+0.61.0-1.19.2  |
|    26 | Quilted Fabric Networking (v0)                    | quilted_fabric_networking_v0                  | 4.0.0-beta.12+0.61.0-1.19.2  |
|    16 | Quilted Fabric Networking API (v1)                | quilted_fabric_networking_api_v1              | 4.0.0-beta.12+0.61.0-1.19.2  |
|    48 | Quilted Fabric Object Builder API (v1)            | quilted_fabric_object_builder_api_v1          | 4.0.0-beta.12+0.61.0-1.19.2  |
|    67 | Quilted Fabric Particles (v1)                     | quilted_fabric_particles_v1                   | 4.0.0-beta.12+0.61.0-1.19.2  |
|    45 | Quilted Fabric Registry Sync (v0)                 | quilted_fabric_registry_sync_v0               | 4.0.0-beta.12+0.61.0-1.19.2  |
|     5 | Quilted Fabric Renderer - Indigo                  | quilted_fabric_renderer_indigo                | 4.0.0-beta.12+0.61.0-1.19.2  |
|    13 | Quilted Fabric Renderer API (v1)                  | quilted_fabric_renderer_api_v1                | 4.0.0-beta.12+0.61.0-1.19.2  |
|    30 | Quilted Fabric Renderer Registries (v1)           | quilted_fabric_renderer_registries_v1         | 4.0.0-beta.12+0.61.0-1.19.2  |
|    19 | Quilted Fabric Rendering (v0)                     | quilted_fabric_rendering_v0                   | 4.0.0-beta.12+0.61.0-1.19.2  |
|    22 | Quilted Fabric Rendering (v1)                     | quilted_fabric_rendering_v1                   | 4.0.0-beta.12+0.61.0-1.19.2  |
|    44 | Quilted Fabric Rendering Data Attachment (v1)     | quilted_fabric_rendering_data_attachment_v1   | 4.0.0-beta.12+0.61.0-1.19.2  |
|    10 | Quilted Fabric Rendering Fluids (v1)              | quilted_fabric_rendering_fluids_v1            | 4.0.0-beta.12+0.61.0-1.19.2  |
|    31 | Quilted Fabric Resource Conditions API (v1)       | quilted_fabric_resource_conditions_api_v1     | 4.0.0-beta.12+0.61.0-1.19.2  |
|    55 | Quilted Fabric Resource Loader (v0)               | quilted_fabric_resource_loader_v0             | 4.0.0-beta.12+0.61.0-1.19.2  |
|    59 | Quilted Fabric Screen API (v1)                    | quilted_fabric_screen_api_v1                  | 4.0.0-beta.12+0.61.0-1.19.2  |
|    34 | Quilted Fabric Screen Handler API (v1)            | quilted_fabric_screen_handler_api_v1          | 4.0.0-beta.12+0.61.0-1.19.2  |
|    37 | Quilted Fabric Textures (v0)                      | quilted_fabric_textures_v0                    | 4.0.0-beta.12+0.61.0-1.19.2  |
|    23 | Quilted Fabric Transfer API (v1)                  | quilted_fabric_transfer_api_v1                | 4.0.0-beta.12+0.61.0-1.19.2  |
|     3 | Quilted Fabric Transitive Access Wideners (v1)    | quilted_fabric_transitive_access_wideners_v1  | 4.0.0-beta.12+0.61.0-1.19.2  |
|     0 | Sandwichable                                      | sandwichable                                  | 1.3.a+1.19                   |
|    61 | SpruceUI                                          | spruceui                                      | 4.0.0+1.19                   |
|------:|---------------------------------------------------|-----------------------------------------------|------------------------------|
[13:52:43] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/Herman/AppData/Roaming/PolyMC/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar Service=Knot/Quilt Env=CLIENT
[13:52:44] [main/INFO]: Compatibility level set to JAVA_17
[13:52:49] [main/INFO]: Building optimized datafixer
[13:52:51] [main/INFO]: [Quilt Command] Networking support is enabled
[13:52:52] [main/ERROR]: Minecraft has crashed!
org.quiltmc.loader.impl.FormattedException: java.lang.IllegalArgumentException: Value is invalid: Unknown registry element in ResourceKey[minecraft:root / minecraft:block]:Block{minecraft:air}
    at Not Enough Crashes deobfuscated stack trace.(1.19.2+build.13) ~[?:?]
    at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:425) ~[quilt-loader-0.17.5-beta.2.jar:?]
    at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76) [quilt-loader-0.17.5-beta.2.jar:?]
    at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24) [quilt-loader-0.17.5-beta.2.jar:?]
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:577) ~[?:?]
    at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104) [NewLaunch.jar:?]
    at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175) [NewLaunch.jar:?]
    at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:185) [NewLaunch.jar:?]
    at org.polymc.EntryPoint.listen(EntryPoint.java:144) [NewLaunch.jar:?]
    at org.polymc.EntryPoint.main(EntryPoint.java:74) [NewLaunch.jar:?]
Caused by: java.lang.IllegalArgumentException: Value is invalid: Unknown registry element in ResourceKey[minecraft:root / minecraft:block]:Block{minecraft:air}
    at org.quiltmc.qsl.registry.attachment.impl.CodecUtils.assertValid(CodecUtils.java:30) ~[registry_entry_attachment-3.0.0-beta.16+1.19.2.jar-4d0ed6de-c5c0-45fa-97ab-ce614ada6ff4-nested.jar:?]
    at org.quiltmc.qsl.registry.attachment.impl.RegistryEntryAttachmentImpl.put(RegistryEntryAttachmentImpl.java:179) ~[registry_entry_attachment-3.0.0-beta.16+1.19.2.jar-4d0ed6de-c5c0-45fa-97ab-ce614ada6ff4-nested.jar:?]
    at java.util.HashMap.forEach(HashMap.java:1421) ~[?:?]
    at org.quiltmc.qsl.block.content.registry.impl.BlockContentRegistriesInitializer.addMapToAttachment(BlockContentRegistriesInitializer.java:123) ~[block_content_registry-3.0.0-beta.16+1.19.2.jar-15b33817-73eb-4724-b059-8d8735d27136-nested.jar:?]
    at org.quiltmc.qsl.block.content.registry.impl.BlockContentRegistriesInitializer.onInitialize(BlockContentRegistriesInitializer.java:79) ~[block_content_registry-3.0.0-beta.16+1.19.2.jar-15b33817-73eb-4724-b059-8d8735d27136-nested.jar:?]
    at net.minecraft.Bootstrap.handler$zki001$onInitialize(Bootstrap:1542) ~[?:?]
    at net.minecraft.Bootstrap.initialize(Bootstrap:69) ~[?:?]
    at net.minecraft.client.main.Main.main(Main:161) ~[minecraft-1.19.2-client.jar:?]
    at net.minecraft.client.main.Main.main(Main:51) ~[minecraft-1.19.2-client.jar:?]
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:577) ~[?:?]
    at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423) ~[quilt-loader-0.17.5-beta.2.jar:?]
    ... 9 more
sisby-folk commented 1 year ago

Happening here as well, same stuff - most quilt incompatibilities these days are to do with ResourceReloadListeners.

Fabric by default will load resources in the order they're instantiated, quilt won't, and you have to use dependencies for resource loaders that have dependencies.

so... here?

you're loading vanilla stuff before it's loaded maybe? and need to depend on it explicitly

FoundationGames commented 1 year ago

The issue seems to have nothing to do with resource reloaders, it's more likely because of Sandwichable's configuration file loading blocks before QSL's REA system is ready for them

TropheusJ commented 1 year ago

Still an issue on latest QSL

sisby-folk commented 1 year ago

Is there any recommendation from anyone on the quilt team on working with this issue or similar issues? Not to be huge bastards but @LambdAurora have any other mod devs reported this kind of thing to you before?

LambdAurora commented 1 year ago

This is a common issue, QFAPI should try to fix it but not always catch it? cc @EnnuiL

This is caused by mods registering REA entries before the entry is even registered into the registry. The fix is to either delay or make sure it's registered before applying an REA entry. If this is difficult due to dependencies, a registry addition event might need to be used sadly.

EnnuiL commented 1 year ago

This is a common issue, QFAPI should try to fix it but not always catch it? cc @EnnuiL

This is caused by mods registering REA entries before the entry is even registered into the registry. The fix is to either delay or make sure it's registered before applying an REA entry. If this is difficult due to dependencies, a registry addition event might need to be used sadly.

QFAPI does have a workaround for shenanigans, but it only applies to entries added through Fabric API; I can't reasonably deal with Mixin shenanigans like this one; The solution here? Use Fabric API's relevant content registries, the mixins aren't needed anymore anyway