GUI+HUD commands

Something difficult about mapmaking with certain resources, such as GUIs, HUDs, etcetera is that you can't do it without creating something either extremely prone to glitches, that requires tons of command knowledge some people simply don't have, that requires a custom texture pack, plugins, and/or mods. It's impossible to add a new bar, or overhaul an entire system, or create a new utility device, and make it good in Minecraft. So, I present to you...

The ability to make these things using entirely commands, a new utility block, and possibly a bit more.

## The Interface Block

The Interface Block is a technical block, just like a Command or Structure Block. This allows you to get a visual representation of your GUI, HUD, etcetera. To an extent, you can model and texture it—although more complex models require making it invisible and using armor stands to simulate the block.

Let's start with the basics of the Interface Block.

* On the left side of your screen, you'll see a few buttons: Add Element, Add Slot, a toggle switch of HUD and GUI, Base Off Other Resource, Add Property, and Add Button.
* Add Element adds an intangible element—it's purely for aesthetics, and you texture and transport it to your liking.
* Add Slot adds a functional element to the GUI or HUD. You have to specify what this is for—to type, to put an item in, etcetera.
* The toggle switch is for whether your creation is a GUI or an HUD. If it's the latter, a few extra options may come into play. If so, I haven't thought of them.
* Base Off Other Resource allows you to choose the GUI/HUD of any existing resource in the game. You can from there edit the uses, appearance, etcetera.
* Add Property adds a property to your resource—you specify what section it affects, the effects of lower/higher levels of that value, bind it to specific scoreboards (allowing, for instance, a worldwide fluctuation of a Mana system based solely on the "rotation of the moon," or whatever the lore is), what activities affect it (and how), if it keeps its inventory on breaking, etcetera. This is arguably the most important function of the Interface Block.
* Add Button does just that—it adds a button. You can edit its properties with the Add Property button.

Additionally, in the Interface Block, you can edit the size, color, sprite changes due to specific events, etcetera of various resources.

## /trigger

A new command comes about with this idea as well. /trigger is a command that specifies exactly how one opens this GUI/activates the HUD/whatever. For instance, if the /trigger argument is "interaction\_Villager," the moment you enter a Villager trading window, that GUI/HUD is activated. Then, you can further specify whether it terminates the trade window, or any other GUIs it brings up. For instance, you could trade a Villager, get a helpful guide to village life and what to do in your map, get a "Charisma" bar to track your score. You can also *remove* HUDs from existence on a trigger event.

Additionally, you can get even *more* exact. For instance, "range\_15\_monster{sighting:1}". This means that when you encounter any monster from 15 blocks away, and it's only your first time you meet this criteria (if it's the second onwards, it doesn't work), your custom HUD or GUI is brought into existence.

I hope you enjoyed reading about the Interface Block and the /trigger command.