Giter Club home page Giter Club logo

quilted-fabric-api's Introduction

Quilted Fabric API

Quilted Fabric API is a Quilt reimplementation of the Fabric API on top of the Quilt Standard Libraries.

The main objective is to aid both players and mod developers with the migration to the Quilt toolchain by allowing Fabric mods who depended on the Fabric API to work seamlessly and by letting Fabric API modules who doesn't yet have a QSL equivalent co-exist with other QSL modules.

While we try our best, keep in mind that mod compatibility might not be 100%! If you find any issues specific to Quilted Fabric API, please report them on our issue tracker. If you are a developer or player who needs support, check out our community Discord server!

quilted-fabric-api's People

Contributors

altrisi avatar apple502j avatar asiekierka avatar cheatercodes avatar deirn avatar dexman545 avatar ennuil avatar errorcraft avatar frqnny avatar grondag avatar haykam821 avatar i509vcb avatar ix0rai avatar juuxel avatar kevinthegreat1 avatar lambdaurora avatar liach avatar maityyy avatar modmuss50 avatar oroarmor avatar peppercode1 avatar qouteall avatar sfplayer1 avatar shartte avatar shedaniel avatar shnupbups avatar squiddev avatar technici4n avatar theglitch76 avatar triphora avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

quilted-fabric-api's Issues

Block loot tables for wall signs don't apply under Quilt

We received a report Terrestria wall signs break as oak wall signs in 1.18.2 and after some investigation found this happens when using Quilt (loader 0.17.4, QFAPI 1.0.0-beta.24_qsl-1.1.0-beta.26_fapi-0.58.0_mc-1.18.2) but not with any Fabric version I can find. No related problem seems to be logged.

I have also reproduced the problem with QFAPI 4.0.0-beta.11_qsl-3.0.0-beta.15_fapi-0.60.0_mc-1.19.2.

Our loot tables are produced via datagen and here are examples (first a standing sign, which works correctly in Quilt, and then a wall sign, which breaks as an oak sign):

redwood_sign.json

{
  "type": "minecraft:block",
  "pools": [
    {
      "rolls": 1.0,
      "bonus_rolls": 0.0,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "terrestria:redwood_sign"
        }
      ],
      "conditions": [
        {
          "condition": "minecraft:survives_explosion"
        }
      ]
    }
  ]
}

redwood_wall_sign.json

{
  "type": "minecraft:block",
  "pools": [
    {
      "rolls": 1.0,
      "bonus_rolls": 0.0,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "terrestria:redwood_sign"
        }
      ],
      "conditions": [
        {
          "condition": "minecraft:survives_explosion"
        }
      ]
    }
  ]
}

QSL 4.0.0 beta 14 crashes on startup with some entity mods; creates log spam

MC 1.19.2
QSL 4.0.0-beta.14
Creeper Overhaul 2.0.3
Llamarama 1.8.4

To reproduce the crash:

  1. Install QSL 4.0.0 beta 14
  2. Install either Creeper Overhaul or Llamarama
  3. Try to launch the game

Reporting here because the issue only started to happen after updating to beta 14, beta 13 works with no issues. I don't know of other affected mods, that add new mobs, but I tested it against a large modpack and these are the only 2 that I found to be broken on the newest QSL.

Logs: https://gist.github.com/Footage2-Amply-Pounce/582ad42e6d8a09bf5264d49f3b7f3f86 (only included the Creeper Overhaul crash, because Llamarama one looks identical, but let me know if you need that one too).

As for the log spam issue, for some reason this update started to spam the following message in the log: [org.quiltmc.quilted_fabric_api.impl.content.registry.util.QuiltDeferringQueues] did this work?. Could this be limited to just 1 message per launch? Not sure which mods cause this, let me know if it's important, I'll spend some time trying to narrow it down.

Fapi needs updated to 0.14.12

quite a few mods for 1.19.3 rely on that version of Fabric API, but at current this only makes 1.19.2 mods a guarantee for 1.19.3, which isn't possible as I think there were breaking changes between 1.19.2 and 1.19.3. One example is darkhax's openloader

Crash rendering falling block

Any falling block within render distance crashes the game.
Minecraft version: 1.19 (viafabric to 1.18.2 server)
Quilt version: 0.17.4
QFAPI/QSL versions: 4.0.0-beta.9 / 3.0.0-beta.14

---- Minecraft Crash Report ----
// Hey, that tickles! Hehehe!

Time: 8/23/22, 9:09 AM
Description: Rendering entity in world

java.lang.NullPointerException: Cannot invoke "net.fabricmc.fabric.api.renderer.v1.Renderer.meshBuilder()" because the return value of "net.fabricmc.fabric.api.renderer.v1.RendererAccess.getRenderer()" is null
	at me.pepperbell.continuity.impl.client.ProcessingContextImpl.<init>(ProcessingContextImpl.java:19)
	at me.pepperbell.continuity.client.model.CTMBakedModel$CTMQuadTransform.<init>(CTMBakedModel.java:70)
	at me.pepperbell.continuity.client.model.ModelObjectsContainer.<init>(ModelObjectsContainer.java:10)
	at java.base/java.lang.ThreadLocal$SuppliedThreadLocal.initialValue(ThreadLocal.java:305)
	at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195)
	at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172)
	at me.pepperbell.continuity.client.model.ModelObjectsContainer.get(ModelObjectsContainer.java:18)
	at me.pepperbell.continuity.impl.client.ContinuityFeatureStatesImpl.get(ContinuityFeatureStatesImpl.java:16)
	at me.pepperbell.continuity.api.client.ContinuityFeatureStates.get(ContinuityFeatureStates.java:10)
	at net.minecraft.class_901.handler$zck000$beforeRenderModel(class_901.java:518)
	at net.minecraft.class_901.method_3965(class_901.java:45)
	at net.minecraft.class_901.method_3936(class_901.java:17)
	at net.minecraft.class_898.method_3954(class_898.java:141)
	at net.minecraft.class_761.method_22977(class_761.java:1567)
	at net.minecraft.class_761.method_22710(class_761.java:1315)
	at net.minecraft.class_757.method_3188(class_757.java:1039)
	at net.minecraft.class_757.method_3192(class_757.java:816)
	at net.minecraft.class_310.method_1523(class_310.java:1143)
	at net.minecraft.class_310.method_1514(class_310.java:734)
	at net.minecraft.client.main.Main.main(Main.java:237)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at me.pepperbell.continuity.impl.client.ProcessingContextImpl.<init>(ProcessingContextImpl.java:19)
	at me.pepperbell.continuity.client.model.CTMBakedModel$CTMQuadTransform.<init>(CTMBakedModel.java:70)
	at me.pepperbell.continuity.client.model.ModelObjectsContainer.<init>(ModelObjectsContainer.java:10)
	at java.base/java.lang.ThreadLocal$SuppliedThreadLocal.initialValue(ThreadLocal.java:305)
	at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195)
	at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172)
	at me.pepperbell.continuity.client.model.ModelObjectsContainer.get(ModelObjectsContainer.java:18)
	at me.pepperbell.continuity.impl.client.ContinuityFeatureStatesImpl.get(ContinuityFeatureStatesImpl.java:16)
	at me.pepperbell.continuity.api.client.ContinuityFeatureStates.get(ContinuityFeatureStates.java:10)
	at net.minecraft.class_901.handler$zck000$beforeRenderModel(class_901.java:518)
	at net.minecraft.class_901.method_3965(class_901.java:45)
	at net.minecraft.class_901.method_3936(class_901.java:17)
	at net.minecraft.class_898.method_3954(class_898.java:141)
	at net.minecraft.class_761.method_22977(class_761.java:1567)
	at net.minecraft.class_761.method_22710(class_761.java:1315)
	at net.minecraft.class_757.method_3188(class_757.java:1039)

-- Entity being rendered --
Details:
	Entity Type: minecraft:falling_block (net.minecraft.class_1540)
	Entity ID: 57831495
	Entity Name: Falling Block
	Entity's Exact location: 1000532.50, 32.96, 251028.50
	Entity's Block location: World: (1000532,32,251028), Section: (at 4,0,4 in 62533,2,15689; chunk contains blocks 1000528,-64,251024 to 1000543,319,251039), Region: (1954,490; contains chunks 62528,15680 to 62559,15711, blocks 1000448,-64,250880 to 1000959,319,251391)
	Entity's Momentum: 0.00, -0.04, 0.00
	Entity's Passengers: []
	Entity's Vehicle: null
	Immitating BlockState: Block{minecraft:sand}
Stacktrace:
	at net.minecraft.class_898.method_3954(class_898.java:141)
	at net.minecraft.class_761.method_22977(class_761.java:1567)
	at net.minecraft.class_761.method_22710(class_761.java:1315)
	at net.minecraft.class_757.method_3188(class_757.java:1039)
	at net.minecraft.class_757.method_3192(class_757.java:816)
	at net.minecraft.class_310.method_1523(class_310.java:1143)
	at net.minecraft.class_310.method_1514(class_310.java:734)
	at net.minecraft.client.main.Main.main(Main.java:237)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)

-- Renderer details --
Details:
	Assigned renderer: net.minecraft.class_901@6b1224f0
	Location: -0.80,3.38,0.16 - World: (-1,3,0), Section: (at 15,3,0 in -1,0,0; chunk contains blocks -16,-64,0 to -1,319,15), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,-64,0 to -1,319,511)
	Rotation: 0.0
	Delta: 0.060004234
Stacktrace:
	at net.minecraft.class_898.method_3954(class_898.java:141)
	at net.minecraft.class_761.method_22977(class_761.java:1567)
	at net.minecraft.class_761.method_22710(class_761.java:1315)
	at net.minecraft.class_757.method_3188(class_757.java:1039)
	at net.minecraft.class_757.method_3192(class_757.java:816)
	at net.minecraft.class_310.method_1523(class_310.java:1143)
	at net.minecraft.class_310.method_1514(class_310.java:734)
	at net.minecraft.client.main.Main.main(Main.java:237)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)

-- Affected level --
Details:
	All players: 1 total; [class_746['BogTheMudWing'/57831068, l='ClientLevel', x=1000533.30, y=28.00, z=251028.34]]
	Chunk stats: 1024, 109 F: 0 L: 0 U: 1
	Level dimension: minecraft:overworld
	Level spawn location: World: (2922,84,1324), Section: (at 10,4,12 in 182,5,82; chunk contains blocks 2912,-64,1312 to 2927,319,1327), Region: (5,2; contains chunks 160,64 to 191,95, blocks 2560,-64,1024 to 3071,319,1535)
	Level time: 115135 game time, 562194014 day time
	Server brand: Paper
	Server type: Non-integrated multiplayer server
Stacktrace:
	at net.minecraft.class_638.method_8538(class_638.java:453)
	at net.minecraft.class_310.method_1587(class_310.java:2288)
	at net.minecraft.class_310.method_1514(class_310.java:753)
	at net.minecraft.client.main.Main.main(Main.java:237)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)

-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: Default, continuity/default, continuity/glass_pane_culling_fix, Dragonspeak-1.19-vS1.8

-- System Details --
Details:
	Minecraft Version: 1.19
	Minecraft Version ID: 1.19
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 17.0.3, Microsoft
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft
	Memory: 390200432 bytes (372 MiB) / 905969664 bytes (864 MiB) up to 4294967296 bytes (4096 MiB)
	CPUs: 16
	Processor Vendor: GenuineIntel
	Processor Name: 12th Gen Intel(R) Core(TM) i5-12600K
	Identifier: Intel64 Family 6 Model 151 Stepping 2
	Microarchitecture: unknown
	Frequency (GHz): 3.69
	Number of physical packages: 1
	Number of physical CPUs: 10
	Number of logical CPUs: 16
	Graphics card #0 name: NVIDIA GeForce RTX 3060
	Graphics card #0 vendor: NVIDIA (0x10de)
	Graphics card #0 VRAM (MB): 4095.00
	Graphics card #0 deviceId: 0x2504
	Graphics card #0 versionInfo: DriverVersion=31.0.15.1694
	Graphics card #1 name: Intel(R) UHD Graphics 770
	Graphics card #1 vendor: Intel Corporation (0x8086)
	Graphics card #1 VRAM (MB): 1024.00
	Graphics card #1 deviceId: 0x4680
	Graphics card #1 versionInfo: DriverVersion=31.0.101.3222
	Memory slot #0 capacity (MB): 8192.00
	Memory slot #0 clockSpeed (GHz): 3.20
	Memory slot #0 type: DDR4
	Memory slot #1 capacity (MB): 8192.00
	Memory slot #1 clockSpeed (GHz): 3.20
	Memory slot #1 type: DDR4
	Virtual memory max (MB): 29469.64
	Virtual memory used (MB): 15865.09
	Swap memory total (MB): 13312.00
	Swap memory used (MB): 240.49
	JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
	Loaded Shaderpack: (off)
	Quilted Fabric API: !! WARNING !! This instance is using Fabric API modules re-implemented by QSL. If the issue comes from Quilted Fabric API, DO NOT report to Fabric; report them to Quilt instead!
	Quilt Mods: 
		advanced_runtime_resource_pack: Runtime Resource Pack 0.6.2
		architectury: Architectury 5.7.28
		betterf3: BetterF3 1.3.1
		bobby: Bobby 4.0.0
		borderlessmining: Borderless Mining 1.1.4+1.19
		citresewn: CIT Resewn 1.1.1+1.19
		citresewn-defaults: CIT Resewn: Defaults 1.1.1+1.19
		cloth-api: Cloth API 4.0.65
		cloth-basic-math: cloth-basic-math 0.6.1
		cloth-client-events-v0: Cloth Client Events v0 4.0.65
		cloth-common-events-v1: Cloth Common Events v1 4.0.65
		cloth-config: Cloth Config v6 7.0.72
		cloth-scissors-api-v1: Cloth Scissors API v1 4.0.65
		cloth-utils-v1: Cloth Utils v1 4.0.65
		com_github_llamalad7_mixinextras: MixinExtras 0.0.11
		com_moandjiezana_toml_toml4j: toml4j 0.7.2
		com_typesafe_config: config 1.4.2
		continuity: Continuity 2.0.1+1.19
		dynamicfps: Dynamic FPS 2.2.0
		ferritecore: FerriteCore 4.2.1
		fvt: Flour's Various Tweaks 1.11.0-mc1.19
		inspecio: Inspecio 1.4.2+1.19
		io_leangen_geantyref_geantyref: geantyref 1.3.13
		iris: Iris 1.2.6
		java: OpenJDK 64-Bit Server VM 17
		lambdynlights: LambDynamicLights 2.1.2+1.19
		lazydfu: LazyDFU 0.1.3
		libzoomer: LibZoomer 0.5.0+1.19
		lithium: Lithium 0.8.1
		minecraft: Minecraft 1.19
		mm: Manningham Mills 2.1
		modmenu: Mod Menu 4.0.3
		morechathistory: MoreChatHistory 1.1.0
		nbttooltip: NBT Tooltip 1.7.0
		ok_zoomer: Ok Zoomer 5.0.0-beta.9+1.19
		org_anarres_jcpp: jcpp 1.4.14
		org_codehaus_groovy_groovy: groovy 3.0.11
		org_codehaus_groovy_groovy-jsr223: groovy-jsr223 3.0.11
		org_joml_joml: joml 1.10.4
		org_spongepowered_configurate-core: configurate-core 4.1.2
		org_spongepowered_configurate-hocon: configurate-hocon 4.1.2
		org_yaml_snakeyaml: snakeyaml 1.30
		phosphor: Phosphor 0.8.1
		pride: Pride Lib 1.1.2+1.19
		quilt_advancement: Quilt Advancement API 2.0.0-beta.16+1.19
		quilt_base: Quilt Base API 2.0.0-beta.16+1.19
		quilt_biome: Quilt Biome API 2.0.0-beta.16+1.19
		quilt_block_entity: Quilt Block Entity API 2.0.0-beta.16+1.19
		quilt_block_extensions: Quilt Block Extensions API 2.0.0-beta.16+1.19
		quilt_client_command: Quilt Client Command API 2.0.0-beta.16+1.19
		quilt_command: Quilt Command API 2.0.0-beta.16+1.19
		quilt_crash_info: Quilt Crash Info 2.0.0-beta.16+1.19
		quilt_dimension: Quilt Dimension API 2.0.0-beta.16+1.19
		quilt_item_content_registry: Quilt Item Content Registry API 2.0.0-beta.16+1.19
		quilt_item_group: Quilt Item Group API 2.0.0-beta.16+1.19
		quilt_item_setting: Quilt Item Setting API 2.0.0-beta.16+1.19
		quilt_lifecycle_events: Quilt Lifecycle Events 2.0.0-beta.16+1.19
		quilt_loader: Quilt Loader 0.17.4
		quilt_networking: Quilt Networking 2.0.0-beta.16+1.19
		quilt_recipe: Quilt Recipe API 2.0.0-beta.16+1.19
		quilt_registry: Quilt Registry API 2.0.0-beta.16+1.19
		quilt_registry_entry_attachments: Quilt Registry Entry Attachments 2.0.0-beta.16+1.19
		quilt_resource_loader: Quilt Resource Loader 2.0.0-beta.16+1.19
		quilt_screen: Quilt Screen API 2.0.0-beta.16+1.19
		quilt_tags: Quilt Tags API 2.0.0-beta.16+1.19
		quilt_tooltip: Quilt Tooltip API 2.0.0-beta.16+1.19
		quilted_fabric_api: Quilted Fabric API 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_api_base: Quilted Fabric API Base 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_api_lookup_api_v1: Quilted Fabric API Lookup API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_biome_api_v1: Quilted Fabric Biome API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_blockrenderlayer_v1: Quilted Fabric BlockRenderLayer Registration (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_command_api_v1: Quilted Fabric Command API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_command_api_v2: Quilted Fabric Command API (v2) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_commands_v0: Quilted Fabric Commands (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_containers_v0: Quilted Fabric Containers (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_content_registries_v0: Quilted Fabric Content Registries (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_convention_tags_api_v1: Quilted Fabric Convention Tags API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_crash_report_info_v1: Quilted Fabric Crash Report Info (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_data_generation_api_v1: Quilted Fabric Data Generation API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_dimensions_v1: Quilted Fabric Dimensions API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_entity_events_v1: Quilted Fabric Entity Events (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_events_interaction_v0: Quilted Fabric Events Interaction (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_events_lifecycle_v0: Quilted Fabric Events Lifecycle (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_game_rule_api_v1: Quilted Fabric Game Rule API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_item_api_v1: Quilted Fabric Item API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_item_groups_v0: Quilted Fabric Item Groups (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_key_binding_api_v1: Quilted Fabric Key Binding API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_keybindings_v0: Quilted Fabric Key Bindings (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_lifecycle_events_v1: Quilted Fabric Lifecycle Events (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_loot_api_v2: Quilted Fabric Loot API (v2) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_loot_tables_v1: Quilted Fabric Loot Tables (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_message_api_v1: Quilted Fabric Message API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_mining_level_api_v1: Quilted Fabric Mining Level API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_models_v0: Quilted Fabric Models (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_networking_api_v1: Quilted Fabric Networking API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_networking_v0: Quilted Fabric Networking (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_object_builder_api_v1: Quilted Fabric Object Builder API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_particles_v1: Quilted Fabric Particles (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_registry_sync_v0: Quilted Fabric Registry Sync (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_renderer_api_v1: Quilted Fabric Renderer API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_renderer_indigo: Quilted Fabric Renderer - Indigo 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_renderer_registries_v1: Quilted Fabric Renderer Registries (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_rendering_data_attachment_v1: Quilted Fabric Rendering Data Attachment (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_rendering_fluids_v1: Quilted Fabric Rendering Fluids (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_rendering_v0: Quilted Fabric Rendering (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_rendering_v1: Quilted Fabric Rendering (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_resource_conditions_api_v1: Quilted Fabric Resource Conditions API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_resource_loader_v0: Quilted Fabric Resource Loader (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_screen_api_v1: Quilted Fabric Screen API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_screen_handler_api_v1: Quilted Fabric Screen Handler API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_textures_v0: Quilted Fabric Textures (v0) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_transfer_api_v1: Quilted Fabric Transfer API (v1) 2.0.0-beta.9+0.58.0-1.19
		quilted_fabric_transitive_access_wideners_v1: Quilted Fabric Transitive Access Wideners (v1) 2.0.0-beta.9+0.58.0-1.19
		slight-gui-modifications: 'Slight' GUI Modifications 2.2.0
		smoothboot: Smooth Boot 1.19-1.7.1
		sodium: Sodium 0.4.2+replaymod.rev.bfbc6de
		spruceui: SpruceUI 4.0.0+1.19
		tooltipfix: ToolTip Fix 1.0.5-1.19
		viafabric: ViaFabric 0.4.7+9-main
		viafabric-mc119: ViaFabric for 1.19 0.4.7+9-main
		viaversion: ViaVersion 4.4.0-1.19.1-pre2-SNAPSHOT
		worldeditcui: WorldEditCUI 1.19+01
	Launched Version: quilt-loader-0.17.4-1.19
	Backend library: LWJGL version 3.3.1 build 7
	Backend API: NVIDIA GeForce RTX 3060/PCIe/SSE2 GL version 3.2.0 NVIDIA 516.94, NVIDIA Corporation
	Window size: 1920x1080
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'quilt'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: vanilla, continuity/default, continuity/glass_pane_culling_fix, file/Dragonspeak-1.19-vS1.8 (incompatible)
	Current Language: Dragonspeak (Pyrrhia)
	CPU: 16x 12th Gen Intel(R) Core(TM) i5-12600K

Quilted Fabric API has one failing game test

Currently, there's 1 failing tests:

  • fabric-item-api-v1-testmod:recipegametest/fabricremaindertest failed! Item stacks dont match. Testing fabric recipe remainder.
    This might be result of divergences between Fabric API and QSL's implementation of recipe remainders. This has to be investigated
  • yeah, this was supposed to be a list, but it turns out there were 3 game tests that required Minecraft 1.20 content to be enabled

By fixing the game test, we can reactivate the game test task on GitHub Actions, allowing us to make our own tests and have them automatically tested

qfapi-4.0.0-beta.7_qsl-3.0.0-beta.10_fapi-0.59.0_mc-1.19.2 exports 0.58.0 but 0.59.0 expected

When starting mods requiring

"fabricloader": ">=0.14.9"

(f.e. asteroid-1.3.0)

in their fabric.mod.json with qfapi-4.0.0-beta.7_qsl-3.0.0-beta.10_fapi-0.59.0_mc-1.19.2 I expected that QFAPI will export 0.59.0 loader version (as states from file name), but error appears:

Unhandled error involving mod 'Asteroid Rewritten' (asteroid) v1.3.0:
Dependency for mod 'asteroid' on fabricloader versions [>=0.14.9] (0 valid options, 1 invalid options)
    x provided mod 'fabricloader' version '0.14.8' from mod 'quilt_loader' version 0.17.2-beta.2 loaded from C:\games\...\libraries\org\quiltmc\quilt-loader\0.17.2-beta.2\quilt-loader-0.17.2-beta.2.jar

It seems that this QFAPI version exports 0.58.0 version.

Please assist. Thanks.

Balm crashes with some mods, specifically on Quilt

MC 1.19.2
QSL 4.0.0-beta.12/13
Balm 4.5.2+0

To reproduce the crash, you will also need another mod, I personally tested it with Terrestria, but apparently Farmer's Delight causes the same crash: TwelveIterationMods/Balm#37.

The crash does not happen on Fabric. Initially reported to Terrestria, but according to them it's not an issue on their side: TerraformersMC/Terrestria#278; also reported to Balm and was suggested to report to Quilt, as the crash is exclusive to Quilt: TwelveIterationMods/Balm#36.

Logs: https://gist.github.com/SplendidAlakey/dde2c2bdf95113aa01eb866725e0ee53

MixinApplyError: Mixin [quilt_item_extension.mixins.json:bow.BowAttackMixin from mod quilt_item_extension] from phase [DEFAULT] in config [quilt_item_extension.mixins.json] FAILED during APPLY

It seems something is broken in recent qfapi-4.0.0-beta.10_qsl-3.0.0-beta.15_fapi-0.60.0_mc-1.19.2.

My mods:

enhancedcraft-1.3.2
modmenu-4.0.6
qfapi-4.0.0-beta.10_qsl-3.0.0-beta.15_fapi-0.60.0_mc-1.19.2

When starting, I got error:

Mixin apply for mod quilt_item_extension failed quilt_item_extension.mixins.json:bow.BowAttackMixin from mod quilt_item_extension -> net.minecraft.class_1547: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @At("INVOKE") on net/minecraft/class_1547::modifyShotProjectile with priority 1000 cannot inject into net/minecraft/class_1547::method_7105(Lnet/minecraft/class_1309;F)V merged by com.spxctreofficial.enhancedcraft.mixin.entity.AbstractSkeletonEntityMixin with priority 1000 [PREINJECT Applicator Phase -> quilt_item_extension.mixins.json:bow.BowAttackMixin from mod quilt_item_extension -> Prepare Injections ->  -> redirect$zlg000$modifyShotProjectile(Lnet/minecraft/class_1937;Lnet/minecraft/class_1297;Lnet/minecraft/class_1309;F)Z -> Prepare]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @At("INVOKE") on net/minecraft/class_1547::modifyShotProjectile with priority 1000 cannot inject into net/minecraft/class_1547::method_7105(Lnet/minecraft/class_1309;F)V merged by com.spxctreofficial.enhancedcraft.mixin.entity.AbstractSkeletonEntityMixin with priority 1000 [PREINJECT Applicator Phase -> quilt_item_extension.mixins.json:bow.BowAttackMixin from mod quilt_item_extension -> Prepare Injections ->  -> redirect$zlg000$modifyShotProjectile(Lnet/minecraft/class_1937;Lnet/minecraft/class_1297;Lnet/minecraft/class_1309;F)Z -> Prepare]

Full log see here:
https://gist.github.com/lospejos/920a66559215d09c9da5785dcb47cd73

If I rollback to previous QFAPI version qfapi-4.0.0-beta.9_qsl-3.0.0-beta.14_fapi-0.60.0_mc-1.19.2 everything works just fine.

I'm not sure is it a QFAPI or Enhanced Craft mod error.

Please assist.
Thanks.

Health Levels mod doesn't reset health xp/levels when running through Quilt/QFAPI

OG Title: [BUG] Levels/XP not lost on death when using Quilt
OG Thread: SmushyTaco/Health-Levels#8

For context, this mod gives you "health xp" when you kill things, and as you gain "health levels" you gain hearts. (it's basically the normal xp system applied to health)

There is an option to remove health levels/xp when you die, but currently that won't happen when using Quilt. Switching from Quilt to Fabric fixes the issue.

I realize some of these mods have updated since I tested, but I've re-tested with updated mods and the results are the same.

Any insight is appreciated. :)

MC v1.19.2 | Quilt v0.17.6

Mod List:

  • Quilted Fabric API | v4.0.0-beta.20+0.66.0
  • Fabric Language Kotlin | v1.8.6+kotlin.1.7.21 (Quilt Kotlin Libraries produce identical results)
  • Cloth Config | v8.2.88
  • Mod Menu | v4.0.6
  • Health Levels | v1.0.3

Video showing config & testing: https://youtu.be/PQAgoHXDtUM
Log from above test: latest.log

1.18.2 Polymer unable to remove items from registries (no error) leading to clients being unable to connect

Quilt Loader version: 0.17.10 on a dedicated server with a vanilla 1.18.2 client connecting to it.

Mods:
https://modrinth.com/mod/polymer-ports-waystones/version/2.5.1-polymerport.0
https://modrinth.com/mod/polymer/version/0.2.0-rc.4.6%2B1.18.2

Tried on both Quilt with the Fabric API: https://modrinth.com/mod/fabric-api/version/0.67.0%2B1.18.2
and Quilt with the QFAPI: https://modrinth.com/mod/qsl/version/1.0.0-beta.28%2B0.67.0-1.18.2

I expect that the modded items will be removed from the item registry before the client connects so I'm able to connect from a vanilla client, however this only works with the Fabric API. There are no errors in either logs on the server or the client except when the client tries to connect to the QFAPI when I get

[15:14:03] [Netty Epoll Client IO #5/WARN]: Missing entries for registry "minecraft:block":
	- waystones:deepslate_brick_waystone
	- waystones:nether_brick_waystone
	- waystones:red_desert_waystone
	- waystones:desert_waystone
	... etc

Can't play on servers

With only the quilt loader & qfapi loaded (it works when I don't have qfapi), I get this when I join a server

Update to Fabric API 0.73.0

QFAPI should update to use the 0.73.0 version of FAPI since it resolves a major issue with air items being null.

Fix ItemStack.EMPTY.getItem() rarely returning null due to threading (FabricMC#2826) (Technici4n)

Error creation a new world: java.lang.NoSuchMethodError: 'net.minecraft.class_6880 net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext.getBiomeRegistryEntry()'

My config:
PolyMC 1.4.1

Minecraft 1.19.1, instance mods:

cloth-config-8.0.75-fabric.jar
modmenu-4.0.5.jar
notenoughcrashes-4.1.6+1.19-fabric.jar
qfapi-4.0.0-beta.1_qsl-3.0.0-beta.2_fapi-0.58.5_mc-1.19.1.jar

In this case, everything is OK, Minecraft starts without issues, new world was created successfully.

When I add MoreGems-Fabric-1.19.1-1.4.30.jar mod (or any fabric mod which assumes some changes in world generation - new ores, new berries etc, f.e. Gobber, Bodacious Berries etc) and restart, Minecraft starts OK, but when I do create a new world, error comes (see full crashdump stack trace below):
java.lang.NoSuchMethodError: 'net.minecraft.class_6880 net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext.getBiomeRegistryEntry()'

Not Enough Crashes mod complains about: More Gems, Quilt Biome API as a possible error causes (this time I tested with mod More Gems, that's why it is listed in error).

Kevin Pugh, the More Gems (and other) mod author pointed on this possible error cause (https://github.com/kwpugh/more_gems_fabric/issues/52#issuecomment-1200149507):

   public static Predicate<BiomeSelectionContext> netherSelector()
    {
        return context -> context.getBiomeRegistryEntry().isIn(BiomeTags.IS_NETHER);
    }

Please fix this or suggest a workaround. Thanks!

Crash dump goes below:

Time: 2022-07-30 15:03:45
Description: Starting integrated server

java.lang.NoSuchMethodError: 'net.minecraft.class_6880 net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext.getBiomeRegistryEntry()'
	at Not Enough Crashes deobfuscated stack trace.(1.19.1+build.4)
	at com.kwpugh.more_gems.world.GemOrePlacedFeature.lambda$netherSelector$1(GemOrePlacedFeature.java:120)
	at org.quiltmc.qsl.worldgen.biome.impl.modification.BiomeModificationImpl.finalizeWorldGen(BiomeModificationImpl.java:141)
	at net.minecraft.server.MinecraftServer.handler$zmg000$finalizeWorldGen(MinecraftServer:5297)
	at net.minecraft.server.MinecraftServer.<init>(MinecraftServer:295)
	at net.minecraft.server.integrated.IntegratedServer.<init>(IntegratedServer:49)
	at net.minecraft.client.MinecraftClient.method_29603(MinecraftClient:2042)
	at net.minecraft.server.MinecraftServer.startServer(MinecraftServer:264)
	at net.minecraft.client.MinecraftClient.startIntegratedServer(MinecraftClient:2042)
	at net.minecraft.server.integrated.IntegratedServerLoader.start(IntegratedServerLoader:100)
	at net.minecraft.client.gui.screen.world.CreateWorldScreen.startServer(CreateWorldScreen:326)
	at net.minecraft.server.integrated.IntegratedServerLoader.tryLoad(IntegratedServerLoader:247)
	at net.minecraft.client.gui.screen.world.CreateWorldScreen.createLevel(CreateWorldScreen:310)
	at net.minecraft.client.gui.screen.world.CreateWorldScreen.method_19922(CreateWorldScreen:260)
	at net.minecraft.client.gui.widget.ButtonWidget.onPress(ButtonWidget:43)
	at net.minecraft.client.gui.widget.PressableWidget.onClick(PressableWidget:16)
	at net.minecraft.client.gui.widget.ClickableWidget.mouseClicked(ClickableWidget:120)
	at net.minecraft.client.gui.ParentElement.mouseClicked(ParentElement:27)
	at net.minecraft.client.Mouse.method_1611(Mouse:94)
	at net.minecraft.client.gui.screen.Screen.wrapScreenError(Screen:489)
	at net.minecraft.client.Mouse.onMouseButton(Mouse:94)
	at net.minecraft.client.Mouse.method_22686(Mouse:165)
	at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor:103)
	at net.minecraft.client.Mouse.method_22684(Mouse:165)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)
	at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem:222)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1207)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:767)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.client.MinecraftClient.modify$zbc000$atTheEndOfFirstCatchBeforePrintingCrashReport(MinecraftClient:3008)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:789)
	at net.minecraft.client.main.Main.main(Main:244)
	at net.minecraft.client.main.Main.main(Main:51)
	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)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	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)
	at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175)
	at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:185)
	at org.polymc.EntryPoint.listen(EntryPoint.java:144)
	at org.polymc.EntryPoint.main(EntryPoint.java:74)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at com.kwpugh.more_gems.world.GemOrePlacedFeature.lambda$netherSelector$1(GemOrePlacedFeature.java:120)
	at org.quiltmc.qsl.worldgen.biome.impl.modification.BiomeModificationImpl.finalizeWorldGen(BiomeModificationImpl.java:141)
	at net.minecraft.server.MinecraftServer.handler$zmg000$finalizeWorldGen(MinecraftServer.java:5297)
	at net.minecraft.server.MinecraftServer.<init>(MinecraftServer.java:295)
	at net.minecraft.class_1132.<init>(class_1132.java:49)
	at net.minecraft.class_310.method_29603(class_310.java:2042)
	at net.minecraft.server.MinecraftServer.method_29740(MinecraftServer.java:264)
	at net.minecraft.class_310.method_29610(class_310.java:2042)
	at net.minecraft.class_7196.method_41889(class_7196.java:100)
	at net.minecraft.class_525.method_41847(class_525.java:326)
	at net.minecraft.class_7196.method_41892(class_7196.java:247)
	at net.minecraft.class_525.method_2736(class_525.java:310)
	at net.minecraft.class_525.method_19922(class_525.java:260)
	at net.minecraft.class_4185.method_25306(class_4185.java:43)
	at net.minecraft.class_4264.method_25348(class_4264.java:16)
	at net.minecraft.class_339.method_25402(class_339.java:120)
	at net.minecraft.class_4069.method_25402(class_4069.java:27)
	at net.minecraft.class_312.method_1611(class_312.java:94)
	at net.minecraft.class_437.method_25412(class_437.java:489)
	at net.minecraft.class_312.method_1601(class_312.java:94)
	at net.minecraft.class_312.method_22686(class_312.java:165)
	at net.minecraft.class_1255.execute(class_1255.java:103)
	at net.minecraft.class_312.method_22684(class_312.java:165)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)

-- Starting integrated server --
Details:
	Level ID: with_more_gems_mod
	Level Name: with_more_gems_mod
Stacktrace:
	at net.minecraft.class_310.method_29610(class_310.java:2042)
	at net.minecraft.class_7196.method_41889(class_7196.java:100)
	at net.minecraft.class_525.method_41847(class_525.java:326)
	at net.minecraft.class_7196.method_41892(class_7196.java:247)
	at net.minecraft.class_525.method_2736(class_525.java:310)
	at net.minecraft.class_525.method_19922(class_525.java:260)
	at net.minecraft.class_4185.method_25306(class_4185.java:43)
	at net.minecraft.class_4264.method_25348(class_4264.java:16)
	at net.minecraft.class_339.method_25402(class_339.java:120)
	at net.minecraft.class_4069.method_25402(class_4069.java:27)
	at net.minecraft.class_312.method_1611(class_312.java:94)
	at net.minecraft.class_437.method_25412(class_437.java:489)
	at net.minecraft.class_312.method_1601(class_312.java:94)
	at net.minecraft.class_312.method_22686(class_312.java:165)
	at net.minecraft.class_1255.execute(class_1255.java:103)
	at net.minecraft.class_312.method_22684(class_312.java:165)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)
	at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:222)
	at net.minecraft.class_310.method_1523(class_310.java:1207)
	at net.minecraft.class_310.method_1514(class_310.java:767)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.class_310.modify$zbc000$atTheEndOfFirstCatchBeforePrintingCrashReport(class_310.java:3008)
	at net.minecraft.class_310.method_1514(class_310.java:789)
	at net.minecraft.client.main.Main.method_44604(Main.java:244)
	at net.minecraft.client.main.Main.main(Main.java:51)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175)
	at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:185)
	at org.polymc.EntryPoint.listen(EntryPoint.java:144)
	at org.polymc.EntryPoint.main(EntryPoint.java:74)

-- Affected screen --
Details:
	Screen name: net.minecraft.class_525
Stacktrace:
	at net.minecraft.class_437.method_25412(class_437.java:489)
	at net.minecraft.class_312.method_1601(class_312.java:94)
	at net.minecraft.class_312.method_22686(class_312.java:165)
	at net.minecraft.class_1255.execute(class_1255.java:103)
	at net.minecraft.class_312.method_22684(class_312.java:165)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)
	at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:222)
	at net.minecraft.class_310.method_1523(class_310.java:1207)
	at net.minecraft.class_310.method_1514(class_310.java:767)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.class_310.modify$zbc000$atTheEndOfFirstCatchBeforePrintingCrashReport(class_310.java:3008)
	at net.minecraft.class_310.method_1514(class_310.java:789)
	at net.minecraft.client.main.Main.method_44604(Main.java:244)
	at net.minecraft.client.main.Main.main(Main.java:51)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175)
	at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:185)
	at org.polymc.EntryPoint.listen(EntryPoint.java:144)
	at org.polymc.EntryPoint.main(EntryPoint.java:74)

-- Last reload --
Details:
	Reload number: 2
	Reload reason: manual
	Finished: Yes
	Packs: Default
Stacktrace:
	at net.minecraft.class_6360.method_36565(class_6360.java:49)
	at net.minecraft.class_310.method_1587(class_310.java:2345)
	at net.minecraft.class_310.method_1514(class_310.java:786)
	at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37)
	at net.minecraft.class_310.modify$zbc000$atTheEndOfFirstCatchBeforePrintingCrashReport(class_310.java:3008)
	at net.minecraft.class_310.method_1514(class_310.java:789)
	at net.minecraft.client.main.Main.method_44604(Main.java:244)
	at net.minecraft.client.main.Main.main(Main.java:51)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175)
	at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:185)
	at org.polymc.EntryPoint.listen(EntryPoint.java:144)
	at org.polymc.EntryPoint.main(EntryPoint.java:74)

-- System Details --
Details:
	Minecraft Version: 1.19.1
	Minecraft Version ID: 1.19.1
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 18.0.2, Azul Systems, Inc.
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Azul Systems, Inc.
	Memory: 778061912 bytes (742 MiB) / 1398800384 bytes (1334 MiB) up to 4294967296 bytes (4096 MiB)
	CPUs: 16
	Processor Vendor: AuthenticAMD
	Processor Name: AMD Ryzen 9 5900HX with Radeon Graphics        
	Identifier: AuthenticAMD Family 25 Model 80 Stepping 0
	Microarchitecture: Zen 3
	Frequency (GHz): 3.29
	Number of physical packages: 1
	Number of physical CPUs: 8
	Number of logical CPUs: 16
	Graphics card #0 name: NVIDIA GeForce RTX 3080 Laptop GPU
	Graphics card #0 vendor: NVIDIA (0x10de)
	Graphics card #0 VRAM (MB): 4095.00
	Graphics card #0 deviceId: 0x249c
	Graphics card #0 versionInfo: DriverVersion=27.21.14.6179
	Graphics card #1 name: AMD Radeon(TM) Graphics
	Graphics card #1 vendor: Advanced Micro Devices, Inc. (0x1002)
	Graphics card #1 VRAM (MB): 512.00
	Graphics card #1 deviceId: 0x1638
	Graphics card #1 versionInfo: DriverVersion=30.0.13025.1000
	Memory slot #0 capacity (MB): 16384.00
	Memory slot #0 clockSpeed (GHz): 3.20
	Memory slot #0 type: DDR4
	Memory slot #1 capacity (MB): 16384.00
	Memory slot #1 clockSpeed (GHz): 3.20
	Memory slot #1 type: DDR4
	Virtual memory max (MB): 34156.06
	Virtual memory used (MB): 16183.59
	Swap memory total (MB): 2048.00
	Swap memory used (MB): 23.00
	JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms512m -Xmx4096m
	Quilted Fabric API: !! WARNING !! This instance is using Fabric API modules re-implemented by QSL. If the issue comes from Quilted Fabric API, DO NOT report to Fabric; report them to Quilt instead!
	Quilt Mods: 
		cloth-basic-math: cloth-basic-math 0.6.1
		cloth-config: Cloth Config v8 8.0.75
		java: OpenJDK 64-Bit Server VM 18
		minecraft: Minecraft 1.19.1
		modmenu: Mod Menu 4.0.5
		more_gems: More Gems 1.4.30
		notenoughcrashes: Not Enough Crashes 4.1.6+1.19
		pugh_tools: Pugh Tools 1.3.15
		quilt_advancement: Quilt Advancement API 3.0.0-beta.2+1.19.1
		quilt_base: Quilt Base API 3.0.0-beta.2+1.19.1
		quilt_biome: Quilt Biome API 3.0.0-beta.2+1.19.1
		quilt_block_entity: Quilt Block Entity API 3.0.0-beta.2+1.19.1
		quilt_block_extensions: Quilt Block Extensions API 3.0.0-beta.2+1.19.1
		quilt_client_command: Quilt Client Command API 3.0.0-beta.2+1.19.1
		quilt_command: Quilt Command API 3.0.0-beta.2+1.19.1
		quilt_crash_info: Quilt Crash Info 3.0.0-beta.2+1.19.1
		quilt_dimension: Quilt Dimension API 3.0.0-beta.2+1.19.1
		quilt_item_content_registry: Quilt Item Content Registry API 3.0.0-beta.2+1.19.1
		quilt_item_group: Quilt Item Group API 3.0.0-beta.2+1.19.1
		quilt_item_setting: Quilt Item Setting API 3.0.0-beta.2+1.19.1
		quilt_lifecycle_events: Quilt Lifecycle Events 3.0.0-beta.2+1.19.1
		quilt_loader: Quilt Loader 0.17.2-beta.1
		quilt_networking: Quilt Networking 3.0.0-beta.2+1.19.1
		quilt_recipe: Quilt Recipe API 3.0.0-beta.2+1.19.1
		quilt_registry: Quilt Registry API 3.0.0-beta.2+1.19.1
		quilt_registry_entry_attachments: Quilt Registry Entry Attachments 3.0.0-beta.2+1.19.1
		quilt_resource_loader: Quilt Resource Loader 3.0.0-beta.2+1.19.1
		quilt_screen: Quilt Screen API 3.0.0-beta.2+1.19.1
		quilt_tags: Quilt Tags API 3.0.0-beta.2+1.19.1
		quilt_tooltip: Quilt Tooltip API 3.0.0-beta.2+1.19.1
		quilted_fabric_api: Quilted Fabric API 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_api_base: Quilted Fabric API Base 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_api_lookup_api_v1: Quilted Fabric API Lookup API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_biome_api_v1: Quilted Fabric Biome API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_blockrenderlayer_v1: Quilted Fabric BlockRenderLayer Registration (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_command_api_v1: Quilted Fabric Command API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_command_api_v2: Quilted Fabric Command API (v2) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_commands_v0: Quilted Fabric Commands (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_containers_v0: Quilted Fabric Containers (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_content_registries_v0: Quilted Fabric Content Registries (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_convention_tags_api_v1: Quilted Fabric Convention Tags API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_crash_report_info_v1: Quilted Fabric Crash Report Info (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_data_generation_api_v1: Quilted Fabric Data Generation API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_dimensions_v1: Quilted Fabric Dimensions API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_entity_events_v1: Quilted Fabric Entity Events (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_events_interaction_v0: Quilted Fabric Events Interaction (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_events_lifecycle_v0: Quilted Fabric Events Lifecycle (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_game_rule_api_v1: Quilted Fabric Game Rule API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_item_api_v1: Quilted Fabric Item API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_item_groups_v0: Quilted Fabric Item Groups (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_key_binding_api_v1: Quilted Fabric Key Binding API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_keybindings_v0: Quilted Fabric Key Bindings (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_lifecycle_events_v1: Quilted Fabric Lifecycle Events (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_loot_api_v2: Quilted Fabric Loot API (v2) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_loot_tables_v1: Quilted Fabric Loot Tables (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_message_api_v1: Quilted Fabric Message API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_mining_level_api_v1: Quilted Fabric Mining Level API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_models_v0: Quilted Fabric Models (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_networking_api_v1: Quilted Fabric Networking API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_networking_v0: Quilted Fabric Networking (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_object_builder_api_v1: Quilted Fabric Object Builder API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_particles_v1: Quilted Fabric Particles (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_registry_sync_v0: Quilted Fabric Registry Sync (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_renderer_api_v1: Quilted Fabric Renderer API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_renderer_indigo: Quilted Fabric Renderer - Indigo 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_renderer_registries_v1: Quilted Fabric Renderer Registries (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_rendering_data_attachment_v1: Quilted Fabric Rendering Data Attachment (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_rendering_fluids_v1: Quilted Fabric Rendering Fluids (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_rendering_v0: Quilted Fabric Rendering (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_rendering_v1: Quilted Fabric Rendering (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_resource_conditions_api_v1: Quilted Fabric Resource Conditions API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_resource_loader_v0: Quilted Fabric Resource Loader (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_screen_api_v1: Quilted Fabric Screen API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_screen_handler_api_v1: Quilted Fabric Screen Handler API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_textures_v0: Quilted Fabric Textures (v0) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_transfer_api_v1: Quilted Fabric Transfer API (v1) 4.0.0-beta.1+0.58.5-1.19.1
		quilted_fabric_transitive_access_wideners_v1: Quilted Fabric Transitive Access Wideners (v1) 4.0.0-beta.1+0.58.5-1.19.1
	Launched Version: 1.19.1
	Backend library: LWJGL version 3.3.1 build 7
	Backend API: GeForce RTX 3080 Laptop GPU/PCIe/SSE2 GL version 3.2.0 NVIDIA 461.79, NVIDIA Corporation
	Window size: 1920x1200
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: id=1280, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_ENUM error generated. Polygon modes for <face> are disabled in the current profile.' x 2
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'quilt'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: vanilla
	Current Language: English (US)
	CPU: 16x AMD Ryzen 9 5900HX with Radeon Graphics 
	Client Crashes Since Restart: 2
	Integrated Server Crashes Since Restart: 0
	Suspected Mods: Not Enough Crashes (notenoughcrashes), More Gems (more_gems), Quilt Loader (quilt_loader), Quilt Biome API (quilt_biome), Minecraft (minecraft)

QSL breaks the new multiconnect beta.

Steps to reproduce:

  • Download the latest multiconnect beta.
  • Run 1.18.2 with multiconnect alongside Quilted Fabric API.
  • Join a server, any server version between 1.13 and 1.18.1 (not 1.18.2) should work.
  • Observe stack trace in logs:
java.lang.ExceptionInInitializerError: null
	at net.earthcomputer.multiconnect.packets.latest.SPacketSynchronizeTags_Latest.doFixTags(SPacketSynchronizeTags_Latest.java:123) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.packets.latest.SPacketSynchronizeTags_Latest$BlockGroup.fixTags(SPacketSynchronizeTags_Latest.java:64) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.generated.Protocol_1_12_2.translateExplicitSPacketSynchronizeTags_1_13_2393(Protocol_1_12_2.java:26819) ~[multiconnect-1.6-beta.5-generated.jar-e9802889-1e90-4daa-b15e-76d47ce06062-nested.jar:?]
	at net.earthcomputer.multiconnect.generated.Protocol_1_12_2.translateSPacketGameJoin_1_12_2(Protocol_1_12_2.java:33775) ~[multiconnect-1.6-beta.5-generated.jar-e9802889-1e90-4daa-b15e-76d47ce06062-nested.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.lambda$decode$0(MulticonnectClientboundTranslator.java:38) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.impl.DebugUtils.wrapInErrorHandler(DebugUtils.java:206) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.lambda$decode$1(MulticonnectClientboundTranslator.java:37) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.impl.PacketSystem$Internals.submitTranslationTask(PacketSystem.java:249) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.lambda$decode$3(MulticonnectClientboundTranslator.java:36) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.impl.DebugUtils.wrapInErrorHandler(DebugUtils.java:206) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.MulticonnectClientboundTranslator.decode(MulticonnectClientboundTranslator.java:30) ~[multiconnect-1.6-beta.5.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507) ~[netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446) ~[netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:432) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.68.Final.jar:4.1.68.Final]
	at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 4 column 6 path $.values[0]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226) ~[gson-2.8.9.jar:?]
	at net.minecraft.class_3518.method_15267(class_3518.java:503) ~[client-intermediary.jar:?]
	at net.minecraft.class_3518.method_15276(class_3518.java:542) ~[client-intermediary.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.TagLoader.lambda$loadTags$2(TagLoader.java:69) ~[multiconnect-1.6-beta.5.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?]
	at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?]
	at net.earthcomputer.multiconnect.protocols.generic.TagLoader.loadTags(TagLoader.java:77) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.TagLoader.<clinit>(TagLoader.java:116) ~[multiconnect-1.6-beta.5.jar:?]
	... 43 more
Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 4 column 6 path $.values[0]
	at com.google.gson.stream.JsonReader.nextString(JsonReader.java:824) ~[gson-2.8.9.jar:?]
	at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:380) ~[gson-2.8.9.jar:?]
	at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:368) ~[gson-2.8.9.jar:?]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[gson-2.8.9.jar:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[gson-2.8.9.jar:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[gson-2.8.9.jar:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131) ~[gson-2.8.9.jar:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222) ~[gson-2.8.9.jar:?]
	at net.minecraft.class_3518.method_15267(class_3518.java:503) ~[client-intermediary.jar:?]
	at net.minecraft.class_3518.method_15276(class_3518.java:542) ~[client-intermediary.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.TagLoader.lambda$loadTags$2(TagLoader.java:69) ~[multiconnect-1.6-beta.5.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?]
	at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?]
	at net.earthcomputer.multiconnect.protocols.generic.TagLoader.loadTags(TagLoader.java:77) ~[multiconnect-1.6-beta.5.jar:?]
	at net.earthcomputer.multiconnect.protocols.generic.TagLoader.<clinit>(TagLoader.java:116) ~[multiconnect-1.6-beta.5.jar:?]
	... 43 more

The relevant class in multiconnect is TagLoader.

Everything works fine with Fabric API. Multiconnect does not depend on either Quilted Fabric API or Fabric API, although it does JiJ Fabric Resource Loader.

Confusing behaviour of phase ordering

Attempting to add a phase ordering based on the default phase results in confusing behaviour.

Reproduction steps

Create a test mod with the following code

var phase = new ResourceLocation("example", "late");
ServerLifecycleEvents.SERVER_STARTED.addPhaseOrdering(Event.DEFAULT_PHASE, phase);
ServerLifecycleEvents.SERVER_STARTED.register(phase, server -> {
  System.out.println("Server started (late)");
});

ServerLifecycleEvents.SERVER_STARTED.register( server -> {
  System.out.println("Server started (default)");
});

One would expect to see the following output:

Server started (default)
Server started (late)

However, you instead see the opposite:

Server started (late)
Server started (default)

Additional notes

I believe this is caused by both Quilt and Fabric defining their own default phase ordering (quilt:default and fabric:default respectively).

When registering an event, it uses Quilt's default phase, but adding a phase ordering with Event.DEFAULT_PHASE uses, intuitively, Fabric's default phase. This means the resulting sorted phase list of the event looks like [fabric:default, example:late, quilt:default].

Some possible fixes I can see:

  • Remove the separate Fabric phase, just making it equal to Quilt's. This might break people hard coding fabric:default, though I'd hope folks aren't doing that!
  • Replace Fabric's DEFAULT_PHASE with Quilt's inside QuiltCompatEvent.addPhaseListener and QuiltCompatEvent.register.

Mystery mods on quilted fabric api causes json reload listener to not fire

TelepathicGrunt/RepurposedStructures-Quilt#205

this has been happening several times with different mods. Apparently it has happened with Charm, Inspectio, Graveyard, and outdated Server Translation Api.

It’s too time consuming to keep tracking down the offending mods and I’m burned out from this.

If quilted fabric api can find a way to make detecting the offending mod easier for users, that would be ideal. Otherwise, I give up with trying to make my mod’s json reload listener work in people’s quilt modpacks

Timeout when connecting to Quilt + QSL server behind Velocity proxy

I'm trying to run a Quilt server behind Velocity.

When QSL is installed on the Quilt server, attempting to connect (through Velocity) results in the client hanging on the "Joining game..." screen for a few moments, followed by a "read timed out" error.

("the client" being a vanilla Minecraft client)

What does work:

  • Connecting to the Quilt server directly (bypassing Velocity)
  • Connecting through Velocity without QSL installed on the backend
  • Connecting through Velocity to an otherwise identical Fabric server (substituting QSL+QFAPI for the Fabric API)

The only thing that stands out to me in the logs is the following, printed to the client log when attempting to connect to the server:

[20:04:14] [Render thread/WARN]: Unknown custom packed identifier: qsl:registry_sync/handshake


Fabric-internal metadata is not exposed for quilt mods

This is an Issue that derives from a discussion over at Your Discord: https://discord.com/channels/817576132726620200/832352441760088105/1000491383104229406

and it is about this crash:

Caused by: java.lang.UnsupportedOperationException: Fabric-internal metadata is not exposed for quilt mods - since only quilt loader itself may use this.
	at org.quiltmc.loader.impl.metadata.qmj.QuiltModMetadataWrapperFabric.internalError(QuiltModMetadataWrapperFabric.java:242) ~[quilt-loader-0.17.1-beta.6.jar:?]
	at org.quiltmc.loader.impl.metadata.qmj.QuiltModMetadataWrapperFabric.getEntrypoints(QuiltModMetadataWrapperFabric.java:282) ~[quilt-loader-0.17.1-beta.6.jar:?]
	at net.minecraft.class_2477.md20069f$lambda$immutableBuild$0$0(class_2477.java:1057) ~[server-intermediary.jar:?]
	at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
	at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1092) ~[?:?]
	at net.minecraft.class_2477.redirect$ifh000$immutableBuild(class_2477.java:1054) ~[server-intermediary.jar:?]
	at net.minecraft.class_2477.method_29429(class_2477.java:45) ~[server-intermediary.jar:?]
	at net.minecraft.class_2477.<clinit>(class_2477.java:33) ~[server-intermediary.jar:?]
	at net.minecraft.class_2588.method_11025(class_2588.java:49) ~[server-intermediary.jar:?]
	at net.minecraft.class_2588.method_27659(class_2588.java:146) ~[server-intermediary.jar:?]
	at net.minecraft.class_2561.method_27657(class_2561.java:111) ~[server-intermediary.jar:?]
	at net.minecraft.class_5348.getString(class_5348.java:91) ~[server-intermediary.jar:?]
	at net.minecraft.class_2561.getString(class_2561.java:50) ~[server-intermediary.jar:?]
	at de.ambertation.wunderreich.recipes.ImprinterRecipe.lambda$register$3(ImprinterRecipe.java:110) ~[wunderreich-3.0.13-quilt.jar:?]

which is triggered in my Mod. However that line of code does not touch any FabricMethods whatsoever, but it may be accessing a Chat.Component from another Mod which may in turn cause the exception.

The Code basically creates a Recipe for every Enchantment that is available in the Game. It will then generate a Description based on the Enchantment e's Name:

MutableComponent mc = Component.translatable(e.getDescriptionId());

For Sorting it will the build a String representation using

String sortable = mc.getString();

This call into getString will the in turn cause the crash. I am fairly convinced now, that there is nothing I can do (besides catching that exception), and that this might be something breaking in QFAPI?

(for reference, this is the actual call from the crashlog: https://github.com/quiqueck/wunderreich/blob/91fc10a388c8b9eacf10bb71b51902bf3e6b32b4/src/main/java/de/ambertation/wunderreich/recipes/ImprinterRecipe.java#L109)

[1.18.2] Origins powers won't load on latest version of QFAPI/QSL

Default powers (or any powers for that matter) won't load when using QFAPI 1.0.0-beta.24 and QSL 1.1.0-beta.26. There's no crash report but the latest.log says that the powers are unregistered. However, if I downgrade to QSL 1.1.0-beta.19 and QFAPI 1.0.0-beta.22, there are no errors and the powers load properly.

latest.log

Reactivate the upstream workflows and buildscript checks

Currently, our workflows have a lot of upstream stuff that has been disabled in order to allow CI to work; While they don't really matter? They can't remain disabled forever, we must investigate reactivating those where possible;
This isn't only limited to workflows though, the buildscript also has a lot of disabled code that should be reactivated when possible. While there has been effort towards that (like re-enabling AW generation), there has been some setbacks like the package-info.java generator and the Quilt Gradle Licenser not liking it's face

Death events have swapped logic

Twilight Forest is using ServerPlayerEvents.ALLOW_DEATH to do things when players die, like saving their items or healing them.
On FAPI, this event is cancelled by returning false.

In QFAPI, this event is delegated to EntityReviveEvents.BEFORE_TOTEM in QSL.
This event is cancelled by returning true.

The result of FAPI events are not inverted, so this cancels when it shouldn't, and doesn't cancel when it should.

This seems to also affect ServerLivingEntityEvents.ALLOW_DEATH from looking at the code.

Related issue: https://github.com/TeamTwilight/twilightforest-fabric/issues/135

Add "Replaced by this Quilt API" deprecated notes on all bridged APIs' javadocs

While I've been marking all bridged APIs as deprecated, that was the extent of it; We need to put on the Javadoc @deprecated notes about why exactly they were replaced (because QSL has an equivalent) and which APIs replace it.

This issue would have been a good first issue candidate if not for the fact that going through all of the bridged APIs and writing the notes can actually be a tiring job... So, better have time in your hands :P

Wrong mapping for Fabric Data Provider (`FabricBlockLootTableProvider`)

Hey ! I noticed a problem with QFAPI. accept function in FabricBlockLootTableProvider was remaped to generate and this is a problem because the accept function is necessary (method of Consumer class).

Minecraft : 1.19.3
QFAPI : 5.0.0-beta.4+0.73.0-1.19.3
Mappings : 1.19.3+build.22
Loader : 0.17.11

Quilt specific 4-way crash between Earth2Java, Enchancement, KubeJS and Frame API

MC 1.19.2
QFAPI 4.0.0-beta.17
Earth2Java 1.9.3
Enchancement 5
KubeJS 1902.6.0-build.101
Frame API 0.26.1

To reproduce simply install all 4 mods and all their dependencies, then try to launch the game. The crash doesn't happen on Fabric with identical mods.

Logs: https://gist.github.com/SplendidAlakey/0fec210ea1df4ced214d472fdaee6baf

Already talked about it on Discord a bit, but making an issue here to keep track of. Let me know if I need to report this to the mod devs instead.

Revise all Javadocs in order to fix errors

There are many warning about how a reference is missing; Well, I saw an instance of COMPOST_CHANCE being used when 1.19.3 migrated to COMPOST_CHANCES; This should be a relatively simple task

All items can be crafted into charcoal when BetterEnd for Fabric is installed

When BetterEnd (for Fabric) is used with Quilted Fabric API all items in the game can be crafted into charcoal.

If I remember correct, a charcoal result did mean, that something about the recipe was not working correct. But this does not only affect the custom recipes our Mod creates, but also vanilla Items (like a crafting table).

Running everything in Fabric works just fine. Unfortunately I am unsure how to narrow this down. The logs do not contain any indication of failing code or the oddities. Any hints/help would be appreciated.

For Reference, this is the issue on our mod: quiqueck/BetterEnd#41

Error using Ferrite Core mod: net.minecraft.class_151: Non [a-z0-9/._-] character in path of location: unknown:private/malte0811/ferritecore/impl/deduplicator$1

Installed mods:

qfapi-4.0.0-beta.4_qsl-3.0.0-beta.7_fapi-0.58.5_mc-1.19.1
architectury-6.0.35-fabric
cloth-config-8.0.75-fabric
modmenu-4.0.5
notenoughcrashes-4.1.6+1.19-fabric
RoughlyEnoughItems-9.1.520
ferritecore-5.0.0-fabric

Got error on starting:

---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!

Time: 2022-08-05 15:28:25
Description: Initializing game

net.minecraft.class_151: Non [a-z0-9/._-] character in path of location: unknown:private/malte0811/ferritecore/impl/deduplicator$1
	at Not Enough Crashes deobfuscated stack trace.(1.19.1+build.4)
	at net.minecraft.util.Identifier.<init>(Identifier:41)
	at net.minecraft.util.Identifier.<init>(Identifier:50)
	at org.quiltmc.qsl.resource.loader.impl.ResourceLoaderImpl.sort(ResourceLoaderImpl.java:184)
	at org.quiltmc.qsl.resource.loader.impl.ResourceLoaderImpl.sort(ResourceLoaderImpl.java:107)
	at net.minecraft.resource.ReloadableResourceManagerImpl.handler$zdn000$reload(ReloadableResourceManagerImpl:559)
	at net.minecraft.resource.ReloadableResourceManagerImpl.reload(ReloadableResourceManagerImpl:47)
	at net.minecraft.client.MinecraftClient.<init>(MinecraftClient:647)
	at net.minecraft.client.main.Main.main(Main:205)
	at net.minecraft.client.main.Main.main(Main:51)
	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)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	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)
	at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175)
	at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:185)
	at org.polymc.EntryPoint.listen(EntryPoint.java:144)
	at org.polymc.EntryPoint.main(EntryPoint.java:74)

It looks like that it's rather a Quilted Fabric API mod issue than Ferrite Core mod issue, because I've also tested it using these mods list:

fabric-api-0.58.5+1.19.1
ferritecore-5.0.0-fabric
modmenu-4.0.5

e.g. pure Fabric API instead of Quilted Fabric API and it works fine.

Please assist.

Thanks.

P.S. Also created related bug in Ferrite Core project here: malte0811/FerriteCore#87 (comment)

Update to Quilt Loader 0.18.1 betas

As of 0.18.1-beta.75, all the dev env issues have been fixed! However, we'll still need to wait until 0.18.1-beta.76 in order to update due to logspam issues that have been fixed on Git;
An update to the 0.18.1 betas will allow development for this project to be much more accessible than before by making the dev environment usable

Investigate stronger checks for the Deferring Queues system

While it is quite robust so far, issues like issue #55 shows that there's more work to be done on catching all the pesky bad registrations; Any work done here could be shared with QSL's Registry Entry Attachment API's checks in order to make it resist bad registrations better as well

BCLib 2.0.5 on Quilted Fabric: java.lang.ClassNotFoundException: net.fabricmc.fabric.impl.biome.TheEndBiomeData

When running BCLib version 2.0.5 on Minecraft version 1.19 with Quilted Fabric Api version qfapi-2.0.0-beta.1_qsl-2.0.0-beta.8_fapi-0.56.3_mc-1.19 I get error:

[12:59:11] [main/ERROR]: Minecraft has crashed!
org.quiltmc.loader.impl.FormattedException: java.lang.NoClassDefFoundError: net/fabricmc/fabric/impl/biome/TheEndBiomeData
	at Not Enough Crashes deobfuscated stack trace.(1.19+build.4) ~[?:?]
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:425) ~[quilt-loader-0.17.1-beta.4.jar:?]
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76) [quilt-loader-0.17.1-beta.4.jar:?]
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24) [quilt-loader-0.17.1-beta.4.jar:?]
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:577) ~[?:?]
	at org.multimc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104) [NewLaunch.jar:?]
	at org.multimc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175) [NewLaunch.jar:?]
	at org.multimc.impl.OneSixLauncher.launch(OneSixLauncher.java:185) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.listen(EntryPoint.java:127) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.main(EntryPoint.java:57) [NewLaunch.jar:?]
Caused by: java.lang.NoClassDefFoundError: net/fabricmc/fabric/impl/biome/TheEndBiomeData
	at org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource.getBiomes(BCLibEndBiomeSource.java:204) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource.<init>(BCLibEndBiomeSource.java:82) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource.<init>(BCLibEndBiomeSource.java:78) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.api.v2.levelgen.LevelGenUtil.getBCLEndLevelStem(LevelGenUtil.java:80) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings.createEndStem(BCLWorldPresetSettings.java:107) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings.buildDimensionMap(BCLWorldPresetSettings.java:85) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings.buildPreset(BCLWorldPresetSettings.java:71) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresets.lambda$static$1(BCLWorldPresets.java:43) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresets.bootstrapPresets(BCLWorldPresets.java:101) ~[bclib-2.0.5.jar:?]
	at net.minecraft.world.gen.WorldPresets$Registrar.modify$dbj000$bcl_getOverworldStem(WorldPresets:571) ~[?:?]
	at net.minecraft.world.gen.WorldPresets$Registrar.initAndGetDefault(WorldPresets:90) ~[?:?]
	at net.minecraft.world.gen.WorldPresets.initAndGetDefault(WorldPresets:107) ~[?:?]
	at net.minecraft.util.registry.BuiltinRegistries.method_44104(BuiltinRegistries:98) ~[?:?]
	at net.minecraft.util.registry.BuiltinRegistries.method_30566(BuiltinRegistries:105) ~[?:?]
	at java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) ~[?:?]
	at net.minecraft.util.registry.BuiltinRegistries.<clinit>(BuiltinRegistries:104) ~[?:?]
	at net.minecraft.util.registry.Registry.<clinit>(Registry:326) ~[?:?]
	at net.minecraft.Bootstrap.initialize(Bootstrap:50) ~[?:?]
	at net.minecraft.client.main.Main.main(Main:154) ~[minecraft-1.19-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.1-beta.4.jar:?]
	... 9 more
Caused by: java.lang.ClassNotFoundException: net.fabricmc.fabric.impl.biome.TheEndBiomeData
	at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
	at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
	at org.quiltmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:159) ~[quilt-loader-0.17.1-beta.4.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
	at org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource.getBiomes(BCLibEndBiomeSource.java:204) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource.<init>(BCLibEndBiomeSource.java:82) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource.<init>(BCLibEndBiomeSource.java:78) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.api.v2.levelgen.LevelGenUtil.getBCLEndLevelStem(LevelGenUtil.java:80) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings.createEndStem(BCLWorldPresetSettings.java:107) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings.buildDimensionMap(BCLWorldPresetSettings.java:85) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresetSettings.buildPreset(BCLWorldPresetSettings.java:71) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresets.lambda$static$1(BCLWorldPresets.java:43) ~[bclib-2.0.5.jar:?]
	at org.betterx.bclib.presets.worldgen.BCLWorldPresets.bootstrapPresets(BCLWorldPresets.java:101) ~[bclib-2.0.5.jar:?]
	at net.minecraft.world.gen.WorldPresets$Registrar.modify$dbj000$bcl_getOverworldStem(WorldPresets:571) ~[?:?]
	at net.minecraft.world.gen.WorldPresets$Registrar.initAndGetDefault(WorldPresets:90) ~[?:?]
	at net.minecraft.world.gen.WorldPresets.initAndGetDefault(WorldPresets:107) ~[?:?]
	at net.minecraft.util.registry.BuiltinRegistries.method_44104(BuiltinRegistries:98) ~[?:?]
	at net.minecraft.util.registry.BuiltinRegistries.method_30566(BuiltinRegistries:105) ~[?:?]
	at java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) ~[?:?]
	at net.minecraft.util.registry.BuiltinRegistries.<clinit>(BuiltinRegistries:104) ~[?:?]
	at net.minecraft.util.registry.Registry.<clinit>(Registry:326) ~[?:?]
	at net.minecraft.Bootstrap.initialize(Bootstrap:50) ~[?:?]
	at net.minecraft.client.main.Main.main(Main:154) ~[minecraft-1.19-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.1-beta.4.jar:?]
	... 9 more

I'm not sure is it a Quilt / Quilted Fabric API issue or BCLib mod issue.

Please assist if you can.

Thanks.

Deprecated Fabric API modules are not loaded

Deprecated Fabric API modules are not loaded by Quilt, causing NoClassDefFoundErrors.

Sample log:

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'immersive_weathering'!
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$2(EntrypointUtils.java:63)
	at org.quiltmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:61)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invokeContainer(EntrypointUtils.java:46)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:33)
	at org.quiltmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:52)
	at net.minecraft.class_310.<init>(class_310.java:443)
	at net.minecraft.client.main.Main.main(Main.java:198)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:423)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:24)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.multimc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.multimc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175)
	at org.multimc.impl.OneSixLauncher.launch(OneSixLauncher.java:185)
	at org.multimc.EntryPoint.listen(EntryPoint.java:127)
	at org.multimc.EntryPoint.main(EntryPoint.java:57)
Caused by: java.lang.NoClassDefFoundError: net/fabricmc/fabric/api/loot/v1/event/LootTableLoadingCallback
	at com.ordana.immersive_weathering.registry.ModLootTables.registerLootTables(ModLootTables.java:42)
	at com.ordana.immersive_weathering.ImmersiveWeathering.onInitialize(ImmersiveWeathering.java:46)
	at org.quiltmc.loader.impl.game.minecraft.Hooks.lambda$startClient$0(Hooks.java:52)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke$0(EntrypointUtils.java:33)
	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:59)
	... 21 more
Caused by: java.lang.ClassNotFoundException: net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at org.quiltmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:159)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 26 more

Full log: https://mclo.gs/tbKUQWu

This is including the changes in 2fe0ada. However, setting "optional": false on quilted_fabric_loot_tables_v1 in quilt.mod.json forces the module to load and fixes the issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.