#Page
1 messages · Page 1 of 1 (latest)
make multiple menus
use [openguimenu] <othermenu> for your "next page" and "previous page" buttons
is there any specific place to put it?
can you add infinite pages?
i can think of a wacky way to make multiple pages in a single gui by using the deluxemenus meta, view requirements, and priorities but its a lil confusing n complicated if u r not very familiar with the plugin. So making multiple guis is your best option tbh
yes in the click_commands:
something like
left_click_commands:
- '[openguimenu] testmenu'
when u click on an item
and that opens another page?
make something like that in your config.yml of your deluxemenus it will let u create multiple external guis. if u dont know much about it check the wiki here https://wiki.helpch.at/clips-plugins/deluxemenus/external-menus
its very helpful cause u have a gui per file
thats confusing even for me 💀
not that much
this is buttons
open_commands:
- '[meta] set my-infnite-page INTEGER 1'
- '[refresh]'
items:
'next page':
item_flags:
- hide_potion_effects
material: music_disc_cat
display_name: '&bNext page'
slot: 50
click_commands:
- '[meta] add my-infnite-page INTEGER 1'
- '[refresh]'
'previous page':
item_flags:
- hide_potion_effects
material: music_disc_blocks
display_name: '&bPrevious page'
slot: 48
click_requirement:
requirements:
'not small than 0':
type: '>'
input: '%math_0_{deluxemenus_meta_my-infnite-page_INTEGER}-1%'
output: 0
click_commands:
- '[meta] subtract my-infnite-page INTEGER 1'
- '[refresh]'
thats very confusing for a non advanced user 💀
making multiple guis is a better option
it uses both math and meta not rly something for starters
i just show him this is possible
this is items
'slot 0, page 0':
priority: 2
material: stone
slot: 0
view_requirement:
requirements:
'page = 0':
type: '=='
input: '%deluxemenus_meta_my-infnite-page_INTEGER%'
output: 0
'slot 0, page 1':
priority: 1 # higher page = less priority number
material: sand
slot: 0
view_requirement:
requirements:
'page = 1':
type: '=='
input: '%deluxemenus_meta_my-infnite-page_INTEGER%'
output: 1
Yes, just might help to explain that it's a very complicated process, and definitely not for every scenario
When you need something that has a dynamic amount of items (like yours does, or like my deluxeshop does), it might help to do this sort of thing
otherwise, making multiple gui pages for things that are not dynamic, not changing, is a lot easier and more intuitive
probably my whole workbench could change to this method and reduce my menus by 250 but i still prefer the menu per file 
just use my way if you know how your menu work

Again, it really depends on the scenario
I would not suggest your way for 99% of things that need pages
considering, this is needed to fill a single slot
'hex slot 1':
item_flags:
- hide_attributes
- hide_dye
priority: 1
update: true
material: leather_chestplate
rgb: '%nested_conversion_16:10_{string_substring_0,2_{deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING}}%, %nested_conversion_16:10_{string_substring_2,4_{deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING}}%, %nested_conversion_16:10_{string_substring_4,6_{deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING}}%'
display_name: '&eHex code&7:&f #%nested_deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING% &#%nested_deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING%&l▐'
slot: 1
lore:
- ''
- '&eRGB value&7:'
- ' &7- &cRed&7: &f%nested_conversion_16:10_{string_substring_0,2_{deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING}}%'
- ' &7- &aGreen&7: &f%nested_conversion_16:10_{string_substring_2,4_{deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING}}%'
- ' &7- &bBlue&7: &f%nested_conversion_16:10_{string_substring_4,6_{deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING}}%'
- ''
- '&eClick actions&7:'
- '&e&l|&7 Left-click &8[&fGet value&8]'
- '&e&l|&7 Right-click &8[&fSet as current&8]'
- '&e&l|&7 Shift-left-click &8[&fRemove&8]'
- '&e&l|&7 Shift-right-click &8[&fGet stuff&8]'
view_requirement:
requirements:
'title':
type: string equals
input: '%deluxemenus_meta_hexFav-title_STRING%'
output: 'fav'
'length = 6':
type: '=='
input: '%nested_string_length_{deluxemenus_meta_hexFav-{nested_changeoutput_equals_input:{deluxemenus_meta_hexFav-page_INTEGER}_matcher:1_ifmatch:1_else:{math_0_({deluxemenus_meta_hexFav-page_INTEGER}-1)*45+1}}_STRING}%'
output: 6
that is insanely overwhelming and confusing 😂
^^
learning how all of that even works would take a LOT of time
I understand it, but I've been with deluxemenus for 6+ years now
and most of that understanding probably came from the past year
same sort of thing for my deluxeshop item
'item1':
view_requirement:
requirements:
valid:
type: '!string equals'
input: '%deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),name%'
output: ''
error:
type: '!string contains'
input: '%deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),name%'
output: 'error'
material: 'placeholder-%deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),mat%'
slot: 0
display_name: '&a%deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),name,formatted%'
lore:
- '&2Buy: &a$%deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),buy% &6each'
- '&cSell: &a$%deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),sell% &6each'
- '&8Left Click to Purchase'
- '&8Right Click to Sell'
left_click_requirement:
requirements:
money:
type: javascript
expression: '%vault_eco_balance% >= %deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),buy%'
deny_commands:
- '[message] &cYou don''t have enough money!'
left_click_commands:
- '[player] buyMore %math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45)% shop s %deluxemenus_meta_dmshop-currentPage_INTEGER_1%'
right_click_requirement:
requirements:
money:
type: has item
material: '%deluxeshop_math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45),name%'
amount: '1'
deny_commands:
- '[message] &cYou don''t have enough items!'
right_click_commands:
- '[player] sellMore %math_0_1+(({deluxemenus_meta_dmshop-currentPage_INTEGER_1}-1)*45)% shop s %deluxemenus_meta_dmshop-currentPage_INTEGER_1%'
felt that lool i ve been using deluxemenus since 2018 but learned about meta few months ago
obviously, I use an external plugin to store the data itself, which makes this even more complicated
setting up a shop requires a database of some sort
javascript expansion too slow and too resource intensive
so if you do make a shop, I would honestly just do each page manually
ye thats why i ve been using another variables plugin for my menus called score
its very nice ngl https://docs.ssomar.com/tools-for-all-plugins/variables
i use it for any kind of numeric value i need to store
yee u r gonna need at least one of the executable plugin series to access it 😬
(idk what else it does)
icic
ya, somebody with database knowledge will make an expansion some day, I believe
well global variables is also very epic
eh thats temp data
😄
