Lithium (Fabric/NeoForge)

Lithium (Fabric/NeoForge)

36M Downloads

Hoppers not interacting with expanded-storage's containers

BrekiTomasson opened this issue ยท 14 comments

commented

Version Information

Lithium 0.10.2 for Fabric 1.18.2

Expected Behavior

The Hoppers should pull items from the container above them.

Actual Behavior & Reproduction Steps

Every so often, the Hoppers stop pulling items from the container above them. They continue to pull items thrown on top of them, but do not pull items out of chests. This happens randomly, but can be somewhat reproduced if you place additional Hoppers under additional containers (with items in them), as it seems to reach some kind of max limit when the oldest ones break.

Removing the hopper and replacing it makes it start pulling items again.

commented

Can you elaborate further?
Hoppers cannot pick up items if there is a container on top of them. Are you saying they are picking up items intead of pulling items from the container?
Also there should not be any side effects from other inventories that are not directly touching the hopper.

If you could post a sequence of screenshots or a video that reproduces the issue that would be very helpful

commented

No, what I meant is that they stop pulling items from out of the chest. Easiest way to reproduce this is to place double-wide chests in a zig/zag pattern on top of each other with hoppers pulling from the chest above and pushing into the chest on its own level. Something like this ( < and > for hoppers, C for Chests):

 CC
CC<
>CC
CC<
>CC
CC<

Put things in the top chest, and they should slowly funnel down into the bottom chest. However, with the latest version of Lithium, they do not always do this, with the entire thing breaking after a while with things gathering in one of the chests and not being pulled out. I downgraded to Lithium v0.7.10 and it all started working again.

commented

Thanks, I will look into it

commented

I cannot reproduce the issue. Can you post the list of mods you have installed?

commented
  • additionaladditions 4.0.5
  • additionalentityattributes 1.0.0+1.18.2 via spectrum
  • adorn 3.5.0+1.18.2
  • advanced_runtime_resource_pack 0.5.7 via dynamic_asset_generator
  • advdebug 2.3.0
  • ae2 11.6.2
  • alaskanativecraft 1.4.6
  • alternate-current 1.4.0
  • amecs 1.3.8+mc.1.18.2
  • appleskin mc1.18-pre5-2.2.0
  • aqupdcaracal 1.18.2-1.3.8
  • aqupdgrizzly 1.18-1.3
  • architectury 4.10.86
  • autoconfig1u 3.4.0 via rpgstats
  • axesareweapons 1.5.2
  • badpackets 0.1.3
  • bannerpp 2.0.6-teb.1+mc.1.18.2 via miskatonicmysteries
  • bedspreads 1.5.0-1.18
  • betteranimalsplus 1.18.2-11.0.5
  • bettersafebed 1.18-fabric-a
  • biomemakeover 1.18.2-1.4.31
  • blast 1.8.5
  • blue_endless_jankson 1.2.1 via jankson
  • cardinal-components-base 4.1.4 via polymorph
  • cardinal-components-block 4.1.4 via polymorph
  • cardinal-components-entity 4.1.4 via polymorph
  • cardinal-components-item 4.1.4 via polymorph
  • cardinal-components-level 4.1.4 via villagernames
  • catsexpanded 1.3.0+1.18.2
  • charm 4.4.4
  • chipped 2.0.0
  • cloth-basic-math 0.6.1 via cloth-config
  • cloth-client-events-v0 3.1.61 via miskatonicmysteries
  • cloth-config 6.2.62
  • cloth-config-lite 2.0.6 via omega-config-gui
  • coloredslime 1.3.1
  • com_electronwill_night-config_core 3.6.5 via globaldataandresourcepacks
  • com_electronwill_night-config_toml 3.6.5 via globaldataandresourcepacks
  • com_eliotlash_mclib_mclib 18 via geckolib3
  • com_eliotlash_molang_molang 18 via geckolib3
  • com_github_llamalad7_mixinextras 0.0.11 via porting_lib
  • com_google_code_findbugs_jsr305 3.0.2 via create
  • com_moandjiezana_toml_toml4j 0.7.2 via charm
  • com_typesafe_config 1.4.1 via croptopia
  • com_velocitypowered_velocity-native 1.1.0-SNAPSHOT via krypton
  • copperstuff 1.18.2-1.0.0.1913186568
  • cosmetic-armor 1.3.1
  • create 0.5.0e
  • createplus 1.0
  • croptopia 1.8.2
  • cyanide 2.1.0
  • damagetilt 1.18-fabric-0.1.2
  • dankstorage 1.18.2-3.9
  • dawn 3.3.2
  • deepslatecutting 1.3.4
  • denseores 1.2.2+1.18.2
  • discerning_furnace 1.0.6
  • dripstone_fluid_lib 1.2.0 via milk
  • ducts 1.1.7
  • dyeallthethings 1.3.0
  • dynamic_asset_generator 0.6.2
  • earthtojavamobs 1.8.0+1.18.2
  • ellemes_container_lib 1.4.0-beta.1
  • emotecraft 2.2.6-SNAPSHOT-build.44
  • entitycollisionfpsfix 1.0.0
  • error_notifier 1.0.9 via roughlyenoughitems
  • excavated_variants 0.6.4
  • expandedstorage 7.4.0-beta.2
  • extragenerators 1.2.1-BETA+1.18
  • fabric-api 0.66.0+1.18.2
  • fabric-api-base 0.4.4+d7c144a860 via fabric-api
  • fabric-api-lookup-api-v1 1.6.2+2373a54560 via fabric-api
  • fabric-biome-api-v1 8.0.6+651bcc5960 via fabric-api
  • fabric-block-api-v1 1.0.0+ee3621fc60 via fabric-api
  • fabric-command-api-v1 1.1.9+d7c144a860 via fabric-api
  • fabric-commands-v0 0.2.8+b4f4f6cd60 via fabric-api
  • fabric-containers-v0 0.1.23+d7c144a860 via fabric-api
  • fabric-content-registries-v0 3.1.1+c85f2e3860 via fabric-api
  • fabric-convention-tags-v1 1.0.1+474e4f7960 via fabric-api
  • fabric-crash-report-info-v1 0.2.1+ee261a3e60 via fabric-api
  • fabric-data-generation-api-v1 3.0.2+9fcb91d260 via fabric-api
  • fabric-dimensions-v1 2.1.20+489d6f8260 via fabric-api
  • fabric-entity-events-v1 1.4.8+d7c144a860 via fabric-api
  • fabric-events-interaction-v0 0.4.19+d7c144a860 via fabric-api
  • fabric-events-lifecycle-v0 0.2.19+d7c144a860 via fabric-api
  • fabric-game-rule-api-v1 1.0.13+d7c144a860 via fabric-api
  • fabric-item-api-v1 1.5.2+17cbbd4360 via fabric-api
  • fabric-item-groups-v0 0.3.14+91896a4960 via fabric-api
  • fabric-language-kotlin 1.8.6+kotlin.1.7.21
  • fabric-lifecycle-events-v1 2.1.0+cc71601c60 via fabric-api
  • fabric-loot-api-v2 1.1.0+1997ad1260 via fabric-api
  • fabric-loot-tables-v1 1.1.2+e747827960 via fabric-api
  • fabric-mining-level-api-v1 2.1.4+cc71601c60 via fabric-api
  • fabric-networking-api-v1 1.0.23+2d30af4b60 via fabric-api
  • fabric-networking-v0 0.3.10+b4f4f6cd60 via fabric-api
  • fabric-object-builder-api-v1 2.1.3+032c981d60 via fabric-api
  • fabric-particles-v1 0.2.12+526dc1ac60 via fabric-api
  • fabric-permissions-api-v0 0.1-SNAPSHOT via servercore
  • fabric-registry-sync-v0 0.9.11+bb2e047760 via fabric-api
  • fabric-rendering-data-attachment-v1 0.3.8+ee3621fc60 via fabric-api
  • fabric-rendering-fluids-v1 2.0.2+54e5b2ec60 via fabric-api
  • fabric-resource-conditions-api-v1 2.0.3+91b7aa6660 via fabric-api
  • fabric-resource-loader-v0 0.5.2+446e059560 via fabric-api
  • fabric-screen-handler-api-v1 1.2.2+1f6558e860 via fabric-api
  • fabric-transfer-api-v1 1.6.3+f4563ac860 via fabric-api
  • fabric-transitive-access-wideners-v1 1.1.0+e747827960 via fabric-api
  • fabricloader 0.14.10
  • fake-player-api 0.3.0 via create
  • feature_nbt_deadlock_be_gone 1.0.1+1.18.1
  • ferritecore 4.2.1
  • fettlol 1.5.3+1.18.2
  • fiber 0.23.0-2 via patchouli
  • fishofthieves 1.1.0-rc2
  • flonters 1.3.1+1.18.2
  • forge_tags 2.1 via create
  • forgeconfigapiport 3.2.0 via create
  • geckolib3 3.0.47
  • globaldataandresourcepacks 1.12.2
  • graphlib 0.2.5+1.18.2 via wiredredstone
  • horsestatsvanilla 4.1.10
  • incubus_core 1.7.1 via spectrum
  • indypets 1.1.0
  • infinitywaterbucket 2.0.0
  • io_leangen_geantyref_geantyref 1.3.11 via croptopia
  • itemnbt 3.3 via minerslunchbox
  • jamlib 0.0.5
  • jankson 4.0.0+j1.2.0 via libgui
  • java 17
  • keepheadnames 1.5.1
  • krypton 0.1.9
  • lazydfu 0.1.2
  • libblockattributes_core 0.10.2 via libmultipart_deps_container
  • libgui 5.4.1+1.18.2 via rpgstats
  • libmultipart 0.7.3-pre.4 via libmultipart_deps_container
  • libmultipart_deps_container 0.7.3-pre.4 via wiredredstone
  • libnetworkstack 0.6.0 via libmultipart_deps_container
  • libninepatch 1.1.0 via libgui
  • lithium 0.7.10
  • mavm 1.0.8a
  • maybe-data 1.3.1-1.18.2 via deepslatecutting
  • mcf-easyfeed 1.3.0
  • midashunger 2.1.0+1.18.2
  • midnightlib 0.4.4
  • milk 0.3.2 via create
  • minecraft 1.18.2
  • minepkg-companion 0.6.0
  • minerslunchbox 1.0.1+mc1.18.2
  • miskatonicmysteries 0.1.3
  • missingwilds 1.1.0
  • mm 2.3 via porting_lib
  • mobfarmutilities 1.5.1
  • moreberries 1.4.9
  • mostructures 1.4.2+1.18.2
  • naturalist 1.1.1
  • notenoughcrashes 4.1.3+1.18.1
  • npcvariety 2.2.1
  • omega-config 1.2.3-1.18.1 via denseores
  • omega-config-gui 1.2.3-1.18.1 via denseores
  • org_jetbrains_kotlin_kotlin-reflect 1.7.21 via fabric-language-kotlin
  • org_jetbrains_kotlin_kotlin-stdlib 1.7.21 via fabric-language-kotlin
  • org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.7.21 via fabric-language-kotlin
  • org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.7.21 via fabric-language-kotlin
  • org_jetbrains_kotlinx_atomicfu-jvm 0.18.5 via fabric-language-kotlin
  • org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.6.4 via fabric-language-kotlin
  • org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.6.4 via fabric-language-kotlin
  • org_jetbrains_kotlinx_kotlinx-datetime-jvm 0.4.0 via fabric-language-kotlin
  • org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.4.1 via fabric-language-kotlin
  • org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.4.1 via fabric-language-kotlin
  • org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.4.1 via fabric-language-kotlin
  • org_spongepowered_configurate-core 4.1.2 via croptopia
  • org_spongepowered_configurate-hocon 4.1.2 via croptopia
  • overpoweredmending 2.4.3
  • owo 0.7.2-no-cme+1.18
  • packet_tweaker 0.2.0+1.18-pre1 via server_translations_api
  • pandamc_concreteplus 1.9.3
  • patchouli 1.18.2-71.1-FABRIC
  • perfectaccuracy 1.2
  • pingme 1.0.0+mc1.18.2
  • placeholder-api 1.1.3+1.17.1 via servercore
  • player-animator 0.3.5 via emotecraft
  • playerabilitylib 1.5.0 via winged
  • polymorph 0.0.21-1.18.2
  • porting_lib 1.2.460-beta+1.18.2-dev.cca931b via create
  • programmerartinjector 1.2.1 via spectrum
  • promenade 2.6.3
  • pugh_tools 1.2.7 via treeaxe
  • reach-entity-attributes 2.1.1 via create
  • reborncore 5.2.0+local via techreborn
  • registrate-fabric MC1.18.2-1.1.4 via create
  • repurposed_structures 4.1.15+1.18.2
  • reroll 1.5.0-1.18.2
  • retraining 1.1.0
  • revelationary 1.0.2
  • rightclickharvest 3.0.4+1.18
  • ring_of_attraction 1.2.24
  • roughlyenoughitems 8.3.571
  • roughlyenoughresources 2.5.2
  • rpgstats 4.3.13+1.18.2
  • serialization_hooks 0.3.23 via porting_lib
  • server_translations_api 1.4.12+1.18.2 via rpgstats
  • servercore 1.2.9-1.18.2
  • sheepconsistency 1.0.4
  • simplyswords 1.34-1.18.x
  • slimyfloor 1.18.2-1.2.3
  • snowytrees 1.1.0
  • spark 1.9.11
  • spawnermod 1.1.2
  • spectrum 1.5.7-1.18.2-magic
  • starlight 1.0.2+fabric.a920f5a
  • static-content 1.0.1-1.16.2 via wolveswitharmor
  • staticdata 1.1.2 via static-content
  • step-height-entity-attribute 1.0.0 via spectrum
  • taxfreelevels 1.3.3
  • team_reborn_energy 2.2.0 via wiredredstone
  • techreborn 5.2.0+local
  • terrablender 1.1.0.102
  • terraform-biome-remapper-api-v1 3.1.0 via traverse
  • terraform-config-api-v1 3.1.0 via traverse
  • terraform-dirt-api-v1 3.1.0 via terrestria
  • terraform-shapes-api-v1 3.1.0 via terrestria
  • terraform-surfaces-api-v1 3.1.0 via traverse
  • terraform-tree-api-v1 3.1.0 via traverse
  • terraform-wood-api-v1 3.1.0 via traverse
  • terrestria 4.0.5
  • terrestria-common 4.0.5 via terrestria
  • terrestria-worldgen 4.0.5 via terrestria
  • thorium 1.2.1
  • traverse 5.1.4
  • traverse-common 5.1.4 via traverse
  • traverse-worldgen 5.1.4 via traverse
  • treeaxe 1.1.42
  • trinkets 3.3.1
  • vanilla_degus 1.3.0
  • villagernames 4.0.9
  • voicechat 1.18.2-2.3.13
  • waystones 2.5.5+mc1.18.2
  • winged 1.18.2-3.2.0
  • wiredredstone 0.3.8+1.18.2
  • wolveswitharmor 1.7.1-1.18.2
  • xaeroworldmap 1.26.1
  • yosbr 0.1.1
commented

Reminder, though - the problem began only after I upgraded to the latest version of Lithium for 1.18.2 and disappeared once I downgraded again. No other changes to any mods were made.

commented

I think it will be helpful if you post a screenshot of the setup of chests and hoppers that break and a description of steps what to do. Maybe it is a lithium-only issue, or it is a combination with a mod that interacts with lithium's code, which is unlikely to work at all

commented

It broke in many different combinations, both hoppers pulling from chests down into the top of a furnace and hoppers pulling from chests into other chests, etc. It seems like any combination of hoppers pulling out of containers was vulnerable, while hoppers were still able to pick things up when thrown on top of them.

If it's any difference, this happened when playing on a server. I did not attempt to reproduce it in single-player mode as the error was so clearly related to the upgrade of Lithium and I just wanted the server to be back up and running.

commented

After some additional testing, I was able to reproduce it in singleplayer mode, but only with the chests from the expandedstorage mod. Unsure if this was also the case when running on the server.

commented

Did some testing on this, I can confirm that this does seem to exclusively happen with Expanded Storage chests.
I tested this in isolation with just Lithium 0.10.2, Expanded Storage and the required Fabric API and Ellemes' Container Library.

To reproduce:
Place a hopper and an Expanded Storage chest on top, then put items in it.
It will pull all items from the chest until it is empty.
Once empty, newly added items will not be pulled until the hopper below it is replaced.

Looks like some failing empty chest optimization?

I was gonna scout through the code but it looks like the source for Ellemes' Container Library is currently unavailable (it appears repos were recently moved from Github to Gitlab).

I'll open an issue on Expanded Storage's issue tracker.
There we go: https://gitlab.com/Ellemes/expanded-storage/-/issues/1

commented

This is probably an issue that has to be fixed in lithium, not in expanded storage

commented

I am having this same issue, but I am using Fabric. Here is a video demonstrating the issue https://youtu.be/84e26ZdPmvo, don't mind the music

commented

Can confirm this is still happening with version 0.10.4
As a work around, I was able to fix it by diabling the following mixins:
mixin.blocker.hopper
mixin.world.block_entity_ticking.sleeping.hopper
Honestly not sure which one is the problem child, but hopefully this helps you narrow down between the two

commented

Probably fixed in c5cbd18