#JSON-UI General
1 messages · Page 26 of 1
what is jukeboxpopup?
how i can center text in disconnection menu? like the hive..
is there any way to do this in resources pack?
bros banned 😭 ?
yes
in disconnect_screen.json:
{
"disconnect_screen_text": {
"text_alignment": "center"
}
}
that screenshot, it's not completely aligned center
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
Srry for ping but how do u change the form texture (not buttons and icons) just the border
no..
Can you not modifiy your own elements?
thank you!
no, its from google
the border is not a texture
you can only change it color or remove it
Oh how i do that?
@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"}}
]
}}]
}
},```
Oh thanks but am using server form
it's server form
that don't include color changing
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```
no...
give me a sec
yeah I did not add the label
add the $custom_background
Oh and then i make an image element???
Ur doing it on "custom_long_form" and i on "long_form" doesnt matter??
that just a name
Oh ok ill try
Dudeee @final matrix @oak verge thanks guys
I do it
Thank u so much
ur wlc
anyone able to help? ^
"your own elements" mean?
I have an image element in one file that has controls, and I want to use that in a new element but also add another control
maybe modifications is the way
https://wiki.bedrock.dev/json-ui/json-ui-intro.html#modifications
yes this is what Im trying to do but Its saying its an unknown property
it should look something like this
just the panel you are editing
HEHEHEHA
so can it not be a image element?
i have no idea sorry
good job : )
is there a way to actually hide heart_renderer while keeping children elements
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
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
eh can't you just remove it and replace it your own stuff instead of relying the heart's element?
i want to make use of heart renderer's offset
so that i dont have to rewrite everything that has heart renderer
nah, textures alone cant prevent the hearts from skyrocketing
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
for that
i mean the game wouldnt yell at me for not having hardcoded stuff, right?
you can remove anything if you'd like.
as long the element that are referencing is either exist or removed all together
when i just rewrote the heart renderer's type it yelled at me for not having renderer
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
so i have to use modification to replace root_panel/heart_renderer with my stuff... or smth
it shouldn't throw any content errors.
the latter one is smth i cant do cuz it hides children elements too
but ty ill try smth
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.
yeah i know that, its just that i wanted to keep it very simple
can someone help me? #1279756411278196778
@mystic heart I saw you know some things :pp what do you think about?
yes and you cant do it directly, you need to do the scuffy way
nice is it like use button to increase and atk button to decrease the bar
yeah just as placeholder
nice
may i know what you gonna do with it? like you just gonna change a element collection_index?
yes just change collection_index
cuz overriding with #collection_index seems to doesnt work
this thing rather returns actual index of collection element
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
can we combine nine slice and aseprite animations?
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..
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
What are you trying to use this for exactly?
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
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?
why json ui? use camera feed color
because json ui is the ultimate life form
the " ultimate life form" is being replaced in some places
just wait for it 😉
camera feed color? sorry im new to this
"ore ui deprecated"
I saw origins by r4isen use json ui vignette for the origins so I'm tryna copy that
fade*
camera command have a color fade option
/camera <players> fade [time <fadeInSeconds> <holdSeconds> <fadeOutSeconds>] [color <red> <green> <blue>
ahhh I see thankyou
but is there a tutorial for triggering ui?
for example a reload bar after something has been used
no error but not showing the paperdoll

Anyone able to help? https://discord.com/channels/523663022053392405/1279732306881282088
#1279831471338688602
how do i do replace modification on heart renderer? apparently i cant use heart renderer as control name in root panel modification
@oak verge sorry if i ping you but can you help me?
wait
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.
split text to panels 🤡
jk i don't think that is possible
Terrible to hear that
nice
what did you change
Do you have any ideas in mind that would help me optimize this?
display most repeated color in the background
Is dynamic
so?
you can still do that
maybe make the map turn with the player z/x coord??
he is asking for a way to optimize performance
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
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
@jolly rock are you using text or images?
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
Text
one label?
Yea
Nice
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.
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
Yes. But if you make the pixels change one by one when moving it, it will make it look like the map is moving and not refreshing.
I'm not sure I understand you
I don't understand the pixel by pixel part
instead of updating the text each time
move the text and only update the new ones
mostly from the script side
When the player moves, the new pixels are modified and the entire map changes from top to bottom. So I mean it would be better if when the player moves, only the new pixels are updated, not even the unchanged pixels.
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
My legend
sorry for late response, @mystic heart explained it pretty well, but I added a few things from me
hmm I get what you mean about not wanting so many elements. Though I feel like there is probably an alternative way to set up your behavior and UI to avoid needing to do this. Do you mind if I ask what you're trying to do?
What's the name of the hidden variables stored in player data
Dynamic properties nvm
@undone marsh Have you experienced this? UI not closing even after closing pause screen?
As you can see i can now place blocks on the video but the dialog is still appears
well that make sense since the toggle from hud isnt pressed when u exit the pause screen using keybinds
you could try adding button mapping that listens to menu_close or menu_exit
and also make the hud always listen input
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
No.
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.
well your choice tbh
i was trying to use chat text since the titles can(cant?) overlap each other and ignore an element from updating sometimes
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.
thats prob a very no since i dont have a way to run dedicated servers
yeah i was using title before but this was the issue
it needed to be updated every tick
You can use preserve text for that
it doesn't replace the text unless you're using specific string to update it
also this does not work with animation element.
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?
not recommended.
what if the subtitle element was very related with the title element
idk can't you just use static text
like title being clock and subtitle being season
whars that
then use a split text as a value string
just "text": "hello world"
yeah
also language (.lang) works on it too
aswell \n etc
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)
pretty plausible. you can use chat text factory and then control each element with #text. One thing to take note of though is that #text is hardcoded in an odd way where it only works for elements that are children (or deeper children) of the factory element, otherwise the binding doesnt work. so i'd copy the vanilla layout first then modify yours from there.
Someone help me
what are you trying
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
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
Check your dm
I already solved it
I just want that not to appear haha
If it’s a text without a flag
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
It’s a different panel
pretty very plausible.
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?
has anyone ever in json ui made a 2d game fully json ui?
I made Cookie Clicker
But very unoptomized version
Also without upgrades obv
how doee it work
i have the controls now basically, are you seeing what i am seeing?
It probably uses actionbars + glyphs smh
Flappy bird?
yep
except you cant fall
the obstacles dont move
json ui is beautiful
Can't you make a continuous anim?
@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
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
got it
how do they read map tho
for loop over the area
getTopmostBlock
getMapColor
expensive
yep
Wow haven't visited this channel in a while
@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
yeah. too much new stuff
script api and now blocks and items
Def
Glad to see this chat with activity, I'm always amazed with what you guys cook and showcase at #1046947779118895114 lol
i am new here lol
not even a week playing with json ui
Eh still
anyone able to explain nineslice size?
I guess? Idk im struggling to understand how that file works and what it does with textures
you see a big panel when youre in a world loading screen right
yeah i figured that much
and nineslicing I mostly understand I just dont understand it in this format 😅
This helps out ty
ty
Save colors in dynamic properties?
@lament kraken
@jolly rock
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
no generate them and type them in script file
yo can use the log to output them
Prob cause you need to merge the server_form.json in both resource packs
Yoyoyo stop how do you manage to display the item name, please i need this
apparently string formatting doesnt like non-english texts
ended up having thousand lines in lang

yeah
for some reason when i string formatted non-alphabet texts i got from titles it just
broke
complex lol
What do you mean by log to output?
How?
wdym merge
how do i do that
Do you still have the example? I want to learn how you play animation on toggle on and off.
can someone explain the limitations of json ui to me?
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
is this for increasing a factory collection length?
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
tl;dr:
unrelated runInterval title triggers factory
oh wait
im so stupid why am i setting visible property in factory
this, in fact, was not the problem
me personally i would've used scoreboards for the top right thingy
so you dont overload the title
i couldnt find any good examples for it
so i just decided to use titles
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
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
mb 😦
I'm a bit confused by which part of the video refers to the collection indexes. The item in the top right showing the last item you held in the hotbar slot? So like setting the collection index of that element?
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
dude just use collection_panels
ig
basically what i would do is just have a toggle there that could increment a number
the logic at the end is literally same btw
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
are those cobblemon textures?
which file allows you to change the scoreboard sidebar to the left of your screen not right?
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.
owh yeah
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
Hello
if user would be able to click these buttons
How can I change the size of the text edit box?
How can I make the namespace accept long_form and custom_form together?
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.
if you do find a way to change the collection index bindings let me know. im very curious
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.
So
I needed something like this too
But what exactly is it doing?
It's setting the amount of elements in the factory to 0 or 1, so it's equivalent to the sense of ignored in the sense that it doesnt exist when the collection length is 0
So its only generating the ones that have a certain name
In that example yeah. But I was just helping someone set up an element for their project. The binding could be anything as long as it returns a boolean or int
this sounds...complicated, i might look into that
minecraft trailer?
It's not as bad as it sounds haha. Only annoying part is you might need to change some anchors and offsets for your panel after updating
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.
Do you mind helping me in a little?
sure
its like ignored property that actually doesnt render element, #visible was only hiding it and it was still in background
also once element is rendered animation of factory child always run
uh there is info already about this well
in general I don't think this is possible, there isnt any binding that could override it, execpt #collection_index which is read-only I guess
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
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.
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
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
used this before and can probably confirm that it does indeed improve quite alot of performance considering that it works familiarly with ignored property.
Also, this can also be used to reload element directly if you able to change it's element #collection_length such as toggle or something else. which, I've used that for some animations.
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.
Im talking about in general, like why would you things quite complex
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
it exists but doesnt work
binding_condition: always should work
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
what's wrong in this code? why does nothing appear?
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
huh, what is this for
hotbar quick switcher? hmm
while i can just collection_index = slider_value
yeah and after do you this, you realize that collection_index cannot really override anything and it's professionally I guess read-only
it does nothing or just throw errors
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..
I just checked it right now, because I might add bindings to stack panel instead of its child, but yeah
I added it right now to child and nothing
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)
yes, read-only, you still can override it with actual collection_index property, but not its bindings
how may I ask?
inside a collection item (could be from factory), add "collection_index" and a number
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
didnt work, so I done it like here
you can't override collection index through bindings, only by adding this
so what i did is collection_index = slider_value
uh just to slider value, nah slider wont work and that is exact opposite for what I am looking
i still don't know what are you doing with it
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
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
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
Is there a way to modify the texture or, being more specific, the content of this box?
How were you using #form_text before? That binding in particular has a lot of odd properties associated with it and requires it to be called from a factory initially with a hardcoded name in order to work. It might not work in a factory binding either, I never tested. I would recommend using #title_text. Much more consistent
the content of the item's hover
Yeah this is an unfortunate downside. The one time I used it large at scale I had a ton of renderers and it worked very well to increase performance on that.
No
I want to modify the purple box where the name and category of the item are located
Oh very nice. Glad you got it working! That's a cool setup
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?
is it possible to move a value of a property into a variable somehow?
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
There is actually an element for it called collection_panel, i mostly use it for smaller scale of elements
wth. when did they add this? or have i just missed it lol
They've added it i think on they released the other types of skins
along with the image_cycler and label_cycler
oh wow I guess I did miss it. So does it work like a normal panel in the sense it doesnt stack elements?
It works like a normal panel but with collection property which is really amazing
ah wow that's awesome. I've been wanting them to add that for a while now. Thanks for letting me know!
whats the name for the loading screen in minecraft?
progress_screen.json?
when switching items, this popup appears yeah?
is it possible to change the duration of how long it stays? (ping me when you reply)
yep possible
alright
do you have a working example i can run tests on? i have no idea on how to make it work right now.
does anyone know how to fix this error? texture doesn't load and just shows missing texture
ok
it works, thanks, I think it's because I copied the texture with the 'cut' option
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?
try to change the operator (#title_text = 'Custom Form') into something like this (not(#title_text - 'Custom Form') = #title_text)
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.
oh really?
well they usually do have § so yeah
eh, just switch into this one
the §john or §Custom Form
it's better than literally finding on which symbol will ever work
oh lol, okay so use the not logic
this one will only detect the contained string so yeah, not the whole string
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"
}
]
}
}
]
}
}
oh?
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.
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.
hmm ok
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.
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
nope
hmm ok
( 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
if you done custom items, blocks or entity via .json before, it should be kinda understandable for you
json-ui is just that.
it's kinda weird to read since it does like a file manager path stuff
yeah
which, we call them elements
ok
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
where am i missing a binding name?
just that error, plus im not sure how to add padding, scrolling
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
Its not a reall issue with your code but in the newer minecraft versions you get more json ui warnings.
The warning is because "$button_text": "" is empty. you can just fill anything in there as long as its something. I choose #null #1250944967950733483 message
ohhhhh ok ty
legend! great series!
thanks
fixed the error! at least i know now
this is so cool
obviously not the setup itself but the backend function (how it works)
me jumping from file to file to track a variable
now do textures 👀
that the easy part lol
oh reallly? lmao
dang ok
i just need to link the custom texture to the custom long form right
if i want different designs
this code have some comments that can help
#1280301965271896124 message
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/..."
thats very helpful ty
…
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]
},
@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
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)
}
}
both aren't working
did you tried with repeating /give command blocks?
is that will change anything?
i mean i could try
Sorry for late response I was out earlier. Have you tried the example you posted with #title_text replacing form text, then using the title of the form? Or what's your current code that isn't working? I don't have any great examples other than the one I sent bc they my setups are pretty generalized/templated
ok, i will try to use title_text, what i am trying to do is simple, if there is a certain tag in the body (or title), hide the form and display an element
that element i am trying to display happened to be an entire encyclopedia
ah gotcha. yeah try to use #title_text and lemme know if it works
is it possible to set the variables property to an array via bindings?
you can save arrays in variables, but you can't use variables inside arrays
{
"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
i know i meant something like
if(toggled)
variables: $myvars
but like in bindings logic
do you mean something like this?
am not sure if i understand
yeah but i don't want to modify the visible prop, i want to modify the variables prop
ah, got it, maybe, you can try that
but you know that toggles return booleans, not arrays
yeah i know, that's why i'm asking if there's another way to do that
i am not too familiar with the variables property, sorry
i don't think it's possible to set any property values of the type array, like color, size, and offset, so i would assume the same applies to the variables property.
yeah seems so
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
@opal aurora
i have seen someone do this with factories, let me find the message
That took me so long 😦
#1214695629503209492 message
thanks
it still lags all the other forms when its set to 0?
set what to 0?
do i set manually and see?
you can try that yeah
it still lags everything
even tho the element doesn't show
are you sure it isn't your other forms that are also lagging? you may need to apply this factory method to them as well
certainly, i have an empy form that loads instantly, but takes 2 seconds to load when i activate the form i am working on
wait I'm confused. Certainly it is your other forms as well, or not?
certainly it's not the other forms that cause the lag
you asked me if i am sure, and i answered certainly 🤷♂️
if you remove your form completely, the one you added the stack panel factory for, does it still lag?
no
which is confusing me
how did u set the collection length manually?
{
"binding_type": "view",
"source_property_name": "(0)",
// "source_property_name": "((not((#title_text - '§qInformation') = #title_text) * 1) * 1)",
"target_property_name": "#collection_length"
}```
it won't work like that. you need to set a property bag binding value to 0 and ujse that in place
"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"
// }
// ]
}
that's weird, i set it to 1 and got the same results as 0
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
Hmm try setting a custom binding to 0 and then using it in source_property to set the collection length. That is strange though
it still lags
i am starting to doubt that this method works in the first place...
I haven't used anything with it in a while but it was definitely working for me last time I used it
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)
No to both questions
mfw
same performance as mine, lags when in inventory
?
weird question but what happens if i use panel instead of stack panel for chat factory
nothing, other than the fact it would act as a panel
like no stacking
is there a way to detect hovering? like if some element is being hovered then some property is set to true
Why when I use
"font_type": "MinecraftTen",
and put \n for the text in the script the font is cancelled?
yes
What do you mean by "yes"?
It's a question. I want to know why.
font can't break the line so they break the font instead
Oh. Anyway. In font_size is there a value between "small" and "normal"?
Or is there only small, normal and big?
use "font_scale_factor" for more precise sizing
Does it work with numbers?
ye
How much is the size between small and normal?
haven't checked, i dont know
Ok
is item lore ui entirely hardcoded
the text you see when you hover your cursor on the item
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.
yeah it won't. item lores are just one string with multiple strings attached.
only if they added translation key on attack damage
attribute.name.generic.attackDamage=Attack Damage

you could use split text on it maybe
or maybe clip children property just to hide them
sounds too janky
all of those just to change axe damage and add a new line
wishing for data-driven vanilla items so that i dont have to touch json ui
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?
i can but
eh i guess that's kinda on mojang

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
the lack of data-driven item lore is astounding
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?
multiply this for 4 items, add color indicators as option - text is color when 1/4 red 2/4 orange 3/4 yellow 4/4 green also for each text and additionaly I use it to calculate how many slots are left with same color option so in general multiple it 5 times
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
yeah
for me once I run give command every 1 tick, fps drops "a bit"
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.
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
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.
why not just use glyphs?
what is that?
yeah i know those
yep its those
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
i cant really imagine tbis in my head but most of the texts can be adjusted with spaces
oof
the word is wrap not warp, my bad
what do you mean on color indicators?
you cant do #color
Question in actionbar can you use bindings
i think you use visible
"$action_text": "$actionbar_text",
"visible": "(not ($action_text - '§biome' = $action_text))"
No
Well theres no actionbar binding its just a variable
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
Is it possible to get the head rotation of the paper_doll?
no, only entire paper doll
if value is 25% of max like there are 12 totems in inventory its 25% of max slots that are 36, so I change text color to green
then if 50% to orange, then 75% yellow, and above is green
yeah, then think how I done it
and then multiply this by 5
"camera_tilt_degrees": -10,
"starting_rotation": 30,
or any other numbers between -360 ~ 360
when is ore ui getting released?
no eta
with insanity
theres no such word as "sane" working with json-ui
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
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
citicx
why on earth do yo uhave this image
{
"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?

lol
you should look into changing button texture on hover not image
button texture is not an element
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
can anims accept bindings
I would recommend looking at the vanilla button templates UI and seeing how they are setup. Most templates have a variable
$hover_button_texture which you can set to change the hover image.
nvm
anyone know how i can fix the dropdown it's too high
i just don't know what to search for
how do i set duration value via numbers from chat text
the game hit me with "this aint no number"
can't do that
ooouuuugh
actually might be possible
ooooooh?
but the game said no anyways because of a hidden letter.
yep.
_ _
the UI expecting numbers, not characters.
how do i send float numbers then
and it also kinda not json-ui fault since the game does use § and some hidden letter on the chat messages
math.
just use something like something:0010 as a string
hmmmm
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.
and i divide that by 1000 in anims since i need float number
(otherwise i might end up with neverending animation)
nevermind no and it shouldn't be.
No
phew
you'll need 0.625
but also couple of hardcoded property may not support that
or only support by one digit. (0.5 etc)
sounds painful
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.
yeah i need precise stuff
if this fails i might have to resort to repeated chat texts (wtf)
apparently it still doesnt get the number even if its not a float???
it does, but you can't print them on screen as text normally
its the opposite apparently
and literally
wrapping variables values with () just
textifies the entire thing
which was why it didnt see it as number
check if variable values are present, and valid formulas
all set
i did get it to not spit out error logs before
but the duration still defaulted back to 1
try not to have numbers in the formulas, only variables
variable values can be a float
like:
"$a": 0.2,
"$b": 0.5,
"$formula": "($a + $b)"

float numbers won't be shown as texts
i have a solution, but it's very complicated and heavy in performance
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

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
you can add §f at the front of the number if you're debugging.
should make your output shows up.
eh idk it works for me though.
I've used that method to use some decrease animations on health bar.
ive made a different label for checking the value
though i realized that there's better way to do that so i ditched that
i still dont get why the anims dont want variables
like dude
eat it its not horrible
variables should work on it.
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"```
thats what i also tried
yeah
wait
does puttng variable inside anim work
yes.
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
should i just use action bar
they broke literally nearly everyone's UI packs on that version
instead of chat
i mean i dont want to make vanilla action bar disappear
kinda want to keep anything intact
wait you're using chat message on animations?
yeah
well that kinda explains everything
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
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
title time then
you can't do that on float numbers
How to reset the selected slot so that it is not selected?
deselected like this
wdym "you can't do that" when i just did it daily as debugging to see float numbers on the label, then when the time comes to use it i'd just remove that symbol and it works flawlessly.
works everytime, doesn't have to "trial and error" or guessing which operator does what
just select another slot
That's not what it means, when in normal mode and selected item then move to drop mode, the item slot cannot be pressed
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?
yes collection index
Can the death screen be modified?
Can you explain it in detail?
me
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
yes
what do you mean animation? you can scroll both pages, and the toggles are actually working.
Ooh what does Totem of Unfalling do
yeah, but what for?
it's in the name
Prevent you from falling?
in the void yeah
Ah alr
Yes
Using death_screen.json
the numbers 1, 2, 3, 4
it's on the player list as an objective list
/scoreboard objectives setdisplay list <money> exc
yeah so why not use the command i just sent to het rid of them?
this command is what makes them appear
Dms @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
oh... you are talking about the left side numbers
you can navigate the pause menu screen, find this element and get rid of it
i think it's this element in scoreboard.json line 450
i figured it out thanks for the help
how can i use title factory without having vanilla title to overwrite on the factory-made elements
alternative question: how do i reset animation
i don't understand your question
so to be more specific
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
a new title will overwrite the previous one no matter what
the same with the action bar
and the alternative question was about resetting animation everytime the preserved title is triggered
without generating a new element from factory
i don't know if changing the timing on an animation is possible, but why not generate a new title to reset it?
if you meant 'generate' as in factory, that is why
- i want to keep vanilla title too
ah i get it, so you want to display an element on the hud while keeping the title intact?
yeppers
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
sounds terrifying but ill try
it does accept variables but it doesnt change the duration god damnit WHY
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"
}
]
}
]
},
you see a little bar below the crosshair, right?
im trying to make it to have different clip anim duration
ah i see it now
how are you wanting it to look like?
longer duration?
that gray bar on gray sheep was hiding in plain sight lol
dynamic one
it should change depending on the item's attack speed
i'll have a think on it while I do some dynamic text splitting tomorrow.
well the major issue here is that the anims wont reload
at all
its stuck at default value
so your title is that little gray bar below the cross hair? and you want to change it's anim duration depending the attack speed of your weapon
yeppers
have you tried binding a preserved text to the duration?
you can do that?
you can replace the value of the duration with a variable yeah




