#JSON-UI General

1 messages · Page 31 of 1

elfin path
#

wrong channel

slim oyster
#

what's bot mid?

placid geode
#

bottom middle

slim oyster
#

oh ty

slim oyster
#

how do I link the ui in my rp with a costume block?

viral oxide
#

Btw does anyone know how to trigger an animation on a binding change?

slim oyster
#

I edited the ui of of a crafting table but idk how to linke it to the costume crafting table I have

#

Basically apply the ui

viral oxide
#

use conditional rendering based on the name of the table

slim oyster
viral oxide
#

some1 else would have to find one, i aint done it for a while

slim oyster
#

sad

normal moat
# slim oyster sad

I think you need something like this?

"bindings": [
      {
        "binding_name": "#crafting_label_text"
      },
      {
        "binding_type": "view",
        "source_property_name": "(#crafting_label_text = 'name of crafting table')",
        "target_property_name": "#visible"
      }
    ]```
slim oyster
#

ye I did it but it doesn't seen to work

chilly yacht
#

breh why cant we have color animations on labels

nocturne python
#

It is possible to make a text appear on the screen when holding an item using "debug_screen"

normal moat
slim oyster
#

oh bruh

chilly yacht
slim oyster
#

ye it didn't

#

her's the ui part btw

#

been testing for over 20h so far

normal moat
#

Is your UI connected to inventory_ui.json ?

normal moat
slim oyster
slim oyster
#

in the ui file thingy

normal moat
#

...

slim oyster
#

ehhh

#

wait a sec

#

yep it is

normal moat
#

I mean you have to add your code to the vanilla inventory_screen.json file

slim oyster
#

...

#

wtf

#

how did I not know that? 💀

normal moat
#

*inventory_screen.json

slim oyster
#

wait so I rename it to inventory_screen.json?

normal moat
#

no

slim oyster
#

ehhh

normal moat
#

you have to create a file inventory_screen.json and modify the crafting screen (recipe_inventory_screen_content) to add your custom crafting ui

slim oyster
#

oh I copy it from the vanilla pack?

normal moat
#

... i don't know how to explain

slim oyster
#

real lol

#

lemme check

normal moat
#

The main idea is that you have to create your own UI and then add it to the vanilla file to actually see the changes.

slim oyster
#

So I take the vanilla pack and past those files in the inventory screen file?

#

While deleting the useless parts?

normal moat
#
{
  "namespace": "crafting",
  "crafting_screen": {
    "modifications": [
   {
        "array_name": "controls",
        "operation": "insert_back",
            "value": {
                "[email protected]_inventory_screen_content":{    
                "bindings": [
                {
                "binding_name": "#crafting_label_text"
                },
        
                {
                "binding_type": "view",
                "source_property_name": "",
                "target_property_name": "#visible" 
                }
                ]
                }
            }
        },
                {
        "array_name": "controls",
        "operation": "insert_back",
            "value": {
                "your_screen@":{    
                "bindings": [
                {
                "binding_name": "#crafting_label_text"
                },
        
                {
                "binding_type": "view",
                "source_property_name": "",
                "target_property_name": "#visible" 
                }
                ]
                }
            }
        }
    ]    
  }
}
normal moat
slim oyster
normal moat
#

see if this works. (dont forget to reference to your custom ui and add the condition) (also your file name should not have space in it)

slim oyster
#

Ty

#

I'll try it asa

#

Asap

normal moat
#

If this does not work, search about crafting ui in this thread. i have to gtg.

slim oyster
#

tysm

fringe cloud
#

Yo how would I use glyphs in game yall?

#

How would I even like do that formatting... like I have the Pic, I need to make it into multiple glyphs

slim oyster
#

lmfao

#

this is hilarious

fringe cloud
#

Actually great idea for a 1 slot speedrun challenge

slim oyster
#

it's just the output button of the crafting table

#

I forgot to specify the source_propriety_name

#

and few other things

hardy lily
#

what do you think about new sleeping UI on the latest version (1.21.50)?

nocturne python
#

how does debug screen work?

tropic badger
#

It always show the element no matter which screen you go, thats how it works

#

@nocturne python

rocky quail
fringe cloud
bitter ether
#

Does anyone know how to edit the **slider **text? like changing the font_type to MinecraftTen

fringe cloud
bitter ether
#

@tropic badger can you help me?

tropic badger
slim oyster
#

@normal moat tysm for the help

bitter ether
#

text in slider

tropic badger
#

experiment with the element

bitter ether
opal aurora
normal moat
tropic badger
bitter ether
#

How can I display custom MessageForm via #title_text like Modal and ActionForm?

weak cape
#

how do i scale the size of a image relative to the screen size?

placid geode
#

use %

#

like [ "50%", "50%" ]

oak verge
#

that is relative to the parent if there is any

west dawn
#

soon ™️

winged flicker
#

Hi, does anyone know which json ui file manages the lore/description of an item? And if you know how to make a graphical progress bar in it?

slim oyster
#

what's the difference between a grid and a panel in writing?

oak verge
#

wdym "in writing"

slim oyster
#

like in the script structure

#

what's the difference between the two

#

I'm trying to rewrite a grid into a panel for context

#

nvm I got to work

#

how do I know which pixel will the slot go to?

#

like where does the plan start?

oak verge
#

depend on the anchor

red creek
#

How do I create an element that can be modified here?

red creek
oak verge
red creek
# oak verge where?

In a WhatsApp group, but I don't remember who it was. It was a long time ago

slim oyster
#

you can't really do it with the addon api

slim oyster
rocky quail
south storm
#

In json UI you know those addons with custom mana things with cool appearance do they use scoreboards and convert those scoreboards to raw text?

opal aurora
red creek
slim oyster
#

But the amount of bugs that can occur is insane

west dawn
# west dawn soon ™️

Hey everyone, I am working on a JSON UI vscode extension and I already have some features and I'd like to collect feedback on it. So for anyone who wants to try out the extension just hit me up with a dm or something

oak shoal
slim oyster
#

is the offset not in pixels?

slim oyster
#

you have the best json ui vids out there so far

oak verge
#

-# the only json vids out there

ruby folio
#

how come this binding is always true if #form_button_text starts with a number

{
    "binding_type": "view",
    "source_property_name": "(not ((#form_button_text - '§k§r') = #form_button_text))",
    "target_property_name": "#visible"
}```
chilly yacht
#

or an equation

#

a good way to fix this

#

is to bind #form_button_text to text with a §z in front of it

#

or just add that in front of your text in the form

#

so your button would be like

form.button(`§z1: text blah`)
ruby folio
#

thanks bro

#

its fixed

scarlet pewter
#

Hi, can someone help me to make this code work? I'm just learning.

tropic badger
scarlet pewter
#

ok let's try

chilly yacht
scarlet pewter
#

I didn't quite understand 😅 see me as someone who is too noob

tropic badger
# scarlet pewter I didn't quite understand 😅 see me as someone who is too noob

hud_screen.json

"hud_square": {
    "type": "image",
    "texture": "textures/ui/Black",   // vanilla texture
    "anchor_from": "top_middle",
    "anchor_to": "top_middle",
    "size": [ 64, 64 ],
    "offset": [ 0, 4 ]
},

"hud_text": {
    "type": "label",
    "text": "hud text",
    "anchor_from": "top_right",
    "anchor_to": "top_right",
    "offset": [ -4, 4 ]
},

"root_panel": {
    "modifications": [
        {
            "array_name": "controls",
            "operation": "insert_front",
            "value": [
                { "[email protected]_square": {} },
                { "[email protected]_text": {} }
            ]
        }
    ]
}

See how they put the element inside the root panel to make it show on HUD. Do the same as adding a toggle

hud_screen.json

"custom_toggle@common_toggles.light_text_toggle": {
  "$toggle_name": "our_toggle",
  "$button_text": "Template Toggle",
  "size": [90, 15],
  "$toggle_view_binding_name": "view_toggle"
},

"toggled_image": {
  "type": "image",
  "texture": "textures/items/apple",
  "size": [32, 32],
  
  "bindings": [
    {
      "binding_type": "view",
      "source_control_name": "view_toggle",
      "source_property_name": "#toggle_state",
      "target_property_name": "#visible"
    }
  ]
}

"root_panel": {
    "modifications": [
        {
            "array_name": "controls",
            "operation": "insert_front",
            "value": [
                { "[email protected]_toggle": {} },
                { "[email protected]_image": {} }
            ]
        }
    ]
}
scarlet pewter
#

but I try to do it in the interface of a chest

tropic badger
tropic badger
chilly yacht
tropic badger
tropic badger
chilly yacht
tropic badger
#

then ig u could use a button too

chilly yacht
#

but what about lag

#

its just for displaying player information

#

because imagine if there are 150 messages in the chat_screen

#

thats 150 buttons

tropic badger
#

it would be the same anyways

#

150 toggles

#

i dont see differences

chilly yacht
#

yeah i guess

#

have you guys tested stuff liek that?

#

stress testing

tropic badger
chilly yacht
#

or can i just grab the text

#

nvm i dont think i do

#

since its on messages_text in chat_screen

tropic badger
chilly yacht
tropic badger
chilly yacht
#

just so i can make the button the size of it

tropic badger
#

its not painfully accurate, u can just use 100%sm

chilly yacht
#

wow this is insanely easy

#

@tropic badger ill credit you for the idea

tropic badger
#

sure thanks

chilly yacht
chilly yacht
#
"screen": {
    "type": "screen",
    "size": [ 0, 0 ],
    "follows_cursor": true,
    "controls": [
        {
            "[email protected]": {
                "layer": 100,
                "draggable": "vertical",
                "anchor_from": "top_left",
                "anchor_to": "top_left",
                "texture": "textures/buttons/mcc/text_background",
                "size": [ "100%c + 7px", "100%c + 6px" ],
                "max_size": [ 150, "100%c + 6px" ],
                "controls": [
                    {
                        "[email protected]": {
                            "offset": [ 0, -0.25 ],
                            "text_alignment": "center",
                            "max_size": [ 148, "default" ],
                            "text": "this a test"
                        }
                    }
                ]
            }
        }
    ]
}``` you can use this to show any panel on hover with any content on it
#

almost 1:1 with vanilla hover text

tropic badger
#

hover_control?

#

whats that

chilly yacht
#

custom hover text

#

without the render

#

👀

#

u can display quite literally anythig

#

images, stack panels

tropic badger
#

u can just use hover_control

chilly yacht
#

?

#

oh on buttons?

tropic badger
#

yes

#

add the stuff inside the hover

chilly yacht
#

oh wait

#

no

#

u cant have custom stuff inside of it though

#

are u just talking about the hover state?

tropic badger
#

yep

#

what custom r u talking about

chilly yacht
#

its not a hover_text_renderer

#

so u can add whatever u want

#

just nested panels

#

and it follows ur cursor

#

like vnailla hover text

tropic badger
#

ohh thats what u meant

#

it follows rhe cursor

chilly yacht
#

yes 🙂

#

the only downisdes

#

that dont really matter

#

it goes off the screen unlike vanilla

#

and it doesnt hide the cursor

#

i tried using "should_steal_mouse" but nopeeee

tropic badger
#

what, like u can make the cursor go off the screen?

chilly yacht
#

like u know how vanilla hover text wraps when u try to make it go off of the screen

#

so it always stays onthe screen

tropic badger
#

ohh that sounds kinda bad

chilly yacht
#

ehh its fine

#

i mean whos really displaying information that long shrug

#

and it only does it for the right side

#

so it can only go off the right side

#

the left side is fine

#

but u do have the bottom and top

rocky quail
#

wont even work lol

chilly yacht
rocky quail
#

and also, why does it need to be a screen

chilly yacht
#

i tried j ust doing a panel or an image

#

but my friend found out it has to be a screen

#

its very odd

opal aurora
#

now i can't even chat while sleeping anymore, this is unfair

#

(the new incomplete ore ui bed screen is on stable version)

chilly yacht
#

why even impliment an imcomplete ui 💀

#

mojang dumb

gilded rivet
slim oyster
slim oyster
tropic badger
#

bro look at the comments that Mojang leaves out

undone marsh
oak verge
#

yeah, love when they try to explain weird stuff

opal aurora
#

that fps came from a rainmeter skin with msi afterburner api

rocky quail
opal aurora
#

unless they collaborate with blockbench again (or maybe not), to add player renderer to ore ui

pine furnace
#

One message removed from a suspended account.

#

One message removed from a suspended account.

opal aurora
pine furnace
#

One message removed from a suspended account.

#

One message removed from a suspended account.

last pollen
#

I'm new to modding pls what is json UI

west dawn
#

Its a way to modify user interfaces. Not really beginner friendly tho

tropic badger
pine furnace
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

tall trellis
#

Is it possible to change the brightness using an json ui?

tropic badger
elfin path
#

Not sure if this is the right channel for this but is it possible through script api to show an image without using a command for tellraw

chilly yacht
#

wait what

#

u can use world.sendMessage()

oak verge
pearl fable
#

I have a customized server_form, it loads normally and so on. However, if I change the name of my form, so as not to use the customized server form, with the intention of using the normal Minecraft server form, it becomes invisible, does anyone know how to solve it?

next eagle
#

Is it possible to choose an animation based on a certain keyword in an actionbar title?
I have tried it like that but it doesn't play any animation:

    "element": {
        "visible": "(not ($text = ($text - 'show_element_keyword')))",
        "texture": "textures/ui/element",
        "offset": "(($text = ($text - 'anim_keyword')) ? @animations.anim1: @animations.anim2)",
        "size": ["92px", "164px"]
    }```
chilly yacht
#

@tropic badger forgot to show finished product 😉 thanks for the idea

#

it was honestly quite easy

wraith bluff
#

oh that's pretty cool

normal moat
rocky quail
#

i just pointed it out since its on an image type, and the parent control is following the cursor

hardy lily
#

with 2 people or more

opal aurora
hardy lily
#

still can't open

opal aurora
hardy lily
#

maybe

#

yep. Only works on multiplayer

#

must be 2 or more players to activate it

#

also, keyboard shortcut is not gonna work

opal aurora
#

because you still CAN chat in singleplayer on java

slim oyster
#

what's the idea behind it?

chilly yacht
chilly yacht
slim oyster
#

oh

#

wouldn't that be laggy?

chilly yacht
cunning bridge
#

can we make a factory start from a specific index?

tawny gale
#

does anybody know how to stop the mouse wheel scroll cycling through the hotbar whilst scrolling in a long_form

shrewd hound
#

would someone be able to help me with my issue real quick. It's probably a simple fix but my texture won't load and i have the path referenced properly i thnk

oak verge
#

it just take the lower index as initial start...
maybe use dummy elements and hide them

oak verge
tropic badger
#

i think they changed something with UI screen

hardy lily
#

how I can make this to other button 🤔

#

I want to add to this button group

#

oh yeah, Minecraft has new glitch

chilly yacht
opal aurora
hardy lily
chilly yacht
#

Oh that’s surprising

oak verge
hardy lily
#

And I don't have any ideas left

tropic badger
opal aurora
#

goodbye world, the json ui play screen

hexed briar
#

rip my favorite screen

hardy lily
#

no way, they updated play screen too

#

rip my draggable world panel

opal aurora
#

now i can't even search for worlds

hardy lily
#

at least from now

hexed briar
#

It's rolling out gradually.

#

you might get it anytime soon or maybe tomorrow.

opal aurora
hardy lily
#

making Mac/Windows window look like

slim oyster
slim oyster
weak cape
# hardy lily

honestly looks sick and fire but damn i dont like it lol

weak cape
#

it is still the same

weak cape
#

so i am not the only one

#

lol

rocky quail
# hardy lily

Mojang slowly thanos snapping json ui's out of the game

hardy lily
#

and there's no way to change it

rocky quail
#

yeo

#

If only deleting ore ui files would turn it off

undone marsh
#

I literally made a play screen for glacier 3 days ago 💀🙏

tropic tangle
#

average mojang move

vagrant nova
#

How do i make this center of screen

"player_position": {
        "type": "image",
        "size": [
            "100%c + 6px",
            "100%c + 2px"
        ],
        "texture": "textures/blank",
        "alpha": 0.7,
        "controls": [
            {
                "player_position_text": {
                    "type": "label",
                    "anchor_from": "bottom_middle",
                    "anchor_to": "bottom_middle",
                    "layer": 1,
                    "enable_profanity_filter": false,
                    "color": "yellow",
                    "text": "#text",
                    "shadow": true,
                    "bindings": [
                        {
                            "binding_name": "#player_position_text",
                            "binding_name_override": "#text",
                            "binding_condition": "always_when_visible",
                            "binding_type": "global"
                        }
                    ]
                }
            }
        ],
        "bindings": [
            {
                "binding_name": "#player_position_visible",
                "binding_name_override": "#visible",
                "binding_condition": "always",
                "binding_type": "global"
            }
        ]
    },
turbid nimbus
#

⚙️

tropic badger
tropic badger
slim oyster
slim oyster
neat sequoia
#

why when i open my form with scroll, the scroll starts in the end of content, example:

Content...

1
2
3
4
5
6
7

where it starts:

3
4
5
6
7
placid geode
#

You can use /title @a times 0 0 0

hardy lily
#

Can json ui listening to other json ui? 🤔

#

for example, listening server_form from toast_screen

#

so, I can get the title_text binding to toast_screen

hardy lily
#

Sad

slim oyster
#

is it possible to make the second one be selected by default?

brave bough
#

Hey everyone, does someone know how to prevent poisoning collection with empties when accessing elements with collection_index from it? You can just access element 200 for example somewhere in ui and suddenly collection will get filled with empties until 200 length

brave bough
tropic badger
brave bough
#

Accessing elements with collection_index trashes collection

#

I have a form where i manually set index for buttons and this leads to garbage empty indexes when i use grid for example

tropic badger
brave bough
normal moat
brave bough
normal moat
#

it'll affect every button

brave bough
#

Making them not visible is understandable but this also affects ui processing time because factories will just iterate over this empties

brave bough
brave bough
#

It will still iterate

normal moat
brave bough
normal moat
#

you can do this to ignore other buttons

brave bough
#

Come on

normal moat
#

try the one which is above it

brave bough
#

No effect

normal moat
#

what is your desired result? do you have any screenshot?

brave bough
#

I have a grid with desired items i have some elements before actual grid items so i cut them off already with offset but i have accessed higher indexes somwhere else so grid fills with this empty space after my items and i tried cutting them off too but it just cuts off actual grid items instead of empties

#

If i add more buttons to grid

#

When i dont have enough its ok to cut off them but when i fill in more than highest index accessed it just cuts off actual items

normal moat
#

why'd you offset them before those elements?

#

just put them beneath

brave bough
normal moat
#

ah so remove grid type element and just make a simple stack panel or else it'll not work

#

or add items to the grid manually using collection index

neat sequoia
#
"label": {
        "type": "label",
        "text_alignment": "right",
        "text": "#custom_text",
        "hide_hyphen": true,
        "layer": 1000,
        "bindings": [
            {
                "binding_name": "#dialogtext"
            },
            {
                "binding_type": "view",
                "source_property_name": "('§f' + ((('%.' + $text_count + 's') * #dialogtext) - (('%.' + ($text_count - 50) + 's') * #dialogtext)) - '')",
                "target_property_name": "#custom_text"
            }
        ]
    }

why my text_alignment is not working??

cold herald
#

How can I add a counter from a specific scoreboard?

tropic badger
dusty ether
#

Chat autocomplete

"binding_type": "view",
"source_property_name": "((#is_being_searched or (not (#is_not_empty))) and (not (#is_equal)) and (($required_tag = '') or player.has_tag($required_tag)))",
"target_property_name": "#visible"

This works when I remove and (($required_tag = '') or player.has_tag($required_tag)) but shows every command to every player. I want to test if $required_tag is either '' (empty) or if the player has the tag specified in $required_tag. How can I fix it to do that?

#

It throws an error:

[UI][error]-UI Control: chat_screen | UI Control: variables_button_mappings_and_controls | UI Control: safezone_screen_matrix | UI Control: inner_matrix | UI Control: safezone_screen_panel | UI Control: root_screen_panel | UI Control: custom_commands | UI Control: commands | UI Control: admin | UI Control: broad | On Control Path: /chat_screen/variables_button_mappings_and_controls/safezone_screen_matrix/inner_matrix/safezone_screen_panel/root_screen_panel/custom_commands/commands/admin/broad/text | JSON UI parse failure: Must define a source property name in the binding!

chilly yacht
#

player.has_tag(rq tag) is not a thing

dusty ether
#

okay I thought so but I am not sure what else I'd use

#

there's no way to test for tags or scores etc. in json UI I assume?

#

basically I just want to know if I can control a value that changes the visibility

elfin path
#

anyone else messing with image ui notice setting image visibility false through bindings works but making it true again does not?

neat sequoia
brisk dock
#

when I do /title @s title health_bar_0 it doesnt show

"[email protected]_bar_template": {
  "size": [
    0,
    8
  ],
  "uv_size": [
    0,
    8
  ],
  "$condition": "[health_bar_0]",
  "bindings": [
    {
      "binding_name": "#hud_title_text_string"
    },
    {
      "binding_type": "view",
      "source_property_name": "(not((#hud_title_text_string - $condition) = #hud_title_text_string))",
      "target_property_name": "#visible"
    }
  ]
}```
brisk dock
normal moat
#

remove the variable and directly pass the condition into the binding

#

make sure your element is a part of title text factory

#

can also add "binding_type": "global"

brisk dock
#
"stats_bar": {
    "type": "image",
    "texture": "textures/ui/bg",
    "anchor_from": "top_left",
    "anchor_to": "top_left",
    "offset": [
      0,
      -60
    ],
    "size": [
      300,
      200
    ],
    "uv_size": [
      128,
      30
    ],
    "controls": [
{
        "health_bar": {
          "type": "panel",
          "offset": [
            0,
            0
          ],
          "size": [
            100,
            8
          ],
          "controls": [
            {
              "[email protected]_bar_template": {
                "size": [
                  0,
                  8
                ],
                "uv_size": [
                  0,
                  8
                ],
                "$condition": "health_bar_0",
                "bindings": [
                  {
                    "binding_name": "#hud_title_text_string"
                  },
                  {
                    "binding_type": "view",
                    "source_property_name": "(not((#hud_title_text_string - $condition) = #hud_title_text_string))",
                    "target_property_name": "#visible"
                  }
                ]
              }```
the is the bit complete one
normal moat
brisk dock
#

this is the complete code

brisk dock
#

without adding it to the title factory

#

idk why it broke

normal moat
#

maybe add to the factory to see if it works?

#

or check what broke it

#

It should work without the factory tho

normal moat
brisk dock
brisk dock
normal moat
#

{ui_control} --> also remove your element from brackets (if they exist)

brisk dock
normal moat
brisk dock
normal moat
#

... what's your code?

brisk dock
#

oh wait also

#
"health_bar_template": {
    "type": "image",
    "texture": "textures/ui/bg",
    "anchor_from": "left_middle",
    "anchor_to": "left_middle",
    "size": [
      100,
      8
    ],
    "uv_size": [
      100,
      8
    ],
    "uv": [
      0,
      30
    ]
  },```
normal moat
brisk dock
#

do u want me to send it to u?

normal moat
dusty ether
#

but I just mean like have a score or tag on the player to change visibility of something in json ui

tropic badger
dusty ether
#

sad

gaunt apex
#

how to server form look like oreUI style

gaunt apex
gaunt apex
#

how to customize button texture using #form_button_text?

gaunt apex
weak cape
#

does anyone know what this is called in the start_screen.json file? i cant find it and im scared that this is hardcoded

#

neither can i find the subtitles in the lang, im getting more convinced that htis is hardcoded

regal crest
#

quick Q.. are you able to use bindings inside of array values? e.g. "grid_dimensions": ["#test_var", 1]

weak cape
hard patrol
#

Super basic question but where can I find the text label for server forms? I think it's the action or modal form, not entirly sure. My goal is to add a shadow to the text, that's it.

chilly yacht
#

Or like the body text?

hard patrol
#

I have like no idea what the buttons are inside the server forms.

chilly yacht
#

okay so the form button text

hard patrol
#

Yea.. I think

chilly yacht
#

Alright so

#

since the server_form has a poopoo method for button text

hard patrol
#

Oh?

chilly yacht
#

You can do

#

Add that to your UI

#

so just rp/ui/

#

and then in server_form

#

replace "dynamic_button" with

"dynamic_button": {
    "type": "stack_panel",
    "size": ["100%", 32],
    "orientation": "horizontal",
    "controls":[
      {
        "panel_name": {
          "type": "panel",
          "size": [34, "100%c"],
          "bindings": [
            {
              "binding_type": "view",
              "source_control_name": "image",
              "resolve_sibling_scope": true,
              "source_property_name": "(not (#texture = ''))",
              "target_property_name": "#visible"
            }
          ],

          "controls": [
            {
              "image": {
                "type": "image",
                "layer": 2,
                "size": [32, 32],
                "offset": [-2, 0],
                "bindings":[
                  {
                    "binding_name": "#form_button_texture",
                    "binding_name_override": "#texture",
                    "binding_type": "collection",
                    "binding_collection_name": "form_buttons"
                  },
                  {
                    "binding_name": "#form_button_texture_file_system",
                    "binding_name_override": "#texture_file_system",
                    "binding_type": "collection",
                    "binding_collection_name": "form_buttons"
                  },
                  {
                    "binding_type": "view",
                    "source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
                    "target_property_name": "#visible"
                  }
                ]
              }
            },
            {
              "[email protected]_loading_bars": {
                "size": [30, 4],
                "offset": [-2, 16],
                "bindings":[
                  {
                    "binding_type": "view",
                    "source_control_name": "image",
                    "resolve_sibling_scope": true,
                    "source_property_name": "(#texture = 'loading')",
                    "target_property_name": "#visible"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "form_button@common_buttons.light_text_button": {
          "$pressed_button_name": "button.form_button_click",
          "anchor_from": "top_left",
          "anchor_to": "top_left",
          "size": [ "fill", 32 ],
          "$button_text": "#form_button_text",
          "$button_text_binding_type": "collection",
          "$button_text_grid_collection_name": "form_buttons",
          "$button_text_max_size": [ "100%", 20 ],
          "$shadow": true,
          "bindings": [
            {
              "binding_type": "collection_details",
              "binding_collection_name": "form_buttons"
            }
          ]
        }
      }
    ]
  },```
#

and that should work?? I just snooped around the file I have not tested

hard patrol
#

I can try

chilly yacht
#

it may, it may not

#

so you're server_form can just be this ```json
/********************************************************
+* (c) Mojang. All rights reserved *
+* (c) Microsoft. All rights reserved. *
+*********************************************************/

{
"namespace": "server_form",

"[email protected]_screen": {
"$screen_content": "server_form.main_screen_content",
"button_mappings": [
{
"from_button_id": "button.menu_cancel",
"to_button_id": "button.menu_exit",
"mapping_type": "global"
}
]
},

"main_screen_content": {
"type": "panel",
"size": [ 0, 0 ],
"controls": [
{
"server_form_factory": {
"type": "factory",
"control_ids": {
"long_form": "@server_form.long_form",
"custom_form": "@server_form.custom_form"
}
}
}
]
},

"dynamic_button": {
"type": "stack_panel",
"size": [ "100%", 32 ],
"orientation": "horizontal",
"controls": [
{
"panel_name": {
"type": "panel",
"size": [ 34, "100%c" ],
"bindings": [
{
"binding_type": "view",
"source_control_name": "image",
"resolve_sibling_scope": true,
"source_property_name": "(not (#texture = ''))",
"target_property_name": "#visible"
}
],

      "controls": [
        {
          "image": {
            "type": "image",
            "layer": 2,
            "size": [ 32, 32 ],
            "offset": [ -2, 0 ],
            "bindings": [
              {
                "binding_name": "#form_button_texture",
                "binding_name_override": "#texture",
                "binding_type": "collection",
                "binding_collection_name": "form_buttons"
              },
              {
                "binding_name": "#form_button_texture_file_system",
                "binding_name_override": "#texture_file_system",
                "binding_type": "collection",
                "binding_collection_name": "form_buttons"
              },
              {
                "binding_type": "view",
                "source_property_name": "(not ((#texture = '') or (#texture = 'loading')))",
                "target_property_name": "#visible"
              }
            ]
          }
        },
        {
          "[email protected]_loading_bars": {
            "size": [ 30, 4 ],
            "offset": [ -2, 16 ],
            "bindings": [
              {
                "binding_type": "view",
                "source_control_name": "image",
                "resolve_sibling_scope": true,
                "source_property_name": "(#texture = 'loading')",
                "target_property_name": "#visible"
              }
            ]
          }
        }
      ]
    }
  },
  {
    "form_button@common_buttons.light_text_button": {
      "$pressed_button_name": "button.form_button_click",
      "anchor_from": "top_left",
      "anchor_to": "top_left",
      "size": [ "fill", 32 ],
      "$shadow": true,
      "$button_text": "#form_button_text",
      "$button_text_binding_type": "collection",
      "$button_text_grid_collection_name": "form_buttons",
      "$button_text_max_size": [ "100%", 20 ],
      "bindings": [
        {
          "binding_type": "collection_details",
          "binding_collection_name": "form_buttons"
        }
      ]
    }
  }
]

}
}

hard patrol
#

Yea, it works, thanks!!

chilly yacht
regal crest
#

So, to recreate something like the heart/hunger/air meters, is there a more efficient or modular way to do it than having to declare each individual part as an image? I made a functional recreation but only by making each part of the bar its own control

oak verge
#

using clip_direction and $clip_max in image

regal crest
#

ah do you mean #clip_ratio

oak verge
regal crest
oak verge
regal crest
oak verge
#

i can dm u mine if that can help

regal crest
#

Oh i see. It literally does not work unless you define $clip_max.. I was using a straight float value

oak verge
#

yeah

regal crest
#

whack, neat though thanks for the help!

oak verge
#

np

sage vessel
#

Is there any way to delete "#stack01"?, I don't understand much on wiki

sullen quail
#

how do i add a shadow to the text used on inventory item hover display

bitter ether
maiden spire
#

Guyss why this thing work

"texture": "textures/custom/water_coin"

but this doesnt

"texture": "'textures/custom/' + 'water' + '_coin'"

Anyone know??????

oak verge
#

that is not valid even in json

chilly yacht
#

and I think it would be something like this

"example_image": {
        "type": "image",
        "texture": "#texutre",
        "property_bag": {
            "#t1": "water",
            "#t2": "_coin"
        },
        "bindings": [
            {
                "binding_type": "view",
                "source_property_name": "('textures/custom/' + #t1 + #t2)",
                "target_property_name": "#texture"
            }
        ]
    }```
#

not sure though, I have not tested

#

or u can just add 'water' + '_coin'

hexed briar
chilly yacht
#

does anyone know if 100% - 50% is possible when sizing?

normal moat
chilly yacht
#

and then the sibling is 48px

#

it would technically subtract those 48px

normal moat
chilly yacht
normal moat
chilly yacht
#

i may have been grabbing the wrong sibling actually

normal moat
chilly yacht
#

yeah i was grabbing the padding

#

whoops

last pollen
#

Does anyone know how to add a new font_type in JSON?

oak verge
last pollen
acoustic ivy
#

does the #anchored_offset_value and #size_binding work on server_form too if not is there any alternative/work around

candid plinth
#

I have a question you know how to make /titleraw auctionbar(like this) was in the middle with the right on any device

gaunt apex
#

why i can't edit command_block_screen.json, when i edit will back to normal json or no change in game testing

chilly yacht
#

But it’s based on the parents size

hasty hamlet
#

hi there, is it possible to remove the transition animation from a specific custom form or just by disabling global with the third_party_server?

oak verge
#

"anims": []

hasty hamlet
# oak verge "anims": []

like this? json "aui_53": { "type": "panel", "size": [ "60%", "70%" ], "layer": 20, "anchor_to": "center", "anchor_from": "center", "anims": [],
no effect to me

oak verge
#

in the form main panel

rancid agate
#

Ok so I’ve decided to make a relatively simple info menu for my pack. Realistically how hard is json ui to learn?

safe geyser
#

Guys what is the fastest way to learning Json ui

oak verge
rancid agate
#

The issue with that is it’s a lot of text

oak verge
oak verge
rancid agate
#

Ooo

hasty hamlet
# oak verge in the form main panel

cannot make it work, you mean in the server_form?
like this? json { "aui53@inner_player_book.aui_53": { "anims": [], "bindings": [ { "binding_type": "global", "binding_name": "#title_text", "binding_name_override": "#text" }, { "$prefix": "AUI_53:", "binding_type": "view", "source_property_name": "(((#text -(#text - $prefix)) = $prefix)", "target_property_name": "#visible" } ] } },

oak verge
#

that should work

acoustic ivy
#

can the elements generated from a factory access the values of the factory in server_form

#

for example lets say a #form_text

hasty hamlet
oak verge
#

@hasty hamlet

hasty hamlet
# oak verge

but this disable globally, I wanted to disable for a specific custom form, also dunno what happens when I enable this globally but playing on PS it doesnt allow me to use the button O to return/close the forms, so once I open it it stays forever on the screen lol

oak verge
weak cape
#

i learned json ui only by using refrence/documentation

#

the JSON language itself was self explenatory since it is a object (who would have thought), so i picked up everything from the vanilla resource packs

mental crystal
#

How do I make the server form go full screen?

#

long_form@common_dialogs.main_panel_no_buttons in this part...

weak cape
#

maybe make the size of the parent 100%

smoky leaf
#

How i make the form body appears again?

mental crystal
#

Oof sorry for the reply, didn't mean to

oak verge
tropic badger
#

There is still C++ code on chest screen file

mental crystal
mental crystal
#

Nvm found how it works

opal aurora
#

you can expand and collapse json code regions

opal aurora
# tropic badger ?

in vscode you can add "#region" to codes like this:

outside region
// #region something
inside collapsible region
// #endregion
outside region, won't be hidden if the region above is collapsed
#

(hovering the arrow on line #region)

coarse torrent
mental crystal
#

Hello is it possible in json ui to sort the body in alphabetical order?

#

I have words like: Carefree Steve: 20.1 Armless Steves: 16.5 Shirtless Steve: 200 Beagles: 9
I want to sort them, but I can't use the script since it's not able to get translated words.... I use \n to the next line the other words

tropic badger
#

odd error, first time seeing it

tropic badger
chilly yacht
#

and 2px is 1 number px

#

so like "50px" is equal to 25

south storm
#

Hello I'm new to json UI and all i know is that HUD screen file is the one that displays things in your game and I want to do something with it with my scoreboard system

Can anyone help me how to set this up

quartz axle
#

@pine matrix sorry for ping but do you already add the inventory to the chest UI?

hasty hamlet
#

hi there, how do I change the size of the sliders in a "generated_form@server_form.generated_contents"?

candid plinth
#

You don't know how to do this?

candid plinth
elfin path
#

Is it disappointing that it took me around 2 days to figure out preserved text based images

#

I don't want any serious answers

elfin path
#

thank yew

elfin path
#

Is it possible to filter a factory?
Im using preserved text for some stuff and I need a factory so the animations reset every time it pops up, however when using a factory it defeats the purpose of preserved text

#

Can I make it so the factory only works if the text equals something

south storm
#

Can someone help me on how to setup a UI for my scoreboard system

elfin path
#

it is possible to make a custom factory?

south storm
neat sequoia
#
                                "type": "custom",
                                "renderer": "live_player_renderer",
                                "camera_tilt_degrees": -10,
                                "starting_rotation": -60,
                                "rotation":"gesture_x",
                                "anchor_from": "right_middle",
                                "anchor_to": "right_middle",
                                "size": [
                                    "30%",
                                    "30%"
                                ],
                                "offset": [
                                    "0%",
                                    "10%"
                                ]
                            }

why model doesn't rotate?

#

@mystic heart you can help??

tropic badger
neat sequoia
#

i cant use paper_doll_renderer, because i need the current player skin, the skin that he use in server

tropic badger
neat sequoia
#

ive tried hud_player_renderer but it flicks and disapear

hasty hamlet
#

hi there, can some expert help me with this? this binding supposed to show/hide the element based on 0 and 1 values.
so it compares two locations and if any of these locations on my string are greater than 0 it should make the element visible, but for some reason it seems to only test for the second condition (612-611)... once this location becomes 0 then the elment is hidden even if the first location is greater than 0, what am I doing wrong here? json { "binding_type": "view", "source_property_name": "((('%.535s' * #title_text) - ('%.534s' * #title_text)) > 0) or ((('%.612s' * #title_text) - ('%.611s' * #title_text)) > 0)", "target_property_name": "#visible" }

south storm
#

Can someone help me plss

normal moat
opal aurora
#

why mojang, more nonsense renderers

normal moat
#

they love hardcoded things

hexed briar
#

i guess this is a sign that they do NOT want anyone to edit json-ui.

#

And no, the renderer ver is no different to the old one whatsoever, so they're exactly same thing. but just ported over it.

tropic badger
opal aurora
#

no idea why but they kept the placeholder gamerpic not hardcoded, the alex icon when gamerpic is not present

opal aurora
turbid nimbus
#

I didn't expect that server_form_factory key is hardcored.

opal aurora
#

because the game will have no idea which forms will be shown if it wasn't coded

turbid nimbus
#

if you change it, form won't show

opal aurora
#

you can always change names as long as the other references also have same changed names

turbid nimbus
#

try to change server_form_factory to something other

#

just name of key

tropic badger
opal aurora
#

"<property_name>": "<values>"

turbid nimbus
opal aurora
#

i think i don't

tropic badger
#

top left 👀

opal aurora
#

and walked? no, i tp

#

just use the words "distance to (origin/initial position/<whatever>)"

#

hmm, that sentence leads me to another idea, a "ruler", distances between customizable points and/or your position

#

like the one on map apps

candid plinth
#

You don't know how to do this?

elfin path
#

I cannot find any good info on how factories work, can I change a factory to trigger from a custom variable

normal moat
elfin path
#

Thanks

#

definitely seems a little difficult to incorportate into what im doing but ill see what I can do

last pollen
#

someone would be or found the Minecraft Preview textures ?

turbid nimbus
last pollen
turbid nimbus
#

or if you using Bedrock launcher they can be found in AppData

last pollen
turbid nimbus
#

even GrimUI use them

last pollen
turbid nimbus
chilly yacht
#

what is frame_step in flip_book anim?

normal moat
oak verge
elfin path
#

Is it possible to use bindings to begin an animation

normal moat
elfin path
normal moat
#

you simply put it in a factory and using variables array check for different conditions and change the animation accordingly

weak cape
chilly yacht
weak cape
#

huh

#

so why did you say it wasnt?

hushed summit
#

does "play_events" for animations only work from buttons?

#

for example can I through a binding send a event

waxen crow
#

why is this happening

tropic badger
#

Bro what is this binding from 1.19.20

tropic badger
#

theres also #force_dirty_animation which exist even today

mental crystal
turbid nimbus
rocky quail
normal moat
wraith bluff
#

ya'll are going crazy over a binding for player reporting

hexed yacht
oak verge
hexed yacht
hexed briar
#

sorry to disappoint but particle does not work on json-ui

hexed yacht
#

Ik ik but still, particles should be efficient enough to render a minimap

oak verge
#

meh...is it faster tho

#

i had that idea for a long time, sense we can get blocks map color and pass it to particles

hexed briar
#

might be faster, who knows.

hexed yacht
oak verge
#

yeah

opal aurora
mental crystal
#

@oak verge hayoo

#

quick help

#

About the multi tab you created a long time ago

#

Is there a way to increase its limit?

#

You said it's 200 right?

oak verge
#

nvm, give me a sec

#

you need to edit the ui in all pages from

"source_property_name": "('§n' + ('%.200s' * #form_text)) - ''",

to what ever you want the limit to be
and change the script function too

function adjustTextLength(text, totalLength = 200)
mental crystal
#

Thank you!

oak verge
#

np

mental crystal
#

So you limited the body characters right? Did you also disabled the scrolling I mean if the strings of the body is a lot it makes you scroll down right? Did you remove it or it's still there

oak verge
#

yeah
scrolling in a paper don't make sense

rustic parcel
#

Is there a list of all textures in the resource pack textures folder related to all varieties of forms?

thorn path
#

How do I make my button like this?

normal moat
jolly rock
thorn path
jolly rock
#

No

mental crystal
#

Hello, I need some quick help. I have this ui that I stole from Minato Multi Tab, and I want to display the text I just made it simpler with no designs etc, but the problem is I want to make the contents scrollable but idk how since in Minato script he use the text to show the display and he hides the actual form_text or the contents of form, is there a way to make the texts is scrollable and not just lock in place?

#

I asked Minato about this and yeah he's not online rn ;)

thorn path
oak verge
#

what dose the jump_to_bottom_on_update do in scroll panel

whole latch
oak verge
#

yeah
tried it only in server forms, so maybe?

oak verge
weak cape
#

well i asked this question earlier but didnt get any useful help so i will ask again,
is it possible to display a UI ignoring any parent?
I have a image which i want to display on the right side of the screen but i need to use a parent to get the needed information but the parent and the parent of the parent is breaking my wanted visual effect

weak cape
#

this is how some servers do sidebars

waxen crow
#

can you elaborate? sorry that this is from like 7 months ago

valid swan
mental crystal
#

Anyone, pls? 🙏

weak cape
#

Why do i get this error even tho the documentation says it is correct?

#

Image does need a texture property

weak cape
#

this is my "logo"

#

type is image but for some fukcing reason it says it is unkwon

#

the best part is that i use the same logo in a different file/texturepack

#

and it does not cause any errors

tropic badger
weak cape
#

nope

#

oh

#

i think i understand now

#

do i need to put my image into a panel and then the panel into my hud actionbar text?

#

nope

#

it does not solve that

rocky quail
#

man i love seeing dev comments lmao

tropic badger
#

lol

thorn path
mental crystal
#

both encircled have text in it but in the yellow spot the text would be forcefully placed on the ride no matter the size of the ui it will stay there... possible??

hushed summit
thorn path
#

how do I get to the center?

turbid nimbus
brisk dock
#

yo

#

is there a way to remove menu animations?

#

the fading in and out animation

#

to make it instant

rocky quail
#

"$screen_animations": []

bitter ether
#

Does anyone know the name of the font in this image?

fringe cloud
#

(Jk)

idle oar
#

I copy-pasted ui folder from vanilla to my resource pack. Then I tried changing things. But no matter what I change, nothing appears changed in the game. Does anyone know what I'm doing wrong? Do I need some line of code in some file to enable editing the UI?

#

e.g. I change the existing textures, labels or element types and I don't get any errors. Everything looks same...

normal moat
mental crystal
normal moat
#

and you can use more % sizes and offsets because they adapt according to parent

placid geode
#

Since when is it possible to use more letters to change color?

chilly yacht
#

A while ago

#

They were added for armor trims

idle oar
#

Like as a global resource?

mental crystal
#

Your problem is just dividing what's the contents for the left and right

idle oar
amber elm
#

Trying to put the buttons in the left side but nothing yet, its ancoher to top left so idk

idle oar
#

How to make a button that directs you from the current screen to a different one?
For example, I have a button in the main menu and I want it to send me to the settings menu.

idle oar
idle oar
#

I'm using start_screen, settings_screen and genereal_section.json files.

#

I tried to check the vanilla code for settings button as it is close to what I want to achieve. But I don't know if this doesn't work by just using RP.

weak cape
#

hey i got this in my controls :

{
    {
        "logo": {
            "type": "image",
            "anchor_from": "top_left",
            "anchor_to": "top_left",
            "texture": "textures/ui/title",
            "size": [
                "100%sm",
                "100%sm"
            ]
        }
    },
    {
        "text": {
            "type": "label",
            "text": "#text",
            "anchor_from": "bottom_left",
            "anchor_to": "bottom_left",
            "color": "$tool_tip_text",
            "text_alignment": "left",
            "localize": false,
            "font_size": "medium",
            "alpha": 2.0
        }
    }
}

How do i make the image height according to the visible texture?

#

basically what value do i need to use to make the image loose the invisible parts

#

what

#

"100%sm - 100px"

#

this solved my issue lmao

weak cape
#

i wonder how this happened 🤣

mental crystal
weak cape
#

i just put my sidebar into a stackpanel

#

how this happened no idea 😂

mental crystal
weak cape
#

well my polacode stopped working

#
{
    "ui": {
        "type": "panel",
        "anchor_from": "center",
        "anchor_to": "center",
        "$flag_sidebar": "§m§a§n§1",
        "controls": [
            {
                "sidebar_stack_panel": {
                    "type": "stack_panel",
                    "orientation": "vertical",
                    "anchor_from": "right_middle",
                    "anchor_to": "right_middle",
                    "controls": [
                        {
                            "[email protected]": {
                                "anchor_from": "center",
                                "anchor_to": "center",
                                "bindings": [
                                    {
                                        "source_property_name": "(not (((#text - $flag_sidebar) = #text) or (#text = '')))",
                                        "target_property_name": "#visible",
                                        "binding_type": "view"
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    }
}```
#

the best part is that i have no clue why the title appears

#

it didnt before

#

but now it does

#

even flipped!

mental crystal
#

I'm not even sure, lmao... Let's wait for json ui geniuses opinion

#

Is this a bug... Or a feature

river flare
#

probly both

weak cape
weak cape
mental crystal
#

This must be because of the anchoring?

opal aurora
weak cape
#

oh makes sense

#

i didnt know you could do that lol

mental crystal
#

Guys is this possible...

#

i have a button with three states... Like when clicked show a text, clicked again show text again and clicked again and show the original text

#

In server form... Anyone?

neat sequoia
mental crystal
#

and clicked again to hide that and so on?

tropic badger
neat sequoia
#

click once -> hide toggle 1 and show toggle 2
click again -> hide toggle 2 and show toggle 3
click again -> hide toggle 3 and back to toggle 1

#

simple

mental crystal
# tropic badger yes

thanks... Since you're already here why doesn't this move the text even if I add offset?

    "custom_long_form_scrolling_content": {
        "type": "stack_panel",
        "size": [
            "100%",
            "100%c"
        ],
        "orientation": "vertical",
        "anchor_from": "top_left",
        "anchor_to": "top_left",
        "controls": [
            {
                "label_offset_panel": {
                    "type": "panel",
                    "size": [
                        "100%",
                        "100%c"
                    ],
                    "controls": [
                        {
                            "first_page": {
                                "type": "stack_panel",
                                "size": [
                                    "100%",
                                    "100%c"
                                ],
                                "offset": [
                                    2,
                                    2
                                ],
                                "orientation": "vertical",
                                "anchor_from": "center",
                                "anchor_to": "center",
                                "controls": [
                                    {
                                        "main_label": {
                                            "type": "label",
                                            "layer": 10,
                                            "size": [
                                                "default",
                                                "default"
                                            ],
                                            "text": "#text",
                                            "bindings": [
                                                {
                                                    "binding_type": "global",
                                                    "binding_name": "#form_text"
                                                },
                                                {
                                                    "binding_type": "view",
                                                    "source_property_name": "('§n' + ('%.2000s' * #form_text)) - ''",
                                                    "target_property_name": "#text"
                                                }
                                            ]
                                        }
                                    }
                                ],
                                "bindings": [
                                    {
                                        "binding_type": "view",
                                        "source_control_name": "toggle1",
                                        "source_property_name": "#toggle_state",
                                        "target_property_name": "#visible"
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
   }
}```
mental crystal
tropic badger
mental crystal
tropic badger
#

ofcourse the parent isn't inside another stack panel so it works, only child that are in a stack panel doesn't move

mental crystal
#

The text itself, move it 2 pixels in each direction...

#

The text is in the very edge of the form and I don't like that

stuck cave
tropic badger
mental crystal
tropic badger
mental crystal
tropic badger
#

on height only

idle oar
tropic badger
idle oar
tropic badger
idle oar
tropic badger
idle oar
wind walrus
idle oar
#

Can you create a custom UI namespace and use a button from an existing UI namespace to go to that custom namespace?

I suppose, I probably can't. I'm gonna try to take advantage of visibility of panels by toggling them via button instead.

outer stag
#

Ah, this is extremely cool!

mental crystal
#

Guys, can you lock a button? Like custom button

#

the button can't be clicked, hover or whatever it's just disabled but the button is still there.

idle oar
#

Or I need to use script API?

placid geode
idle oar
jolly rock
mental crystal
normal moat
idle oar
# normal moat yes, using _ui_defs.json

Thanks. How do I call that UI when pressing a button? Can I use the same name as the defined name here? Then add it to $pressed_button_name?

"ui_defs": [ "ui/menu_custom.json" ]

"$pressed_button_name": "button.menu_custom"

mental crystal
#

Hello 👋 can anyone quickly help

#

Ok, even better question. Is there a way for a custom button to be forcefully clicked... Like I clicked button 0 it also clicked button 4

#

Something like that aht

mental crystal
# oak verge use toggles?

That's the thing, if I use toggle when I click its sub button it disappears since the parent I defined is toggle 1 wait lemme send a video cause my message is confusing asf here..

green oak
#

can ui read properties of entities?
for example if we have ui of entity inventory, will it be able read entity properties?

mental crystal
#

Here @oak verge

oak verge
#

i don't know what are you trying to do tbh

oak verge
mental crystal
mental crystal
#

You can imagine settings, every tab has its own button inside

oak verge
mental crystal
#

😭

#

Looks like it'll take me awhile to implement what I wanted

oak verge
#

when making a toggle you can define
toggle_view_binding_name
using that you can include the toggle in a group
if any toggle in that group is clicked all the others in the same group turn off

#

so you can like define different
toggle_view_binding_name
for these to make them independet

mental crystal
#

Ohh kk getting there.

oak verge
#

good

idle oar
#

It sucks that there is no toggle element used in vanilla so I cannot learn it by myself without any examples.

oak verge
#

the wiki do have examples

idle oar
#

It needs more though. The custom toggles tutorial didn't work for me. I can't see toggle element appear and I do not know how it looks like.

oak verge
#

it did work fine for me

idle oar
#

I got the image show up. Can I pin you for where I get the part wrong? I'll come back to it in a while.

oak verge
#

sure

mental crystal
# oak verge good

Unfortunately, I don't really know how to do it properly... I understand what to do, but doing it is impossible for me lmao

#

Can you give me a sample at least

oak verge
#

maybe later

neat sequoia
#

how can i remove a item from collection? like, i wanna to remove the index 0 from scoreboard_players

tropic badger
neat sequoia
#

how?

mental crystal
#

"ignored": true?

neat sequoia
#

but i need to ignore a specific item

#

Example:

Index 0 -> Hello => Hide
Index 1 -> World

but i have a factory with the items

tropic badger
neat sequoia
#

ok, thx

mental crystal
#
{
    "custom_long_form_panel": {
        "type": "stack_panel",
        "size": ["100%", "100%"],
        "offset": [0, 0],
        "orientation": "horizontal",
        "anchor_from": "top_left",
        "anchor_to": "top_left",
        "collection_name": "form_buttons",
        "$top_half_variant": "crafting.survival_panel_top_half",
        "controls": [
            {
                "toggles": {
                    "type": "stack_panel",
                    "size": ["20%", "100%"],
                    "orientation": "vertical",
                    "controls": [
                        {
                            "custom_toggle_panel@server_form.custom_toggle_panel": {
                                "$name": "toggle1",
                                "$text": "1",
                                "$index": 1,
                                "$padding": [52, 31]
                            }
                        },
                        {
                            "custom_toggle_panel@server_form.custom_toggle_panel": {
                                "$name": "toggle2",
                                "$text": "2",
                                "$index": 2,
                                "$padding": [52, 31]
                            }
                        },
                        {
                            "custom_toggle_panel@server_form.custom_toggle_panel": {
                                "$name": "toggle3",
                                "$text": "3",
                                "$index": 3,
                                "$padding": [52, 31]
                            }
                        },
                        {
                            "custom_toggle_panel@server_form.custom_toggle_panel": {
                                "$name": "toggle4",
                                "$text": "4",
                                "$index": 4,
                                "$padding": [52, 31], 
                                "bindings": [
                                    {
                                        "binding_type": "view",
                                        "source_control_name": "toggle1",
                                        "source_property_name": "#toggle_state",
                                        "target_property_name": "#visible"
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    },
    "custom_toggle_panel": {
        "type": "panel",
        "$toggle_size|default": [52, 21],
        "$padding|default": [52, 21],
        "$index|default": 1,
        "$name|default": "view_toggle",
        "$text|default": "Toggle",
        "size": "$padding",
        "controls": [
            {
                "custom_toggle@common_toggles.light_text_toggle": {
                    "$toggle_name": "our_toggle",
                    "$button_text": "$text",
                    "size": "$toggle_size",
                    "$toggle_view_binding_name": "$name",
                    "$radio_toggle_group": true,
                    "$toggle_group_default_selected": 1,
                    "$toggle_group_forced_index": "$index",
                    "anchor_from": "center",
                    "anchor_to": "center"
                }
            }
        ]
    }
}```

hi, can anyone tell how I separate the gourps of the buttons? I can't seem to figure it out even if Minato says what to do :(
#

so for the buttons toggle1 to toggle3 they're group 1 and the toggle4 is group 2 so that when I toggle the toggle4 the group 1 isn't affected.

#

Minato said I can separate them through toggle_view_binding_name

rocky quail
mental crystal
#

Tho another question lol

#
{
    "first_page_content": {
        "type": "stack_panel",
        "size": [
            "100%",
            "100%c"
        ],
        "anchor_from": "top_left",
        "anchor_to": "top_left",
        "controls": [{
            "main_label": {
                "type": "label",
                "layer": 10,
                "size": [
                    "100%",
                    "default"
                ],
                "text_alignment":"left",
                "text": "#text",
                "bindings": [{
                    "binding_type": "global",
                    "binding_name": "#form_text"
                },
                    {
                        "binding_type": "view",
                        "source_property_name": "('%.2000s' * #form_text) - ''",
                        "target_property_name": "#text"
                    }]
            }
        }],
        "bindings": [{
            "binding_type": "view",
            "source_control_name": "toggle1",
            "source_property_name": "#toggle_state",
            "target_property_name": "#visible"
        }]
    }
},
{
    "first_page_content1": {
        "type": "stack_panel",
        "size": [
            "100%",
            "100%c"
        ],
        "anchor_from": "top_right",
        "anchor_to": "top_right",
        "controls": [{
            "main_label": {
                "type": "label",
                "layer": 10,
                "size": [
                    "100%",
                    "default"
                ],
                "text_alignment":"right",
                "text": "#text",
                "bindings": [{
                    "binding_type": "global",
                    "binding_name": "#form_text"
                },
                    {
                        "binding_type": "view",
                        "source_property_name": "('%.2000s' * #form_text) - ''",
                        "target_property_name": "#text"
                    }]
            }
        }],
        "bindings": [{
            "binding_type": "view",
            "source_control_name": "toggle1",
            "source_property_name": "#toggle_state",
            "target_property_name": "#visible"
        }]
    }
}```
#

this is under the controls of the scrolling content... When they're two of this there's this space below, which I don't know the reason why, but when there's only one it disappears

mental crystal
rocky quail
# mental crystal You know any reasons?

if first_page_content and first_page_content1 is not on a stack panel, they will not have a space on them, and why not just merge them together? since first_page_content is a stack panel

mental crystal
rocky quail
#

hmm i see

mental crystal
# rocky quail hmm i see

but yeah the annoying problem is there's an extra whitespace below, this only happens when I add another content... Like bruh

#

Is it because of anchoring or something? I don't even freaking know 😭

normal moat
mental crystal
tropic badger
#

theres no such thing as -0

mental crystal
#

It literally fixed that shit for some reason

mental crystal
#

Heyyo

#

can I do startsWith and endsWith type of thing json ui?

jaunty smelt
mental crystal
oak verge
idle oar
#

How do you combine properties of existing namespaces into one namespace?

mental crystal
#

I'm curious if the selection_wheel works

#

I saw in documentation that it exist

rocky quail
#

i made a custom selection wheel with 16 slices

mental crystal
#

I just don't know what to put inside the controls BLA BLA

rocky quail
#

alr, after i record somth

mental crystal
# rocky quail

is it possible to make the buttons of the server form button look like a selection wheel?
-# I mean yeah, stupid question

#

also what I mean is how it looks as json... :) how do you use this is what I mean.

rocky quail
#

@mental crystal ive sent it on dms

mental crystal
#

What did I do wrong here?

      {
        "form_button@common_buttons.light_text_button": {
          "$pressed_button_name": "button.form_button_click",
          "anchor_from": "top_left",
          "anchor_to": "top_left",
          "size": [ "fill", 32 ],
          "$button_text": "#form_button_text",
          "$button_text_binding_type": "collection",
          "$button_text_grid_collection_name": "form_buttons",
          "$button_text_max_size": [ "100%", 20 ],
          "$enabled|default": true,
          "enabled": "$enabled",
          "bindings": [
            {
              "binding_type": "collection_details",
              "binding_collection_name": "form_buttons"
            },
            {
              "binding_type": "view",
              "source_property_name": "(not (#form_button_text - 'mobs') = #form_button_text)",
              "target_property_name": "$enabled"
            }
          ]
        }
      }```
#

Or this isn't a valid

#

but idk how, when the button has mob in its text, disable it.

simple crystal
#

anyone know what happened to the json ui maker website

safe geyser
#

I think I need some tool like that to learn Json ui

simple crystal
#

it was a website where u could make json ui

safe geyser
simple crystal
#

im looking for it

#

it was in this discord

mental crystal
safe geyser
safe geyser
simple crystal
safe geyser
#

@mental crystal where does U find it

#

I really need that

mental crystal
#

You guys are out of luck... The website doesn't exist anymore

oak verge
mental crystal
#

Not my problem anymore... I just enjoy this json ui

safe geyser
#

I really need that thing

oak verge
oak verge
wraith bluff
#

ah mcuimaker

oak verge
wraith bluff
#

huh

#

weird to take it down

#

I'd just leave it until the new version came out 🤷‍♂️

#

whoever it is might want to disable the domain then, cause they have a pterodactyl panel login on it rn

oak verge
#

i mean, it dose cost hem

wraith bluff
#

plus I doubt many people were using it anyway to have a large impact on costs

#

it's a niche thing

oak verge
#

yeah
i would have gone with a github page
but i guess he want to keep it close source

wraith bluff
#

unfortunate

#

did he delete the posts in resources as well? I can't find any of it

wraith bluff
#

that's a bit silly

#

his choice, but personally I'd open source something like that. It's a tough thing to make and any community support would be great for it

#

unless he wants to charge for it later on, having it closed source is pointless

oak verge
#

yeah, i told hem to make a repo for it so we can contribute
but he chose not to. i can understand that...but yeah

safe geyser
wraith bluff
#

:)

oak verge
#

lol
yeah

oak verge
mental crystal
#

No mean no, don't force it 🤷

mental crystal
idle oar
#

How do you make a toggle group from these properties? How to create two toggles that affect each other's states?
"$use_grouped_toggle|default": false,
"$toggle_group_index|default": 0,
"radio_toggle_group": "$use_grouped_toggle",
"toggle_group_forced_index": "$toggle_group_index",

normal moat
# idle oar How do you make a toggle group from these properties? How to create two toggles ...
"toggle@common_toggles.light_text_toggle": {
    "$toggle_name": "my_toggle",
    "$button_text": "First Tab Toggle",
    "size": [10, 10],
    "$toggle_view_binding_name": "first_tab_view",
    "$radio_toggle_group": true, // if checked then any other toggles with this will act as tab togglers
    "$toggle_group_default_selected": 1, // whhat is the default in the group
    "$toggle_group_forced_index": 1 // index of this toggle
}
"toggle2@common_toggles.light_text_toggle": {
    "$toggle_name": "my_toggle",
    "$button_text": "Second Tab Toggle",
    "size": [10, 10],
    "$toggle_view_binding_name": "second_tab_view",
    "$radio_toggle_group": true, // if checked then any other toggles with this will act as tab togglers
    "$toggle_group_default_selected": 1, // whhat is the default toggle selected in the group
    "$toggle_group_forced_index": 2 // index of this toggle
}

Now you can bind the $toggle_view_binding_name to your panels/tabs to make them visible/invsible.

lament kraken
#

please feedback

hybrid aurora
#

hello, is there a way to detect in a chest ui if an item is at a certain slot ? to hide a button

jaunty smelt
#

can smone tell me how to add a tooltip to server form buttons which is based on the button text

jaunty smelt
#

cuz i manage to make the tool tip to apear but it kinda makes the button disapear and its always showing not when hovered

opal aurora
normal moat
jolly rock
#

modifications work with any element?

normal moat
hybrid aurora
last pollen
jolly rock
#

You need to add it on the hover state

#

Otherwise it will show all the time

hybrid aurora