Lithium (Fabric)

Lithium (Fabric)

22M Downloads

Cool but unintended Wireless Hoppers/Redstone when using Lithium with MovableBlockEntities (Carpet implementation)

Ko0bEy opened this issue ยท 3 comments

commented

Version Information

Minecraft 1.18.1
Lithium 0.7.6

(requires Carpet Mod, im using 1.4.56)

Expected Behavior

Hoppers work as intended. Even with MovableBlockEntities.

Actual Behavior

Two or more Hoppers can be put into a "linked" state (see below for steps), letting one Pull from the other, even if they are not connected.
Placing Containers for either hopper to feed into or pull from does not break the link and neither does Moving the Pulling-Hopper.

If you move the Pulling-Hopper far away and follow it (unloading the source Hopper's Chunk) IT STILL PULLS FROM IT.
Multiple Pulling-Hoppers can be linked to the same Source-Hopper (potentially allowing for unlimited item Transfer speed and distance).

Breaking either of the Hoppers, moving the Source Hopper or restarting the server are the only ways i found to Break the Link.

Reproduction Steps

-/carpet movableBlockEntities true

Place on top of each other (bottom to top):
-Sticky Piston facing up
-hopper facing down
-Shulker box
-Hopper facing down (with some items in it, feeding into the box)

-activate and deactivate the Sticky Piston (with a button for example)

Video demo:
https://user-images.githubusercontent.com/25281424/146822568-40fe6958-8fd5-46c3-b115-e5890a3d9c5a.mp4

Other Information

I found this in the 1.17.1 version for the first time, so it should work like this in older versions too.

Currently running on a fresh Instance, Fabric 0.12.12 with the minimal setup for this to work:
Lithium 0.7.6
Carpet Mod 1.4.56
Fabric API 0.44.0+1.18

I'm not actually sure that i want to report this and have it fixed, since this mechanic allows for some insanely cool contraptions.

commented

This should be fixed in the build from https://github.com/CaffeineMC/lithium-fabric/actions/runs/1603820144

I did not test it, but it seems to be plausible

commented

Thanks for the information that this was also present in the 1.17 version. The hopper optimization was designed with movable TE in mind, but I clearly made a mistake with the cache invalidation then.

commented

The build you provided does seems to fix it. Thanks!