#JSON-UI General

1 messages · Page 2 of 1

wraith bluff
#

is there a link or somethin

wispy cipher
#
Minecraft Wiki

Formatting codes (also known as color codes) add color and modifications to text in-game.
Text in Minecraft can be formatted with the section sign (§). In Bedrock Edition, the section sign can be used in signs, world names, book and quills, anvils and cartography tables (to rename items and maps), and in the chat input field (including in comman...

#

nvm not all but a lot of them

hard patrol
#

There are new codes too

#

In 1.19.80

wispy cipher
#

from §0 to §u*

#

minus the formatting codes

wraith bluff
#

m and n aren't used in bedrock for underline or striketrhough

wispy cipher
#

yeah its broken

wraith bluff
#

cause I read someone said tht they were already used but they aren't

wispy cipher
#

and has been broken for a long time

wraith bluff
#

yeah

grim wagon
karmic finch
#

Yes it does. It doesn't support entering it in places like chat, but you can use it in command blocks and functions.
They have to support it because the end poem and splashes still use it for some reason.

hexed briar
#

Looks like they dropped the "underline" character code.

#

bedrock used to have these, technically. it's usable, but not visible. so the code works but not the color nor character format

hard patrol
#

You also forgot about §g

hard patrol
hexed briar
#

yeah, that was disappointing.

hard patrol
#

The old format didn't work because of bugrock stuff

#

But now n and m uses colors

wraith bluff
#

yeah i was saying that they weren't used for underline and strikethrough like in java

hard patrol
#

Cuz bugrock stuff :(

wraith bluff
#

yah

#

bugrock lol

wispy cipher
grim wagon
#

no

#

😭

wispy cipher
#

is that intented behavior??

hard patrol
#

Maybe

#

It uses HTML and CSS, but Mojang can make a component to allow it.

normal moat
#

no through css?

hexed briar
#

They might have to convert their existing character/color code component into Ore-UI

#

but chances are, they probably won't. since html and stuff allows you to use any type of colors anyways.

hard patrol
#

If they allow use to use html stuff in strings then sure we can use any color.

hexed briar
hard patrol
#

Just an example "<color: red> A random string"

hushed kettle
#

how do i move the pause screen buttons?
i wanna make the buttons horizontal

hushed kettle
#

guys? 😦

hushed kettle
#

how do i make the dialog screen non-visible when the #dialogtext is something

#

do i use not (#dialogtext = "blah") for visible binding?

#

or how to make the panel be over the dialog screen

hexed briar
#

WHAT DO YOU MEANNNNNNNNNNNNNNNNNN

#

that is enough json-ui for me today

torpid axle
#

google

obsidian crest
hexed briar
obsidian crest
#

ik

#

just easier on the eyes

hexed briar
#

I love to format my code at absolute compact as possible

obsidian crest
#

👎

hexed briar
#

It's even more easily to read though

obsidian crest
#

NOOOO

#

you're wrong

hexed briar
#

I'm not wrong.

obsidian crest
#

but ig your stuff looks nice

#

do whatever

hexed briar
#

rate my format

obsidian crest
#

great job

hexed briar
#

If it works, it works.

obsidian crest
#

this is how it is supposed to be 😠

hexed briar
#

the block bracket disgusts me.

obsidian crest
#

lmao

#

😢

hexed briar
#

now make it compact frwoe

obsidian crest
#

i dont even know how to make such an abomination

hexed briar
#

hey atleast it's not rawtext format type where every code is literally just 1 line

hushed kettle
#

tried layers and the npc interact screen disappeared/didnt work

hexed briar
#

Ianvi, what type of code editor you use?

hushed kettle
#

i use vscode to open the minecraft vanilla json ui

hexed briar
#

those things you described sounds like related to json being invaild, that's why I'm asking.

#

do you have uh, syntax checker something like that?

hushed kettle
hexed briar
#

JSON-UI won't load properly if the JSON is invaild, don't forget that there won't be any errors related to being invaild other than element failed to load.

hushed kettle
#

i mean its working

#

no warnings on the content log

hexed briar
#

It works like half of file and just it

hushed kettle
#

it just appears BEHIND the npc interact screen

#

i want to move it infront

hexed briar
#

Use layer property on that element.

hushed kettle
#

what layer value should i use

hexed briar
#

( i.e "layer": 5 )

#

The higher number is, the more element will be Infront.

#

The lower number is, the more element will be behind.

hushed kettle
#

alright

#

ill try

#

thanks

hexed briar
#

I'd recommend to use that on those element in child element if you using inside of parent.

#

putting it on parent will absolutely do nothing but put it Infront only parent, not child elements.

#

and I highly suggest not to put massive high or low number as for layer value

#

It's worst idea, you don't want to randomly guess which number that will put it Infront or behind

hushed kettle
hexed briar
#

Which elements did you put?

hushed kettle
#

increased more and its working now

hushed kettle
hexed briar
#

I guess that what you wanted I suppose

hexed briar
hushed kettle
#

okay

hexed briar
#

What do you want to achieve though.

hushed kettle
#

a screen for selecting "classes"

hexed briar
#

I see

#

good luck I suppose, if you need anything just ask here I guess

hushed kettle
#

okay thanks

hushed kettle
hushed kettle
hexed briar
#

Mindustry was fully written in java.

#

They could be another libraries too.

#

just did a research, Mindustry was written in Java, using Arc-engine from the developer themselves.

hushed kettle
hexed briar
#

yeah, heavily modified.

#

It was made around during the jam's development.

#

Mindustry was actually a jam project a Pixel/Arcade style based towner defense and management, anuken got alot of attention and decides to create a full standalone version. Until around 3.0-4.0, mindustry transformed itself from pixel art into what we currently have to this day.

#

Mindustry 7.0 ( the latest ) is in development for years and out about last year.

#

Mindustry is also the one of game that is also community run, i.e people volunteered to work a couple of bug fixes for the game and additional features if anuken deems it's alright and pass it.

hushed kettle
torpid axle
#

Or do you want toggle able

hushed kettle
hushed kettle
hexed briar
#

You could use ignore property.

#

i.e "ignored": true

#

what this will do is completely ignores the element, therefore it won't load it.

#

this works in every element types.

hushed kettle
#

do i have to use a prefix

hexed briar
#

if you want to hide, use ignore property should do.

#

no prefix required whatsoever as long the element you wanted to hide is true.

hushed kettle
#

did i do this right

        "$is_addon_screen|default": false,
        "$addon_name_required": "tempest",
        "variables": [
            {
                "requires": "('%.7s' * #dialogtext) = 'tempest'",
                "$is_addon_screen": true
            },
            {
                "requires": "$is_addon_screen",
                "ignored": true
            }
        ]
#

got this warning after changing the code to this

        "$is_addon_screen|default": false,
        "$addon_name_required": "tempest",
        "variables": [
            {
                "requires": "('%.7s' * #dialogtext) = 'tempest'",
                "$is_addon_screen": true
            }
        ],
        "ignored": "$is_addon_screen",
hushed kettle
hushed kettle
obsidian crest
#

how could i go about doing this? i basically need the button text that your currently hovering over to go in the box, but how would you render the text off of the button in the same spot even for buttons in different spots?

mystic heart
mystic heart
# hushed kettle didnt work

if you want to use the ignored property, it only supports variables in parent elements. Since you are defining the variable "$is_addon_screen" in the same element that it would ignore, you get an error.

#

you also can't use bindings in variable equations, so your variables section won't work.

obsidian crest
mystic heart
# obsidian crest can you explain a little further?

You can display the hover text from a custom label element that you make and then define that in the button. So in the button you would have:

"$button_type_panel": "axoyl.custom_label_panel",

And then define that label element:

"custom_label_panel": {
    "ignored": "(not $hover_state)",
    "type": "label",
    "text": "$button_hover_text",
    "offset": "$hover_text_offset"
},

Where you'd then define the hover text and offset in the button where the type panel is defined.

hexed briar
#

not possible for client-side.

torpid axle
#

how about animation controllers

hexed briar
#

only server-side, e.g where you outputs script-api or molang for how much your health is.

#

heart or the rest of any hotbar icons related in json-ui does not have value, therefore you can't get the value from it

#

anyways, suggestions on this? ( dark theme provided, since light theme is the default one. )

timber harness
#

the light theme feels off

#

dark theme very cool

hexed briar
#

Light theme were tweaked and adjusted way too much honestly, changed from how alpha and stuff the way it is

#

I still don't find light theme quite fit yet, so tweaking and adjusting might required... again

timber harness
#

hmm

#

maybe try changing the color codes color?

hexed briar
#

It still difficult for me to get visuality stuff done without getting suggestions

hexed briar
#

besides the black/white text, they're dynamic on theme.

hushed kettle
hexed briar
#

bindings belong to bindings property only if you're gonna uh, combine each modifier things. Bindings also has visible thing where it works familiarly with ignore property, do that.

hexed briar
#

you can, but doing that increases the complexity.

#

while title and actionbar does very much yet simpler.

#

You either get script-api or molang to constantly display what health you has.

#

title/subtitle and actionbar methods uses json-raw, e.g titleraw and tellraw.

#

with this, you can pick up scoreboard and paste them as values.

#

with json-ui, you can conditional render with it.

#

well if so, those things are useless

#

you can just, code it yourself to display in pocketmine just it

#

plugins and stuff

torpid axle
#

sadge pocketmine can do most of the needed stuff in the vanilla

hexed briar
#

pocketmine does not use vanilla content, therefore it's from scratch.

#

collections property.

#

although since I wasn't making json-ui for in-game (hud_screen) stuff for more than 6+ months ago, this is where I can't help you from there unless I go back and study it myself once again

#

¯_(ツ)_/¯

#

I guess you can search the message history in there #old-json-ui

#

you might find stuff you desired for.

#

#hud_subtitle_text_string

#

although, not recommended to use subtitle as bindings.

#
  • subtitle does not have factory, it can't reload the element. therefore it'll be static text.
  • subtitle needs to be only inside vanilla elements, otherwise will have the same static effect.
  • title is REQUIRED, since subtitle will load once title is loaded.
  • sometimes subtitle does not work well.
#

Find it at root_panel element I suppose

#

or just, disable it via settings screen.

unique swan
#

Hello

#

How can I make it active when I send a message to the chat?

misty minnow
#

Abøut04 addon Dragon Evolution

#

I understand

#

My addon demon slayer

hushed kettle
unique swan
#

someone help me

#

When I write a message to the chat, I want it to be animated, how can I do it?

#

Let the message come to the chat lively

hushed kettle
mystic heart
hushed kettle
#

ill do it again

unique swan
#

@hushed kettle bro if i use this now, when someone writes a message to the chat, it's animated mo will come to chata?

hushed kettle
#

there are some vanilla ui's that use animations that you can use

#

pause_screen.json has fade in effects

#

or you can make your own

#

since you didnt describe how you wanted the animation to be

unique swan
#

can bro hud be on screen?

hushed kettle
unique swan
#

When someone sends a message to the chat, it comes animated, I want this on the chat screen

hushed kettle
hushed kettle
unique swan
#

Can you please tell me which one will be active if I change it?

hushed kettle
#

do you want to animate the messages on the hud_screen.json or chat_screen.json

unique swan
#

So I say what codes should I change in these jsons?

surreal arch
#

Does anyone know how to make a Realm UI?

mystic heart
worn oasis
#

can someone post a simple button that opens a scrolling popup? I want to add a button to the title screen that opens a page related to information about the pack im creating. Im not sure how to create one, so im hoping someone here can help me.

hushed kettle
#

why does this crash minecraft?

"pause_screen_content": {
        "modifications": [
            {
                "array_name": "controls",
                "operation": "insert_front",
                "value": [
                    {
                        "emergency_quit_button": {
                            "type": "panel",
                            "anchor_to": "top_left",
                            "anchor_from": "top_left",
                            "controls": [
                                {
                                    "[email protected]_button": {
                                        "anchor_to": "top_left",
                                        "anchor_from": "top_left",
                                        "size": [
                                            16,
                                            16
                                        ],
                                        "$button_text": "!"
                                    }
                                }
                            ]
                        }
                    }
                ]
            }
        ]
    }
worn oasis
#

because its a close button?

hushed kettle
worn oasis
#

it anchors to its parent. So the anchor wont change if the parent element is misaligned or missized

hushed kettle
worn oasis
#

i still have no idea how to create a button on the title screen. Im still really new to the JSON game

ionic vapor
torpid axle
#

What is the use of preserving title text?

ionic vapor
#

to put actionbar text into an npc ui

ionic vapor
#

nvm i figured out how to do this

#

every time i ask for help, i end up getting no help and then i end up figuring a workaround on my own so i guess it all works out at the end of the day

sweet mantle
#

You're not always gonna get an answer. Not all people have an answer anyway.

ionic vapor
#

it's no ones fault for not helping me

torpid axle
#

?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.

ionic vapor
#

:/

torpid axle
#

This is why, but if ore ui become data-driven, it would be easy

ionic vapor
#

yep

#

everything is tough on bedrock edition

#

at least my projected ideas make it tough

#

and the fact that im working with an outdated version

torpid axle
#

why tho

ionic vapor
#

because render dragon

torpid axle
#

So 1.15?

#

1.16?

ionic vapor
#

im putting things from the targeted audience into consideration

#

it's 1.18.12

#

last version with no render dragon in the x86 builds

#
  • mobile
hushed kettle
#

you are missing one ) after '[Message]'

hushed kettle
hushed kettle
#

how do i modify a element child? targetting it with / breaks the entire json ui

hexed briar
#

that is only works with pre-loaded existing code, specially vanilla.

#

modification property has this same effect too.

hushed kettle
#

or is there a way to make the pause screen buttons horizontal

hexed briar
#

I meant about modification property.

hushed kettle
hexed briar
#

replace what...?

hushed kettle
#

nevermind

#

i want to change "button_panel" but i dont know how

hexed briar
#

is that element parent made your own code or it is was vanilla code?

hushed kettle
hexed briar
#

So it is vanilla.

hushed kettle
#

yes

hexed briar
#

I suppose you'll have to drag that child element as their own parent element.

hushed kettle
hexed briar
#

uh, I don't know...???

#

they're element.

#

they works the same as regular elements

hushed kettle
#

okay thanks

hexed briar
#

you take child element, remove these main {} bracket from top and bottom and put it on non-control area

spring aspen
hushed kettle
spring aspen
#

"100% - 69px" ($text - ' my') ($index - 13)
would that be?

#

but i don't know how to get just the beginning of the string

#

I will read

hushed kettle
# spring aspen I will read
"bindings": [
             {
              "binding_name": "#hud_title_text_string",
              "binding_name_override": "#text",
              "binding_type": "global"
            },
             {
              "binding_type": "view",
              "source_property_name": "(('%.9s' * #text) = '[Message]')",
              "target_property_name": "visible"
              }
            ]
``` should work
spring aspen
#

regex ?

#

thank you

hushed kettle
#

also i think visible is missing a #

#

make it #visible

spring aspen
#

I haven't tested it yet, but the binding makes sense to me

#

because regex

#

but I will test

#

I'm seeing how to get index from the boss bar

hexed briar
#

The # after the string indicates that is binding type.

#

And $ after the string indicates that is variable type.

spring aspen
#

thx again

red wagon
#

got an issue where italic text gets cut off on the left in a @common.scrolling_panel

#

same for bigger unicodes
i would like to just add some padding to the text but i cant seem to figure out how

#

                          "[email protected]_panel": {
                            "size": [
                              "100%",
                              "100%"
                            ],
                            "$always_handle_scrolling": true,
                            "$jump_to_bottom_on_update": false,
                            "$scrolling_content": "npc_interact.npc_message",
                            "$scroll_box_visible_touch": false,
                            "$show_background": false,
                            "$scroll_bar_left_padding_size": [
                              0,
                              0
                            ],
                            "$scroll_size": [
                              5,
                              "100%"
                            ],
                            "$scroll_size_touch": "$scroll_size",
                            // "$scroll_track_offset": ["-2px", 0],
                            "$scroll_bar_right_padding_size": [
                              "2px",
                              0
                            ],
                            "offset": [
                              0,
                              // -1
                              0
                            ],
                            "variables": [
                              {
                                // Always jump to the bottom when it's in worldbuilder
                                "requires": "($is_worldbuilder)",
                                "$jump_to_bottom_on_update": true
                              }
                            ]
                          }
hushed kettle
#

why does [email protected]_background/button_panel break my ui entirely? it doesnt show any content log error
im trying to make the pause screen buttons on the horizontal and its located in there

red wagon
#

we don't know, we aren't psychic yet

#

In other words: without showing your changes we can't jump to conclusions

hushed kettle
#

it makes all my modifications go away

red wagon
#

cannot confirm

hushed kettle
hushed kettle
#

figured it out that i have to put the first ELEMENT NAME and now its working

ionic vapor
#

is it possible to keep the size of a ui screen and the elements of it the same even when someone changes their GUI scale?

hushed kettle
#

the panel size or the game window

ionic vapor
hushed kettle
#

dont think so

torpid axle
#

Im trying to move the actionbar, do i edit the parent?

  "hud_actionbar_text": {
    "type": "image",
    "size": [ "100%c + 12px", "100%c + 5px" ],
    "offset": [ 0, "50%-68px" ],
    "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,
          "text": "$actionbar_text",
          "localize": false,
          "alpha": "@hud.anim_actionbar_text_alpha_out"
        }
      }
    ]
  },
hexed briar
#

parent controls anything. so yeah do that

hexed briar
hexed briar
#

@pause.transparent_background/button_panel does not work because this / thing does not exist on namespace.element

#

therefore it causes some error and hence disappears.

hexed briar
#

It was enabled by default, you can disable it.

#

put this in ui_common.json

"scroll_background_and_viewport": {
    "clips_children": false
  },```
#

this disables scrolling panel's clips children, should fix those issues you're facing.

#

( also globally disables ALL scrolling panel clips children because scrolling panel is pretty complex. )

hushed kettle
hushed kettle
red wagon
#

thought it might have been removed

hexed briar
#

I suppose try to look where scrolling panel was originally referenced from via ui_common.json

#

afaik there was apparently has 2 scrolling type, mobile and regular.

#

those might be different, who knows.

#

or even better, study it by creating scrolling panel from scratch and learning how that works

hushed kettle
#

why are the buttons not anchoring?

#

they are supposed to be anchored to and from bottom_middle

#

but they just get glued to top_middle

hexed briar
#

If those buttons has stack_panel type, anchor were useless. almost.

#

you can use use_child_anchor property (true/false is default), although it only works depending what orientation you choose.

#

Anchor in horizontal can be used with up and down, anchor in vertical is opposite of horizontal, left and right.

hushed kettle
#

its a horizontal stack_panel

hexed briar
#

use_child_anchor without a S

hushed kettle
hexed briar
#

oh nevermind it was use_child_anchors

#

where did you put that property in?

hushed kettle
#

button_panel is a stack_panel

hexed briar
#

you're putting that property in panel the right now wtfbro

#

put it on menu_background/button_panel element thing.

hushed kettle
hexed briar
#

can you show that code again

hushed kettle
hexed briar
#

so that mean yeah it's working.

#

wait I forgot

#

to make anchor effects in stack_panel type, use_child_anchors property must in the current type and children element must have their own anchor too.

#

i.e

"cool_looking_stack_panel": {
  "type": "stack_panel",
  "use_child_anchors": true,
  ...
  "controls": [
    {
       "child_panel_01": {
         "type": "<any type>",
         "anchor_to": "<anchor>",
         "anchor_from": "<anchor>",
         ...
      }
    },
    {
       "child_panel_02": {
         "type": "<any type>",
         "anchor_to": "<anchor>",
         "anchor_from": "<anchor>",
         ...
      }
    }
  ]
}```

The `...` means more or less property you're going for,and those `<>` thing are example of which value you can use
#

( I legit type that on phone. )

red wagon
hexed briar
#

oh it's better if not toggles.

#

you'll understand the pain I go through with toggles

#

buttons is just basically too much variables

red wagon
#

;-; i need to learn about toggles as well soon

#

and rendering a specific element based on the toggle's value

#

right now i have to fix this beautiful mess i caused by adding another ui

hexed briar
#

average json-ui experience

red wagon
#

my own fault, because i didnt write the elements from scratch because i thought "well i won't add any other UI to npc_dialogues anyways, i'll just override the vanilla ones"

hexed briar
#

just don't override/reuse vanilla UI too much, it's bad idea honestly.

red wagon
#

had to learn that the hard way

#

it was also a lot quicker to just build the layout from scratch

#

only thing that took me forever is to figure out why my elements didnt render but turns out it was something with size & stack_panel

hexed briar
#

panel is recommend for you know, standard stuff. stack panel is stack every child elements into giant stacked pile

#

just uh, don't mess with stack panel too much

red wagon
#

stack panel makes sense for the element though, since it is a book texture split into three parts

#

for the most part it works, just have to redo the button elements with custom ones so they won't cut off

hexed briar
#

button's pudding?

red wagon
#

funny enough the whole thing only shows up when i set the UI's parent to 600x400px but not when i set it to 75%

red wagon
#

half way through making the UI the whole plan on how we will use the UI changed anyways 💀

hexed briar
#

percentage is meant for your actual screen resolution size, so yeah that'll likely break if you uh, done it poorly

red wagon
#

well it shouldn't break this randomly, the parent element takes up the full screen

#

so molang should be able to calculate the correct size but ayyy >.< json ui makes no sense sometimes

hexed briar
#

it never was.

red wagon
#

ngl i am about to write my own editor for it haha

#

just another project i'll postpone forever

hexed briar
#

Sometimes you might wanna make a cool stuff in stack panel until you realize that unnecessary panels may needed because it hates you.

#

sometimes stack panel broke when some child elements has incorrect size with absolutely no error logs whatsoever

#

sometimes the entire UI doesn't display anything with no syntax errors because of conditional rendering failure

#

welcome to json-ui

#

even mojang themselves hated it so much that they just went "screw this we gonna make ore-ui"

#

even at vanilla codes, it's really horrible to look at

red wagon
#

i wish they would just use public, already well established technologies instead of reinventing the wheel with worse performance and plenty design flaws

#

though i have not taken a look at ore-ui yet

#

html-based screens in games already were a thing for years though

hexed briar
#

Ore-UI is basically react native html UI thing that was supposedly "make mojang new employees easy to make UI stuff" that what they said in ore-ui introduction stream thing

hexed briar
torpid axle
last pollen
#

How do I give a parent to my childrens ?

#

in JSON UI

worn oasis
#

bro the vanilla code is so bad. It just feels redundant af. its really confusing to trace because the names are so similar.

hushed kettle
#

for example

"namespace": "blah",
"parent_element": {
"type": "any type you want it to be",
"controls": [
{
"child_element": {}
}
]
}
ionic vapor
#

is there a list of all the pre-made binding_names?

#

there seems to be one in the json ui documentation but not all of them are there

hexed briar
#

NOOOOOOOOOOOOO

#

DO NOT PUT ACTIONBAR OR TITLE VARIABLES IN BINDINGS

#

IT DOES NOT WORKKKKKKKKKKKKKKKKK

normal moat
#

bruh

worn oasis
#

umm, can someone take a look at my pause_screen.json file and tell me why nothing is showing up? Im editing and removing stuff i dont need. Im trying to make the feedback and achievements buttons into the same stack panel as the main buttons. When i went through it i messed something up and now the pause screen doesnt show up.

worn oasis
#

i know thats typically not the type of question i should be asking, but ive been combing through for hours trying to find the issue. The code should be easy to read i just cant find what went wrong. If i cant fix it in my code, i have to rewrite the entire screen again.

spring aspen
#

how do i change the sneak animation?

#

animation.humanoid.sneaking
I tried but it doesn't change

#

works now

#

._.

worn oasis
#

progress...

spring aspen
#

How to remove server_form animation?

normal moat
#

it is like top of the server_form.json filr

spring aspen
#

in ui_common right?

#

even if I remove them all, when sending a second menu, it "disappears" and then appears

normal moat
#

well it is a intended delay between closing and opening of forms

#

it cannot be flawless

spring aspen
#

dialogue is

normal moat
#

it is dialogue

spring aspen
#

but have max button

#

have crash if i put 20+

#

there is no way to remove the delay?

hexed briar
#

there was but, why?

#

you can disable it directly without modifying anything by going to your game setting > video > "screen animations" off

spring aspen
#

have delay xd

#

alr thx

hexed briar
#

well if your UI has a displaying delays, that means your game cannot handle it.

#

the more elements you're putting, the more pressure and longer json-ui's to load.

#

you can't just throw like 20+ buttons and expecting it to run smooth with no issues

spring aspen
#

the dialogue works

#

no have 20+ buttons

#

have 3

spring aspen
#

server_form no have limit i think

hexed briar
#

my point still stands.

#

the more elements you're throwing or putting, the more pressure and will make JSON-UI loads longer therefore more delays

#

Also, Dialogue (NPC_screen.json) only has 6 buttons maximum, you're doing something the game wouldn't allow you to. therefore, that was your fault for pushing it.

spring aspen
#

when I put 20 buttons in the dialogue, it did not generate a delay

#

in a custom menu

#

because the dialogue menu no have "reopen" anim

#

it just pops up another menu on top

#

preserving the previous menu

#

and there doesn't seem to be a delay, because of that

#

but the server form can send the same menu, close everything (at this moment the hud appears, but npc_dialogue does not) and then opens the menu

#

@vapid root make it

#

but I think it's dialogue

hexed briar
#

server forms.

#

you can't dynamically change the title. actually any screens.

#

it'll reset itself and that what you've seeing.

spring aspen
#

without animation

hexed briar
#

removing animation in json-ui won't help anything.

#

the "screen animation" option in setting controls that here. you'll still receive the same effects.

spring aspen
#

even deactivating in video, it was not the same as the video

hexed briar
#

honestly the thing you're describing sounds like game limitations than it.

hexed briar
spring aspen
#

in the video he is sending another form on top

hexed briar
#

I uh, meant the video of "deactivating" thing

#

are you using translation?

spring aspen
#

ye

hexed briar
#

well I guess what did I just explained are useless.

#

you're on your own.

spring aspen
#

alr thx again

faint crystal
#

How do I move the title in the server form?
I tried adding an offset thingy but it only moved it like not up and down
I'm learning villager_thinking

worn oasis
#

how can i increase load times with my UI pack?

worn oasis
#
"controls": [ {
    "[email protected]_frame": {
        "ignored": "$education_edition",
        "size": [ 12, 12 ],
        "controls": [ { "[email protected]_icon_button": {} } ]
    }
}, 
"column_frame": {
    "type": "panel"
},```
Does this need to be there? The "icon panel"  calls an empty panel. and then sets values and that controls the actual button. it feels like an extra step. Can i not just put the ``"[email protected]_icon_button": {}`` in the first controls?
#

then change the size from the actual button.

hexed briar
# worn oasis how can i increase load times with my UI pack?

optimize your code and use less code as possible, avoid using vanilla's code and rewrite it as your own so you can detect and troubleshoot where the problem was, alongside with able to remove anything you want order to reduce the loading delays.

#

try to avoid using much bindings or variables as possible.

muted aspen
hexed briar
#

?questions

limber quartzBOT
#
How to ask a good question!

Be specific and include relevant details about the question upfront.
• What are you trying to accomplish?
• If you have code, which part is not working?
• What have you already tried?
• Have you searched the Bedrock Wiki?

muted aspen
#

Sorry

muted aspen
#

just I don't understand why my code doesn't work

#

thus I have no questions

muted aspen
#

I have solved my problem

worn oasis
#
    "main_button@common_buttons.light_text_button": { "size": [ 100, 17 ] },

    "[email protected]_button": {
        "$pressed_button_name": "button.menu_continue",
        "$button_text": "Resume",
        "$button_focus_precedence": 1
    },

    "[email protected]_button": {
        "ignored": "$is_secondary_client",
        "$pressed_button_name": "button.menu_store",
        "$button_text": "Store",
        "bindings": [ {
            "binding_name": "#store_button_visible",
            "binding_name_override": "#visible",
            "binding_type": "global"
        } ]
    },

    "[email protected]_button": {
        "$pressed_button_name": "button.menu_settings",
        "$button_text": "Settings"
    },

    "[email protected]_button": {
        "$button_text": "Leave Experience",
        "$pressed_button_name": "button.menu_quit"
    },```
This code should be changing the values on the buttons, but it doesn't. Its still the vanilla words and for some reason i cant change the size of them. Its supposed 100px x 17px, smaller buttons. But the properties wont change. I checked the button panel (parent) and it doesn't affect the size or content of the button.
umbral dagger
worn oasis
#

im currently taking bits and pieces i need and writing a custom version maybe i can find smth that way but so far its been nothing

umbral dagger
#

@worn oasis what's it supposed to look like

worn oasis
#

yeah im still working on it, im doing it element by element

#

the thing i need fixed is the 4 main buttons

umbral dagger
worn oasis
#

then im gonna combine the icon buttons and the main buttons together side by side

#

its going to look similar to this

umbral dagger
#

so why do you need button sizes?

worn oasis
#

bc i want them to be smaller to fit the icon buttons

umbral dagger
#

the 4 are the right size on this?

worn oasis
#

nope. they are smaller in width because i changed the size of the panel they are contained in. But changing the hieght of that stack panel doesnt change the size of the buttons

umbral dagger
worn oasis
#

wider and shorter

umbral dagger
#

you want them to auto fit to the size of the panel??

worn oasis
#

i want them to be 100px wide and 17 px tall.

umbral dagger
#

you had some funky stuff going on with other buttons, but i did 3 of them

worn oasis
#

how?

#

im still new to this JSON stuff and it sucks. Im confused lol

umbral dagger
#

i moved the code into where it was referenced instead of calling it

worn oasis
#

how does that even affect the elements? Doesnt it load the same code?

umbral dagger
#

hol up

#

i messed a bit on the code

worn oasis
#

youd think it would load the entire element when its called

umbral dagger
#

1 sec

hexed briar
worn oasis
#

oh btw @hexed briar I tweeted at a MC Dev working on ORE UI, Asked if they planned on making ORE UI Customizable. He said yes, but they dont know how or to what extent.

hexed briar
#

the s t a c k _ p a n e l elements I see

worn oasis
#

it is a button stack tho.

worn oasis
#

you saw it?

hexed briar
#

They seems to have no control over the game yet if mojang allows to.

hexed briar
worn oasis
#

well ik they want to allow customizations when its all converted to OREUI

hexed briar
#

yeah

worn oasis
#

which means ima have to learn ORE UI when it drops

umbral dagger
hexed briar
#

as for now, the hui (Ore-UI's UI folder) is still at very junky encrypted word around it. although the image and UI stuff are still not encrypted

#

Someone already dumped the ore-ui in MC:Legends and already running them in the browser.

umbral dagger
hexed briar
#

I wonder why do you have Axoyl account, are you using an alt?

umbral dagger
#

i went on an alt for smthn and havent changed back

hexed briar
#

I see

obsidian crest
#

here

#

is this better?

worn oasis
#

thx @umbral dagger U da best.

hexed briar
#

I'm about to overengineer my whole variables code to make my game runs distastuous evilelmo

obsidian crest
hexed briar
#

I will definitely continue using the format I'm using

#

actually I gonna reformat the code because accidentally published it on my github just in case people hates my format

obsidian crest
#

i could cut like 100 lines from all of my screens by using your format

hexed briar
#

yeah

#

that what this format was intended to

#

I just want to see my code more easier so yeah

obsidian crest
# hexed briar that what this format was intended to
"button3@common_buttons.light_text_button": { "size": [ 230, 28 ], "offset": [ 0, -36 ], "$default_button_texture": "textures/form/buttons/red/button", "$hover_button_texture": "textures/form/buttons/red/hover", "$pressed_button_texture": "textures/form/buttons/red/button", "$border_alpha": 0 }
#

gonna start writing all my code like this

hexed briar
#

me when stack panel

obsidian crest
#

stack panels are great

#

end stack panel hate ✊

hexed briar
#

they're disastrous.

#

they crashed my game actually more than 3 times this month honestly

obsidian crest
hexed briar
#

or sometimes make my whole dynamic element disappears

obsidian crest
#

best way to format

hexed briar
#

that was rawtext format at this point evilelmo

obsidian crest
#

fr

#

im making a pause menu rn and it so fun

hexed briar
#

me suffering at play screen and setting screen because of how disastrous vanilla code are and pretty much too lazy at rewritting all of them

#

even I already done those things before still, rewrite is rewrite

obsidian crest
#

i rewrote it all and its worth it

#

this was only like 400 lines rewrote

hexed briar
#

interestingly, my pause screen has 2 screens honestly

#

one are regular, which over 520 lines ( not using my format type )

#

one are compact, which somehow over 82 lines. ( not using my format type either )

obsidian crest
#

seems like extra work + unnecessary

hexed briar
#

every screens come at their own screens element

#

actually this was useful honestly

obsidian crest
#

ig

hexed briar
#

the screen element allows you to draw elements outside of safe zone area, or basically takes over your screen without the needs of safe zone.

#

therefore making background and stuff seems easier than I thought.

#

normally making json-ui outside of screen element does not allow you to draw elements outside of that thing

#

therefore you're stuck at limited safe zone area

#

and everytime people has their own safe zone area, your UI might looks uh, wonky

#

although that screen element is pretty much limited I suppose, you can't create another screen element and expecting it to work well

#

without crashes.

halcyon hollow
#
      {
        "binding_name": "#bossName",
        "binding_type": "collection",
        "binding_collection_name": "boss_bars"
      },
      {
        "binding_name": "#bar_visible",
        "binding_type": "collection",
        "binding_collection_name": "boss_bars",
        "binding_name_override": "#visible"
      }
    ],
    "variables": [
      {
        "requires": "(not (#bossName = 'Golden Dragon'))",
        "$size": [ 190, 20 ]
      },
      {
        "requires": "(#bossName = 'Golden Dragon')",
        "$size": [ 190, 30 ]
      }
    ]```
#

I have my bindings here not working...

#

it gives the output from "(not (#bossName = 'Golden Dragon'))"

#

Does anyone knows why that happens?

red wagon
#

default not set?

hexed briar
#

uh, bindings does not work inside of variable array.

#

¯_(ツ)_/¯

#

I suppose you need to find a way to fetch that bindings and convert it as variables

#

then you can use that variables in variable array and things should work.

gray girder
#

Is it possible to get the actual #skin_index value in npc_interact?

#

For example I want to pass it to a text

muted aspen
#

how do I change my form background please ?

half pier
#

Why is there no such reference in the file?

#

I want to change the title position of the server_form

worn oasis
#

i think i messed something up XD

#

moving the icon buttons into the same panel as the main buttons is apparently harder than i originally thought.

worn oasis
#

i need some assistance turning this (image 1) into this (image 2)

I cant move the small icon buttons. I want to be able to move all of the at the same time using a single panel. the pause screen code is so fucked the obvious changes i make mess everything up.

hushed kettle
worn oasis
#

im getting closer to my final product

#

the player list got deleted somehow but i dont think i actually NEED that do i?

hushed kettle
worn oasis
#

lemme explain my issue. So i have 2 seperate panels controlled by a single panel. The main buttons are split into 2. then the divider show up, then the skin model, then the playerlist would show up there. All of this is contained in a horizontal stack panel. There is no padding between them but the elements are spaced so far apart.

#
    "pause_screen_content": {
        "type": "stack_panel",
        "size": [ "300px", "300px" ],
        "orientation": "horizontal",
        "layer": 1,
        "variables": [ {
            "requires": "$education_edition",
            "$achievements_ignored": true
        }, {
            "requires": "$trial",
            "$achievements_ignored": true
        } ],
        "controls": [ {
            "[email protected]_button_stack": {}
        }, {
            "[email protected]_divider": {
                "type": "image",
                "size": [ 5, 40 ],
                "layer": 3,
                "texture": "textures/ui/simpleDivider"
            }
        }, {
            "[email protected]_viewer_panel": {}
        } ]
    },
    "all_button_stack": {
        "type": "stack_panel",
        "orientation": "horizontal",
        "size": [ "100%c", "100%c" ],
        "controls": [ {
            "icons@icon_button_stack": {}
        }, {
            "buttons@main_button_stack": {}
        } ]
    },```
#
    "icon_button_stack": {
        "anchor_from": ["left_middle"], "anchor_to": ["right_middle"],
        "type": "stack_panel",
        "orientation": "vertical",
        "size": ["100%c", "100%c"],
        "controls": [ {
            "[email protected]_button_small": {
                "$pressed_button_name": "button.to_profile_or_skins_screen",
                "$button_content": "pause.change_skin_icon"
            }
        }, {
            "[email protected]_padding": {}
        }, {
            "[email protected]_button_small": {
                "ignored": "($pre_release or $education_edition)",
                "$button_content": "pause.feedback_icon",
                "$pressed_button_name": "button.feedback_button_pressed"
            }
        }, {
            "[email protected]_padding": {}
        }, {
            "[email protected]_button_small": {
                "$button_content": "pause.achievements_icon",
                "$pressed_button_name": "button.menu_achievements"
            }
        }, {
            "[email protected]_padding": {}
        }, {
            "[email protected]_button_small": {
                "$pressed_button_name": "button.screenshot",
                "$button_tts_header": "key.screenshot",
                "$button_content": "pause.take_screenshot_icon",
                "$pressed_alpha": 0.65,
                "sound_name": "random.screenshot",
                "sound_volume": 1.0,
                "sound_pitch": 1.0
            }
        } ]
    },
#
    "[email protected]_background": {
        "anchor_from": "right_middle", "anchor_to": "left_middle",
        "type": "stack_panel",
        "orientation": "vertical",
        "size": ["100%c", "100%c"],
        "controls": [ {
            "[email protected]_button": {
                "$pressed_button_name": "button.menu_continue",
                "$button_text": "Resume",
                "$button_focus_precedence": 1
            }
        }, {
            "[email protected]_padding": {}
        }, {
            "[email protected]_button": {
                "$pressed_button_name": "button.menu_settings",
                "$button_text": "Settings"
            }
        }, {
            "[email protected]_padding": {}
        }, {
            "[email protected]_button": {
                "ignored": "$is_secondary_client",
                "$pressed_button_name": "button.menu_store",
                "$button_text": "Store",
                "bindings": [ {
                    "binding_name": "#store_button_visible",
                    "binding_name_override": "#visible",
                    "binding_type": "global"
                } ]
            }
        }, {
            "[email protected]_padding": {}
        }, {
            "[email protected]_button": {
                "$button_text": "Leave Experience",
                "$pressed_button_name": "button.menu_quit"
            }
        } ]
    },```
#

the relevant code blocks

torpid axle
#

Guys what element to edit on server_form.json to edit the title?

worn oasis
#

oh yeah its all coming together

#

just gotta figure out what happened to the player list

worn oasis
#

the playerlist moves with an aspect resizing but it is there. I couldnt anchor it to the top right of the screen so i had to use offset to get it there. If i can find out how to get the anchor to work it would work better

#

i also gotta find out why the skins icon is so dark when when its not supposed to be.

worn oasis
#
            "[email protected]_button_small": {
                "$button_content": "pause.feedback_icon",
                "$button_tts_header": "accessibility.start.feedback",
                "$pressed_button_name": "button.feedback_button_pressed"
            },
            "main_button_small@common_buttons.light_content_button": { "size": [ 17, 17 ] }

Why is this not opening the feedback stuff

worn oasis
#

idk anymore

hexed briar
hexed briar
hushed kettle
#

can i put uv in controls

worn oasis
#

I've tried to fix this for days now, i have it looking like img 1 but i want it to look like img2. The player list is kinda free floating. It moves around instead of anchoring to the top right. I cant get it to lock into place there. My code is well formatted and easy to read. I could use some help on this. thx ❤️

hexed briar
#

your code is uh, not really well formatted and easy to read.

#

it's even worse than my format, regular json format and even rawtext format and I can't even format it into regular json format for some reason.

#

satan calm down

worn oasis
#

maybe it changes when it gets imported to your editor, it looks good on my IDE (fleet)

#

yours look like this?

hexed briar
#

yep.

worn oasis
#

oh

hexed briar
#

It looks like disastrous.

worn oasis
#

ig im just bad its easy for me to read i dont like the base json format. I like to make it use as few lines as i can while steall being readable. how can i improve it?

hexed briar
#

uh I suppose optimize the way you read brackets.

#

that thing is important I suppose, since you'll know where that element was from etc

#

messing around brackets like that is pretty hard to read even regular json format standard.

worn oasis
#

? like that?

limber quartzBOT
#
Files that open Minecraft

.mcshortcut Launch Minecraft and load world
.mcpack Launch Minecraft and import resource/behaviour pack
.mcworld Launch Minecraft and import world
.mcaddon Launch Minecraft and import addon
.mctemplate Launch Minecraft and import world template

You can find this list inside
C:\Program Files\WindowsApps\Microsoft.MinecraftUWP_<>\AppxManifest.xml

hexed briar
#

yeah

worn oasis
#

ig i see the indents as my main formatting tool. Just by looking at the indent i can tell what scope im in.

hexed briar
#

mine looks that, those spaced lines are indicates where the element was so yeah

#

but for people sakes, I suppose you should use regular json format instead if you're asking for help and giving people your code

worn oasis
#

yeah the triple stacked closing brackets just look awful for my taste.

hexed briar
#

triple stacked brackets is pretty much common if my element is long

#

but yeah, regular json format for people here I suppose. otherwise they uh. might say the same as me

#

and good christ my IDE can't format your code into regular json format evilelmo

worn oasis
#

my controls, variables, and bindings all basically use this As a JS, and HTML dev this is very readable for me.

hexed briar
#

vscode has colored brackets that really nice for looking where your element brackets located

#

I wish I have that in my code editor

worn oasis
#

i would use VSCode if it didnt take 20 minutes to open it.

hexed briar
#

that's reasonable

worn oasis
#

so im trying JetBrains new Fleet IDE bc i used to use IntelliJ and VSCode when im doing bigger projects.

hexed briar
#

I saw someone's updating their VSCode over 1GB so I guess that's a thing nowadays

worn oasis
#

VsCode is very good for bigger projects but Fleet imo is like a lightweight VSCode

hexed briar
#

mine probably VSCode but in mobile but still not VSCode though ( because I mainly develop stuff in mobile, not PC/laptop unfortunately )

worn oasis
#

nice if your mobile dev then yeah VSCode prolly the safe bet.

#

i do whatever, no real reason other than "i dont like this so how do i change it?"

hexed briar
#

Acode (that what I'm using currently) looks almost identical to VSCode since it has tools and stuff that thing has

#

VSCode also has web version, kinda like blockbench

#

and I hate it.

worn oasis
#

never tried Acode or block bench tbh

#

im a traditional dude using NP++ as my fallback lmao

hexed briar
#

well uh, blockbench is polygon model editor, that what most people use it to develop their minecraft custom mobs addon's. even mojang employee themselves use that.

#

Acode is "VSCode" but in steroid for android users.

worn oasis
#

oh i got Bridge for my minecraft stuff but i dont know how to use it at all, ik it can do alot but i dont get it.

hexed briar
#

bridge is confusing to me too and still to this day

#

so I don't use it.

#

anyways, to your uh. UI problems with player list not being offset'd.

have you anchored player_list_scrolling_panel element?

worn oasis
#

ill do some looking into block bench maybe that'll come in handy over bridge

hexed briar
#

If you know how to use blender before, you might be familiar with blockbench with ease.

#

blockbench is just polygon model editor that was used to of course, make minecraft looking models.

worn oasis
#

ive dabbled in blender, made a few models for a roblox game a while back

#

that would be great if i could add and edit 3d models

#

ive put an anchor on every one of panels and tried them the panel doesnt fix itself when the screen resizes.

hexed briar
#

for what im reading so far, player_list_scrolling_panel doesn't seem to have any anchors.

#

the pause screen contents is abit odd.

worn oasis
#

oh i mean i have tried it and removed it, i just re tried it and am adding and removing anchors

hexed briar
#

player_list_scrolling_panel is a parent element and also has player_lists as child element,

worn oasis
#

correct.

hexed briar
#

so therefore, that should affect the anchors.

#

nevermind I see you're using vanilla based screen existing codes, that explains it

worn oasis
#

where do i put the anchors, because idk how the anchors work with parent and child stuff, like do i anchor it inside the control or do i anchor the element itself?

#

yeah i basically just took the vanilla code and editted it alot

hexed briar
#

common mistake

worn oasis
#

removing stuff i didnt need or think i dont need.

hexed briar
#

but yeah I'll see what can I do

worn oasis
#

well its first project, idk what im doing yet lmao

hexed briar
#

deleting vanilla UI code does nothing honestly, if you add the same vanilla element name and modify to look different. that definitely can cause some problems

#

since you're overriding vanilla codes

#

therefore some vanilla code are still there.

worn oasis
#

i thought thats how you did it?

#

edit the buttons

hexed briar
#

well, mine are complete rewrite process where it does not involve vanilla UI codes

worn oasis
#

i didnt know i could delete it entirely

hexed briar
#

yeah, that's how JSON-UI works apparently

#

you don't expect to delete existing vanilla UI code and expecting it'll gone

#

unless you use modification property to get rid of it, but that was next impossible task because no one wants to copy and paste the same property with different elements to delete, remember that there is thousands of vanilla code that could potentially take forever to get rid of it

worn oasis
#

i thought in order to change whats on the screen you have to edit the currently existing things. Because if my pack isnt changing them then the vanilla UI would show up with mine bc of how texture packs work, but ig not.

hexed briar
#

you could do that by using another UI file entirely.

#

which vanilla code will not interfere yours.

worn oasis
#

i still dont understand a large portion of JSON as im still new to doing it. It looks simple but JSON UI is so confusing imo

hexed briar
#

Well, that's why json-ui is "toughest to learn"

worn oasis
#

i wish more tutorials existed on JSON UI, other than a few basics tutorials there isnt much out there other than the docs, which confuses me enough tbh

hexed briar
#

even people here are not recommending to do that since json-ui is now no longer supported and mojang working Ore-UI into the game. therefore json-ui is no longer gets an changes or update

#

json-ui also does not have documentations, everything on wiki about json-ui is people findings

#

it sounds like mojang does not wants you to modify their UI, but even though you still can. kinda like "you can but it doesn't mean you should"

worn oasis
#

yeah ik about that, im planning on an ORE-UI version of my pack bc mojang said they do want it to be customizable. But we got a long time until ORE-UI is fully developed. At least 2 years at the rate we going now.

#

i hate the bedrock vanilaa UI

hexed briar
#

actually, it's been almost 4-5 years.

worn oasis
#

its way too big even on -1 GUI Scale

#

i cant stand how fucking massive each button needs to be.

#

smaller, simpler... so much better

hexed briar
#

that is weak point of json-ui.

#

json-ui been here almost like decade now.

#

it just people don't want to modify them

worn oasis
#

hopefully ORE-UI is much easier to develop with, and has proper docs. I like code in all forms. so i enjoy the challenge of JSON UI sometimes.

#

other times i get frustrated bc idk wtf is wrong lol

hexed briar
#

yeah but real question is, will it be data-driven like json-ui has?

#

honestly looking at render dragon getting rid of shader is probably still concerning to me

worn oasis
#

could prolly find out on the github for ORE-UI

#

they did that bc they are making their own customizable shaders i heard

hexed briar
#

Ore-UI was open-source project for you know, if developers want to use html/react technology on their games.

#

it's pretty much unclear and up to mojang if they ever want to implement that

#

if mojang choose to stay more not so data-driven friendly stuff. I suppose you can't modify ore-ui with resource pack unless modifying the game

#

( which this still not possible to this day, but we'll have to see )

worn oasis
#

bro the anchor thing is the LAST piece of code i need to touch for the UI. Im not doing the settings screen that shit is a nono, especially vanilla code.

#

once the anchor issue is fixed i dont have to touch the JSON code again and can just finish texture work

hexed briar
#

rewrite it trollge

#

actually I could convert it into another UI file so I can see which problem that was and could troubleshoot it

worn oasis
#

nah bro, i lowkey gonna steal Arc-UI settings screen and throw credits but i could figure out to implement it into mine

#

im not rewriting settings, i made the left side buttons smaller and thats it lmao

hexed briar
#

can't without the Arc-UI core folder trollge

worn oasis
#

yeah i have to use all of Arc-UI to use 1 screen of Arc-UI

#

clever man

hexed briar
#

can't make it more simpler to edit because I don't want to create 10 UI files for specific functions

#

so I throw everything into one file and call it a day

#

settings section folder is already simplest enough you'll ever seen from me

worn oasis
#

i still never figured out how to add a button, i dont understand Bindings in the slightest lmao.

hexed briar
#

expect about screen

#

you don't have to add any bindings

#

just.

#
"your_button@common_buttons.light_text_button": {
  "$button_text": "blah",
  "$pressed_button_name": "<screen function>"
}```
#

size is optional.

#

put it anywhere you want, and that is that.

worn oasis
#

scratch that im dumb af

#

the screen function what is that?

hexed briar
#

if you want to use another element (acts as child element) in button, you can do that too.

"your_button@common_buttons.light_content_button": {
  "$button_content": "<your element here">
  "$pressed_button_name": "<screen function>"
}``` ( note here that `$button_text` does not work here because that *is not text button* )
hexed briar
#

Those are hardcoded on some screens, so don't expect to use screen functions from another screen and expecting it to work

worn oasis
#

so if i wanted to make a custom screen for information about the pack and connect the button to it, how would i use screen functions to it?

#

or can i not use a custom popup screen function?

hexed briar
#

those are hardcoded, which essentially you can't create your own screen. ( the same logic to "you can't add new things to json-ui, but you can only modify them" )

worn oasis
#

like i want a button on the title screen that opens a scrolling panel with information about the pack like credits and updates

#

wow thats wack

hexed briar
#

you can modify the windows 10 trial screen thing where it was supposed to show if you click that button I suppose

#

even though that trial screen only happens in trial version, but that is bedrock leftovers.

#

you can still use that screen in normal version

worn oasis
#

yeah free screen to turn into whatever

hexed briar
#

that why people modify trial screen.

#

the uh, music+ and another JSON-UI packs with "about" based on that

worn oasis
#

i dont think ive ever seen the trial screen lmaoo

hexed briar
#

It's that screen.

worn oasis
#

so i just change the button and screen for the trial version to open a prompt

hexed briar
#

yeah, but that was actual screen UI.

#

not a prompt.

#

nor dialog.

#

they made to look like a prompt for some reasons

#

probably mojang lazy to create actual prompt instead of creating another screen

worn oasis
#

they made a seperate screen to act as a prompt?

hexed briar
#

yeah.

worn oasis
#

wouldnt creating a prompt make it easier?

#

than a whole screen?

hexed briar
#

yeah that was my thought.

worn oasis
#

Mojang im very disapointed

hexed briar
#

it's weird to see mojang being lazy at json-ui

worn oasis
#

no wonder the UI sucks ass lmao

hexed briar
#

that's why people use that screen for theirs about screen or basically a whole new screen for information thing

worn oasis
#

by far my least favorite feature of bedrock

hexed briar
#

although i don't implement that on any my UI projects so nope, you'll won't see trial screen in there

#

I don't even know if trial version can use global resource packs

worn oasis
#

now that i know the extra screen is there i can use that. Ill have to find the code for it and fix it up but sounds doable at my current level of knowledge

#

i can just remove the ignored element and bindings from it to make it always show the button to open the screen

hexed briar
#

I could find that screen ID for you since it's right there in start_screen, the actual trial screen is that file. win10_trial_conversion_screen.json

worn oasis
#

bypassing the trial version shit

surreal arch
#

whats a simple explanation for JSON ui and scirpt api, and whats best to learn for a faction server owner

hexed briar
#

simplest explanation for JSON-UI is

you don't.

surreal arch
#

dude what

#

lmfao

hexed briar
#

json-ui is toughest things to learn

#

and I guarantee you don't want to mess that

surreal arch
#

okay, what abut scripting?

worn oasis
#

Script API is mor mods, datapakcs, addons. JSON UI is just base minecraft stuff. Script API does most of the work i think

surreal arch
#

so can i make like a chest gui with scripting?

hexed briar
#

scripting-api could do anything expect UI modifying related stuff.

hexed briar
surreal arch
#

would that be difficult to learn?

hexed briar
#

you can make stuff ranged from database to everything honestly

worn oasis
#

so Script API can create UI Elemnets but not edit existing UI Elements?

surreal arch
#

so, i wouldnt be able to make chest gui since thats already a ui

hexed briar
#

Json-UI is client-side, not server-side. therefore no, it's can't edit.

worn oasis
#

Dll use ScriptAPI if you're server owner

surreal arch
#

so i would be able to do like warps and teleports with a chest gui

worn oasis
#

Yes.

hexed briar
surreal arch
#

so if i click one thing in the chest it does a series of commands

worn oasis
#

anything.

surreal arch
#

so how would i start doing this stuff during my freetime?

hexed briar
#

#1067535382285135923 there.

surreal arch
#

okay, thankyou

hexed briar
#

script-api has ton of documents you can learn, and also it's based in JavaScript/typescript

#

so go crazy with it I suppose

surreal arch
#

so i would have to learn coding first

hexed briar
#

yeah.

surreal arch
#

damnit dude

hexed briar
#

since it's literally program language

worn oasis
surreal arch
#

yeah, thats probably going to take months right?

hexed briar
#

kinda like you "modding" the game

hexed briar
worn oasis
#

@surreal arch there is some docs to help you learn. If you are actually trying to learn it, it wont take very long to get decent at it

hexed briar
#

since script-api is heavily relies in mojang's own minecraft API, therefore you shouldn't see any complex JavaScript there

worn oasis
#

im a JS main i worked on some mobile apps in my college days

surreal arch
#

alright, so is there a way to find someone that already knows it and can make a chest gui

worn oasis
#

yt tutorials

#

prolly

hexed briar
#

people has template out there.

#

although not recommended

worn oasis
#

Script API is much more widely used so there is a good chance one exists

surreal arch
#

ive tried searching lmfao

hexed briar
#

because script-api gets updated overtime.

#

and therefore old stuff can be broken

surreal arch
#

ohh alright, yeah every server that has one their realm owner always says "no im not telling you how i got it"

hexed briar
#

you should look every bedrock's changelog if it's out since you can see which script-api stuff updated

worn oasis
hexed briar
#

so you can fix old stuff

surreal arch
#

alright, thankyou again guys

hexed briar
worn oasis
#

Oh xD

#

Disregard

surreal arch
#

lmfao

worn oasis
#

@hexed briar anything on the anchoring issue?

worn oasis
#

umm my pack crashes when i open the global resources settings tab

#

no error it just crashes.

#

the pack isnt even loaded yet

#

i haven't touched anything that would break it. Im starting on changing the trial upsell screen into my pack info page.

#

my manifest had a grammar error...

#

so it crashed getting the information bc it was broken.

worn oasis
#

what screen is this?

#

its not the trial upsell screen maybe im using the wrong button

#

there is no other button that launches editions but i dont see the screen for it.

worn oasis
#

thoughts?

#

i cant find the right screen to edit for the info button, but it loads a screen so i should be able to change it somehow.

gray girder
#

Anyone able to help with this #1100449350280298639 message

fiery yoke
#

is it possible to make something like this:

#

?

#

(yep am a pocketmine plugin dev and want to recreate a mc java mod :,) )

hexed briar
#

not possible really.

#

with 21 custom slots? nope.

#

although you could, there is few alternative I suppose

#
  • custom crafting table has 9 slots maximum and only 1 output slot, you'll have to keep that at limit.
  • use chest as for that. since you're working on pocketmine plugin and stuff, something like that is possible for you. with 27 slots available.
#

although learn json-ui first before doing it because im not doing that for you

grim wagon
#

ya, but good luck bc json-ui is pain

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.

wispy cipher
#

and its pretty easy to do with pocketmine

hexed briar
wispy cipher
#

just the json ui part is gonna be pain

wispy cipher
#

if you need more slots

hexed briar
#

honestly no one gonna need 54 slots for custom crafting table

wispy cipher
hexed briar
#

what are you gonna craft with this thing

wispy cipher
#

tho even a double chest wouldnt be enough for that

hexed briar
#

81 slots + 1 slot as output

#

at this point you gonna get custom entity because that allows you to go beyond than that

#

at the same time, why.

wispy cipher
#

54 is the max

hexed briar
#

custom entity (inventory/donkey components) allows you to use any slots values you want. hence, that's why there is addons that makes a small chest having more than 54 slots and more

#
  • with JSON-UI to display more slots.
wispy cipher
#

oh?

hexed briar
#

you don't expect bedrock to have dynamic chest slots like java has.

#

yeah that's how people did it

#

more slots with json-ui to properly display them slots and there you have it.

#

you can't do the same to regular vanilla chests.

#

even though you can add them in chest but you can't interact them, same goes to inventory.

#

that what those custom entity with inventory components for.

#

sometimes things like that intriguing me. json-ui has more complex, dynamic and more customizable than java has. but java somehow has dynamic chest slots whenever the chest slots has 34 or 45 slots while bedrock that doesn't have.

wispy cipher
#

hm

fierce cove
#

Hi! Do you have documentation for Ore UI?

hexed briar
#

no.

fiery yoke
hexed briar
#

there

limber quartzBOT
fiery yoke
wispy cipher
fiery yoke
#

am in 10mins back cuz am at school :,)

wispy cipher
fiery yoke
#

i saw it already before

fiery yoke
#

me who is trying to make galacticraft for be

#

bud i cant use the pocketmine craftingtable recipe class to add recipe like i have to write it with inv menu

#

but the json will be pain

#

idk if such a thing is posible :,)

red wagon
#

the circles are likely the hardest

#

unless you are lazy and stretch an actual circle texture to fit

#

dev version is actually super useful with asserts, it gives way better insight into what is broken

#

I am not under NDA and it is a leaked version so i should be allowed (legally) to show that screenshot here

hexed briar
hexed briar
#

the only you get from this is just buttons, informations and just it.

#

animated animations, circle and a thing where you zoom is definitely too difficult and time consuming to implement.

#

actually, json-ui still doesn't have mouse element control (only hud_screen can be used) so zooming is straight up impossible.

red wagon
#

🤔 played around with the client a bit and the only super useful thing i found for JSON UI is texture reloading

red wagon
worn oasis
#

@hexed briar what screen is this? its not the trial upsell screen.

red wagon
#

#1097197323748130936 got some additional screenshots

wispy cipher
wispy cipher
hexed briar
hexed briar
red wagon
#

.< to be safe though i won't share where to get the dev clients, but let's say its where the chirping birds and paper planes at

hexed briar
#

yeah uh, don't share dev screenshot that often.

#

you don't want to get involved the same situation where mojang going rampage dmca'in everyone who is involves the leaked builds, and little reminder that mojang employee are in this server.

#

I'm not even sure if that is allowed or not, for moderation sakes. don't.

red wagon
#

oki micromod

#

i am actually quite cautious with this

hexed briar
#

I'd rather not touch anything related to that after seeing some youtuber who showcase the leaked builds and mojang going haywire at striking everyone who uploaded it

red wagon
#

but hey mojang also deletes random minecraft related videos with incorrect DMCAs so screw them

hexed briar
#

atleast they're not nintendo.

red wagon
#

they are not much different from each other tbh

#

especially when it comes to management and as of recent, legal things

hexed briar
#

very recently nintendo striking some YouTubers who supposedly modding their game like and also includes non-modded videos.

#

that, happens.

red wagon
red wagon
hexed briar
red wagon
hexed briar
#

also this

red wagon
#

TLDR its most likely a flaw in the automated system, yet people are badly influenced by false strikes coming from nordic smol indie game dev studio

hexed briar
#

yeah I suppose

#

anyways, just saying. be cautious with it because of course, they're here. I'm not sure what are they gonna do, that could lead to potentially bad or worse, I don't know. but be careful though.

I uh, gonna continue my work. see you I suppose.

red wagon
#

what i am a bit concerned about is mojang trying to take down this discord in response to the leaks

hexed briar
#

well they won't, they're bond to it.

#

they're also taking feedback from script-api developers, update and etc

#

and #old-editor too.

#

so no, it's unlikely for them to take this discord server down.

#

afaik recently after #old-editor is out, more mojang employee's joined.

#

they uh, might ask mods to delete those leaks and potentially mute/kick you.

#

who knows.

red wagon
#

Tbh I'd gladly sign an NDA to get my hands on dev clients, I've been in contact with some Mojang guys (mostly third-party server development things on slack) for a while but our channel there is pretty much dead nowadays

#

Especially since tommo left 💀

#

Reaching out to the legal team just is pain, but understandable with this many people in the community

hexed briar
#

you might have to be marketplace partners anyhow, depends I suppose. some people got that thing and signed NDA to it. that was your best bet I guess. those are rumors though.

#

me, myself are not marketplace partner so therefore I can't confirm that.

red wagon
#

💀 been waiting for 4 years (i think) on the application already and even tried getting some attention to it via some other marketplace guys i know but yeah things go slow

hexed briar
#

I'm pretty sure there was some people around here who are marketplace partner has that thing.

red wagon
#

there is also the funny opposite where some marketplace partners i know didnt get it

#

i guess the easiest way is to join an existing team

hexed briar
#

yeah, that was a luck I suppose.

#

there might be a long process of asking mojang/xbox studio for that thing, who knows.

worn oasis
hexed briar
#

I definitely might have nightmares tomorrow because I don't want to know what will 1.19.80 break

worn oasis
#

All i got left to do on my UI Pack is fix the player list on the pause screen, maybe try and fix a bug in the settings but i doubt that will go to plan, and create my pack info screen

hexed briar
#

I hope I don't get this corrupted global resource pack again

worn oasis
#

?

worn oasis
# fiery yoke thx

yeah, it would be easier for you to just use #1067535382285135923, its much easier, has proper docs, and can do alot more.

fiery yoke
#

does it work too with pocketmine muqsit/invmenu?

worn oasis
#
"[email protected]_button": {
  "$pressed_button_name": "button.menu_buy_game",
  "$button_text": "$unlock_full_game_button_text"
},
``` This is the button im using, but i cant find the screen its opening. I tried the ``trial_upsell_screen.json`` but it is not. can someone tell me what screen this button connects to?

EDIT: My Button
```json
"[email protected]_button_small": {
  "offset": [ -60, -59 ],
  "$pressed_button_name": "button.menu_buy_game",
  "$button_content": "start.info_icon"
},```
opal aurora
worn oasis
#

maybe i just need to override a different screen. Whats another one i can use for pack info that nobody will ever use?

#

bc that one doesnt seem to exist

opal aurora
#

override its "$screen_content"

worn oasis
#

i did

#

nothing changed

worn oasis
#

hmm lemme fuck around and find out for a few

fiery yoke
#

imagine being specialised on mobs and items in pocketmine, now i wrote a bad worl gen and have to learn ui going so on xD

#

*custom ui

worn oasis
#

i got it, i was changing the wrong thing, and sometimes my pack doesnt load everything so ill get like cross textures with other subpacks. but i have a decent guess as to why its happening.

worn oasis
#

is it weird that some of my subpacks use the changes. Like half of the themes work with the new ui code the others dont.

worn oasis
#

the image doesnt show up, im just messing around with this empty screen to learn stuff but why is the image not showing here?

#

its the same resolution as my previous icon. so it should render the 64x64 image.

#

i got it, i think it was an issue because the name of the image. i changed it and it shows up.

last pollen
#

how can i shwo label text from formAPI in this ?.
i used VPacks

        $content = ContentFactory::create($this);
        $style = $content->getUI()->getJsonUIs()->createCustomFormStyle();
        $wrapper = $style->addPanel("title")
            ->layer(4)
            ->size(new Size("100%", "10px"))
            ->anchor(Anchor::TOP_RIGHT())
            ->in(fn($elem) => $elem->addLabel("text")
                ->text(ScreenElement::getTitleBinding())
                ->fontType(FontType::MINECRAFTTEN())
                ->textAlignment(TextAlignment::CENTER())
                ->fontScaleFactor(2)
                ->anchor(Anchor::TOP_MIDDLE())
            )
            ->in(fn($elem) => $elem->addExtends("close_button", "common.close_button")->anchor(Anchor::TOP_RIGHT()));
        $style->setRootElement($wrapper);
        $this->decorator = $style->getDecorator();

this shows a close "x" and the title on screen for now

wispy cipher
#

wtf is that
also ew php

lunar estuary
#

found it

wispy cipher
#

oh cool

lunar estuary
#

no way

wispy cipher
#

from when are you in this server wolf lmao

lunar estuary
#

from jsonui

#

this plugin is sick asf

wispy cipher
#

might rewrite it in js for something im working on

lunar estuary
#

fuck yeah mate