#JSON-UI General

1 messages · Page 48 of 1

patent bramble
#

It's not VSC but it does have mild plugin support

wooden sluice
#

its possible to code your dev packs and reload like you would on pc on mobile

west dawn
#

Surely its enough to atleast accept the json shema file

patent bramble
wooden sluice
patent bramble
#

com.mojang is read-only

wooden sluice
#

hm i have seen people do so

west dawn
#

If you do goof with your ohone you can access it

patent bramble
#

I think it was android 13 that said no

west dawn
#

waveplayz is also a phone guy and he has a complicated but efficient setup. I think he made a post on here somewhere that could help you get something set up

patent bramble
west dawn
#

To your json ui file

#

In the best case you would have some form of auto completions

patent bramble
#

What am I supposed to be seeing?

west dawn
#

Autocomletions in the best case

patent bramble
#

I think I'm genuinely seeing everything but Json UI somehow

night holly
#

anyone know if %.(x)s kinda breaks with emojis/glyphs? Im trying to grab first 10 characters, which works fine with normal string, but breaks when I use a glyph, it just picks its own length to use?

patent bramble
west dawn
#

Ok then ig your ide just doesn't do that

patent bramble
#

I would use vsc but yk

#

💰

west dawn
#

Maybe you have to supply the schema in a setting somewhere

wooden sluice
patent bramble
#

If my PC had wifi rn this would probably be like 10x easier but I cannot afford to buy the adaptor rn

night holly
#

oh well

wooden sluice
west dawn
patent bramble
#

Dont have a cable that would work

west dawn
#

Wdym

#

Just the charger

patent bramble
#

Iirc the charger doesn't fit

#

and it's too short

night holly
patent bramble
#

I promise I'm not trying to be awkward

wooden sluice
#

might have to make it smaller then

patent bramble
#

At the end of the day idk if it would even be worth it

#

Ive poured so much time into trying to get better at this that I don't even know if I'd be satisfied once I'm done with it anymore

#

The main "hype" died years ago but it's still something that it would be nice to create

night holly
#

ty tho lol

patent bramble
#

Sorry for wasting y'all's time

wooden sluice
chilly yacht
#

a-z 0-9 is 1 character
§ is 2 characters
\eU123 is 3

manic dragon
weak cape
#

Isn't OreUI still JSON...

patent bramble
weak cape
patent bramble
#

Oh for godsake

#

Im

#

So

#

Done

weak cape
#

Gimme a sec and I will show you some code

#

Here ^^

patent bramble
# weak cape Here ^^

I don't know how they've managed it but they've made it even harder to understand

#

Im just never using UI

#

Idc how much I want my pack to exist. Id much rather learn to write in fluid enchantment table

west dawn
#

The technology behind ore ui is browser based yes. But it was a mistake to think that mojang would ever allow us raw access to that

#

I saw that comming already a while ago

#

The only way this turns out well is if the json files will only be used to reference element content created in jsx

patent bramble
fierce tulip
# west dawn The technology behind ore ui is browser based yes. But it was a mistake to think...

Man I was so excited about Ore UI. Back then I wanted to create a JSON UI design program but dropped it since I thought "oh well, ore ui is announced, it'd surely make the tool obsolete anyway and provide a much more feature rich experience". All Ore UI actually has been so far is a big disappointment in every possible way.

  • the ui isnt faster than json ui and has more input lag
  • it lacks innovation and feels plain
  • its not customizable like it was thought to be
  • its been ages since its announced and its still not done, not even closely
  • it doesnt give creators opportunity to express more freedom in their minigames through advanced UI elements
#

They should've just improved json ui at the end of the day

#

Or build on top of the existing features to create a new language making it easier to create and manage uis..

clever vapor
fierce tulip
zealous fossil
#

Is there any way to hide the Attack Damage from the hover text? This bugs me a lot and I'm hoping to remove it.

wooden sluice
#

in lang files

#

but not the value

zealous fossil
zealous fossil
#

well bedrock is gay

neat sequoia
zealous fossil
wooden sluice
#

he wants to get rid of a hardcoded line

mint charm
digital finchBOT
#
cwh1860

hello

hexed briar
#

wake up people JSON-UI got a new feature on the latest preview... somehow.

#

so i guess they're not deprecated anymore? idk.

weak cape
#

lol

hexed briar
#

me either sob

#

i guess in a nutshell another way to fetch element bindings from different places or something.

manic dragon
hexed briar
#

No idea.

manic dragon
#

I've fetched data from ancestors before, using only source_control_name

#

They won't give any more information on this ig

hexed briar
#

yeah that's kinda how it is.

#

though they keep doing JSON-UI changes and now there's this new stuff

#

it could be marketplace partners/studios demands or something.

#

The %.<number>s "crash" bugfix thing was requested by noxcrew apparently.

hexed briar
broken trail
#

(real)

clever vapor
hardy lily
#

I ran out of any ideas 😔.

hardy lily
#

🤔 Is it possible to use Minecraft version text as binding and only show if the player uses the correct version, like 1.21.80 or later?

rigid pier
#

how i can close that coordinate thing to other players?

gaunt apex
#

when yah

quartz axle
#

anyone know how to resize player's inventory screen panel?

wooden sluice
#

is it possible to randomize values in json ui?

wooden sluice
young dune
#

Is there a way to make the paper doll always show? like keep it visible when they stop moving?

hybrid aurora
#

hello, i'm trying to display a progress bar on my UI extracting a number between 0 and 100 from an item's name (#hover_text) but i can't clip it
i already did this with a form button (#form_button_text) and didn't have this issue, and i'm sure it's not an issue related to $bar_collection_name or a size problem because when i remove clip_direction, the full bar displays correctly

here is my code and an preview in-game

"bar": {
    "collection_index": "$bar_collection_index",
    "type": "image",
    "texture": "textures/custom/ui/white_divider",
    "size": [
        "100%",
        50
    ],
    "layer": 3,
    "clip_direction": "down",
    "clip_pixelperfect": false,
    "bindings": [
        {
            "binding_name": "#hover_text",
            "binding_type": "collection",
            "binding_collection_name": "$item_collection_name"
        },
        {
            "binding_type": "view",
            "source_property_name": "(((#hover_text - ('%.6s' * #hover_text)) * 1)",
            "target_property_name": "#progress"
        },
        {
            "binding_type": "view",
            "source_property_name": "((100.0 - #progress) / 100.0)",
            "target_property_name": "#clip_ratio"
        }
    ]
}
#

debugged item names

#

i also tried #hover_text - '§b§a§r'

manic dragon
# hybrid aurora i also tried #hover_text - '§b§a§r'

Try this way

"$max": 100.0,

        {
            "binding_type": "view",
            "source_property_name": "(#hover_text - '§b§a§r')",
            "target_property_name": "#progress"
        },
        {
            "binding_type": "view",
            "source_property_name": "(($max - #progress) / $max)",
            "target_property_name": "#clip_ratio"
        }
pulsar hornet
#

How do i catch the title text in json ui so i can edit its look with conditions

manic dragon
hybrid aurora
pulsar hornet
pulsar hornet
# manic dragon What're you trying to do?

My map addon needs waypoints, i alredy used actionbar with simple conditions to edit the ui now i can’t add waypoints in actionbar too becouse it is alredy too much heavy

manic dragon
pulsar hornet
#

This is what I ve alredy done

#

I need a way to display waypoints

hybrid aurora
#

its weird

manic dragon
pulsar hornet
manic dragon
#

if you want to modify the appearance of title you'll have to modify hud_title_text element in hud_screen.json

manic dragon
pulsar hornet
manic dragon
#

use another factory with the current title factory, the other factory will have your modified style and the content will be hidden based on #hud_title_text_string binding

pulsar hornet
#

i only know how to edit actionbar becouse you use $actionbar_text in variables and you edit the parameters, but now i need to do the same thing but for title

manic dragon
#

for title you just do it with #hud_title_text_string

"bindings": [
  {
    "binding_name": "#hud_title_text_string",
    "binding_name_override": "#title_text",
    "binding_type": "global"
  },
  {
    "binding_type": "view",
    "source_property_name": "(#title_text = 'something')",
    "target_property_name": "#visible"
  }
]
pulsar hornet
manic dragon
#

yup. btw it's not a variable, it's a type of binding that allows you to do operations or other bindings/properties

long trail
#

how can I create my own UI?? I want to replace that horse armor logo with my own logo thing, do I make to make my own UI or what?

long trail
hybrid aurora
surreal ridge
long trail
glad sluice
#

How can i use starlib for 2 uis diff styles

hollow needle
#

Is it possible to make a button set an specific string into a text input?

rocky canyon
#

Is there anyway make item_text position change?

neat sequoia
#
"bindings": [
    {
        "binding_type": "view",
        "source_control_name": "health_title_control",
        "source_property_name": "((#preserved_text - $update) * $one)",
        "target_property_name": "#value"
    },
    {
        "binding_type": "view",
        "source_control_name": "health_title_control",
        "source_property_name": "((#preserved_text - ($update + #value - ',')) * $one)",
        "target_property_name": "#max_value"
    },
    {
        "binding_type": "view",
        "source_property_name": "((#max_value - #value) / #max_value)",
        "target_property_name": "#clip_ratio"
    }
]

/title @s title health:50,100

Why it isn't work??

manic dragon
#

"(not (#title_text - 'flag_1' = #title_text))", this will be true if the title contains the word flag_1 and you can add multiple words like this
"(not (#title_text - 'flag_1' - 'flag_2' - 'flag_3' = #title_text))"

#

you can ask

neat sequoia
manic dragon
# neat sequoia <@795229683800997899> do you know?? srry for ping
"bindings": [
  {
    "binding_type": "view",
    "source_control_name": "health_title_control",
    "source_property_name": "#preserved_text",
    "target_property_name": "#preserved_text"
  },
  {
    "binding_type": "view",
    "source_property_name": "((#preserved_text - $update) * $one)",
    "target_property_name": "#value"
  },
  {
    "binding_type": "view",
    "source_property_name": "((#preserved_text - ($update + #value - ',')) * $one)",
    "target_property_name": "#max_value"
  },
  {
    "binding_type": "view",
    "source_property_name": "((#max_value - #value) / #max_value)",
    "target_property_name": "#clip_ratio"
  }
]

try it this way

neat sequoia
manic dragon
#

use source_control_name properly, I don't know what properties those controls have

neat sequoia
#

wdym

inner drum
neat sequoia
#

i fix a lot errors on code, but the bar still not clipping

/title @s title health:25,100

i've picked of examples in your Animated Template Bar

manic dragon
# neat sequoia wdym

source_control_name lets you access the properties/bindings inside a control
for example, in the 2nd image, preserved_title panel has these #preserved_text, #value, #max_value etc.
so use a proper value for source_control_name

manic dragon
neat sequoia
manic dragon
#

convert those numbers to float by multiplying 1.0

#

and then try

neat sequoia
#

okk

neat sequoia
#

now the bar disappear when i type the command

manic dragon
#

i'm confused myself, can't say why it isn't working
i didn't use clip_ratio for the animated bar but it should've worked

neat sequoia
#

😭

neat sequoia
manic dragon
#

nope when you remove $update_string only 50 remains, the values after that is gone

strange snow
#

what was your completed code here?

manic dragon
#

that value is got from the next binding object

neat sequoia
#

😭

#

I'll use a pre defined max_value

viral oxide
wooden sluice
glad sluice
wooden sluice
#

i am saying in general

glad sluice
#

and i ineed a ui

wooden sluice
#

so learn

#

how do you expect people to help you if you dont know at least a little

glad sluice
wooden sluice
neat sequoia
#

@manic dragon sorry for ping, but I have another problem

#

when the title is just a number, like: /title @s title 80, all the bars are changed

long trail
strange snow
#

what is global.image and global.label?

long trail
#

does someone have an existing addon that has custom UI?

manic dragon
manic dragon
manic dragon
hollow needle
#

How can I make a button play an animation when its pressed?

hollow needle
hollow needle
#

How do I make it so when I select a toggle, all the other toggles in the same group are set to the same state?

manic dragon
#

Set $radio_toggle_group: true for those toggles

#

And assign appropriate index for $toggle_group_forced_index

wooden sluice
#

there is also a pressed button alpha property i think

#

you can do the same with that without using the state, instead it would go in your light_text_button

hollow needle
manic dragon
#

No

hollow needle
#

I examined that emoji panel and I do not get how they modify the text from the chat

manic dragon
#

That actually has nothing to do with the button

#

There's a text box inside that button. That text box is actually doing the trick

hollow needle
#

Wait, I think I have an idea why

#

Is it because the edit_box has the same text_box_name as the chat edit_box?

#

So the text_control from the dummy edit_box modifies both

manic dragon
#

The chat text box and the one inside that button has same text_box_name
So when you click on the button, the text box gets clicked and that sets value of the chat text box

hollow needle
#

I'm gonna try this

hollow needle
#

I'm not sure what I'm doing wrong, but its not working

{
  "[email protected]_edit_box": {
    "size": [ "100%", "100%" ],
    "selected": true,
    "always_listening": true,
    "focus_enabled": true,
    "$text_box_name": "#code_output"
  }
}
#
"[email protected]": {
    "$modifier|default": "#current_output",
    "$pressed_button_name": "button.nodata",
    "size": ["100%","100%"],

    "controls": [
      {
        "text_edit_box": {
          "type": "edit_box",
          "text_box_name": "#code_output",
          "text_control": "text_control",
          "can_be_deselected": true,
          "always_listening": true,
          "focus_enabled": true,
          "max_length": 6,

          "size": [ "100%sm", "100%sm" ],
          "anchor_from": "top_left",
          "anchor_to": "top_left",
          "offset": [2, 0],
          "layer": 3,

          "selected": "#selected",
          "bindings": [
            {
              "binding_type": "view",
              "source_property_name": "(#selected or not #selected)",
              "target_property_name": "#selected"
            }
          ],
          "controls": [
            {
              "text_control": {
                "type": "label",
                "text": "#item_name",
                "visible": false,
                "property_bag": {
                  "#property_field": "#item_name"
                },
                "localize": false,
                "bindings": [
                  {
                    "binding_type": "view",
                    "source_control_name": "display_text",
                    "source_property_name": "#item_name",
                    "target_property_name": "#text_content"
                  },
                  {
                    "binding_type": "view",
                    "source_property_name": "(#text_content + 'AAA')",
                    "target_property_name": "#current_output"
                  },
                  {
                    "binding_type": "view",
                    "source_property_name": "$modifier",
                    "target_property_name": "#item_name"
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
pulsar hornet
#

how do i rotate an image based on player rotation in hud screen?

manic dragon
pulsar hornet
manic dragon
#

Yeah different textures

#

Or you can use player.json and paperdoll
Then rotation is possible (those will be models)

hollow needle
bitter summit
#

does anyone know if it is possible to leave a form with just the buttons? I mean without the frame and without a dark background, just buttons?

manic dragon
#

I haven't messed with this other than using it for chat

hollow needle
#

And looks like its doing it the opposite way

#

If I modify the main edit box it adds that text to all the buttons with the dummy one

manic dragon
#

I haven't noticed it earlier but why don't you have any button mappings in the dummy text box

#

That's important for it to work

hollow needle
#

The message was too long

#

But they are there

manic dragon
hollow needle
manic dragon
#

It's modifying the text_control because you're using the value of your actual text box in it
But why is it not modifying the actual text box? That I don't know
Could be that it only works for hardcoded ones like chat, but I'm not sure

hollow needle
#

Even if its not for display

#

I'm trying to make it so you have to press the buttons in an specific order for another element to appear

#

And that order is random

manic dragon
hollow needle
manic dragon
#

Do something like this-
Multiply the first toggle state with 1 the next with 10 and next with 100 and so on
So each toggle combination will produce a unique number (binary string but a number)

manic dragon
hollow needle
#

And how do I use that result in the binding?

#

What should I compare it to?

manic dragon
#

How did you plan to display in the first place? You have to compare to something to see if the combination is valid or not

hollow needle
#

I was going to compare the #form_body_text to the current modified text, and once it was almost complete, the last button would turn into an actual button that closes the form

manic dragon
#

That seems doable to me

#

Just how I mentioned
It can be done that way

strange snow
#

as I am trying to do this within a server form

strange snow
#

What is it called when you want to only modify a certain part of a JSON UI field that your extending, like using the / to access it?

#

like hud_title_text/title_frame/title_background

rustic storm
#

Am i doing this correctly? im creating a ui thatle replace the title that starts with ws. then a value for a cd bar but when the title ws.80 runs the ui dosent replace it

long trail
hollow needle
untold dawn
#

umm, is there any way to make some items has its own hover text? like in the creative inventory or in the normal inventory, like the hover texture will have a different texture, and the item item will have a subtext like Protection: 11.6 under the item name

#

like without using setLore or anything related to renaming the item or Lore, just pure jsonUi and texts.

valid swan
rocky quail
surreal ridge
#

is it possible to do a grid, then have other buttons like the cook button for example

jolly rock
#

Yeah

patent bramble
#

Does json UI have an

"Includes":[
"Path": ...
]
#

I know it's looked down upon but I just want to get this all done so I'm using AI to generate the framework and I'll just get help here to clean it up in post

#

I don't want to learn this stuff I just want a pack of my own

patent bramble
#

Well dangit

patent bramble
# left yew No

I assume that means I'll have to directly edit the full untruncated hud_screen.json file?

#

So many headaches for such a small thing

left yew
patent bramble
#

I wish I could understand this all sometimes

#

Json is such a horrible lang

#

Im just gonna steal code from someone else's pack and slightly modify it to fit my needs, I'm done trying to learn this bs system

#

NEVERMIND I cant even find anyone who's done what im looking for

#

@left yew
Why did I think this would work?

left yew
#

..🤷‍♂️

patent bramble
#

.maybe pack dev ain't for me idk

#

This is like the easiest part of dev and I'm failing

left yew
#

Idk if id say json is the easiest part lol

patent bramble
#

Everyone else seems to know how

left yew
#

Because everyone else took the time to learn it

patent bramble
#

I did learn it at 1 point but then it went through like 9 different format changes

#

I should go back to making 2 pixel changes to item textures and calling it a good pack

#

I'm tryna cross reference a pack I downloaded online to the wiki and like half the stuff isn't even on there ...
@left yew
How do people learn this when half the resources are hidden behind bad search filters?

left yew
#

I genuinely dont know what answer u want from me 😭🙏

I learnt like two-three years ago and there was hardly anything then.

There's WAY more resources now.

Like just look through channels and look through the official json files and reverse it all. Trace it all back or something

clever vapor
#

ye i feel like learning json-ui is kind of just back and forth

patent bramble
hollow needle
#

Please I beg you, help me with the edit box thing

hollow needle
# weak cape wdym

I'm trying to make it so when pressing a button, it adds a string to a edit box

#

So for example if the edit box has the "ABC" text, when pressing the "D" button it then says "ABCD"

weak cape
#

Not sure if it's easy to implement

odd wharf
#

can i directly add a numeric value to a binding?

restive lance
#

is there a way to display images of blocks as they would render in the inventory (3d with the tilt and all)

weak cape
#

Or you make the tilt beforehand

#

Using gimp or smth

odd wharf
#

how

#

like (#binding + value)?

odd wharf
weak cape
#
{
  "binding_type": "view",
  "source_property_name": "(#main_binding + #secondary_binding)",
  "target_property_name": "#value"
}
#

@odd wharf

odd wharf
weak cape
#

You can change it to a number

restive lance
#

does anyone know how to get the aux id of a custom item/block?

odd wharf
rocky quail
weak cape
#

Check the complete bottom

#

Oh custom, seen somewhere a message or post about that exact thing

#

Better luck with the discord search bar

odd wharf
restive lance
hollow needle
#

Adding a string to the current text the edit box already has

#

But with a custom edit box instead of the chat one

chilly yacht
earnest talon
#

can someone make me a json ui for $10?

clever vapor
earnest talon
clever vapor
#

very ambiguous

weak cape
#

Can't do much

restive lance
gray shale
#

Im trying to enable my toggle by force, but it's still showing up disabled

manic dragon
gray shale
manic dragon
#

I'm not sure about that
Try using bindings like this

{
  "binding_type": "view",
  "source_property_name": "#is_enabled",
  "target_property_name": "#toggle_state"
}

This has to be inside the toggle (type: toggle; not its ancestors)
And I can't guarantee if it'll work

gray shale
#

Yeah that didnt work

#

nvm, $is_enabled is propagated to children by default it turns out

manic dragon
#

Yeah variables are accessible from children

jovial hemlock
#

Hey anyone knows how to do this?

#

I can’t find the GitHub repository

#

This was from 1 or 2 years ago

oak verge
gray shale
#

Anyone knows how to fix this? I got the same problem

#

And maybe a way to pre input a default text in the text edit box figured out this part

vernal storm
#

How to fix this

{
    "namespace": "hud",
    "hud_title_text": {
      "anchor_from": "bottom_left",
      "anchor_to": "bottom_left",
      "offset": [ 8, 0 ],
      "alpha": 1,
      "bindings": [
            {
                "binding_name": "#hud_title_text_string",
                "binding_name_override": "#text",
                "binding_type": "global"
            },
            {
                "binding_type": "view",
                "source_property_name": "(not (#text = ' '))",
                "target_property_name": "#visible"
            }
        ]
    },
    "hud_title_text/title_frame/title_background": {
      "size": [ "100%sm + 3px", "100%sm + 6px" ],
      "anchor_from": "bottom_left",
      "anchor_to": "bottom_left",
      "alpha": 0.6
    },
    "hud_title_text/title_frame/title": {
      "anchor_from": "bottom_left",
      "anchor_to": "bottom_left",
      "text_alignment": "left_middle",
      "color": "$tool_tip_text",
      "font_size": "normal",
      "line_padding": -1
    }
  }
surreal ridge
vernal storm
vernal storm
livid vault
rocky quail
clever vapor
#

maybe if you tp far enough it will auto close the previous one

#

but unsure if it will open the next one

livid vault
#

@rocky quail is it possible to hide a slot in the inventory if the item text/name has "test" so if I put item with name of "test" in the inventory slot 18 it hide

storm dagger
#

container_scroll_panel

livid vault
# rocky quail yes

Why this doesn't work I want to get the name of the items in my inventory and display in the screen

rocky quail
odd wharf
livid vault
#

So I'm trying to learn how grid works so first how I can modify the 7th element I want to move it more so I try this approach but the game crash

manic dragon
#

Yes, using live horse renderer or using npc screen

#

Try searching it here, you'll find info on this

burnt osprey
#

thank you

manic dragon
#

afaik you can't

#

You have to reload the dialog

robust cradle
#

Hello ,does anyone know what other image formats are supported by the UI apart from png and jpg.

#

It would be cool if we could use something like webP for very small file size and good quality

#

I'm thinking of making UI animations but they are going to be expensive or low quality unless I can do this

burnt osprey
oak verge
#

Tho it is easier to just change the npc model

burnt osprey
oak verge
#

You can change the entity model depending on entity property using render control

tropic tangle
#

Would you not have to resend the form whenever they select another Pokémon anyways?

#

Well e.g for every button you'd trigger another UI with specified entity id

oak verge
#

Depends on the implementation

burnt osprey
random whaleBOT
#
Info

This bot was created by SmokeyStack for the purpose of making a FAQ bot for the Bedrock Add-Ons Discord Server.

Managing Entries

To manage entries, please make a pull request on GitHub.

Source Code
past tundra
#

I have several questions, is it true that JSON UI will be deprecated in the near future? Would that mean I should stop coding using JSON UI until Ore UI officially comes out? Just want to make sure so I don't work on something that'll break.

wooden sluice
past tundra
wooden sluice
#

but it is unlikely right when ore ui comes out that they will break the content with json ui

#

marketplace maps with json ui = microsoft money

past tundra
#

Hm, okay, I just wanted to make sure I wasn't going to waste my time doing something and then it breaking shortly after without me knowing beforehand, thank you for answering my questions! Have a good day!

chilly yacht
past tundra
wooden sluice
#

does anyone know if you can auto adjust an image to fit the user's screen

jolly rock
#

Also, make sure to establish "size": ["100%", "100%"]

wanton mica
#

How does "collection_details" binding type work?

#

I'm struggling to find information in the docs, there's a lot of info missing

livid vault
#

Does anyone know how to turn the text bindings #text to variable $var so I can use it in variable
Like this
"requires": "($atext + 'test')"

Or I can just use the #text in the "requires"

#

Or is it possible to activate the factory once so the display or animation don't restart if I use again or type the command /title @a actionbar test2

manic dragon
wooden sluice
jolly rock
#

Yeah

wooden sluice
#

perfect, thanks again

jolly rock
#

Quick question, its neccesary to add the button 50 in the script to make this work?

#

Because it dont seems to work if the script have only 49 buttons

clever vapor
#

Well yeah

weak cape
#

But yeah, you will need that 51st button to make it work.

vernal storm
#
[UI][error]-UI Control: gacha_panel | On Control Path: /hud_screen/variables_button_mappings_and_controls/safezone_screen_matrix/inner_matrix/safezone_screen_panel/root_screen_panel/root_panel/gacha_factory/gacha_panel/gacha | Type not specified (or @-base not found) for control: gacha
#

How to fix??

#
{
  "namespace": "gacha",

  "gacha_anim": {
    "anim_type": "aseprite_flip_book",
    "fps": 30,
    "initial_uv": [0, 0],
    "frames": 65,
    "loop": false
  },

  "flash_alpha": {
    "anim_type": "alpha",
    "from": 0,
    "to": 1,
    "duration": 0.15
  },

  "flash_alpha_out": {
    "anim_type": "alpha",
    "from": 1,
    "to": 0,
    "duration": 0.25
  },

  "gacha_image": {
    "type": "image",
    "texture": "textures/ui/spritesheet",
    "size": ["100%","100%"],
    "anchor_from": "center",
    "anchor_to": "center",
    "uv_size": [1280, 720],
    "uv": "@gacha.gacha_anim",
    "layer": 200,

    "anims": [
      "@gacha.gacha_anim",
      "@gacha.flash_alpha",
      "@gacha.flash_alpha_out"
    ]
  },

  "gacha_root": {
    "type": "panel",
    "size": ["100%","100%"],
    "visible": false,
    "layer": 200,
    "controls": [
      { "[email protected]_image": {} }
    ]
  }
}
jolly rock
#

How do I calculate the aux ID of an enchanted object?

jolly rock
vernal storm
jolly rock
vernal storm
# jolly rock Can you show how are you calling the [email protected]_root ?
{
  "$schema": "../../../../schemas/ui/ui.schema.json",
  "namespace": "hud",

  "gacha_panel": {
    "type": "panel",
    "size": ["100%", "100%"],
    "bindings": [
      {
        "binding_name": "#actionbar_text",
        "binding_type": "global"
      },
      {
        "binding_type": "view",
        "source_property_name": "(#actionbar_text = 'gacha')",
        "target_property_name": "#visible"
      }
    ],
    "controls": [
      {
        "[email protected]_root": {}
      }
    ]
  },

  "gacha_factory": {
    "type": "panel",
    "factory": {
      "name": "hud_actionbar_text_factory",
      "control_ids": {
        "hud_actionbar_text": "[email protected]_panel"
      }
    }
  },

  "root_panel": {
    "modifications": [
      {
        "array_name": "controls",
        "operation": "insert_front",
        "value": [
          { "[email protected]_factory": {} }
        ]
      }
    ]
  }
}
jolly rock
# vernal storm Definitely did

There don't seem to be any problems, are you 100% sure that the path in _ui_defs.json is correct? Did you try reopening the game?
@base not found or type not specified means You don't have the file defined in ui_defs, so it can't find it, or the type isn't defined, but from what I can see, it is defined.

jolly rock
#

Try adding your gacha_root directly in hudscreen to see if it works?

vernal storm
#

Impossible to fix...

manic dragon
patent bramble
#

I know people don't owe me anything but if anyone is good at rebinds/factories and stuff can I ask a small favor?

#

(ping me if you reply to this)

torpid whale
#

Is it possible to add a button into the player gui hotbar screen thing that will hide every button?

#

Like just on the top right that can toggle on and off all the gui

polar frigate
#

Ts pmo sm 🥀🥀 instead the whole sentence, it's just colored the first word

wooden sluice
#

make new button, add f1 button mapping or whatever it is

vernal storm
#

Does anyone know what the initial_uv variable does?

#

I used it but it broke

#
[UI][error]-UI Control: gacha_panel | UI Control: gacha | UI Control: img | ----------------------------------------------------
Unknown properties found in def[gacha_anim] from namespace[hud]
- Unknown property [initial_uv]
----------------------------------------------------
torpid whale
sonic swan
#

hailo

i had a UI question

so with my addon i have positioned the action bar to be in the bottom right for the mana display

however, of course, this means all action bar text is in the bottom right...

Is it possible to make it so that only text that leads with certain characters (Eg, only text that starts with 'MANA') would be in the bottom right, and anything else would be normal?

tropic tangle
#

Definitely possible I think that's what a lot of servers do for their UI

jolly rock
weary wind
chilly yacht
manic dragon
#

I suppose the fading black background

chilly yacht
#

because it was also posted in script api thing

manic dragon
#

Oh I see

#

But I've never seen any server forcefully downloading packs 🤔

weary wind
#

Remove the acceptance screen and go to the downloads packs screen instantly

#

I already tried to modify how the server sends the packages and how the client responds but I can’t get it, they just skip all the screens and that’s it but it doesn’t do that and I think it’s because the official servers have a special flag in the ResourcePackInfo or Stack

chilly yacht
#

well they are also just partnered with mojang so its some special feature they have access to that consumers cant access

weary wind
#

Use PocketMine-MP for the experiment

chilly yacht
#

what server is that?

weary wind
#

It’s what lifeboat uses

chilly yacht
#

well they are still minecraft partners so i beleive thats the only way to access it

weary wind
#

I was checking bro and I found a way

oak verge
#

can a button drop items in the inventory screen?

manic dragon
#

yup it can

gray shale
#

Anyone know why an Option button would get stuck like this after opening it?

clever vapor
gray shale
#

I see

#

ah yeah i see

chilly yacht
#

yeah just invalid binding names

gray shale
#

You guys have examples on dropdown options?

manic dragon
#

I think you need a hardcoded toggle binding to use the vanilla drop-down

gray shale
#

I could implement that

#

which binding is it?

#

I tried using vanilla's content for testing. No JSON error no UI error just cant get out of this menu

#

I even tried doing all the options (im using regolith)

        <Dropdown size={["fill", "30px"]}
            // $option_label="options.sneakOption"
            $option_label="#custom_text"
            $dropdown_content="chat.coordinate_dropdown_content"
            $dropdown_area="inside_header_panel"
            $dropdown_name="custom_dropdown"
            $toggle_binding_type="collection"
            $toggle_grid_collection_name="custom_form"
            $options_dropdown_toggle_label_binding="#dropdown_option_text"
            $options_dropdown_toggle_label_binding_type="collection"
            $options_dropdown_toggle_label_binding_collection_name="custom_form"
            $dropdown_scroll_content_size={["100%", "200%"]}
            $label_bindings={[
                {
                    "binding_name": "#custom_text",
                    "binding_type": "collection",
                    "binding_collection_name": "custom_form"
                }
            ]} />
manic dragon
#

Vanilla drop-down bindings are screen specific. So their binding will be invalid if used in other screens

#

I couldn't use the vanilla drop-down element normally. So made a copy that works somewhat close to the vanilla one

gray shale
manic dragon
oak verge
graceful elbow
#

I would like to make one action bar above hotbar (default position) and second in right corner of screen. I found a way to center them in both positions, but I don't know how to make them working in same time.

manic dragon
# oak verge Anyone have any examples?
"[email protected]": {
  "size": [20, 20],
  "$default_button_texture|default": "",
  "$hover_button_texture|default": "",
  "$pressed_button_texture|default": "",

  "$pressed_button_name": "button.drop_one", // or button.drop_all

  "controls": [
    {"default": {
      "type": "image",
      "texture": "$default_button_texture"
    }},
    {"hover": {
      "type": "image",
      "texture": "$hover_button_texture"
    }},
    {"pressed": {
      "type": "image",
      "texture": "$pressed_button_texture"
    }}
  ]
}

The button mapping is the important part here

manic dragon
#

np

paper yew
#

Good evening. I’d like to know if there’s any way to display an image at 100% of the screen while it’s inside a root container that has a fixed pixel size.
ex:

  "root": {
    "type": "panel",
    "size": [
      300,
      300
    ],
    "controls": [
      {
        "element": {
          "type": "image",
          "size": []
        }
      }
    ]
  }
gray shale
manic dragon
gray shale
#

aaa

paper yew
manic dragon
#

Not while inside a fixed size element

weary wind
chilly yacht
#

is #player_position_text only for hud_screen and chat_screen or can it be grabbed anywhere

manic dragon
#

I didn't even know it could be used in chat screen xD

chilly yacht
#

ANCHOREDOFFSETBINDINGY IS GONNA MAKE ME MADDDD

#

bruh it doesnt wanna grab the correct string

#

actually it just doesnt work at all??

#

anchored_offset_value_x works fine

#

y? nope

#

nevermind y works

#

bro WHATTT

#

the first one works find but the 2nd is cooked

{
    "binding_type": "view",
    "source_property_name": "(((#text * '%.3s') - '|') * 1 )",
    "target_property_name": "#anchored_offset_value_x"
},
{
    "binding_type": "view",
    "source_property_name": "(((#text - (#text * '%.3s')) - '|') * 1)",
    "target_property_name": "#anchored_offset_value_y"
}``` why
chilly yacht
#

so

#

001 is fine for the first one

#

since it gets the first 3

#

as soon as i add an other numbers after it breaks

manic dragon
#

what's the value of #text

chilly yacht
#

@manic dragon

manic dragon
#

oh i meant what's the value of #text like what are you passing from the script

chilly yacht
#

ohh

#

just

#

like

#

3||2||

#

bruh

#

i’m on my phone rn

#

i might just be too tired i’ve been up for 18 hours

manic dragon
#

you should try adding something in front of the numbers like :3||:2||

{
  "binding_type": "view",
  "source_property_name": "(((#text * '%.4s') - ':') * 1 )",
  "target_property_name": "#anchored_offset_value_x"
},
{
  "binding_type": "view",
  "source_property_name": "(((#text - (#text * '%.4s')) - ':') * 1)",
  "target_property_name": "#anchored_offset_value_y"
}
placid geode
#

i think its cuz You have #text * '%.4s' and should be '%.4s' * #text ig?

polar frigate
#

What's "collection_length" counted actually?

clever vapor
polar frigate
#

Very clever bao_mob_frog

manic dragon
placid geode
#

mmmh

#

maybe if he add some kind of 'start character' @3||2||

#

cuz if #text = 3||3|| and i remove 3|| it will remove all

manic dragon
oak verge
#

Anyone managed to force show the subtitles? Or is the code not implemented too?
I looked into it a bit, there is a factory that shows subtitle elements like the chat in the right down corner, but there is no binding that controls it visibility depending on a toggle

chilly yacht
#

now i have a new issue

#

if i want smaller incriments and movements in the offset i have to divide it by 10 or 100 correct?

{
    "binding_type": "view",
    "source_property_name": "((('%.6s' * #text) - '|') * 1)",
    "target_property_name": "#offset_x"
},
{
    "binding_type": "view",
    "source_property_name": "(#offset_x / 10)",
    "target_property_name": "#anchored_offset_value_x"
},
{
    "binding_type": "view",
    "source_property_name": "(((#text - ('%.6s' * #text )) - '|') * 1)",
    "target_property_name": "#offset_y"
},
{
    "binding_type": "view",
    "source_property_name": "(#offset_y / 10)",
    "target_property_name": "#anchored_offset_value_y"
}``` im doing that here yet the increments are still in multiples of 10
#

so it just converts 1 -> 10, 2 -> 20

#

15 doesnt do anything

valid swan
#

I'm scared of that 💀

#

Has anyone found a method to do this without lag?

glad sluice
#

How do you make buttion text smaller then the defauls size

valid swan
# fathom mica

I just figured out a way to do this haha, you just have to check with variables if it's visible and increase its size; if it's not, remove the size.

fathom mica
chilly yacht
#

you have to multiply it first by a float ( i think ) and the float has to be a variable

fathom mica
chilly yacht
#

or divide

#

either work

chilly yacht
#

dope ui in progresss holy crap

valid swan
chilly yacht
#

that or just remove the grid items

#

like the max grid items

#

and do some flagging in the title to determine which buttons are grid and arent

valid swan
glad sluice
#

@chilly yacht Yo can you help me

valid swan
valid swan
fathom mica
#

*hm in search? i wonder what you want to search for...

chilly yacht
valid swan
manic dragon
#

Is there a reliable way to switch between server form designs without using #visible?

#

If I use factory, the contents don't get generated until I refresh the screen

#

And I don't want to click on a toggle to load the contents ;-;

chilly yacht
#

huh?

#

i use factories

#

everything generates instantly

manic dragon
# chilly yacht everything generates instantly

#1434472828689977464 message

This is from a post here. I'm having the same issue

I'm doing something like this

"panel": { // generated from the server_form_factory 
  "controls": [
    {
      "panel1_with_factory": {}
    },
    {
      "panel2_with_factory": {}
    }
    ...
  ]
}
manic dragon
#

@chilly yacht sorry for the ping.
Mind sharing how you do it?

polar frigate
manic dragon
# polar frigate Can we make our own collection? Or it's all hardcoded?

You can create custom collection name but it won't provide any data or smth. However, you can use this collection name to get collection index via #collection_index binding

As for the #collection_length binding, you can use it on collection panels and stack panels to generate controls using factory for example

polar frigate
manic dragon
#

It's not boolean. So it can be any positive number. For example if you set it to 5 the factory will generate 5 controls

polar frigate
#

Ah we can control it? Can you gimme an example?

#

I've tried playing with it, sum it, subtract it, the panel just gone bao_ext_toldyouso

#

What can i do just call it with binding name LoL

manic dragon
#
"some_name": {
  "type": "collection_panel",
  "size": [ "100%", "100%" ],
  "factory": {
    "name": "factory_name",
    "control_name": "namespace.template_element"
  },
  "property_bag": {
    "#length": 5
  },
  "bindings": [
    {
      "binding_type": "view",
      "source_property_name": "#length",
      "target_property_name": "#collection_length"
    }
  ]
}

something like this

polar frigate
polar frigate
#

Using collection panel make it overlap, maybe that's why i've never noticed it

polar frigate
manic dragon
polar frigate
#

It's like panel but for factory?

manic dragon
#

collection_panel is similar to normal panel but it can use collections like stack_panel

polar frigate
manic dragon
#

np

neat sequoia
neat sequoia
#

yess

#

i have two bars

manic dragon
#

To make any changes to the progress you need to send the appropriate title.
What you're asking is basically on the script side. Ig you can use the playerSpawn after event and send a title to fill the bar

neat sequoia
nimble harness
#

Is it possible to display individual parts of a player's skin? I know the entire model is possible, but for example, the head can be displayed separately so it tracks mouse movement, or a static head.

jolly rock
#

50/50

steep sleet
#

Idk if this is even possible, but is there any way to define the offset of a server_form button using scripts?

rocky canyon
manic dragon
manic dragon
nimble harness
#
  "player_head_image": {
    "type": "image",
    "texture": "textures/ui/icon/player_face",
    "size": [ 64, 64 ],
    "anchor_from": "center",
    "anchor_to": "center",
    "offset": [ 0, -50 ]
  }
}``` 

Similarity
gaunt apex
weary wind
fair idol
#

The same thing that happens in this video is happening to me — is there a way to fix it?

gray spear
#

Can someone help me...i want to make a custom button texture that doesn't change the original Minecraft texture, example the settings menu i want to change the button texture but i dont want to change the original mc texture, i assume that i will need to make a code, like for the custom button and the settings menu on common_button or smth like that...

It would be a great help if you know something about it even a little please tell me it would be a good help to me, sorry if you didn't gets my grammar im not good at English sorry...

manic dragon
#

Oh also does anyone know what's the use of factory_variables

placid geode
#

you can either create your own factory (but you will lose #form_text) or use grids (you will need to use source_control_name to access #form_text)

placid geode
manic dragon
placid geode
#

honestly idk how actualy works, just use it if you have something like this ```json
"$blablabla": 67,
"factory": {
"type": "stack_panel",
"factory": {...}
}

// FATAL ERROR OH NO! cannot find variable blablabla in ancestor tree like why you didnt know

placid geode
#

that server_form_factory

manic dragon
# placid geode use a custom factory without using default one

I'm not using the default one

{
  "item_grid": {
    "type": "collection_panel",
    "collection_name": "form_buttons",
    "factory": {
      "name": "item_grid_factory",
      "control_name": "@server_form.item_grid_form"
    },
    "property_bag": {
      "#form_length": 1
    },
    "bindings": [
      {
        "binding_type": "view",
        "source_property_name": "#form_length",
        "target_property_name": "#collection_length"
      }
    ]
  }
}
manic dragon
placid geode
#
{
    "namespace": "server_form",
    "third_party_server_screen": {"$screen_content": "server_form.form_factory"},
    "form_factory": {
        "type": "collection_panel",
        "factory": {
            "name": "empty",
            "control_ids": {
                "actionform1": "server_form.form1",
                "actionform2": "server_form.form2",
                "actionform3": "server_form.form3",
                "modalform1": "server_form.form4",
                "mdoalform2": "server_form.form5"
            }
        },
        "property_bag": {
            "#§1": ["actionform1"],
            "#§2": ["actionform2"],
            "#§3": ["actionform3"],
            "#§A": ["modalform1"],
            "#§B": ["mdoalform2"]
        },
        "bindings": [
            {"binding_name": "#title_text"},
            {
                "binding_type": "view",
                "source_property_name": "('#' + '%.3s' * #title_text)",
                "target_property_name": "#collection_length"
            }
        ]
    }
}
manic dragon
#

wait is #title_text available outside the factory?

placid geode
#

yeah

manic dragon
#

WHAT

placid geode
#

just #form_text is inside

#

so you will not be able to use it anymore

manic dragon
placid geode
#

yup

manic dragon
#

oh also thanks for the factory with control_ids, it helps a lot I used it in other places before (saw it from a msg here some time ago)

placid geode
#

yes, very useful and I haven't stopped using it since I discovered how to use it when #form_button_contents was added xd

manic dragon
placid geode
#

almost 6 months ago lol

manic dragon
#

yeah i saw it then, i was just talking about the fact that #title_text is available outside the default factory. I was doing everything inside of it 😭

placid geode
#

OHH yeah xd

#

i think #submit_button_text it's also outside the factory

#

so you can use it as your #form_text for modal forms

manic dragon
#

ohh cool, thanks!

gray spear
#

Can someone help me...i want to make a custom button texture that doesn't change the original Minecraft texture, example the settings menu i want to change the button texture but i dont want to change the original mc texture, i assume that i will need to make a code, like for the custom button and the settings menu on common_button or smth like that...

It would be a great help if you know something about it even a little please tell me it would be a good help to me

2nd try

manic dragon
placid geode
#

also $locked_button_texture 🤓☝️

manic dragon
#

oh right xd

placid geode
#

and $border_visible: false

#

cuz yea, that black border is separate from the button texture

manic dragon
#

and that doesn't work for some buttons like light_content_button

manic dragon
steep sleet
polar frigate
#

I can't understand how layering works in json ui (without to have determine "layer")
Sometimes it's above all element, sometimes it's in order, is there any tiering? Or just random?

patent bramble
#

How does anyone understand this? For me even trying to do something simple leads to so many errors

burnt osprey
#

is there any way to make the live_horse_renderer stop following the cursor?

jolly rock
#

NO

burnt osprey
#

sad..
alright

jolly rock
#

Unfortunately

placid geode
polar frigate
# placid geode relative to the parent ```json { "o1": { "controls": [ {...

What if i'm not defining any "layer" specifications to the elements?
And all of them in the same controls, same parent,
Which one is above the other?

 "parent": {
  "controls": [
   {
    "child1": {
     //<as far as i know all child will be above the parent>
    }
   },
   {
    "child2": {}
   },
   {
    "child3": {}
   },
   {
    "child4": {}
   },
   {
    "child5": {}
   }
   ]
 }
}```

Sometimes it's layering perfectly from 1 - 5.

But also sometimes no matter where i place child1, even at the bottom list, it's still above all other child
placid geode
#

just use layers to prevent those 'bugs'

polar frigate
#

Hmmm okay i see... Thankyou

jolly rock
#

ui

#

ui

#

Sorry

gray spear
polar frigate
polar frigate
gray spear
gray spear
manic dragon
nimble harness
manic dragon
manic dragon
nimble harness
#

I have a hobby of making and remaking my own server without help from others.

#

*Almost

polar frigate
#

i was literally doing this, and got confused by that "hover" and "pressed" HAHAHAHAHAHAHAHA

#

Also pressed no hover WDYM DAWG it's literally pressed HOVER

manic dragon
#

idk why it was named like this. I mostly don't use any of the template toggles

polar frigate
#

Mostly i use templates with original textures, so i didn't know it was a thing

#

Also most people will change it's texture directly instead of editing json template

vernal imp
#

something wrong?

#

where the code text in the red box???

oak verge
#

actually, nvm it is not

placid geode
#

maybe if you search on that pack

young dune
#

Anyone know why my preserve title preserves but will always "update"?

    "5fs_hud_title_text": {
        "type": "panel",
        "size": [
            "100%",
            "100%"
        ],
        "layer": 1,
        "controls": [
            {
                "top_right_title_frame": {
                    "type": "image",
                    "size": [
                        "100%c + 8px",
                        "100%c + 4px"
                    ],
                    "offset": [
                        "-2px",
                        "2px"
                    ],
                    "layer": 1,
                    "anchor_to": "top_right",
                    "anchor_from": "top_right",
                    "texture": "textures/white_round",
                    "color": "$5fs_background_color",
                    "alpha": "$5fs_background_alpha",
                    "bindings": [
                        {
                            "binding_type": "view",
                            "source_control_name": "title_text",
                            "source_property_name": "(not (#text = ''))",
                            "target_property_name": "#visible",
                            "binding_condition": "visibility_changed"
                        }
                    ],
                    "controls": [
                        {
                            "title_text": {
                                "type": "label",
                                "text": "#text",
                                "layer": 2,
                                "text_alignment": "center",
                                "controls": [
                                    {
                                        "data_control": {
                                            "type": "panel",
                                            "size": [0, 0],
                                            "property_bag": {
                                                "#preserved_text": ""
                                            },
                                            "bindings": [
                                                {
                                                    "binding_name": "#hud_title_text_string"
                                                },
                                                {
                                                    "binding_name": "#hud_title_text_string",
                                                    "binding_name_override": "#preserved_text",
                                                    "binding_condition": "visibility_changed"
                                                },
                                                {
                                                    "binding_type": "view",
                                                    "source_property_name": "(not (#hud_title_text_string = #preserved_text) and not ((#hud_title_text_string - $top_right_title) = #hud_title_text_string))",
                                                    "target_property_name": "#visible"
                                                }
                                            ]
                                        }
                                    }
                                ],
                                "bindings": [
                                    {
                                        "binding_type": "view",
                                        "source_control_name": "data_control",
                                        "source_property_name": "(#preserved_text - $top_right_title)",
                                        "target_property_name": "#text"
                                    }
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    },
manic dragon
#

You can't nest these.
Add them separately in the root_panel or somewhere else. Just use them here using source_control_name

brittle turtle
#

How to make a search bar ( ModalFormData ) in JSON UI and give it a custom size and Texture?

gray spear
#

Anyone knows how to modify the debug on beta ver?

I only know its connected to the debug_screen.json file...

#

Or is it not possible to modify it?

manic dragon
gray spear
manic dragon
#

yea np

young dune
analog snow
#

what does this json ui line mean:

"source_property_name": "(not ((#hover_text-) = #hover_text))"
```?
#

i do not understand why write #hover_text-

clever vapor
#

what does it do

#

that's supposed to error but if it works for you 🤷‍♂️

analog snow
jovial hemlock
#

@turbid nimbus hey accept my friend request, it’s important I think you might be interested in, I can’t send you a dm

polar frigate
#

What's default animation play/start_event? When you're not defining it

charred lodge
#

is it possible to remove the letter limit in the jigsaw ui? I can't fit 99% of block states in its turns into field which is really annoying.

manic dragon
vernal storm
#

How to??

#

@manic dragon how to remove scroll and the things in the picture

#

Genshin style gacha is hard

#

🐧

charred lodge
manic dragon
oak verge
#

what screen is that

hexed briar
#

Just FYI for people here that 1.21.130 aka probably upcoming new version yearly format — They changed slightly how %.<number>s works, so you might definitely need to update it asap especially those with custom bars as it may crash your game, there's also a case where bindings calculation are also changed due to this. so it probably may not work. So, just update it i guess idk lmao

tl;dr — %.<number>s go brokey, game crashes, update required.

manic dragon
nimble harness
#

Does anyone know how to make it so that at the beginning of the text titleraw in /title @s actiobar If you write §u§r At the beginning, the background of the action bar will be replaced with my texture.

left yew
hexed briar
#

since invalid value results in a crash for some reason.

#

If it doesn't crash, you may get a value or anything that is not the same as before, just keep that in mind.

#

%.<numbers>s * 1 should be avoided at all costs due to them resetting or straight up ignoring %.<numbers>s.

#

Other than that, some calculations or stuff like the way most detailed experience bar works may require a bindings redo.

manic dragon
#

updating the game with my fingers crossed

broken trail
#

uh nice

#

how to sincerely say fuck them if they wanted to just get rid of this feature

#

or maybe they left some info, why they changed it or just anything

manic dragon
#

probably "optimization"

broken trail
#

uhh

#

so much info right there lol

placid geode
#

so ig we cant convert string to number with * 1

broken trail
#

well if its limited to only this mostly used part then it should work fine

#

however I see its not

broken trail
#

I mean, without proper tools lol

placid geode
#

0 + #text maybe lol

#

Although I also believe it's not necessary, any string that starts with a number is automatically converted to a number

manic dragon
#

i just don't want my things to crash the game ;-;

hexed briar
#

You don't need * 1 at all just for the value conversion.

#

If the bindings detect the number first at the first string character, it will consider that as a value.

muted fractal
#

I have a ui with a grid of buttons, and I was wondering if it would be possible to set the default cursor location or button for controller when the ui opens?

placid geode
#

maybe with default_focus_precedence: int

hexed briar
#

but yeah i don't think it breaks anything that much, just get rid of * 1 if you can and pray it'll work like normal.

placid geode
#

yup

#

I just hope that ('%' + #somevalue + '.s') still works

hexed briar
#

Also %.<number>s are also 'fixed' in a way that is no longer pins late or early.

manic dragon
#

wdym

hexed briar
#

Apparently it does a thing where doing %.6s from a string may shift that.

#

so from __asdfgh__jkl would be __asdfghj__kl instead.

#

or sometimes maybe __asdfg__hjkl for some reason

#

1.21.130 however, has this fixed.

#

so some stuff might require readjustment.

manic dragon
hexed briar
placid geode
#

But that was because, for example, § counted as two characters, right?

#

(that byte thing)

hexed briar
#

Apparently, not really.

#

It does this even without §.

placid geode
#

well i never experienced that

#

but now §a should be %.2s?

hexed briar
#

so i had no idea what caused this but i had to readjust most of my stuff just to get it working again probably by +1 or -1

hexed briar
#

My stuff that requires alot of complex and experimental stuff now just works with some patches i suppose, including dynamic splitting texts

placid geode
#

By the way, did anyone figure out how to use that ancestor_scope thing?

hexed briar
#

it's like resolved scope thing.

#

instead it is the opposite.

manic dragon
placid geode
#

Afaik, sibling scope looks at the parent and the children (but not the children-children), so what does the other one do?

hexed briar
#

honestly the same thing ngl but you can read parent-parent elements.

placid geode
#

oooh

#

Interesting

hexed briar
#

can't draw myself a graph but

- parent with bindings
    - another parent
        - also another parent
             - children with ancestor scope and fetch bindings from the first parent```
manic dragon
placid geode
#

yesyes was thinking about that too

hexed briar
placid geode
#

maybe its useful if youre working with collections

hexed briar
#

unless they patched this out and made ancestor scope as a replacement.

placid geode
#

unexpected property 'resolve_sibling_scope' ☠️

hexed briar
#

i don't really use resolve scope that much due to them causing some issues that i think it's worth not using it.

manic dragon
#

source_control_name normally searches all controls but ig using ancestor_scope makes it more efficient to get ancestor proprties(?)

placid geode
#

yep

hexed briar
#

yeah, atleast it should be.

#

Just FYI mojang does not add new UI property or changes unless a certain studio requested them to.

placid geode
#

noxcrew with that crash issue with %.s

#

But I don't see any studio saying hey limit string multiplication to %.s cuz i relly need it lol I'm really smart

hexed briar
#

probably not but eh it is odd really.

placid geode
#

Instead of removing it, Mojang should have made it work like in Python

hexed briar
#

%.<numbers>s that somehow crashing did get fixed by noxcrew requesting mojang to.

placid geode
#

hi * 3 = hihihi

hexed briar
placid geode
#

XD

#

It happened to me, but honestly I never knew why

hexed briar
#

I never had it.

placid geode
#

1 big update = 1 small change to JSON ui

manic dragon
#

2 small changes 🤓

#

And some bug fixes I think

placid geode
#

and more bugs to fix 🥳

manic dragon
#

XD

hexed briar
#

JSON-UI always has hidden changes or bug fixes.

#

They don't list it up on changelog at all really.

#

I'm not surprised since this isn't the first time they've done this.

#

Since 1.19.20 where they changed a certain JSON-UI stuff that breaks the way variable and bindings work on ignored property and text property.

#

This results ALL UI stuff being broken at that time including mine.

#

the only workaround that me and some people found here were put another variable, slam a variable/bindings you want to use, and put that variable on it. or alternatively you can create another elements but leave the variable you want to use on the parent element.

manic dragon
night holly
#

anyone know a quick fix for string multiplication already?

hexed briar
#

Something at that time everyone used it for condition rendering for variables.

manic dragon
#

Ignored property can't use any variables in the same scope. But it can use variables from ancestors

hexed briar
#

Yeah that's a thing — It used to.

#

pre-1.19.20 ignore property basically works like what would you expect, it supports operators along with it.

#

and is also a common way to properly remove elements when needed, unlike visible property that is.

#

out of nowhere, they changed it. mention absolutely nothing, not even once on changelog

#

All people's UI breaks, we had to spend half an hour or probably more about how to fix it.

manic dragon
#

I think there's also a thing that you can't use more than one variable from the same scope inside another variable. It gives me error

nimble harness
hexed briar
cyan flint
#
//Hide title
"hud_title_text/title_frame/title":{
"modifications":[
{
"array_name":"bindings",
"operation":"insert_back",
"value":{
"binding_type":"view",
"source_property_name":"(not('%.7s'*#text='$Itype.'))",
"target_property_name":"#visible"
}
}
]
},
//Cross hair indicator
"sword_cross_hair_indicator":{
"type":"image",
"texture":"#texture",
"size":[16,16],
"offset":[0,16],
"layer":10,
"anchor_from":"center",
"bindings":[
{
"binding_name":"#hud_title_text_string"
},
{
"binding_type": "view",
"source_property_name":"('%.10s'*#hud_title_text_string='$Itype.sch')",
"target_property_name": "#visible"
},
{
"binding_name":"#texture"
},
{
"binding_type": "view",
"source_property_name": "('textures/ui/'+(#hud_title_text_string-('%.7s'*#hud_title_text_string)))",
"target_property_name": "#texture"
}
]
},

Why did it stop working?

#

nvmd

#

got it to work

oak verge
#

why can't we use anything different than #texture in here?
changing it to any different name break it

placid geode
#

also you don't need "texture": "#texture"

#

you can safely remove it

oak verge
#

we are just testing for now, but thanks

polar frigate
polar frigate
#

I mean we made control ourselves not the one that's already in the code

#

I try, but it's not showing

polar frigate
# placid geode custom
    "type": "collection_panel",
    "$toggle_state_panel_size|default": [ "100%", "100%" ],
    "size": "$toggle_state_panel_size",
    "$ui_button_panel|default": "common_buttons.new_ui_button_panel",
    "factory": {
     "name": "switch_toggle_factory",
     "control_ids": {
      "switch_toggle": "button_panel@common_buttons.new_ui_button_panel"
     }
    },
    "bindings": [
     {
      "binding_name": "#collection_length"
     }
    ]
  }```
cunning bridge
#

are there any bindings to control tiled_scale?

lean osprey
#

chest ui broke in new update?

clever vapor
chilly yacht
#

nothing of mine broke

#

guess my json ui is future proof

#

sorry @surreal ridge we cant all have good code 💔

surreal ridge
#

ik u cant 💔

chilly yacht
#

u use starlib 💔

burnt osprey
#

In a server form, is there any way to track which button was last clicked and keep it visually selected without closing/reopening the form?
For example, I have 4 move slots and want to:

  1. Click on a move → show a red selection border on that move
  2. Update a stats panel at the bottom
  3. Do this WITHOUT the form closing and reopening
    Or, do all state changes require the form to be rebuilt?
placid geode
#

congratulations You have been starlibified

surreal ridge
chilly yacht
#

yes u do

surreal ridge
#

show me an image of my ui that uses starlib

chilly yacht
chilly yacht
surreal ridge
#

just not though 😭 only thing i took inspo from was the screen ui and hearts icons 🥀

chilly yacht
#

💀

runic portal
#

whos is whos 😂

chilly yacht
#

took HEAVY inspo i see

surreal ridge
#

ore ui? no way!

chilly yacht
#

i dont even care its just funny 💔

#

u can keep the 2021 designs

#

i dont mind

surreal ridge
#

it is funny bc u think u own a style

placid geode
#

Is anyone else experiencing ui files not reloading when doing reload all?

chilly yacht
#

i give u permission

chilly yacht
#

but yesterday it was fine

runic portal
#

works fine for me

#

u issue

placid geode
#

bruh 🥀

#

i tried moving to development and normal and still the same

runic portal
#

keep in development 💀

#

change uuid

#

check 4 errors

placid geode
#

hmmm maybe its something with manifest

chilly yacht
#

oh lord

left yew
#

Works fine on the previous version for me, something changed in latest

chilly yacht
#

bruh

left yew
placid geode
#

what did u do now mojang

chilly yacht
#

its fine for me

#

wait let me test reload all

#

yeah works for me

placid geode
#

not for me bruhhh

#

😭

left yew
#

strange

cunning bridge
#

My UI survived ! 🎉

burnt osprey
manic dragon
placid geode
#

ig ill just reinstall

chilly yacht
#

yay memory leak too

opal aurora
opal aurora
#

nevermind, the game refused to reload everything when /reload all

#

instead, i need to unload and reload a (dummy) pack

weak cape
left yew
hexed briar
#

Actually this looks like a general cache failure.

#

My texture doesn't reload and some of my script stuff just doesn't reload without relaunch the game.

#

even with /reload all it just don't for some reason even though it supposed to.

placid geode
#

reload all is now like reloadAll() { return } thats why is now 'faster' 😂

manic dragon
#

lmao
So they messed it up while "improving"

hexed briar
#

yeah it is quite strange

#

did they not check a single checksum at all or what lmao

cunning bridge
analog hornet
#

did anyone chest ui broke after new update?

hazy ice
#

sseems like aux id items are missing with the new update. any fix?

manic dragon
#

It probably has something to do with the change about %.ns

oak verge
#

i don't think i used string multiplication outside for %.ns stuff in my #1350130244111040593 but multi tab ui might be dead

clever vapor
oak verge
#

yeah, i know
my message wasn't meant as a reply

#

btw, there is no way to turn string to number now?

nimble harness
#

Does anyone know how to make it so that at the beginning of the text titleraw in /title @s actiobar If you write §u§r At the beginning, the background of the action bar will be replaced with my texture.

nimble harness
pliant sigil
#

hi, is it possible to display per-player label text in the hud? Or is using title/actionbar the only solution

nimble harness
pliant sigil
nimble harness
#

X3

manic dragon
oak verge
manic dragon
#

yeah if you try to do any operations on it

oak verge
#

alright, thanks

manic dragon
#

removing : from :20:10 however will give 2010

oak verge
#

yeah, i get it

so stuff like "(#var *1 )" still work? where var is 20, or is *1 not needed?

manic dragon
#

if #var is a numerical string you will need * 1

oak verge
#

this work? (chest ui)

manic dragon
#

it should work, if it doesn't you can try 1 * #form_button_texture

oak verge
#

alright, haven't tested anything yet
but someone said that chest ui broke, so i am trying to understand where it may have

#

these are all the places where * is used

manic dragon
#

It doesn't seem anything's wrong here. But I haven't tested properly which things still work and which things don't

bright gazelle
#

is item renderer broken? my ui only shows blocks, but not items

polar frigate
chilly yacht
hazy ice
#

thanks

#

planning to improve in holidays

cunning bridge
chilly yacht
#

yeah same

grave jasper
#

Alright guys so i made a behavior pack whos only job is to alter the loot pool of 1 structure addon by including loot added by another addon. until the Mounts and Mayhem update it worked absolutely fine but now the loot refuses to appear.

Now I tried opening the Structure Addon and simply replacing the files inside with the Loot tables I changed and it works perfect. but it's not what I want. I need it to be a seperate Behavior Pack that works like a patch between 2 addons.

The only files i have for the behavior pack are the Manifest and the loot tables and as I know the loot tables work it must be the Manifest right?

safe wasp
#

is it just me, or does any custom ui freeze the game now?

#

nvm we good

clever vapor
#

did anyone see the new property for images yet

rocky quail
clever vapor
#

Yeah

#

wonder what's it for

neat sequoia
#

Why when I put my button factory inside my draggable element, it doesn't work? The button don't appears

analog hornet
#

does anyone have working chest ui

placid geode
#

oh nvm found it

#

well at least now I know it wasn't my problem

hardy lily
#

this is disaster 💀

manic dragon
upbeat frigate
#

String multiplication in UI expressions is now limited exclusively to %.<number>s

Anyone know what does this mean? In the stable 1.21.130

opal aurora
manic dragon
#

none of my packs are reloading anymore (/reload all)
i swear it was working the other day
(working again lmao)

chilly yacht
sinful crypt
upbeat frigate
opal aurora
manic dragon
#

it got fixed after I relaunched the game 2 times

upbeat frigate
#

like it's displaying the actual string thingy

manic dragon
#

I was talking about the reload issue

#

string multiplication is working fine for me

upbeat frigate
#

aw, nvm, mybad

manic dragon
upbeat frigate
#
"bindings": [
            {
              "binding_name": "#hover_text",
              "binding_type": "collection",
              "binding_collection_name": "$item_collection_name"
            },
            {
              "binding_type": "view",
              "source_property_name": "(( #hover_text - '  ' ) - '§r§f§r§f§r')",
              "target_property_name": "#final_text"
            },
            {
              "binding_type": "view",
              "source_property_name": "(#final_text - '- Default (Unpressed)')",
              "target_property_name": "#final_text"
            },
            {
              "binding_type": "view",
              "source_property_name": "(#final_text - 'Locked')",
              "target_property_name": "#final_text"
            },
            {
              "binding_type": "view",
              "source_property_name": "(#final_text - '[Detachment]')",
              "target_property_name": "#final_text"
            },
            {
              "binding_type": "view",
              "source_property_name": "((((((#final_text * '%.30s') - '- Toggled') - '- Unobtainable') - '§5§o') - '- Disabled') - '§f') - 'Has Custom Properties'",
              "target_property_name": "#detail_text"
            }
          ]

Here's the full bindings, it used to work before the update.

manic dragon
#

it's really inefficient what you're doing here

#

like the loops here

upbeat frigate
#

how do u do it? i'm new to json ui 😅

manic dragon
#

you should combine them in fewer binding objects

#
"bindings": [
  {
    "binding_name": "#hover_text",
    "binding_type": "collection",
    "binding_collection_name": "$item_collection_name"
  },
  {
    "binding_type": "view",
    "source_property_name": "(#hover_text - '  ' - '§r§f§r§f§r' - '- Default (Unpressed)' - 'Locked' - '[Detachment]')",
    "target_property_name": "#final_text"
  },
  {
    "binding_type": "view",
    "source_property_name": "(('%.30s' * #final_text) - '- Toggled' - '- Unobtainable' - '§5§o' - '- Disabled' - '§f' - 'Has Custom Properties')",
    "target_property_name": "#detail_text"
  }
]
upbeat frigate
#

ah got it, i was trying to make it into 1 binding, but i found it confusing with many open/close braces 😅

upbeat frigate
manic dragon
#

np

upbeat frigate
#

although still have issues with the string multiplication, can i see ur example for using string multiplication?

#

like using property_bag

manic dragon
#
"label": {
  "type": "label",
  "text": "#text",
  "property_bag": {
    "#string": "This is a string containing some words"
  },
  "bindings": [
    {
      "binding_type": "view",
      "source_property_name": "('%.27s' * #string)",
      "target_property_name": "#text"
    },
    {
      "binding_type": "view",
      "source_property_name": "(('%.27s' * #string) - ' containing')",
      "target_property_name": "#text1"
    }
  ]
}
manic dragon
upbeat frigate
#

i think they did something with character limitation or byte count or something, i can only display this text from an item lore, not sure 100% yet

#

nvm

#

i'm dumb

upbeat frigate
#

How do you only display the name of an item? Like exluding the lores and stuffs?

upbeat frigate
# manic dragon something like this

Thank you, used this as a reference from mine, i was using "%.ns" after the text like "#text * '%.ns' and somehow it was not workint, after changing the order it worked again, thanks

manic dragon
#

Writing it afterwards did work before ig but I never use it like that

viral oxide
#

Are there any known methods for using a binding as the base of a control
"test@#hover_text": {}

#

I have a significant amount of elements that just get hidden instantly that I dont want the game to have to parse everytime it tries to open my screen, since that takes ages. so I want to try and make an element switch out-able that way it only needs to parse 1 element

manic dragon
viral oxide
#

yea, but is it possible to set a variable based on a binding?