#JSON-UI General

1 messages · Page 26 of 1

weak lintel
#

its driving me crazy

#

is it because im using chat factory

opal aurora
#

not here

#

it's in npc_interact_screen.json:message_model/model

last pollen
#

what is jukeboxpopup?

halcyon egret
#

how i can center text in disconnection menu? like the hive..

#

is there any way to do this in resources pack?

left yew
#

bros banned 😭 ?

opal aurora
#

in disconnect_screen.json:

{
  "disconnect_screen_text": {
    "text_alignment": "center"
  }
}
#

that screenshot, it's not completely aligned center

weak lintel
#

is there any way to get chat text other than using factory

#

or making the elements to not stack

"max_children_size" was the one but i made it worse so

marsh coral
#

Srry for ping but how do u change the form texture (not buttons and icons) just the border

weak lintel
#

i moved onto title text already

#

😔

young dune
#

Can you not modifiy your own elements?

halcyon egret
oak verge
final matrix
#

@marsh coral
"custom_form_ui": { "type": "image", "texture": "textures/ui/background", //background texture

#
        "alpha": "$fill_alpha",
        "controls": [
            {
                "front_overlay": {                    //outer ui texture
                    "type": "image",
                    "texture": "textures/ui/custom_form"
                }
            },
            //close button
            {
                "close_button_holder":{
                    "type": "stack_panel",
                    "anchor_from": "top_left",
                    "anchor_to": "top_left",
                    "$close_button_panel_size":[20, 20],
                    "controls": [{"[email protected]_button": {
                        "controls": [
                            {"[email protected]_button_panel": {"$close_button_texture": "textures/ui/close_button_default"}},
                            {"[email protected]_button_panel": {"$close_button_texture": "textures/ui/close_button_hover"}},
                            {"[email protected]_button_panel": {"$close_button_texture": "textures/ui/close_button_pressed_light"}}
                        ]
                    }}]
                }
            },```
marsh coral
final matrix
#

it's server form

oak verge
#

that don't include color changing

final matrix
#

add this

"custom_long_form@common_dialogs.main_panel_no_buttons": {
                    "$title_panel": "common_dialogs.standard_title_label",
                    "$title_size": ["100% - 14px", 10],
                    "size": [322.5, 185],
                    "$text_name": "#title_text",
                    "$title_text_binding_type": "none",
                    "$child_control": "server_form.my_super_custom_panel_main",

                    "$custom_background": "server_form.custom_form_ui",        //custom form ui```
oak verge
#

no...
give me a sec

final matrix
#

yeah I did not add the label

marsh coral
#

Where?

final matrix
#

add the $custom_background

oak verge
#

@marsh coral

#

and make a custom_form_ui image panel

marsh coral
marsh coral
#

Ur doing it on "custom_long_form" and i on "long_form" doesnt matter??

oak verge
#

that just a name

marsh coral
#

Oh ok ill try

#

Dudeee @final matrix @oak verge thanks guys

#

I do it

#

Thank u so much

oak verge
#

ur wlc

young dune
oak verge
young dune
oak verge
young dune
oak verge
young dune
#

yeah that is what I have

#

or does it have to be in root_panel?

oak verge
#

just the panel you are editing

weak lintel
young dune
oak verge
#

i have no idea sorry

oak verge
weak lintel
#

setting alpha to 0 doesnt hide the element and it lags as hell if the player's max health is really high

#

overwriting the type to image and using it as whole works perfectly but it spits out content logs about hardcoded stuff missing

pulsar hornet
#

guys im trying to do a server form, i followed the tutorial of skyls but i cant figure out why i copied all his code but still nothing works

hexed briar
weak lintel
#

i want to make use of heart renderer's offset

#

so that i dont have to rewrite everything that has heart renderer

hexed briar
#

well you can't remove the renderer.

#

you could replace it's texture maybe

weak lintel
#

nah, textures alone cant prevent the hearts from skyrocketing

hexed briar
#

idk use the modification property to remove the heart element maybe

#

and insert your own, doesn't have to rewrite anything

#

not sure what would you need heart element for

weak lintel
#

i mean the game wouldnt yell at me for not having hardcoded stuff, right?

hexed briar
#

it won't.

#

json-ui does not have any necessary check for every elements to exist.

weak lintel
#

wait

#

ooooh

hexed briar
#

you can remove anything if you'd like.

#

as long the element that are referencing is either exist or removed all together

weak lintel
#

when i just rewrote the heart renderer's type it yelled at me for not having renderer

hexed briar
#

and you pretty much have a content log error free.

#

you can remove with modification elements or simply use ignored on all elements that are related to heart renderer

weak lintel
#

so i have to use modification to replace root_panel/heart_renderer with my stuff... or smth

hexed briar
#

it shouldn't throw any content errors.

weak lintel
#

but ty ill try smth

hexed briar
#

looking at it, the hotbar element where there's hunger and heart bar isn't exactly a stack panel

#

since they're panel, you should able to use anchor and offset.

weak lintel
#

yeah i know that, its just that i wanted to keep it very simple

pulsar hornet
#

can someone help me? #1279756411278196778

broken trail
#

@mystic heart I saw you know some things :pp what do you think about?

tropic badger
#

yes and you cant do it directly, you need to do the scuffy way

broken trail
#

I use mostly scuffy ways lol, may I ask about this way then

#

?

final matrix
weak lintel
final matrix
#

nice

tropic badger
broken trail
#

yes just change collection_index

#

cuz overriding with #collection_index seems to doesnt work

#

this thing rather returns actual index of collection element

west dawn
#

yeh lol just set it to the desired value

#

btw collection_index 200 is nice if you want to make a button in every ui do the same thing

#

or any high unreachable one

oak verge
#

can we combine nine slice and aseprite animations?

tropic badger
# broken trail yes just change collection_index

Okay so the idea is assuming the collection you are using is vanilla and you can use factory with it then you gonna go to factory control_name or the product/element generated of the factory(lets call it "dummy"), you can then go set the binding:

{
  "binding_name": "#collection_index"
  // Just get the collection index
},
{
  "binding_type": "view",
  "source_property_name": "(#collection_index = #num)",
  "target_property_name": "#visible"
}

See the pattern? Its really basic therefore it has alot of flaws, the most important flaw is for example you have a data inside that element "dummy", you can't get it, it will always return to 0. It sucks..

broken trail
#

visiblity based collection, well that was my first idea previously but exactly

#

you cannot get data from this

#

like the idea is to have 2 elements and have bindings first and second on them, then instead of adding lets say if statements to every possible option, I wanted to just change but collection index of these first and second elements

#

then bindings would be same, as I want, just info from collection would change if I would be able to override collection_index not why this method, because this data I want is just undefined, 0

tropic badger
gilded rivet
#

hi there im tryna create a vignette effect where the screen goes dark. Is it possible to trigger it with tags? or anyways to trigger it to a specific player?

#

I have made a reload bar but it triggers through the /title command

rotund spoke
#

I'm looking for when the text corresponds to "a.test" it gives me the image someone could help me pls

#

{
"imageontitle": {
"type": "image",
"size": [150, 150],
"offset": [0, 0],

            "texture": "textures/ui/title",
            "variables": [
              {
                "requires": "(not $title_shadow)",
                "$show_shadow": false
              },
              {
                "requires": "$title_shadow",
                "$show_shadow": true
              }
            ]
          }
        }
#

is in title in hud_screen

#

yes but how do you have an example please?

oak verge
hearty robin
oak verge
hearty robin
gilded rivet
oak verge
gilded rivet
#

I saw origins by r4isen use json ui vignette for the origins so I'm tryna copy that

oak verge
#

/camera <players> fade [time <fadeInSeconds> <holdSeconds> <fadeOutSeconds>] [color <red> <green> <blue>

gilded rivet
#

ahhh I see thankyou

#

but is there a tutorial for triggering ui?

#

for example a reload bar after something has been used

final matrix
#

no error but not showing the paperdoll

weak lintel
young dune
warm escarp
#

#1279831471338688602

weak lintel
#

how do i do replace modification on heart renderer? apparently i cant use heart renderer as control name in root panel modification

warm escarp
#

@oak verge sorry if i ping you but can you help me?

oak verge
#

give me a sec i saw your post

#

@warm escarp what is the file namespace

snow acorn
#

Id like to add a column to this avg's time to learn for Json UI.

Could the JSON UI people give me some check points and how long on avg take to learn them.

jolly rock
#

Does anyone know how to remove letter spacing? please

oak verge
#

split text to panels 🤡
jk i don't think that is possible

jolly rock
#

Terrible to hear that

final matrix
#

I got it 💪

#

damn my internet bao_comm_dead

#

now I will work on the toggle you gave

oak verge
final matrix
#

I used the start screen now

#

it's more maintained on start screen

jolly rock
oak verge
jolly rock
torpid whale
#

maybe add coords ¯_(ツ)_/¯

#

or other entity dots ¯_(ツ)_/¯

oak verge
torpid whale
#

maybe make the map turn with the player z/x coord??

oak verge
torpid whale
#

Ohhhhhhhh

#

Oof

#

Emmm there probably some offset for the text to make it split and theres probably tick delay built onto it like map so ¯_(ツ)_/¯

#

I only started a couple days ago so its just estimation based on my past experiences with gui

torpid nymph
# jolly rock Is dynamic

theyre saying to send the first character to the UI as the base colour, that fills the entire panel, then add on everything else pixel by pixel like youre doing now

oak verge
#

@jolly rock are you using text or images?

mystic heart
# broken trail like the idea is to have 2 elements and have bindings first and second on them, ...

so basically you'd want buttons or some element type that shifts their functionality by changing the collection index. Like buttons A and B are originally 0, 1, then after changing they could be like 4, 5?

I think in this case it's usually easier to change the functionality of what the buttons do on the behavior side of things. Though if you had to do it through UI there is probably a way. I haven't tried to change collection index but you may be able to do it cleanly with a variable if you have a variable that has the data you need. With a binding I'm not sure it'd work. But I think ultimately just changing behavior side of things is the best in most cases

oak verge
jolly rock
#

Yea

narrow fox
narrow fox
# jolly rock Is dynamic

Can you make it so that when the player moves the pixels change pixel by pixel and not a complete refresh?

#

This will make it look like the player is moving around the map.

jolly rock
#

I like the idea of the player being centred

#

However, the lag is not due to the loading of the blocks but to the number of symbols on the screen

narrow fox
jolly rock
#

I'm not sure I understand you

narrow fox
#

I'm sure you can.

jolly rock
#

I don't understand the pixel by pixel part

oak verge
narrow fox
broken trail
# mystic heart so basically you'd want buttons or some element type that shifts their functiona...

oh yeah, this explanation is good, but lets say these two buttons are originally 0, 1 and after I click on toggle, they change to 2, 3 or other numbers like 6, 6. And the problem is, that these are collection items, and data from bindings is there, not somewhere else in some plain panel element, its dynamically here, if I change 0,1 to 2,3, this data updates and I was, and still trying to get this info

I know that there would be way to add "if statements" for every possible option but lets say there will be range of these both buttons from 0 to 29 - indexes, all possible options should be equal to 30* 30 = 900 panels, now lets say there are 5 texts here so 900 *5 = 4,500 texts on screen, and you see how firstly ugly this is and secondly not efficient, I can say that it would even crash game

Thats why I am trying to figure it out somehow, to avoid these huge numbers to only these dynamic 5 that would set every collection_index update, no need to calculate every possible option, just keep it simple

Finally, this thing is possible by changing collection_index property in both buttons in code, but I rather looking for thing that would add option to somehow interact with it in game

broken trail
mystic heart
harsh perch
#

What's the name of the hidden variables stored in player data

#

Dynamic properties nvm

eager hazel
#

dose anyone know how to change the icon of a dummy score?

#

for example

tropic badger
#

As you can see i can now place blocks on the video but the dialog is still appears

rocky quail
#

you could try adding button mapping that listens to menu_close or menu_exit

#

and also make the hud always listen input

weak lintel
#

how plausible is it to use chat text for rendering multiple labels at the top right corner

#

its a bit hard cuz i couldnt do it like how i do with titles and preserved texts

#

rn it just resets when a random chat appears

#

and i cant separate the texts for each labels

weak lintel
#

:spong:

#

there goes my efforts!

hexed briar
#

you can't change the chat message like actionbar or title, since the purpose of the chat message element is to create elements with changed text.

#

it does not replace text or reset the animations.

weak lintel
#

it creates elements

#

mhm

#

welp

#

should i just go back to titles?

hexed briar
#

well your choice tbh

weak lintel
#

i was trying to use chat text since the titles can(cant?) overlap each other and ignore an element from updating sometimes

hexed briar
#

also if you're using a custom dedicated server in any chance with a custom scoreboard stuff, you can create a "multiple labels on the top-right" or hive thing via scoreboard elements.

weak lintel
#

thats prob a very no since i dont have a way to run dedicated servers

hexed briar
#

actionbar/title is also possible too

#

but it depends on the use case.

weak lintel
#

it needed to be updated every tick

hexed briar
#

You can use preserve text for that

weak lintel
#

i mean yeah i was using preserved texts

#

with separate labels inside stack panel

hexed briar
#

it doesn't replace the text unless you're using specific string to update it

#

also this does not work with animation element.

weak lintel
#

it was just that it didnt update an element (only one updates) when two titles happened at once in a tick

#

ig i could use subtitle for that?

hexed briar
#

not recommended.

weak lintel
#

what if the subtitle element was very related with the title element

hexed briar
#

idk can't you just use static text

weak lintel
#

like title being clock and subtitle being season

weak lintel
hexed briar
#

then use a split text as a value string

weak lintel
#

oh wait

#

yeah

hexed briar
#

or your own text

weak lintel
#

like

#

a label

#

just label?

hexed briar
#

just "text": "hello world"

#

yeah

#

also language (.lang) works on it too

#

aswell \n etc

weak lintel
#

ig lang is the only way here

#

or that

#

ty ill try

hexed briar
#

you could do something like this

root element
    > stack panel
        > background
            > stack panel (horizonal w/ 100%cm)
                > static text
                > split value text
        > padding (spacing)
        > background
            > stack panel (horizonal w/ 100%cm)
                > static text
                > split value text
        ... (same thing above)
weak lintel
#

ye i did that before

#

ty

mystic heart
weary wind
weak lintel
weary wind
#

The notification thing but now the game closes when I put something in the chat

#

Is there any way to see the crash?

#

That didn’t happen before haha

weak lintel
#

its hard to know the exact issue without seeing the code

#

dont send the whole code if youre posting it, just post the chunk of the code for that

weary wind
#

I already solved it

#

I just want that not to appear haha

#

If it’s a text without a flag

weak lintel
#

if its made of chat factory with stack panel, you can do conditional rendering

#

invisible elements inside stack panel will be ignored and dont stack with other panels iirc

weary wind
#

It’s a different panel

wraith bluff
#

the actionbar?

#

yes that's the actionbar

weak lintel
#

its in actionbar

#

im p sure you could

"hud_actionbar_text": {
    "texture": ""
}```
#

not sure if thatll

#

overwrite the whole thing and break everything apart

#

or bite you back with missing texture

#
"hud_actionbar_text": {
    "alpha": 0
}```
or maybe this?
tropic badger
#

has anyone ever in json ui made a 2d game fully json ui?

undone marsh
#

But very unoptomized version

#

Also without upgrades obv

true elm
tropic badger
tropic badger
tropic badger
#

except you cant fall

#

the obstacles dont move

#

json ui is beautiful

undone marsh
weak lintel
#

@hexed briar the bg image only follows the size of the child label thats on front (or topmost in controls)
if i add a fixed label inside the label_stack in the topmost of controls, it does this

#

"size": [ "100%c + 8px", "100%c + 4px" ]
this is the size property for bg image

#

rn the code has the fixed label removed

hexed briar
#

try to debug them first

#

use a dummy label element with a bindings stuff that you want to debug.

#

then test stuff accordingly to see how will you display it.

#

the debug text will always be the same output on operator related

weak lintel
#

got it

true elm
oak verge
true elm
#

expensive

oak verge
#

yep

green grail
#

Wow haven't visited this channel in a while

oak verge
#

@jolly rock
you have a loop each time you join a world to get all blocks colors...
map them to an already existing object and only do the loop for the blocks that are not mapped

oak verge
green grail
#

Def

#

Glad to see this chat with activity, I'm always amazed with what you guys cook and showcase at #1046947779118895114 lol

oak verge
#

i am new here lol
not even a week playing with json ui

green grail
#

Eh still

young dune
#

anyone able to explain nineslice size?

#

I guess? Idk im struggling to understand how that file works and what it does with textures

weak lintel
young dune
#

yeah i figured that much

#

and nineslicing I mostly understand I just dont understand it in this format 😅

#

This helps out ty

#

ty

jolly rock
lament kraken
#

@lament kraken

jolly rock
#

@jolly rock

autumn grove
#

can someone help me how to fix chest ui? It worked fine but after i loaded 1 more addon that works with serverform the chest ui is stopped working but other addon works fine

oak verge
normal hamlet
tender flare
weak lintel
#

apparently string formatting doesnt like non-english texts

#

ended up having thousand lines in lang

tropic badger
#

non English text?

#

you mean like non alphabet?

weak lintel
#

for some reason when i string formatted non-alphabet texts i got from titles it just

#

broke

jolly rock
tropic badger
tropic badger
#

Do you still have the example? I want to learn how you play animation on toggle on and off.

pseudo garden
#

can someone explain the limitations of json ui to me?

whole jasper
# tropic badger Do you still have the example? I want to learn how you play animation on toggle ...

Just conditional rendering

          "$anim": "anim_art.profile_start_anim_close_1",
          "bindings": [
            {
              "binding_type": "view",
              "source_control_name": "profile_toggle_open",
              "source_property_name": "#toggle_state",
              "target_property_name": "#toggle_state"
            },
            {
              "binding_type": "view",
              "source_property_name": "(#state+(#toggle_state*(not #state)))",
              "target_property_name": "#state"
            },
            {
              "binding_type": "view",
              "source_property_name": "(#state*(not #toggle_state))",
              "target_property_name": "#collection_length"
            }
          ]
#

I don't use 1 toggle, I use toggle group, I think it's easier

weary wind
#

Could someone help me?

rocky quail
weak lintel
#

does anyone why conditional rendering does not work on a preserved title

#

ok i should be more specific

#

the title factory here is triggered by different titles even though the $update_string is completely different

#

like its entirely separated

#

its not the case for the similar element with different bindings though

weak lintel
#

tl;dr:
unrelated runInterval title triggers factory

#

oh wait

#

im so stupid why am i setting visible property in factory

weak lintel
tropic badger
#

me personally i would've used scoreboards for the top right thingy

#

so you dont overload the title

weak lintel
#

so i just decided to use titles

final matrix
#

do I need to make a diff texture for creative

#

it works fine in survival?

#

their is less than 1 px gap in survival inv as well

broken trail
# mystic heart hmm I get what you mean about not wanting so many elements. Though I feel like t...

yeah, here is video what I mean exactly, its about hotbars, if I would do this manually for each possible option the possible amount isnt that huge because 9*9 but still, I rather prefer to somehow figure out way to flip bindings with collection_indexes, I wonder if I can create 9 elements with visibility bindings and same name, then I could somehow get binding data from one that is actually visible, I doubt if this would work because names should be unique, even it throws errors or warning so yeah... https://cdn.discordapp.com/attachments/1191469954785104005/1280584630361264249/Record_2024-09-03-19-44-29_5c8300b655012b1930f2e0a7b81bf6a9.mp4

mystic heart
mystic heart
broken trail
#

element A, B

#

in this example its 1 and 2 slot

#

and now we back to, if I click on toggle, I change slot 1 to slot 3, in other words, change collection_index from 1 to 3

#

I would use other thing for this instead of toggle, but if toggle would work, everything else will work too

#

its like slot swapper based on 2 buttons, both of them have these collections of course

#

this example is also currently using stack panel with collection_name and childs with collection_index, classic layout

#

visibility of them is just yeah, unnecessary thing to explain

#

and these are just 2 buttons

tropic badger
#

ig

#

basically what i would do is just have a toggle there that could increment a number

broken trail
broken trail
# tropic badger basically what i would do is just have a toggle there that could increment a num...

yeah, pretty easy until you realize you cannot really increment a collection_index number, that's the thing I am asking about, I used #collection_index which by name makes sense, but everything it does is return of actual index, you cannot really override this binding, at least I tried with target_property_name, binding_name_override which should do the same actually, and with property_bags, the value is int and yeah, this was throwing only errors

#

I couldnt find anything like this in previous messages here or in documentation, and couldnt figure it out by testing, the last help is here actually, if anyone wont really help in some way in this case I will just use $variable set in collection_index, pretty poor way at the end of the day but it at least works

wind walrus
graceful elbow
#

which file allows you to change the scoreboard sidebar to the left of your screen not right?

mystic heart
# broken trail element A, B

Sorry I just saw this. It may be possible but I don't know how you would change the collection index with bindings. What you could do though, in this example, is wrap the hotbar element in a panel so it can be offset, then change the anchored x offset binding based off where it should be for its "collection index". So instead of changing the actual index, you are just shifting the positions of the elements.

tropic badger
#

Yeah and clips them

#

that make sense

broken trail
#

just offsets and clip panel

#

great idea, idk how I didnt come up with this earlier

#

but in general, we back to the old but not really god way to literally hide elements lol

#

only thing Im wondering is button mapping outside hidden clip panel

unique swan
#

Hello

broken trail
#

if user would be able to click these buttons

unique swan
#

How can I change the size of the text edit box?

narrow fox
#

How can I make the namespace accept long_form and custom_form together?

cunning bridge
#

is there a way to eliminate the lag generated by invisible elements in the server_form screen, i am trying to port my in-game encyclopedia from the how to play screen to the server form, but it's too large and affects the other forms.

mystic heart
mystic heart
# cunning bridge is there a way to eliminate the lag generated by invisible elements in the serve...

If you want to you can change it to using a variation of ignored instead of using visibility. It's a lot more efficient. It can mess a bit with your sizing and offset though. Instead of using #visible, use the #collection_length binding with a stack panel factory, and have your main panel form as the only child generated by this. Just make sure to multiply all booleans in your binding by 1 so they convert to an int properly. Lemme find an example I had

#

#old-json-ui message

An example from the old UI chat. I set up a large scale more dynamic system with this for an experimental project I did and it worked really well. Basically no lag on any devices despite some pretty big elements that included renderers.

chilly yacht
#

I needed something like this too

#

But what exactly is it doing?

mystic heart
chilly yacht
mystic heart
cunning bridge
#

this sounds...complicated, i might look into that

mortal monolith
#

minecraft trailer?

mystic heart
outer bridge
#

It’s really not that bad once you start using it haha. I still maintain that using stack panel factories like that is superior for conditional rendering performance.

chilly yacht
mystic heart
broken trail
#

also once element is rendered animation of factory child always run

broken trail
broken trail
#

there might be some literally random way but I would rather keep my hair on head than searching for such thing for at least a few weeks

tropic badger
#

There may not be a huge performance difference on hiding an element versus completely making it disappear, i think using factories is just not quite practical basing on the traditional sense.

broken trail
#

nah, if you have a lot, I mean a lot elements in screen, then this have visible impact, you can see how frametime or fps change to better values when you hide something by this method

#

and it's also really great for elements in paper doll, not just skin but 10x more elements here

cunning bridge
# mystic heart https://discord.com/channels/523663022053392405/868073903703093259/1014738917767...

it is not working ```js
{"info_page": {
"type": "stack_panel",
"collection_name": "skypedia",

    "factory":{
      "name": "skypedia_factory",
      "control_name": "guidebook.red_box"
    },
    "property_bag": {
            "#stack_count": 1
        },
        "bindings": [
      {
        "binding_type": "view",
        "source_property_name": "((not((#form_text - '§skypedia') = #form_text) * 1) * 1)",
        "target_property_name": "#collection_length"
      }
    ]
  }}```

the element doesn't appear at all but i still get the lag from it

hexed briar
#

the con with that is, it's stack panel. not really a regular panel, therefore dynamic size kinda breaks in there and may involve in some hacky stuff. — honestly, not really worth it unless you're using too many elements for it to save performance.

tropic badger
#

Also another con is like theres a bug where you can't really get datas properly on factory child element if you had like 3 elements inside it

#

Like you could add a binding to that child element that it will only be the element be generated so you could get data from it but yeah it doesnt quite work like that ig

#

Now thinking about is things starting to make sense..

I think hidden elements, you can still get data from it so i can't get my data properly, mayhaps theres a workaround

#

#ignored doesn't seem to exist

#

it just all sucks

broken trail
broken trail
#

because by default its always_when_visible

#

so with hidden element with default value, when are trying to get data, you should get last data or null, nothing basically

cunning bridge
broken trail
# mystic heart Sorry I just saw this. It may be possible but I don't know how you would change ...

Hey! I figured it out without either collection_index override which isnt really possible and clip_children property. I started to mess around sliders and their values and finally created list of 2 elements, these elements are hotbar grids with 1-9 slots. I had problem with one thing, previously I used used #slot_selected to show first slot (1) and vice versa, juggling visible property around 2 buttons to show only 1 in HUD.

In video here I cannot just use #slot_selected for all 9 slots because it always returned 1. I had no ability to check if first slot is selected or not. Then sliders values comes, but also I crated data panel with bindings to check if each slot is selected:

if (slider_value = 0 and selected_slot = 0) = #is_slot0
repeat 9 times to get list of bidnings up to
if (slider_value = 8 and selected_slot = 8) = #is_slot8
then for first button, or just whole set of slots

            {
              "binding_type": "view",
              "source_property_name": "(not (#is_slot0 or #is_slot1 or #is_slot2 or #is_slot3 or #is_slot4 or #is_slot5 or #is_slot6 or #is_slot7 or #is_slot8)",
              "target_property_name": "#is_first_slot_visible"
            },
            {
              "binding_type": "view",
              "source_property_name": "#is_first_slot_visible",
              "target_property_name": "#visible"
            }

and this for second button, again whole set of second slots

          "bindings": [
            {
              "binding_type": "view",
              "source_control_name": "bb_mod_is_first_slot",
              "source_property_name": "(not #is_first_slot_visible)",
              "target_property_name": "#visible"
            }
          ]
#

These are basically final bindings for 2 lists but before these lists have same template for hotbars slots:

            {
              "@bb_hud_features.slot_swap_default_item_template": {
                "collection_index": 0,
                "bindings": [
                  {
                    "binding_type": "view",
                    "source_control_name": "$item_slider_control_name",
                    "source_property_name": "(#slider_value = 0)",
                    "target_property_name": "#visible"
                  }
                ]
              }
            },
            ...repeat until you reach collection_index: 8

where slot_swap_default_item_template is literally what you see on HUD and in general its in collection stack_panel

#

and as you can see first item swap button is always visible when you select slot that isnt value of first or second slider

opal aurora
#

hotbar quick switcher? hmm

#

while i can just collection_index = slider_value

broken trail
#

it does nothing or just throw errors

limpid quarry
#

Question, how does one make a chestformdata compatible with another chestformdata that are overwriting each other? I have been using herobrines chestform system (modified) but don't know why the ui will take the other addons resource design ui instead of the one I set it for..

broken trail
#

I added it right now to child and nothing

gentle orchid
#

Hey, dudes! Quick question: Is it possible to strictly kill a specific element when a condition is met? 🤔 (Imagine a situation where you trigger a preserved text title, then you can send other titles and it won't be removed, but once you run a specific string to kill, it removes it and you can run any other title and it won't reappear until you send the update string again)

opal aurora
opal aurora
broken trail
# opal aurora

uh this, just property yeah I know but with this I cannot change it by sliders, just in-game

#

then I tried override it with bindings, especially #collection_index because name makes sense

broken trail
opal aurora
# opal aurora

you can't override collection index through bindings, only by adding this

#

so what i did is collection_index = slider_value

broken trail
opal aurora
broken trail
#

with it? nothing, to use sliders I need bindings, collection_index cannot be overriden by bindings or even used here

#

so I done literally same logic without this property like on video above

#

and I can use sliders to control collection index, but under the hood, not really but final result is same

vale turtle
#

Hello i have a question for some reason my cape isnt showing? is there something i need to add or do to let the cape show? Im currently rendering paper_doll_renderer

unkempt steppe
#

is it possible to make a custom grid pattern like in the screenshot having only 3 slots at the bottom for example
i tried putting a separate hopper-like design at the bottom but the items are mirrored of the first 5 slots instead of having their own slots

blazing sonnet
#

Is there a way to modify the texture or, being more specific, the content of this box?

mystic heart
blazing sonnet
#

the content of the item's hover

mystic heart
blazing sonnet
#

No
I want to modify the purple box where the name and category of the item are located

mystic heart
blazing sonnet
#

it's not
the texture is called purpleBorder I think
but I want to modify what is inside it

do you know how?

#

Please open any way to display the item id aux in that box?

coarse torrent
#

is it possible to move a value of a property into a variable somehow?

blazing sonnet
#

I've looked for it and couldn't find it
The texture apparently is nowhere to be found.
I looked for it several times but I was not successful in finding it so I did not find the code.

#

I found that one too
The problem is that it only modifies the box when on mobile.
on pc it doesn't work

#

Yeah
only you can't place the item aux id
well anyway thank you

tropic badger
mystic heart
tropic badger
#

along with the image_cycler and label_cycler

mystic heart
tropic badger
mystic heart
torpid whale
#

whats the name for the loading screen in minecraft?

mortal monolith
#

progress_screen.json?

torpid whale
#

ima look

#

ya thats it ty

cobalt laurel
#

when switching items, this popup appears yeah?

#

is it possible to change the duration of how long it stays? (ping me when you reply)

cobalt laurel
#

how so? what am i looking for

distant gorge
#

wait

#

im in game

cobalt laurel
#

alright

weary wind
#

Could you help me?

cunning bridge
fathom mica
#

does anyone know how to fix this error? texture doesn't load and just shows missing texture

hexed briar
#

the game is unable to read the texture.

#

try to move or reinsert your texture.

fathom mica
fathom mica
limpid quarry
#

DOESN'T MATER WHAT TITLE I SPECIFY THE FORM ALWAYS CHANGES.... NOT SURE WHY

{
  "namespace": "server_form",


  "long_form": {
    "type": "panel",
    "size": ["100%", "100%"],
    "controls":[

      {

        "long_form@common_dialogs.main_panel_no_buttons": {
          "$title_panel": "common_dialogs.standard_title_label",
          "$title_size": [ "100% - 14px", 10 ],
          "size": [400, 200],
          "$text_name": "#title_text",
          "$title_text_binding_type": "none",
          "$child_control": "server_form.long_form_panel",
          "layer": 2,
          "bindings":[
            {
              "binding_name": "#title_text"
            },
            {
              "binding_type":"view",
              "source_property_name": "(#title_text = 'Custom Form')",
              "target_property_name": "#visibile"
            }
          ]
        }
      }
    ]
  }
}
#

Doesn't seem to matter what title text i put for the forms, it always modifies all of them... not sure why

#

i could name it john and it still would change the size to 400 which it shouldn't

#

the titel text doesn't seem to be linking

#

custom form gets modified

but john shouldn't get modified......

#

john should be normal

#

what?

i added for john

new json

{
  "namespace": "server_form",


  "long_form": {
    "type": "panel",
    "size": ["100%", "100%"],
    "controls":[

      {

        "long_form@common_dialogs.main_panel_no_buttons": {
          "$title_panel": "common_dialogs.standard_title_label",
          "$title_size": [ "100% - 14px", 10 ],
          "size": [400, 200],
          "$text_name": "#title_text",
          "$title_text_binding_type": "none",
          "$child_control": "server_form.long_form_panel",
          "layer": 2,
          "bindings":[
            {
              "binding_name": "#title_text"
            },
            {
              "binding_type":"view",
              "source_property_name": "(#title_text = 'Custom Form')",
              "target_property_name": "#visibile"
            }
          ]
        }
      },
      {

        "long_form@common_dialogs.main_panel_no_buttons": {
          "$title_panel": "common_dialogs.standard_title_label",
          "$title_size": [ "100% - 14px", 10 ],
          "size": [225, 200],
          "$text_name": "#title_text",
          "$title_text_binding_type": "none",
          "$child_control": "server_form.long_form_panel",
          "layer": 2,
          "bindings":[
            {
              "binding_name": "#title_text"
            },
            {
              "binding_type":"view",
              "source_property_name": "(#title_text = 'john')",
              "target_property_name": "#visibile"
            }
          ]
        }
      }
    ]
  }
}
#

why would it modify every form?

hexed briar
#

try to change the operator (#title_text = 'Custom Form') into something like this (not(#title_text - 'Custom Form') = #title_text)

limpid quarry
#

so its the logic/

#

ok ill try this

hexed briar
#

it should be able to fetch or detect correctly. since title does also have some § and couple of things so. having just equal to that string will definitely not work.

limpid quarry
#

oh really?

hexed briar
#

well they usually do have § so yeah

limpid quarry
#

so do i need to put that at the front then?

#

and then check by that name?

limpid quarry
#

the §john or §Custom Form

hexed briar
#

it's better than literally finding on which symbol will ever work

limpid quarry
#

oh lol, okay so use the not logic

hexed briar
#

this one will only detect the contained string so yeah, not the whole string

limpid quarry
#

awhhh ok ty that might work let me try!

#

rip

what did i do wrong?

{
  "namespace": "server_form",


  "long_form": {
    "type": "panel",
    "size": ["100%", "100%"],
    "controls":[

      {

        "long_form@common_dialogs.main_panel_no_buttons": {
          "$title_panel": "common_dialogs.standard_title_label",
          "$title_size": [ "100% - 14px", 10 ],
          "size": [400, 200],
          "$text_name": "#title_text",
          "$title_text_binding_type": "none",
          "$child_control": "server_form.long_form_panel",
          "layer": 2,
          "bindings":[
            {
              "binding_name": "#title_text"
            },
            {
              "binding_type":"view",
              "source_property_name": "(not(#title_text - 'Custom Form') = #title_text)",
              "target_property_name": "#visibile"
            }
          ]
        }
      },
      {

        "long_form@common_dialogs.main_panel_no_buttons": {
          "$title_panel": "common_dialogs.standard_title_label",
          "$title_size": [ "100% - 14px", 10 ],
          "size": [225, 200],
          "$text_name": "#title_text",
          "$title_text_binding_type": "none",
          "$child_control": "server_form.long_form_panel",
          "layer": 2,
          "bindings":[
            {
              "binding_name": "#title_text"
            },
            {
              "binding_type":"view",
              "source_property_name": "(not(#title_text - 'john') = #title_text)",
              "target_property_name": "#visibile"
            }
          ]
        }
      }
    ]
  }
}
hexed briar
#

it kinda worked

#

although you forgot the vanilla forms.

limpid quarry
#

oh?

hexed briar
#

you'd need something like ((#title_text - 'john' - 'Custom form') = #title_text) on the vanilla ones

#

which, it should hide the vanilla forms on which string you use.

limpid quarry
#

oh geeze

#

still confused

#

lol

hexed briar
#

kinda like — "Hello world" will display the custom form at the same time hide the vanilla form

#

you'll need those two check on vanilla and the custom form.

limpid quarry
#

hmm ok

hexed briar
#

vanilla form should not have not or custom form should have not in operator thing

#

etc

#

hard to explain but discord's search feature exists and there's ton of template everywhere you could look at.

limpid quarry
#

yeah, the issue is i was following dingsel tutorial and it wasn't working how he specified lol

#

did json ui update recently?

#

i know it doesn't get updated often

hexed briar
#

nope

limpid quarry
#

hmm ok

hexed briar
#

it doesn't since 1.18 or 1.19 i think

#

the last update is 3 new element types.

limpid quarry
#

8 months ago he made the video

#

oh ok

hexed briar
#

( which i don't think it'll be anything useful to you )

#

look at #1072983602821861426

#

you might find some server form's template and stuff you could look and trial-and-error with your custom forms

limpid quarry
#

hmm ok ty

#

json ui is the next beast to learn so im painfullly learning

hexed briar
#

if you done custom items, blocks or entity via .json before, it should be kinda understandable for you

limpid quarry
#

yeah

#

plenty, its just annoying about these linking

hexed briar
#

json-ui is just that.

limpid quarry
#

fair

#

alright

#

we can do this lol

hexed briar
#

it's kinda weird to read since it does like a file manager path stuff

limpid quarry
#

yeah

hexed briar
#

which, we call them elements

limpid quarry
#

ok

limpid quarry
#

working good now

limpid quarry
#

can someone help me with this error?


[UI][error]-UI Control: long_form | UI Control: long_form | UI Control: panel_indent | UI Control: inside_header_panel | UI Control: long_form_dynamic_buttons_panel | UI Control: custom_button | UI Control: form_button | UI Control: locked | UI Control: button_content | On Control Path: /third_party_server_screen/variables_button_mappings_and_controls/safezone_screen_matrix/inner_matrix/safezone_screen_panel/root_screen_panel/long_form/long_form/panel_indent/inside_header_panel/long_form_dynamic_buttons_panel/custom_button/form_button/locked/button_content/common_buttons.new_ui_binding_button_label | Data bindings must have at least one property to bind!
#

everything works...

#

just shows this binding error

#

thing

limpid quarry
#

where am i missing a binding name?

#

just that error, plus im not sure how to add padding, scrolling

limpid quarry
#

im just trying to actually learn this stuff rather then just take other code and throw it around, i want to understand why something throws an error, or this and that

west dawn
limpid quarry
#

legend! great series!

west dawn
#

thanks

limpid quarry
#

this is so cool

#

obviously not the setup itself but the backend function (how it works)

oak verge
limpid quarry
#

lol

oak verge
#

that the easy part lol

limpid quarry
#

oh reallly? lmao

#

dang ok

#

i just need to link the custom texture to the custom long form right

#

if i want different designs

oak verge
#

as i said
you just have to track what the form is calling and see if there any variable that is responsible for textures
if it is "$x|defult" you can just assign new path to it in your custom form
"$x": "texture/ui/..."

oak verge
#

can we rotate 3d_structure_renderer view

weary wind
slim forge
#

My aseprite anim is not working

#

"spark_test_bar_template": {
"type": "image",
"texture": "textures/ui/features/bar",
"anchor_from": "left_middle",
"anchor_to": "left_middle",
"size": [69, 28],
"uv_size": [69, 28],
"uv": "@flip_book_animation"
},

"flip_book_animation": {
"anim_type": "aseprite_flip_book",
"duration": 7,
"frame_count": 1,
"initial_uv": [0, 0]
},

tropic badger
#

@broken trail I saw your item counter on better bedrock discord using only JSON-UI so i remade it myself, no lags spikes(as you said at that server) at all and it's kinda cool.

#

You're probably using complex operations

#

Or just Better Bedrock UI, theres too much element in HUD

tropic badger
# cobalt laurel bump

Try this
ui_common.json:

{
  "anim_item_details_alpha": {
    "duration": 2 // Change this, its in second(s)
  }
}

If didn't work:
hud_screen.json:

{
  "item_name_text": {
    "$wait_duration": 3 // Change this, its in second(s)
  }
}
opal aurora
tropic badger
#

i mean i could try

mystic heart
cunning bridge
#

that element i am trying to display happened to be an entire encyclopedia

mystic heart
coarse torrent
#

is it possible to set the variables property to an array via bindings?

cunning bridge
cunning bridge
# mystic heart ah gotcha. yeah try to use `#title_text` and lemme know if it works
 {
                "info_screen": {
          "type": "stack_panel",
          "size": [400, 260],
          "collection_name": "skypedia",
          "property_bag": { "#stack_count": 1 },
          "factory":{
            "name": "skypedia_factory",
            "control_name": "server_form.skypedia"
          },
              "bindings": [
            {
              "binding_type": "view",
              "source_property_name": "((not((#title_text - '§qInformation') = #title_text) * 1) * 1)",
              "target_property_name": "#collection_length"
            }
          ]
                }
            }

Now this works, but it still lags all the other forms

coarse torrent
#

i know i meant something like
if(toggled)
variables: $myvars

but like in bindings logic

cunning bridge
#

am not sure if i understand

coarse torrent
#

yeah but i don't want to modify the visible prop, i want to modify the variables prop

cunning bridge
#

ah, got it, maybe, you can try that

#

but you know that toggles return booleans, not arrays

coarse torrent
#

yeah i know, that's why i'm asking if there's another way to do that

cunning bridge
#

i am not too familiar with the variables property, sorry

cunning bridge
coarse torrent
#

yeah seems so

cunning bridge
#

what are you trying to do with that?

#

i might have a workaround

coarse torrent
#

i want to increment a variable everytime a toggle is toggled

#

something like this
"abc":{
"$count": 0,
"$vars1":[
{
"requires": true,
"$count": "($count + 1)"
}
],
"bindings":[
{
"binding_type":"view",
"source_property_name":"((#toggle_state * 0) + $vars1)",
"target_property_name":"#variables"
}
]
}

#

obviously this doesn't work

tropic badger
cunning bridge
#

That took me so long 😦
#1214695629503209492 message

coarse torrent
#

thanks

mystic heart
cunning bridge
#

set what to 0?

mystic heart
#

the collection length

#

or ignored basically

cunning bridge
#

do i set manually and see?

mystic heart
#

you can try that yeah

cunning bridge
#

even tho the element doesn't show

mystic heart
cunning bridge
mystic heart
cunning bridge
#

you asked me if i am sure, and i answered certainly 🤷‍♂️

mystic heart
mystic heart
cunning bridge
#
{
              "binding_type": "view",
              "source_property_name": "(0)",
              // "source_property_name": "((not((#title_text - '§qInformation') = #title_text) * 1) * 1)",
              "target_property_name": "#collection_length"
            }```
mystic heart
cunning bridge
#
         "property_bag": {
            "#collection_length": 0
          }

it still lags

#
                "info_screen": {
          "type": "stack_panel",
          "size": [400, 260],
          "collection_name": "skypedia",
          "factory":{
            "name": "skypedia_factory",
            "control_name": "server_form.skypedia"
          },
          "property_bag": {
            "#collection_length": 0
          }
              // "bindings": [
        //     {
        //       "binding_type": "view",
        //       // "source_property_name": "((not((#title_text - '§qInformation') = #title_text) * 1) * 1)",
        //       "target_property_name": "#collection_length"
        //     }
        //   ]
                }
cunning bridge
vale turtle
#

Guys i have a question when i use live_player_renderer and add animation to it my cape doesnt show up anymore without animation it does show up

mystic heart
cunning bridge
#

i am starting to doubt that this method works in the first place...

mystic heart
weak lintel
#

just gotta make sure, does "max_children_size" in chat factory also check for elements that are not visible?
also how do i use chat factory even if the chat is disabled (i asked this one before but i didnt get a clear answer for it)

weak lintel
#

mfw

opal aurora
weak lintel
tropic badger
#

like no stacking

weak lintel
#

exactly what i needed

#

ty

coarse torrent
#

is there a way to detect hovering? like if some element is being hovered then some property is set to true

narrow fox
#

Why when I use

"font_type": "MinecraftTen",

and put \n for the text in the script the font is cancelled?

narrow fox
tropic badger
narrow fox
tropic badger
narrow fox
tropic badger
#

ye

narrow fox
tropic badger
#

haven't checked, i dont know

narrow fox
weak lintel
#

is item lore ui entirely hardcoded

#

the text you see when you hover your cursor on the item

hexed briar
#

it is hardcoded.

#

you could create your own one, although the issue with that is the element will probably shake around instead of following the cursor properly.

#

or reuse the item lore's element, also will resolve the shaking issues with the cost of translation strings not working.

#

it's just between pills.

weak lintel
#

well

#

ig removing the attack damage number is not very easy

hexed briar
#

yeah it won't. item lores are just one string with multiple strings attached.

weak lintel
#

only if they added translation key on attack damage
attribute.name.generic.attackDamage=Attack Damage

hexed briar
#

you could use split text on it maybe

#

or maybe clip children property just to hide them

weak lintel
#

sounds too janky

hexed briar
#

that's json-ui to you tbh

#

a wild west of literally nothing but trial and errors

weak lintel
#

wishing for data-driven vanilla items so that i dont have to touch json ui

hexed briar
#

also since the item lore is more of one string with multiple strings, you could in theory remove some specified strings.

although the lang aren't or may not work well

#

i haven't tested that, but there's some projects that ive currently working for uses translation string with condition rendering and it works flawlessly for some reason

#

Also, can't you just add your own item lore via script-api?

weak lintel
#

i can but

hexed briar
#

eh i guess that's kinda on mojang

weak lintel
#

i mean i can just do "but with this addon..." and then add new lines for damage and others

#

but i cant set lore for items thats not in players inventory

#

and it looks way too cheap tbh

hexed briar
#

the lack of data-driven item lore is astounding

coarse torrent
#

ok another question, is it possible that when a user hovers over a certain area, a toggle gets clicked or something , i'm not familiar with button mappings but could it be possible with that?

broken trail
#

then we can talk about performance, I also use method to completely remove it from screen and when I am clicking this button I literally see small lag spike when its enabled/disabled

broken trail
#

for me once I run give command every 1 tick, fps drops "a bit"

limpid quarry
#

Is animations based off an image, worh frames? Like if I wanted to scroll through items like a win daily thing, how do I animate that?

Anyone have example animations pack?

#

I've just finished all the form json ui tutorials by dingsel, and that was fun.

autumn talon
#

How can I change the background of the form?

{
  "namespace": "server_form",
  "$schema": "https://kalmemarq.github.io/Bugrock-JSON-UI-Schemas/ui.schema.json",
  "long_form@common_dialogs.main_panel_no_buttons": {
    "$title_panel": "common_dialogs.standard_title_label",
    "$title_size": [
      "100% - 14px",
      10
    ],
    "$text_name": "#title_text",
    "$title_text_binding_type": "none",
    "$child_control": "server_form.long_form_panel",
    "texture": "textures/ui/effect_background",
    "alpha": 0.7,
    "layer": 2
  }
}

i try use "bacground_color", but that not work

#

pls help me

cunning bridge
#

can we replace substrings with a text into images? like emojis ? i want to convert the text in the left to the one on the right.

#

like i want to replace "\n- " with "\n" and place an image on it.

cunning bridge
#

what is that?

weak lintel
#

its the emojis in minecraft

#

you might remember icons in minecraft encyclopedia

cunning bridge
#

yeah i know those

weak lintel
#

yep its those

cunning bridge
#

but the thing is i want the emoji length to be 0 and i want it offseted to the lefr

#

so the warping text doesn't fall backward

weak lintel
#

hmm

#

you could just add space on there

weak lintel
cunning bridge
#

i can't, i don't know when the text will warp

#

it's the body of a server form.

weak lintel
#

oof

weak lintel
#

oh

cunning bridge
#

the word is wrap not warp, my bad

tropic badger
#

you cant do #color

weary wind
#

Question in actionbar can you use bindings

cunning bridge
#
"$action_text": "$actionbar_text",
    "visible": "(not ($action_text - '§biome' = $action_text))"
chilly yacht
#

Well theres no actionbar binding its just a variable

weary wind
#

Hahhaa

hexed briar
#

Apparently server forms are really that hardcoded.

#

the factory element for both custom/long forms must contains server_form_factory as a element or it won't work, at all.

#

ive changed vanilla's server_form_factory into something else while keeping the whole element the same and yeah it doesn't work.

#

pretty strange considering you can do the same as several factories like actionbar or title and works perfectly fine

coarse torrent
#

Is it possible to get the head rotation of the paper_doll?

opal aurora
coarse torrent
#

How to do that?

#

@opal aurora

broken trail
#

then if 50% to orange, then 75% yellow, and above is green

broken trail
#

and then multiply this by 5

opal aurora
#

or any other numbers between -360 ~ 360

toxic comet
#

when is ore ui getting released?

left yew
toxic comet
#

this is insanity

#

how does one even work with json ui

#

who does that bro

left yew
weak lintel
tropic badger
#

theres no such word as "sane" working with json-ui

coarse torrent
#

json ui is like quanten physics, everything works until it doesn't and nobody knows why and there doesn't seem to be a pattern to anything unless there is

limpid quarry
#

anyone have a good example on how to make the image change on a button hover?

#

im currently working on a form button and want to learn to texture them

#

i see that its hover_control

#

in docs, but not sure if i just stick this in the controls inside the button

weak lintel
#

why on earth do yo uhave this image

limpid quarry
#
 {
            "my_offset_button@server_form.custom_button_stationary":{
              "$button_size": [138,138],
              "$icon_size": [64, 64],
              "$padding_size": [148,148],
              "collection_index" : 0
            }
        },
#

this right?

#

or is it hover_state

#

oh wait

#

i define hover_state first?

weak lintel
left yew
limpid quarry
#

nvm ill just learn off of an example lol

#

json ui doesn't have much chatting

limpid quarry
#

Yeah wasn't that hard after realizing what it took

#

So easy for hovering part

oak verge
#

hover control is for things like tips that appear when you hover over something
it is not for changing something

#

at least this is what i understood

weak lintel
#

can anims accept bindings

mystic heart
weak lintel
eager hazel
#

anyone know how i can fix the dropdown it's too high

#

i just don't know what to search for

weak lintel
#

how do i set duration value via numbers from chat text

#

the game hit me with "this aint no number"

hexed briar
#

can't do that

weak lintel
#

ooouuuugh

hexed briar
#

actually might be possible

weak lintel
#

ooooooh?

hexed briar
#

but the game said no anyways because of a hidden letter.

weak lintel
#

oooooough

#

does . also count as letter

hexed briar
#

yep.

weak lintel
#

_ _

hexed briar
#

the UI expecting numbers, not characters.

weak lintel
#

how do i send float numbers then

hexed briar
#

and it also kinda not json-ui fault since the game does use § and some hidden letter on the chat messages

hexed briar
weak lintel
#

i mean ofc

hexed briar
#

just use something like something:0010 as a string

weak lintel
#

hmmmm

hexed briar
#

it's the same trick as the bar.

#

json-ui will get rid of the front zeros and leave from 0025 to 25.

#

which you can use that for animations stuff.

weak lintel
#

and i divide that by 1000 in anims since i need float number

#

(otherwise i might end up with neverending animation)

hexed briar
#

duration uses kinda like a timer

#

you can also use 0.5 or something

weak lintel
#

yeah thats why

#

the anims last shorter than a second

#

well, most of the times

hexed briar
weak lintel
#

it shouldnt? wtf

#

wait wait wait

#

does .625 count as 0.625

hexed briar
#

No

weak lintel
#

phew

hexed briar
#

you'll need 0.625

#

but also couple of hardcoded property may not support that

#

or only support by one digit. (0.5 etc)

weak lintel
#

sounds painful

hexed briar
#

it was for good measure though.

#

since json-ui does not like that or often will lag sometimes

#

some properties do work with multiple digits, but kinda not recommended unless you're looking for a precise thing.

weak lintel
#

yeah i need precise stuff

#

if this fails i might have to resort to repeated chat texts (wtf)

weak lintel
#

apparently it still doesnt get the number even if its not a float???

opal aurora
weak lintel
#

its the opposite apparently

#

and literally

#

wrapping variables values with () just

#

textifies the entire thing

#

which was why it didnt see it as number

opal aurora
weak lintel
#

all set

#

i did get it to not spit out error logs before

#

but the duration still defaulted back to 1

opal aurora
#

variable values can be a float

weak lintel
#

does it also include strings

#

like "#text - 'string'"

opal aurora
weak lintel
opal aurora
#

i have a solution, but it's very complicated and heavy in performance

weak lintel
#

im doing only one ui element so

#

im interested

opal aurora
#

and that solution is what i did in my ui pack, with 2 decimal point percentage numbers

#

convert float numbers to integer (literally)

#

but it's not enough, the number is still float after multiplying by 10^x so i need to manually compare and increase another initial integer number by 10^x

weak lintel
weak lintel
#

still nothing

#

i feel like the variable in anims dont even accept the value at all???

#

when i send only the numbers to label text it doesnt display since its number

#

but

#

the duration wont change at all

hexed briar
#

should make your output shows up.

weak lintel
#

no i intended it

#

to check if the ui is seeing the value as string or number

hexed briar
#

eh idk it works for me though.

#

I've used that method to use some decrease animations on health bar.

weak lintel
#

ive made a different label for checking the value

hexed briar
#

though i realized that there's better way to do that so i ditched that

weak lintel
#

i still dont get why the anims dont want variables

#

like dude

#

eat it its not horrible

hexed briar
#

variables should work on it.

weak lintel
#

yeah

#

but it doesnt

hexed briar
#

it works on mine before and so does vanilla.

#

( yeah vanilla uses variables on anim for some reason )

#

i'd assume that you'll need to create a separate variables just like what you did on actionbar/title

#

mojang updated json-ui in some properties where a variable as operator may not work.

#

e.g

"$hello_var": "<operator>",
"duration": "$hello_var"```
weak lintel
#

yeah

#

wait

#

does puttng variable inside anim work

hexed briar
#

yes.

weak lintel
#

Bruh

#

I hate this game

hexed briar
#

though you can't do the same if you're using operator.

#

some properties now no longer likes it.

#

this was because well idk wtf are mojang doing with json-ui in 1.19.40

weak lintel
#

should i just use action bar

hexed briar
#

they broke literally nearly everyone's UI packs on that version

weak lintel
#

instead of chat

#

i mean i dont want to make vanilla action bar disappear

#

kinda want to keep anything intact

hexed briar
#

wait you're using chat message on animations?

weak lintel
#

yeah

hexed briar
#

well that kinda explains everything

weak lintel
#

everything works except for duration

#

does using chat make any difference

hexed briar
#

it needs to be reloaded.

#

though using chat is no guarantee to work unless doing complex operators

#

they just don't repeat on sending datas like actionbar/title

weak lintel
#

welp

#

Fuck

hexed briar
#

which im guessing that the animation loaded before the data taking place and it's only once.

#

therefore it can't really do anything since the anims was loaded and already expected it

#

so yeah i don't think doing variables with chat is a guarantee to work

weak lintel
#

title time then

opal aurora
fathom mica
#

How to reset the selected slot so that it is not selected?

hexed briar
#

works everytime, doesn't have to "trial and error" or guessing which operator does what

opal aurora
fathom mica
weak lintel
#

question by @last pollen: (he asked me to translate it)
is it possible to separate each participants inside scoreboard and put them into separate labels & panels?

broken trail
#

yes collection index

weak lintel
#

whats that

wide oasis
#

Can the death screen be modified?

last pollen
cunning bridge
#

i have recently made a modal form into this...

#

the more you do it, the more skills and tools you learn, there is always something new to learn to unlock new capabilities

final matrix
cunning bridge
#

what do you mean animation? you can scroll both pages, and the toggles are actually working.

harsh perch
cunning bridge
#

yeah, but what for?

cunning bridge
harsh perch
cunning bridge
harsh perch
plucky obsidian
eager hazel
#

dose anyone know how to remove the #'s on the objectives?

cunning bridge
#

i am not seeing any?

eager hazel
#

the numbers 1, 2, 3, 4

eager hazel
cunning bridge
#

can't you do it with the command?

#

/scoreboard objectives setdisplay

eager hazel
#

/scoreboard objectives setdisplay list <money> exc

cunning bridge
#

yeah so why not use the command i just sent to het rid of them?

cunning bridge
left yew
#

Dms @eager hazel

eager hazel
#

yea but i am asking if there is a way to remove the 1, 2, 3, 4 on the left ofd the objective

cunning bridge
#

oh... you are talking about the left side numbers

#

you can navigate the pause menu screen, find this element and get rid of it

cunning bridge
eager hazel
weak lintel
#

how can i use title factory without having vanilla title to overwrite on the factory-made elements

#

alternative question: how do i reset animation

cunning bridge
weak lintel
#

i currently have an element plugged into title factory

#

which is created and runs animation everytime the preserved title is triggered

#

but since its a title factory i cant figure out how to not make the element to disappear because of a vanilla title

cunning bridge
#

a new title will overwrite the previous one no matter what

#

the same with the action bar

weak lintel
#

and the alternative question was about resetting animation everytime the preserved title is triggered

#

without generating a new element from factory

cunning bridge
#

i don't know if changing the timing on an animation is possible, but why not generate a new title to reset it?

weak lintel
#

well the anims thats not in factory fires upon load

#

so

weak lintel
cunning bridge
weak lintel
#

yeppers

cunning bridge
#

well, the vanilla title will overwrite the custom title and the custom title will overwrite the vanilla title, so if you clock them both together, the result will be jittery, so the solution is to stick them both in one title

#

you could use the first 20 character or so to display your element and leave the rest for the vanilla title

weak lintel
#

sounds terrifying but ill try

weak lintel
#

STILL doesnt work

#

im having the same situation ive had with chat

weak lintel
#

even the title doesnt work

weak lintel
#

it does accept variables but it doesnt change the duration god damnit WHY

rare flame
#

can you explain what you're trying to do again? I tried following the stuff above and I think you're just trying to stop the actionbar from fading out? if so just do this:

#
"anim_actionbar_text_alpha_out": {
    "to": 1.0,
    "modifications": [
      {
        "array_name": "destroy_at_end",
        "operation": "remove",
        "where": [
          {
            "destroy_at_end": "hud_actionbar_text"
          }
        ]
      }
    ]
  },
 "anim_actionbar_text_background_alpha_out": {
    "to": 0.6,
    "modifications": [
      {
        "array_name": "destroy_at_end",
        "operation": "remove",
        "where": [
          {
            "destroy_at_end": "hud_actionbar_text"
          }
        ]
      }
    ]
  },
weak lintel
#

im trying to make it to have different clip anim duration

rare flame
#

how are you wanting it to look like?

#

longer duration?

#

that gray bar on gray sheep was hiding in plain sight lol

weak lintel
#

it should change depending on the item's attack speed

rare flame
#

i'll have a think on it while I do some dynamic text splitting tomorrow.

weak lintel
#

well the major issue here is that the anims wont reload

#

at all

#

its stuck at default value

cunning bridge
weak lintel
#

yeppers

cunning bridge
weak lintel
cunning bridge
#

you can replace the value of the duration with a variable yeah