-
Notifications
You must be signed in to change notification settings - Fork 6
GUI #7
Comments
Fluid textures and colors are now rendered (currently with placeholder fluid), texture for RedstoneModeControl was added, ToolTips appear now and show more details (f.e. stored Energy; not tested for slots because of missing sync). |
minor gui improvements. This relates to #7
Improved gui design (still not considered final), automatic guis for multiblocks, bugfixes. Relates to #7
Textures for EnergyMeter and FluidMeter were added (might be replaced later). GUIs for MultiBlocks were added (can only be shown by clicking at the controller block) |
Torch Textures for the RedstoneMode Control were added. A critical bug affecting the EnergyMeter was fixed (didn't render if current energy was 0). |
Component for progress was added. Several bugs affecting the item slots were fixed. A strange bug appeared (not solved yet): Sometimes progress is already synced with the server, even if there is no sync system for components yet. After you restart the client, the bug appears usually 2 to 3 times and disappears. |
Components are synced with the server. |
I added a bullet point for shift clicking as it isn't done yet. |
For machines that is, multiblocks do not sync, yet. |
Multiblock sync already finished (new commit), will be in a later pull request. |
Current state (including #33 ): |
How is the creation of custom GUI tabs working? Can you explain in a quick example? |
In TileEntityAlloySmeltery and TileEntityRefineryController is already an example |
This might require some more work, but I guess not now, otherwise Beta is never gonna happen. |
About the side configs: This cannot be resolved until conduits are ready, so dont worry about that for now. However this means that there is just the shift-issue and iteration on graphics remaining (we should move the latter into QA). |
I added #36 so GUI refinement is no longer a goal of this issue |
fixed shift click in gui. This regards #7 . However some GUIs are not accepting the correct items at all (e.g.: Pulverizer). This must be checked.
We need a way to chose different rendering methods for the same component. Example: A machine with 2 fluid-components and one inventory-component. There is 1 input fluid and 1 output slot. Those shall be rendered normally. However, the third fluid input is marked (in some way) as an "additive" and thus shall be rendered differently to inform the player about the different requirement. Edit: this was replaced through the system of attaching sub-guis to the left side of the main gui (for upgrades). This got rid of the need for other render modes (for now). If a specific one is desired at some point, just make an additional component for it and override autogeneration of the gui |
Updating redstone mode from GUI is not always (in my tests only the first time) synced with the server. I was not able to cycle to "LOW" Edit: fixed by 6138cb6 |
Another issue is with the energy bar: WAILA and TOP integration correctly sync energy to the client, however the GUI itself does not. Energy is only updated when another update happens (like switching items, progress bar etc). Edit: done |
Another bug: Edit: fixed by cf869a6 |
Feature Request: To conveniently display stats and information about machines or multiblocks, a component should be added that supports auto-text-formatting. Formatting refers to auto-line-wrapping or tabular listing (for example to display speed-up multipliers in the machine upgrade tab) Edit: done |
…he active slots at registration, fixing one of the issues in #7
The GUIs are functional, components are implemented, and side configs are implemented. |
This is a tracking issue for all mod GUI. Proposals, discussion and progress are documented here. The GUI has been worked on in the past, but it requires a lot more work.
Currently all GUIs are generated automatically for machines. While this is favorable for basic machines, complex ones may require manual gui setup. A simple builder interface (maybe using a Kotlin DSL) to create a gui with the components available, should be implemented.
The GUI does need bidirectional synchronization with the server. Changes made in GUI need to be sent to the server, machine contents and progress needs to be sent to the client. Further discussion and details required
For user experience a more detailed and fancy GUI should be considered. Currently all compoents look very basic and serve their purpose, but additional textures should be considered. This is especially the case for fill-meters like for energy and fluids. Fluids should be rendered using the respective fluid texture (sync required). Progress bars could be individualized for different machines.
Display side configs in a convenient and intuitive way. Discussion about details is required.
Shift clicking is to be implemented
Render additive components differently
Add a component to display text and stats of a (multiblock-) machine. A normal label could be used, but a more sophisticated solution with better formatting options is preferable
Heat storage component
The text was updated successfully, but these errors were encountered: