#JSON-UI General
1 messages · Page 18 of 1
lol
just looking at it, it seems definitly better than writing json ui code by hand
although maybe a drag&drop elements application might be better idk
tbh... drag&drop is a bit too overrated
using php/python/js sets an entry brarrier... that might be good
tools like these aren't for newbies learning json ui, they are rather for pros who are way too tired to write them
well there should definitely be more resources for learning it
but on the other hand.. it is already deprecated
honestly not surprised
yeah but mojang probably needs 2 years to implemt oreUI fully, 2 years to make it actually usuable by the community and data driven and maybe 1 year to get it out of experimental
my point is, there's no real alternative
at that point this UI thing becomes more of geometry dash 2.2
pretty sure it has been in development for about 5 years now.
Bedrock new UI was announced 5 years back then since they showcase some E3 stuff
then it gone radio silence for some reason
they probably made small progress in these 5 years on it since they are focusing on other aspects of the game
then few years later, achievement screen got replaced by ore-ui and after next 1 year, world creation screen would take place.
we will see gta6 before data driven OreUI
yeah, idrk why would new UI are so ridiculously long development
if ore-ui reaches 6+ years then that's pretty bad.
it's basically a studio failed something that one single developers singlehandedly made a giant update for 6 years.
the sad thing is this is fucking true, but no one would have thought it was like that 1 year ago
even worse is, that is just UI.
there's no insane game changing whatsoever
but yeah, it is what it is.
i bet they tried to implement too much and didn't successed, oreUI honestly it could have been anything that is not messy and a pain to use, it didn't have to be some fancy html/react bs
and it even surprising when a minecraft knockoff called minecraft legends, somehow has more ore-ui screens than current bedrock we have.
both uses the same engine besides legend uses 1.17 branch.
idrk anymore
For real, if they've just focused on JSON.
It what makes UI being unique
Even java players are amazed because how are bedrock players editing UI with JSON
sarcasm?
No really I sent someone my works
I know the channel is JSON UI but I think it's still the best place to ask
Is it possible to create custom OreUI yet ?
lmao, JSON-UI being unsupported?
Not yet, maybe freeze yourself in a ice first
Yeah, they've been warning for some time, but without giving alternatives
you know how it is done in java?
could be nice to have an ore ui channel.. someday
They've told me data-packs but I don't think so. I don't even think they have custom UI's 😂 They're stuck on 54 slots Chest GUI
They won't. They are stuck on the concept that bedrock is full of bugs
if ore-ui being modifiable then sure maybe.
THEY ARE
they kinda don't atm.
going your way through game cache and modifying ore-ui aren't what i call modifying.
not like you can load the modified ore-ui screens through resource packs
well idk, why modify UI through the game assets when you can just load modified json-ui through resource packs like legacy shaders does
that's essentially "modding" at this point
How to make math with variable
For example my default value is 15,and i want to add +2 for certain key
number: $num + 5 something like this
their issue
skill issue
How can I change the exit button texture and offset
can you put the item name as a label instead of the normal item?
how can I change xp bar size
Where do i learn json-ui
Bedrock Wiki is probably the best option
Also you can watch Dingsel's videos on YouTube
Java players have it way easier btw
Hey, any way to trigger an entirely custom JSON UI element via commands ?
Via /dialogue perhaps ?
Hey just wanna ask if you can rotate the button in different direction.
Obviously, why is it called "JAVA"...
Why would it bes easier just bcz it is java?
Minecraft Java I made from the programming language Java which it is easy to use ( not totally ) than the C++ of Minecraft Bedrock. If we're talking about UI 🙂 , if I'm wrong pls don't be angry at me..
Well in terms of modding.. doesn't really matter if u r working with java or C++, if you don't know what variables do you are fucked
Thats where symbols become handy
And we have symbols for china 1.16.. and bds
i wont argru cause i dont mod java but yeah that all i know tho
If you rhink so... but I have a question about je modding. Do y'all have official symbols from mojang for je?
They got all kinds of free plugins and documentation on custom UI
Java is a trash language, the game is bloated and written in spaghetti code. They just have a huge community + its kinda "open sourced"
Asking again because answer seems to have been deleted?
Is there any way to trigger an entirely custom JSON UI element via commands?
Via /dialogue perhaps?
Java is definitly not a trash language
Well... we got the data and examples on custom ui as well, you just need to be smart enough
What?
Imo it is but everybody got their own opinion
Its not really suitable for modern games
Has nothing to do with "smart enough", you just gotta have the will to waste tons of time thinking yourself into that
it kinda yes and no.
sure you can make java games but good luck porting it on some platforms.
even hytale originally being a java has been rewritten to c++ because it kinda sucks for porting things.
Hytale would've been made if hytale didn't Collab with the studios that makes LoL(I forgot)
Well, it doesn't exactly matter anyways because simon sold the studio to riot.
idrk why would he do that but yeah, hypixel studio is basically a sellout.
then this year simon went ahead and started another game studio.
Really? Is he still working with 3D games 'till now?
probably, not sure but although it's pretty clear that he's starting a new game.
he announced his new studio (still unnamed) on his twitter.
Java games are still a nice option, espacillyfor moddability
it's nice but no one uses it nowadays.
well, still kinda mostly used for apps ofc. not games.
Ye C# and C++ is a better option if talking about it's compatibility
Nah not C#
Nobody likes C#
Just use Java, it is the better C#
But using C++ instead of Java, is like saying to put out a fire with a wale... both langs are for very different use cases
Unity is based c sharp
i disagree too many people use c# over java
Both have their advantages as well as disadvantages, I prefer java bcz it runs about anywhere, while C# is windows centered
The funny thing is, existing C# compilers weren't good enough.. thats why the devs at unity wrote their own tools for everything, jit compilers, c#2c++ thingy.... iirc
Anyway..
Lets not talk about c# and java
What do y'all use for ui/ux design?
I think they were referring to datapacks
The argument is over so don't bring this up anymore, and I don't think they're talking about dataoacks
i am not trying to bring it up...just correcting you.
figma
figma is great!
is there a way to set #collection_length to a constant number instead of it listening to #custom_form_length?
i'm talking about server form, custom form btw
vanilla's control section are getting me a headache now
2 freaking buttons on the same spot like why does this exist
is this what we call unoptimized
As they would do the animation lol is that I don’t know about the animations
No pre planning?
You don't design it in photoshop or figma and then try to create it in css?
I eyeball it
literally me but json-ui
the thing with JSON UI is that it was designed neatly:
- JSON structure/language -- matches with the rest of data-driven stuff like entities
- it can merge with other resource packs (when done correctly)
- its like HTML and CSS combined
its like its supposed to be good enough, but they gave up partway through
bold enough for them to develop a UI engine, that supports JSON. i cant believe my eyes
Well it was supposed to have a docs but although they just kinda gave up after ore-ui started development. which about 4-5 years ago
well the only bad thing about JSON UI, or anything data-driven really, is that you cant create your own custom thing. for instance, in JSON UI, that would be custom screens, and a way for calling them. but its the same years ago for blocks, entities -- we cant create our own, only modify existing ones. and if Ore UI cant fix that, then i wouldnt think its any better. honestly i think its a misconception
well, been there since v1.0. that's like, json-ui is 7 years old.
yeah, its an amazing feat nonetheless
i'd assume it already started even before v1.0 since there's json-ui even beta/alpha
its something they dont even mention in changelogs i think
well time will tell, mojang really loves going random with ore-ui and stuff
some cases where json-ui variables and textures somehow supported on death screen
yeah lets hope for the best :)
some changes is like "maybe they'll be modifiable" and then some changes are "eh maybe no"
at that point i gave up on guessing.
lets just say they have other things to be doing for now
yeah, let's hope that this thing "worth" our performance being intensive
i mean we still have custom block/item components being worked on. after that, im not sure. hopefully it'll be the UI's turn
It's kinda worrying about the UI side of thing
since ore-ui is more of using web techs and having built-in browser into the game, this effectively yeets the performance and probably overheating some devices aswell
that also kinda poses to some exploits like maybe opening some sketchy site if they allow modifying.
tbf that's what people are really against with even discord mobile turning into react native
yeah the performance sucks
but opening the settings in the pause menu while in-game also takes a good time right now
did bindings get fucked up in a new update or something?
they don't seem to be working the same way anymore
hi shanewolf, sorry for rescuing it... but do it works for server forms too or only hud?
I m trying some examples from here but nothing is working, I m trying to change the values manually on the json first before advance on the APIs, but anything I do it doesnt take effect on the offset at all: json "location": { "type": "panel", "size": [ 280, 280 ], "anchor_to": "top_left", "anchor_from": "top_left", "offset": [ 0, 0 ], "controls": [ { "[email protected]_image_border_white": { "size": ["100%", "100%"], "color": [ 0.0, 0.0, 0.0, 1.0 ], "layer": 3 } }, { "current_offset": { "type": "panel", "size": [ 16, 16 ], "anchor_from": "top_left", "anchor_to": "top_left", "use_anchored_offset": true, "property_bag": { "#anchored_offset_value_x": 0.0, "#anchored_offset_value_y": 0.0 }, "controls": [ { "[email protected]_image_border_white": { "size": ["100%", "100%"], "color": [ 0.0, 0.0, 0.0, 1.0 ], "layer": 3 } } ], "$percent": 0.01, "bindings": [ { "binding_name": "#form_button_text", "binding_name_override": "#text" }, { "binding_type": "view", "source_property_name": "((50) * $percent)", "target_property_name": "#anchored_offset_value_x" }, { "binding_type": "view", "source_property_name": "((50) * $percent)", "target_property_name": "#anchored_offset_value_y" } ] } } ] }
might be because you're changing the offset by 0.5% of the parent's size
which is barely anything
unless you tried larger numbers
but dont the anchored_offset_value_x and y use the percent like 0 = 0 and 1 = 100? so 0.5 would be actually 50% from the parent?
I think the problem is with the operation itself, how can I multiply? I did some tests like so: json { "binding_type": "view", "source_property_name": "('§z'+(3 * ('%.33s' * #form_text) - ('%.30s' * #form_text)))", // Y "target_property_name": "#newtext" }
And the result supposed to be 240, but is actually returning 3, so the number before the multiply signal, what am I doing wrong here?
How can I hide the hunger bar with a title I don't want to use /hud @s hide hunger, I want to hide the hunger bar with a title when I want and show it again with another title when I want
Why not /hud ?
so
Use a binding in hud_screen.json. But I don't think this will work but yeah just a hunch though...
"hunger_renderer": {
"type": "custom",
"size": [
1,
1
],
"renderer": "hunger_renderer",
"layer": 1,
"bindings": [
{
"binding_name": "#hud_title_text_string"
},
{
"binding_type": "view",
"source_property_name": "(not((#hud_title_text_string - 'hunger') = #hud_title_text_string))",
"target_property_name": "#visible"
}
]
}
}```
I had already tried something a little similar like this before but it didn't work, in the end I think I'll use /hud
Did you try my code? I didn't try it yet tho maybe it would work on hud_screen.json
I just tried it but the bar doesn't show until you enter the title
So it means it works
That's what you want right?
Yes it works but it's not what I wanted
It should work in all screens, not just hud screen. The issue in this code is that the source property is set to "((50) * $percent)",. You need at least one binding in any source property equation. For example, if you set #offset_amount in property bag to 50, then used that binding in the equation, it should work.
Parentheses/order of operations in UI is very awkward. It's not just left/right and evaluate parantheses first like traditional math is. For example, putting 4+ parentheses around an operation can make it stop working entirely. Just weird stuff. I never really tested it properly so usually when I have an issue I just kind of trial and error till it works. In this case, I think you need another set of parentheses before you have 3 * and to possibly another set of parentheses around the one before the 3. You might also need to add + '' at the end for the amount of parentheses to not cause it to bug out.
'%.#s' seems to have different number of digits per character depending on the Unicode number.
If the Unicode number is '0xnum',
If num<128(2^7), the length is 1, if num<2048(2^11), the length is 2, if num<65536(2^16), the length is 3, and if num=65536 or more, the length is 4.
You need to be careful when using script API or servers to convey information.
But I don't know why this is the result...
(Sorry for my poor English).
I edited the core ore UI and it can create its own custom routes that can be called in the way we want, unlike the screen json UI which has hardcoded button names
I hope it can be better, but the performance of Ore UI is still very bad
thanks, really good tips that I would take forever to figure out 🙂
I spent the day yesterday doing tries after tries and I finished with it working after splitting into two different operations, one first to remove the strings and convert the percent from the #form_text into number, then I used it to set the #anchored_offset_value_y, but after your explanation I think the problem was the parentheses, because I did some tries also using the binding #form_text and it was not working too json "bindings": [ { "binding_type": "global", "binding_name": "#form_text" }, { "binding_type": "view", "source_property_name": "(('%.27s' * #form_text) - ('%.23s' * #form_text))", "target_property_name": "#loc_x" }, { "binding_type": "view", "source_property_name": "(('%.33s' * #form_text) - ('%.29s' * #form_text))", "target_property_name": "#loc_y" }, { "binding_type": "view", "source_property_name": "(#loc_x * $percent)", "target_property_name": "#anchored_offset_value_x" }, { "binding_type": "view", "source_property_name": "(#loc_y * $percent)", "target_property_name": "#anchored_offset_value_y" } ]
ah yeah, sometimes if it's too annoying to try to figure out I just end up splitting it into different bindings like this. It's a nice bonus that it makes thing a bit cleaner as well and also makes it easy to reuse for example the loc_x and loc_y bindings elsewhere
Hy, if I wanted an NPC to always have a specific button when it's called some specific name, what would be the way to go?
not worth a whole showcase post but just what i got done so far
wrong image
button image is placeholder from google
i need to do a grid with toggles(filling horizontal then going down and so on)
here's the code for the grid
{
"item_selection_panel": {
"type": "grid",
"grid_rescaling_type": "horizontal",
"grid_item_template": "server_form.custom_toggle",
"maximum_grid_items": 28,
"size": [
"100%",
"100%c"
],
"collection_name": "custom_form"
}
}
do you need help fixing the suff going off menu?
yes
im not the best but
i need it to be in a grid-formation
🔗Links :
Like What I Am Doing? Concider Supporting Me! : https://ko-fi.com/dingsel
Last Video Part: https://youtu.be/CWm-KU5ALOQ
Join My Discord! : https://discord.gg/tzrmH56JXC
My Website And Code: http://skyls.de
Music : https://www.youtube.com/watch? v=tEzYsaLm7nw&ab_channel=SimonChylinski-Topic | Breathing Break from the Riot Creator Playl...
going left until end and then down
this is where i learned scrolling grid
did the same thing but with custom form and it still doesn't work
{
"item_selection_panel": {
"type": "grid",
"anchor_from": "center",
"anchor_to": "center",
"grid_dimensions": [
3,
3
],
"grid_rescaling_type": "horizontal",
"grid_fill_direction": "horizontal",
"grid_item_template": "server_form.custom_input",
"size": [
"100%",
"100%c"
],
"factory": {
"name": "buttons",
"control_ids": {
"input": "@server_form.custom_input"
}
},
"collection_name": "custom_form",
"maximum_grid_items": 30
}
}
oh yeah i removed the binding of the collection_length because then it didn't show me anything
"bindings": [
{
"binding_name": "#custom_form_length",
"binding_name_override": "#maximum_grid_items"
}
]
hm
that's how i wrote if you are curious
its got to be an issue with your scrolling parent then
or mb, no scroll
try setting size manually other then 100%
like width of content area
okay i found the issue, apparently all custom_form ui elements strech themselfs to the end of the panel size:["100%, something] which makes it not possible to have 2 elements in the same row thus leaving the grid no other choice other than to place an element and wrap the next element in the next row, the reason it worked for this guy in that video is because he changed the button size to a constant
cant you just unstrech them?
or put them on a panel for parent (overlap)
not a stack panel
or you could change the size of the element to a constant like the dude in video lol
or like 50% or something
yeah ig
just going to ask before i try because why not
how could i "bind" a prefix of my button text to enable a custom image
like if my text starts with "LOCKED" i would show button without the locked text and then toggle a lock image
going to try this
i already see a bug i made lmao
form button text - text = form button text
i did that and now it shows on everything
ill keep messing around with it
the fdroid version doesnt have ads
umm i need help. i have this problem for a very long time
"anchor_to": "bottom_left",
"anchor_from": "bottom_left",
"offset": [
20,
0
]
}```
how do i make that the server form ui isn't affected by GUI Scale... you know the scale 0, 1 and etc. but idk how to do that... can someone help?
doesnt work for me
#1 im using a normal form
#2 i tried putting a close button on the normal form and the closest i got to it working was x buttons on every form button
so im like stuck
Put it on the parent panel,not on dynamic button
i wanna put an element on the top right corner of the hud screen, how do I do it?
how do i make that the server form ui isn't affected by GUI Scale... you know the scale 0, 1 and etc. but idk how to do that... can someone help?
"anchor_from": "top_right", "anchor_to": "top_right"
can you change the green hover texture that appears when hovering over a slot?
guys i put this in my hud screen
and its not showing up
"random_text": {
"type": "label",
"text": "abcdwfapwhfpahw",
"size": [
"100%",
"100%"
],
"anchor_from":"top_right",
"anchor_to":"top_right",
"layer": 0
},```
- Does it have bindings?
- Did you put that to the
root_panel?
what
Change the size to 50 to know if it's there
Huh?
I put bindings cause of there's none it will be forever on your screen
{
"label": {
"type": "label",
"text": "acdefghigjklmnop",
"offset": [0, 0],
"anchor_from": "center",
"anchor_to": "center",
"layer": 10,
"bindings": [
{"binding_name": "#hud_title_text_string"},
{
"binding_type": "view",
"source_property_name": "(not((#hud_title_text_string - '<text>') = #hud_title_text_string))",
"target_property_name": "#visible"
}
]
},
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": {
"[email protected]": {}
}
}
]
}
}```
What?
I don't understand what are you saying but you could use this, label, or image
its not working
My code or your code?
"label": {
"type": "label",
"size": [50, 50],
"text": "acdefghigjklmnop",
"offset": [0, 0],
"anchor_from": "center",
"anchor_to": "center",
"layer": 10,
"bindings": [
{"binding_name": "#hud_title_text_string"},
{
"binding_type": "view",
"source_property_name": "(not((#hud_title_text_string - '<text>') = #hud_title_text_string))",
"target_property_name": "#visible"
}
]
},
```
current
It doesn't work?
what do i do to make it work
You really need to out that on root panel
Just read this
i have tried
every tutorial in the lands
"root_panel": {
"type": "panel",
"$xp_control_offset|default": [ 0, -13 ],
"variables": [
{
"requires": "$education_edition",
"$left_helpers": "hud.left_helpers_edu"
},
{
"requires": "(not $education_edition)",
"$left_helpers": "hud.left_helpers"
}
],```
this is the default root panel
Just add this
what
Wait n
its all red
"type": "panel",
"$xp_control_offset|default": [ 0, -13 ],
"variables": [
{
"requires": "$education_edition",
"$left_helpers": "hud.left_helpers_edu"
},
{
"requires": "(not $education_edition)",
"$left_helpers": "hud.left_helpers"
}
],
"controls": [
{
"[email protected]": {}
},
{
"left_helpers@$left_helpers": {}
},
{
"[email protected]_helpers": {}
},
{```...
This should be the format
still dont see the text
Ok backups your previous code and just copy and paste this on hud_screen only this change the <text> with your own
ok i backed it up
The copy and paste this on hud_screen.json
Step by step
- Backup your previous code on
hud_screen.jsonand paste it on different folder - Copy my code and paste that to the
RP/ui/hud_screen.json
And that's it
still dont see it
try this instead
{
"label": {
"type": "image",
"texture": "textures/ui/Black",
"size": ["100%", "100%"],
"offset": [0, 0],
"anchor_from": "center",
"anchor_to": "center",
"layer": 10,
"bindings": [
{"binding_name": "#hud_title_text_string"},
{
"binding_type": "view",
"source_property_name": "(not((#hud_title_text_string - 'test') = #hud_title_text_string))",
"target_property_name": "#visible"
}
]
},
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": {
"[email protected]": {}
}
}
]
}
}```
The image will be visible once you put test using title @s title test
I don't really understand what you're saying tho
In hud screen json, just put this no other things just this.
Yeah I know
Huh?
was it suppose to turn black
Yes
it did it
See it works, idk why the label doesn't show up tho
Nope you really need to put that on root panel
And you want to put this on your codes?
"label": {
"type": "label",
"text": "hi",
"size": ["100%", "100%"],
"offset": [0, 0],
"anchor_from": "center",
"anchor_to": "center",
"layer": 10,
"bindings": [
{"binding_name": "#hud_title_text_string"},
{
"binding_type": "view",
"source_property_name": "(not((#hud_title_text_string - 'test') = #hud_title_text_string))",
"target_property_name": "#visible"
}
]
},```
That pretty much should worj
but it doesnt
Hahahaha
I think you can't put "100%" on label so I guess you need to put a value
Ok I can't help you with that now, cause I use images mostly
Hello can anyone answer if it's possible to detect WASD on ui
Maybe with scritps and preserved actionbar
With scripts you use player.getVelocity
And then from vector guess which buttons are pressed
Sadly you can only detect positive values... Wait imma ask at script channel
No if i remember right
Question: I can't seem to change the icon size. Could I get a hint what it is called in the hud file please.
I don't think you could change that in hud screen, maybe you need to edit the item icon
Oh yeah you could change that hahahaha
Nvm you could change that
even better is, hotbar are actually in grid.
so, you can pretty much change one slot as large or small if you will, vice versa
Does anyone know how to use Aseprite Animations?
Hey, if anyone here has ever modified the NPC interact screen for whatever reason, could you send the file here to help me understand how it works please ?
Look for gui_hotbar_grid_item ( at line 892 // 1.20.73 template )
You should see item_icon element inside of that parent.
Thank you. so much better. I changed so many numbers lol.
is there any way to use dynamic property in json ui?
How to fix
thx!
This ended up taking up too much space. So I switched to this. Which I like alot more.
Question: Could I enlarge the icon on mouse over/hover?
possible, although may reduce the UI loading time and may cost performance.
even though they look kinda simple, it's just that they're a renderer, not an image element that automatically selects them.
the more renderer you have on UI, the longer UI will able to load. which hence the longer loading time.
so, not really recommended. that may increase annoyance.
How would I go about doing it?
Is it possible to pass values to other namespace?
I want to use #hud_title_text_string from hud_screen with inventory_screen.
whats the actionbar text binding
how can people distinguish between the items? it all looks the same at a glance hahah
It's good feedback. My plan is to add text to each
nope
you have to somehow use chat, actionbar, title, subtitle
wdym?
yes
either use chat, or use preserved text
Ok how do I make the image only visible once the text in chat matches?
cobtrol property name (not (#text = 'text that it will match'))
target property name #visible
{
"ui": {
"type": "image",
"texture": "textures/ui/Black",
"size": ["100%", "100%"],
"offset": [0, 0],
"anchor_from": "center",
"anchor_to": "center",
"layer": 10,
"bindings": [
{"binding_name": "#chat_text"},
{
"binding_type": "view",
"source_property_name": "(not((#chat_text - 'test') = #chat_text))",
"target_property_name": "#visible"
}
]
},
"root_panel": {
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": {
"[email protected]": {}
}
}
]
}
}```
I tried this but it doesn't work the image is in my my screen permanently
I will spoil you, using chat bindings will make you insane
Huh
Huh?
No joke the black image is stuck on my screen, even if I didn't type the rest yet
I don't see anything rong
Imma retest it later
I'm already insane...
I think it's because youre doing not() which means it will invert it and will make the image invisible
Idk cause when I use hud title text string it works perfectly, the image will only shows up when there's 'test'
The binding thing purpose is it makes something true whenever the text is included...
Ye it will invert because of not()
And also try preserving
I don't know how to use that
Hahaha it trigger me always
anyone know how to set the font on the form text
yo anyone know how to fix the gui scale modifier?
Bruh wrong server sorry
???
use font_type in json UI
"(not (#title_text = 'storia_server_form')) and (not (#title_text = 'storia_diary'))"
Whats wrong here?
nvm
fixed it
spaces really matters in json ui
Is that spanish
where do I find the form text label?
so i'm trying to make a toggle that changes a label's text when the toggle is turned on. Now i could bind the label to the toggle's state and decide then wether to change the label or not however this doesn't work in my situation because the toggles are going to be generated by a grid and every generated toggle is supposed to be able to change the text
i've seen in the settings screen json that the settings section toggles are able to change the title of the settings dialog via
"Propertybag":{
"#panel_title" : "<some_text>"
}
but i don't know how to use that for my toggles
it smells like some harcoded bs but i'm not sure, it would be nice if there was a similar mechanics that is usable
should i create a post about it?
Yes make a post
done
How can I scale down the doll for this custom entity? (Plz ping)
maybe check if player is in ui and then make it smaller per animation? idk
Is there a way to connect scripting API with UI?
You can check it with an animation controller i think
Why isn't the title at the top??
"start_menu": {
"type": "panel",
"controls": [
{
"title_label": {
"type": "label",
"text": "title",
"color": "white",
"offset": [
0,
"5%"
],
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"layer": 4
}
}
}
]
}
Just top instead of top_middle?
add size
you are offsetting the text in the panel
so anchor the panel not the label
"start_menu": {
"type": "panel",
"anchor_from": "top_middle",
"anchor_to": "top_middle",
"controls": [
{
"title_label": {
"type": "label",
"text": "title",
"color": "white",
"offset": [
0,
"5%"
]
"layer": 4
}
}
}
]
}```
no
any way to fix buttons from a factory having the animation not play correctly?
My crafting table custom ui only appear in classic ui and not in pocket how do I fix it?
i have a question, in the JSON UI section of the bedrock wiki in the preserv titles chapter, they preserv title using bindings and visibilty changed bindings condintions,however when i do it with always it still works. Any reason why wiki did what they did instead of this?
"preserved_title_display": {
"$update_string": "update", // title must include this string to update the element
"type": "label",
"text": "#text",
"controls": [
{
"data_control": {
"type": "panel",
"size": [
0,
0
],
"bindings": [
{
"binding_name": "#hud_title_text_string" // reads in the current title string
},
{
"binding_name": "#hud_title_text_string",
"binding_name_override": "#preserved_text", // updates #preserved_text when visibility of this element changes
"binding_condition": "always"
}
]
}
}
],
"bindings": [
{
"binding_type": "view",
"source_control_name": "data_control", // reads bindings from the "data_control" child element
//"resolve_sibling_scope": true, // required if "data_control" is a sibling of the element that pulls the binding
"source_property_name": "(#preserved_text - $update_string)", // remove string update text from the text to be displayed
"target_property_name": "#text"
}
]
}
Can someone help me how to take out the letters in the middle? (I don't know how to code)
well first remove the first chars and then the last chars from that lol
I have no idea how to combine it
Earlier I tried subtracting the first 3 numbers from the first 5 but I don't know how to make it work
as I said I don't know how to code :>
'abcde' - 'defgh' ????
that dont make no sense lol
this isnt even coding lol this is pure logical thinking
lmao my bad
you either gotta first take the string and remove the first three chars and then take the first two chars from that or take the first five chars of the string and remove the first 3 chars from that
you would pick which of those options you want to use based on the data you are working with
so like
('%.2s' * ($var - ('%.3s' * $var)))
or
(('%.5s' * $var) - ('%.3s' * $var))
actually wait do you want to remove the chars in the middle or only keep the chars in the middle
yea second one didn't worked for me but I probably made a mistake somewhere
keep
you still have to use bindings to edit the variables tho no? idk i havent worked with json ui in a while
does that work?
yea
I forgot to edit comment lol
i noticed
is it possible to lock a slot, so players can only take out items but are not allowed to put any inside the slot?
not with json ui
at least from what i know
but you could probably do it with scripts
then how? do you know anything about this?
i dont think you can do exactly what they want with json ui
Oh I misread lol
yeah
anyway why would it flicker with scripts lol
u have to constantly set the item
since u cant add lock in slot component in chests/non entity containers
no you dont lol
you just gotta constantly check the item
and if something changes then do actions to revert that or do something depending on what the end goal is
and if u constantly set the item it wont allow the player to actually take it
why would that make the item flicker lmao
idk thats probbaly what they meant
yeah thats why you only constantly check it
not set it

how do I add internal padding to an element?
how can i start an animation on element when an element turns form invisible to visible?
is there a way to pass the collection index of the element that has the animation to an animation?
nvm figured out
Rephrase lol
Yeah umm is it not possible to create a selection wheel? A literal wheel
how to set the starting index of a grid?
why does size: [fill, 100%] leave a space in the parent element that has the width of the element?
i suppose it's counting the width of invisible elements
fill is best used on a stack panel that has too many elements or puddings aren't fit that well
if you're using non-stack panel, it's probably best to use "100%" or "default" rather than that
like this?
yes
i know that to reset the animations i need to reset the whole element using factories, i figured out how factories work but still need to figure out the reseting element part
For now I also haven't found a solution, maybe it can be done with play events on anim, and trigger using the button name
I only use factories like this
"profile_content_factory": {
"type": "stack_panel",
"size": ["100%", "100%"],
"factory": { "control_name": "start_profile.profile_content" },
"collection_name": "profile_collection",
"bindings": [
{
"binding_type": "view",
"source_control_name": "profile_toggle_open",
"source_property_name": "(#toggle_state * 1)",
"target_property_name": "#collection_length"
}
]
}
It's so unstable, the animation will be messed up if clicked too quickly
Although it won't make the state confused because I use toggle, not just button name
kinda wondering how that works
Just basic maths thingy:
console.log(false * 1) // returns 0
console.log(true * 1) // returns 1
Kinda how I made this one: https://discord.com/channels/523663022053392405/1226134490556923934
crazy cus this was a amazing discovery because I can now return strings with toggles lol
that's not what i meant.
i meant about toggle with animation.
nor proper button animations without being glitched aka stops working after playing it's animation for spamming/too much.
Factories
with that "factories" it's not getting me anywhere.
good job.
as i expected on these json-ui general "nature", i shall figure myself out then.
ain't everyone lol
everyone gotta figure it out themselves
also ironic cus you do it yourself
he literaly sent the code that you need to do that, what is there to figure out? lol
also this solution is sufficent for my purposes
"sent the code" my brother in christ, that's javascript.
wtf am i gonna do with javascript in json-ui?
slam that javascript code into json-ui and expecting it to work?
hell no.
i meant this
idk what that other guy was trying to do with js in json ui lol
#text > '§b§r' and #text = '§b§r' What are their differences?
Its a concept man
#toggle_state * 1
already got it working lmao.
sure lol good for you ig??
still needed quite alot of time by trying to do the reverse operator.
so i can somehow do "anim-out" instead of "anim-in"
Nevermind already figured myself out.
the above code of andro already explains everything
eh probably, but already did it myself tbh
just some factories with oddly toggle, looking at andro's code after finishing mine. it kinda do looks identical.
i guess that's also solved one of my oldest issues with animations like probably years ago
minor that - next property on anim does not work with factories for idrk reason
this is going into my json-ui scrap yard because i have probably no use case for it as for now
is there a way to overwrite values of a property in an element from another element? like instead of a view binding, a write binding or something?
bro why would you do that
let's say i have a toggle factory. Each toggle is supposed to change the value of a certain label when it's turned on. how would i do that? i can't just bind every toggle to the label because the amount of toggles will be differnt
Use source control
they are in a stack panel, i tried to remove the element which was invisible and the other elements filled the parent element correctly, is it because the invisible element also had fill it its size?
regardless, this is what i did so far
does anyone know how to manipulate subtitle text?
anim-out? how do you do it
idk magic i guess
What the heck is this monstrosity?? 😂
That start screen looks fire
forgot to crop the video whoops
Does the button toggle a panel or does it activate the animation
Both.
Bc I'm having trouble making a toggleble popup panel with an animation
How does it work
factory with toggle bindings abuse.
Apparently they do reload the whole element when it's collection index elements are not visible or "destroyed"
hence, they reload animations along with it.
how can i do that
with abit of con - Factory elements are quite like sandboxed, so. some stuff like next property on animation or sometimes the toggle collection index just doesn't work.
ive never worked with factory elements
can u show me how to do it
w example code or smt
factory element are designed to reload and destroy elements via collection index or hardcoded. (e.g actionbar/title etc)
well the factory example are there.
although mine version are probably different and works differently so uh, i suppose thats it for now
"never make me figure out by myself smh"
how do i use a factory element
can u give me an example
cool so what
me too
you admitted 
you literally say "probably same" in the every sentence
Its my space game. Have constructive feedback?
keyword "probably"
not like i can pop an eye on your walls or something
also, "literally"? congratulations, that's such a false statement because I didn't even say "probably same" in every sentence.
the last i said "probably same" was 16 days ago.
Stop yapping
Make me.

Let's move on please.
He added a clown emoji to my message, I find that to be very offensive
16 days ago lol
He won't, he will always be adding unnecessary rhetorical sentences that makes you question why did you ask in the first place
anyways I discovered something
Old information
Before size_bindings are even a thing 😂
Keyword "unnecessary", thy is not under any prohibitations from communicating whatever thy wants to communicate. Please excuse yourself from making rude comments like the ones that you are currently sharing on this communication platform.
Stop the yap
😭 🙏
interesting, can I see the anim code,
and will the first time the screen load the close animation will be played too?
#1230478598469587036 please
I cant do that anymore ?
"texture": "https://mc-heads.net/avatar/TheMaxbroo",
Into type:image
can i see the anim code
No.
will the first time the screen load the close animation will be played too?
Kinda, had to implement some hacky stuff.
I really need that, but it's okay if you don't want to tell it, but may I ask if it's using play_event or end_event and animation_reset_name
because I use play_event and unstable animation_reset_name can be in a quick click
well honestly after what i just got myself involved here yesterday, I don't think I'm able to help anyone here anymore.
I came here to ask some basic help like how did y'all do something like those and all i get is literally just a hint ("factories", literally just it), so i figured it out myself from that hint and that's where i was now.
either way, doesn't matter since that's how people is.
🤓☝️
🤡☝️
Hello i have a question !
Actually we can’t put link for an image in texture: ?
I'm pretty sure it's not possible
Im pretty shure we can do it few months ago.
So now it’s only into buton ?
never heard that. Cause you can't even put your own link into json ui only Mojang or minecraft related links are valid
Yeah but for texture we can do it with button image so
Give me a snipsset of it.
The texture file system binding
Huh?
There used to be like URL file system but deprecated
Cool stuff 👍
Ok then, maybe I'll never get what I want, so I'll just use the old method
Cool
How can slider value update collection length instantly?
I use fixed amount of steps and didn't use any multiplications(e.g * 100). I just modified how you did it.
You don't put the steps amount that's why
If there are too many fixed steps it will be very heavy
That honestly depends on your end because why would you need to generate that such amount?
someone can explain me the usefulness of binding_type
i have a problem, i'm creating toggles via a factory, for some reason when i set $toggle_group_default_selected to 0, the first toggle doesn't get selected, here's code
"categorie_selector_toggle@common_toggles.dark_content_toggle": {
"type": "input_panel",
"$content_toggle_image_panel": "shop_ui.toggle_group_content",
"$toggle_name": "group_toggles",
"$toggle_group_default_selected": 0,
"$ignore_content_toggle_icon": true,
"$toggle_view_binding_name": "categorie_toggle_0",
"$radio_toggle_group": true,
"$toggle_grid_collection_name": "group_selection",
"size": [
"100%",
30
],
"$group_toggle_text": "toggle_one",
"$group_toggle_image": "textures/items/brick",
"$group_toggle_background_image": "textures/ui/shop_textures/building_background"
},
"group_selection_content": {
"type": "stack_panel",
"orientation": "vertical",
"size": [
"100%",
"100%c"
],
"collection_name": "group_selection",
"factory": {
"control_name": "shop_ui.categorie_selector_toggle"
},
"bindings": [
{
"binding_name": "#title_text"
},
{
//first 3 digits of the title text will describe how many categories we need to make
"binding_type": "view",
"source_property_name": "(('%.3s' * #title_text) * 1)",
"target_property_name": "#collection_length"
}
]
}```
In which file is the alpha of the entity nametag located?
I have a problem and linked it under this forum, but I'm not sure if I placed it in the correct section. Please let me know if it belongs somewhere else!
https://discord.com/channels/523663022053392405/1232494367315460167
Finally I found the animation method in out which is stable
not played when you first enter the screen and can even be triggered with the escape key, thanks @hexed briar
Good for you i suppose.
Looks like we're on same method.
bruh why did they have to bring a goofy ahh realm stories tab to the pause screen
uh mojang add day counter
But when you add too much time using command blocks it says: Too many to count! 💀
I almost believe but after seeing the channel you post this. I said mennn
Huh? They actually added Day counter to Minecraft
#1232718819366141983 message
Ohh really? Mybad
If anyone knows of a discord server where I can get a commission done for json UI please dm me the link. Thank you in advance.
I could probably take the work
what is tts? i've seen it multiple times in json ui but no one explained it, not even wiki
for example what is tts_dialog_title?
Text to speech.
This one is likely regular dialog title although for text to speech to speak what the current dialog title is.
ahh
this ui is... very cultured.
people do a lot of UI customization. but forget one thing: tts support. i guess its not like visually-impaired people can appreciate the looks, where most of the UI people make isn't targetted for 
Can anyone help me in my post
Is there a way to hide the watchdog? Like it hide a specific watchdog while the other one is still visible
tts support is also quite annoying to implement, kinda like adding labels twice.
also, tts seems to be towards the hardcoded vanilla stuff so, not every custom element with tts is going to work tbh
I think this is script-api thing, maybe there's some ways to disable it i suppose.
it's not a complicated thing but most people are lazy about adding input panels for TTS on each label and making translations in many languages,
and also making sequential focus (I'm still confused about this)
I've tried to add or implement TTS in the past but seeing how insanely annoying they are, i'd ditch it.
tts can be used for any custom labels, not hardcoded minecraft but depending on the TTS installed on the device
If it has custom focus then yeah sure. although still, pretty annoying to add.
I probably know, let me test things..
Got any ideas?
Lmao, I wanna do this on chats too
The file is inside content_log.json yu can edit the label there
condition rendering go brrrrrrr
yeah i know how to do it now, i just frick around the ui
ultimate operator string
Does this splash renderer have a property to change the text?
No, they're actually a custom or renderer type
They also used to be rotatable label, although that now belongs to really old legacy of pocket edition. (or likely ported as custom type) which, probably no longer exists.
So it is no longer possible to create text that can be rotated
precisely. although iirc, years ago someone's managed to rotate the label, unfortunately that same person never gave any clue so.
it's probably older version aswell, i'd assume that's no longer possible.
it's definitely somewhere in #old-json-ui.
nevermind found an legacy label rotation type (carousel_label) in case you're looking for.
It can using live player renderer, although not really a great choice
I haven't really solved the problem when players fly with elytra
i guess you could use images
Hey anybody knows how to do that ?
how to move actionbar
so i'm testing resolve_sibling_scope and i'm currently seeing no differnce on wether it's set to true or false.
here's how i tested it
the label still turns (in)visble when the toggle is toggled
what i expected was that the label wouldn't be able to read the toggle_state of the toggle since it's not a child of the label
can someone explain factory_variables to me?
like what do they do? how do they work?
but if i declare the variable in the stack panel, the children already have access to it
i'd assume this is more of connecting variables together. Although it doesn't seem to be anything useful despite you can pass variables without it.
Store or marketplace screens are filled with them indicating this could be used on mojang's server-side thing to pass variables real-time.
Yeah but in normal controls, I guess it's used because it uses factories meaning it's probably out of scope to even use
Does anyone notice the huge amount of lag when placing packs on create world screen?
Also the new recipe unlocking produces lags
the realm story stuff is laggy too
it crashes my game
not sure what they did but it's duct taped for now.
last time it crashes entirely in previous preview before getting out as stable. ||assuming that i wasn't blocked||
Actual question no bogus -
What's the mapping key for 'select' controller button?
"tg bouffon" @warped oxide
who is it @warped oxide
in english is "shut up jester"
u need hel for what
The purple color?
Can anyone give me a snipsset where if the chat text matches the image would show up in my hud screen?
I can't seem to make it work.
Or any other ideas on how to show image on screen without using title, subtitles, actionbar & soreboard. Pls
How to move just these two buttons there??
Wouldn't that move all the buttons?
I used grid
filter them out
if has certain flag put them in 1 grid, hide them in the other grid
How can I separate the two buttons in one grid and the rest in another grid??
button.controller_select
I think ive tried that before
didn't quite work, maybe it was the way I'm setting my button mapping. but I'll try it again (if i get back to my home ofc)
yeah no doesn't seem to be working for me.
Although button.controller_start do work for me.
I think it works to connect global variables, with components in the factory,
but it doesn't work at all,
I'm still confused about how to use global variables for components in the factory,
I tried many things but it doesn't work
Generated factories are sometimes broken or maybe was intended that way due to how hardcoded it was.
Some animations properties just doesn't work, can't pass the global variables, unreliable if reloading or adding elements directly etc.
it's just a glorified stack panel with abilities to reload the element and breaks lots of stuff.
Heyo making something..
https://github.com/TheoristMC/JSON-UI-Helper?tab=readme-ov-file
For many things, in my opinion, the grid is much better than the stack panels provided by the factory,
it can also be arranged with many components, and most elements are factory hardcoded, not stack panels.
Ye agree grids are better much more flexible than stack panels
Hmm, there's collection_panel type.
collection_panel?
Yep, collection for panels for no reason at all
It's probably used for optimization if you only want to get one thing from a collection
yeah idrk what that does
im guessing it's just kinda like grid but regular panel.
don't find it quite useful but annoyance.
I use it for positioning multiple collection index without it being in a parent element
Is the toast screen visible even tho you opened a server form?
Yes
It's all above everything
Thanks! I can use that instead of the HUD screen. I want to show an image without any titles, action bar subtitles, or scoreboard. I can use the HUD screen for chat text, but I'll have to set the server form to render the game behind it to see the image.
This is much easier to position than using a stack panel if it is only to generate one element or the elements will be stacked in one place such as the pickup button and clear button for containers
but for the number of elements that don't need to be changed with bindings, grid is better
How can I make the mob that was interacted with appear in this place?
like the npc
if anyone knows pls tag me
is it possible to make the first entry of a array be controlled by a variable?
like this? "size" : [30, "$var"], this example doesn't work but is there a way to get it to work?
No.
instead, you can do something like this.
"$var": [ <array>, <array> ],
"size": "$var"```
variables does not work inside of square bracket if it contains just regular string like that.
well this isn't helpfull
first time?
why isnt this working?
are you sure #title_text contains the entity id?
i would make a label and bind the title_text just to be sure
if it's correct then try to remove the property_bag thing and see if it works
is there any known is_Even check for ui element visibility?
otherwise i will have to use this:
if (x= 2 or 4 or 6 or 8 or 10...etc)
if there was it would contain many operators
but i have somthing in mind, give me a minute
yes
heres a label
it says just 'w'
tried
shouldn't there appear the entity id + 'w' instead of just 'w'?
also what's with the weird characters you are subtracting there?
just a prefix
actually, with regular text its not working too
yes
but something is not working
its there
(prefix is made so its not visible but its there)
hmm
i tested this with number 0,1,2,3,4,5 and if my logic is correct it should work for all numbers
(($num - ($num / 2)) = ($num / 2))
it will give false when odd, true when even
?
is that division right there?
yes
i didn't know that was possible
json ui isn't that bad lol
does multiplication work too?
yes
Yooo!
try removing the property_bag thing and write entity_id = "#entity_id"
: instead of = ?
yes,sorry
send code
"entity_portrait_renderer": {
"type": "custom",
"renderer": "live_horse_renderer",
"offset": [0, 0],
"layer": 10,
"entity_id": "#entity_id",
"bindings": [
{
"binding_name": "#title_text"
},
{
"binding_type": "view",
"source_property_name": "(#title_text - '§3§2§a§c§r')",
"target_property_name": "#entity_id"
}
]
}
ok revert what i told you to do earlier and write this ( 1 * (#title_text - '§3§2§a§c§r'))
in the "source_property_name"
why would it work?
how
i forgot about that, sadly there isn't an if operator ('text' if (#num = 0)) would be really nice
thats strange
uhh shouldn't there be a size property?
what?
i am about it not working
add it then
idk honestly, i will try sometime and see if it's working with me
ive got an idea
ill try replacing default and my form
i mean variables array is like that+
what the heeeeeeelll
the hell
what?
this happens if you didn't hide original form properly
yea
"((not (#title_text = 'storia_diary')) and ((#title_text - '§f§2q§a§c§r') = #title_text) and ((#title_text - '§c§h§e§s§t') = #title_text))"
scroll to the variables part
somewhy jsonui requires to have some prefix
otherwise it displays that mess
i need help with that
my brain isnt braining
Can i get help on https://discord.com/channels/523663022053392405/1234943196681994331 please?
@still sundial i got it to work
{
"horse_custom": {
"type": "custom",
"renderer": "live_horse_renderer",
"size": [50,50],
"layer": 8,
"anchor_from": "center",
"anchor_to": "center",
"property_bag":{
"#entity_id": "#entity_id"
},
"bindings":[
{
"binding_name":"#title_text"
},
{
"binding_type":"view",
"source_property_name":"#title_text",
"target_property_name":"#entity_id"
}
]
}
}
idk how to make it stop looking at the cursor though
Where do you use it? Server form?
yes
"$look_at_cursor": false
Not sure if correct lmao
Imma yoink this cause I need to put player face on server form
go ahead
Does anyone know how I can make a custom exp bar with scripting?
i still don't understand what you mean by variable arrays?
anyone knows?
find the element that displayed him originally and stick it in
"binding_condition": "visibility_changed"
can view entity armorstand?
Yes just need to get the id of the entity
And put it on the title
Entity id is number?
Random number, don't try to understand it cause it doesn't have a meaning. It's just a number
Then how do you get a specific entity?
Where you're gonna use the id?
Server form?
It's only accessible to in-game screens since you can't pass entity IDs anywhere. And also entity IDs are different every world.
what is use_anchored_offset? and what is it used for?
also is it possible to convert a string to an array if the string is like this "[5,5]"? and are there some operations that we can do on arrays? like adding 2 arrays together or something?
Thx!
But i still have a problem with hiding the def server form
i need it to look at the cursor
Sorry for too much questions, but why #title_text - 'something' would not work?
Why -?
i want to pass title with some prefix
so its my custom server form
and want to get the id which is after the prefix
somewhy when the title starts not with a letter its not parsed properly
why cant it?
It should work as expected, it's just depends on the way you display it.
it says nothing
when i pass it into a label
Most bindings and even variables are expecting some strings on the first character, maybe something like §f should do. otherwise bindings/variables would likely think that it's value and not string, which returns to invisible or maybe throws some content errors.
lemme try
maybe do something like
('§f' + (#title_text - 'something')) and see if it works.
it worked
but how to remove it now
i want it to be the id of entity
for paper doll
well
ill better rewrite my uis fully
theres a complete mess currently
maybe something like one binding for displaying texts and one binding for pasting the values.
thanks for help, anyways!
It's because the entity id is long number string. If you do something like subtract, add, multiply in a long int value it would crash out or just dissapear. I think JSON-UI can only hold such numbers. I've discovered this while playing with multiplications. So your only solution is a binding that literally has nothing else in it but the entity id
yea
now i want the binding name for button index
or how do i check it?
You should check the server_form.json. It's quite easy to find, no one will spoonfed you for such an easy answered question.
well
how i get binding from the child of child?
source control name seems not to work
why is the button like this?
{
"form_button@common_buttons.light_text_button": {
"$pressed_button_name": "button.form_button_click",
"anchor_from": "top_left",
"anchor_to": "top_left",
"size": ["1000", 32],
"$button_text": "#form_button_text",
"$button_text_binding_type": "collection",
"$button_text_grid_collection_name": "form_buttons",
"$button_text_max_size": ["100%", 20],
"bindings": [
{
"binding_type": "collection_details",
"binding_collection_name": "form_buttons"
},
{
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
"source_property_name": "(not (#texture = 'storia_paper_doll'))",
"target_property_name": "#visible"
}
]
}
},
Heres the code
Write size as size:[1000, 30] not ["1000",30]
Or ["1000px", 32]
But i think you wanted to write as this ["100%",32]
Does 100 or "100px" affect performance?
I always use "100px"
eh no.
although px allows some maths.
but that's something mojang usually do anyways as i read their vanilla template code.
i have some hud elements that will display text from $msg, and $msg will take the text from $actionbar_text. is there a way to filter if the $msg is start with "prefix:" and remove the "prefix:" part?
how to use
It's not out yet
it's documentation?
It will be a visual editor, but it may take some time because I'm rewriting it to typescript
can we change the ui of an entity inventory depending on the name of the entity?
That is possible yes
You mean like the nametag right?
so it will be a webapp?
Is there a server out there that is dedicated to just Json UI?
Yes
Quick question
I remember that mojang said that they are gonna replace json ui to HTML
Is that still a thing that they are aiming for or did that get canceld?
It's getting changed regularly
Like there's an inbox button in start screen
Which is OreUI(Html)
I remember seeing it in the preview
It was really bad optimized tho
It's still bad optimized
So why even trying?
Sure json ui is complex in the beginning
But once you get the hang of it, you can do lots of crazy stuff with it
well, it is literally html-react. so, yeah pretty much expected.
What does it mean by replaced by html? Like replaced it entirely like how we make ui in html or just get some things on html
presumably both.
they're html, at the same time are react native to do some designs things.
That would be fun I guess. I pretty much know how to do html.
well kinda depends i suppose. we're not even sure if mojang gonna let us modify it through resource pack
it probably gonna take 2+ years or just forever.
because well, ore-ui been there for half of decade.
you could technically modify them through the game assets, although that's out of question about data-driven anyways
Yes that I'm thinking too cause some people said we can't modify ore ui right now
As far as I know, they are planing to replace json ui inirerly with oreUI
Which makes me pritty sad
Ive spens hours of learning json ui into it
Me who didn't learn anything about JSON ui
Lmao
I learn all except JSON ui
There are only a few developers who actually understand json ui
Which gives us some sort of value in the bedrock community
Cause UIs can sometimes change the feeling of the game compleatly
Im not saying that we are worth more
Im just saying that we are rare
What I love JSON ui is cause you could do what you think impossible to do
Only limit is we can't make containers and other things like java has
Well technically you can
ye
I mean by container is like the crafting table increase the grid size
Etc.
I know that you could increase the container cause I did it before 😅
You can change the look of an UI based of an entities nametag
So for example:
You can make 30 different mobs with 30 different nametags
All displaying different UIs
Yeah²
You can change the 3x3 crafting grad
But it wouldnt function
That's what I'm saying
You could increase it but it wouldn't function
Except container I guess
You could make custom server forms
But yeah
There is not a real way to connect it to any sort of logic behind it
(As far as I know correct me if In wrong)
anyone can make UI soon
We can't modify game ore-ui, but we could create our own ore-ui?
or just ui generally
JSON UI
they use React Facet for Ore UI
is there a way to make a toggle on and of when a user is holding right click on it?
eh, probably no.
unless json-ui has a right click mapping, which it doesn't seem to have.
THIS I'm trying to do something like this. I want to right click an item to cycle in between abilities.
I can do it with scripting but I want a custom UI that displays that change
Unfortunately I don't know enough UI to actually make this happen
please tell me how I can put the text highlighted in the red circle in a separate panel
How did you put that text there? Panel or stack panel?
Or others not sure about that tho... ||@tropic badger|| or ||@hexed briar||
does anyone know how i could fix this in hud_screen? not sure what it is since i wasnt the maker of the json file and im not the best at json. i saw this exact issue in other packs as well, must be some sort of new bug
just as i posted this, i fixed the missing texture ui bug. if anyone else has this issue, it was the game_tip panel (at least for me), not sure what that is honestly but it seems like i cheaply fixed it by simply removing it in rootpanel
same issue, I deleted all resource packs and it's still showing that
anyone know whats wrong with this?? json "bindings": [ { "binding_type": "collection", "binding_collection_name": "form_buttons", "binding_condition": "visible", "binding_name": "#form_button_text", "binding_name_override": "#form_button_text" }, { "binding_type": "view", "source_property_name": "((#form_button_text - ('%.9s' * #form_button_text)))", "target_property_name": "#form_button_text" } ]
its supposed to show the characters AFTER the first 9 but its showing NOTHING
@mystic heart
sorry for ping i just got it 🥲
guess i cant reassign to button text even tho i can do it with another one but oh well
do you have numbers in your form button text?
try changing it to
(#form_button_text - ('%.9s' * #form_button_text))
or you can also make a test label and put this binding in it while adding some text to the end and see if that text pops up
no
ok
Looping
yeah i figured
looping in bindings makes game performance very bad
if anyone is suddenly just want to see the arrival of JSON-UI, here #old-json-ui message
and while I am wandering around, it turns out there's a ignored property in a bindings array which ignores a binding object. I honestly don't know what's the use.
anyways I have played around with the
ignoredchange in the latest beta. it seems it refers to ignoring the binding object itself by doing something like this:
{
...
"control_element": {
"bindings": [
{
"binding_name": "#example_binding",
"ignored": true
}
]
}
...
}
so you still need a $variable to be passed to the ignored property if you want to ignore the binding :/
what? i didn't know that lmao
Do you understand loopings in bindings? I've noticed they loop 19 times before they stop comppletely from working as if they don't exist
But somehow toggles update them, then they loop 19 times again, then stop until a toggle updates
Does anyone know how to fix this issue? I'm extremely new to modding and there isn't many tutorials on how to create this kind of stuff, I was able to make the custom UI and block, but I don't know how to get rid of this purple splotch.
I made the addition and repetition button, I know clearly that it doesn't repeat 19 times, I'm just looking for the right value when the addition and repetition buttons run together the first time
You can make a loop like this to make the result 100
in property bang "#int": 0
in source property name (#int + ((#int = 100)*-1+1) )
in target property name #int
I don't know if adding 0 repeatedly to stop the addition will cause performance issue
?
There are 2 different things so I don't know if this works, one is npc_interact_screen and the other is server_form
If anyone knows how to do this, please tell me
oh, i thought it was in 19 steps because you made it like this
{
"binding_type": "view",
"source_property_name": "(((#neg*0)+1)+#decrement_value)",
"target_property_name": "#decrement_value"
},
{
"binding_type": "view",
"source_property_name": "(((0*#pos)+1)+#increment_value)",
"target_property_name": "#increment_value"
},
{
"binding_type": "view",
"source_property_name": "('§z' + ((#pos*0) + (#increment_value/19) - (#decrement_value/19)))",
"target_property_name": "#text"
}
i assumed it was because a loop happens 19 times until a toggle updates it and thus needing to divide by 19 to get the actual times it got updated
ignore: is_console - ignore this whole biding object when your are on console
cant believe how trash bindings are
imagine this logic in e.g. .js
i++
i--
yeah i get it but why is he dividing by 19
and there is another case, let me know how much hair did you or idk who created this code lost :DD`
no idea its ugly
bro probably looks like 90 now
I have done the same thing, if you do toggle * 0 then add 1 to property bag it returns 19 then completely multiplying by itself(e.g 19²) thats why each he adds something, he needs to divide it with 19.
I want a different texture if value is even or not. tried % method and it seems not working. the first condition always return true no matter the value is
there's no modulo in Minecraft
you'd have to check every odd number
or do this
(($num - ($num / 2)) = ($num / 2))
false when odd, true when even
@charred viper
"label": {
"type": "label",
"text": "#str",
"size": [ "default", "default" ],
"property_bag": {
"#str": "completelyNormal"
},
"bindings": [{
"binding_type": "view",
"source_property_name": "(#str - ('%.1s' * #str) + 1)",
"target_property_name": "#str"
}]
}
What is your output