Fabricators-of-Create / Create

[Fabric Mod] Building Tools and Aesthetic Technology
MIT License
895 stars 200 forks source link

Basin handles crafting remainders incorrect for mixing recipes #1607

Open PssbleTrngle opened 1 month ago

PssbleTrngle commented 1 month ago

Description

This is very similar to the equivalent bug on the forge version, but not entirely the same. The difference is that the fabric version also causes scenario 2 below

For mixing recipes, the basin calculates the crafting remainders not using the consumed items (like it does for crafting recipes), but using the items that are left in the basin after the recipe has been consumed. This can be seen here

This leads to two incorrect & weird scenarios:

  1. The player crafts a mixing recipe that uses a milk bucket & something else. The milk bucket it consumed without leaving an empty bucket
  2. The player crafts a brass ingot using copper & zinc. He also places an milk bucket into the basin. The milk bucket is not consumed by the recipe, therefore being used in the remainder calculation. An empty bucket appears in the basin, even tough the milk bucket is also still there.

Game Log

https://mclo.gs/WzQSeuz

Debug Information

Client Info ``` Create: Mod Version: 0.5.1f Fabric API Version: 0.92.0+1.20.1 Minecraft Version: 1.20.1 Graphics: Flywheel Version: 0.6.10-2 Flywheel Backend: INSTANCING OpenGL Renderer: Intel(R) UHD Graphics OpenGL Version: 3.2.0 - Build 31.0.101.5333 Graphics Mode: Graphics System Information: Operating System: Windows 11 (amd64) version 10.0 Java Version: 17.0.11, Amazon.com Inc. JVM Flags: 0 total; Memory: 2218879232 bytes (2116 MiB) / 3649044480 bytes (3480 MiB) up to 8518631424 bytes (8124 MiB) CPU: 11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz @ 2.61 GHz; 8 cores / 16 threads on 1 socket(s) Graphics card #0: NVIDIA RTX A2000 Laptop GPU (NVIDIA (0x10de)); 4095.00 MB of VRAM Graphics card #1: Intel(R) UHD Graphics (Intel Corporation (0x8086)); 128.00 MB of VRAM Other Mods: Error Notifier: 1.0.9 cloth-basic-math: 0.6.1 Porting Lib Config: 2.3.4+1.20.1 Fabric Networking (v0): 0.3.51+df3654b377 Fabric Language Kotlin: 1.9.6+kotlin.1.8.22 Fabric Game Test API (v1): 1.2.13+1802ada577 Fabric Command API (v1): 1.2.34+f71b366f77 Manningham Mills: 2.3 Fabric Resource Loader (v0): 0.11.10+1802ada577 Porting Lib Networking: 2.3.4+1.20.1 Fabric Block API (v1): 1.0.11+1802ada577 Fabric Transitive Access Wideners (v1): 4.3.1+1802ada577 Porting Lib Model Loader: 2.3.0+1.20.1 Porting Lib Attributes: 2.3.4+1.20.1 Porting Lib Models: 2.3.0+1.20.1 Porting Lib Extensions: 2.3.4+1.20.1 Fabric Entity Events (v1): 1.6.0+1c78457f77 Porting Lib Tool Actions: 2.3.4+1.20.1 Fabric Renderer Registries (v1): 3.2.46+df3654b377 Fabric Events Interaction (v0): 0.6.2+1802ada577 Porting Lib Model Generators: 2.1.1090+1.20 Fabric API Base: 0.4.31+1802ada577 Fabric Key Binding API (v1): 1.0.37+1802ada577 Fabric Dimensions API (v1): 2.1.54+1802ada577 Fabric API Lookup API (v1): 1.6.36+1802ada577 Fabric Model Loading API (v1): 1.0.3+1802ada577 Fabric Item Group API (v1): 4.0.12+1802ada577 Fabric Game Rule API (v1): 1.0.40+1802ada577 Porting Lib Data: 2.1.1090+1.20 Farmer's Delight: 1.20.1-2.1.6+refabricated Fabric Rendering Fluids (v1): 3.0.28+1802ada577 Fabric Networking API (v1): 1.3.11+1802ada577 Fabric Item API (v1): 2.1.28+1802ada577 Porting Lib Model Materials: 2.1.1090+1.20 Porting Lib Fluids: 2.3.4+1.20.1 Dripstone Fluid Lib: 3.0.2 Fabric Convention Tags: 1.5.5+1802ada577 Fabric Sound API (v1): 1.0.13+1802ada577 Porting Lib Transfer: 2.3.4+1.20.1 Fabric Screen API (v1): 2.0.8+1802ada577 Fabric Mining Level API (v1): 2.1.50+1802ada577 Reach Entity Attributes: 2.4.0 Porting Lib Common: 2.3.4+1.20.1 Porting Lib Client Events: 2.3.0+1.20.1 Fabric Loot Tables (v1): 1.1.45+9e7660c677 Porting Lib Brewing: 2.3.0+1.20.1 Fabric Loader: 0.15.7 Fabric Events Lifecycle (v0): 0.2.63+df3654b377 Fabric Rendering (v1): 3.0.8+1802ada577 Fabric Data Attachment API (v1): 1.0.0+de0fd6d177 Fabric Resource Conditions API (v1): 2.3.8+1802ada577 Fabric Object Builder API (v1): 11.1.3+1802ada577 Fabric Message API (v1): 5.1.9+1802ada577 Fabric Key Bindings (v0): 0.2.35+df3654b377 Porting Lib Obj Loader: 2.3.0+1.20.1 OpenJDK 64-Bit Server VM: 17 Fabric BlockRenderLayer Registration (v1): 1.1.41+1802ada577 Create Slice & Dice: 0.0.0-dev Cloth Config v11: 11.0.99 Fabric Renderer - Indigo: 1.5.1+1802ada577 Fabric Lifecycle Events (v1): 2.2.22+1802ada577 Porting Lib Accessors: 2.3.4+1.20.1 Porting Lib Recipe Book Categories: 2.3.4+1.20.1 Porting Lib Mixin Extensions: 2.3.4+1.20.1 Fabric Renderer API (v1): 3.2.1+1802ada577 Porting Lib Utility: 2.3.4+1.20.1 Fabric Commands (v0): 0.2.51+df3654b377 Porting Lib Lazy Register: 2.3.4+1.20.1 Fabric Recipe API (v1): 1.0.21+1802ada577 Roughly Enough Items: 12.1.770 Fabric Rendering Data Attachment (v1): 0.3.37+92a0d36777 Fabric BlockView API (v2): 1.0.1+1802ada577 Fabric Registry Sync (v0): 2.3.3+1802ada577 Fabric Transfer API (v1): 3.3.4+1802ada577 Fabric Crash Report Info (v1): 0.2.19+1802ada577 Porting Lib Entity: 2.3.4+1.20.1 Porting Lib Tags: 3.0 Porting Lib Loot: 2.3.4+1.20.1 Porting Lib Base: 2.3.4+1.20.1 Fabric Screen Handler API (v1): 1.3.30+1802ada577 Fabric Content Registries (v0): 4.0.11+1802ada577 Fabric Containers (v0): 0.1.64+df3654b377 Fabric Client Tags: 1.1.2+1802ada577 Fabric Biome API (v1): 13.0.13+1802ada577 Architectury: 9.1.12 Registrate for Fabric: 1.3.62-MC1.20.1 Fabric Data Generation API (v1): 12.3.4+1802ada577 Porting Lib Core: 2.3.4+1.20.1 Milk Lib: 1.2.60 Fabric Command API (v2): 2.2.13+1802ada577 Fabric Rendering (v0): 1.1.49+df3654b377 Fabric Models (v0): 0.4.2+9386d8a777 Fabric Loot API (v2): 1.2.1+1802ada577 Fabric Particles (v1): 1.1.2+1802ada577 MixinExtras: 0.2.2 Forge Config API Port: 8.0.0 ```
Server Info ``` Create: Mod Version: 0.5.1f Fabric API Version: 0.92.0+1.20.1 Minecraft Version: 1.20.1 System Information: Operating System: Windows 11 (amd64) version 10.0 Java Version: 17.0.11, Amazon.com Inc. JVM Flags: 0 total; Memory: 2218879232 bytes (2116 MiB) / 3649044480 bytes (3480 MiB) up to 8518631424 bytes (8124 MiB) CPU: 11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz @ 2.61 GHz; 8 cores / 16 threads on 1 socket(s) Graphics card #0: NVIDIA RTX A2000 Laptop GPU (NVIDIA (0x10de)); 4095.00 MB of VRAM Graphics card #1: Intel(R) UHD Graphics (Intel Corporation (0x8086)); 128.00 MB of VRAM Other Mods: Error Notifier: 1.0.9 cloth-basic-math: 0.6.1 Porting Lib Config: 2.3.4+1.20.1 Fabric Networking (v0): 0.3.51+df3654b377 Fabric Language Kotlin: 1.9.6+kotlin.1.8.22 Fabric Game Test API (v1): 1.2.13+1802ada577 Fabric Command API (v1): 1.2.34+f71b366f77 Manningham Mills: 2.3 Fabric Resource Loader (v0): 0.11.10+1802ada577 Porting Lib Networking: 2.3.4+1.20.1 Fabric Block API (v1): 1.0.11+1802ada577 Fabric Transitive Access Wideners (v1): 4.3.1+1802ada577 Porting Lib Model Loader: 2.3.0+1.20.1 Porting Lib Attributes: 2.3.4+1.20.1 Porting Lib Models: 2.3.0+1.20.1 Porting Lib Extensions: 2.3.4+1.20.1 Fabric Entity Events (v1): 1.6.0+1c78457f77 Porting Lib Tool Actions: 2.3.4+1.20.1 Fabric Renderer Registries (v1): 3.2.46+df3654b377 Fabric Events Interaction (v0): 0.6.2+1802ada577 Porting Lib Model Generators: 2.1.1090+1.20 Fabric API Base: 0.4.31+1802ada577 Fabric Key Binding API (v1): 1.0.37+1802ada577 Fabric Dimensions API (v1): 2.1.54+1802ada577 Fabric API Lookup API (v1): 1.6.36+1802ada577 Fabric Model Loading API (v1): 1.0.3+1802ada577 Fabric Item Group API (v1): 4.0.12+1802ada577 Fabric Game Rule API (v1): 1.0.40+1802ada577 Porting Lib Data: 2.1.1090+1.20 Farmer's Delight: 1.20.1-2.1.6+refabricated Fabric Rendering Fluids (v1): 3.0.28+1802ada577 Fabric Networking API (v1): 1.3.11+1802ada577 Fabric Item API (v1): 2.1.28+1802ada577 Porting Lib Model Materials: 2.1.1090+1.20 Porting Lib Fluids: 2.3.4+1.20.1 Dripstone Fluid Lib: 3.0.2 Fabric Convention Tags: 1.5.5+1802ada577 Fabric Sound API (v1): 1.0.13+1802ada577 Porting Lib Transfer: 2.3.4+1.20.1 Fabric Screen API (v1): 2.0.8+1802ada577 Fabric Mining Level API (v1): 2.1.50+1802ada577 Reach Entity Attributes: 2.4.0 Porting Lib Common: 2.3.4+1.20.1 Porting Lib Client Events: 2.3.0+1.20.1 Fabric Loot Tables (v1): 1.1.45+9e7660c677 Porting Lib Brewing: 2.3.0+1.20.1 Fabric Loader: 0.15.7 Fabric Events Lifecycle (v0): 0.2.63+df3654b377 Fabric Rendering (v1): 3.0.8+1802ada577 Fabric Data Attachment API (v1): 1.0.0+de0fd6d177 Fabric Resource Conditions API (v1): 2.3.8+1802ada577 Fabric Object Builder API (v1): 11.1.3+1802ada577 Fabric Message API (v1): 5.1.9+1802ada577 Fabric Key Bindings (v0): 0.2.35+df3654b377 Porting Lib Obj Loader: 2.3.0+1.20.1 OpenJDK 64-Bit Server VM: 17 Fabric BlockRenderLayer Registration (v1): 1.1.41+1802ada577 Create Slice & Dice: 0.0.0-dev Cloth Config v11: 11.0.99 Fabric Renderer - Indigo: 1.5.1+1802ada577 Fabric Lifecycle Events (v1): 2.2.22+1802ada577 Porting Lib Accessors: 2.3.4+1.20.1 Porting Lib Recipe Book Categories: 2.3.4+1.20.1 Porting Lib Mixin Extensions: 2.3.4+1.20.1 Fabric Renderer API (v1): 3.2.1+1802ada577 Porting Lib Utility: 2.3.4+1.20.1 Fabric Commands (v0): 0.2.51+df3654b377 Porting Lib Lazy Register: 2.3.4+1.20.1 Fabric Recipe API (v1): 1.0.21+1802ada577 Roughly Enough Items: 12.1.770 Fabric Rendering Data Attachment (v1): 0.3.37+92a0d36777 Fabric BlockView API (v2): 1.0.1+1802ada577 Fabric Registry Sync (v0): 2.3.3+1802ada577 Fabric Transfer API (v1): 3.3.4+1802ada577 Fabric Crash Report Info (v1): 0.2.19+1802ada577 Porting Lib Entity: 2.3.4+1.20.1 Porting Lib Tags: 3.0 Porting Lib Loot: 2.3.4+1.20.1 Porting Lib Base: 2.3.4+1.20.1 Fabric Screen Handler API (v1): 1.3.30+1802ada577 Fabric Content Registries (v0): 4.0.11+1802ada577 Fabric Containers (v0): 0.1.64+df3654b377 Fabric Client Tags: 1.1.2+1802ada577 Fabric Biome API (v1): 13.0.13+1802ada577 Architectury: 9.1.12 Registrate for Fabric: 1.3.62-MC1.20.1 Fabric Data Generation API (v1): 12.3.4+1802ada577 Porting Lib Core: 2.3.4+1.20.1 Milk Lib: 1.2.60 Fabric Command API (v2): 2.2.13+1802ada577 Fabric Rendering (v0): 1.1.49+df3654b377 Fabric Models (v0): 0.4.2+9386d8a777 Fabric Loot API (v2): 1.2.1+1802ada577 Fabric Particles (v1): 1.1.2+1802ada577 MixinExtras: 0.2.2 Forge Config API Port: 8.0.0 ```
IThundxr commented 1 month ago

Since this also occurs on forge this might need to wait for a upstream fix before we can fix the fabric specific problem caused by it

PssbleTrngle commented 1 month ago

I will probably create a PR with a proposed fix for the forge version in the next days and update you if there is any progress on that, happy to do the same here then