#JSON-UI General

1 messages · Page 9 of 1

hexed briar
#

and also attachment isn't json-ui

stiff urchin
zinc charm
#

because of it's complexibility, json-ui can be hard and needs a specific category to those who don't know how to make it and use it

obsidian crest
#

fully agree, tbh json isnt even that hard

#

it makes sense, just the lack of documentation or whatever makes it hard to get started. but you can also read docs n stuff to help learn basic stuff

timber harness
#

thats basically saying "its not hard for those who understand"

#

just accept it, jsonui is a little hard in general, you dont need to add those conditions like "its not hard if you read docs" just to make it look "easy"

#

?jsonui is though

#
 - JSON UI is much tougher than other addon topics.
last pollen
limber quartzBOT
last pollen
#

Wrong

#

One

hexed briar
#

Json-ui is not "little hard", it's mediocre.

#

I make a lot of UIs in the past just to learn more json-ui for months and now fully 1 year after I pushed my first UI project to the public.

#

so, it is mediocre in general. It's not either hard or easy, it's just up to people common sense that those didn't want to read the docs or wiki whatsoever. The reason why it "tougher than other addon topics" is exactly that.

halcyon spear
#

hexed briar
#

It's just people didn't listen, didn't read the docs or one word at json-ui introduction on wiki, hence we have very less video tutorial.

#

that is just essentially saying "lazy people who doesn't care about reading wiki"

#

or more exactly "those don't read the books"

safe root
#

Let's be real the docs aren't really that well layed out for people to understand.

#

It's more of a learn it yourself by trial and error angle.

undone marsh
#

json ui isn't hard you just need to know the syntax. I never used the docs and it's been easy for me.

hexed briar
#

the wiki or docs was completely made by community and I agree to that

#

it didn't help me that much but there's alot of example of how json-ui should work.

#

Condition rendering, preserve text, hiding text from specific strings, making use of factory, adding own elements on hud_screen, modification property, understanding how variables and bindings work, fetching button mappings ID and use as button, animations, making use of custom json-ui file via _ui_defs.json, operators and so on.

timber harness
#

a bit hard because the lack of resources like tutorials, etc, and thats still makes "jsonui" considered as a though addon topics, if its easy then why there is only a few of people that know json ui well? if its looked from the "syntax" and how to make one maybe it can be considered as "a little easy" but if its looked from how to learn the syntax and knowing how it works it can ne considered as "little hard" (to learn) (correct me if im wrong)

hexed briar
#

Json-UI requirements is understanding with JSON in general, if you've already made items, or anything from bedrock addons (general as json), it would be much easier to start with.

#

The reason why we lack of tutorials is because Json-UI never has official docs at the first place, aswell people never knew the Json-UI existence.

#

Why the mediocre? json-ui is really easy to understand if you have a code editor with json validator built-in (or if you're insane, tree editor would do), since this can correct what wrong with your syntax.

#

and again, bedrock add-ons community is really small compared to java edition counterpart.

halcyon spear
#

If I were to modify the server_form.json textField to be larger in size, Will I be able to use tab so the result has tab spaces too?
Tab space

remote terrace
#

Can anyone help me merge 2 ui/trader_2_screen.json I have? I feel dumb cause I can't get them to work, and it's just a matter of placing {} and , on the right place.. it's just a few lines of a small file into the bigger one

quiet yacht
#

Hi, does someone know if is there any way to bind the title binding to an npc text?
I want to be able to change the npc dialogue with commands and using the subtitle or title text string was what I came up with, but apparently it doesn't work and I'm not sure why

This is my code that modifies the text inside of the NPC's text box with the binding. It works when I input a simple string, but not with the binding itself

[...]
  "student_message_bubble": {
    "type": "image",
    "texture": "textures/ui/dialog_bubble",
    "anchor_from": "right_middle",
    "anchor_to": "right_middle",
    "size": [ 222, "100%" ],
    "controls": [
      {
        "dialog_panel": {
          "type": "panel",
          "size": [ "100%", "100%" ],
          "$virtual_keyboard_buffer_control": "text_scroll",
          "controls": [
            // My custom label element that I want to receive the title string
            {
              "type": "label",
              "text": "#text",
              "bindings": [
                {
                    "binding_name": "#hud_subtitle_text_string",
                    "binding_name_override": "#text",
                    "binding_type": "global"
                }
            ]
            }
            // { "text_scroll@npc_interact.text_scroll": {} } // Commented so it doesn't display the default NPC Dialogue
          ]
        }
      }
    ]
  },
[...]
raven wigeon
#

How so?

restive crag
#

well usually we can't find seniors that is not toxic these days

#

so I just forcibly learned myself

opal aurora
obsidian crest
# raven wigeon How so?

because people ask “basic” questions, and more experienced people dislike answering similar questions multiple times

#

i kinda agree tho people act kinda helpless and don’t even think to search for previous questions

#

i don’t think this channel is really a good place to learn the basics of json ui , i think it more excels in helping fix small problems

last pollen
#
{
  "namespace": "crafting",
  "tuner": {
    "type": "image",
    "texture": "textures/tuner",
    "size": [
      40,
      40
    ],
    "anchor_from": "top_middle",
    "anchor_to": "top_middle",
    "offset": [
      0,
      5
    ]
  },
  "root_panel": {
    "modifications": [
      {
        "array_name": "controls",
        "operation": "insert_front",
        "value": [
          {
            "[email protected]": {}
          }
        ]
      }
    ]
  }
}```
not work hm
torpid nymph
obsidian crest
hexed briar
#

crafting doesn't have root_panel

last pollen
#

ohh thx

obsidian crest
#

i’ve thought of doing something like it but it’s just a lot of work

torpid nymph
hexed briar
#

I would contribute or add more stuff to the docs but seeing most 80% of people didn't care or want to, so I uh just stopped.

obsidian crest
#

anyways the documentation section of the json ui in the docs is pretty useful, it’s just actual tutorials that the docs needs

unique swan
#

How can I add background to server_form.json file?

torpid nymph
unique swan
torpid nymph
#
{
    "data_control": {
        "type": "panel",
        "size": [
            0,
            0
        ],
        "bindings": [
            {
                "binding_name": "#hud_title_text_string"
            },
            {
                "binding_name": "#hud_title_text_string",
                "binding_name_override": "#preserved_text",
                "binding_condition": "visibility_changed"
            },
            {
                "binding_type": "view",
                "source_property_name": "(not (#hud_title_text_string = #preserved_text) and (('%.15s' * #hud_title_text_string) = 'update.tip_text'))",
                "target_property_name": "#visible"
            }
        ]
    }
},
{
    "tip_text@task_tip_text.tip_text_template": {
        "$text": "#tip_text",
        "bindings": [
            {
                "binding_type": "view",
                "resolve_sibling_scope": true,
                "source_control_name": "data_control",
                "source_property_name": "#preserved_text",
                "target_property_name": "#tip_text"
            },
            {
                "binding_type": "view",
                "resolve_sibling_scope": true,
                "source_control_name": "data_control",
                "source_property_name": "(not (#preserved_text = 'update.tip_text.clear') and (('%.15s' * #preserved_text) = 'update.tip_text'))",
                "target_property_name": "#visible"
            }
        ]
    }
}

How can I access #preserved_text? This doesn't work

#

-- to be clear, the text doesn't show when i set it to #tip_text, the actual display does work

hexed briar
#

preserved text on wiki is outdated.

#

or maybe I think

torpid nymph
gloomy sluice
#

Hello I used this code to make my custom bossbar, it works, but for some reason, when there is already an active bossbar, when my bossbar is activated, the textures are not activated, nor the panel, can someone help me?

     "root_panel/boss_health_panel/boss_hud_panel": {
        "modifications": [
            {
                "array_name": "controls",
                "operation": "insert_front",
                "value": {
                    "soulless_knight_bossbar@soulless_knight_bossbar": {  
                        "layer": 2,
                        "bindings": [
                            {
                                "binding_name": "#progress_percentage",
                                "binding_type": "collection",
                                "binding_collection_name": "boss_bars"
                            },
                            {
                                "binding_name": "#bossName",
                                "binding_type": "collection",
                                "binding_collection_name": "boss_bars" 
                            },
                            {
                                "binding_type": "view",
                                "source_property_name": "(#bossName = '§s§o§u§l§l§e§s§s§k§n§i§g§h§t')", 
                                "target_property_name": "#visible"
                            }
                        ]
                    }
                }
            }
        ]
    }```
pine matrix
#

Anyone know why I can’t see the selected item details? It works in the inventory screen, but not in chests, even though both use the same namespace from ui_common

normal moat
pine matrix
#

It’s defined in ui_common, no?

normal moat
#

bindings are a bit different for the screens

pine matrix
#

Both the chest & inventory screen reference the same renderer in common

normal moat
#

hm, i recommend you to see the vanilla file

pine matrix
#

First is inventory, second is chest

normal moat
#

did you modified chest/inv?

pine matrix
#

chest, no

#

inventory, yes

normal moat
#

it's weird that it is not working on chest even tho not edited. try not modifying the selected_item_details

pine matrix
#

I guess I could just make a second renderer forthe inventory alone

normal moat
#

thats better

pine matrix
#

I did kinda want to modify both, but I guess that's not happening

#

Welp, I renamed the renderer & changed the reference in the inventory to it, and now it won't show up in the inventory

normal moat
#

uhh, also make sure it's a factory that you're referencing

pine matrix
#

it was, yes

#

I added the factory into ui_common (but changed the names)

#

Hm, if I don't edit selected_item_details it works in both

#

But then the item description is in the middle of the screen, which isn't ideal

normal moat
#

offset it?

#

Also double check the anchors and other values.

pine matrix
#

As soon as I change anchors it stops working in the chest ._.

normal moat
#

weird.
try playing with the values ig

#

try to match it vanilla as possible

pine matrix
#

Got it somewhat working

#

Ain’t great but better than nothing showing up / text covering screen

hexed briar
#

what are you intend to do?

pine matrix
#

Just wanted to move the item description text to the side of the ui (be it the inventory or a chest/enderchest)

quiet yacht
mystic heart
vocal urchin
last pollen
#

Does anyone know what this error is?

torpid nymph
last pollen
#

more or less in which? in textures/ui or just in the ui itself?

last pollen
#

Guys how do I increase the width of the ui?

torpid nymph
#

Size

normal moat
opal aurora
dusky hornet
#

Hi I dont know anything about json ui only server ui and i wann to start with it. Are there any disadvantages to the fame or is it just hard

restive crag
#

?json ui is tough

limber quartzBOT
#
JSON UI is tough!

Welcome to JSON UI!

If you are reading this, there is a good chance that you were inspired by The Hive, Galaxite, or some other addon or server. Welcome! This is the right place to learn about these topics.

To get started in learning JSON UI, we recommend you check out the Wiki first: https://wiki.bedrock.dev/json-ui/json-ui-intro.html.

However, please be aware of these things:

  • JSON UI is much tougher than other addon topics.
  • JSON UI is 100% only documented from vanilla reference and reverse engineering. There are no documentation directly from Mojang.
  • We will not give you step-by-step instructions on how to create UI from Hive/Galaxite.

JSON UI is one of the toughest addon topics, so please be patient. Try and attempt small tasks. Ask concrete, answerable questions. We won't spoon-feed you.

dusky hornet
#

Tanks lol that is exactly what I need

#

Thanks*

cursive solar
#

Stupid question: do I need to log out of my world and log back in for every change I make to server_form.json?

restive crag
cursive solar
#

💀

still sundial
cursive solar
#

bruh

last pollen
#

where can i learn json-ui

nimble jungle
#

How would I go about getting a specific buttons image using collection_index on a server_form

gray shale
#

was about to ask same question as above ^

#

Needed to make something like this

last pollen
#

did anyone try just downloading server's resource pack?

gray shale
#

Quick question, how to change form title from just the RP keeping the server script as menu in the title?

nimble jungle
hexed briar
limber quartzBOT
#
JSON UI is tough!

Welcome to JSON UI!

If you are reading this, there is a good chance that you were inspired by The Hive, Galaxite, or some other addon or server. Welcome! This is the right place to learn about these topics.

To get started in learning JSON UI, we recommend you check out the Wiki first: https://wiki.bedrock.dev/json-ui/json-ui-intro.html.

However, please be aware of these things:

  • JSON UI is much tougher than other addon topics.
  • JSON UI is 100% only documented from vanilla reference and reverse engineering. There are no documentation directly from Mojang.
  • We will not give you step-by-step instructions on how to create UI from Hive/Galaxite.

JSON UI is one of the toughest addon topics, so please be patient. Try and attempt small tasks. Ask concrete, answerable questions. We won't spoon-feed you.

hexed briar
#

Most servers has encrypted packs and before you asking about decryption, No, it's against of this server so we can't or will not help you with that.

#

doing so may get you kicked or banned here.

gray shale
#

Finally getting somewhere. Not big enough to post on showcase yet so i put it here

wind briar
#

whats the diffrence btw ore ui and json ui? im completely new and i gotta choose one to learn

hexed briar
#

Json-UI are data-driven UI via JSON, Really the same concepts as modifying items or something, but just UI.

#

Ore-UI are upcoming UI and still no data-driven yet.

wind briar
#

so my better choice especially as a beginner would be json ui right?

hexed briar
#

well yes and no.

#

as long you know about basic of JSON, it should be easier to learn.

#

there's wiki here

#

?json-ui

limber quartzBOT
hexed briar
wind briar
#

thanks for helping me :D

#

i will start learning json ui then

gray shale
#

Quick question, can I basically add a hover state to a panel?

#

any panel?

normal moat
#

Make a button act as a panel

gray shale
#

Okok

#

It looks like this now

#

Why is the image not centered?

#

This is what happened when I'm using another image

#

nvm fixed

last pollen
#

People how do I make the ui wider

last pollen
last pollen
restive crag
restive crag
gray shale
opal aurora
spring aspen
#
"stack_form": {
    "type": "stack_panel",
    "size": ["fill", "fill"],
    "anchor_from": "top_left",
    "anchor_to": "top_left",
    "orientation": "horizontal",
    "factory": {
      "name": "buttons",
      "control_name": "server_form.dynamic_button"
    },
    "collection_name": "form_buttons",
    "bindings": [
      {
        "binding_name": "#form_button_length",
        "binding_name_override": "#collection_length"
      }
    ]
  }

how do you make it go to the next line when it reaches the end of sizeX?

gray shale
spring aspen
#

stack_panel i think

#

before the image, create a "type": "panel", make it the maximum size "100%"

#

you cant change the "anchor" after stack_panel, in my experience

gray shale
#

I see

#

so that's why

#

How do I hide forms button entirely when it's not send by the forms api?

#

this is not working

#

i tried #form_button_text = '' doesn't work either

#

i tried removing/adding the not

spring aspen
#

show code

spring aspen
#

you are using texture only

#

#form_button_text = ''

#

u need to put this on button binding

gray shale
#

Like this?

#

doesnt work

#

wait wait

#

if i set the visible there, will the child components be invisible as well?

spring aspen
#

ye

#

all controls

gray shale
#

hmmm still doesnt work

spring aspen
#

first take the text with the binding and then you can make the comparison

#
//collect text
{
 "binding_name": "#form_button_text",
 "binding_type": "collection",
 "binding_collection_name": "form_buttons"
}
//after collect 
{
 "binding_type": "view",
 "source_property_name": "(not (#form_button_text = 'SPLEEF'))",
 "target_property_name": "#visible"
}
gray shale
#

It works when I put it inside the label, but doesn't work when i put it outside.
The layout
Button
-> Stack Panel
-> Image
-> Label

spring aspen
#

put on the button

gray shale
#

Anywhere else doesn't work. Tried the image, tried the stackpanel, tried the button

#

oh nvm it worked. I just needed to add another binding

{
    "binding_type": "collection",
    "binding_collection_name": "form_buttons",
    "binding_condition": "none",
    "binding_name": "#form_button_text",
    "binding_name_override": "#form_button_text"
},
{
    "binding_type": "view",
    "source_property_name": "((#form_button_text = 'SPLEEF'))",
    "target_property_name": "#visible"
}
gray shale
spring aspen
#

np

#

you are using grid?

gray shale
#

No, I'm using stack panel and adding each rows manually 😅

#

should've used grid i guess

#

bc it looks like this for the next row

spring aspen
#

I want a way to add rows auto but I cant find it on the server

gray shale
#

Ah i see. Can you query the collection size maybe?

spring aspen
#

ye

#

but have search box

#

if i remove the button make a hole on grid

gray shale
#

I see

spring aspen
#

do you know how to add automatic lines?

#

or modify collection size

gray shale
#

No idea

dawn prism
#

Hey anybody knows how can I shift my ui form content into left side

dawn prism
torpid nymph
#

E.g.,

   0
   0
]```
spring aspen
#

like that

torpid nymph
# dawn prism ?

Legend has a video about splitting the server form if thats what you need. I'm not on my pc right now so i cant send a link

torpid nymph
spring aspen
#

there is no way to do with stack_panel?

dawn prism
torpid nymph
spring aspen
#

i need horizontal

#

with column

#

grid have problem

#

with search

torpid nymph
torpid nymph
#

That'll show you how to split it by title then you can reference server_form, common, and common_buttons to understand how to make the rest

dawn prism
#

I want make ui like this

torpid nymph
#

Yes, by title

#

There is no tutorial for full uis since ui is very complex

#

You're going to have to take the split code as a base and edit it to call your custom menu

deft veldt
#

wave

spring aspen
#

i need help 😦

west dawn
#

Just buttons with text + image where either the form title or the first button used to render that seperarly

nimble jungle
#

would like some feedback on this, im still working on the textures but I feel like something is missing, like more can be made to make it look better

vocal urchin
#

It color clashes with the item name

nimble jungle
#

oh yeah, still working on the textures. using nineslice as I dont want to use static images

spring aspen
#

I need help, is it impossible to leave the stack_panel equal to the grid?

gray shale
#

Anyone had issues with korean font like this?

#

it's not in the same place

spring aspen
#

vertical?

#

is horizontal

#

not?

spring aspen
gray shale
spring aspen
#

not work for me

#

vertical

spring aspen
gray shale
#

you can look my code above

#

i think i sent it

#

not on my laptop rn

spring aspen
#

there is no code of your stack_panel before above button

spring aspen
gray shale
#

nope

#

i use stackpanel for the image and label inside of the button

spring aspen
#

yea.

#

rlly u are using grid

dawn prism
#

How can I add progress screen like this

normal moat
#

You can use actionbar/title + (/camera command)

dawn prism
#

Hm

earnest plover
# gray shale Anyone had issues with korean font like this?

how do you do this by stack_panel that is my variant but it isn't work

"long_form_dynamic_buttons_panel": {
                                "type": "stack_panel",
                                "size": [
                                    "100% - 4px",
                                    "100% - 4px"
                                ],
                                "orientation": "vertical",
                                "anchor_from": "top_middle",
                                "anchor_to": "top_middle",
                                "factory": {
                                    "name": "buttons",
                                    "control_name": "server_form.squared_button"
                                },
                                "collection_name": "form_buttons",
                                "bindings": [
                                    {
                                        "binding_name": "#form_button_length",
                                        "binding_name_override": "#collection_length"
                                    }
                                ]
                            }
forest path
dawn prism
forest path
dawn prism
#

See date when I send I don't know which video it was

forest path
#

No worries

wintry glade
#

how can I add a new slot to the players inventory screen

wintry glade
#

also ignore the crashing part I just want to know how

hexed briar
#

you can't.

#

Since json-ui is client-side only, not server-side.

#

therefore modifying it to have more inventory slots or more chest slots will not work, even though yeah it's there but will unable to put anything on them.

#

there's also chance of crashing since you're doing something unintentional in the client.

#

so, the definitive answer — no, you can't.

#

alternatively you can sacrifice the existing slots and use them as 'accessories'.

#

after all, json-ui is about modifying. not adding something new.

#

you don't add any new functions, you use the exist vanilla code and learn and understand how it works and reuse them at your own advantage.

#

it's data-driven to be exact.

wintry glade
wintry glade
hexed briar
#

it's just a modified chest screen with server-side things.

hexed briar
wintry glade
hexed briar
#

it's just modified chest screen with server-side as using existence slots, nothing new.

#

you can technically do that in horse screen with behavior stuff.

#

though the cost will obviously be buggy mess so yeah.

wintry glade
#

ok ty

#

I seriouly want to have a q and a with the dev that came up with json-ui

hexed briar
#

well that would be notch himself actually.

#

since json-ui kinda started in 1.0 (pocket edition at that time)

wintry glade
#

great nvm then

hexed briar
#

it's nearly decade now.

torpid nymph
hexed briar
#

Pocket edition exists since weird android age where Sony made a PSP but runs android.

#

And that then mojang wasn't acquired by microsoft so yeah, it's notch.

#

back then it's just minecraft but in c++.

#

sure microsoft acquired them before PE 1.0, it's still notch thing.

#

then there's "Better together" update, that update is where pocket edition a no longer a thing, but rather bedrock edition.

#

bedrock edition is still pocket edition but for more mainstream platforms since 'pocket' wouldn't make sense anymore, aswell still have legacy PE stuff like nether reactor and those crafting table but stone version. those are no longer functional though, but still there. not entirely removed. also even better, the game directory still contains 'minecraftpe'.

earnest wind
#

Is it possible to make a button that runs a command?

hexed briar
#

No.

winged flicker
#

Hello, where can I modify the bossbar in minecraft?

hexed briar
#

vanilla_template/ui/hud_screen.json.

winged flicker
#

Ty

tender flare
#

im changing the server_form (long form), i want a background image to fill the whole screen, but using ["100%", "100%"] makes the image invisible, using e.g [300, 200] will make it visible...no parent element visible to me sets size to 0 or smh, what would i do?

opal aurora
#

In the vanilla server_form.json file, the main screen panel size is [ 0, 0 ]

#

Set it to [ "100%, "100%" ] can fix that issue

#

What you set up is probably 100% of 0px

tender flare
unique swan
#

Hello

clever maple
#

can someone help me I don't get it Idk how to make when a msg startswith ok: to turn it visible

                            "actionbar_message": {
                                "type": "label",
                                "anchor_from": "center",
                                "anchor_to": "center",
                                "color": "$tool_tip_text",
                                "layer": 31,
                                "text": "$actionbar_text",
                                "localize": false,
                                "alpha": "@hud.anim_actionbar_text_alpha_out",
                                "bindings": [
                                    {
                                        "binding_name": "#actionbar_text"
                                    },
                                    {
                                        "binding_type": "view",
                                        "source_property_name": "(not (#actionbar_text - 'ok:') = #actionbar_text)",
                                        "target_property_name": "#visible"
                                    }
                                ]
                            }
#

or else its should not show

mystic heart
clever maple
#

can you show me how bc I'm I don't get it

mystic heart
clever maple
#

no i mean like I have to actionbars and I wont the one show up when the message startswith ok:

#

like the top one it should always on but the right one not only when the message startswith ok:

#

@mystic heart

mystic heart
#

then just add the ignored parameter to the one on the right

clever maple
mystic heart
clever maple
#

right```js
{
"hud_actionbar_text": {
"type": "image",
"anchor_from": "right_middle",
"anchor_to": "right_middle",
"offset": [
0
],
"size": [
"100%c + 12px",
"100%c + 5px"
],
"texture": "textures/ui/hud_tip_text_background",
"alpha": "@hud.anim_actionbar_text_background_alpha_out",
"controls": [
{
"actionbar_message": {
"type": "label",
"anchor_from": "center",
"anchor_to": "center",
"color": "$tool_tip_text",
"layer": 31,
"$atext": "$actionbar_text",
"localize": false,
"alpha": "@hud.anim_actionbar_text_alpha_out",
"ignored": "(($atext - 'ok:') = $atext)"
}
}
]
}
}

mystic heart
#

Then yes

clever maple
mystic heart
clever maple
#

when I type ok: its make the texture bigger when I remove ok: its gets smaller

#

that is without

#

that is with ok:

#

@mystic heart

mystic heart
#

bc you aren't hiding the background, only the text. If you want everything to be visible/invisible, you need to modify hud_actionbar_text. Remove ignored from the text element and put "visible": "(not (($atext - 'ok:') = $atext))" in hud_actionbar_text

clever maple
#

but the msg doesn't show up

clever maple
mystic heart
mystic heart
# clever maple but the msg doesn't show up

as for this, it seems you removed the text property from the label element, so it doesn't know what text to put. Your original version had this defined correctly but it's not there in the current one

clever maple
# mystic heart as for this, it seems you removed the `text` property from the label element, so...

how can I make it when the message startswith § its should put the actionbar right and if not its set it to default

{
    "hud_actionbar_text": {
        "anchor_from": "top_left",
        "anchor_to": "top_left",
        "offset": [
            0,
            0
        ],
        "size": [
            "100%",
            "100%"
        ],
        "alpha": 0,
        "controls": [
            {
                "hud_actionbar_text": {
                    "type": "image",
                    "anchor_from": "right_middle",
                    "anchor_to": "right_middle",
                    "offset": [
                        0
                    ],
                    "size": [
                        "100%c + 12px",
                        "100%c + 5px"
                    ],
                    "texture": "textures/ui/hud_tip_text_background",
                    "alpha": "@hud.anim_actionbar_text_background_alpha_out",
                    "controls": [
                        {
                            "actionbar_message": {
                                "type": "label",
                                "anchor_from": "center",
                                "anchor_to": "center",
                                "color": "$tool_tip_text",
                                "layer": 1,
                                "text": "$actionbar_text",
                                "localize": false,
                                "alpha": "@hud.anim_actionbar_text_alpha_out",
                                "$atext": "$actionbar_text",
                                "visible": "(($atext = '§'))"
                            }
                        }
                    ]
                }
            }
        ]
    }
}
wild mason
#

how would I go about adding a 3d entity preview and specifiying the entity thru json ui?

gray shale
#

Any idea how to do this? Is it probably a custom font emoji?

normal moat
#

Yeah emojis+scoreboard+(fakeplayers?)

gray shale
#

I see

#

Thanks

gray shale
torpid nymph
mild crow
last pollen
#

How can I make a json-ui with just the title
from ui?

normal moat
#

lmao what

#

You have to write json to make UI.

earnest plover
normal moat
#

uh?

earnest plover
normal moat
#

ahh okay

torpid nymph
#

Finally know enough about ui to create the addon I wanted to make when I first started working on ui

restive crag
torpid nymph
#

ohh wait nvm

#

no, i use a prefix

restive crag
#

nvm but it's a good practice ig, that's what I do cus sometimes people just steal ui's

torpid nymph
#

marketplace encrypts all my work, so i'm good. (this is not apart of a marketplace project, it's a portfolio piece)

restive crag
torpid nymph
restive crag
torpid nymph
#

no, they pay the studio, the studio pays me

restive crag
#

Oh alright

restive crag
torpid nymph
#

yeah, probs I didn't make it

wild mason
#

is there any way to add a 3d preview of an entity that isn't your own player?

unique swan
#

Hello

#

I want the text I added to the button to stay fixed, when I put a space, the text does not go backwards.

#

how can I do that?

earnest wind
#

How can I create menus like this?

normal moat
#

Editing Server Form.

torpid nymph
# earnest wind How can I create menus like this?

Code: https://bstlar.com/~e/t-b-s-f-c

This tutorial shows how to make a form only show when the title is specific.

Github: @LeGend077
Discord: LeGend#1687

#minecraft
#minecrafttutorial

▶ Play video
earnest wind
#

How can I move that button there?

hexed briar
#

Use the grid.

#

with scrolling ofc.

#

The grid is unfortunately not really stable, by stable I mean. not usable for 'trial and error' type. since the game sometimes will crash.

torpid nymph
#

hehe pig renderer

#

pretty sure that the pig's body is on backwards but we ignore that

gray shale
restive crag
# earnest wind

Well i assume its a stack_panel type, then you can't move that there directly, what you could do is wrap the buttons with panel so you can move it anywhere you prefer.

restive crag
vocal urchin
#

Can someone help? Why is the gamer tag say random things?

#

Is there any way to fix?

mortal monolith
#

It might be the options.txt file

#

mp_username:skinStandardCust
mp_prev_app_name:skinStandardCustom0c51814704bd47bd9f611041b623baae

vital edge
warm lichen
#

I really need to learn JSON UI...

#

Kinda want to wait for OreUI but it seems so long till it gets released

tender flare
restive crag
hexed briar
#

my brother and christ

#

ore-ui is already out.

#

but though, not really data-driven yet and limited to couple of screens

restive crag
warm lichen
#

Yeah

hexed briar
#

wasn't that official enough, like.

#

we have ore-ui based achievement screen for nearly 2 years

restive crag
#

It's in beta

#

preview or whatever

hexed briar
#

it's on stable.

#

It's been there since 1.19.10

#

also the world creation screen is also now stable too, no longer needs beta or preview

#

I still have it, even fresh reinstall.

warm lichen
#

So its not really publically released

#

Although, base on the performance of OreUI in Minecraft Legend, I believe Mojang needs more time to optimize it

#

Cause...it's bad

hexed briar
#

The 'publicly' term doesn't mean anything rather than it already out there in the wild.

#

to sum it up, ore-ui is already out, but not data-driven. there's a lot more to go.

hexed briar
wild mason
# torpid nymph

what is the renderer used for entities in general? I've been asking about it but literally no answers in this discord most of the time

mystic heart
unique swan
restive crag
fringe cloud
#

Can you edit the death screen?

#

And if so how?

#

(I'm new to json ui)

halcyon spear
#

Yes, You can edit the death screen!

#

What changes would you like to make?

limpid solstice
#

Does anyone know how do I make so that when I type like "/title @a title You have won" there will be an image showed

normal moat
mystic heart
# restive crag How do you exactly get the uuid of an entity?

Scripting is probably the easiest way as LeGend just explained ^^^
But if you're not familiar with scripting you can also get the id for the binding by giving the entity the inventory component and displaying the binding value as text on the horse screen.

median spoke
#

Or you could add the entity to a scoreboard. When you display that scoreboard, it will show the uuid of the associated entity

fringe cloud
fringe cloud
#

Is there a way to animate a chat message?

normal moat
#

animations

fringe cloud
#

Thx

gloomy bronze
#

how use UV?

sturdy pewter
#
"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": "visibility_changed"
},
// element becomes visible then immediately turns invisible when a title containing the update string is passed
{
    "binding_type": "view",
    "source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $update_string) = #hud_title_text_string))",
    "target_property_name": "#visible"
}
]```
I found this code in the documentation. How do i know the name of the binding is called  "#hud_title_text_string" to read the title, In another code for scoreboard it was called "#player_score_sidebar". Is there anywhere a list with all #text ?
median spoke
wild mason
normal moat
#

The number of times I tested it, horse render only works in the entity's chest ui (entity's inventory).

You can try editing the horse screen to check the renderer.
I still don't know much about passing it.

"type": "custom",
                            "animation_reset_name": "screen_animation_reset",
                            "anims": [
                                "@common.screen_exit_size_animation_push",
                                "@common.screen_exit_size_animation_pop",
                                "@common.screen_entrance_size_animation_push",
                                "@common.screen_entrance_size_animation_pop"
                            ],
                            "renderer": "live_horse_renderer",
                            "layer": 4,
                            "anchor_from": "center",
                            "size": [
                                100, 100
                            ],
                            "anchor_to": "center",
                            "property_bag": {
                                "#entity_id": <entity_id>
                            }
wild mason
#

so it cannot be only working in the chest ui

wild mason
normal moat
#

Yeah, but they maybe using other techniques

#

You can still try it in the server form.
As I said I haven't tried it on different screens.

wild mason
#

would this be a bridge documentation issue that it says it's not usable here?

normal moat
#

yes, docs issue

wild mason
#

hmm alr I will keep trying then

wild mason
#

I'm a bit confused, how am I supposed to combine two strings into one?

"$temp_text": "#form_text",
"$second_temp_text": "Test Text",
"$test_qr": "$temp_text + $second_temp_text",

this does not seem to work

hexed briar
#

bindings does not mix with variables.

#

putting binding string in variables does not work.

earnest plover
#

@hexed briar look at this

earnest plover
#

like "$test_qr": "($temp_text + $second_temp_text)"

wild mason
#

ty I'll check

hexed briar
wild mason
earnest plover
earnest plover
hexed briar
#

misinformation moments

#

your bindings does not even have variables

#

and your variables doesn't even have a use, it's just literally there

earnest plover
#

em

#

?

wild mason
#

hmm alright I will just leave it on the side for now, for some reason the #player_uuid is just not returning me anything anyway, got a clue why that would be or am I just missing something obvious?

hexed briar
#

#player_uuid does not exist.

wild mason
hexed briar
#

either it was locked behind the forbidden builds of the game

earnest plover
#

@hexed briar man my variable is used to change texture file location u can see it on vidio that i have send before.

hexed briar
hexed briar
#

this means that your variables is not really used and just for idk, there? nothing?

#

I've been making json-ui stuff for a year and can clearly read json-ui to the point I can see which one without even launching the game

earnest plover
left yew
hexed briar
#

mine doesn't return anything back then so I left it as that.

left yew
#

Yeah, it wont work like that/by itself. But if you try certain way's with Text's and UUID's of the player you want on the server, it would/will work

jolly rock
#

How check if #title_text include Custom Menu large? What I'm looking for is to place a different title, something like Custom Menu LargeSTATS and only show STATS

(#title_text = 'Custom Menu Large')

jolly rock
#

I try something like:

...
"$testname": "('%.17s' * #title_text)",
"$showname": "#title_text - ('%.17s' * #title_text)",
"$text_name": "$showname",
...
"source_property_name": "($testname = 'Custom Menu Large')",
...

But dont work

restive crag
jolly rock
#

Any solution? I'm really new to JSON ui

wild mason
#

I'm having a little hard time understanding why the anchors I set are not working as I expect it

{
"label_panel": {
    "type": "panel",
    "layer": 99,
    "size": [
        "223px",
        "14px"
    ],
    "offset": [
        "17px",
        "52px"
    ],
    "anchor_from": "top_left",
    "anchor_to": "top_left",
    "controls": [
        {
            "label": {
                "type": "label",
                "layer": 99,
                "text": "#form_text",
                "anchor_from": "top_left",
                "anchor_to": "bottom_left",
                "shadow": true,
                "font_scale_factor": 1
            }
        }
    ]
}
#

I would expect that going from top_left to bottom_left would mean that the text that is inside will just start from the left side and go to the right side centered in the middle of the two anchors, instead it actually is shifted up

vital edge
#

did somebody make a typo?

opal aurora
vital edge
#

ok im kinda scared modifying the cursor now. you know they might fix the missing letter and it wont merge with the UI i'm working and everything falls apart

wild mason
#

also how would I split the provided form text into muliple strings after a new line character?

hexed briar
hexed briar
#

I.e, If you're putting this in the button elements, anchors should only work around the button area.

#

vice versa.

wild mason
hexed briar
#

well if you planning to put anchors in the form panel, that wouldn't be issue

#

but if you're planning to put anchors outside of the form, yeah that'll be the issue for you.

wild mason
#

they are inside

hexed briar
#

well that's limitation right there

#

not really an limitations but intended way for json-ui I suppose.

#

Anchors within limited parent size and offset is your only friend on this one.

wild mason
#

I don't really understand how there is a limitation? like if I have a basic form panel with a defined size, then the control children which have defined sizes too should be able to obtain anchors, like if anchors are actually working correctly

#

which they should be or the center anchor would also not be working

hexed briar
#

Like any UX/UI stuff, having fixed size as parent and elements makes anchor only use that limited size, not entirely the screen.

#

Forgot to mention, your text panel doesn't have bindings for #form_text

wild mason
#

yeah I think you are missundestanding me, I want the anchors to correctly defined the fixed size inside that panel

hexed briar
#

perhaps change it to "test" and see if it works or not

wild mason
hexed briar
#

No?

#

you need bindings for it.

wild mason
#

well it's definitely working

hexed briar
#

you can't just pick random bindings string without adding bindings array

wild mason
#

the form text is displaying correctly, not sure what you are exactly talking about, I'm pretty new to this

hexed briar
#

weird, never seen bindings working without bindings array.

wild mason
#

the title needs a binding or it won't display, not sure about the form text and why it's working

hexed briar
#

I made the whole pre-game custom UI and those do need bindings array if putting bindings and stuff, otherwise it won't work

#

what is that parent element name exactly

wild mason
#

the server form does not have a mention of that anywere in my file and that form text is only mentioned in that line

wild mason
#

which is a child of the custom form in my namespace

hexed briar
#

nevermind I can see why it's working

#

factories.

wild mason
#

what's that?

hexed briar
#

It kinda like a pre-configuration for the elements

wild mason
#

nvm I think I read about it in the json ui doc

hexed briar
#

it was something like hardcoded thing but at the same time it's not

wild mason
#

is it cause the binding is specified in the base server form?

hexed briar
#

yeah.

wild mason
#

alright, kinda starting to get it

#

not sure about those anchors yet, coming from godot and in general they were always a pain, will try and see how they work later, not really needing them right now

hexed briar
#

it shouldn't hurt without anchors

#

since you're doing fixed size element and therefore it's the same for every devices

#

it's not like it gonna move one bit.

wild mason
#

I'm working with a specific pixel size ui so it'a not as needed atm, will probably need them if I will work on more hd stuff with not specific sizes

#

so yeah never mind the title text is also already a defined binding so I can remove that from my custom form

hexed briar
#

just a reminder that GUI scaling is there. so depends on user, you might definitely need dynamic size instead of fixed size.

wild mason
#

I mean it will definitely not go outside their screen area, since the most they can do is make it smaller

hexed briar
#

Devices with 1080p can go even larger since it has 3 different sizes.

#

just don't underestimate it.

#

even large chest screen can't fit properly

wild mason
#

yeah I'm working on the biggest scale size

#

will definitely tweak it later if there will be reports of it not fitting correctly

#

a close button is required for mobile devices right? otherwise they cannot get out of it?

hexed briar
#

If you're planning to, just go ahead and read that.

hexed briar
#

you can press back button on a phone internally and it should acts like back button

#

but that's on you and probably userbase

wild mason
#

I mean yeah we got every device on our server since we got over 1000 people daily, after bedrock release that became our bigger userbase, which is why I am trying to improve the experience for them

hexed briar
#

for better accessibility, I guess that's a go.

#

There's variables type for platforms.

wild mason
#

I saw, but for now I really don't wanna mess with it since I'm alone on it and we have over 100 forms lol

#

since I just started on this, it will take me a bit to make it perfect for every platform

hexed briar
#

|default is there for variables.

wild mason
#

is the button texture in ui common background_button_image? was trying to look for it so I can change it, also trying to understand the button states

#

it's kinda hard to read thru all the bedrock samples to see what's there in vanilla files

hexed briar
#

that's depends.

#

for me, should probably be easy since it's just 85% filled with variables.

#

removing all variables should give you a clear understanding on how should it work in general, then you can rewrite it from start

#

read the referencers aswell

#

button type has 4 states - default, hover, pressed and locked. those are just inside control array or child element of button, but this serve on how button should react and work properly.

#

those buttons vanilla are big sample of that.

wild mason
#

yeah I got the state names, trying to understand how to bind those to different display values, is that just conditional kinda like looking for the title parts to display the custom form?

hexed briar
#

As long the parent element itself or the referenced parent element has button type on it, it should automatically binds it for you.

#

there's sample of button type in ui_common.json

wild mason
#

alright will check

#

thanks

hexed briar
#

this will allows you to control the button sounds and volume.

#

well, actually everything what you needed i suppose

wild mason
#

by the way is there a way to choose the default button that is selected or will it always be the first one?

jolly rock
#

My first json ui

gray shale
#

noice

restive crag
#

Although most of it is just texture changing stuff

unique swan
#

How can I create 2 3 form_texts?

#

I want to create 2 separate form_text

#

What should I do for it?

mild crow
wild mason
restive crag
#

What you could do though is split the text

wild mason
restive crag
limber quartzBOT
wild mason
restive crag
wild mason
hexed briar
#

Splitting texts?

wild mason
#

I need to split strings on every new line, if it's possible

hexed briar
#

or alternatively you can use clip_children property on panel property with fixed size, and use the text with offset to set what do you want to display

hard patrol
#

uhm... how to add text to pack setting screen below slider pwease

hexed briar
#

it's a cool alternative since you can use the same #form_text

#

split it yourself and place it anywhere

wild mason
#

so there is no way to split text at a new line where every line can have whatever characters and get a collection to use out of it?

restive crag
#

Automatic ig or something

hexed briar
#

Static text will do just fine, but dynamic text like having scoreboard score in your text aren't gonna do anything well

wild mason
#

static text you could just hard code into the json ui itself if you needed it in multiple places, not really useful then

hexed briar
#

that's why the clip_children comes in.

#

you pick a fixed panel size, set the text offset where you want the 'text' (with a new line) to display and there you have it

#

it works on dynamic text so, it probably should be fine

wild mason
#

I don't really see how that would help me if I want to display the provided text in multiple parts of the ui, but I guess I'm too new to this

#

actually maybe I get it, will test it out later

unique swan
#

How can I use only 2 form_text in separate places?

hexed briar
#

Clip children is essentially just to clip every child elements, so only parent size can be show. kinda like you have scissors, cut the half of the text off.

#

and it will show an cut version of the text in UI

#

so you can hide the texts.

#

so you can use 2 #form_text texts with clip_children at the same time it's different texts

unique swan
#

I added 2 bodies and they have the same text and I want to add one of them to another place.

#
                                        "main_label": {
                                            "type": "label",
                                            "offset": [
                                                2,
                                                2
                                            ],
                                            "color": "$main_header_text_color",
                                            "size": [
                                                "100%",
                                                "default"
                                            ],
                                            "anchor_from": "top_left",
                                            "anchor_to": "top_left",
                                            "text": "#form_text",
                                            "clip_children": 
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            },````
#

?

#

Like this

#

?

unique swan
#

"clip_children": true,

opal aurora
#
{
"settings": [
    {
      "type": "label",
      "text": "Lorem Ipsum dolor sit."
    }
  ]
}
#

Replace the dummy text with your text

#

(Method shared by ZouChenyunfei)

wild mason
#

how would I collect buttons that start with specific text into their own collection?

drowsy topaz
#

Hello, can anyone send me the server_forms.json file template and how to change the width and height of the form ( action, modal, message form data )thank youu

wild mason
#

anyone?

unique swan
#

How can I add a background to the scroll bar?

gentle hemlock
#

how to change the position of this effect icon? I couldn’t find where to change this in mob_effect_screen.json

torpid nymph
gentle hemlock
#

hud_screen.json?

torpid nymph
gentle hemlock
#

thanks

jolly rock
#

Does anyone know how to display the body text over the frames? I offset it but it is seen below the frame, try with layer but it doesn't work.

wild mason
jolly rock
#

i try search it but no

wild mason
#

well yes or otherwise it would not behave that way

jolly rock
#

I try put it, and set false

#

Look :C

worn oasis
#

I'm updating my UI Pack with more themes and when I try to load a world using my pack I get an error.
Appearance is taking a long time to load. Proceeding with world generation...

My first thought was, my manifest.json file was messed up. But I don't see any issues.
here is my manifest.json
What could be the issue? I'm using bedrock v1.20.15.

normal moat
#

This is thing sometimes happen to me probably because of my device..
You can try lowering the memory tier

opal aurora
#

No, since it would not affect performance by a lot, try setting all "memory_tier" to 0

wind zinc
#

is it worth to learn and implement json UI anymore, since its getting replaced with Ore UI or whatever name that is

torpid nymph
#

probably, knowing json ui should help you understand ore ui when it comes out

worn oasis
#

i changed the mem tiers to 0 and still persists. Im not sure whats causing this but it was working before i added the Gold theme in mem tier 6

unique swan
#

How can I create a scrolbar panel?

#

like this

worn oasis
#

could my min_engine_version be messed up? that should work right? i tried to apply an old version of my pack that i know worked. It doesnt work with the latest versio of the game. The min engine version on the old version of the UI Pack is set to 1.19.40

opal aurora
#

it's not required to be unique

worn oasis
# opal aurora it's not required to be unique

It doesnt work at 0 but no version of my pack is working. Makes me think its my game. Because the old version i tried i know for a fact works. Bc it was my public release version. now it doesnt work. So im kinda lost on the fix.

#

Only thing i can think of is the min engine version not working with 1.20

opal aurora
unique swan
worn oasis
nimble jungle
# worn oasis I'm updating my UI Pack with more themes and when I try to load a world using my...

I've gotten that error before when I was making changes to my pack.

I managed to figure out a file in my ui folder was causing this, I then removed 1 file and joined the game to see if this file caused the issue and continued with all others in my ui folder till it was fixed.

When I figured out which file was causing the appearance bug I basically remade it using a new version from the uis given in the vanilla folder.

worn oasis
nimble jungle
worn oasis
hexed briar
#

not sure what's wrong but UI aren't the actual problem or issue.

#

they're just like addons stuff, textures for example.

#

It can't conflicts the manifest, so I don't see why's that the issue

#

The game would immediately crashes if there's something wrong with the UI, specially inventory or hud.

#

or straight up throws you an content log errors

#

after all, it's just overriding the code. if those fail, like syntax errors, the game can fallback to vanilla version.

worn oasis
#

I removed the inventory_screen.json file from the pack and it loaded. So i would say its an issue with that file.

hexed briar
#

perhaps it was recipe update thing, might have to reupdate it

worn oasis
#

im not sure what the issue actually is until i work with it a bit but ill find an answer

hexed briar
#

only option is just update it to latest I suppose

#

recipe unlock thing on inventory are already causing problems even at the start of this from preview

worn oasis
#

yeah ill update it, i dont think im actually changing it in a meaningful way. So i may just remove it

wind briar
#

how can i change the textures of the forms? i want them to look similar to the hive in dark mode

gloomy sluice
#

whats %16.s mean? what means % and .s?

nimble mortar
#

.

opal aurora
gloomy sluice
#

aah thank you

wind briar
#

i cant find the textures

wind briar
#

where are the texture files for the forms located?

merry tinsel
#

I'm here to answer your questions!

torpid nymph
#

usually its common or common_buttons

wind briar
#

thanks

unique swan
#

Do I have permission to share my server to the json ui channel?

hexed briar
#

No.

last pollen
#

how can I make a Json-UI work with the UI title

nimble mortar
thorny nymph
#

What does this error mean?

[UI][error]-UI control reference not found: 'main_screen_content.sl'
restive crag
hexed briar
halcyon spear
#

Would it be possible to add this in minecraft?

opal aurora
#

but the button to "continue", it's not possible

#

if only on hud screen

restive crag
opal aurora
#

from what i know, only inventory_left and inventory_right work (on controller) on HUD

unique swan
#

But I don't know if it was made with something else.

wild mason
restive crag
wild mason
hexed briar
#

It's a legacy console edition, so obviously some people knows what that is

#

it kinda possible to make popup like that, though again there's not many button bind for that, so you gotta have condition rendering and the functions for that.

earnest plover
#

@halcyon spear just show a form type of messageformdata an edit it in json ui

earnest plover
hasty hamlet
#

hi, do someone know how to disable only the exprience/progress bar from HUD?

thorny nymph
nimble mortar
#

idk, i don't have this problems

wind briar
#

when i set the type to grid all buttons vanish is there a reason why?

#
    "type": "grid",
    "size": ["100%", "100%"],
    "orientation": "vertical",
    "layer": 1,
    "anchor_from": "top_left",
    "anchor_to": "top_left",
    "controls": [
      
      {
        "[email protected]_panel": {
          "anchor_to": "top_left",
          "anchor_from": "top_left",
          "$show_background": false,
          "size": [ "100%", "100%" ],
          "$scrolling_content": "server_form.long_form_scrolling_content",
          "$scroll_size": [ 5, "100% - 4px" ],
          "$scrolling_pane_size": [ "100% - 4px", "100% - 2px" ],
          "$scrolling_pane_offset": [ 2, 0 ],
          "$scroll_bar_right_padding_size": [ 0, 0 ]
        }
      }
    ]
  }``` im new to json ui
#

anyone

thorny nymph
nimble mortar
#

im not json ui dev :C

#

i only watched the video and it works for me

unique swan
stable grove
#

can any one help me with sliders

undone marsh
#

Waiting since 4 mins...

stable grove
#

hello

undone marsh
#

I ain't got allat of time

stable grove
#

i cant send json, why

#
"menu": {
        "type": "panel",
        "size": [
            100,
            100
        ],
        "layer": 5,
        "anchor_from": "top_left",
        "anchor_to": "top_left",
        "controls": [
            {
                "title": {
                    "type": "label",
                    "font_size": "large",
                    "text": "Menu",
                    "anchor_from": "top_middle",
                    "anchor_to": "top_middle"
                }
            },
            {
                "[email protected]": {
                    "$option_label": "ddf",
                    
                    "$slider_name": "slider_custom",
                        "$slider_steps": 5,
                        "property_bag": {
                            "#slider_steps": 5,
                            "#slider_value": 0
                        },
                    "bindings": {"binding_name": "#slider_value"},
                    "anchor_from": "bottom_middle",
                    "anchor_to": "bottom_middle",
                    "size": [
                        "75%",
                        20
                    ]
                }
            },
            
            {
                "testText": {
                    
                    "type": "label",
                    
                    "layer": 8,
                    "anchor_from": "left_middle",
                    "anchor_to": "left_middle",
                    "text": "#texta",
                    "bindings": [
                        {
                            "binding_type": "view",
                            "resolve_sibling_scope": true,
                            "source_control_name": "slider",
                            "source_property_name": "('§z' + (#slider_value / 1) +'§z')",
                            "target_property_name": "#texta"
                        }
                    ]
                }
            }
        ]
    }
#

i want to read slider value, but it fails in reading

#

test text is used to get current slider value, but i think problem is in binding

#

tried
('§z' + (#slider_value / 1) +'§z')
('§z' + (#slider_value ) +'§z')
('§z' + (#slider_value ) )

stable grove
#

can anyone help?

stable grove
#

.

vagrant nova
#

how do i prevent player doll disappearing?

visual holly
#

Does anyone know how to make a custom UI for servers? I was looking for help making a custom UI for my server on missions, if anyone can help me, tag me

unique swan
#

@visual holly

restive crag
#

Hey, quick question, where do i locate the title element for forms? Tried editing standard_title_lable but it just disappears or not affected when i move/resize it. @normal moat perhaps could you help me since I know you have experience for this.

violet light
#

Hello, why do my buttons not appear in my custom ui

restive crag
unique swan
#

"$title_size": [ "150% - 30px", 0 ],

#

@restive crag

restive crag
unique swan
#

Title_panel standart title label

restive crag
unique swan
#
        "$title_panel": "common_dialogs.standard_title_label",
        "$title_size": [
            "150% - 30px",
            0
        ],```
wind briar
#

i have a similar issue like LouTos, whenever i set my ui from stack_panel to grid all buttons disappear

#

what could casue that? do i need to set the size of the buttons? if so where

violet light
#

How do I change the orientation of the buttons so that they are horizontal

wind briar
wind briar
violet light
#

Come mp

wind briar
#

mp?

wind briar
violet light
#

message private

velvet heath
#
{
                            "logo": {
                                "type": "image",
                                "texture": "textures/ui/logo",
                                "size": [
                                    100,
                                    100
                                ],
                                "anchor_from": "top_middle",
                                "anchor_to": "top_middle",
                                "layer": 1,
                                "bindings": [
                                    {
                                        "binding_name": "#objective_sidebar_name",
                                        "binding_type": "global"
                                    },
                                    {
                                        "binding_type": "view",
                                        "source_control_name": "logo",
                                        "resolve_sibling_scope": true,
                                        "source_property_name": "(#objective_sidebar_name = '§l')",
                                        "target_property_name": "#visible"
                                    }
                                ]
                            }
                        },

i have this code, but how can i make the scoreboard look right

#

i dont know what size i have to put in

unique swan
#

"100%", "100%"

velvet heath
unique swan
velvet heath
#

But the picture is invisible now

unique swan
#

@velvet heath hmm Make the size 100 by 100 and then post a picture.

#

you have to look at the image

restive crag
#

@torpid nymph yo, which element did you use for making a main_panel_no_buttons but without the close button?

velvet heath
unique swan
#

@velvet heath dm

restive crag
blissful pine
#

?jsonui

limber quartzBOT
blissful pine
#

Good morning,
What do you use to create UIs?
I was told about ore, can you use that?
Or do you modify the json line by line?

pale gust
#

Json line by line, atleast for now

gray shale
#

Is this kind of UI possible?

#

i know it is possible on java but idk if it's possible on bedrock

pale gust
#

I think someone has done something like this already, i cant remember it tho

violet light
#

I have a problem, I added an item texture in the button but the button has changed size, at the base it must be like the others. How can I do this?

blissful pine
torpid nymph
#

Is something like this possible? (dynamically setting an image based on dialogue text) I have checked the string output by making this a label and the path does exist but when I try to use a binding for it, it shows the missing texture icon.

torpid nymph
#

right now, I'm passing it to a panel of images each referencing a binding template to show when their corresponding text is being shown but this would be much more convenient.

restive crag
torpid nymph
restive crag
torpid nymph
#

that's how I checked

#

label works fine

restive crag
torpid nymph
meager phoenix
#

I know that JSON UI is murky and difficult waters to navigate, but could someone please link a video on how to get started? Where do I get the vanilla files so I can examine them? How to make a small example from beginning to end? Anything? I’m just starting to play with this and I’m wondering should I even waste my time because of Ore?

hexed briar
#

Depends.

#

You can learn at

limber quartzBOT
hexed briar
#

and secondly, you can get and learn vanilla example from vanilla template. (RP/UI folder)

#

be warned that json-ui is deprecated due to upcoming ore-ui.

meager phoenix
#

And if so, where is that API and documentation?

hexed briar
#

No, Ore-UI isn't data-driven yet

#

therefore you can't really modify it yet

meager phoenix
#

Gotcha, thank you.

past stirrup
#

Ore Ui >>> JsonUI

hexed briar
#

live "xKingDark" editing message in #1067869374410657962 moment

meager phoenix
#

I can’t seem to find RP/UI anywhere. I see in my PE files in a resource folder what appears to be world style folders or mcpack that have a ui folder with like one json per “pack” or “world” but nothing like a directory full of json files for ui…..

vital edge
#

?template packs

limber quartzBOT
meager phoenix
torpid nymph
#

any way that I can change the text size in a label depending on the gui scale (-1, or 0)?

meager phoenix
#

Man, so confusing…. This is gonna be a headache. I wish there was a simple tutorial pack to download - like “Custom Menu Tutorial” that would show you what files need to be included and how for a basic project.

#

Annotated or with an explanation read me

torpid nymph
signal beacon
#

What is the ownership of the title of the chest?

#

The proprety*

meager phoenix
#

My overall objective is a custom dialogue menu with selectable responses

torpid nymph
#

ui files go into a folder named "ui" in the resources. Any custom ui files must be defined in _ui_defs.json with their file path but they must have the ui folder as their root. E.g.,

  • you can have: ui/server_forms/form_menu_1.json
  • you cannot have: custom_ui/server_forms/form_menu_1.json
#

All ui is an edit of vanilla ui though

#

for example, custom hud elements that you add will be done via title text (edited in hud_screen.json)

meager phoenix
#

Ok, so when I downloaded the vanilla RP, those are the files I’m editing, right? And if that’s the case how do I implement these custom ui files in my add-on without also installing this massive 52mb pack from the GitHub into my realm?

torpid nymph
meager phoenix
#

Ok, but for the form you said I’d need to declare them in ui_refs. So where would I do that? Create a new ui_refs file in my add on pack?

#

You say in resources/ui/hud_screen - this is found in the GitHub download here — #1067870274894172260 message right?

torpid nymph
#

all you need is this:

    "ui_defs": [
        // NPC Dialogue
        "ui/kirby/npc_dialogue/npc_0.json" // path to ui file
    ]
}
meager phoenix
#

Ok, just to clarify - I create a folder called “myCustomUIAddon” and inside there is a folder titled “ui” which contains two files. One “_ui_defs.json” which only includes the lines here —#1067870274894172260 message — (with proper values and not placeholders of course) and a npc_dialogue.json which will only define the objects it edits. Is that about the jist of it? Then when I install the pack, my new definitions merge with the games and mine replace files whenever contradictory data is passed?

hexed briar
#

You can go with any folders you want as long the UI path is valid.

#

example I could put it on textures folder, or my own folder specially. It works too

torpid nymph
hexed briar
#

y

restive crag
# past stirrup Ore Ui >>> JsonUI

I dont understand, why don't mojang expand the JSON UI and release docs for it. For me, honestly JSON UI is actually really good, just have some limitations.

hexed briar
#

Json-UI is a decade old system from MCPE 1.0

#

of course, those will be obsolete. but that's ain't the main reason anyways

#

the goal of that was for new employees who knows react or html to make UI for it with ease, while they won't have a brain damage with json-ui like any of us have

#

I could immediately tell that after those mobile new touch things. that json-ui code is eh, questionable.

#

the usage of actual image file name which are not really required, and weird way to stack up elements

#

I can clearly see why would ore-ui exist

restive crag
#

Ohh alright

hexed briar
#

Most legacy devs aren't there anymore on bedrock, mostly new devs. that's expected.

restive crag
#

But we're still not sure if ore ui will get data-driven

hexed briar
#

We may, but that's depends on Mojang.

torpid nymph
hexed briar
#

We may get data-driven stuff for that ore-ui once it's fully done. but not really sure when since it's long development

#

for now, it's nowhere near to 20%.

#

we only get couple of main few screens and one in-game screen (death screen)

#

achievement is there since probably years now, that world creation screen and very recently the world selection screen or aka play_screen

restive crag
#

Also I noticed they made the create world with oreui but not the edit world? Wouldn't it just be the same?

hexed briar
#

might get it when play screen is done

#

though the where and when is idk, long I guess

#

world creation is fully global or rollout for everyone after more than 6 months

past stirrup
#

it’s in the game files but they still haven’t released it yet

#

maybe soon

hexed briar
#

yeah, in term of ore-ui. don't expect new stuff that much. it's just that long

#

it's not life changing or anything, it's just minor layout and new design changes

#

at the same time they may try their best to optimize so low-end people can run it like json-ui

restive crag
#

Oh yeah

#

They need optimize the lag when opening chest or inventories

#

Those are annoying

hexed briar
#

I don't have those issues really.

#

If you uh don't want animation because of it slowing you down, there's "screen animation" toggle in the video settings.

#

may reduce the loading time.

drowsy smelt
#

Is there a way to add a new button in Minecraft like F5 button and this button open a Form like ActionFormData and ModaleFormData??

hexed briar
#

No

ionic vapor
#

i saw someone a while ago in this channel show that they had like 20 buttons on an npc dialogue menu and i was curious if anyone knew how to do that? assuming that most json ui stuff is resource pack based, i dont think commands will work for members tho, so it may not be what i want idk

hexed briar
#

You can get more than 6 buttons by using NBT editor at the same time modify the Json-UI npc screen to make it compatible with it.

ionic vapor
#

what in the

hexed briar
#

Again, json-ui are client-side whereas NPC dialogue are server-side.

#

that's how it works.

ionic vapor
hexed briar
#

well I don't think there's one

#

at the same time you don't want to invest on that, there's server forms that does exact the same thing

#

but alot easier.

#

NPC dialogue are, I guess really outdated for today add-ons standard.

ionic vapor
#

yeh.. there's a problem for me though

#

i cannot use server forms due to using an outdated version

#

afaik

hexed briar
#

which version?

ionic vapor
#

my map is going to be supported on 1.18.10-present

hexed briar
#

not sure why would you go for 1.18.10

ionic vapor
#

there's no render dragon on any version below 1.18.12, assuming that you arent using the 64 bit windows version of mc

#

many players in the community i'm in uses 1.18.12 x86

#

for better performance

#

i can work with 6 buttons per page but yeh it's a shame i can't rly do much about it

hexed briar
#

yeah I don't think not any NBT editors support that anymore expect downgrade, and at the same time there's not many of them

ionic vapor
#

i have an nbt editor that does support it

#

mcc toolchest

hexed briar
#

I would honestly go over 1.19.30 for more performance based at the same time script-api supports

ionic vapor
#

would it be supported from 1.19.30-latest if i went for that?

hexed briar
#

Could be.

#

Script-api uses some weird sync version thing where 1.19.30+ can use it

ionic vapor
#

oh interesting

hexed briar
#

it'll function the same even latest version

ionic vapor
#

i see

#

it's something i may have to consider

hexed briar
#

there's 1.0, 1.1, 1.2 and 1.3 for stable afaik

ionic vapor
#

knowing that over time 1.18.12 is slowly getting more and more obsolete due to servers not supporting it very well

#

it's something to consider

hexed briar
#

well it's already obsolete since it's 2 major versions behind.

ionic vapor
#

lol yea

#

if i look at it in the bigger picture it's very obsolete

hexed briar
#

and not only that, addons components gets changed everytime. so some 1.18 add-ons components might not work in the latest

ionic vapor
#

they do work, but vsc gets confused

#

from what i've tested at least

hexed briar
#

and very recently, in the latest preview. they seems to deprecated few addons components in the favor of scripting-api, might wanna keep in mind with that

ionic vapor
#

but the issue is that i have loads of command blocks i made 2 years ago that all have old executes in them

#

so i cannot touch them anymore or i just remake it which is PAIN but maybe it's worth the sacrifice

hexed briar
#

It's technically not hard to convert them into new execute format.

ionic vapor
#

yeh

#

i just have to go through each one at a timeeee

hexed briar
#

if you don't want to, you can put those into function/behavior pack instead.

ionic vapor
#

prolly should move most of them to funcitons

hexed briar
#

change the format version of the behavior and I suppose the old execute command should work in the latest

ionic vapor
#

because i was stupid in 1.16

#

i never used anything but command blocks back then

#

😠

ionic vapor
#

i could just split it into two behaviors

#

after all

hexed briar
#

I probably would go for remake the whole map and use scripting-api instead

#

command block is still optional though

ionic vapor
#

most of my plans are still just plans

#

i have to learn all the scripting stuff but it's prolly not that hard

hexed briar
#

If you know about javascript or TS ofc

#

script-api is based on that.

ionic vapor
#

i understand the basics of javascript

#

shouldn't be that hard to learn everything i need to learn with the decent amount of experience that i have... right?

hexed briar
#

then it shouldn't be hard considering script-api does not use advanced javascript codes but instead they have minecraft related code for you to tickle around.

#

there's a lot of example everywhere in the wiki about how should it work

#

for best support, use script-api 1.3 for it. don't worry though, there's even beta version for it too Incase you might wanna tickle latest script feature stuff and want to implement it while in development

ionic vapor
#

would it be hard to convert all the npc uis that i made into server form uis

drowsy smelt
#

How can i make a new button in Minecraft bedrock?

ionic vapor
hexed briar
#

well you can remake it though

#

server form is actually a lot easier than NPC screen

ionic vapor
#

idk json ui very well at all

hexed briar
#

they also uses less code too.

ionic vapor
#

what am i getting myself into

#

i feel like the worst thing will be converting the npc dialog ui appearances

hexed briar
#

it probably not gonna be that bad despite server form being more easiest json-ui to modify

ionic vapor
#

okayyy

hexed briar
#

you have buttons, image from the server-side (optional, can be disabled if you want though) and text

ionic vapor
#

surely if i just copy the positional values and the pngs i should be set

#

im assuming i still have to use bindings to change the appearance correct?

hexed briar
#

yeah

#

you could ask here or post question here if you get stuck

ionic vapor
#

are the binding names the same

#

like #title-text for instance

hexed briar
#

Yep

#

they should be.

ionic vapor
#

alr goood

#

@hexed briar one more question, what do you think is the most efficient and effective way of learning this scripting stuff?

hexed briar
#

Script-api can be reloaded during in-game with /reload command.

#

you can change or make new stuff, /reload it and should able to see changes to it.

#

there's wiki for examples of how server forms should work

ionic vapor
#

so you're saying i should just learn by doing?

hexed briar
#

well it's rather trial and errors, don't worry, you can ask people in #1067535382285135923

ionic vapor
#

alr

hexed briar
#

#1046947779118895114 for inspiration I suppose, there's a lot of showcases with the usage of script-api there

ionic vapor
#

okay

#

just trying to not lose a lot of time figuring things out and then realizing there's a quick easy solution

hexed briar
#

it also can run commands just in case you want to

ionic vapor
#

yeh i tried doing that just to realize that it only worked on 1.18.12 lol

#

that's why i gave up scripting for the longest time

#

bc it seemed like every new version there was something stupid that changed all the compatibility

hexed briar
#

probably the script was still beta at that time, that's why.

#

Beta version always get changes whereas stable doesn't.

#

so you can in theory use stable script version, and it should last about 5 major minecraft update long

ionic vapor
#

if there was a decent stable version of gametest on 1.18.12 i might do that

#

but i dont think there is

hexed briar
#

yeah it won't be

#

script-api is fully universal.

ionic vapor
#

so 1.19.30 is the lowest for universal scripting

hexed briar
#

you can downgrade to 1.0 stable if you don't like 1.2 or 1.3

hexed briar
ionic vapor
#

alr

hexed briar
#

cant really be sure though, you might wanna check wiki for that

ionic vapor
#

looks like certain stuff is supported on 1.18.30

#

but that version is the absolute worst

hexed briar
#

you could try to select script versions in manifest behavior file, if it doesn't work then it should throw out in content log.

ionic vapor
#

yeh true

violet light
#

How do I add a texture like here but doing it in the server_form?

fast falcon
#

One question, is it possible to remove some slots from the hotbar?

nimble mortar
grim wagon
#

yep there is optional param in button builder where you can specify the path