-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add configurable factory I/O + fix a few bugs #58
Conversation
On test |
Yes, I am 100% firing some shots at #feedback here. :glad:
Updated test |
|
Default IO was only being initialized for old factories loaded from file, not new factories.
Updated test |
Added configable fuelchests + limit options
|
Updated test |
Minor note but if you dont mind updating your local paper Shadow and implementing the |
paper is better than this ffs |
@caucow is the check below an issue? |
Build fails because
It's not a problem, CMC just needs its PRs merged before this can build properly. |
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.
Needs a lot of testing which I cant really comment on here, otherwise okay except for two minor things.
ArrayList<Inventory> invs = new ArrayList<>(12); | ||
Block fblock = getFurnace(); | ||
BlockFace facing = getFacing(); | ||
for (BlockFace relativeFace : getFurnaceIOSelector().getInputs(facing)) { |
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.
This and all the copy pastes below should be extracted into a method
/** | ||
* @author caucow | ||
*/ | ||
public class DirectionMask { |
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.
Unless you're gonna store a few hundred million of these, please just forget about this C kind of optimization. Define an enum and use an EnumSet to generate both a human reaadable storage file and easier expandable code.
I spent a lot of time in game testing the new features including chaining a number of the new factories together in different configurations (which lead to me fixing some of the other older bugs since they were interfering, then testing those fixes/discussing behavior in praxis), checking input/output/fuel being consumed (or not) when directions are toggled, making sure factories shut off when the MultiInv doesn't have required mats, some crude performance testing (perf hit scales linearly with number of items/chests in a MultiInv, hard config limits added to prevent compact factory lag machines, next to no extra overhead that wasn't already included), some stability testing (not much because the plugin is barely designed with fail cases and config/storage issues in mind), plus whatever time people on the CC test server spent with it. Is there anything specific you're concerned about? Latest commit changes should probably get more testing (I'm out of town atm), most I did was make sure it compiled, run, let me make and configure factories, and properly saved/loaded/reloaded factory storage. |
Newest build is on test |
0438ad9
to
e162382
Compare
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.
Resolves my complaints nicely
Might want to also include user friendly behavior for server which decide to not enable this feature. I know that you can just set it to 0 in the config, but mean rather making sure that the GUI and/or help messages aren't confusing and indicating towards something thats disabled. |
- Make text in ioconfig screen more clear and noticeable - Barriers for missing chests pop back after configuring - Fix for factories not auto-selecting a new recipe if ingredients run out mid-run - Fix for async-block-access on factory save - General minor code cleanup and renaming
e162382
to
72801df
Compare
Adds configurable factory IO as described in #54.
Also fixes diode power loop in #51.
Possible fix for #40? Maybe only partial fix? Redstone dust triggers might not be possible with Paper.
Fixes diode triggers activating factories they are not pointing into. Will need additional work if other directional blocks have the same problem.
Updated the main factoryinstance UI, fix for #9? How updated does it all need to be, recipes are in a scroller and other buttons line the bottom.
Depends on CMC PR 101