Creating custom GUIs can be confusing at first, but it’s actually quite simple. Continue reading to see how!
Step 1: Create your GUI
For this example, we will be creating a GUI with a size of 9 (one row). You can find the base texture files for each GUI size through the button below. You can edit these base textures in any good image editing software.
Here’s a picture of the example GUI:
Step 2: Upload your design to your server and create glyph configuration
You can do this in any folder after the pack/textures directory. I decided to put mine in “pack/textures/interface/gui”.
Next, you’ll need to create the glyph configuration. Inside the “glyphs” folder, you can either add your configuration to an existing file or create a new one. I have created a file called “guis.yml” and added this code:
a_example_gui: texture: interface/gui/a_example_gui ascent: 13 # The ascent of the character, measured in pixels. This value adds a vertical shift to the displayed result. height: 256 # The height of the character, measured in pixels. Can be negative. See https://minecraft.fandom.com/wiki/Resource_Pack for more.
Note: The “ascent” is different for each GUI size. It should be within the range of 10-20
Step 3: Create the GUI Configuration
Now, you need to create the actual GUI. Unfortunately, this is not a feature in Oraxen, so you will need to use a separate plugin. I recommend DeluxeMenus, it is free and easy to use (other GUI plugin options: BetonQuest 2.0 / RPGMenu and many more).
Example config for a DeluxeMenus menu:
menu_title: '&f%oraxen_shift_8%%oraxen_a_example_gui%' # The shift character is used to correctly offset the GUI. See the FAQ for more information size: 9 items: green_slot_1: priority: 0 slot: 1 amount: 1 material: PAPER display_name: '&f' nbt_int: CustomModelData:312 green_slot_2: priority: 0 slot: 2 amount: 1 material: PAPER display_name: '&f' nbt_int: CustomModelData:312 green_slot_3: priority: 0 slot: 3 amount: 1 material: PAPER display_name: '&f' nbt_int: CustomModelData:312 close_menu: priority: 0 slot: 4 amount: 1 material: PAPER display_name: '&cClose Menu' nbt_int: CustomModelData:310 red_slot_1: priority: 0 slot: 5 amount: 1 material: PAPER display_name: '&f' nbt_int: CustomModelData:312 red_slot_2: priority: 0 slot: 6 amount: 1 material: PAPER display_name: '&f' nbt_int: CustomModelData:312 red_slot_3: priority: 0 slot: 7 amount: 1 material: PAPER display_name: '&f' nbt_int: CustomModelData:312
Once you’ve created the DeluxeMenus configuration, you’re done! Check out your newly-made GUI to ensure it looks good.
How do I create invisible items?
Invisible items are great for making clickable buttons. To create invisible items, you’ll need to make an item with a transparent texture. You can view my example configuration here:
invisible_item: displayname: "<white>" material: PAPER Pack: generate_model: true parent_model: item/generated textures: - item/invisible_texture
When I add a new item to Oraxen, the CustomModelData of others change!
You can give items a specific CustomModelData number by adding this line under the “Pack” section of your item configuration:
My GUI isn’t correctly aligned, what do I do?
There are two possible causes for this:
If your GUI isn’t aligned vertically, you need to change the ascent in the glyph configuration.
If your GUI isn’t aligned horizontally, you need to add a shift character in the DeluxeMenus configuration. You can find all the included shift characters in Oraxen’s shifts.yml file.
My GUI looks tinted, what’s wrong?
You need to use the white color code (&f) before the GUI title.