FancyMenu v2.0.X

Documentation for FancyMenu v2.0.X.

2.0.X | Getting Started

Getting started

First things first, thank you for trying out FancyMenu!

General

General

2.0.X | FAQ

About

Here you can find frequently asked questions about FancyMenu.
Please read this before asking anything.

Frequently Asked Questions

What is FancyMenu?

FancyMenu is a Minecraft mod to customize the look and feel of menus in the game, like adding new elements to menus and edit existing elements like buttons.

How to get rid of the customization buttons at the top of menus?

You can toggle its visibility by pressing CTRL + ALT + C (by default; changeable in MC settings) or by disabling them in the mod settings.

How can I customize menus?

If you're new to FancyMenu, please take a look at the wiki.
It will help you to understand how FancyMenu works and how to make your menus awesome!

What does term X mean?

If you don't know what's the meaning of one of FancyMenu's special terms, you can check out the FancyMenu Slang page.

Can I use FancyMenu in my modpack?

Yes! You can freely use FancyMenu without any special requirements!

Why is my audio not working?

There are 4 things that could cause your audio to not play correctly in FancyMenu.

1. The audio is not compatible with FancyMenu.
Please be sure that your audio:

You can easily (re)convert your audio to the correct bit and sample rate by using this website.

2. Your volume is too low.
Maybe your MC master volume is too low for you to hear the audio.

3. One of your other mods is incompatible with FancyMenu and causes audio issues.
In that case, please open a GitHub issue.

4. A world is loaded (you're in-game) while trying to play menu audios.
By default, FancyMenu doesn't play menu background audios while in a world.
That's because world background music could overlap with your menu audios when both are being played.
To change this, just enable Custom Sounds In World in the FancyMenu settings.

Resizing the Minecraft window or changing the scale destroys my layout, what can I do?

You're probably using wrong orientations for your elements. Always use the same orientation for elements that should "move together" and should keep the same space between each other.

So if you want to, let's say, have all buttons centered in the middle of the screen with always the same space between each other, the best orientation for all of these buttons would be the "mid-centered" orientation. (All buttons need to have this orientation!)

What's a good place to ask for help about FancyMenu?

I'm very active in discord and will give my best to help you with your problem!

Menus of another mod are acting weird with FancyMenu installed, what can I do?

This means, the other mod is not fully compatible with FancyMenu.
In this case, please disable customizations for this menu.

The mod is crashing my game! What's wrong?

I'm sorry to hear that! I always try to make FancyMenu as stable as possible, but if you encounter an error or crash, please open a bug report ticket with detailed informations about what happened and I will give my best to help you and fix the bug!

I have a nice idea, how can I suggest it to you?

That's great! If you have an idea for FancyMenu, please open a feature request!

Where can I share my cool menu with the community?

You can share your creations in r/fancymenu or via discord!

Will you backport the mod to MC version X?

It's possible that I backport FancyMenu to more older versions in the future, but asking me will not make the porting-process any faster.
You will know it when you see the download on the CurseForge page.

Why isn’t it possible to remove the mojang copyright text in the main menu?

I will not touch copyright notices for obvious reasons.

You can change its position via the FancyMenu settings, but it's not possible to remove it.

The menu I want to edit doesn’t show my customizations, what’s wrong?

If customizations or config options does not affect a menu, it is possible that a mod is overriding the specific menu, which could make it incompatible with FancyMenu. In that case, check the menu identifier of the menu (you can find it by clicking on the "Menu Info" button) and open a bug report ticket with your problem. Please include the menu identifier in your report. Thank you!

Where can I check if my other mods are compatible with FancyMenu?

There is a list of incompatible mods in the wiki you can check out!
Of course, this list is not completed, but it's a good start to find why something is not working as expected!

Why can't I customize buttons of Optifine menus?

Optifine menus are not fully supported by FancyMenu. You can use all customization actions on these menus, but button modifications are disabled because this would break the menu's functionality.

This also includes the video settings menu when Optifine is installed, because Optifine overrides this menu.

General

2.0.X | FancyMenu Settings

About

FancyMenu's settings are filled with various options to customize the behaviour of the mod itself, but it also has special options for specific menus like the main menu, which aren't possible with the normal customization system.

Edit the Settings

That's kind of an easy task. You can edit FancyMenu's settings directly in Minecraft by clicking on the little FancyMenu (FM) logo in the Customization Helper menu bar or the Layout Editor menu bar.
It's the first item in both menu bars.

FM_settings

Where to find the Settings/Config File

In case you want to manually edit the config file, it is located at .minecraft/config/fancymenu/config.txt.

If you don't know how to find the .minecraft folder, please take a look at this Minecraft wiki page.

General

2.0.X | Incompatibility List

List of Incompatible Mods

The following mods are known as incompatible with FancyMenu.

If you’ve found an incompatible mod which isn’t already in the list, please report it to me.

[FORGE] Incompatible Mods:

[FABRIC] Incompatible Mods:

General

2.0.X | FancyMenu Slang

About

This page explains some of the commonly used special terms of FancyMenu.

Terms and its Meanings

Layout

Layouts are (mostly bundled) customizations you apply to a menu screen. For example, when you move a button, add an image and save these customizations, they will be saved to a layout.

Layout File

Layout files are files that contain all important informations for a layout. These files will be automatically generated by the Layout Editor.

Layout Editor

The Layout Editor is a fully functional GUI to create and edit your Minecraft menus. No special knowledge is needed, you can think about it like a Paint for Minecraft menus.

Customization Actions

Customization actions are basically all customizations you can use to modify a menu.
For example, when you move a button, you're using the movebutton customization action.
You will not really notice this, because the Layout Editor is handling all actions for you, but trust me, they are there!

Button Actions

Button actions are used to specify what a custom button should do when clicking it.

Menu Identifier

FancyMenu identifies menus by its "menu identifier". These identifiers are unique, a menu will never have the same identifier as another one. Menu identifiers are generated by FancyMenu using the internal paths and names of menus.
That's why they can be different for different versions of Minecraft and mods, because these internal names getting changed from time to time.
For example, most of the menu identifiers for MC 1.12 are different to the menu identifiers in MC 1.13+.

You can get the menu identifier for a menu by using the Menu Info tool in the Customization Helper.

Customization

Customization

2.0.X | Customization Helper

About

Maybe you've already discovered the weird menu bar in all your Minecraft GUIs.
This is the Customization Helper. It contains everything you need to customize your menus.

Most of the tabs in this bar are focussing on the current menu you see.
You can create layouts for the current menu there, get informations about the menu and more, but the Customization Helper also contains some stuff that's not related to the current menu, like creating and managing custom GUIs.

1

The Reload Button

The little curved/spinning arrow button on the right side is the reload button.

reload

This button reloads much things that FancyMenu caches, like layout files, the mod settings, panoramas, slideshows and button scripts.

It does not apply changes made to animations.
You need to restart your game after changing or creating animations.

Customizing Menus

The Current Menu tab contains stuff to customize the menu you see.

current-menu

Customization On/Off

The first option in this tab toggles the customization system for the current menu (not for all menus).
By default, the customization system is disabled for all menus and will not show any layouts and customizations you apply to a menu.

To change this, simply switch this option to On by leftclicking it.

customization-on-off

Layouts

This option allows you to create and manage layouts for the current menu.
With layouts, you can completely customize the look and feel of menus.

layouts

Advanced

The last option in this tab contains things for advanced users.
You can override the current menu with one of your custom GUIs here.

OVERRIDING A MENU IS NOT RECOMMENDED AND SHOULD ONLY BE DONE IF YOU CAN'T EDIT IT USING A LAYOUT!

advanced

Managing Custom GUIs

The Custom GUIs tab contains everything you need to create and manage your custom GUIs.

custom-guis

Well, there's not really much to say about this tab.
You can open custom GUIs with custom buttons. This is the recommended way to use them.
Please be careful when overriding a menu with a custom GUI. This should only be done when you really can't edit the menu using a layout.

Get Informations about Menus

The Tools tab contains useful tools to get informations about the current menu.

tools

Menu Info

This feature will show you the menu identifier for the current menu in the upper-left corner.
This identifier is important when you want to open a menu by using a custom button and other things.

menu-info

NOTE: You can leftclick the menu identifier to copy it to your clipboard.

Button Info

This one, when activated by clicking on it, will show you informations about a vanilla button, when you hover over it. (Doesn't work for custom buttons)

button-info

It's basically a debug tools to check things like the button size and positon without needing to open the Layout Editor.

Other Useful Stuff

The Miscellaneous tab contains everything that doesn't really fit in a category. For now, you can force-close menus with it and open "dead" instances of some menus that you normally can't customize, because they disappear to fast, like the world loading screen.

misc

NOTE: This tab maybe looks different for you, because it doesn't have the same content in all MC versions.

Customization

2.0.X | Layout Editor

About

The Layout Editor is a fully functional GUI editor, modded into Minecraft, allowing you to edit menu screens like you would edit an image in the image editor of your choice.

It imitates its big editor siblings in many ways like shortcuts and menu design.

1

Where to find the Editor

You can find the Layout Editor in the Customization Helper menu bar.

Using the Editor

Using the Layout Editor is just as simple as using Paint!

When you open the editor, you will see a menu containing (mostly) all buttons from the menu you want to edit, but don't worry, they're not real buttons, you can't accidentally click them and open another menu or something.

The Menu Bar

One of the most important menus in the Layout Editor is the menu bar at the top.

2

Layout

The Layout tab contains everything related to the current layout.
You can edit its properties, like changing the menu background or the GUI scale, and save it.
It can also be used to quickly switch between layouts without going back to the parent menu.

layout

Edit

The Edit tab contains basic actions to manage your layout, like copy/paste elements or undo/redo actions!

edit

Element

The Element tab contains everything related to what your layout contains - the layout elements.
You can add new elements to your layout here and manage audio elements and deleted vanilla buttons.

element

Layout Properties

You can find the layout properties by clicking on Layout -> Properties in the menu bar or by rightclicking the blank editor background.

This will open a context menu with settings to:

background_rightclick

Element Properties

Every element in your layout has its own properties. You can access these properties by rightclicking the element.
Not all types of elements have the same properties.

element_properties

Understanding Element Orientations

Every element in your layout has an orientation.
By default, this is always the top-left orientation for all elements you've added to a layout and always the original orientation for vanilla (and mod) buttons that were already part of the menu.

You can change the orientation of an element by rightclicking it and clicking on Set Orientation.

set_orientation

Your element will then be moved to the origin point of your choosen orientation, which shows you from where the element's position will be calculated.
It depends on its orientation how an element will act when resizing the window. You can easily test this by resizing the editor window.

If your element should always be near the bottom-right area of the menu, you should choose the bottom-right orientation for it.
If it should be centered in the middle of the screen, try the mid-centered orientation.

The best way to understand the real behavior of orientations is by trying out different orientations for elements and resize the window.

Handling Stacked Elements

Sometimes, multiple elements will be on the same position, making it impossible to reach the one at the bottom.

Every element in the editor has its own "height level", let's call it "layer".
You will not really recognize this until you need it.

By rightclicking an element stack and clicking on the Choose Layer button, you will be able to choose between every element at the position of your mouse.

layers

Shortcuts

The Layout Editor has some very useful and well known shortcuts to quickly navigate through it.

CTRL + Z

This shortcut will undo the last thing you've changed in the layout.

CTRL + Y

This shortcut will redo the last step if you've previously used the CTRL + ALT + Z shortcut.

CTRL + S

This one will save your layout.

CTRL + C

Pressing this shortcut will copy the selected elements.

CTRL + V

This shortcut will paste copied elements to the layout. This can also be used to copy elements to a new layout.

DEL

When an object is focused, you can press DEL to quickly delete the object.

Arrow Keys

You can move focused objects by using the arrow keys.

SHIFT-Click

When pressing SHIFT while resizing an object, it will be resized by its aspect ratio.

CTRL-Click on Elements

Pressing CTRL while clicking on elements will allow you to select multiple elements at once (group select), to move them all together by using the arrow keys or changing their properties by rightclicking them.

Customization

2.0.X | Animations

About

You can make your own animations and display them as menu backgrounds or gif-like animations in menus.

Just think about all the memes you can put in menus with this!

Getting started

NOTE: If you're on Windows, don't forget to turn on file extensions!

Every animation has to be in its own folder inside the animations directory located at .minecraft/config/fancymenu/animations/.

1

To make an animation getting recognized as this by the system, it needs to have a properties file located in its home directory. So if you've named your animation folder "myanimation" (this is your animation home directory), the properties file should be located at .minecraft/config/fancymenu/animations/myanimation/properties.txt.
This file always needs to be named properties.txt!
For now, only create the blank properties file and move on to the next step. We will fill the file with content later.

2

The actual animation part comes now. There are two ways to get FancyMenu to play your animation.

First Way: Using Individual Frame Images

You can feed FancyMenu with frame images, which means you split your animation to its individual frames, so you have every frame of the animation as individual image.

All frames of your animation have to be in a folder named animation inside the home directory of your animation (same directory as where the properties.txt file is located at).

3

These frame images always need to be named like 1.png, 2.png, 3.png and so on, using only numbers as names without any letters, to get displayed in the correct order.

4

Valid file types for frame images are PNG and JPEG/JPG.

Second Way: Using GIFs

NOTE: The animation loading time of GIFs is higher than for separated frames!
It's not recommended to load big GIF files as animations.

The faster way to setup animations is by using GIF files. Of course this will be the faster way, but it will probably result in a much higher quality loss too, because GIFs are known for its limited color support and pixel artifacts.

To use a GIF as your animation, just do the same as when creating animations with individual frames, but instead of creating an animation folder, you just name your GIF file animation.gif and put it to the home directory of your animation (same directory as where the properties.txt file is located at).

5

Animation Intros

NOTE: This is an optional step and not needed for the animation to work.

If you want to add some "intro" frames to your animation, which will be played before the actual main animation starts, you can do it like you did it with the main animation above.
Intros only play one single time at the beginning of an animation. They will not be repeated, even if the animation is in loop mode.
You can replay the intro everytime the animation gets reloaded (when the animation gets displayed), by adding replayintro = true to your animation properties file. Otherwise, it will only play the very first time.

Using Individual Frames

Just create a folder in the home directory of your animation, name it intro and put all your intro frames in it (exactly like how you've put your frame images in the animation folder).

Using a GIF

Same as with individual frames, but instead of creating an intro folder, name your intro GIF file intro.gif and put it to the home directory of your animation.

Adding Audio

NOTE: This is an optional step and not needed for the animation to work.

You don't just want a boring animation? Fine! How about adding some audio to it? If you want to have audio files played along with your animation, just create an audio folder in the home directory of your animation and put your WAV sound files in it! The audio file for the main animation have to be named mainaudio.wav and the audio for the intro introaudio.wav. Always keep in mind that only WAV files are supported.

6

Animation audio files will repeat at the same point your animation get repeated (if the animation is in loop mode). This means, your audio will stop and start again from the beginning when your animation ends. You should only use animation audios for simple sounds like rain, fire and so on. Simple ambient sounds. It is not recommended to use animation audios as background music for menus. You should better add the audio directly to your menu then.

Setting up the animation

After you've prepared your animation folder with a properties.txt file and all your animation frames or your animation GIFs, you're almost done, but you still have to fill your blank properties.txt file with some important stuff.

The basic layout of every animation properties file should be:

name = friendly_mushroom
loop = true
fps = 24
width = 1920
height = 1080
x = 0
y = 0
replayintro = true

All available animation variables are used in the example above.

name

The most important variable of this file is the name variable.
This is the unique name of your animation. The system needs this to identify your animation.
The animation name needs to be unique. It is not possible to name two animations the same.

loop

The loop variable is used to specify if the animation is looped like a usual GIF or just plays one time and stops at the last frame.
If loop is set to false, the last frame of the animation is displayed permanently after it finished playing.

fps

The fps variable defines the "frames per second" of your animation. This means, how much of your animation frames will be played in one second. A smaller number will slow down your animation, a bigger one will speed it up. You should always try to set the correct FPS value for your animation, otherwise it will either play too fast or too slowly.

NOTE: Setting the FPS variable for a GIF animation will do nothing. FancyManu will always use the GIF's original FPS.

replayintro

replayintro is used to determine if the animation should replay its intro everytime it gets loaded (along with a menu) or if it should only play one time and then never again.

Other

Other variables like width or height are pretty much self-explaining, so I save you some time and will not write about every single one in detail.

Using the animation

If you're done with preparing and setting-up your animation, you can use it in the Layout Editor as element and menu background!

NOTE: Don't forget to restart your game after you've edited an animation or added a new one, because animations are only loaded when the game starts!

Customization

2.0.X | Panoramas

About

As of v1.6.0, FancyMenu supports loading custom 6-image panorama cubes as background for menus!

NOTE: "6-image panoramas" are a special cubic panorama format used by Minecraft as background in the main menu.

Making a Panorama

NOTE: If you're on Windows, don't forget to turn on file extensions!

If you don't know how Minecraft handles their background panoramas and how to create these, you should check out this video.
It will give you a very good understanding of how MC panoramas work and how to make one!

After watching the video, you will notice that creating MC panoramas can be a bit time-consuming.
To save you some time, maybe think about using a mod that creates these panoramas for you.
You can find some of them by searching for minecraft panorama mod, but one of them is Panoramica (made by me).

Preparing The Panorama

After you got your 6 panorama images, you'll need to put them at the right place!

FancyMenu's panorama directory is located at .minecraft/config/fancymenu/panoramas.
This is the directory for all panoramas that you want to use in the mod.

1. The Panorama Folder

Every panorama has its own folder.
You will need to create a new folder in .minecraft/config/fancymenu/panoramas if you want to add a new panorama.
In my example, I will name the folder mypanorama.

1

2. Folder Content

After creating the folder, you will need to fill it.

Properties File

Every panorama needs a properties file to work.
This file always needs to be named properties.txt and needs some important things written to it:

The content of a panorama properties file should always look like this:

type = panorama

panorama-meta {
  name = name_of_your_panorama
  speed = 1.0
  fov = 85.0
  angle = 25.0
}

Only the variables inside the panorama-meta section can be changed!

name

This has to be the unique name of your panorama.
It's not possible to load two panoramas with the same name!
You will use this name later to identify your panorama.

speed

The speed at which your panorama rotates.
This value is a speed multiplicator. For example, 1.0 is default speed, 2.0 doubles the speed and 0.5 will half it.
Negative values are not supported, use decimal values to slow the speed.

fov

The field of view.
The default FOV is 85.0.
Using too big or small values here will break the panorama. Just play around with it to find the FOV you want.

angle

The vertical angle at which the panorama is viewed.
The default angle is 25.0.

Panorama Image Folder

The second mandatory thing your panorama folder needs is the actual image folder containing your panorama images.

This folder needs to be named just panorama.

Put all your panorama frames in it, but don't forget to name them correctly like shown in the video above!

3

NOTE: Only PNGs are supported as panorama images!

Panorama Overlay

The last step is optional and can be skipped if you don't want an overlay over your panorama.

If you want to add a vignette or other types of overlays to your panorama, you can add one named 'overlay.png'.
Keep in mind that only PNG is supported for the overlay and that the file name always needs to be 'overlay.png'!

The Final Product

You should now have a folder located at .minecraft/config/fancymenu/panoramas, containing a properties.txt file, another folder named panorama and maybe an overlay named overlay.png.

2

Using The Panorama

After reloading the game via the Reload button or restarting it, you should be able to use your panorama in the Layout Editor (Background Options).

Customization

2.0.X | Slideshows

About

As of FancyMenu v1.7.0, you can make your own slideshows and display them in menus and as menu backgrounds.

Getting started

NOTE: If you're on Windows, don't forget to turn on file extensions!

Every slideshow has to be in its own folder inside the slideshows directory located at .minecraft/config/fancymenu/slideshows/.

1

To make an slideshow getting recognized as this by the system, it needs to have a properties file located in its home directory.
So if you've named your slideshow folder "myslideshow" (this is your slideshow home directory), the properties file should be located at .minecraft/config/fancymenu/slideshows/myslideshow/properties.txt.
This file always need to be named properties.txt!
For now, only create the empty properties file and move on to the next step.

2

Adding Images

Sure, the most important part of a slideshow is..well..the images of the slideshow, so it isn't just a cool looking folder.

All images of your slideshow go to an extra folder inside the home directory of your slideshow.
This folder have to be named images.

3

Now place all your slideshow images in the images folder.
They are being ordered alphabetically (respecting numbers), so just name them something like image_1, image_2 and so on.
In my example, image_1 would be displayed first and image_2 after.

4

Filling the Properties File

Yes, images are a very important part for your slideshow, but now comes the really most important part.

At the beginning, you've created an empty properties.txt file in your slideshow home directory.
This file needs to be filled with important stuff now.

Just like with panoramas, you need to add informations about your slideshow to this file.

Every slideshow properties file should look like this:

type = slideshow

slideshow-meta {
   name = cool_slideshow
   width = 1920
   height = 1080
   x = 0
   y = 0
   duration = 5.0
   fadespeed = 12.0
}

Only the variables inside the slideshow-meta section can be changed!

name

This is the name of your slideshow. You need it to identify your slideshow when using it.
The name needs to be unique! It's not possible to have two slideshows with the same name!

width | height

The base width and base height of your slideshow. Used by FancyMenu to calculate the aspect ratio.

x | y

The x and y position of your slideshow. More for debugging purposes, just set both to 0.

duration

The duration in seconds every image is displayed before switching to the next one.
Suppports decimal values!

fadespeed

The speed of the fade animation when switching to the next image.
This value is a speed multiplicator. For example, 1.0 is default speed, 2.0 doubles the speed and 0.5 will half it.
Negative values are not supported, use decimal values to slow down the speed.

Using the Slideshow

All important steps are now done and your slideshow is finished! It should now contain a properties.txt file with informations inside and an images folder with all your slideshow images.

To load your new or edited slideshow into FancyMenu, just press the Reload button to reload your slideshows.

Now you can use your slideshow in the Layout Editor as element and as menu background!

Customization

2.0.X | Custom Buttons

About

You can create custom buttons for menus and specify what they do.
There are some very useful button actions you can attach to it to let it open links, join servers, sending commands and much more!

Creating Custom Buttons

To add a custom button to a menu, you need to create a new layout for it.

When you're in the Layout Editor, just add a new button element to the layout.

Now you can rightclick the new button to set what it should do when clicking on it, by using the Button Action option.

Button Actions

Value needed? Value content Value Examples
Yes The link https://google.de

sendmessage

Send a message or a command to the chat.

Value needed? Value content Value Examples
Yes The message/command Hi everyone! :)
----
/time set 0

quitgame

Quit minecraft.

Value needed? Value content Value Examples
No / /

joinserver

Join a minecraft server.

Value needed? Value content Value Examples
Yes The server IP 127.0.0.1:25565
----
play.hivemc.com

loadworld

Load a minecraft world (from the client's playable minecraft worlds).

Value needed? Value content Value Examples
Yes The world folder name My World
----
cool_world

openfile

Open a file or folder.

Value needed? Value content Value Examples
Yes The path to the file/folder mydata/info.txt
----
images/minecraft

movefile

Move a file to a new path.

Value needed? Value content Value Examples
Yes The old file path and the new file path, separated by semicolon (';'). path/to/file.txt;new/path/of/file.txt

copyfile

Copy a file.

Value needed? Value content Value Examples
Yes The path to the file and the path to copy it to, separated by semicolon (';'). path/to/file.txt;copy/to/path/filecopy.txt

deletefile

Completely delete a file.

Value needed? Value content Value Examples
Yes The path to the file. path/to/file.txt

renamefile

Rename a file.

Value needed? Value content Value Examples
Yes The path to the file and its new name, separated by semicolon (';'). path/to/file.txt;newfilename.txt

downloadfile

Download a file from the web.
This action runs in the main thread, which means it will cause the game to freeze until it is done.

Value needed? Value content Value Examples
Yes The URL to the file and the path to save it to, separated by semicolon (';'). https://myhoster.com/archive.zip;path/to/save/archive.zip

unpackzip

Unpack a ZIP file.
This action runs in the main thread, which means it will cause the game to freeze until it is done.

Value needed? Value content Value Examples
Yes The path to the ZIP file and the directory to unpack it to, separated by semicolon (';'). path/to/archive.zip;unpack/to/path/

prevbackground

Switch to the previous menu background animation.

Value needed? Value content Value Examples
No / /

nextbackground

Switch to the next menu background animation.

Value needed? Value content Value Examples
No / /

opencustomgui

Open one of your custom GUIs.

Value needed? Value content Value Examples
Yes The custom GUI identifier mycoolmenu

opengui

Open an existing GUI by its menu identifier.

Value needed? Value content Value Examples
Yes The menu identifier (Get it by clicking on the "Menu Info" button in menus) the.menu.identifier

reloadmenu

Reload the current menu along with reloading customization files, the mod config, button scripts and more.
This action is similar to clicking the "Reload" button in the top-right corner of supported menus.

Value needed? Value content Value Examples
No / /

runscript

Run a button script.

Value needed? Value content Value Examples
Yes The file name of your script, without the file extension. myscript

mutebackgroundsounds

Mute or unmute background audio added by FancyMenu.

Value needed? Value content Value Examples
Yes true/false (to mute or unmute the audio) true

runcmd

Run a CMD/Terminal command.
Supports per-OS commands to set different commands for different operating systems.

Value needed? Value content Value Examples
Yes The command. start_server.bat
-----
[linux:./start_server.sh];[windows:start_server.bat];

To set separated commands for different operating systems, just format your value like this:

[windows:start.bat];[macos:./start];[linux:./start.sh];

This will run the command start.bat on Windows, the ./start command on macOS and the ./start.sh command on Linux.

It's important to put every command section in brackets ([ ]) and to separate every section with a semicolon (;).

closegui

Close the current menu/GUI.

Value needed? Value content Value Examples
No / /
Customization

2.0.X | Button Scripts

About

As of version 1.5, FancyMenu supports multiple button actions per button.
This is possible by creating a button script containing all button actions you want to run by clicking the button.

Creating a Script

Buttons scripts are located in .minecraft/config/fancymenu/buttonscripts.
To keep it as simple as possible, button scripts are simple text files (.TXT files), allowing you to edit them with every text editor.

Creating a button script is very easy. It's basically just writing multiple button actions as list (one action per line).

The button action and its value (if there is one for the specific button action) are going to the same line, separated by colon (':').

A working button script to rename customization files and reload the menu (to switch between layouts by button click) can look like this:

renamefile:config/fancymenu/customization/layout.txt;layout.temp
renamefile:config/fancymenu/customization/layout.disabled;layout.txt
renamefile:config/fancymenu/customization/layout.temp;layout.disabled
reloadmenu

The code above is all the script needs to work, nothing special. The part before the colon is the button action, everything after the colon is its value.
The reloadmenu button action has no value, that's why there's no colon on this line.

When you're done writing your script, just save it to the buttonscripts directory (mentioned above), with whatever name you like. Just be sure that it has the TXT file type.

After you've saved your button script, simply press the Reload button to load the new button script into FancyMenu and you're done.

Using Button Scripts

Button scripts can be executed by using the runscript button action.
The value for this button action is the script file name without the file extension. So if you've named your button script myscript.txt, the button action value would be myscript.

Customization

2.0.X | Custom GUIs

About

As of version 1.4, FancyMenu supports creating custom GUIs, displaying them by clicking a button or overriding game menus with them.

Creating a Custom GUI

To create a new GUI, navigate to the Custom GUIs tab in the Customization Helper and click on New.

new-custom-gui

This will open a popup where you can set all important stuff for your new GUI.

Menu Identifier

This is the unique identifier for your menu.
It is needed when you want to open your GUI with a custom button later or when you want to override a menu with it.

Menu Title

The menu title is optional and will be shown at the top of your menu, just like in many vanilla menus.

Allow ESC

Enabling this will allow users to close your menu by pressing the ESC key.

Adding Content to Custom GUIs

Custom GUIs can be filled with content just like you customize normal Minecraft menus!
Just create a new layout for it!

Managing Custom GUIs

You can open and delete your custom GUIs in the Custom GUIs tab of the Customization Helper.

Using Custom GUIs

There are currently two ways to use custom GUIs.

The first one is using the opencustomgui button action of custom buttons.
This allows you to open a custom GUI by clicking a button.

The second one is overriding an existing menu with your custom GUI.
This is not recommended and should only be done when there is now way to edit a menu using layouts.

Customization

2.0.X | Text Formatting

About

FancyMenu allows you to change the text formatting of all elements allowing for text input (like normal texts, web texts and button labels).
You can change the text color, make it bold, underlined and more.

It also allows you to change the text scale (size) of most of the text-based elements.

How to Format a Text

FancyMenu uses Minecraft's built-in text formatting system.
This system works with simple formatting codes like &6 or &l.

These formatting codes can be inserted in texts to change everything after the formatting code to the specific formatting.

A list of all formatting codes along with a detailed description of how to use these codes can be found in the official Minecraft wiki.

NOTE: The Minecraft wiki will use § as formatting code prefix, but FancyMenu needs the alternative code format, so please use & instead of § in FancyMenu!

For example, &cThis is a §ecolored text. will show This is a as red text and colored text. as yellow text, because &c, the formatting code for red, is written before This is a, so everything after this formatting code will be red, until another formatting code is used. In this case, red is replaced with yellow after using &e, the formatting code for yellow.

How to Change the Text Scale

Not all, but most of the text-based elements allow you to set it's text scale.

If the element has this setting, you can find it by rightclicking the element and searching for something like a Scale or Text Scale option in the context menu.

The default Minecraft text scale is 1.0, that's the scale of nearly all default texts in Minecraft.
A scale of 2.0 will double the text size and a scale of 0.5 will half it.

Customization

2.0.X | Custom Window Icon

About

As of v1.4, FancyMenu supports setting a custom Minecraft window icon.

Setting a Custom Icon

NOTE: Only PNG images are supported.

NOTE: Due to a weird bug, icon images may look glitched in the final view. If that's the case, try to make one pixel in all four corners of the image 100% transparent. This is a really weird bug I currently try to fix.

Customization

2.0.X | Custom Window Title

About

As of v1.4, FancyMenu supports setting a custom minecraft window title.

Setting a Custom Title

To set a custom window title, just edit the Custom Window Title value in the FancyMenu settings and restart your game!

NOTE: You think this wiki page is too short?
To make it more challenging, you could try to close your eyes and blind-type your window title!

Customization

2.0.X | Game Intro

About

You can set animations as "game intro" to play them before the main menu is displayed for the first time.

Set Animations As Game Intro

To set one of your animations as game intro, just set its name (the name you gave your animation in its animation properties) as Game Intro Animation value in the FancyMenu settings.

Now the animation will play after the game and animation loading process is done and before the main menu is displayed for the first time.