plusls / MasaGadget

Masa Gadget
GNU Lesser General Public License v3.0
247 stars 30 forks source link

[Bug] 疑似和新版本tweakeroo冲突,应该是和容器预览相关 #134

Open acaciachan opened 3 weeks ago

acaciachan commented 3 weeks ago

Minecraft Version

1.21

MasaGadget Version

MasaGadget-mc1.21.1-fabric-4.0.373-stable

Description

crash-2024-11-09_01.04.16-client.txt

To Reproduce

1

Expected behavior

No response

Log

No response

Latest CI build tested

acaciachan commented 3 weeks ago

等一下,好像tweakeroo不止和masagadget冲突,还和tweakermore冲突,我去和tweakeroo反馈一下吧

Hendrix-Shen commented 3 weeks ago

https://github.com/sakura-ryoko/tweakeroo/commit/db78a218d65aaf769970cf5d99f93938698a6c59#diff-9f2ee37421a4839632981bffcd211efd8087be208f0071170eb0e92af6b7931aL129 有关,找时间会修一下

sakura-ryoko commented 5 days ago

My work was directly related to bug reports for Mod Compatability due to "writing" NBT tags to the Client World, so after speaking with Masa, he suggested to build a cache for NBT tags and use raw NBT tags for all infoLine and inventoryPreview processing whenever possible. So, in response, I pushed all of the new changes to all 1.21.x versions as well as from 1.21.2+ . See --> https://github.com/sakura-ryoko/minihud/issues/52 ( Problems related to PatBox's Mod Eco System / Polymer API, etc )

So these changes helps ensure that the stock versions of MiniHUD / Tweakeroo do not interfere with the ClientWorld's Entity data, unless configured to do so. (Which is deprecated, and will be remove in the future)

sakura-ryoko commented 5 days ago

Fallen Breath just injects the BlockEntity or Entity into the data flow using Tweakermore's implementation, or you can optionally inject the raw NBT tags into the work flow into each InventoryOverlay.Content object. I tried to design the code so that either method works, and is valid; and the overriding method would be to return your own InventoryOverlay.Context, setting your own InventoryOverlay.Type, if wanted instead of using Vanilla Inventory Objects, etc.