Page 1 of 1

A way to influence the order of menu entries?

Posted: 19 Sep 2017, 15:14
by mdk_813
Hi,
I've recently updated to the new public version 1.3.46 and I noticed that the order of my plugin entries in the menus has changed drastically.
Before, new entries would usually be located at the bottom of a menu so that when you add several new plugins that belong together at the same time they would also show up next to each other in the menu. But, now all this order is totally mixed up so that I have to scroll around much more.
How is the order of entries determined by the game? And is there a way to influence that order?

Re: A way to influence the order of menu entries?

Posted: 19 Sep 2017, 15:15
by Brody Craft
Alphabetical orders

Re: A way to influence the order of menu entries?

Posted: 19 Sep 2017, 16:04
by mdk_813
Are you sure? The alphabetical Order of what? The id, the title?
Because honestly, it I have entries starting with "R" that are listed before "P"...

Re: A way to influence the order of menu entries?

Posted: 19 Sep 2017, 17:56
by CommanderABab
File and folder name alphabetical order. You can use "ordinal":number to place plugins in different menu places.

Use

Code: Select all

ordinal:-1
to place before default buildings. Use something like

Code: Select all

ordinal:5000
to place at the end.

Re: A way to influence the order of menu entries?

Posted: 19 Sep 2017, 18:40
by Lobby
Yes, folders are read in alphabetical order now (before the update it was device dependent. On some devices the order was based on alphabetical order, too, but others used date or no meaningful ordering at all). Let's assume you have the following folders and files in your plugin dir:

Code: Select all

A/935.json
A/743.json
B/534.json
B/C/235.json
It's now ensured that json files are read in in this order:

Code: Select all

743.json
935.json
534.json
235.json
So the algorithm behind it works like this for a plugin folder p:
1. Read in all files in p in alphabetical order
2. Execute the algorithm on all folders in p in alphabetical order

I suggest that every plugin maker uses an own top level directory that identifies his work. E.g. for a file structure like this in my case:

Code: Select all

lobby/animals/animals.json
lobby/game of life/gof.json
lobby/ufo/ufo.json
However, the creator has the freedom to not follow this scheme :space



You can use ordinal as proposed by @CommanderABab. If you don't give an explicit ordinal value it will be set automatically based on the ordering in which plugins are read in. It's possible to combine ordinal with ordinal from to place items relative to others based on others id:

Code: Select all

"ordinal from":"$idofsomethingelse",
"ordinal":1
This code will place the item right behind the item of id $idofsomethingelse. It also works with categories.

Re: A way to influence the order of menu entries?

Posted: 19 Sep 2017, 18:42
by Josh
Again, learned something new :)

Re: A way to influence the order of menu entries?

Posted: 19 Sep 2017, 18:54
by Lobby
So I moved it into the documentation forum so it's easier to find.

Re: A way to influence the order of menu entries?

Posted: 19 Sep 2017, 19:29
by mdk_813
Cool, thanks!