forked from AppliedEnergistics/Applied-Energistics-2
-
Notifications
You must be signed in to change notification settings - Fork 74
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d25a8a5
commit e50eb79
Showing
1 changed file
with
1 addition
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e50eb79
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm guessing you realized this caused bugs where if storage changed twice in one tick and then not in further ticks level emitter updates could be indefinitely delayed.
I think solving the level emitter performance issue is definitely tricky without changing the current 0-tick delay of level emitters, which may actually be part of why they break with redstone conduits, because they can update their redstone state multiple times in a single tick. I have some contraptions that rely on level emitters being faster than the 5 tick update cycle of Gregtech conveyors/pumps but nothing that relies on them being 0-tick, and I bet nobody else relies on that either, so it may make sense to have level emitters update on a one tick delay. Same theory as redstone torches, your output needs to be based on multiple factors determined by the ticks of different things, so you need to delay if you want to combine all of that reliably.
A way to implement the 1 tick delay solution might be to have
postChange
and other things just schedule the need for an update in some kind of after-all-the-ticking event phase, where you then callgetAvailableItems()
but you can't update the redstone since it's not a valid time to cause ticks, so you just store the needed redstone state and then maybe do a redstone update on the next tick.e50eb79
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pretty much it lol.
and implementing the storage drawers slotless item handler alleviated some of that cost so it was not worth to keep it.