Skip to content
NGSpace edited this page Apr 8, 2024 · 22 revisions

Welcome to the hudder wiki!

Here is a tutorial on how to make your own hud

Create a hud

Step 1 - you need to locate where you need to put your hud: you can do this simply by going to Hudder's options menu and clicking the text at the bottom of "general". After that your file explorer should open up with Hudder's config folder!

Step 2 - Now you need to create a file (or one that already exists [hud.json is a config file, don't modify it!]) and open it in your preferred editor (let's be honest it's prob notepad).

Step 3 - Open Hudder's options and make sure the "main file" option has your hud's file name written in it.

Step 4 - Write your hud!

Actually write the hud

Character escaping and Color Codes

Most of what you'll write will probably be normal text, variables, conditions etc. But in some cases you'll want to use reserved characters (';','%','#','&','{') as normal text (ie you want to use '%' without Hudder considering it a condition). In those cases you'll need to add a backslash before the character (ie '%').

Color codes work as minecraft intended.

Sections

You want to put text in the bottom right corner instead of top left? no problemo! use sections like ;bottomright; (note that only text after "that" is written will be affected)

you can skip to the "Inventory management and "methods"" section to learn more about sections

Basic variables (fps, memory usage etc)

Let's say you want to add some real basic stuff like an fps count and all that stuff, well it's pretty simple! all you need to do is write the name of the variable between curly brackets and Hudder will do the rest! (Ex. {fps}, {used_memory} etc.)

A full list of variables will be available soon!

Basic conditions

So you want that new fps meter to shine a certain color. want to know when you need to buy a new computer because the frame rate is lower by 1? use conditions! conditions are a bit more advanced than variables since they have a real structure and if it is not followed unexpected behavior can occur! Conditions are structured like this (Note there is no limit to the number of conditions I just put 2 cuz I am lazy, could be 1, 2, how many you possibly need):

%condition 1, "condition 1 is true", condition 2, "condition 2 is true", "neither condition is true"%

Want some examples? well here they are!

&%fps<30, "4", fps<60, "e", "a"%{fps} will show the fps meter in different colors depending if it's below 30 or 60 fps.

%ping>5, "{ping}", ""% will show your ping only if it is above 5!

%is_slime, "Slime chunk!"% will show "Slime chunk!" if you are standing inside a slime chunk.

Advanced Variables

Let's do this one quickly:

Setting custom variable values - {variable=10} will set {variable} to 10. {var=fps} will set var to your fps count.

Math - {math_result=fps+10+math_result} will do as you could've guessed. use * for multiplications, / for divisions and ^ for powers.

Inventory management and "methods"

you can use ;[method], and, it's, parameters; to call builtin methods. they are built similar to conditions except the parameters are not predefinied and can be variables (which can be changed as specified in the section above).

List of methods (not full list) (Note: [] parameters are required, <> parameters are optional): ;selectedslot, [x position on screen], [y position on screen], <scale>; ;helmet, [x position on screen], [y position on screen], <scale>; ;chestplate, [x position on screen], [y position on screen], <scale>; ;leggings, [x position on screen], [y position on screen], <scale>; ;boots, [x position on screen], [y position on screen], <scale>; ```;load, [hudder file];`

Advanced conditions and while loops

From this point you'll need a basic understanding of programming to understand me. You'll need to know what a tab character is.

Note that when I say indentation I am specifically talking about tabs, note that some editiors will automatically replace tabs with spaces so be sure to disable that!

You can use #if to do advanced if conditions (unlike "basic" conditions you can only have 1 condition without an else statement)

#if is multi-lined so big conditions are not just one line

#while is similar except it repeats until the condition is false

Here is a working example of both (Please do not use this):

#if fps<60
	{math=10+20}
	{crashmypc=true}
{xx=0}
{yy=0}
#while crashmypc
	#if yy>height
		{crashmypc=false}
	;hand, xx,yy,1;
	{xx=xx+16}
	#if xx>width
		{yy=yy+16}
		{xx=0}

Magnificent, isn't it? Looks like I peaked early when I came up with this piece of art.