Skip to content

Add sorting options and settings persistence to Request Pipe - #84

Open
ModularityEnjoyer wants to merge 2 commits into
GTNewHorizons:masterfrom
ModularityEnjoyer:request-pipe-qol-additions
Open

Add sorting options and settings persistence to Request Pipe#84
ModularityEnjoyer wants to merge 2 commits into
GTNewHorizons:masterfrom
ModularityEnjoyer:request-pipe-qol-additions

Conversation

@ModularityEnjoyer

@ModularityEnjoyer ModularityEnjoyer commented Jun 9, 2026

Copy link
Copy Markdown

This PR adds sorting options (Count Descending, Count Ascending, ID Descending, ID Ascending), settings persistence within game sessions (sorting, pull, craft, partial), and a few minor GUI tweaks to the Request Pipe.

Prior to this, the default (and only) sorting order was by item ID, which felt rather pointless. I've considered that this limitation could be intentional, to prevent the Request Pipe from being some form of early-game AE2 alternative, but given the search functionality, it's safe to assume that the lack of proper sorting isn't a balancing decision.

The settings clearing themselves between every use of the Request Pipe was a personal friction point for me when using PR:T as my main storage system, and with the addition of sorting, I can only imagine it would become more frustrating.

I've also made an effort to get the UI elements lined up nicely, as they were a little funky before.

Firstly, the old GUI:

Old_GUI

The new GUI, sorted by Count Descending (the new default):

Count_Desc

Count Ascending:

Count_Asc

ID Descending:

ID_Desc

ID Ascending:

ID_Asc

Given an equal count, the item with the lower ID will be listed first.

Sorry in advance for the weird integer case matching used for persistence. I did attempt to simplify this part by just storing the current sortMode, but Scala has taken everything from me and I simply have nothing left to give. If I've made any major blunders, or if anyone is unfortunate enough to have Scala experience and can help with a cleaner solution, please do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant