#JSON-UI General
1 messages · Page 31 of 1
bottom middle
oh ty
how do I link the ui in my rp with a costume block?
wdym? Like a custom entity inventory?
Btw does anyone know how to trigger an animation on a binding change?
I edited the ui of of a crafting table but idk how to linke it to the costume crafting table I have
Basically apply the ui
use conditional rendering based on the name of the table
Can I see an exemple
some1 else would have to find one, i aint done it for a while
sad
I think you need something like this?
"bindings": [
{
"binding_name": "#crafting_label_text"
},
{
"binding_type": "view",
"source_property_name": "(#crafting_label_text = 'name of crafting table')",
"target_property_name": "#visible"
}
]```
breh why cant we have color animations on labels
It is possible to make a text appear on the screen when holding an item using "debug_screen"
I think you should remove the 'not'.
oh bruh
I feel like you can..
see https://wiki.bedrock.dev/json-ui/json-ui-documentation.html#animations
i tried it last night and it only worked for images
I don't think worked
ye it didn't
her's the ui part btw
been testing for over 20h so far
Is your UI connected to inventory_ui.json ?
is this your inventory_ui.json?
ye
...
I mean you have to add your code to the vanilla inventory_screen.json file
*inventory_screen.json
wait so I rename it to inventory_screen.json?
no
ehhh
you have to create a file inventory_screen.json and modify the crafting screen (recipe_inventory_screen_content) to add your custom crafting ui
oh I copy it from the vanilla pack?
mhm
... i don't know how to explain
The main idea is that you have to create your own UI and then add it to the vanilla file to actually see the changes.
So I take the vanilla pack and past those files in the inventory screen file?
While deleting the useless parts?
{
"namespace": "crafting",
"crafting_screen": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_back",
"value": {
"[email protected]_inventory_screen_content":{
"bindings": [
{
"binding_name": "#crafting_label_text"
},
{
"binding_type": "view",
"source_property_name": "",
"target_property_name": "#visible"
}
]
}
}
},
{
"array_name": "controls",
"operation": "insert_back",
"value": {
"your_screen@":{
"bindings": [
{
"binding_name": "#crafting_label_text"
},
{
"binding_type": "view",
"source_property_name": "",
"target_property_name": "#visible"
}
]
}
}
}
]
}
}
so this is the code you need to use in inventory_screen.json. in the second array, you have to reference to your custom UI and add the condition in source _property_name.
So I do that and put it in the vanilla pack and it should work?
see if this works. (dont forget to reference to your custom ui and add the condition) (also your file name should not have space in it)
If this does not work, search about crafting ui in this thread. i have to gtg.
just renaming the file made it work
tysm
Yo how would I use glyphs in game yall?
How would I even like do that formatting... like I have the Pic, I need to make it into multiple glyphs
Actually great idea for a 1 slot speedrun challenge
fr lol
it's just the output button of the crafting table
I forgot to specify the source_propriety_name
and few other things
what do you think about new sleeping UI on the latest version (1.21.50)?
how does debug screen work?
Surprised this works, wow
It always show the element no matter which screen you go, thats how it works
@nocturne python
woah thats nice
Yo anyone? I have a picture (that has glyphs) now my assumption is to put in rp/fonts right? How would I use in game? Like for example in title command
Does anyone know how to edit the **slider **text? like changing the font_type to MinecraftTen
Thanks!
@tropic badger can you help me?
I dont understand the question
@normal moat tysm for the help
option_generic_core on settings_common.json
experiment with the element
thx you so much
i see nothing special here
No problem. Nice 👍
If you know how they work, sure.
How can I display custom MessageForm via #title_text like Modal and ActionForm?
how do i scale the size of a image relative to the screen size?
that is relative to the parent if there is any
soon ™️
Hi, does anyone know which json ui file manages the lore/description of an item? And if you know how to make a graphical progress bar in it?
what's the difference between a grid and a panel in writing?
wdym "in writing"
like in the script structure
what's the difference between the two
I'm trying to rewrite a grid into a panel for context
nvm I got to work
how do I know which pixel will the slot go to?
like where does the plan start?
depend on the anchor
How do I create an element that can be modified here?
You cant
I've seen someone do this
where?
In a WhatsApp group, but I don't remember who it was. It was a long time ago
that's probably a client thing
you can't really do it with the addon api
oh I see
Thats probably something else, those are hardcoded touch controls, you cant change/add/modify them
In json UI you know those addons with custom mana things with cool appearance do they use scoreboards and convert those scoreboards to raw text?
there are, but not that level of user friendly
Oh, then I don't know what he did
okay
In theory you can hide the hardcoded ones and record costume buttons for movement just like them then you can add this feature
But the amount of bugs that can occur is insane
Really
Hey everyone, I am working on a JSON UI vscode extension and I already have some features and I'd like to collect feedback on it. So for anyone who wants to try out the extension just hit me up with a dm or something
Can you predict when Mojang will release Ore UI?
is the offset not in pixels?
oh hey it's you
you have the best json ui vids out there so far
-# the only json vids out there
how come this binding is always true if #form_button_text starts with a number
{
"binding_type": "view",
"source_property_name": "(not ((#form_button_text - '§k§r') = #form_button_text))",
"target_property_name": "#visible"
}```
when using a number or some sort of mathematical operator it takes it and acts like its a number
or an equation
a good way to fix this
is to bind #form_button_text to text with a §z in front of it
or just add that in front of your text in the form
so your button would be like
form.button(`§z1: text blah`)
Hi, can someone help me to make this code work? I'm just learning.
Combine these idea:
https://wiki.bedrock.dev/json-ui/add-hud-elements
https://wiki.bedrock.dev/json-ui/custom-buttons
ok let's try
are you able to add hover states to labels?
I didn't quite understand 😅 see me as someone who is too noob
hud_screen.json
"hud_square": {
"type": "image",
"texture": "textures/ui/Black", // vanilla texture
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"size": [ 64, 64 ],
"offset": [ 0, 4 ]
},
"hud_text": {
"type": "label",
"text": "hud text",
"anchor_from": "top_right",
"anchor_to": "top_right",
"offset": [ -4, 4 ]
},
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": [
{ "[email protected]_square": {} },
{ "[email protected]_text": {} }
]
}
]
}
See how they put the element inside the root panel to make it show on HUD. Do the same as adding a toggle
hud_screen.json
"custom_toggle@common_toggles.light_text_toggle": {
"$toggle_name": "our_toggle",
"$button_text": "Template Toggle",
"size": [90, 15],
"$toggle_view_binding_name": "view_toggle"
},
"toggled_image": {
"type": "image",
"texture": "textures/items/apple",
"size": [32, 32],
"bindings": [
{
"binding_type": "view",
"source_control_name": "view_toggle",
"source_property_name": "#toggle_state",
"target_property_name": "#visible"
}
]
}
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": [
{ "[email protected]_toggle": {} },
{ "[email protected]_image": {} }
]
}
]
}
but I try to do it in the interface of a chest
those are textbox lol
well first you need to find the root element of all elements inside the chest screen file
i imagine i can do it with toggles too
we will have to look for him
its usually at the bottom of the file
Ye but its oblivious, toggle -> textbox. Thats why we do textbox -> textbox.
i only need it for hovering tbh
showing what
then ig u could use a button too
but what about lag
its just for displaying player information
because imagine if there are 150 messages in the chat_screen
thats 150 buttons
with like textures and stuff, i only notice slight lag > 50+
do i have to grab the chat collection?
or can i just grab the text
nvm i dont think i do
since its on messages_text in chat_screen
just edit the child that being used, i believe its messages_text
do u know the y size of a 1 line label
why
just so i can make the button the size of it
its not painfully accurate, u can just use 100%sm
sure thanks
also do you know about custom hover text?
"screen": {
"type": "screen",
"size": [ 0, 0 ],
"follows_cursor": true,
"controls": [
{
"[email protected]": {
"layer": 100,
"draggable": "vertical",
"anchor_from": "top_left",
"anchor_to": "top_left",
"texture": "textures/buttons/mcc/text_background",
"size": [ "100%c + 7px", "100%c + 6px" ],
"max_size": [ 150, "100%c + 6px" ],
"controls": [
{
"[email protected]": {
"offset": [ 0, -0.25 ],
"text_alignment": "center",
"max_size": [ 148, "default" ],
"text": "this a test"
}
}
]
}
}
]
}``` you can use this to show any panel on hover with any content on it
almost 1:1 with vanilla hover text
custom hover text
without the render
👀
u can display quite literally anythig
images, stack panels
u can just use hover_control

oh wait
no
u cant have custom stuff inside of it though
are u just talking about the hover state?
its not a hover_text_renderer
so u can add whatever u want
just nested panels
and it follows ur cursor
like vnailla hover text
yes 🙂
the only downisdes
that dont really matter
it goes off the screen unlike vanilla
and it doesnt hide the cursor
i tried using "should_steal_mouse" but nopeeee
what, like u can make the cursor go off the screen?
like u know how vanilla hover text wraps when u try to make it go off of the screen
so it always stays onthe screen
ohh that sounds kinda bad
ehh its fine
i mean whos really displaying information that long 
and it only does it for the right side
so it can only go off the right side
the left side is fine
but u do have the bottom and top

that draggable component is useless
wont even work lol
yeah i forgot to remove it 
and also, why does it need to be a screen
im honestly not sure
i tried j ust doing a panel or an image
but my friend found out it has to be a screen
its very odd
now i can't even chat while sleeping anymore, this is unfair
(the new incomplete ore ui bed screen is on stable version)
what launcher do you use? why is there a fps counter o ntop?
lmao there are others but they're very basic
cool font
If item renderer is weird then fix it ffs
yeah, love when they try to explain weird stuff
no launcher, just a stock app
that fps came from a rainmeter skin with msi afterburner api
rainmeter mentioned 👀
yes, and now i can't even see other players' skins through their "profile card" screen because of that incomplete ore ui implementation
unless they collaborate with blockbench again (or maybe not), to add player renderer to ore ui
One message removed from a suspended account.
One message removed from a suspended account.
yes but it need to be combined with some kind of server/addon scripts first, since there's no "randomness" in ui
One message removed from a suspended account.
One message removed from a suspended account.
I'm new to modding pls what is json UI
Its a way to modify user interfaces. Not really beginner friendly tho
just deal with it on server-side, thats what most people do
-# irl parity
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
Is it possible to change the brightness using an json ui?
cus u dont have the thing to show it, you didnt code it
Not sure if this is the right channel for this but is it possible through script api to show an image without using a command for tellraw
with chat
wait what
u can use world.sendMessage()
no
yeah?
I have a customized server_form, it loads normally and so on. However, if I change the name of my form, so as not to use the customized server form, with the intention of using the normal Minecraft server form, it becomes invisible, does anyone know how to solve it?
Is it possible to choose an animation based on a certain keyword in an actionbar title?
I have tried it like that but it doesn't play any animation:
"element": {
"visible": "(not ($text = ($text - 'show_element_keyword')))",
"texture": "textures/ui/element",
"offset": "(($text = ($text - 'anim_keyword')) ? @animations.anim1: @animations.anim2)",
"size": ["92px", "164px"]
}```
@tropic badger forgot to show finished product 😉 thanks for the idea
it was honestly quite easy
oh that's pretty cool
I tried in the latest version. It works..
is it like for a server?
i didnt say its non functional
i just pointed it out since its on an image type, and the parent control is following the cursor
ohh got it 👍🏻
Only works on multiplayer I guess
with 2 people or more
what about commands
so they completely removed chat access (more java parities)
maybe
yep. Only works on multiplayer
must be 2 or more players to activate it
also, keyboard shortcut is not gonna work
why not just adding it to singleplayer as well
because you still CAN chat in singleplayer on java
yo that's so cool
what's the idea behind it?
Button
Maybe
No
can we make a factory start from a specific index?
does anybody know how to stop the mouse wheel scroll cycling through the hotbar whilst scrolling in a long_form
would someone be able to help me with my issue real quick. It's probably a simple fix but my texture won't load and i have the path referenced properly i thnk
it just take the lower index as initial start...
maybe use dummy elements and hide them
you can set the slot using script api
yeah i see that difference now too
i think they changed something with UI screen
idk
how I can make this to other button 🤔
I want to add to this button group
oh yeah, Minecraft has new glitch
most likely hardcoded
should be somewhere in start screen, "gathering"
ok
Oh that’s surprising
welp... your work has gone in vain
check the new update
I already fix it
And I don't have any ideas left
its interesting cus mojang creates a new pack just to add that new button, its what "Loading Resource Pack" stuff contains
goodbye world, the json ui play screen
rip my favorite screen
dragging what
now i can't even search for worlds
no idea why do i need this
just part of my Idea
making Mac/Windows window look like
WHAAAAT?
yep
honestly looks sick and
but damn i dont like it lol
cool but useless
oh
so i am not the only one
lol
Mojang slowly thanos snapping json ui's out of the game
and there's no way to change it
I literally made a play screen for glacier 3 days ago 💀🙏
average mojang move
How do i make this center of screen
"player_position": {
"type": "image",
"size": [
"100%c + 6px",
"100%c + 2px"
],
"texture": "textures/blank",
"alpha": 0.7,
"controls": [
{
"player_position_text": {
"type": "label",
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"layer": 1,
"enable_profanity_filter": false,
"color": "yellow",
"text": "#text",
"shadow": true,
"bindings": [
{
"binding_name": "#player_position_text",
"binding_name_override": "#text",
"binding_condition": "always_when_visible",
"binding_type": "global"
}
]
}
}
],
"bindings": [
{
"binding_name": "#player_position_visible",
"binding_name_override": "#visible",
"binding_condition": "always",
"binding_type": "global"
}
]
},
⚙️
Player position is binded on a stack panel at which is in a specific position, you'd need to move the player position in root panel.
Bro this meme is still MASSIVE
You know what else is massive?
Change the anchor I think
why when i open my form with scroll, the scroll starts in the end of content, example:
Content...
1
2
3
4
5
6
7
where it starts:
3
4
5
6
7
You can use /title @a times 0 0 0
Can json ui listening to other json ui? 🤔
for example, listening server_form from toast_screen
so, I can get the title_text binding to toast_screen
no
Sad
Hey everyone, does someone know how to prevent poisoning collection with empties when accessing elements with collection_index from it? You can just access element 200 for example somewhere in ui and suddenly collection will get filled with empties until 200 length
?
?
what are you talking about
Accessing elements with collection_index trashes collection
I have a form where i manually set index for buttons and this leads to garbage empty indexes when i use grid for example
check if the collection index is greater than #form_button_length
Well i have some forms that have like 20 buttons so thats 20 indexes and i have forms that have 5 for example but it will be 20 because of this i dont think checking index will help?
just make them not visible when: (#form_button_text = '')
This wont affect grid
it'll affect every button
Making them not visible is understandable but this also affects ui processing time because factories will just iterate over this empties
It will but in grid it will leave empty space
if it leave empty space, make the actual container such that it fits the grid
I did it cuts off actual elements in grid because of this
"bindings": [
{
"binding_name": "#form_button_length",
"binding_name_override": "#collection_length"
},
{
"binding_name": "#form_button_length",
"binding_name_override": "#maximum_grid_items"
}
]
you can do this to ignore other buttons
Come on
try the one which is above it
No effect
what is your desired result? do you have any screenshot?
I have a grid with desired items i have some elements before actual grid items so i cut them off already with offset but i have accessed higher indexes somwhere else so grid fills with this empty space after my items and i tried cutting them off too but it just cuts off actual grid items instead of empties
If i add more buttons to grid
When i dont have enough its ok to cut off them but when i fill in more than highest index accessed it just cuts off actual items
I have buttons that go before grid i need to know their index to add them
ah so remove grid type element and just make a simple stack panel or else it'll not work
or add items to the grid manually using collection index
"label": {
"type": "label",
"text_alignment": "right",
"text": "#custom_text",
"hide_hyphen": true,
"layer": 1000,
"bindings": [
{
"binding_name": "#dialogtext"
},
{
"binding_type": "view",
"source_property_name": "('§f' + ((('%.' + $text_count + 's') * #dialogtext) - (('%.' + ($text_count - 50) + 's') * #dialogtext)) - '')",
"target_property_name": "#custom_text"
}
]
}
why my text_alignment is not working??
How can I add a counter from a specific scoreboard?
You need to add size
Chat autocomplete
"binding_type": "view",
"source_property_name": "((#is_being_searched or (not (#is_not_empty))) and (not (#is_equal)) and (($required_tag = '') or player.has_tag($required_tag)))",
"target_property_name": "#visible"
This works when I remove and (($required_tag = '') or player.has_tag($required_tag)) but shows every command to every player. I want to test if $required_tag is either '' (empty) or if the player has the tag specified in $required_tag. How can I fix it to do that?
It throws an error:
[UI][error]-UI Control: chat_screen | UI Control: variables_button_mappings_and_controls | UI Control: safezone_screen_matrix | UI Control: inner_matrix | UI Control: safezone_screen_panel | UI Control: root_screen_panel | UI Control: custom_commands | UI Control: commands | UI Control: admin | UI Control: broad | On Control Path: /chat_screen/variables_button_mappings_and_controls/safezone_screen_matrix/inner_matrix/safezone_screen_panel/root_screen_panel/custom_commands/commands/admin/broad/text | JSON UI parse failure: Must define a source property name in the binding!
cant use molang in json ui
player.has_tag(rq tag) is not a thing
okay I thought so but I am not sure what else I'd use
there's no way to test for tags or scores etc. in json UI I assume?
basically I just want to know if I can control a value that changes the visibility
is that in a form?
anyone else messing with image ui notice setting image visibility false through bindings works but making it true again does not?
ive added size, but the problem still occurs
when I do /title @s title health_bar_0 it doesnt show
"[email protected]_bar_template": {
"size": [
0,
8
],
"uv_size": [
0,
8
],
"$condition": "[health_bar_0]",
"bindings": [
{
"binding_name": "#hud_title_text_string"
},
{
"binding_type": "view",
"source_property_name": "(not((#hud_title_text_string - $condition) = #hud_title_text_string))",
"target_property_name": "#visible"
}
]
}```
remove the brackets []
even if I remove them still doesnt work
remove the variable and directly pass the condition into the binding
make sure your element is a part of title text factory
can also add "binding_type": "global"
will it still work if it wasnt part of it?
"stats_bar": {
"type": "image",
"texture": "textures/ui/bg",
"anchor_from": "top_left",
"anchor_to": "top_left",
"offset": [
0,
-60
],
"size": [
300,
200
],
"uv_size": [
128,
30
],
"controls": [
{
"health_bar": {
"type": "panel",
"offset": [
0,
0
],
"size": [
100,
8
],
"controls": [
{
"[email protected]_bar_template": {
"size": [
0,
8
],
"uv_size": [
0,
8
],
"$condition": "health_bar_0",
"bindings": [
{
"binding_name": "#hud_title_text_string"
},
{
"binding_type": "view",
"source_property_name": "(not((#hud_title_text_string - $condition) = #hud_title_text_string))",
"target_property_name": "#visible"
}
]
}```
the is the bit complete one
i think no
it was working like that
without adding it to the title factory
idk why it broke
maybe add to the factory to see if it works?
or check what broke it
It should work without the factory tho
similar code is working for me. must be any other part of code.
ok gonna check
this error shows up
it has smth to do with this
You have to add type to your element
{ui_control} --> also remove your element from brackets (if they exist)
there is already "type": "panel"
does this element has type specified?
idk what is that
... what's your code?
this is it @normal moat
oh wait also
"health_bar_template": {
"type": "image",
"texture": "textures/ui/bg",
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"size": [
100,
8
],
"uv_size": [
100,
8
],
"uv": [
0,
30
]
},```
idk what's the error.
make sure this template is in hud screen file and correctly referenced
it should be
do u want me to send it to u?
send it i'll check
it's the chat_screen.json
but I just mean like have a score or tag on the player to change visibility of something in json ui
u cant check player tags in JSON-UI
sad
i need help
how to server form look like oreUI style
i make this and different oreUI style
how to customize button texture using #form_button_text?
i want to make other button texture using #form_button_text, example:
new ActionFormData()
.title("test")
.button("default button");
.button("red:test button")
//will change the button texture if the #form_button_text startsWith prefix red:
does anyone know what this is called in the start_screen.json file? i cant find it and im scared that this is hardcoded
neither can i find the subtitles in the lang, im getting more convinced that htis is hardcoded
quick Q.. are you able to use bindings inside of array values? e.g. "grid_dimensions": ["#test_var", 1]
found it in ui_art_assets_common.json at title_panel_win10/splash_text
no
nope
Super basic question but where can I find the text label for server forms? I think it's the action or modal form, not entirly sure. My goal is to add a shadow to the text, that's it.
the title text?
Or like the body text?
I have like no idea what the buttons are inside the server forms.
okay so the form button text
Yea.. I think
Oh?
You can do
Add that to your UI
so just rp/ui/
and then in server_form
replace "dynamic_button" with
"dynamic_button": {
"type": "stack_panel",
"size": ["100%", 32],
"orientation": "horizontal",
"controls":[
{
"panel_name": {
"type": "panel",
"size": [34, "100%c"],
"bindings": [
{
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
"source_property_name": "(not (#texture = ''))",
"target_property_name": "#visible"
}
],
"controls": [
{
"image": {
"type": "image",
"layer": 2,
"size": [32, 32],
"offset": [-2, 0],
"bindings":[
{
"binding_name": "#form_button_texture",
"binding_name_override": "#texture",
"binding_type": "collection",
"binding_collection_name": "form_buttons"
},
{
"binding_name": "#form_button_texture_file_system",
"binding_name_override": "#texture_file_system",
"binding_type": "collection",
"binding_collection_name": "form_buttons"
},
{
"binding_type": "view",
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
"target_property_name": "#visible"
}
]
}
},
{
"[email protected]_loading_bars": {
"size": [30, 4],
"offset": [-2, 16],
"bindings":[
{
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
"source_property_name": "(#texture = 'loading')",
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
"form_button@common_buttons.light_text_button": {
"$pressed_button_name": "button.form_button_click",
"anchor_from": "top_left",
"anchor_to": "top_left",
"size": [ "fill", 32 ],
"$button_text": "#form_button_text",
"$button_text_binding_type": "collection",
"$button_text_grid_collection_name": "form_buttons",
"$button_text_max_size": [ "100%", 20 ],
"$shadow": true,
"bindings": [
{
"binding_type": "collection_details",
"binding_collection_name": "form_buttons"
}
]
}
}
]
},```
and that should work?? I just snooped around the file I have not tested
I can try
it may, it may not
so you're server_form can just be this ```json
/********************************************************
+* (c) Mojang. All rights reserved *
+* (c) Microsoft. All rights reserved. *
+*********************************************************/
{
"namespace": "server_form",
"[email protected]_screen": {
"$screen_content": "server_form.main_screen_content",
"button_mappings": [
{
"from_button_id": "button.menu_cancel",
"to_button_id": "button.menu_exit",
"mapping_type": "global"
}
]
},
"main_screen_content": {
"type": "panel",
"size": [ 0, 0 ],
"controls": [
{
"server_form_factory": {
"type": "factory",
"control_ids": {
"long_form": "@server_form.long_form",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
"dynamic_button": {
"type": "stack_panel",
"size": [ "100%", 32 ],
"orientation": "horizontal",
"controls": [
{
"panel_name": {
"type": "panel",
"size": [ 34, "100%c" ],
"bindings": [
{
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
"source_property_name": "(not (#texture = ''))",
"target_property_name": "#visible"
}
],
"controls": [
{
"image": {
"type": "image",
"layer": 2,
"size": [ 32, 32 ],
"offset": [ -2, 0 ],
"bindings": [
{
"binding_name": "#form_button_texture",
"binding_name_override": "#texture",
"binding_type": "collection",
"binding_collection_name": "form_buttons"
},
{
"binding_name": "#form_button_texture_file_system",
"binding_name_override": "#texture_file_system",
"binding_type": "collection",
"binding_collection_name": "form_buttons"
},
{
"binding_type": "view",
"source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
"target_property_name": "#visible"
}
]
}
},
{
"[email protected]_loading_bars": {
"size": [ 30, 4 ],
"offset": [ -2, 16 ],
"bindings": [
{
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
"source_property_name": "(#texture = 'loading')",
"target_property_name": "#visible"
}
]
}
}
]
}
},
{
"form_button@common_buttons.light_text_button": {
"$pressed_button_name": "button.form_button_click",
"anchor_from": "top_left",
"anchor_to": "top_left",
"size": [ "fill", 32 ],
"$shadow": true,
"$button_text": "#form_button_text",
"$button_text_binding_type": "collection",
"$button_text_grid_collection_name": "form_buttons",
"$button_text_max_size": [ "100%", 20 ],
"bindings": [
{
"binding_type": "collection_details",
"binding_collection_name": "form_buttons"
}
]
}
}
]
}
}
Yea, it works, thanks!!

So, to recreate something like the heart/hunger/air meters, is there a more efficient or modular way to do it than having to declare each individual part as an image? I made a functional recreation but only by making each part of the bar its own control
using clip_direction and $clip_max in image
ah do you mean #clip_ratio
yeah that, mb
$clip_max is for the max value (100% of the image is displayed)
do you have a minimal working example? Doesn't seem to be clipping the image for me
dm?
the only example i have is from an unpublished addon of mine
nvm, here is the code i used to get it working
https://discord.com/channels/523663022053392405/1272053595491008643
make sure to get permission
weird. I had mine set up not too different. Though even when i used the same format as that it's the same issue. seems to only either show nothing or the whole thing
i can dm u mine if that can help
Oh i see. It literally does not work unless you define $clip_max.. I was using a straight float value
yeah
whack, neat though thanks for the help!
np
Is there any way to delete "#stack01"?, I don't understand much on wiki
how do i add a shadow to the text used on inventory item hover display
link
ex:
with text: ABCDFE
(#text - ( '%.3s' * #text))
will ignore the first 3 characters and return the following text: DFE
Guyss why this thing work
"texture": "textures/custom/water_coin"
but this doesnt
"texture": "'textures/custom/' + 'water' + '_coin'"
Anyone know??????
that is not valid even in json
what is the point..?
and I think it would be something like this
"example_image": {
"type": "image",
"texture": "#texutre",
"property_bag": {
"#t1": "water",
"#t2": "_coin"
},
"bindings": [
{
"binding_type": "view",
"source_property_name": "('textures/custom/' + #t1 + #t2)",
"target_property_name": "#texture"
}
]
}```
not sure though, I have not tested
or u can just add 'water' + '_coin'
you need rounded bracket for that.
does anyone know if 100% - 50% is possible when sizing?
it should be possible by logic or just 50%
what about 100% - 100%sm
and then the sibling is 48px
it would technically subtract those 48px
technically, yes
well it doesn't work 
lemme do a quick test
i may have been grabbing the wrong sibling actually
yeah, thats probably the case.
I tried and it works fine.
Does anyone know how to add a new font_type in JSON?
does the #anchored_offset_value and #size_binding work on server_form too if not is there any alternative/work around
I have a question you know how to make /titleraw auctionbar(like this) was in the middle with the right on any device
why i can't edit command_block_screen.json, when i edit will back to normal json or no change in game testing
Yes
But it’s based on the parents size
hi there, is it possible to remove the transition animation from a specific custom form or just by disabling global with the third_party_server?
"anims": []
like this? json "aui_53": { "type": "panel", "size": [ "60%", "70%" ], "layer": 20, "anchor_to": "center", "anchor_from": "center", "anims": [],
no effect to me
in the form main panel
Ok so I’ve decided to make a relatively simple info menu for my pack. Realistically how hard is json ui to learn?
Guys what is the fastest way to learning Json ui
just go with a book or script form
The issue with that is it’s a lot of text
there is no fast way with the lack of documentation
you can do what marketplace packs do and make a book entity
or maybe take a look at this https://discord.com/channels/523663022053392405/1280301965271896124
Ooo
cannot make it work, you mean in the server_form?
like this? json { "aui53@inner_player_book.aui_53": { "anims": [], "bindings": [ { "binding_type": "global", "binding_name": "#title_text", "binding_name_override": "#text" }, { "$prefix": "AUI_53:", "binding_type": "view", "source_property_name": "(((#text -(#text - $prefix)) = $prefix)", "target_property_name": "#visible" } ] } },
that should work
can the elements generated from a factory access the values of the factory in server_form
for example lets say a #form_text
can you show me one that you have without animation? no matter what I try the fade-in/out still plays
but this disable globally, I wanted to disable for a specific custom form, also dunno what happens when I enable this globally but playing on PS it doesnt allow me to use the button O to return/close the forms, so once I open it it stays forever on the screen lol
try "$screen_animations": [], in the ones you sent
not hard if you have experience in programming
i learned json ui only by using refrence/documentation
the JSON language itself was self explenatory since it is a object (who would have thought), so i picked up everything from the vanilla resource packs
How do I make the server form go full screen?
long_form@common_dialogs.main_panel_no_buttons in this part...
maybe make the size of the parent 100%
How i make the form body appears again?
Hmm, the id of vanilla items can easily be obtained, but how about custom items? What's the last number of ids?
Oof sorry for the reply, didn't mean to
some vanilla ids shift with the present of custom items...
There is still C++ code on chest screen file
Where can I get all IDs
uh, this is valid in vscode
you can expand and collapse json code regions
?
in vscode you can add "#region" to codes like this:
outside region
// #region something
inside collapsible region
// #endregion
outside region, won't be hidden if the region above is collapsed
(hovering the arrow on line #region)
Nah can't be, why would they add c++ code to json?
Hello is it possible in json ui to sort the body in alphabetical order?
I have words like: Carefree Steve: 20.1 Armless Steves: 16.5 Shirtless Steve: 200 Beagles: 9
I want to sort them, but I can't use the script since it's not able to get translated words.... I use \n to the next line the other words
odd error, first time seeing it
tough luck, u cant sort things in json-ui, there are no loops
yeah its when the number is without a % or px as a string
like "50"
and 2px is 1 number px
so like "50px" is equal to 25
Hello I'm new to json UI and all i know is that HUD screen file is the one that displays things in your game and I want to do something with it with my scoreboard system
Can anyone help me how to set this up
@pine matrix sorry for ping but do you already add the inventory to the chest UI?
hi there, how do I change the size of the sliders in a "generated_form@server_form.generated_contents"?
No
You don't know how to do this?
Is it disappointing that it took me around 2 days to figure out preserved text based images
I don't want any serious answers
Oh, that's cool, well done
thank yew
Is it possible to filter a factory?
Im using preserved text for some stuff and I need a factory so the animations reset every time it pops up, however when using a factory it defeats the purpose of preserved text
Can I make it so the factory only works if the text equals something
Can someone help me on how to setup a UI for my scoreboard system
it is possible to make a custom factory?
Okay so I figured that you need ui_defs.json to define your ui file so after making my own UI file with some textures etc will that work?
"type": "custom",
"renderer": "live_player_renderer",
"camera_tilt_degrees": -10,
"starting_rotation": -60,
"rotation":"gesture_x",
"anchor_from": "right_middle",
"anchor_to": "right_middle",
"size": [
"30%",
"30%"
],
"offset": [
"0%",
"10%"
]
}
why model doesn't rotate?
@mystic heart you can help??
you cant rotate live_player_renderer, only paper_doll_renderer
i cant use paper_doll_renderer, because i need the current player skin, the skin that he use in server
there are no other solutions
ive tried hud_player_renderer but it flicks and disapear
hi there, can some expert help me with this? this binding supposed to show/hide the element based on 0 and 1 values.
so it compares two locations and if any of these locations on my string are greater than 0 it should make the element visible, but for some reason it seems to only test for the second condition (612-611)... once this location becomes 0 then the elment is hidden even if the first location is greater than 0, what am I doing wrong here? json { "binding_type": "view", "source_property_name": "((('%.535s' * #title_text) - ('%.534s' * #title_text)) > 0) or ((('%.612s' * #title_text) - ('%.611s' * #title_text)) > 0)", "target_property_name": "#visible" }
Can someone help me plss
looks like you're missing some brackets
why mojang, more nonsense renderers
they love hardcoded things
yeah they're recently switching stuff to renderer alot. they actually not just deprecate the old one, but straight up removing it.
i guess this is a sign that they do NOT want anyone to edit json-ui.
And no, the renderer ver is no different to the old one whatsoever, so they're exactly same thing. but just ported over it.
I guess they are doing something in gamerpic that requires external sources, mostly what renderers are for.
like, not quite new in renderer, but completely locked down in bindings instead, item data
no idea why but they kept the placeholder gamerpic not hardcoded, the alex icon when gamerpic is not present
no idea why
this #profile_image_options returns an object, and can't be read as plain texts
I didn't expect that server_form_factory key is hardcored.
you can't add custom "control_ids" but you still can customize its contents
because the game will have no idea which forms will be shown if it wasn't coded
i know, but I'm talking about server_form_factory name
if you change it, form won't show
not "it won't show", but it will use the default values in vanilla ui
you can always change names as long as the other references also have same changed names
normally factory property need to have name property, server_form_factory directly does this with the factory type element. That's why "name": "server_form_factory" is same as "server_form_factory": {...}.
don't change "control_ids" properties, only values
"<property_name>": "<values>"
Do you still not understand what I was talking about?
i think i don't
top left 👀
as soon as i enter the nether: surely it will break because "today" is not technically correct
and walked? no, i tp
just use the words "distance to (origin/initial position/<whatever>)"
hmm, that sentence leads me to another idea, a "ruler", distances between customizable points and/or your position
like the one on map apps
You don't know how to do this?
I cannot find any good info on how factories work, can I change a factory to trigger from a custom variable
useful info: #old-json-ui message
Thanks
definitely seems a little difficult to incorportate into what im doing but ill see what I can do
someone would be or found the Minecraft Preview textures ?
hbui assets?
YES
they located in your Applications
or if you using Bedrock launcher they can be found in AppData
you have a file path ?
I could have it ?
dm
what is frame_step in flip_book anim?
its like how much pixels it will move per frame
same in particles
so, you can use snowstorm for testing
Is it possible to use bindings to begin an animation
using variables but not bindings afaik
I use variables but what property could I change with a variable to start the animation at a certain point 🤔
you simply put it in a factory and using variables array check for different conditions and change the animation accordingly
isnt that the same?
yes
does "play_events" for animations only work from buttons?
for example can I through a binding send a event
why is this happening
Bro what is this binding from 1.19.20
theres also #force_dirty_animation which exist even today
dirty what?
WTFF IS THAT SHI-
where did you find it?>
what the f no way thats real
wtf
ya'll are going crazy over a binding for player reporting
I have a dumb idea
ui using particles or what? lol
Yeeeep
sorry to disappoint but particle does not work on json-ui
Ik ik but still, particles should be efficient enough to render a minimap
meh...is it faster tho
i had that idea for a long time, sense we can get blocks map color and pass it to particles
might be faster, who knows.
Sounds like something that we should try out :>
yeah
inside "report player" screen, but it's now ore ui based
@oak verge hayoo
quick help
About the multi tab you created a long time ago
Is there a way to increase its limit?
You said it's 200 right?
iirc you just need to edit the script
the limit was set to prevent overflow
nvm, give me a sec
you need to edit the ui in all pages from
"source_property_name": "('§n' + ('%.200s' * #form_text)) - ''",
to what ever you want the limit to be
and change the script function too
function adjustTextLength(text, totalLength = 200)
Thank you!
np
I'm here again lmao
So you limited the body characters right? Did you also disabled the scrolling I mean if the strings of the body is a lot it makes you scroll down right? Did you remove it or it's still there
yeah
scrolling in a paper don't make sense
Is there a list of all textures in the resource pack textures folder related to all varieties of forms?
How do I make my button like this?
vertical stack panels with horizontal stack panels
By collection index
do you have an example?
No
Hello, I need some quick help. I have this ui that I stole from Minato Multi Tab, and I want to display the text I just made it simpler with no designs etc, but the problem is I want to make the contents scrollable but idk how since in Minato script he use the text to show the display and he hides the actual form_text or the contents of form, is there a way to make the texts is scrollable and not just lock in place?
I asked Minato about this and yeah he's not online rn ;)
how do i change the position of each of my buttons
what dose the jump_to_bottom_on_update do in scroll panel
may be for scrolling to the bottom of the chat window when a new message is sent
yeah
tried it only in server forms, so maybe?
is that a grid or a collection panel?
well i asked this question earlier but didnt get any useful help so i will ask again,
is it possible to display a UI ignoring any parent?
I have a image which i want to display on the right side of the screen but i need to use a parent to get the needed information but the parent and the parent of the parent is breaking my wanted visual effect
basically i want to change a sent message to look like a sidebar
this is how some servers do sidebars
can you elaborate? sorry that this is from like 7 months ago
wtf
Anyone, pls? 🙏
Why do i get this error even tho the documentation says it is correct?
Image does need a texture property
{
"logo": {
"type": "image",
"texture": "textures/ui/title",
"anchor_from": "center",
"anchor_to": "center"
}
}
this is my "logo"
type is image but for some fukcing reason it says it is unkwon
the best part is that i use the same logo in a different file/texturepack
and it does not cause any errors
look at your element named hud_actionbar_text and see if it has texture property
{
"hud_actionbar_text": {
"type": "panel",
"anchor_from": "top_right",
"anchor_to": "top_right",
"size": [
"100%cm",
"100%c"
],
"alpha": 0.5,
"controls": [
{
"[email protected]": {}
},
{
"[email protected]": {}
}
]
},
}```
nope
oh
i think i understand now
do i need to put my image into a panel and then the panel into my hud actionbar text?
nope
it does not solve that
man i love seeing dev comments lmao
lol
grid
both encircled have text in it but in the yellow spot the text would be forcefully placed on the ride no matter the size of the ui it will stay there... possible??
Anyone know?
how do I get to the center?
👀
yo
is there a way to remove menu animations?
the fading in and out animation
to make it instant
"$screen_animations": []
Does anyone know the name of the font in this image?
32x fire minecraft gameplay fr
(Jk)
I copy-pasted ui folder from vanilla to my resource pack. Then I tried changing things. But no matter what I change, nothing appears changed in the game. Does anyone know what I'm doing wrong? Do I need some line of code in some file to enable editing the UI?
e.g. I change the existing textures, labels or element types and I don't get any errors. Everything looks same...
^ bump
... All texts stay on their place once rendered (except animation ofc)
Ohh, thank you... Just curious if possible :)
and you can use more % sizes and offsets because they adapt according to parent
Since when is it possible to use more letters to change color?
So I tried the hud element tutorial and it works. Does that mean I need to load the pack at start and not within a world?
Like as a global resource?
Let's say that, I have a different text box for the left side and another for the right side... Possible or it will affect performance...no right?
Your problem is just dividing what's the contents for the left and right
Yep, that was the issue. Now, it works.
Trying to put the buttons in the left side but nothing yet, its ancoher to top left so idk
How to make a button that directs you from the current screen to a different one?
For example, I have a button in the main menu and I want it to send me to the settings menu.
server form?
Do you suggest me to use server form or are you asking if I am currently using it?
I am asking
I'm using start_screen, settings_screen and genereal_section.json files.
I tried to check the vanilla code for settings button as it is close to what I want to achieve. But I don't know if this doesn't work by just using RP.
hey i got this in my controls :
{
{
"logo": {
"type": "image",
"anchor_from": "top_left",
"anchor_to": "top_left",
"texture": "textures/ui/title",
"size": [
"100%sm",
"100%sm"
]
}
},
{
"text": {
"type": "label",
"text": "#text",
"anchor_from": "bottom_left",
"anchor_to": "bottom_left",
"color": "$tool_tip_text",
"text_alignment": "left",
"localize": false,
"font_size": "medium",
"alpha": 2.0
}
}
}
How do i make the image height according to the visible texture?
basically what value do i need to use to make the image loose the invisible parts
what
"100%sm - 100px"
this solved my issue lmao
How the hell is it flipped, is that entity or json ui
JSON UI, and idk how the hell it is flipped
i just put my sidebar into a stackpanel
how this happened no idea 😂
send a screenshot of that part...
well my polacode stopped working
{
"ui": {
"type": "panel",
"anchor_from": "center",
"anchor_to": "center",
"$flag_sidebar": "§m§a§n§1",
"controls": [
{
"sidebar_stack_panel": {
"type": "stack_panel",
"orientation": "vertical",
"anchor_from": "right_middle",
"anchor_to": "right_middle",
"controls": [
{
"[email protected]": {
"anchor_from": "center",
"anchor_to": "center",
"bindings": [
{
"source_property_name": "(not (((#text - $flag_sidebar) = #text) or (#text = '')))",
"target_property_name": "#visible",
"binding_type": "view"
}
]
}
}
]
}
}
]
}
}```
the best part is that i have no clue why the title appears
it didnt before
but now it does
even flipped!
I'm not even sure, lmao... Let's wait for json ui geniuses opinion
Is this a bug... Or a feature
probly both
i will implement it as a feature
"New and improved crosshair for better combos!"
This must be because of the anchoring?
because the element's size is negative in y-axis
Guys is this possible...
i have a button with three states... Like when clicked show a text, clicked again show text again and clicked again and show the original text
In server form... Anyone?
u would exactly need 3 togles
Sure, you can use Toggles
like if clicked hide that toggle?
and clicked again to hide that and so on?
yes
click once -> hide toggle 1 and show toggle 2
click again -> hide toggle 2 and show toggle 3
click again -> hide toggle 3 and back to toggle 1
simple
thanks... Since you're already here why doesn't this move the text even if I add offset?
"custom_long_form_scrolling_content": {
"type": "stack_panel",
"size": [
"100%",
"100%c"
],
"orientation": "vertical",
"anchor_from": "top_left",
"anchor_to": "top_left",
"controls": [
{
"label_offset_panel": {
"type": "panel",
"size": [
"100%",
"100%c"
],
"controls": [
{
"first_page": {
"type": "stack_panel",
"size": [
"100%",
"100%c"
],
"offset": [
2,
2
],
"orientation": "vertical",
"anchor_from": "center",
"anchor_to": "center",
"controls": [
{
"main_label": {
"type": "label",
"layer": 10,
"size": [
"default",
"default"
],
"text": "#text",
"bindings": [
{
"binding_type": "global",
"binding_name": "#form_text"
},
{
"binding_type": "view",
"source_property_name": "('§n' + ('%.2000s' * #form_text)) - ''",
"target_property_name": "#text"
}
]
}
}
],
"bindings": [
{
"binding_type": "view",
"source_control_name": "toggle1",
"source_property_name": "#toggle_state",
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
}
}```
Yeah I get it now, just asked maybe there's another way than doing this...
ur moving something from stack panel, that invalid
Ohh, but when I add in the very parent that is also stack_panel, custom_scrolling... It works or it moves it
what are you trying to offset there
ofcourse the parent isn't inside another stack panel so it works, only child that are in a stack panel doesn't move
The text itself, move it 2 pixels in each direction...
The text is in the very edge of the form and I don't like that
Would anyone be able to help me https://discord.com/channels/523663022053392405/1322017939892731955
try subtracting 2px to label_offset_panel on size
How about the 100%c remove the c or retain it?
retain else it will not work
It works in width but in height it doesn't
try adding instead of subtract
on height only
No ig
Is this hardcoded? If so, can I use scripts?
Your example is pretty broad, can you tell me what you want to do?
I added a new button next to the profile button in the main menu. For now, I want to click on it and open the settings menu. At least, this will give me an idea on the next thing I want to do.
Yeah you can do that if what you mean on "main menu" is the start screen, but i just want to tell you, you can't do things like start screen to create world screen, that's not possible.
Thanks, I needed that confirmation. What do you generally add in the code to do this? Is it bindings or something else?
You can use button mappings but to ease this out, we can use the already existing button templates:
"our_button@common_buttons.light_text_button": {
"size": [120, 30],
"$pressed_button_name": "button.menu_settings", // This is the mapping to go to settings
"$button_text": "Click to go to settings!"
}
This is very helpful. I saw it there like ten times but I somehow added a custom name that went to nowhere lol. Now, I know what it is for.
huh I thought flipping in json ui wasn't a thing good to know
Can you create a custom UI namespace and use a button from an existing UI namespace to go to that custom namespace?
I suppose, I probably can't. I'm gonna try to take advantage of visibility of panels by toggling them via button instead.
Ah, this is extremely cool!
yes you can.
Guys, can you lock a button? Like custom button
the button can't be clicked, hover or whatever it's just disabled but the button is still there.
Is this possible by adding custom json files in resource_pack/ui?
Or I need to use script API?
use "enabled": false
I want to make a button that shows and hides elements.
Btw, I tried this new tutorial just for that. But I can't see the toggle element and can't click on it. I only got the image.
https://wiki.bedrock.dev/json-ui/custom-buttons.html
Try using stacks and collection index or just collection index and offset
Thank you!
yes, using _ui_defs.json
Thanks. How do I call that UI when pressing a button? Can I use the same name as the defined name here? Then add it to $pressed_button_name?
"ui_defs": [ "ui/menu_custom.json" ]
"$pressed_button_name": "button.menu_custom"
Hello 👋 can anyone quickly help
Ok, even better question. Is there a way for a custom button to be forcefully clicked... Like I clicked button 0 it also clicked button 4
Something like that aht
use toggles?
That's the thing, if I use toggle when I click its sub button it disappears since the parent I defined is toggle 1 wait lemme send a video cause my message is confusing asf here..
Here.
can ui read properties of entities?
for example if we have ui of entity inventory, will it be able read entity properties?
Here @oak verge

make them into different groups?
i don't know what are you trying to do tbh
probably not
if the ui can't see it, you can't read it
so pass the value to the ui somehow
I kinda don't get what you mean by making it into a different group, like a different set of custom_toggle_panel?
as I said... There are three buttons, the button one or the toggle1 we can say have a sub button or another set of button to show when they are clicked.
You can imagine settings, every tab has its own button inside
you know how toggles work? how they are linked to each other and all that?
That's the neat part, I don't...
😭
Looks like it'll take me awhile to implement what I wanted
when making a toggle you can define
toggle_view_binding_name
using that you can include the toggle in a group
if any toggle in that group is clicked all the others in the same group turn off
so you can like define different
toggle_view_binding_name
for these to make them independet
Ohh kk getting there.
good
It sucks that there is no toggle element used in vanilla so I cannot learn it by myself without any examples.
It needs more though. The custom toggles tutorial didn't work for me. I can't see toggle element appear and I do not know how it looks like.
it did work fine for me
I got the image show up. Can I pin you for where I get the part wrong? I'll come back to it in a while.
sure
Unfortunately, I don't really know how to do it properly... I understand what to do, but doing it is impossible for me lmao
Can you give me a sample at least
maybe later
how can i remove a item from collection? like, i wanna to remove the index 0 from scoreboard_players
u cant remove them exactly but you can make them not visible
how?
"ignored": true?
but i need to ignore a specific item
Example:
Index 0 -> Hello => Hide
Index 1 -> World
but i have a factory with the items
add this to the child element:
{
"binding_type": "collection_details",
"binding_collection_name": "$your_collection"
},
{
"binding_name": "#collection_index",
"binding_type": "collection",
"binding_collection_name": "$your_collection"
},
{
"binding_type": "view",
"source_property_name": "(not (#collection_index = 0))",
"target_property_name": "#visible"
}
ok, thx
{
"custom_long_form_panel": {
"type": "stack_panel",
"size": ["100%", "100%"],
"offset": [0, 0],
"orientation": "horizontal",
"anchor_from": "top_left",
"anchor_to": "top_left",
"collection_name": "form_buttons",
"$top_half_variant": "crafting.survival_panel_top_half",
"controls": [
{
"toggles": {
"type": "stack_panel",
"size": ["20%", "100%"],
"orientation": "vertical",
"controls": [
{
"custom_toggle_panel@server_form.custom_toggle_panel": {
"$name": "toggle1",
"$text": "1",
"$index": 1,
"$padding": [52, 31]
}
},
{
"custom_toggle_panel@server_form.custom_toggle_panel": {
"$name": "toggle2",
"$text": "2",
"$index": 2,
"$padding": [52, 31]
}
},
{
"custom_toggle_panel@server_form.custom_toggle_panel": {
"$name": "toggle3",
"$text": "3",
"$index": 3,
"$padding": [52, 31]
}
},
{
"custom_toggle_panel@server_form.custom_toggle_panel": {
"$name": "toggle4",
"$text": "4",
"$index": 4,
"$padding": [52, 31],
"bindings": [
{
"binding_type": "view",
"source_control_name": "toggle1",
"source_property_name": "#toggle_state",
"target_property_name": "#visible"
}
]
}
}
]
}
}
]
},
"custom_toggle_panel": {
"type": "panel",
"$toggle_size|default": [52, 21],
"$padding|default": [52, 21],
"$index|default": 1,
"$name|default": "view_toggle",
"$text|default": "Toggle",
"size": "$padding",
"controls": [
{
"custom_toggle@common_toggles.light_text_toggle": {
"$toggle_name": "our_toggle",
"$button_text": "$text",
"size": "$toggle_size",
"$toggle_view_binding_name": "$name",
"$radio_toggle_group": true,
"$toggle_group_default_selected": 1,
"$toggle_group_forced_index": "$index",
"anchor_from": "center",
"anchor_to": "center"
}
}
]
}
}```
hi, can anyone tell how I separate the gourps of the buttons? I can't seem to figure it out even if Minato says what to do :(
so for the buttons toggle1 to toggle3 they're group 1 and the toggle4 is group 2 so that when I toggle the toggle4 the group 1 isn't affected.
Minato said I can separate them through toggle_view_binding_name
nope, seperate them by making the 4th toggle have a diff toggle_name
wow nice timing I just opened this channel
Tho another question lol
{
"first_page_content": {
"type": "stack_panel",
"size": [
"100%",
"100%c"
],
"anchor_from": "top_left",
"anchor_to": "top_left",
"controls": [{
"main_label": {
"type": "label",
"layer": 10,
"size": [
"100%",
"default"
],
"text_alignment":"left",
"text": "#text",
"bindings": [{
"binding_type": "global",
"binding_name": "#form_text"
},
{
"binding_type": "view",
"source_property_name": "('%.2000s' * #form_text) - ''",
"target_property_name": "#text"
}]
}
}],
"bindings": [{
"binding_type": "view",
"source_control_name": "toggle1",
"source_property_name": "#toggle_state",
"target_property_name": "#visible"
}]
}
},
{
"first_page_content1": {
"type": "stack_panel",
"size": [
"100%",
"100%c"
],
"anchor_from": "top_right",
"anchor_to": "top_right",
"controls": [{
"main_label": {
"type": "label",
"layer": 10,
"size": [
"100%",
"default"
],
"text_alignment":"right",
"text": "#text",
"bindings": [{
"binding_type": "global",
"binding_name": "#form_text"
},
{
"binding_type": "view",
"source_property_name": "('%.2000s' * #form_text) - ''",
"target_property_name": "#text"
}]
}
}],
"bindings": [{
"binding_type": "view",
"source_control_name": "toggle1",
"source_property_name": "#toggle_state",
"target_property_name": "#visible"
}]
}
}```
this is under the controls of the scrolling content... When they're two of this there's this space below, which I don't know the reason why, but when there's only one it disappears
You know any reasons?
if first_page_content and first_page_content1 is not on a stack panel, they will not have a space on them, and why not just merge them together? since first_page_content is a stack panel
i want that they're in the same line since I have different content for the first one and second one... If I combine them then they're not in the same height or line the other one will be at the bottom
hmm i see
but yeah the annoying problem is there's an extra whitespace below, this only happens when I add another content... Like bruh
Here.
Is it because of anchoring or something? I don't even freaking know 😭
uhh no. new files does not mean new screen. you have to add your custom menu into any existing vanilla screen
-# I fixed it, I think? I just made the first_page_content1 has height of -0%c
theres no such thing as -0
ask the game. I don't even believe since it doesn't make sense since it's still zero no matter what....
It literally fixed that shit for some reason
Got it, thanks.
u can check if it contains the so called string
This?
(not (#text - 'test') = #text))```
ye
there is also
('%.2s' * 'test') = 'te'
this crop first 2 char of 'test'
How do you combine properties of existing namespaces into one namespace?
Is there other documentation about this?
I'm curious if the selection_wheel works
I saw in documentation that it exist
it does
i made a custom selection wheel with 16 slices
can you send a screenshot of how it looks? I wanna try. The part how you set it up
I just don't know what to put inside the controls BLA BLA
alr, after i record somth
is it possible to make the buttons of the server form button look like a selection wheel?
-# I mean yeah, stupid question
also what I mean is how it looks as json... :) how do you use this is what I mean.
ohh i see
@mental crystal ive sent it on dms
What did I do wrong here?
{
"form_button@common_buttons.light_text_button": {
"$pressed_button_name": "button.form_button_click",
"anchor_from": "top_left",
"anchor_to": "top_left",
"size": [ "fill", 32 ],
"$button_text": "#form_button_text",
"$button_text_binding_type": "collection",
"$button_text_grid_collection_name": "form_buttons",
"$button_text_max_size": [ "100%", 20 ],
"$enabled|default": true,
"enabled": "$enabled",
"bindings": [
{
"binding_type": "collection_details",
"binding_collection_name": "form_buttons"
},
{
"binding_type": "view",
"source_property_name": "(not (#form_button_text - 'mobs') = #form_button_text)",
"target_property_name": "$enabled"
}
]
}
}```
Or this isn't a valid
but idk how, when the button has mob in its text, disable it.
#enabled
anyone know what happened to the json ui maker website
What is that
I think I need some tool like that to learn Json ui
it was a website where u could make json ui
Can U give me
Is this what you mean?
Bro pls give me it
@mental crystal pls give me it
yes
You guys are out of luck... The website doesn't exist anymore
i downloaded it 💀
Ohh, I get lmfao
Not my problem anymore... I just enjoy this json ui
Bro no way
change of heart
lol
i can't share it, sense it is not mine and the owner said so
what was the website link again? wondering why it got taken down
ah mcuimaker
www.mcuimaker.org
the owner toke it down for upgrading to a newer version of the editor
huh
weird to take it down
I'd just leave it until the new version came out 🤷♂️
whoever it is might want to disable the domain then, cause they have a pterodactyl panel login on it rn
i mean, it dose cost hem
they're still hosting it, even if there's no one using it, still costs a bit
plus I doubt many people were using it anyway to have a large impact on costs
it's a niche thing
yeah
i would have gone with a github page
but i guess he want to keep it close source
that's a bit silly
his choice, but personally I'd open source something like that. It's a tough thing to make and any community support would be great for it
unless he wants to charge for it later on, having it closed source is pointless
yeah, i told hem to make a repo for it so we can contribute
but he chose not to. i can understand that...but yeah
But I need it:(
might be time for me to start a new coding project then
:)
lol
yeah
🤷♂️
No mean no, don't force it 🤷
Nah... I will enjoy it but that doesn't mean I don't despise it anymore ...
How do you make a toggle group from these properties? How to create two toggles that affect each other's states?
"$use_grouped_toggle|default": false,
"$toggle_group_index|default": 0,
"radio_toggle_group": "$use_grouped_toggle",
"toggle_group_forced_index": "$toggle_group_index",
"toggle@common_toggles.light_text_toggle": {
"$toggle_name": "my_toggle",
"$button_text": "First Tab Toggle",
"size": [10, 10],
"$toggle_view_binding_name": "first_tab_view",
"$radio_toggle_group": true, // if checked then any other toggles with this will act as tab togglers
"$toggle_group_default_selected": 1, // whhat is the default in the group
"$toggle_group_forced_index": 1 // index of this toggle
}
"toggle2@common_toggles.light_text_toggle": {
"$toggle_name": "my_toggle",
"$button_text": "Second Tab Toggle",
"size": [10, 10],
"$toggle_view_binding_name": "second_tab_view",
"$radio_toggle_group": true, // if checked then any other toggles with this will act as tab togglers
"$toggle_group_default_selected": 1, // whhat is the default toggle selected in the group
"$toggle_group_forced_index": 2 // index of this toggle
}
Now you can bind the $toggle_view_binding_name to your panels/tabs to make them visible/invsible.
hello, is there a way to detect in a chest ui if an item is at a certain slot ? to hide a button
Thank you, you're a legend!
uh feedback the maigician aint magicy shes holding a bow
can smone tell me how to add a tooltip to server form buttons which is based on the button text
cuz i manage to make the tool tip to apear but it kinda makes the button disapear and its always showing not when hovered
set this to only show when hovered
What you do here is to make a button with default, hover and pressed controls andadd your tootip in hover control
modifications work with any element?
yes
i tried with hover text and bindings but no results as you can see..
tu veux le nom de l'objet apparaisse dans il est dans un certain slot ?
enfaite je veux cacher le petit icône blanc quand il y a un item au slot 11
j'ai farfouillé dans les fichiers vanilla mais j'ai rien trouvé d'intéressant
