Create Fabric

Create Fabric

11M Downloads

Versioned Inventory Tracker from Forge Patch E not working

JensenJ opened this issue ยท 5 comments

commented

Describe the Bug

Hey there, updated to the most recent version of Create fabric (0.5.1f) and noticed the performance of interacting with item vaults was bad with chutes and extracting funnels.
In terms of the belt lag in the following profile the original changes in Patch E only targeted extracting funnels so I guess ignore the BeltInventory.tick() call for the Fabric version, I'll probably make an issue on the Forge version about this. Chutes however still attempt insertion/extraction into full item vaults causing lag. This also applies to extracting item vaults.
Feel free to ask if you need more information. Also thanks for the rapid fix with the other issue I reported earlier about train schedules.

https://spark.lucko.me/g7nZiOcBZd

Reproduction Steps

  1. Fill an item vault (lag seems to be more the larger the vault)
  2. Either extract from or or input into it using chutes. Make sure the items cannot go anywhere.
  3. Profile

Expected Result

Performance optimisations from Patch E to work.

Screenshots and Videos

Chutes without overlay (so you can see)
2024-03-09_21 57 11
Chutes with performance overlay provided by Observable
2024-03-09_21 57 05

Crash Report or Log

No response

Operating System

Windows 10

Mod Version

0.5.1f

Minecraft Version

1.20.1

Other Mods

Lots, seems to be only Create's issue though, based on profile.

Additional Context

No response

commented

I expected this, but getting the release out was priority.
fabric's transfer API has versioning built in, but nothing implements it, and it has an insane default (just calling getVersion increments the version, so it's always different).
I'll need to look deep into how this is used.

commented

I know it's probably not ideal as you'll want to use the transfer API, but could a possible solution for now be to track the version and id just in an integer, like how Create Forge does it:
https://github.com/Creators-of-Create/Create/blob/mc1.18/dev/src/main/java/com/simibubi/create/foundation/blockEntity/behaviour/inventory/VersionedInventoryWrapper.java

If this would work (and if it will be a while until the proper fix is implemented) I may build it for myself with this change, as item vaults interactions with chutes/funnels perform terribly without this.

commented

That might be viable, but I need to look into it.

commented

ended up doing that. If you want, testing the latest dev build would be helpful.

commented

Okay. Thanks for the fix, this seems to have done it, performance is much better on my world now. Everything seems to work as expected also. I'm gonna close this as issue seems resolved.