#JSON-UI General
1 messages · Page 32 of 1
j'ai l'idée mais je sais pas comment m'y prendre
att je te send le code
Use hover binding on the image panel and check if hover_text = '', if not, hide it
"bindings": [
{
"binding_name": "#hover_text",
"binding_type": "collection",
"binding_collection_name": "$item_collection_name"
},
{
"binding_type": "view",
"source_property_name": "(#hover_text = '')",
"target_property_name": "#visible"
}
]```
But you need to add your image inside of the container
it works, thank you for your help !
I'm looking at having a custom form with one half scrollable and the other half a set of buttons!! do i need to have i have a main stack_panel with 2 controls, one for the scroll panel and one for the button panel??
yes
living up to that name of yours!! thanx 
yall gave me no brainer awnsers like show me an example
When referencing an existing namespace, can you change its pre-existing values within a new namespace it is referenced in?
For example, I want to change the button textures without changing the original button template. I want to use a new namespace that takes all properties of that template and update only the texture properties. Is it possible?
yeah
in your template do
"$var_name|default":"texture/..."
"texture":"$var_name"
and when you call that panel pass a different value if needed using
"$var_name":"texture/..."
Thanks, I'll check it out.
If I want to create a background like this, where do I start?
I couldn't get it work. Using "texture" throws an error:
"$toggle_view_binding_name": "custom_button_toggle",
"$glyph_texture": "textures/ui/custom_icon",
"$glyph_color_texture": "textures/ui/custom_icon",
"$glyph_size": [ 17, 17 ],
"$button_text": "Custom Text Button",
"$toggle_property_bag": {
"#panel_title": "Custom Text Panel"
},
"$default_texture|default":"textures/ui/button_purple",
"texture":"$default_texture"
},```
I'm trying to change the textures from "[email protected]" btw.
what error
Unknown properties found in def[custom_button] from namespace[general_section]
- Unknown property [texture]
----------------------------------------------------```
you want to change the toggle texture right?
list of the vanilla vars you can change```json
"$unchecked_control|default": "common_toggles.toggle_unchecked",
"$checked_control|default": "common_toggles.toggle_checked",
"$unchecked_hover_control|default": "common_toggles.toggle_unchecked_hover",
"$checked_hover_control|default": "common_toggles.toggle_checked_hover",
"$unchecked_locked_control|default": "common_toggles.toggle_locked",
"$unchecked_locked_hover_control|default": "common_toggles.toggle_locked",
"$checked_locked_control|default": "common_toggles.toggle_locked",
"$checked_locked_hover_control|default": "common_toggles.toggle_locked",
"$default_texture|default": "textures/ui/button_borderless_light",
"$hover_texture|default": "textures/ui/button_borderless_lightpressednohover",
"$pressed_texture|default": "textures/ui/button_borderless_lighthover",
"$pressed_no_hover_texture|default": "textures/ui/button_borderless_lightpressed",
"$locked_texture|default": "textures/ui/disabledButtonNoBorder",
Yeah. I tried to do it like this but it didn't do anything either. Am I missing something?
"$toggle_view_binding_name": "custom_button_toggle",
"$glyph_texture": "textures/ui/custom_icon",
"$glyph_color_texture": "textures/ui/custom_icon",
"$glyph_size": [ 17, 17 ],
"$button_text": "Custom Button Text",
"$toggle_property_bag": {
"#panel_title": "Custom Panel Text"
},
"controls": [
{
"custom_button_ref@settings_common.section_toggle_base": {
"anchor_from": "top_left",
"anchor_to": "top_left",
"size": [ "100%", "30px" ],
"$button_size_override": [ "100%", "100% + 1px" ],
"$button_type_panel": "settings_common.toggle_button_control",
"$radio_toggle_group": true,
"$toggle_name": "navigation_tab",
"$toggle_group_default_selected": "$default_selector_toggle_index",
"$toggle_tab_focus_binding_type": "global",
"$toggle_tab_focus_binding_name": "#navigation_tab_focus_precedence",
"$toggle_on_hover_binding_type": "global",
"$toggle_on_hover_binding_name": "#toggle_on_hover",
"$toggle_tts_toggle_on_text": "accessibility.state.selected",
"$toggle_tts_toggle_off_text": "accessibility.state.unselected",
"$toggle_tts_name": "accessibility.tab.tts.title",
"$default_texture|default": "textures/ui/button_purple",
"$hover_texture|default": "textures/ui/button_purple",
"$pressed_texture|default": "textures/ui/button_purple",
"$pressed_no_hover_texture|default": "textures/ui/button_purple",
"$locked_texture|default": "textures/ui/button_purple"
}
}
]
}```
remove |default when changing a variable
It works, thank you.
np
i couldnt find magical item 😦
is the minecraft bedrock creator thing ui all json?
?
this
ore ui
what is that
a new ui system
Can someone help me? I created a file called "pod" and pasted the default minecraft long_form into it. However, when I create a ui with text_field or anything other than just .body and .button, the menu becomes invisible.
},
{"pod@long_form": {
"bindings": [
{
"binding_name": "#title_text",
"binding_type": "global"
},
{
"binding_type": "view",
"source_property_name": "(not (#title_text = '§l§fSTATUS'))",
"target_property_name": "#visible"
}
]
}},```
Long Form is ActionFormData
The one with toggles is 'custom_form'
I understand, I didn't know there was a difference between the two. Thank you very much
Pressing the Play button may redirect you to a specific server.
Is there any way to make a button in UI because I'm making that if you click it it summon TNT for now if it possible
is it possible to split string in json ui?
like
'You:Know'
split ":"
into 'You'
and 'Know'
and make it to be variable?
$1 = 'You'
$2 = 'Know'
number is possible but not string
@oak verge can U give me JsonUI maker owner discord
I'm gonna request him to get it bc I really need that tool
Does website in it?
no
..
Wait, will it come back with the 2.0 version?
no idea
welp
he said he is going to release it more then month ago
and he didn't, so i can't say for sure
Ngl, I tried that website it's kinda good... I just don't like the UI they used (white) and functionality wise it's nice
However,I just need that ,no matter how long it taken
I just saw every pic in that group then I felt it best alr
why this doesn't work pls ?? json "bindings": [ { "binding_name": "#title_text" }, { "binding_type": "view", "source_property_name": "((#title_text - 'Phone') = #title_text) or ((#title_text - 'Banque') = #title_text)", "target_property_name": "#visible" } ]
Just do
((#title_text - 'Phone' - 'Banque') = #tilte_text)
Anyone know how to make ui’s
hmmmmmhmh
Like Vex essentials type ui
ahhhhh
Anyone?
What are the Vex essentials UI like?
ask in #1067535382285135923 and this look like something like this in your script:
import { ActionFormData } from '@minecraft/server-ui';
const form = new ActionFormData()
.title("Form title")
.body("Form body")
.button('button 1')
.button('button 3')
.button('button 2');
form.show(source).then((response) => {
if (response.selection === 0) {}
else if (response.selection === 1) {}
else if (response.selection === 2) {}
}); break;
Vex Essentials is an addon for make forms without scripting
Forms without script? Impossible
in game*
User friendly
yep :')
how can i set a image based on a form_button_text? Example:
"image": {
"type": "image",
"texture": "#form_button_text",
"size": ["50%", "50%"],
"bindings": [
{
"binding_name": "#form_button_text",
// Bindings collection
}
]
}
something like this
"image": {
"type": "image",
"texture": "#texture",
"size": ["50%", "50%"],
"bindings": [
{
"binding_name": "#form_button_text"
},
{
"binding_type": "view",
"source_property_name": "#form_button_text",
"target_property_name": "#texture"
}
]
}
Maybe like this? I'm not kinda sure... Try putting the path of the textures in the button name you want to see.
bindings is my json ui weakness
good for you it's bindings only, mine is all of them.
nah, you seem to be doing fine
can smone show me an example on how to add a tooltip to a long form button instead of telling me to put it in hover control .
check herobrine chest form
where can i get that?
how?
Ty think i got it thanks
How does JSON-UI works?
{
"namespace": "server_form",
"long_form": {
"type": "panel",
"size": [
"100%",
"100%"
],
"controls": [
{
"long_form@common_dialogs.main_panel_no_buttons": {
"$title_panel": "common_dialogs.standard_title_label",
"$title_size": [
"100% - 14px",
10
],
"size": [
400,
200
],
"$text_name": "#title_text",
"$title_text_binding_type": "none",
"$child_control": "server_form.long_form_panel",
"layer": 2,
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "(#title_text = 'JsonUI')",
"target_property_name": "#visible"
}
]
}
}
]
}
}
Guys how I give it a custom title
For the exp source name is JsonUI I hope it displays custom text
Happy new year
hi there, happy new year 🙂
do someone know if it is possible to save the output of a binding into a variable? like so? json "city@profile_sheet.line_label_value": { "$label_text": "#label_text", "$value_text": "#value_text", "bindings": [ { "binding_type": "view", "source_property_name": "(('%.26s' * #title_text) - ('%.10s' * #title_text))", "target_property_name": "#label_text" }, { "binding_type": "view", "source_property_name": "(('%.657s' * #title_text) - ('%.638s' * #title_text))", "target_property_name": "#value_text" } ] }
oh yeah, thanks for hardcored index 👍
I think scanning bedrock samples for Json-UI info is fun
@oak verge hi bro i saw u in a post using 3d structure renderer how to use the 3d structure as a map?
you just said it's bad in some moments too then
yes
Everything has its pros and cons
if they could do this without prejudice to the gameplay of the game, then on the contrary it is very good for the dev community.
im scared like now there like mouse(and snake i think) sound on my rooftop
normal day in jungle country
no idea
can't think of how to dynamically change the position
Yep, this is real.
https://x.com/xKingDarkYT/status/1873038637899890855
Merch: https://phoenixsc.store/
Cape: https://store.badlion.net/shop/PhoenixSC
This channel is powered by Shockbyte server hosting --
Receive a 25% discount on your first month on a server with code "PHO...
@rocky quail no more hacky stuff on inventories
they need to optimize Ore-UI because current version is lag more than Json-UI.
I have good enough pc to play with RTX without lags, but not good for using new Ore-UI screens.
I have an old laptop and it takes 1-2 minutes just to load the world creation screen
thank fk im leaving json ui lmao
Does anyone know what's up? Even when the variable $text is king:test, $achievement_text does not get updated, it still says Unknown.
{
"achievement_stacked": {
"layer": 1,
"type": "image",
"texture": "textures/ui/achievement",
"anims": [ "@hud.achievement_animation_in" ],
"$achievement_text|default": "Unknown",
"clips_children": true,
"anchor_from": "bottom_right",
"anchor_to": "bottom_right",
"offset": [ 0, -16 ],
"size": [ 163, 32 ],
"uv_size": [ 163, 32 ],
"$uv|default": [ 0, 32 ],
"uv": "$uv|default",
"$text|default": "#text",
"variables": [
{ "requires": "($text = 'king:test')", "$achievement_text": "Meow" }
],
"controls": [
{
"achievement_content": {
"type": "label",
"shadow": true,
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"color": "$main_header_text_color",
"text": "$achievement_text",
"layer": 2,
"offset": [ "18%", 5 ]
}
}
],
"bindings": [
{
"binding_name": "#chat_text",
"binding_name_override": "#text",
"binding_type": "collection",
"binding_collection_name": "chat_text_grid",
"binding_condition": "once"
},
{
"binding_type": "view",
"source_property_name": "(('%.5s' * #text) = 'king:')",
"target_property_name": "#visible"
}
]
}
}
How do people make variations of server forms?
Do they just like, copy and rename the source code
use StarLibV2 🙂
Without external software i meant
this is thing that you just adding in your addon code.
Or:
Create form template (to optimize your code because some form element can be the same)
Create 2 or more form elements
Create one main element where you will switch your forms controls by bindings
I acknowledge this is something that is more appropriate to probably ask in #1067535382285135923, but how would i, for example, create this server form in a script
Due to the fact that it's not a vanilla form, and yet i see ppl can achieve it
is this in a factory?
Yeah!
I tried debugging it by setting "text" to the $text variable and it does indeed output king:test
You really can't put bindings in a variables array, i think theres a better way to do this wait
Here, it works by converting boolean to a number then putting that on the string that gets a binding from property_bag. It's really hacky but it should probably work.
"achievement_stacked": {
"layer": 1,
"type": "image",
"texture": "textures/ui/achievement",
"anims": [
"@hud.achievement_animation_in"
],
"clips_children": true,
"anchor_from": "bottom_right",
"anchor_to": "bottom_right",
"offset": [
0,
-16
],
"size": [
163,
32
],
"uv_size": [
163,
32
],
"$uv|default": [
0,
32
],
"uv": "$uv",
"controls": [
{
"achievement_content": {
"type": "label",
"shadow": true,
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"color": "$main_header_text_color",
"text": "#chat_labell",
"layer": 2,
"offset": [
"18%",
5
],
"property_bag": {
"#text_0": "Unknown",
"#text_1": "Meow"
},
"bindings": [
{
"binding_type": "view",
"source_property_name": "#text",
"target_property_name": "#chat_textt"
},
{
"binding_type": "view",
"source_property_name": "((#chat_textt = 'king:test') * 1)",
"target_property_name": "#condition"
},
{
"binding_type": "view",
"source_property_name": "('#text_' + #condition)",
"target_property_name": "#chat_labell"
}
]
}
}
],
"bindings": [
{
"binding_name": "#chat_text",
"binding_name_override": "#text",
"binding_type": "collection",
"binding_collection_name": "chat_text_grid",
"binding_condition": "once"
},
{
"binding_type": "view",
"source_property_name": "(('%.5s' * #text) = 'king:')",
"target_property_name": "#visible"
}
]
}
oh interesting! Thank you! I’ll give that a shot
The fact that json ui has no official documentation makes it so confusing 😵💫
Tbf JSON-UI was never supposed to be accessible by the creator community. It was also kinda deprecated because of us.
Mojang doesn’t like it anymore and are no longer updating it
They’re moving over to OreUI
Sad😔
JSON-UI was basically deprecated very early
Will that be accessible to us or...
Is it a bit ambiguous
By the looks of things, Mojang doesn’t want us to modify OreUI but build upon it instead
I don't think it's hard to learn considering it's written in the simplest way possible(JSON) i just think people don't have enough time to learn it since it can take too long and also it's getting deprecated.
As in, no forking the main UI but being able to make user-defined UI?
wrong reply sorry
i was replying to fern
Pfft it’s alright
Yes I don't think it's difficult it's just that some sections are a bit ambiguous and undocumented
Or under-documented, if that's a word
You can say so
@SnifferWasHere There are new tools, APIs, or capabilities for creators every year, so there is always something to learn.
{
"namespace": "server_form",
"long_form": {
"type": "panel",
"size": [
"100%",
"100%"
],
"controls": [
{
"long_form@common_dialogs.main_panel_no_buttons": {
"$title_panel": "common_dialogs.standard_title_label",
"$title_size": [
"100% - 14px",
10
],
"size": [
400,
200
],
"$text_name": "#title_text",
"$title_text_binding_type": "none",
"$child_control": "server_form.long_form_panel",
"layer": 2,
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "(#title_text = 'JsonUI')",
"target_property_name": "#visible"
}
]
}
}
]
}
}
Who can help me
I want it to apply on server form called JsonUI but I wanna to let it display to another custom word
Why anchor_from and anchor_to doesn't work at stack_panel?
because stack_panel is the one controlling the child position
anchors have no effect
no
what are the other ways?
panel
but i need the stack panel
you can only change child elements alignment with "use_child_anchors"
does anyone know how to make a certain ui only appear when you look at a certain block
yes with BP and RP
okk, thx bro
I know but is it with what specifically, is it script API or what?
I couldn't find a module for it
You should use JSON-UI to conditionally render the ui, if there's some specific text in actionbar or title
That's the only way, if i understood what you want correctly
And you use Script API to set the text to actionbar
I want this ui to show only if I look at wood
script API + any hud factory (actionbar, title etc...)
i want to learn json ui, how should i start
May i ask, in what way is a hud factory different from regular ui?
Since that's not documented
Is there any point in getting into JSON ui now? I've wanted to add an extra xp-like bar to the game, but I heard about json ui getting deprecated soon?
soon... soon.. they be saying from 2020
Soon like 50 years from now?
We'll probably get Minecraft 2 before the ui is deprecated
Wait shit i just noticed it was explained in the message
Hello guys, i was trying to change the villager hero texture animation that appears when you receve the effect in your screen. There is one issue, that animation in the center that should appear does not, i just get the effect and thats it. Anyone know how to fix this issue asap
Can anyone look over some some simple code and just explain some of the numbers, to do with sizing, anchoring and offsets etc. I got some stuff working but it's a bit janky and I just want to clean it up a bit.
If you can help send a DM :)
yes
how can i change color from image?
"type":"image",
"texture":"textures/ui/White",
"color":[1,0,0]
like this or what?
use gradient render
how?
"background_gradient": {
"type": "custom",
"renderer": "gradient_renderer",
"color1": [1,0,0],
"color2": [1,0,0]
},
How to use textbox in chat_screen.json as a binding listener 🤔
previously, I have 2 textbox. One is for chat, and the other is for find the chat
It would be simple if I combined it and have a toggle to switch between chat and search
is it possible to convert a normal text to vector?
"[1.3,1,0]"->[1.3,1,0]
using split ?
in json ui?
yeah
it should right?
how about not using bracket at all
still work
as far as i know variables don't work in arrays
so that won't work for your case
i been told dynamic arrays are not possible
noo 
vector is array
no wonder it's using brackets
So it's hard to change the color of the form button
awog
yes, ik
color for form button 🤔
ill write hex color to color code real quick(using AI ofc)
bruv
I think you can use global variables instead
@tropic badger can you confirm this?
I can confirm that
"$x": 360,
"size": ["$x", 210],
i meant "i been told dynamic arrays are not possible" part
yes it will not work
how did you do it in the 3d map thing? position is an array
Hello
I need a json ui generator

and it's not work
idk whyyyyy
function colorToMinecraftCode(color) {
const { red, green, blue, alpha = 1 } = color;
if(alpha == 0){
const r = Math.round(red * 2550);
const g = Math.round(green * 2550);
const b = Math.round(blue * 2550);
}
const r = Math.round(red * 255);
const g = Math.round(green * 255);
const b = Math.round(blue * 255);
// Convert to hex format
const hexColor = ('#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1).toUpperCase() + Math.round(alpha * 255).toString(16).padStart(2, '0').toUpperCase());
// Minecraft: Bedrock Edition color codes
const bedrockColors = {
"§0": "#000000",
"§1": "#0000AA",
"§2": "#00AA00",
"§3": "#00AAAA",
"§4": "#AA0000",
"§5": "#AA00AA",
"§6": "#FFAA00",
"§7": "#AAAAAA",
"§8": "#555555",
"§9": "#5555FF",
"§a": "#55FF55",
"§b": "#55FFFF",
"§c": "#FF5555",
"§d": "#FF55FF",
"§e": "#FFFF55",
"§f": "#FFFFFF",
};
// Find the closest Bedrock color
let closestColor = "§f"; // Default to white
let minDistance = Infinity;
// Convert each Minecraft color's hex code to RGB and find the closest match
for (const code in bedrockColors) {
const bedrockColor = bedrockColors[code];
const bedrockR = parseInt(bedrockColor.substr(1, 2), 16);
const bedrockG = parseInt(bedrockColor.substr(3, 2), 16);
const bedrockB = parseInt(bedrockColor.substr(5, 2), 16);
// Calculate the distance between the input color and the Bedrock color
const rDiff = Math.abs(bedrockR - r);
const gDiff = Math.abs(bedrockG - g);
const bDiff = Math.abs(bedrockB - b);
const distance = rDiff + gDiff + bDiff; // Use sum of differences for simplicity
// If the distance is smaller, update the closest color
if (distance < minDistance) {
minDistance = distance;
closestColor = code;
}
}
return closestColor;
}
sorry oot
Just out of curiosity
Are you attaching this function to ui?
What's the purpose of this?
colorToMinecraftCode 🗿
imo this is unnecessary as hell 😭
Instead of asking for a json ui generator, learn how to make it first, cause once you have a generator (soon) you don't even understand a single shit in it.
yep
AI function name go brrr
it actually work for some block with colorMap that have the alpha value 1
it was
until i broke it
i was answering coddy
yeah
message length
yep message length not long
May i ask, how did you do that since i heard ui cannot be integrated into JavaScript
i have it hardcoded
so if it detects coordinates that is beyond what the renderer displays, itll show another renderer
alr
thanks for the reply
Hello guys, i was trying to change the villager hero texture animation that appears when you receve the effect in your screen. There is one issue, that animation in the center that should appear does not, i just get the effect and thats it. Anyone know how to fix this issue asap
hi guys so when i typed to much line on a button it will cut the text how to fix it?
iam trying to learn json ui basic and iam trying to display a photo on the middle of the screen anyone know why it's not working?
theres nothing in the image in "photo_with_buttons"
its just a blank image
also
your format is all wrong
{
"namespace": "test",
"elements": {}
}
is it possible to put on a screen a mp4 file running?
MP4? No probably, but you can make it as a flipbook or animated texture.
very helpful information 🙂
really sucks
i wanted to create "Brainrot PVP"
a box pvp with 3 running 24/7 Simpson Big mouth and Family guy clips
and brainrot sounds
like "sigma"
Ehh... Just convert video into animated texture and timing that sound match the animated texture 🤷
You can't even play mp4 in Minecraft in the first place iirc
thx i managed to fix it. What i did is add texture to image1 that is in the control section. Why it's only possible to put texture under the image1 that is in the control section rather than the image 1 element below?
No problem
Wait did i ping
Idk if i disabled it
Meh, you didn't... I don't give fuck if you pinged me or not.
`{
"toggle_template": {
"type": "toggle",
"$toggle_name|default": "Tutorial",
"$toggle_default_state|default": false,
"toggle_name": "$toggle_name",
"toggle_default_state": "$toggle_default_state"
"sound_name": "random.click",
"sound_volume": 1.0 // Sound volume
"sound_pitch": 1.0 // Sound pitch
"checked_control": "@namespace.img_element", // When toggle is checked
"unchecked_control": "@namespace.img_element", // When toggle is unchecked
"checked_hover_control": "@namespace.img_element", // When toggle is checked and hovered
"unchecked_hover_control": "@namespace.img_element", // When toggle is unchecked and hovered
"checked_locked_control": "@namespace.img_element", // When toggle is checked and locked
"unchecked_locked_control": "@namespace.img_element", // When toggle is unchecked and locked
"checked_locked_hover_control": "@namespace.img_element", // When a locked and checked toggle is hovered
"unchecked_locked_hover_control": "@namespace.img_element", // When a locked and unchecked is hovered
"$use_grouped_toggle|default": false,
"$toggle_group_index|default": 0,
"radio_toggle_group": "$use_grouped_toggle" // Is boolean, when used will allow grouped toggles on which case only one toggle can be toggled
"toggle_group_forced_index": "$toggle_group_index" // It's indices of each toggle that differentiates one to the other
// Button mapping to do something when the toggle is clicked
// It can also be used for keybinding
"button_mappings": [
{
"from_button_id": "button.menu_select",
"to_button_id": "button.menu_select",
"mapping_type": "pressed"
},
{
"from_button_id": "button.menu_ok",
"to_button_id": "button.menu_ok",
"mapping_type": "focused"
}
]
}
}`
i found this in the wiki. what does this line do
"$toggle_name|default": "Tutorial",
and what does the | symbol do in general?
well i dont know for sure
but i know it is used for the "default" defining
and is necessary to use it for the default
unless you will change the value in controls you dont need to use "|default"
toggle_name is sometimes use for hardcoded toggles but generally it has no use, but it is required
if you are using the toggle group
Is it possible to add images or videos in the subtitles?
In actionbar and title it can be done but it will be possible in subtitles
images yes videos no
if you mean animations then yes
I mean something like that
In the video I sent, titles are being used, but my question is if they can be played using subtitles.
technically yes
everything that is possible through title is aswell possible through subtitles
you can use subtitles, but subtitles only update when you update the title first
Can hud such as titles and subtitles show special style based on specific IDs? For example, if the title does not have a certain ID, the special style will not be shown.
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
it is something like this:
"animation": {
"anim_type": "flip_book",
"initial_uv": [ 0, 0 ], // starting point
"frame_count": 0, // total number of frames according to your spritesheet
"frame_step": 0, // steps in pixels to the next frame
"fps": 30,
"reversible": true,
"easing": "linear"
},
"image": {
"type": "image",
"texture": "textures/ui/image",
"size": 0, // size of the image you want
"uv_size": 0, // size of one frame according to your spritesheet
"uv": "@animation" // add your animation here in uv
}
One message removed from a suspended account.
One message removed from a suspended account.
are you using flip book or aseprite?
One message removed from a suspended account.
then you just have to change the size property of your image i think
make sure you dont change uv size
One message removed from a suspended account.
hmm I never used flip_book ngl.
try to keep the size of uv size and size same. upscale your whole frame then..
One message removed from a suspended account.
yeah you can use aseprite animation. just make your frames separate images
then using aseprite you can make sprite sheet
there are other things so should read this: https://wiki.bedrock.dev/json-ui/aseprite-animations.html
One message removed from a suspended account.
One message removed from a suspended account.
idk why it crashes, if i was on my laptop i would've tested
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
okay (💀)
can someone tell me whats wrong with the title? I want it if the message starts with §r§c it will show above the hotbar but it didn't work
"hud_title_text": {
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"type": "image",
"offset": [
0,
-40
],
"size": [
"100%c + 22px",
"100%c + 10px"
],
"texture": "textures/ui/hud_title.png",
"keep_ratio": false,
"uv_size": [
128,
16
],
"alpha": 1,
"controls": [
{
"title_message": {
"type": "label",
"anchor_from": "center",
"anchor_to": "center",
"color": "$tool_tip_text",
"layer": 31,
"text": "$title_text",
"localize": false,
"alpha": "@hud.anim_title_text_alpha_out"
}
}
],
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "(not ((#title_text - '§r§c') = #title_text))",
"target_property_name": "#visible"
}
]
}
how big is the texture?
if its bigger than 32767 x or y it will crash
One message removed from a suspended account.
Hey, somone can help me?, idk how to make the animation duration longer without affecting the image
"loading_spin_animation": { "anim_type": "flip_book", "initial_uv": [ 0, 0 ], "frame_count": 61, "frame_step": 1, "looping": false, "reversible": false, "easing": "linear" }, "loading_spin": { "type": "image", "layer": 31, "texture": "textures/ui/counter2", "anchor_from": "right_middle", "anchor_to": "right_middle", "offset": [ 0, 0 ], "size": [ 54, 15 ], "uv_size": [ 174, 60 ], "uv": "@loading_spin_animation" },
i did find this in some json ui files what is it
| default
for example this
"$focus_id|default": "",
its like variables
like
javascript
basically variables with |default are changabale
like a let variable in javascript
ones without are const
can you give an example in how they are changable
like if you call that element you can do "$var": "ahaha" and change the variable
thx
Actually searching JSON-UI dev ->
- Changing server_form -> custom_form completly
Message me please
Does anybody knows how to add default text input? Not placeholder one... But the default text... I've been looking for it but couldn't find any (or i miss something?)
"$text_alignment": "center",
"text": "text 1",
"default": "text 2",
"$text_edit_text_control" : "texthahdhe"```
No output 😔
Can someone show some animation examples with json ui? The wiki is very incomplete :((
ui_common/text_edit_box_label Here you can try edit to bindings or property bag
Thanks, i've been staring that section for an hour.. still trying to understand, yet i don't understand ;)))
try to edit property bag first
GODD.. i finally find my problem.. my fault was i'm using text box template from common ui, what a waste of time 😹 i have to go through controls... Thankyou anyway
i know
create a panel with size
and in this panel your aseprite animation image
you can change the panel size
instead the image size
you can look into my super advanced texture pack with flip book anims
#1325257811654869092
How to make a buttun that ehen pressed it make an element invisible and when pressed again it make it visible i
toggle
Does "/hud" affect vanilla hud elements or all
what the main difference between a button and a toggle?
Everything in root panel
Button is to go to other screen.
Toggle is to on/off settings or make element visible/invisible
thx
Button can also play animations
So if i make an element in hud_screen.json, can i toggle it with "/hud"?
Or did i misunderstand
Yeah if it's in root_panel
Ok thank you
Is there a list of available variables that i can use in my ui, such as player health, etc
Cuz ik they exist, i just don't know where to find them
I asume with variables you mean bindings. Well not every binding is always available in the given screen. But to answer your question, just apply a json ui schema and see the available autocompletions for bindings.
Best way is still to look how vanilla used them
Can there be different bindings that are determined by, e.g. user tags
Like, conditions in a sense
The only way to pass data from behaviour to json ui is with either title, actionbar or even chat
Scoreboards aren't accessible?
how are common files used when making a ui? it it like presets that are used by the vanilla ui? and are they necessary for us to use in creating thing or they just make it easier to do thing for custom ui
Can someone help me with json ui
bruh i got ignored
accessible, but they need to be updated, so with vanilla API's is not the best choice. you can use range selection bindings to make unlimited panels with only one title.
How do i select a specific score to bind to?
Since there doesn't seem to be an option
view score bindings in samples
how to do json UI 2025
making a ui just for that screen to be replaced with ore ui next update 
this is how it feel to code a chest ui container now
I wouldn't hold my breath on that one, it's got a long road to go to.
yeah, it just feel weird working on something that will eventually get deprecated
In which perspective? I mean i don't have any reason to edit container UI's but i've got no problem implementing them since they don't take very much time.
if you already worked with them before, yeah
but is it worth it to go through learning json ui at this point
for the record i did work with containers before and i don't find it that hard.
we coding something, most of the time we code it to last
it feel like working with experimental stuff knowing they can get deprecated anytime
tbh I do not think the ui is gonna get replaced that soon
The leaks might be for an event or something
HCF never stopped people 👀
I did, it simply uses #player_score but does not specify which score
Cuz i could have many scores
what do you mean by "updated"?
personal floating text like "Your key amount: 1" is possible?
update information for scoreboards. or you can use presets with count
Unless of course, only one score is possible
Wait
Is subtitle accessible?
Since technically it doesn't show so it wouldn't be inconvenient for the player
any idea?
#hud_title_text_string
thank you, but why does the default one not show up only when I use the prefix (§r§c)
yeah it is
Oh damn, might use that to discretely pass data
i may be wrong but it only updates if title text exist
can anyone here help me with my ui ive got it set where finally theres an image as the background now i just need my buttons from the server fourm in specific places on the image
How can i modify the position of a popup
Can someone help me fix this the problem is the text changing I want only change if it it has same or have text '§€§¥§™§®§✓§L§•§l'
{
"namespace": "hud",
"black_conditional_image": {
"type": "label",
"text": "#text",
"bindings": [
{
"binding_name": "#hud_title_text_string",
"binding_type": "global"
},
{
"binding_type": "view",
"source_property_name": "('%.34s' * #hud_title_text_string)",
"target_property_name": "#text"
},
{
"binding_type": "view",
"source_property_name": "(('§€§¥§™§®§✓§L§•§l') = #text)"
},
{
"binding_type": "view",
"source_property_name": "(#hud_title_text_string - ('%.34s' * #hud_title_text_string))",
"binding_name_override": "#text"
}
]
},
"black_conditional_image_factory": {
"type": "panel",
"factory": {
"name": "hud_title_text_factory",
"control_ids": {
"hud_title_text": "[email protected]_conditional_image"
}
}
},
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": {
"[email protected]_conditional_image": {}
}
}
]
}
}
I use the command /title @s title
And the text
So if the title has the /title @s title §€§¥§™§®§✓§L§•§lHiii the text gonna change but it just like this /title @s title hii is not gonna change
Sorry for my grammar
what
😂
guys what are property bag and collection
- Property Bag: A list of hardcoded values such as
#player_score - Collection: A list of items
"visible": false?
{
"chat_grid_item/chat_background": {
"size": [ "100%", "100%cm" ],
"alpha": 0.0,
"anims": [],
"controls": [
{
"chat_background_controlled": {
"type": "image",
"texture": "textures/ui/Black",
"alpha": 0.7,
"size": [ "100%", "100%c" ],
"anims": [ "@hud.anim_chat_bg_wait" ],
"controls": [
{
"chat_text@chat_label": {
"anchor_from": "top_left",
"anchor_to": "top_left",
"offset": [ 2, 0 ]
}
}
]
}
}
],
"bindings": [
{
"binding_type": "collection",
"binding_name": "#chat_text",
"binding_name_override": "#text",
"binding_collection_name": "chat_text_grid"
},
{
"binding_type": "view",
"source_property_name": "(not (#text = '_coddy:'))",
"target_property_name": "#visible"
}
]
}
}```
I did this instead
-# mybad for tag
okay try it?
It works but I'm not sure if it also affects when I try to display an image
it doesn't right?
im not sure what you are doing
Can anyone help please?
https://discord.com/channels/523663022053392405/1326269803337351170
Ah, i figured it out
I can use source_property_name
Though, I'm actually not sure
I mean would this work
"source_control_name": "[email protected]_score",
"source_property_name": "#text",
"target_property_name": "$scoreText"
?
This is not directly to you btw....
Ight
I tried it, no result

Ye idfk, i used title preserve and shit
Hey does anyone know how to remove the animation of the item in the hotbar like the animation when pickedUp like it stretched the item icon.
its hardcoded
How tf do collections work
Do you like
Hardcode a list of items
Or use a container as a reference
Or neither
yes
Well damn
Alright. I am trying to learn JSONUI so I can make a new mana meter that can be controlled using a scoreboard. I am finding the documentation rather unhelpful, so if someone could point me in the right direction to get started I would appreciate it.
i wouldnt use scoreboards
since if its not custom server software itll be server side instead of client
so everyone will have the same mana
Oh nvm, collections are literally just grouped ui elements
Is there like
Hold up
How do containers have the ability to store items?
Is it hardcoded?
like chest containers?
You can't create a container without inheriting from the chest, horse, hopper or other containers....
Ight
Wait hold up
How would i even make it for example, for a custom container
Cuz i would assume l
That it would just use the items found in a vanilla container instead of a custom one
Or just be blank completely
Is there any way to get the identifier of the inventory items with a binding?
Something like #hover_text
how do i overlay hud screen onto the chat screen?
How would i make an animation start/reset when something gets turned visible?
use factory
factory?
yes
sorry i am very new to json ui, only thing i've done before this was make an image visible based on title text lol
oh, then it might be confusing
but it's an element that creates other elements
you can use that to make a for example an image have a fade in or out animation which you can toggle using bindings
ooo alright
i shall look into factory things
i did it
i am impressing myself today woohoo
good job
Nice
am i able to change the size of a label?
use font_size or font_scale_factor
okie, ty
hmm
the text doesn't seem to scale correctly with the ui for some reason
Bro thinks he sneaky
the easiest way Is just using /title @a times 0 0 0
or modifying the default title control
Ight I'll try that
the pack I gave you already did that 😭
XD
I didn't even download it bruh😭
btw here's the code if yall ever need it, it's very simple and kinda buggy cause of the text not scaling correctly
One message removed from a suspended account.
Hello, npc dialog can be modified ? In which files ?
"custom_toggle_panel@server_form.custom_toggle_panel": {
"$name": "toggle3",
"$name_toggle": "toggle2",
"$option_toggle": true,
"$text": "3",
"$index": 3,
"$padding": [
52,
31
],
"bindings": [
{
"binding_type": "view",
"source_control_name": "toggle1",
"source_property_name": "#toggle_state",
"target_property_name": "#visible"
}
]
}```
I want the button to be not visible when the toggle is not clicked
npc_interact_screen.json
(not #toggle_state)
Thank you!
Oh another one... When the opening form with toggle it automatically makes the button defaultly click a button
is there a way to make that no button is clicked at all?
{
"custom_toggle_panel": {
"type": "panel",
"$toggle_size|default": [
52,
21
],
"$padding|default": [
52,
21
],
"$index|default": 1,
"$name_toggle|default": "view_toggle",
"$text|default": "Toggle",
"$option_toggle|default": true,
"size": "$padding",
"controls": [
{
"custom_toggle@common_toggles.light_text_toggle": {
"$toggle_name": "$name_toggle",
"$button_text": "$text",
"size": "$toggle_size",
"$toggle_view_binding_name": "$name",
"$radio_toggle_group": "$option_toggle",
"$toggle_group_default_selected": 1,
"$toggle_group_forced_index": "$index"
}
}
]
}
}```
That's also one of the few problems i had, i figured it has something to do with focus properties.
Does json ui support operators like : ? > < <= >= ?!?
Consider asking ai?
Although ai is so bad at Json ui
no I don't need to. I assume that it doesn't since the || of json ui is literally or and the && literally and
Is it possible to adjust the size of an element depending if the player is in full screen or not?
https://stackoverflow.com/questions/67451977/minecraft-bedrock-html5-ui-display-inline
I see this in website so you can make UI using html and css how and i see this too in APK called MAM / addons for Minecraft PE
So is it possible to make UI using html
It once existed, but that's when Script API is still in early days. Now i don't think it exists anymore.
https://bedrock.dev/docs/1.15.0.0/1.15.0.53/UI
how do I get the value of the slider on the ModalForm?
this is not a custom slider it's a slider that already exists in the modalform
I have 4 sliders, is there a way to get each value separately
Took me quite long enough but i managed to get the accurate percentage of XP bar based on: https://minecraft.fandom.com/wiki/Experience#Leveling_up
I am not sure how you did this right there, but remember that in jsonUI, you can convert clip_ratio to value, in this case clip_ratio is applied to this textured bar, if you calculated all values manually then well... I hope not
Well, #clip_ratio doesn't tell you much since it just returns 0.00.. something float so i had to convert it based on how Minecraft does it on the given link
To tell you how optimized this is written, only used 8 binding objects.
(Excluding the object that gets data and putting it to text, they don't really value that much.)
so you calculated this damn, well if you think this float is not really precise, then this textured bar is also not precise lol, for me comparing 3rd or 4th digit in this example is slightly pointless because difference wont be even visible
I don't think the float isn't precise but rather we're not really just given much information. For example, level 1, it would need 9 XP to get to level 2, but the clip ratio don't tell the original number heck even the number it was divided to so you can't accurately get the percentage. I pretty much have to recreate those information myself.
owh yeah that way
alr why not just display numbers tho, tlgm something like this in his pack
well at all it's shit, because it should be provided by game I mean that there may be some really edge cases where xp bar logic is custom, e.g. on servers, I even was in one that implemented such custom logic
in conclusion, jsonui lacks everything and the way to get it is creating some software and digging to memory
I am making a pack that combines those "features" into one
without tying it to something that changes the entire UI.
^
-# sorry just a bump
I didn't use anything that isn't available to the community, just something that just converts float to integer and basic formulas that is given here.
Is there any way to get the text after 4 characters in the anvil?
'x' - ('%.4s' * 'x ')
x is what ever the anvil input text binding is
is this the part?
"text_edit_panel": {
"type": "panel",
"anchor_from": "bottom_left",
"anchor_to": "bottom_left",
"size": [ "100%", "70%" ],
"offset": [0, 2],
"controls": [
{ "[email protected]_edit_control": { } }
]
},
"[email protected]_edit_box": {
"anchor_from": "top_left", // the parent
"anchor_to": "top_left", // this control
"property_bag": {
"#property_field": "#item_name"
},
"max_length": 30,
"$text_edit_binding_name": "#text_box_item_name",
"$text_edit_box_label_size": [ "default", 10 ]
}
try
#text_box_item_name
or
#item_name
i have try too, not work..
actually its possible lol
using #exp_progress (#clip_ratio)
u just multiplied it with 100
@hexed briar is what Mia asking for possible? (getting the anvil input text)
i assumed from the message i forwarded it is not
One message removed from a suspended account.
Yes.
the forwarded message i meant is a literal custom one.
you can't use custom textbox unless server form is involved.
Custom server forms can be made using factories, correct?
Only Modal form.
and secondly, you will need to submit the form order to actually apply or send the packet to the server.
Waet
yes, or just turn into a grid for smaller file size if you work on a big file
Wdym by "form order"
sigh.
You will need to submit the form for the client-side to apply or send the packet to the server just to make it understand.
server_form.json
these bindings should work.
do I just use the collection index to get a specific slider in ModalForm?
an array thing can't accept variables inside them right? Only whole array?
// invalid
{ "color": [ "$r", "$g", "$b" ] }
// valid
{ "$r": [ 2, 0, 0 ], "$g": [ 0, 5, 0 ], "$b": [ 0, 0, 20 ] }
yep
how can i break from the parent element size and give an element the full screen size?
I want to display this text element to the side of the inventory when i hover over an item but it takes the parent size.
what can i do to break from the parent size to be able to place it anywhere?
do you know anyways to counter that?
i have three sliders, and i want to put the slider value in the color
Do I just stack three images?
in vscode you can press ctrl with leftclick on function names to go to the function body. Is there something similar for json ui so when you ctrl left click press on @namespace.element it take you to that element?
i'm a beginner and iam confused about what hardcoded bindings exist and how they are used. I'm also confused about collection. Can anyone explain how to identify them?
nvm man. I just need to get the slider named LMFAO but I didn't make it work
I literally searched the docs for this thing
{
"image": {
"type": "image",
"anchor_to": "top_right",
"anchor_to": "top_right",
"offset": [0,-50],
"layer": 1,
"color": [1,0,0],
"texture": "textures/ui/white",
"alpha": "#alpha",
"size": [64,64],
"$max_alpha": 255.0,
"bindings": [
{
"binding_type": "view",
"source_control_name": "alpha",
"source_property_name": "#custom_slider_step_text",
"target_property_name": "#alpha_value"
},
{
"binding_type": "view",
"source_property_name": "((#alpha_value * 1) / $max_alpha)",
"target_property_name": "#alpha"
}
]
}
}```
ok what did I do wrong here now.
Is ur #custom_slider_step_text maybe over the max alpha?
I don't think that's the case since this is in the script. .slider('alpha', 0, 255, 1, 0)
and I just get that from the official or the original slider of modal form.
u should use #custom_slider_text instead
^ anyone? Did I miss something?
I tried #slider_value because it's on the property bag of the slider but it doesn't work
this seems to work
-# ignore lag ;-;
The lag 💀
i have minimum required specs laptop to run minecraft bedrock 😭
Y'know what's freaking funny? We have same setup. I use stick to display ModalForm lmfao
Anyways, maybe can you check my set-up? Maybe the set-up made it don't work or I did it entirely wrong lol....
Wait, bruh I'm Stoopid
I'm in the correct direction, I just need to add the collection thingy lmfao
You know what's a pain?
When you learn how to make something in json ui but you don't have any practical applications for it yet
such as?
me code on phone and notepad for the half of my programming career
5 years ago I think? But I started Minecraft bedrock related things a year later
Minecraft Bedrock 1.16.100 is crazy ☠️
huge update for addon creation
Half a decade gang😎
Forms
I can confidently say a lot happened from that version to the current one
Both good and bad honestly
That's normal if it's literally your job but mine isn't... so yeah.
-# and its because of the pandemic lmfao
-# god, I'm even more Stoopid, I just realized you meant half a decade not a decade
It in fact didn't work
i didn't modify your json ui and the slider in the modal form is .slider('hello', 0, 20, 1, 0);
I made it work but is there no way to retain the background and this error?
send your code
i made it work with a background but I can't make the collection index work... I have 4 buttons and it always takes the collection index 0
do I need to edit the custom_button accept collection index?
first off your "form" element is a panel, change it to stack panel then add "collection_name": "custom_form"
in order to use collection_index, ur thing must be on a collection first
Ohh a stack_panel wait
It works now man... Thanks
Another question tho, is there a way to make the image accept values in each slider to our in the color?
does it have a property bag or something or impossible
yes, impossible to my knowing since color only accept array
Sad, thanks tho
Another question lol. Is there a way to move the child of a stack panel? Since you can't move the child's of it right?
just make another stack panel
ok thanks lol I didn't think of that.
Guys what's the problem here? I use this to my images to have clip ratio but when I use this I to my label I can't open it since it hangs or crashes my game, do i need to convert the number back as a string?
{
"label": {
"type": "label",
"size": [
"100%",
"100%"
],
"layer": 2,
"text": "#text",
"$clip_max": 100.0,
"bindings": [
{
"binding_type": "global",
"binding_name": "#hud_title_text_string",
"binding_name_override": "#text"
},
{
"binding_type": "view",
"source_property_name": "(('%.4s' * #text) = 'bar.')",
"target_property_name": "#visible"
},
{
"binding_type": "view",
"source_property_name": "(#text - ('%.4s' * #text))",
"target_property_name": "#bar"
},
{
"binding_type": "view",
"source_property_name": "((#bar * 1) / $clip_max)",
"target_property_name": "#text"
}
]
}
}```
i planned to have a percentage of it.
yes, use '§z' before (#bar * 1 )
(however, I think that will not work, since you can't convert float values to text)
oh yeah, and you are overriding #text twice ( i think that Is not possible )
just use other binding, like "text": "#output" and "target_property_name": "#output", or something like that
anyone know how i'd make \n work in this label?
you need to use titleraw instead
/titleraw @s title { "rawtext": [{ "text": "notification.Hello\nGoodbye" }] }
no, since it is parsed as normal text, whereas JSON (used for rawtext) converts "\n" to a line feed
ahh, alrighty
Tis been a bit since i've used commands for actionbar/title stuff
am only using commands to test in-game tho
fyre
if you're going to set it with JS you won't need anything extra
onScreenDisplay.setTitle("text\ntext")
Hey one question guys
here if anyone wants to disect it
Ik to append an element to the hud i must make modifications to the root_panel, but what would be the pause menu equivalent?
pause_screen.json
putting stuff in pause screen content
This is what my server pack uses atm
So there is no specific element i must append the new elements to?
"pause_screen_content" i think is what you're referring to
is there a way to make a sound play for an animation?
afaik, you can only play sounds in UI using buttons, toggles, etc only
yeah
yeah, it looks great
do you know another way to add the percentage?
Do they stack? That's the thing
Nope
Hallo pls anyone?
https://discord.com/channels/523663022053392405/1327727284055965806
How do i make the Background not affect the image?
THe background is the sibling of the image
Add it on a top layer
bro your pfp is blinking
i added the image in the controls of background and turned on clips children. solved the issue
🤫
https://discord.com/channels/523663022053392405/1327539800147890186
Can anyone help me with this ??
Guysu have an custom xo bar type thing in android or touch device the size doesn't match since there's inventory button
How do I make that it stretched too?
In desktops devices the size matches the xp bar's width size
typing 100
what?
you're literally struggled trying to type with a keyboard on that vid.
because my phone is at my back and the keyboard is in the front
I can't see what I'm typing especially since my keyboard keys are stucked lmfao
how do you switch from keyboard to touch that quickly lol
any ways there is binding for that
External keyboard lol...
If you mean this. Yes I tried this and it breaks my bar
yes
only put the x binding
remove other ones
the empty bar doesn't get reized but the bar itself does
I need to add a property bag right?
LMFAO
I'll create a post but I doubt anyone would answer there lmao
{
"m": {
"type": "image",
"texture": "textures/ui/emptybar",
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"size": [
182,
5
],
"offset": [
0,
-32
],
"layer": 10,
"property_bag": {
"#size_binding_x": 0.0
},
"controls": [
{
"h": {
"type": "image",
"size": [
"100%",
"100%"
],
"layer": 10,
"texture": "textures/ui/fullbar",
"clip_pixelperfect": true,
"clip_direction": "right",
"$clip_max": 100.0,
"color": [
1,
1,
0
],
"bindings": [
{
"binding_type": "global",
"binding_name": "#hud_title_text_string",
"binding_name_override": "#text"
},
{
"binding_type": "view",
"source_property_name": "(('%.4s' * #text) = 'bar.')",
"target_property_name": "#visible"
},
{
"binding_type": "view",
"source_property_name": "(#text - ('%.4s' * #text))",
"target_property_name": "#bar"
},
{
"binding_type": "view",
"source_property_name": "((#bar * 1) / $clip_max)",
"target_property_name": "#clip_ratio"
}
]
}
}
],
"bindings": [
{
"binding_name": "#exp_bar_size_x",
"binding_name_override": "#size_binding_x"
}
]
}
}```
try using other hotbar size
{
"binding_name": "#hotbar_size_x",
"binding_name_override": "#size_binding_x"
}
try putting it along side the xp bar then inherit the size of sibling through 100%sm
so it sizes the same
Is it probably because of my image? Both of my image are 182x5 they both don't have nineslices unless they are required.
I put my bar in the controls of the xp bars?
i realize when using touch the size go from 180 to 200
So this?
yes sure
The thing is there's two different types of xp the pocket and the normal.
I add them to both?
ye
Yeah both didn't work
when will ore-ui come out?
Skill issue TBH
I made it work lmfao
But also F-- you
Another problem is the #show_survival_ui doesn't work with me
look into vanilla pack for examples
how nineslices work?
my antivirus is showing that this website has potentially dangerous content 💀
the sub domain
ngl the website is great
actually, let me remove that shit done
thanks
how do i iuse this site?
i only have the sliders on the left
oh
i tohught it downloaded the json file lmao
wdym
lol
yeah, i literally found this at wiki.bedrock site lmfao
this shit saved my life
my bar starts to tweak out when I sized it more than his original size which is 182x5.
so I used nineslice tho I didn't do it on the image but directly into the json ui
since it's a single image with full bar and empty bar I can't nineslice it there.
-# i yapped too much.
smone find the error in this 😭 finish time tryna link smthing to title text
i want only the first 25% of the text to be displayed.
Title text - 7 = 'ow are'```
But there is a problem
```Title text = basicto0nu
Title text - 7 = number```
Does your title text have numbers?
If this is the case, then:
"('§f'+(#hud_title_text_string - ('%.7s' * #hud_title_text_string)))"
That will convert the number to a string
Also, make sure the y size (9) It is enough for the text to be displayed
Alsoooo
%.75s there are a lot of letters, make sure that requirement is met
{
"array_name": "bindings",
"operation": "replace",
"where": {
"binding_name": "#example_binding_1"
},
"value": {
"binding_name": "#replacement_binding"
}
}```
How do I replace a control?
I don't know how since wiki only provided bindings
I just need to add an offset to it.
All u need to know is the control name
And u u write the control name and the offset only
"centered_gui_elements_at_bottom_middle_touch": {
"offset": [0,-12],
"modifications": [
{
"array_name": "control",
"operation": "replace",
"where": {
"exp_rend@exp_progress_bar_and_hotbar": {}
},
"values": {
"exp_rend@exp_progress_bar_and_hotbar": {
"offset": [0,6]
}
}
}
]
}```
is this even valid?
idk
You can also do this:
"centered_gui_elements_at_bottom_middle_touch": {
"offset": [ 0, -12 ]
},
"centered_gui_elements_at_bottom_middle_touch/exp_rend": {
"offset": [ 0, 6 ]
},
ohh yeah goddamit
i forgot that existed lmao
another question
example I have a title I want that if the title match it changed the offset
How? Do I use requires instead of bindings?
it still dont work
...
"offset": "$offset",
"requires": [
{
"requires": "",
"$offset": [0,20]
},
{
"requires": "",
"$offset": [0,0]
}
]```
How do I put the hud title text string binding?
Does it accept that?
How do i anchor a stack panel? It places at the "top_middle" position even tho i used "bottom_middle". With buttons it does work but stack panel just wont.
you can use $title_text
'%.75s' does not mean 75% of the text
'%.75s' takes the first 75 characters of a text
('%.3s' * 'thingy') -> thi
Dude. I don't know how to fix this.
{
"centered_gui_elements_at_bottom_middle_touch": {
"offset": "$offset",
"variables": [
{
"requires": "(not ($title_text - 'bar.') = $title_text)",
"$offset": [0,-12]
},
{
"requires": "(($title_text - 'bar.') = $title_text)",
"$offset": [0,0]
}
]
}
}```
I throw an error that title text isn't defined but I don't think you can pass a variable thru bindings right?
hmm maybe that variable only works inside title factory
try replacing $title_text with #hud_title_text_string
of course don't forget to add the bindings
{"binding_name":"#hud_title_text_string"}
(I think it won't work but meh)
you think?
the problem is idk if the way I did my requires is correct
like when the text bar. Is included in it work
{
"centered_gui_elements_at_bottom_middle_touch": {
"offset": "$offset",
"$update_string": "bar.",
"$is_title": "#is_title",
"variables": [
{
"requires": "($is_title)",
"$offset": [0,-6]
},
{
"requires": "(not ($is_title))",
"$offset": [0,0]
}
],
"bindings": [
{
"binding_name": "#hud_title_text_string"
},
{
"binding_name": "#hud_title_text_string",
"binding_name_override": "#preserved_text",
"binding_condition": "visibility_changed"
},
{
"binding_type": "view",
"source_property_name": "(not (#hud_title_text_string - $update_string = #hud_title_text_string))",
"target_property_name": "#is_title"
}
]
}
}```
you guys anyway to make this work?
I want that if the title exists it would change the offset if not retain to original offset
Yes my binding works I tried with just #visible and it hides it when the bar. Is not in the title anymore
sorry xD i got bussy
I was about to send the exact same thing
i think the Best way Is using anchored offset
how to set the anchored offset thru bindings?
like currently it only does tru and fals
hi guys i’m looking for an advanced JSON UI designer who can handle somewhat complex things. Please feel free to reach out I pay pretty well.
Sure
Hey guys... I'm looking for someone who can help me through all JSON UI, can anyone help?
Is it correct you can only remove the item “Attack damage” but not the +7?
is there a variable if player is playing on a server?
just use the number after bar.
or multiply that true or false by a number
false * 16 -> 0
true * 16 -> 16
it only supports featured servers
there is also $is_pregame, but maybe it won't work for you
How I can get the score without displaying the scoreboard or like using the /scoreboard objectives and then display I want get the scoreboard then get my own score so how I do that is there any template
The name of scoreboard I want get is attack the name and the score
<--Sorry for my grammar
I'm not good at English
How to move a UI again?
does that fps entity get repositioned to the top also based on fov or do you need to keep it to a certain fov?
i didn't make the fps thing
i was using the pack to test performance
idk
you should try it
probably since it uses the player model
well, if you can, that would be great
not really technically
you can try it if ya want
i think it's stars fps counter
i am working on mp thing right now so i don't really got time to
okay thank you
can anyone tell me how to define animations and use them in anims array?
Is it possible to remove the shadow on the player's name?
Cool
How would i go about make 2 diff forms for diff uis
and it only works for the said form
how to know the length of available buttons in the action from data
I know #form_button_length exist but idk how to get it.
just get it 💀
Why would I ask if it Does work ☠️
{
"binding_name": "#form_button_length"
}```
just get it, it doesnt have extra steps
yeah. Me dum dum I forget you can't directly assign a number into text so yeah
found something interesting about vanilla UI.
apparently there's some bindings error on few screens and somehow does not have any error on the content log. but when i reference them with correct variables and stuff, content log just screams.
so it looks like they just made vanilla UI completely silent when it comes to content log, that's honestly strange.
that move is insane laziness
or, only visible in development builds
Or its just because certain bindings/variables are only available in certain screens and contexts
yes
Can confirm, it's not the case.
I did literally forked the entire element that prone to bindings errors on the exact same screen and it pretty much shows up no matter of what.
The only thing i could fix is to get rid of bindings all together but that will cause some issues to some screens that use them as bindings rather than just text.
it's safe to say that mojang internationally did the hacky moment and trying to avoid by not making them shows up on content log
Although I dont understand about Json UI but I think its impossible
You can't.
technically since only thing you can is item slot related.
other than that, you can't use it for custom stuff.
button.menu_secondary_select
if you meant detecting in json ui, not items
I guess I explained it wrong?
Yes I'm talking about json ui.
like the button or slider can be only clicked if the player right click it instead not left click
nevermind that exists.
though kinda not worth it considering its the mapping. not like hover and right click it.
anyone got the template for putting a text field in an action form?
Can anyone tell me how do i add a animation on hovering over a button?
{
"hover": {
"type": "image",
"texture": "texture/ui/banner",
"alpha": "@server_form.button_hover_animation",
"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"
}
]
}
}
this is what i came up with but it doesnt work. My animation is a offset anim
i wonder how i could get multiple pieces of data from one string
is there more documentation on whatever this lang is from?
example: (not (('%.13s' * #text) = 'notification.'))
like, am i able to do for loops and what not in there?
dont put an offset anim in alpha
"offset": "@server_form.button_hover_animation"
or "anims": [ "@server_form.button_hover_animation" ]
oh
well when i put the anim in anims
it just doesnt work
when i put it as offset it works, but broken. No transition at all, just the offset it higher
im just dumb
Guys
there's a player_icon right? Can we access it?
if yes how does it show the icon? Id too?
Is it possible to make chat UI in huds_creen like in Roblox can I remake it in Minecraft is it possible?
You mean make a Message to a alert or sidebar?
Yeah
#gamertag_label
profile_image_renderer
// in start screen
in pause screen, there is some other thing
Where's the texture for the lore background? Is it even accessible?
you can't. child elements are initialized immediately. in other words, your animation is playing even before the hover state is shown.
@turbid nimbus
what ways?
you need to check that the button is hovered.
How do I check and give it animations?
Is it a toggle or button?
If it's a toggle you could try to use in the controls the checked_hover and unchecked_hover
You just talked to prove someone wrobg
i hate when i am wrobg
I hate myself since I'm... Just a mistake
we all make mistakes, ||i am stopping my self from continuing this joke||
button
yuh, as i said a bit later i found it in a different file
not quite. I wasnt wrong. I did not say it was hardcoded, only that i was scared it could be.
Ehhh nah it just happened to be the first thing in front of me
yo
im wondering how to scale this because nothing that I've tried worked i want to make it smaller
"abcdave": {
"type": "panel",
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"size": [
"25px",
"10px"
],
"scale": 0.5,
"controls": [
{
"promo_text": {
"type": "label",
"visible": "($actionbar_text != '')",
"$actionbar_text": "$actionbar_text",
"text": "$actionbar_text",
"text_alignment": "right",
"anchor_from": "bottom_middle",
"anchor_to": "bottom_middle",
"shadow": false,
"offset": [
0,
-100
],
"font_size": "8px"
}
}
]
},
editing "font_size": "8px", "scale": 0.5 or "size": [
"25px",
"10px"
], did nothing
"scale" doesnt exist
"font_size" only works with "normal", small, large, extra_large
use "font_scale_factor"
"font_scale_factor": 0.5
yoo ty soo much
that worked
one more quick question. How do you edit how much space there is between each letter?
I'm trying to get rid of the gaps in this.
anyway of doing that?
is there a way i could only make binding only run once?
"binding_condition": "once"
that didn't seem to stop it
am i doing something wrong?
is it because i'm using a factory?
nvm
I have a problem, when I use server_form to give textures to my script menus, and I want to add an image for example of a square size [50, 50]. But when I want to make it rectangular nothing happens, it is still a square of the same size or larger but I cannot make it rectangular
{
"image": {
"type": "image",
"texture": "textures/ui/menu/button3",
"size": ["200%", "25%"],
"offset": [50, 0],
"anchor_from": "center",
"anchor_to": "center",
"layer": 4
}
},
This is a block fragment
Resources/ui/server_form.json
I don't know if it was understood xd, but basically the texture doesn't stretch, it just gets bigger
did you set nineslice size?
Why I can't click the button how to fix this
{
"namespace": "hud",
"[email protected]": {
"$pressed_button_name": "button.hotbar_inventory_button",
"size": [
50,
50
],
"controls": [
{
"default@default_borderless_button_layout": {}
},
{
"hover@hover_borderless_button_layout": {}
},
{
"pressed@pressed_borderless_button_layout": {}
},
{
"elipses@elipses_image": {}
}
]
},
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": {
"[email protected]": {}
}
}
]
}
}
I just added it, thank you so much! I love you
It's just a saying, sorry
But thanks for the help
I'm trying to get rid of the gaps in this.
any way of doing that?
use larger glyphs
Do you mean bigger resolution?
The textures are touching both sides of it
Guys, there's no way to stop players being able to open the pause screen right?
Like while in-game then click the back button
nop
what do i do wrong???
{
"default": {
"type": "image",
"variables": [
{
"requires": "(#form_button_texture = 'locked')",
"texture": "texture/ui/grey_banner"
},
{
"requires": "(#form_button_texture = '')",
"texture": "$texture"
}
],
"bindings": [
{
"binding_name": "#form_button_texture",
"binding_type": "collection",
"binding_collection_name": "form_buttons"
}
]
}
}
it just doesnt show any texture
the grey banner doesnt show nor does the chosen one as $texture
bindings in variables array don't work
bruh
so how should i access hardcoded text?
or is it just impossible?
how do i go back to the old ui, i current have 200+ texture packs and when im srolling its laggy af
but with the old ui i didnt have that problem
some xbox user making a 2020 type kit pvp realm
Ik to make custom chest UIs i need to edit chest_screen.json and make some binding for it to show, but how do i actually make it functional?
How can I make sure this text doesn't have limits, look at what I sent, it looks like it has limited text, how do I fix it?
"size": ["33.3333%",
20],
"controls": [{
"button@common_buttons.light_text_button": {
"$button_type_panel": "npc_interact.student_slim_button_label_panel",
"$pressed_button_name": "button.student_button",
"layer": 4,
"size": ["100% - 2px",
"100% - 2px"],
"bindings": [{
"binding_type": "collection_details",
"binding_collection_name": "student_buttons_collection",
"binding_collection_prefix": "student_buttons"
}]
}
}],
"bindings": [{
"binding_name": "#student_button_visible",
"binding_type": "collection",
"binding_name_override": "#visible",
"binding_collection_name": "student_buttons_collection"
}]
}
does anyone know how to stop the default behavior of text edit boxes from being that they accept input when you hover over them?
limited in size?
unsolved
This thing is useful for things like you're creating a backpack which is actually an inventory of an entity with a nametag. That nametag works as container title afaik
Oh, so there is no genuine way of creating inventories without using workarounds?
not without using entities
nop
how would i make a modal form text input have Multi-line?
{
"namespace": "hud",
"up": {
"type": "image",
"texture": "textures/ui/tnt/up",
"size": [
47,
43
],
"layer": 0,
"anchor_from": "top_right",
"anchor_to": "top_right",
"bindings": [
{
"binding_name": "#hud_title_text_string"
},
{
"binding_type": "view",
"source_property_name": "(not (#hud_title_text_string - 'up') = #hud_title_text_string)",
"target_property_name": "#visible"
}
]*l
},
"up_on": {
"type": "image",
"texture": "textures/ui/tnt/up_on",
"size": [
47,
43
],
"layer": 1,
"anchor_from": "top_right",
"anchor_to": "top_right",
"bindings": [
{
"binding_name": "#hud_title_text_string"
},
{
"binding_type": "view",
"source_property_name": "(not (#hud_title_text_string - 'up_on') = #hud_title_text_string)",
"target_property_name": "#visible"
}
]
},
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": [
{ "[email protected]": {} },
{ "[email protected]_on": {} }
]
}
]
}
}```
Why this doesn't work, like the image would only show up when the text is included but no luck.
you may have to put (#hud_title_text_string - 'up_on') = #hud_title_text_string) in () as well
XD
just modify your condition
"(not (#hud_title_text_string - 'up_on' = #hud_title_text_string))"
"(not (#hud_title_text_string - 'up' = #hud_title_text_string))"
like this
Does anyone know how to add textures to the player screen? I have this base but it doesn't work
{
"namespace":"bar",
"bar_panel": {
"type":"panel",
"alpha": true,
"controls":[
{
"hudbar":{
"type":"image",
"alpha":true,
"texture":"textures/ui/hud/hudbar",
"anchor_from":"top_left",
"anchor_to":"top_left",
"layer":2,
"size": [106, 10],
"offset": [5, 43.5]
}
},
{"[email protected]":{}},
{
"none": {
"type": "image",
"texture": "textures/ui/none",
"anchor_from": "top_right",
"anchor_to": "top_right",
"layer": 5,
"size": [18, 18],
"$value":"[none]",
"offset": [0, 80],
"bindings": [
{"binding_name": "#hud_title_text_string"},
{"binding_type": "view","source_property_name": "(not((#hud_title_text_string - $value) = #hud_title_text_string))","target_property_name": "#visible"}
]
}
}
]
},
"health10":{
"type":"image",
"texture":"textures/ui/hud/health1",
"anchor_from":"top_left",
"anchor_to":"top_left",
"layer": 5,
"size": [144, 12],
"$value":"[health10]",
"clip_ratio":0,
"clip_direction":"left",
"offset": [6, 10],
"bindings":[{"binding_name":"#hud_title_text_string"},{"binding_type":"view","source_property_name":"(not((#hud_title_text_string - $value) = #hud_title_text_string))","target_property_name":"#visible"}]
}
}
thank you lol
{
"hud_title_text/title_frame/title": {
"modifications": [
{
"array_name": "bindings",
"operation": "insert_back",
"value": {
"binding_type": "view",
"source_property_name": "(not (#text - 'view.' = #text))",
"target_property_name": "#visible"
}
}
]
}
}```
Why doesn't this work? I want to hide the title if it's has the view. included
I'm always confused with operators lol
Fixed it lol...
{
"hud_title_text/title_frame/title": {
"$hud_string": "view.",
"modifications": [
{
"array_name": "bindings",
"operation": "insert_back",
"value": {
"binding_type": "view",
"source_property_name": "(not (('%.5s' * #text) = $hud_string))",
"target_property_name": "#visible"
}
}
]
}
}```
the logic you added works reversed for some reason. if you remove not it'll work
($hud_string = ('%.5s' * text))
You mean this?
this ((#text - 'view.') = #text)

