#JSON-UI General
1 messages · Page 52 of 1
Anyone know if it’s possible to map/bind a toggle to perform say a screen close, or more specifically force a button submit in custom form?
You just add the mappings in the toggle that would be in the button
Ig they are preparing for the migration. Moving stuff into other files to keep backwards compatibility ig
yeah that's iirc so far.
though inventory could not be just the only screen that getting common-ified.
It's going to be harder to find the controls and connecting the dots
To be precise, more time consuming
yeah unfortunately.
This is also really recent too basically just the latest stable thing.
server forms are the only thing that are unaffected from this iirc.
Ig it's the same for npc forms too
They haven't touched it in years
"overworld_loading_background": {
"type": "image",
"texture": "textures/ui/transfer_screen",
"size": [
"300px",
"300px"
],
"color": [
1.0,
1.0,
1.0
],
"tiled": false,
"controls": []
},
I am overwriting this element, but the color being white makes the invisible part of my image white instead of just remaining invis
If I remove color, then it'll just use the vanilla which has the color white
And there is no 4th index to specify alpha to be 0 (to make it invis)
?
biome, nah
: (
villager profession, maybe. when you trade with villagers, does it say who they are?
if not then probably not.
As for the profession, I assume I can use the title string
they do fortunately
yeah in that case you can actually check the profession
good for you
Any clue 🥺
Color can be [r, g, b] or [r, g, b, a]
Isn’t Alpha possible to use?
It's much better this way, slot 8 selects the spell, and slot 9 fires it, just need to customize the HUD to make it look nice too.
Gg
Dont forget about Controllers
It also works, since it's a hotbar, and they just need to select the slots that work normally.
ohh okie ty
i know but it is way slower to switch between skill 1 and skill 2
you have to spam your button 7 times to switch
The worst part is that there aren't any better buttons; almost everyone will have to use 7 buttons, so here's a piece of advice: DON'T USE CONTROLLERS.
perhaps binding the emoji button to one of the skillsß
and some other useless buttons
this would be optional so if they couldnt or didnt want to use they would stick with spamming
Also, it's possible to define the RGBA of an image using bindings, right?
depends, if you assign the binding using a property with the array sure.
The worst part is that I wanna use two types of spells, one with a toggle and the other with a button, so when I pick one I can load the spells and do something cool.
i'm cry...
you have to know the ui scale first, which you can't
I'll create my own company, my own featured server, become famous, and beg Mojang to add the global variable $gui_scale because I seriously need it, bruh 🥀
is it that complicated or does mojang actually hate its own UI system that much?
and it look like ore ui will be the same
They aren't going to add anything new unless something breaks or their partners request :)
how much this woudl cost?
500k maybe
Just get a job at mojang and quitely add the feature
Adding a global variable to JSON UI costs the same as pulling 3 big updates
Not only that, I'll do JSON UI 2.0

nah ill probably get fired immediately
just call it a bug, they won't know and make it a feature themselves :)
Yeah that’s what I thought
a good workaround would be to add a setting to change the font scale using #font_scale_factor
How would I pass the data
#title_text
I would need to change everything 😭
you would need to add the bindings to each label that you want to have that
Small ui scale people will need glasses
try to find a sweet spot
for your arrows You can use percentage size
for text in the middle buttons maybe if You use hover text instead
Also, personally, I just have -1 and 0 available in my settings. Is this normal?
yeah ig
Yeah I could
Bizarre
it has sense for mojang
Wait, could I get the parent y size and do some math to adjust the scale factor?
With bindings?
i don't think you can get parent size using bindings unless their size is defined using bindings
hmm i don't think so
It would be possible if you could somehow get how many items a grid has with grid_fill_direction: vertical
but that's not possible either.
if it was possible to know how many items were there how would the final size be calculated
dividing the full size by the number of the items or is there some bindings
something like that
For example, if you have a grid with a size of 100%, and that grid can hold 200 elements of size 1px without overlapping, if you lower your GUI scale, the 1px elements will be smaller, therefore they will fit more in the grid
If we could get how many items that grid has, we could even calculate the aspect ratio or the resolution of your screen in ui pixels
nice concept but yeah not possible to know the number of items sadly
Vibe code everything and use clawdbot to achieve your goal
i had a friend request the ignored binding and they outright just denied it 😭 some script guy on the mojang team said you could just use "cache screen" to prevent lag but it doesnt even work, it just crashes the game
and the new ddui "visible" condition doesnt properly remove children either
so its still laggy as fuck
the ui is like 3x laggier when its claimed to be "30%" more performant or faster
Guys is it possible to make a button that responds to a certain key/touch
Thats always active on the hud
is there a way to make only certain form to be unclosable? this one makes all forms unclosable
"third_party_server_screen": {
"button_mappings": [
{
"from_button_id": "button.menu_cancel",
"to_button_id": "button.null",
"mapping_type": "global"
}
]
}
Technically yeah but not with all keys
Is the binding's part error? I want to fill in #size_binding_y_absolute with my str '§z100',but it made minecraft crashed when I open ui.(dc put the 'Â' letter in front of §z)
Ohhhhh, im trynna see if i can make like... a button which can be used to use a supreme ability/skill
Well some guy made it with slots. But you can also use emote button and other buttons that trigger any other UI
Key binds aren’t possible.
Dang
Owhh
Yes. remove the mappings from the screen and add it to individual forms which you want to be able to close
"item_dropper_label": {
"$condition1|default": "($container_title = 'entity.hopper_minecart.name')",
"type": "label",
"layer": 2,
"offset": [ 0, 5 ],
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"text": "$container_text",
"color": "$title_text_color",
"localize": false,
"enable_profanity_filter": true,
"variables": [
{
"requires": "$condition1",
"$container_text": "Spin"
},
{
"requires": "(not $condition1)",
"$container_text": "$container_title"
}
]
},
why does this doesnt work?
Save $container_title in another variable first and then use that variable
thanks! this workds
can i use binding to connect another binding in property bag?
does anyone have an idea? it should only display one but it shows all three (first screenshot is "§c§h§e§s§t", second one is just "Info"
change to %.15s and %.21s respectively
yeah I saw those a few mins ago & changed but it still doesnt work
what should I do then?
{
"namespace": "server_form",
"[email protected]_screen": {
"$screen_content": "server_form.lpmc_main_content",
"button_mappings": [
{
"from_button_id": "button.menu_cancel",
"to_button_id": "button.menu_exit",
"mapping_type": "global"
}
]
},
"lpmc_main_content": {
"type": "panel",
"size": "$default_form_size",
"controls": [
{
"server_form_factory": {
"type": "factory",
"control_ids": {
"long_form": "@server_form.long_form_selection",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
"long_form_selection": {
"type": "panel",
"size": "$default_form_size",
"controls": [
{
"long_form@long_form": {
"size": "$default_form_size",
"layer": 1,
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "(not (('%.15s' * #title_text = '§c§h§e§s§t') or ('%.21s' * #title_text = '§f§u§r§n§a§c§e')))",
"target_property_name": "#visible"
}
]
}
},
{
"chest_ui@chest_ui.chest_panel": {
"size": "$default_form_size",
"layer": 2,
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "('%.15s' * #title_text = '§c§h§e§s§t')",
"target_property_name": "#visible"
}
]
}
},
{
"furnace_ui@furnace_ui.furnace_panel": {
"size": "$default_form_size",
"layer": 2,
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "('%.21s' * #title_text = '§f§u§r§n§a§c§e')",
"target_property_name": "#visible"
}
]
}
}
]
},
"screen_exit_animation_immediate_push": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.0005,
"from": 1.0,
"to": 0.0,
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
"screen_exit_animation_immediate_pop": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.0005,
"from": 1.0,
"to": 0.0,
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
"screen_entrance_animation_immediate_push": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.5,
"from": 0.0,
"to": 1.0,
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
"screen_entrance_animation_immediate_pop": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.25,
"from": 0.0,
"to": 1.0,
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
"custom_form@common_dialogs.main_panel_no_buttons": {
"size": "$default_form_size"
},
"long_form@server_form.long_form": {
"size": "$default_form_size"
}
}
that should work fine
that seems to work, tysm
I'm just curious, its not possible to put the check results (eg ('%.21s' * #title_text = '§f§u§r§n§a§c§e')) in a binding/variable & reuse that?
can you tell me how & I try a bit?
{
"namespace": "server_form",
"[email protected]_screen": {
"$screen_content": "server_form.lpmc_main_content",
"button_mappings": [
{
"from_button_id": "button.menu_cancel",
"to_button_id": "button.menu_exit",
"mapping_type": "global"
}
]
},
"lpmc_main_content": {
"type": "panel",
"size": "$default_form_size",
"controls": [
{
"server_form_factory": {
"type": "factory",
"control_ids": {
"long_form": "@server_form.long_form_selection",
"custom_form": "@server_form.custom_form"
}
}
}
]
},
"long_form_selection": {
"type": "panel",
"size": "$default_form_size",
"controls": [
{
"long_form@long_form": {
"size": "$default_form_size",
"layer": 1,
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "('%.15s' * #title_text = '§c§h§e§s§t')",
"target_property_name": "#is_chest"
},
{
"binding_type": "view",
"source_property_name": "('%.21s' * #title_text = '§f§u§r§n§a§c§e')",
"target_property_name": "#is_furnace"
},
{
"binding_type": "view",
"source_property_name": "(not (#is_chest or #is_furnace))",
"target_property_name": "#visible"
}
]
}
},
{
"chest_ui@chest_ui.chest_panel": {
"size": "$default_form_size",
"layer": 2,
"bindings": [
{
"binding_type": "view",
"source_control_name": "long_form",
"source_property_name": "#is_chest",
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
]
}
},
{
"furnace_ui@furnace_ui.furnace_panel": {
"size": "$default_form_size",
"layer": 2,
"bindings": [
{
"binding_type": "view",
"source_control_name": "long_form",
"source_property_name": "#is_furnace",
"target_property_name": "#visible",
"resolve_sibling_scope": true
}
]
}
}
]
},
"screen_exit_animation_immediate_push": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.0005,
"from": 1.0,
"to": 0.0,
"play_event": "screen.exit_push",
"end_event": "screen.exit_end"
},
"screen_exit_animation_immediate_pop": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.0005,
"from": 1.0,
"to": 0.0,
"play_event": "screen.exit_pop",
"end_event": "screen.exit_end"
},
"screen_entrance_animation_immediate_push": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.5,
"from": 0.0,
"to": 1.0,
"play_event": "screen.entrance_push",
"end_event": "screen.entrance_end"
},
"screen_entrance_animation_immediate_pop": {
"anim_type": "alpha",
"easing": "linear",
"duration": 0.25,
"from": 0.0,
"to": 1.0,
"play_event": "screen.entrance_pop",
"end_event": "screen.entrance_end"
},
"custom_form@common_dialogs.main_panel_no_buttons": {
"size": "$default_form_size"
},
"long_form@server_form.long_form": {
"size": "$default_form_size"
}
}
that way
tysm
okay, how do i add it to individual forms? where exactly should i put it? on the root? or on the custom form's main panel?
is it possible to create a stop button for a specific sound definition?
I'm about to create a music preview UI
I want to take some text from the /title tag and do something like "000name" where it will write the "name" (from the 4th to the 7th digit) in a label, and the "000" would be the name of an image like "textures/ui/000". I know it's possible to use "%.4s", but for some reason I'm not able to use it. I'd like an example and to rewrite my code based on that.
if your string starts with a number, then the UI will think its a number
you need to convert it to a string by adding like an alphabet letter at the start
is it possible to combine to translation key in one label?
like 'item.diamond_sword.name + '§7 ' + 'enchantment.damage.all
nvm
Try this
%item.diamond_sword.name §7%enchantment.damage.all
Custom form's main panel
If it's type panel then make it an input_panel and then add the mappings
it worked thank you!
Is there anything I missed?
I can turn on the toggle but i can't turn off until turning on another toggle
But wouldn't doing something like ('§z' + (#hud_title_text_string - 'strength: ')) convert numbers to text?
I wanted to do something like 0001Name004100fmtbl
"0001" refers to the name of an image
"name" refers to text written on the screen
"004" refers to text written on the screen
"100" refers to an image
"f" refers to an image
"mtbl" refers to an image
fine, I'll go trough myself
😔
"abc_render_factory": {
"type": "panel",
"factory": {
"name": "hud_title_text_factory",
"control_ids": {
"hud_title_text": "[email protected]_panel"
}
}
},```
Even if I use property_bag and display the title with factory, can't I display multiple titles?
how to use translation keys that have : in them in UI
i to display the name of a custom block that i made in a label but it wouldn't translate it, if i replace the key with any other key without a : it translates it
is it possible to make it so that an image appears if i charge a specific item and the image disappears when i release it?
Does anyone know how I would make a single label that changes text based on whether a toggle is enabled or not?
how to trigger control_ids
For control_ids the #collection_length has to be an array of string
"control_ids": {
"ex1": "@hud.a",
"ex2": "@hud.b"
}
Now the ["ex1"] passed as #collection_length will generate @hud.a
And ["ex2"] will generate @hud.b
how about something like this ['a', 'b', 'c'], will those 3 elements be called at the same time?
Hi, could someone guide me on how to modify the scoreboards.json file? What I want to do is visually customize each row of the scoreboard where players are displayed. My goal is for each player row to have a texture applied to it, and for that texture to change dynamically depending on the player's score: one texture when the player has a low score and a different one when the player has a high score. In short, I want each scoreboard row to have a custom texture that automatically changes based on the player's score.
Yeah they'll be generated in order
well, this is not the right place to ask for sure
Does anyone know if custom player geos work on paper doll? Doing a simple cosmetic system although it won’t render anything but the player
sqrt of a number using json UI. Actually it's the floor value of the sqrt of a number
It's shocking how simple and performant it is.
-# distance is not accurate because of a mistake of mine
distance is accurate now
video is broken i think
Plays fine for me
for me doesnt :(
That's weird...
Me too
I only got the 1st frame
I think it’s discord
Because I had the same problem in other servers
Here's a streamable link:
https://streamable.com/512op9
And it's a simple expression
It's called Babylonian Method of finding square root
is it possible to force a child to the bottom in a factory?
or like
make it have a static location at all times even if more children are generated
like
awdawd
awdagg
hiawda
hello world!
and if another awdmaw is sent below itll swap them
awdawd
awdagg
hiawda
hello world!
awdmaw
to
awdawd
awdagg
hiawda
awdmaw
hello world!
What are you trying to make?
???
shorting?
like "pinned" chat messages
wdym?
maybe using two factories
hmm true actually
have a stack panel
factory with chat messages
factory with flagged "pinned" chat messages
smart
yep
anyone know why my horizontal stack panel is still a vertical one even though I clearly set orientation: horizontal?
It's possible that the property is being overwritten somewhere else
it seemed to work when I give it a fixed size
Can you share the code?
does the splitting text have limitation? I found when I split text which has lots of bytes it will make next text incorrectly split.
smth like that my texture text abnormally move back
Thats quite the phrasing
does 3-byte-character usage have limitation? I tried using 1 and 3 byte character to contrast
but I found that if I all use 1 byte character and put it in until more than 4 byte it doesnt break
and if I all use 3 byte character and put it in until more than 4 bytes it will break
HMMMMMMM....
Now you all have no right to hate me for using AI on JSON UI 😈
this slop gave me once type: image
I was trying to find this shiiiiiiiiii for 10m
never again
yo so i did
Dingsels ui tutorial and everything was working fine other than the part where when i replace his icons with my own they break
is there any way to fix this
i think it might be because of size because i had tested it with smaller icons (16x16) for place holders and they worked but when i go back to the 64x64 textures that i want to use for it they dont work
Can't server forms use % for size?
The screen root panel is by default a [0, 0] size panel
You can change it for [“100%”, “100%”]
Thank you
i'll solved
does #gamertag binding works on server_forms?
no sadly
i beleive its hardcoded to hud_screen and pause_screen
what if i set a player_name element in hud_screen, then i call that element as a reference inside my server_form element? would that work?
I'm amazed you can even get good results. All I get is some random bs that never existed in JSON UI
same
You could give him a lot of data and documentation
Like bedrock wiki, and then a lot of sample codes of many forms or json ui stuff and it gives good results
Specially Geminai and Claude
I'd rather write the code myself
I use Copilot to understand which property does what, but half the time it makes stuff up
I would be amazed too haha
"bottom_panel": {
"type": "panel",
"size": ["100%", "100%"],
"controls": [
{
"[email protected]": {
"size": [ "100% - 20px", 10 ],
"$slider_name": "offset_slider",
"$slider_steps": 10,
"property_bag": {
"#slider_steps": 10,
"#slider_value": 1
}
}
},
{
"offset_panel": {
"type": "panel",
"size": [50, 50],
"debug": "red",
"layer": 600,
"offset": [0, 20],
"bindings": [
{
"binding_type": "view",
"source_control_name": "offset_slider",
"source_property_name": "#slider_value",
"target_property_name": "#slider_value"
},
{
"binding_type": "view",
"source_property_name": "#slider_value",
"target_property_name": "#anchored_offset_value_y"
}
]
}
}
]
}
}
whats the problem? its my fist timeusing sliders
according to gemini, your code has slider cancer x-x
just add "resolve_sibling_scope": true to your first binding
What? xD
What does tha do?
magic ✨
Well, actually, it's more like searching within the sibling controls, not the entire control tree
Oh okk
try it
yep
it all depends who is paying
Yeah
Looks really good!!
Thanks 🙏
why is my UI always default selection is the close button? any reason for this? how can i change this
An error log appears, but there's no actual error. It just keeps popping up, which is annoying. Is there a way to get rid of it?
I used common.dark_text_button.
Custom equipment slot system
Isso levou muito tempo?
nop
Massa, parabéns ficou top
how to reset an animation when it finishes?6
just call the first frame on the last frame
did you mean common_buttons.dark_text_button (wrong namespace)
No but I mean I have a custom button when I click it it start the offset animation then it returns to the default state but when I press again nothing happens so I need to close/open the form again
I’m using play_event
With the custom button name
I could do another button which reset the animation but I want it to reset automatically when the animation ends
I don’t have my pc rn so can’t show you my json but I hope I explained well
Does someone have a JsonUi code that makes Actionform UI bigger?
Not sure where to ask this, but is there a way to NEVER have the font above?
Like- I want to know what font glyph minecraft is using
And I will overwrite it to use the normal font that I like
I know the normal font glyph is called default8
i believe you can uh
set the backup font to MinecraftSeven
not too sure though
That thin font is in glyph_00
Overwrite it with your own font and make sure to use a 8x8 grid to avoid unnecessary "smoothness"
Yessirr
Classic Screen on Pocket Screen
how does this progress bar get the clip ratio data if its made like this and i cant seem to find the responsible json. Id love to get some help
this isnt the xp bar its the loading screen bar
How do I display an image on the screen?
Bah c’est une binding native du moteur, pas un JSON accessible je pense
Oh my bad I didn’t mean to respond to your message
Justement je veut le nom du binding
"full_progress_bar": {
"type": "image",
"texture": "textures/ui/experiencebarfull",
"clip_direction": "left",
"bindings": [
{
"binding_name": "#exp_progress",
"binding_name_override": "#clip_ratio",
"binding_type": "global"
}
]
}
Et c’est sur que y’a un json
Mais ça c’est l’xp bar
Dans hud_screen
Moi je veut la barre quand on join un serveur
Bah dans le progress screen j’imagine
Oui j’ai cherché mais trouve pas XD
we must need to talk in English to ensure other people can help and/or learn
Bruh i am bad in english but okay 🤣
Yes baguette
Okay wait I cherche
😂 oui oui
@limpid reef
Test this
"[email protected]_progress_bar_icon_base": {
"bindings": [
{
"binding_name": "#loading_bar_percentage",
"binding_name_override": "#clip_ratio"
}
]
}
Or this
"binding_name": "#loading_bar_percentage",
"binding_name_override": "#clip_ratio"
(This is same 😭)
okay
🥖 🇫🇷
wtf
@limpid reef it work ?
Oui oui baguette yes french
Hmmm thank you very much
I’ll try
Where did you found this json block?
I was too lazy i asked Claude and he found it.
(This is ai)

😮💨
50% this doesn’t even exist 😂
🔪🥐😈
This AI is intelligent, unlike the fraudulent Chat Gpt site, but human work remains the best.
Noooooo 😭
Ok ça existe
Voila xD
Me je am un demi french et canadian => québécois!
This was franglais
Yes this is correct
Hellooo
Hey
Can someone help me make a connectable table?
What is this
How would I enlarge a glyph?
Double the size of your glyph and then upscale it accordingly
who knows how to make the buttons start from index 4 instead of 0 in "factory"?
"kits_scroll_content": {
"type": "stack_panel",
"orientation": "vertical",
"size": ["100%", "100%c"],
"factory": {
"name": "kits",
"control_name": "server_form.simple_scroll_button"
},
"collection_name": "form_buttons",
"bindings": [
{
"binding_name": "#form_button_length",
"binding_name_override": "#collection_length"
}
]
}
#1067870274894172260 message
Bugrock
?
pause menu in loading menu
I'm passing the correct size value, I did the same thing with the offset and it worked, but every time I use #size_binding_x my game crashes, does anyone know how to solve this?
How do I pass the value there then? I'm trying to pass it via the title.
Offset via title worked perfectly, but now this size is proving very difficult to get working.
You need to add size property when using size_binding (e.g. "size": [0,0])
I already tried.
also size_binding it's a percentage, but not like "100%"
it's a float
0 = 0%, 1 = 100%, 2.5 = 250%
hud.pushHud(id, "I can't take it anymore.".repeat(8), {
idblock: 1, text: {
offSetX: 20,
offSetY: 20,
disable: false
},
textures: {
texture: "textures/items/diamond",
offSetX: 1,
offSetY: 0,
sizeX: 2,
sizeY: 2,
disable: false
}
})```
if You want to pass 5%, then you need to pass from your title something like 0005, then multiply it by 0.01
I'm passing the integer, and in the JSON UI I convert it to a float, multiplying it by 0.01.
I'll send the entire code.
yea
Dude, it worked!
Oh my god, I tried it and it didn't work, now that you mentioned it worked, I can't believe it.
This game is playing games with me.
XD
You saved me a headache, I really only needed the size:[16,16]
yeah np
Is it possible to do the same thing in alpha?
yep
Okay, that alone helped me a lot, thank you.
{
"bar": {
"type": "image",
"texture": "textures/ui/White",
"color": [
1,
0,
0
],
"size": [
2,
"100%"
],
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"use_anchored_offset": true,
"bindings": [
{
"binding_type": "view",
"source_control_name": "preserved_filler",
"source_property_name": "(#first_value * 1.0)",
"target_property_name": "#anchored_offset_value_x"
}
]
}
},
{
"preserved_filler@fishing_catch.preserved_title": {
"$update_string": "fishing_controller:"
}
}
why it doesn't working?? the #anchored_offset_value_x don't change the bar element offset x
You can see it from far away lol
Beta tá difícil de usar ent
já me ocorreu na estável
Rapaz.. lamentável
How hard would it be to create the health UI?
The hearts?
Yeah
Depends how you get the data
I don’t really know how the hearts really work
I pretty much want to do hearts in 4 parts instead of 2
Iirc it uses a renderer. I don’t know if the hearts are accessible through bindings BUT you can use title to display hearts easily
You can just make the vanilla hearts gone, and add a label as the title and put all hearts as glyphs
You will change the glyphs in your code
Wouldn't title be only behavior pack applicable
Wdym?
you can divide hearts into four parts just using the renderer. There are no 0.25 hearts
You will have to use title probably
Title would be like commands or stuff no?
Yes
Which only works in BP
Yes
So it's not useful to me
Why would you want 0.25 hearts without behavior packs?
20 HP / 2 = 10 hearts
20 HP / 4 = 5 hearts
More compact ui
Ohh you want fewer hearts?
Yeah
Makes much more sense
I will see if that’s possible (some time today, I can’t search for keywords on my phone)
It's a renderer so don't think you can do anything about it
There is another option ig
Using paper doll and player.json
But that'll make it incompatible with many packs
Can I not just make my own render and disable the original?
Nope you can't make renderers
and why do paper dolls cause incompatibility? this isnt really intended to be used alongside other UI resource packs anyways?
the issue is player.entity.json
It completely overwrites other pack's player.entity.json file. So the packs that use this breaks
That's fine by me, I don't see any reason that this would combine with another pack like that anyways
guys im so bad in json ui these two file is not working and idk why
{
"renderer": {
"type": "custom",
"renderer": "live_horse_renderer",
"property_bag": {
"#look_at_cursor": true
},
"anchor_from": "center",
"anchor_to": "center",
"offset": [
0,
0
],
"size": [
100,
100
],
"layer": 20,
"bindings": [
{
"binding_type": "view",
"source_property_name": "(#form_text - 'menu.invisible')",
"target_property_name": "#entity_id"
}
]
}
},```
How do I bind live_horse_renderer?
what is named the file for the marketplace
wdym
Could you kindly provide more info on that? Like how does one register a .ttf font into the RP? I've been browsing this server but I still don't know where font_metadata.json goes and what are the full steps.
How though
Where do I edit the size?
- put your ttf file in a folder structured like
your_pack/font/your_font.ttf - create a file named font_metadata.json in a folder structured like
your_pack/font/font_metadata.json - in
font_metadata.json, paste the thing I'm going to paste in the following message
oh there's an issue: Discord prevents me from typing messages that are too long
oh
Cuz I don't have Nitro
you mean this:
{
"version" : 1,
"fonts" : [
{
"font_format": "ttf",
"font_name": "font_name",
"version": 1,
"font_file": "font/font_file_name",
"lowPerformanceCompatible": false
}
]
}```
right?
exactly, but you can't just put this
you have to include the vanilla objects as well
oh right
thank you so much🙏
You're welcome, have a great day
you too!
In your image editor (e.g. Aseprite)
- double the size of the canvas of your glyph (I wouldn't recommend doing that with glyphs that Vanilla uses, which are
glyph_E0andglyph_E1) - select the glyphs of your canvas and stretch them so that your selection matches the size of the newly enlarged canvas. Hold SHIFT while you do that as to keep proportions
In Aseprite you can change the size of the canvas by pressing C
Does this require a global resource pack? Cause I don't think it's working for me as a world RP
Is it possible to have a custom button inside of a vanilla , (like a furnace) ui block and have it function?
Yes
yo this shit is hard.. how tf do yall learn how to do this? its SOOOOO different from any other programming i have done..
idk it was fun to learn
i just did stuff and learned through the wiki and mainly bedrock samples
Guys can someone steal my json from their pack cache?
Like if they joined my multiplayer world
I think there are ways to access the RP
Oh…
lol
Heya! I'm thinking of trying something quite cursed - is it feasible to modify the lore test to e.g. render only everything up to a character / char sequence that i send and discard the rest?
Anyone knows if is possible to change the button offset inside a factory?
"[email protected]": {
"offset": [100, 10]
}
"factory": {
"type": "stack_panel",
"size": ["100% - 4px", "100%c"],
"orientation": "vertical",
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"factory":{
"name": "buttons",
"control_ids": {
"button": "namespace.button"
}
},
"collection_name": "form_buttons",
"bindings": [
{
"binding_name": "#form_button_contents",
"binding_name_override": "#collection_length"
}
]
}
Instead of following the factory offset, it follows its own offset
is this not the correct way to parse a long string into segments of 4 characters? (the string is a subtitle with 44 characters)
Are these all numbers?
yeah, strings of numbers, i am having a script encode info about the players equipment and biome into the title and subtitle and i am trying to parse them out. each encoded segment is 4 chars in length.
There's nothing to separate the numbers or any character at the start of the string?
no. its just a full string of numbers, would it be easier if i had separators?
(it actually does have a namespace at the beginning though)
but i get rid of that
Can you send an example of the full string
If it only contains numbers that's the issue
Title: kado:6045
Subtitle: kado:10600997106110001052100010631000504894040057
When doing string multiplication on a numeric string, the string is converted to number. But if it goes above integer limit then it fails
The easy fix is to add a character in front of the numbers. That should prevent conversion to integer
ahhhh.. ok, thank youuuu
Do the string multiplication including the character
So %.4s would be %.5s now if you use one byte character
wdym? (i am admittedly TERRIBLE at json ui)
let's say you add '@' at the beginning
the numeric string would be like this
@10600997...
to get the first 4 number you'll do this
('%.5s' * #subtitle_text - '@')
for the next 4 this should be enough
('%.9s' * #subtitle_text - '%.5s' * #subtitle_text)
and so on
why "- ':'" and not "-'@'"
haha ok cool, im struggle bussin but i wanna figure this crazy 'language' out. it has evaded me long enough.
(molang and json ui)
You can do some crazy stuff once you get the hang of it
In the live_horse_renderer, #entity_id should only accept strings. However, if the string result is only a number, as in (#preserved_text - $update_string), it seems to be automatically recognized as a number in the Json UI. This seems to be causing the renderer to not work. Is there a solution?
Does localization work for dynamic strings created by binding?
For example:
('%world.size ' + #world_size + ', ' + '%world.last.played ' + #last_played_date + ', ' + '%world.id ' + #world_id)
And in the language file:
world.size = .....
world.last.played = .....
world.id = ......
they had just explain the solution for it above you
What you're trying to do isn't possible afaik
You have to pass the string directly without doing any operations in it
Would it be possible if the title is update and the subtitle below is that string (entity_id)?
Yeah then you need to pass the subtitle as entity id in bindings
thank you
"test_label": {
"type": "label",
"anchor_from": "center",
"anchor_to": "center",
"layer": 100,
"offset": [0, 40],
"text": "test_label",
"color": [1, 1, 1],
"font_size": 8,
"bindings": [
{
"binding_type": "global",
"binding_name": "#hud_subtitle_text_string",
"binding_name_override": "#text"
},
{
"binding_type": "view",
"source_property_name": "(('%.2s' * #text) = '뀌뀌')",
"target_property_name": "#visible"
}
]
},
What's wrong? Why isn't it working?
뀌 is 3 bytes
So it'll be '%.6s'
I created this feature by using title and subtitle together!
How would I replace the background of the enchanting table screen with my own?
I only want to overwrite the background of the enchanting table screen. No other screens.
create a file named ui_common.json and place it under ui/ui_common.json and paste this code:
{
"namespace":"common",
"dialog_background_opaque":{
"$opaque_background_texture|default":"textures/ui/dialog_background_opaque",
"texture":"$opaque_background_texture"
}
}```
The create another file named `enchanting_screen.json` and place it under `ui/enchanting_screen.json` and paste this:
```json
{
"namespace":"enchanting",
"enchanting_panel":{
"$opaque_background_texture":"textures/ui/your_path" //change the texture path
}
}```
tysm, I’ll test this when I get home
You're welcome
If i want to create a button that console can select i would do "focus_enabled": true right?
How to create a button that can be hold?
Holding the key will keep the script running until it stops
Impossible?
whats the binding to check if a button is the end of collection?
What exactly does the property_bag component used in the "Preserve Title Texts" example do?
Also, removing the property_bag component from the example seemed to work.
Is there a reason it's needed?
to give it a default value
because normally, when u source control it from another element, it can sometimes be empty
so instead of that, using property bag, it returns an empty string instead
I understand, thank you
You simply compare the collection index of that button with total collection length
For form button it'll be like this
(#collection_index = (#form_button_length - 1))
got it thank you
how about for modal forms?
#custom_form_length and?
Afaik #custom_form_length is an array
So it probably won't work
ah okay ty
Does item renderer not work in forms?
its works everywhere ig
menu_background in pause_screen.json
what's the issue?
The variable is set to 55%, 100% and then if $is_big_screen the variable gets changed to the same value
So that’s useless
Oh I didn't notice it, maybe the value below is a placeholder? But most likely they had an oversight
OMG HOW
lmao
except classic microslop professional code, does anyone know when this variable changes state?
anyone??
wrap it in a panel
"button": {
"type": "panel",
"size": ["100%", "100%c"],
"controls": [
{
"[email protected]": {
"offset": [100, 10]
}
}
]
}
should look like that

some ui stuff,
Since live_horse_renderer only accepts string entity_ids, the title is fixed to update(Name) and the actual value is displayed via the subtitle.
Can a button be created which executes commands
Idk I've never tried
Is this an issue with all fonts? I'm talking about those lines that gets drawn around the text
Do you have shadow on
Is there anyone here who could maybe private message me so that I can send them some of my work for help.. I am making a ui overlay that displays the players armor items, offhand, and current biome. As of now the only things that are working are the biome display, the durabilities of the armor and offhand items, and the stack count of the offhand items. (so the only thing I am trying to get working is the item renders. Please do help a homie out..
(i could pay a few bucks for what im sure is not much work.. I am fairly new to json ui so i think i have it mostly done, but am just struggling.)
(idk if im allowed to say that.. if im not ill delete it, sorry.)
OK yall.. I am trying to use the 'custom' 'inventory_item_renderer' for displaying items in a ui and it asks for a 'item_id_aux' and no documentation i am finding has any WORKING way of getting items aux ids (except for values before the flattening) that work with the display. I am calculating the ids for items, putting those numbers in, and loading in and if I calculate for a compass, it shows a freaking armor stand... calculate for a clock, it shows an iron helmet.... ughhhhh
How do I use the translation feature in json ui? .lang
I found it
No, I'm faking a shadow by rendering a text twice with different colours and overlapping them. But I'm not talking about the shadows, but the lines around the edges
I don't think you can remove them
I've tried with similar fonts as well but still nothing. Is it an issue with all TTF fonts? If so, how can MinecraftTen and the smooth font render without those lines?
MinecraftTen also has this issue
Put a background the same color as these lines 😭🗣️
probably a stupid question, but could it be a "border", around the letters?
quotations because I'm not as smart as other people and I'm not sure if that's the right term in this scenario/case/situation/etc.
ig it's just a problem related to how json ui renders ttf fonts
Don't scathe yourself for trying to help.
bad habit related to self-esteem issues, lmao, sorry
extremely hard to break it, been having issues with that kind of stuff for years
trust me, it's not that I enjoy it
just haven't found out how to truly break free from it
No need to apologize.
That's also embarrassingly part of the bad habit
💀😂💀
saying sorry too much, is what I'm referring to
i sometimes ignore someones call for help because of a similar reason lol
not sure I quite understand what you mean, but we don't have to talk about it, especially not in the JSON UI channel, lol
😭✌️
could you maybe add me, since I can't add you? you seem like a really nice person who's genuinely kind of chill most of the time, and you seem quite interesting to me, so kind of wanted to add you
if the answer is no, I can understand
no worries, if that's the case
just thought I'd ask
I was wondering if I could make a joke but it will be better if i just answer your question 😭
sure 👍
you can make a joke, I'm not afraid of a joke, lol
well, its sadly too late now 😢
nah man, i dont add randoms 😭✌️
That's what makes us feel alive
I like your humor
🫶 thanks
i like my humor too
How do i make a custom ui's buttons selectable by console?
I mean... this would technically solve the issue, but I don't want that colour
I wish Mojang would allow us to use otf fonts as well, or other types of fonts
yo can u help me?
- i dont always help
- if you do have a question just ask it without asking to ask a question that asks for help
aight um look in #1478507915953570026
its doing some wierd shizz

zel is helping rn
i regret installing linux
Lol

I'm kinda forgot how to get a formatted text from binding text to another binding text and display it on button name or other variable
anyway, is it possible to use binding text like #form_text for "sound_name"?
"form_button@common_buttons.light_text_button": {
"sound_name": "#form_text",
"anchor_from": "top_left",
"anchor_to": "top_left",
"size": ["fill", 32],
"$button_text": "#form_text",
"$button_text_max_size": ["100%", 20],
"bindings": [
{
"binding_name": "#form_text"
// any formatting here...
}
]
}
@placid geode Can you help me again? I created a system to move the text and resize the image, but for some reason the text position is different from the mobile version. Is there any way I can fix this?
I wanted it so that if I changed the position, it would be the same for everyone, mobile PC, etc.
You're right, but that's because that person is intelligent.
Intelligence is not a reason to ping
Besides that there are plenty of other people intelligent
Okay, okay, you win.
But I’m not him so he should say it himself
Exactly, but I understood what you meant, I won't do it again.
👍
Json UI erro. help me?
[UI][error]-UI Control: sdl_store_header_with_coins | UI Control: sdl_store_header_with_coins_content | UI Control: top_bar_coins | UI Control: top_bar | UI Control: title_stack_panel | UI Control: search_header_stack | UI Control: search_header_text_box_panel | On Control Path: /store_data_driven_screen/variables_button_mappings_and_controls/safezone_screen_matrix/inner_matrix/safezone_screen_panel/root_screen_panel/screen_content/top_bar_section/sdl_store_header_with_coins/sdl_store_header_with_coins_content/top_bar_coins/top_bar/title_stack_panel/search_header_stack/search_header_text_box_panel/clear_button | JSON UI parse failure: Must define a collection name for the binding!
bedrock-samples has a lot of examples
You can see the code for auto-save animation
Anyone can help me?
https://discord.com/channels/523663022053392405/1479947045241487511
I don't think you can do anything to fix it. clips_children has always been like that. For me, in full screen mode, everything looks fine but when I open the game in windowed mode, wherever clips_children is used, it clips a bit more than it should or sometimes a bit less.
How can I make the stone background with just the stone texture??
Maybe like nineslice repeat??
But I don’t know how to implement it in the json object of the texture
If that how I should do it
I did not check if there was a nineslice_type parameter in json ui but yeah
When I say « just the stone texture » it’s the 16x16 block texture
How do I add my desired fonts as ttf to font_metadata.json?
I'm not sure if I should add this to font_metadata.json
Is there any binding for player tag or score board? And for making it fully disabled? Also where I can find the bindings documentation?
"heart_renderer": {
"type": "custom",
"size": [ 1, 1 ],
"renderer": "heart_renderer",
"layer": 1,
"bindings": [
{
"binding_name": "#show_survival_ui",
"binding_name_override": "#visible"
}
]
},```
#objective_sidebar_name gives you the scoreboard title if that's what you meant
and this can show the player nametag
"playername_grid": {
"type": "grid",
"size": ["100%c", "100%c"],
"grid_dimensions": [1, 1],
"grid_item_template": "hud.player_name",
"collection_name": "players_collection"
},
"player_name": {
"type": "label",
"text": "#gamertag",
"bindings": [
{
"binding_name": "#gamertag",
"binding_type": "collection",
"binding_collection_name": "players_collection"
}
]
}
yes
it's so annoying
Yeah that’s unfortunate
LOL @manic dragon @rocky quail
they made an AI do it
LOL 🤣
Ahhh yes Undefined, undefined and undefined
I was researching some things in the JSON UI documentation and suddenly this happened lol
Interesting, I'm on the lookout for undocumented stuff
Will they use the JSON UI customization scheme, but to modify the DDUI?
If that's the case, I'll be very sad with Mojang.
maybe, let's hope not
whats the correct binding operation for adding a string to a string bind?
example
"source_property_name": "('§' + #text) = #text)",
im trying to do something like this and my game crashes
fixed, solution for anyone else like me:
('§' + #text) // you dont need = or anything else
ah yes, the undefined docs
the goat of JSON UI documentation will still be the old one https://wiki.bedrock.dev/json-ui/json-ui-intro
bruh
Last updated 03/05
@raw barn Did you know about this page? And they are still updating it.

One message removed from a suspended account.
One message removed from a suspended account.
Woah! never could I imagine this happening
Also what's with undefined being everywhere and not set default values lmao
I wonder how accurate those descriptions are...
they're broad
it sucks at the moment
like this property virtual_keyboard_buffer_control
it says: "Whether this input uses a virtual keyboard buffer."
i mean, no shit
It's not a boolean afaik
what does that even do
Some other info is wrong too. Wrong description and type
One message removed from a suspended account.
from the samples, possible values are text_edit or text_scroll
It's in sign_screen right?
I believe text_edit is a control name and not something fixed
yeah, the other one is in the npc screen
Dumps every up-to-date JSON-UI property based on the newest Bedrock stable release
advertisement
should add possible values there
What are you trying to do?
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.
Could be something wrong with the animation itself
One message removed from a suspended account.
Are you using factory to generate the animation?
I can't really tell what's wrong without seeing the code. Title shouldn't normally interfere with any animation
How can I move this slot? Which file controls it?
:^
Use ui_common to grab the hotbar and remove 1 slot, and use inventory_screen to move it.
i have a custom sidebar, using titles as the binding, but the issue is this causes flashing, and i would prefer not to use the actionbar, is there any workaround besides the actionbar, to stop the flashing?
bruh AI

For what? Aren't they gonna move to ore ui LoL
I have a theory that perhaps editing the new DDUI interface could be done using the same scheme as JSON UI, only changing the interface renderer, to make migrating the interfaces easier.
Is there "#anchored_offset_value_y_absolute" ?
Hmmm aren't there are some documentation for how to use/edit ore ui already? I see it's code has a whole difference between the current ui. Or maybe they'll keep some stuff in JSON or sum backwards compatibility purpose?
Yes, the Mojang developer himself said they haven’t implemented ore_ui yet because of json_ui; if they changed it directly, it would break several marketplace add-ons and creator add-ons
It looks like they’re going to merge it, I hope it turns out good to use.
I see, good to know
Can anyone help me? I'm using a text-to-text splitting tool in the Bossbar, but the problem is:
It currently displays as "x55555" normally.
However, if I remove the "x," leave only "55555," or just use the numbers, it stops displaying. What could be causing this? Can anyone help me?
I have no clue what I am looking at honestly
Text cannot display numbers
It can only display strings
Add the paragraph with z

Most likely, they'll just change the JSON UI rendering method to match the ORE UI, and then we'll edit the DDUI interfaces using JSON.
Mojang being Mojang
why does the header is gray when my background is visible and is white when the bg isnt visible
even the dropdown label
this is so frustrating
i tried everything
your header is below the background, change its layer to a higher one
i did this
ill retry
change the layer of the whole generated_contents stack panel
can someone help me out? idk how to make the server form body label appear
"type": "stack_panel",
"orientation": "horizontal",
"size": ["100%c", "100%"],
"anchor_from": "center",
"anchor_to": "center",
"collection_name": "form_buttons",
"controls": [
{
"text": {
"type": "label",
"color": [0,0,0],
"text": "#form_button_text",
"max_size": [ "100%", "default" ],
"offset": [ 0, 4 ],
"locked_alpha": 0.5,
"font_type": "default",
"font_size": "normal",
"bindings": [
{
"binding_name": "#form_button_text",
"binding_type": "collection",
"binding_collection_name": "form_buttons"
}
]
}
},
{
"my_offset_button@server_form.my_custom_button": {
"collection_index": 0,
"$button_size": [64,64],
"$padding_size": [80,80],
"$icon_size": [32,32]
}
}
]
},```
PLS someone help me out with this one
does anyone know the max image size in a json ui ijmage
Is there any?
import { ActionFormData } from "@minecraft/server-ui";
system.beforeEvents.startup.subscribe(({ customCommandRegistry }) => {
customCommandRegistry.registerCommand(
{
name: "c:menu",
description: "Open a simple menu",
permissionLevel: CommandPermissionLevel.Any,
cheatsRequired: false
},
(origin) => {
const player = origin.sourceEntity;
if (!player) {
return {
status: CustomCommandStatus.Failure,
message: "Only players can use this command."
};
}
// Delay 1 second (20 ticks) before showing the menu
system.runSchedule(() => {
const menu = new ActionFormData()
.title("Simple Menu")
.body("Choose an option")
.button("Option 1")
.button("Option 2")
.button("Option 3");
menu.show(player).then(response => {
if (response.isCanceled) return;
const choice = response.selection; // 0-based index
player.runCommand(`say You selected Option ${choice + 1}`);
});
}, 20);
return {
status: CustomCommandStatus.Success,
message: "Opening menu..."
};
}
);
});```
Can anyone help me? when i run /menu it just says
```[Scripting][error]-TypeError: not a function at <anonymous> (menu.js:37)``` and i literally have no idea why
whats the 37th line?
this is off topic
where did you get runSchedule anyway
runSchedule => runTimeout
isCanceled => canceled
again, this is off topic
Is it possible to show your inventory slots in a form?
Showing your items is possible. See Herobrine's chest UI.
But if you want it to interactable like inventory, then no, it's not possible
You can interact with them like regular form buttons
I just want to show them, but I tought it could be the actual inventory renderer so it feels like the actual inventory
But I don't want them to be buttons that close the form
Inventory renderer is just to display the items. It doesn't interact with anything.
There's no other way afaik
Use entity inventory or chests if you really want the feel of player inventory
this is json?
without on
no its Javascript
it's just a } anyways i found a solution randomly so 😭 ✌🏻
oh i see
Why not?
You dug real deep
bruh xd
honestly true
Wdym, that was just some days ago
that was 2 hours ago wym?
btw #anchored_offset_value_x how does this binding work?
Cuz it doesnt seem to work at all when i use it
{
"left_text_template": {
"type": "label",
"text": "#text",
"bindings": "$bindings",
"debug": "red",
"use_anchored_offset": true,
"property_bag": {
"#anchored_offset_value_x": 100
}
}
}
you need it inside bindings array
and it's a percentage value 0 - 0%, 1.0 - 100% etc.
It is 2023 already!?
also you need to define the anchors. top_left anchors work best
More like 2024
I think I get it now, but gotta check one thing
One question: are these offset related to the size?
Alright this is what i came up with:
{
"left_text_template": {
"type": "panel",
"anchor_from": "top_left",
"anchor_to": "top_left",
"use_anchored_offset": true,
"bindings": "$offset_bindings",
"size": [
1,
1
],
"controls": [
{
"label": {
"type": "label",
"text": "#text",
"anchor_from": "top_left",
"anchor_to": "top_left",
"use_anchored_offset": true,
"bindings": "$bindings",
"offset": [
"50%",
"50%"
]
}
}
]
}
}
Its offset is dynamic, based on a bossbar
no idea if that thing what i made is the best way, but if it work, it works
😭✌️
tbf anchored offset bindings are great
Sorry for late reply, these offsets rely on parent size
Parent size? must be wrong!
from my observations it uses the elements size
I'm pretty sure it's based on its parent's size. I've worked with it before
my previous version had the anchor offsets instead of the actual offset array with 50%
and it worked the same as offset with 50%
Alright this is what i came up with:
{
"left_text_template": {
"type": "panel",
"anchor_from": "top_left",
"anchor_to": "top_left",
"use_anchored_offset": true,
"bindings": "$offset_bindings",
"size": [
1,
1
],
"controls": [
{
"label": {
"type": "label",
"text": "#text",
"anchor_from": "top_left",
"anchor_to": "top_left",
"use_anchored_offset": true,
"bindings": "$bindings",
"property_bag": {
"#anchored_offset_value_x": 0.5,
"#anchored_offset_value_y": 0.5
}
}
}
]
}
}
{
"left_text_template": {
"type": "panel",
"anchor_from": "top_left",
"anchor_to": "top_left",
"use_anchored_offset": true,
"bindings": "$offset_bindings",
"size": [
1,
1
],
"controls": [
{
"label": {
"type": "label",
"text": "#text",
"anchor_from": "top_left",
"anchor_to": "top_left",
"use_anchored_offset": true,
"bindings": "$bindings",
"offset": [
"50%",
"50%"
]
}
}
]
}
}
i got the same result with both codes
0.5 means 50% so you should get the same results
yeah. But you said the #anchored_offset_value_x bindings were relative to the parent's size, no?
Yeah
Im confused 😭
Normal offset array that uses percentage also depends on parent size
yeah
The offset percentage uses the size of the label element
it moved the label by the halfed width and height of the actual label
not by 0.5 pixels
now I'm confused
I tried the same code and it offset by 0.5px (without the bindings)
without bindings
Hold Up
No idea why but it suddenly works without the offset array
I guess you were indeed right!
I wonder what made my label go offcenter when i coded it 🤔
thanks anyways
Ig JSON UI doing what it does best
-# confuse
yes they are
ther is opne that isnt relative
#anchored_offset_value_x/y_absolute?
the only absolute one that shows up is #size_binding_x/y_absolute
i think
It was never used anywhere and I never tried it myself
guess its just size
I was talking about this the other day.
There is no absolute value for offset.
Jsoff
JavaScript for Javanese people
how to access #hud_title_text_string in other UI screen like pause screen, emote wheel, etc.?
when those screen are open you cant access #hud_title_text_string
im pretty sure you cant access bindings from other screens
you can still access scoreboards in those screens
Not all bindings are accessible like this
You can access scoreboard because pause screen used to have scoreboard
Title is not accessible anywhere else other than hud_screen
then is there a way I can make minecraft window still show HUD while window is not active... I dont want pause screen overlay when window is inactive
Add "force_render_below": true in the pause screen and hud screen will be visible from there
it says it is an invalid property
Add this in pause_screen element of pause_screen.json
If it doesn't work, add "render_only_when_topmost": false in hud_screen
i found
{
"binding_type": "view",
"source_property_name": "(((('%.300s' * #text_a) - ('%.200s' * #text_a)) - '\t') / 10)",
"target_property_name": "#alpha"
},
``` I added this binding because I wanted to be able to change it to a desired alpha value, but is it impossible to get a number like 0.5?
You're doing an integer division that only results in integers. Instead of dividing by 10, multiply with a variable that has a value of 0.1
It's safer that way, because trying to divide strings will crash the game
other packs
vanilla
thats it
through trial and error
that is the best way
if you need help with documentation get yourself on bedrock samples
and this discord channel
Uh huh.. what did she tell you
She just asked me if I remember you, that's all
how can i make a dynamic crosshair? (0 ui experience)
ik i can bind it with a title text but what other ways are possible?
you could do an item
actionbar
chat messages
toasts i guess
hmm
substitles (kinda) (from title, thats why kinda)
what about scoreboards
using scoreboards?
i dont know any examples
i finished my round
i mean you can look through bedrock samples but it wil lbe hard with 0 json ui experience
well did you
I only remember the server about json-ui, but didn't remember how we met because we don't have chat history
im the owner of that server
Nice to meet you again tho
Would you like me to invite you
yeah
Me too
how can I use #collection_index to labels?
Collection index is used to select an element in a collection so it depends on the collection you’re using (form_buttons, ..)
After picking an element you can access element specific binding like form_button_text for form_buttons collection
Then you can set the value of your label to this collection element specific binding
"progress": {
"type": "image",
"texture": "textures/ui/experiencebarempty",
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"size": ["100%", 6],
"collection_index": 0,
"controls": [
{
"progress": {
"type": "image",
"size": ["100%", "100%"],
"layer": 1,
"clip_direction": "left",
"clip_pixelperfect": false,
"texture": "textures/ui/experiencebarfull",
"$max": 100.0,
"bindings": [
{
"binding_name": "#form_button_texture",
"binding_name_override": "#progress",
"binding_type": "collection",
"binding_collection_name": "form_buttons"
},
{
"binding_type": "view",
"source_property_name": "(#progress * 1)",
"target_property_name": "#converted"
},
{
"binding_type": "view",
"source_property_name": "(($max - #converted) / $max)",
"target_property_name": "#clip_ratio"
}
]
}
}
]
}```
anything wrong with my code? been a while using progress bar
its wrapped in a form_buttons collection name stack panel btw
and
.button('hello world', '50')
is it possible to render a specific item from my inventory on my hud like this?
Yes except the offhand and armor slots
You'd basically copy the code for how items are displayed in hotbar and change the collection index. 0-8 for hotbar items and higher than that for inventory items
I found this item_id_aux, and this is what I’m looking for. But how can I get the ids of the items/blocks using a script and print it?
Which slot do you want to display?
this slot
I couldn't find it. But here's a working code @wintry crater
i tried #form_text too but seems like its not working at all
thanks!
I don't see anything wrong either but try 1 * #progress instead
it showed a lil bit of progress, but i did set 100 though
Does the tab(in the menu) text gets imported from another script or is it in the hbui files?
OreUI
Whats the Best Software To Do Coding
VisualStudioCode
🥺
Does The AI Feature Be Good
swapped #progress * 1 back it removes the progress. so i think 1 * #progress quite works but not in a way that it full works. any fix?
How Do I Start A New Thingy In VisualStudioCode
no
Can Anyone Teach Me How To Code Im Starting Fresh]
i would recommend starting with the actual intro and overall wiki
What i did is I modified vanilla code
oki
here are all ui/*.json files
@weak cape Zel Could You Teach Me Like How To Start Maybe
anyone?
It's really weird...
First, try
"$one": 1.0 $one * #progress
If it doesn't work, do something like this-
.button("...", ":100") #progress - ':'
this is what exactly i needed, to cut off the colon. thank you so much its working now
I already did
You got tutorials and reference documents
That is how I started
If I have this text remove this abc efg, how can I get only abc? I tried (#text - ('%.12s' * #text)), but the result is abc efg
you need to split them. but I'd recommend handling them like this https://discord.com/channels/523663022053392405/1406966578159026266
I see, thanks! I forgot how format works since it’s been a while since the last time I touched a json ui file hehe
I wish I had something fun to do...
Code Doom inside json ui
Is it possible to get the item_id_aux of the items inside the chest using a script? I'm planning to show the item icon instead of the item identifier
Use this if you have custom items https://discord.com/channels/523663022053392405/1474237386828283965
If not, you can use the map from Herobrine's Chest UI
My half brained ape with bearly ui knowledge about to code all of that health ui
How can I position the 2nd stack_panel below the 1st stack_panel?
here's my json ui structure
stack_panel (vertical)
stack_panel 1 (horizontal)
= elements
stack_panel 2 (horizontal)
= elements
thanks!
How do I make the slot image disappear if there's an item in it?
Hello, is it possible for a script to detect if an item has been placed in the slots of a crafting table, for example?
check if #item_id_aux is not equal to -1
or 0 but i remember it was -1
I achieved
J’pense pas
La crafting table n’a pas d’inventaire
Can this be moved, or the text underneath? Pocket edition (iOS). I want to be able to read the preview stats.
Stats use a custom renderer, I can only seem to hide them or not. Can't seem to find where the top buttons are coded. Any pointers to whether it's currently data driven, what it's even called etc?
Hardcoded. So can't be moved
Both the stats and the buttons?
Size can't be manipulated?
Or transparency or top/background with rendering?
I just want to see the performance metrics on pocket, thanks mojang lmao
Maybe changing the matching button textures (if they are actively used) to transparent would work. ¯_(ツ)_/¯
(There's a hide HUD option but that's ridiculous.)
If anyone knows where if anywhere this top bar is referred to in the vanilla texture pack, that would be appreciated. I can find the preview stats section but don't want to turn that off, i need to be able to turn off the top bar.
You can shift the debug menu downwards
I'm dumb at ui so uh
when I manually change empty bar wideness, it affects height too, how do I prevent it
Awesome. How? I've tried modifying everything associated with it
In debug_screen.json apply offset to the special_render element
Is there a way to detect the current GUI scale modifier?
Something similar to binding variables like #is_spectator_mode or #is_creative_mode..
Nope
Is it possible to use reserved text in sendMessage? I want to create my UI using it; how do I get the text and display it in the player's HUD, just like in the title?
is the image ninesliced?
no
eh no need already did this in my method now
Thanks so much!
I want to ask something we can do modal animated UI ?
yo Guys, I have a question , How can I get several texts without the spacing? like "clUI:red Warning!" "clUI:blue Detected!"
why is this happening??
why is there space between the buttons
?
i found the problem
can someone tell me what actually happen on this situation?
"button_texture": {
"type": "panel",
"size": [34, 34],
"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": [30, 30],
"offset": [-2, -1],
"allow_debug_missing_texture": false,
"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"
}
]
}
},
{
"[email protected]_renderer": {
"offset": [-2, -1.25],
"size": [30, 30],
"anchor_from": "center",
"anchor_to": "center",
"layer": 10,
"property_bag": {
"#item_id_aux": "#item_id_aux"
},
"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": "((#texture - 'aux_id_') * 1)",
"target_property_name": "#item_id_aux"
}
]
}
}
]
}
I thought it was a missing texture, but when I tried to replace the missing texture, the purple thing is still there
solved
How do yall send a chat using just json ui
I just saw many chat screens that can send messages by clicking the button
My guess was the button is a send button using a custom value to send
ik u solved it but they seemed to have fucked up "allow_debug_missing_texture": false, in some recent update
I thought I was tripping about that
It's not :>
Nah you just have to sell your soul for a period of time lmao
26.0
So annoying
Is it possible to use binding conditions with "view" type bindings?
afaik it's not possible. But I was told there's some hacky way to do it, although it never worked for me
does anyone know if the size anim type can be used on font scale factor
and does font scale factor accept [] for width in height rather than a single value?
Nope
hm i will just have to do it on the size with states of my text then
does a buttons panel have to be in the scrolling content of a form for the scrolling content to actually be able to be scrolled or no?
because i have a form and i didnt want the buttons to be scrolled, the things should be separate. perhaps i can add button mappings?
or is there some property for an element to not be scrolled like that sticky css one?
you need to add it outside of the scrolling content
I have a working edit_box hover system using text_control/hover_control. Inside the hover panel I want to display a label that reads and strips #text from the parent edit_box. The binding (#text - 'flag') inside the hover panel's child label doesn't work — #text seems out of scope. Is there a way to pass #text down into a nested hover panel child, maybe via source_control_name or another approach?
