Introduction
Welcome to the Axiom Documentation, the introductory book about the all-in-one tool for editing Minecraft worlds. The goal of Axiom is to help you build terrain, organics, and structures faster and of a higher quality. The mod brings innovative new tools and algorithms, while also improving ergonomics by improving the feedback loop through real-time client-side visualizations.
Who Axiom Is For
Axiom is easy to learn yet hard to master, catering to Minecraft builders of all skill levels through various levels of complexity. The most beginner-friendly tools are found in the Builder Mode, while the Editor Mode features more in-depth tools which can be combined with Tool Masks for further complexity.
Getting Started
Upon creating a new creative world, you should see a 10th hotbar slot containing an icon. If you don't see this, use the /whynoaxiom
command in-game and follow the provided instructions. If the issue still persists, ask for help in the official Axiom Discord.
-
To access the Builder Tools menu, hold Left Alt while the 10th hotbar slot is selected and use the scroll wheel to navigate the options.
-
To open the Context Menu, hold the Left Alt key with a hotbar slot from 0 to 9 selected.
-
To open/close the Editor Mode, press Right Shift.
These keybinds can be adjusted in Minecraft's Controls Menu.
Last Documentation Update: 20/Oct/24
Builder Mode
The Builder Mode is an enhancement of the vanilla Creative mode. It adds several new features that take a lot of the pain away from traditional building and make everything just a bit easier.
Builder Context Menu
Many features for builder mode can be toggled or accessed through the Context Menu. The menu can be opened by holding down Left Alt. See Context Menu for more information.
Builder Tools
To the right of the hotbar, you can find the Builder Tools. These tools are very simple and are intended to ease structural/small scale building where use of the more powerful Editor Mode is too unwieldy.
To start using a Builder Tool, scroll to the 10th slot or press 0. To switch to a different Builder Tool, hold Left Alt and then scroll.
The three main keybinds for the Builder Tools are left-click, right-click and middle-click. Middle-click has similar a functionality to left and right-click but instead of selecting the corners, middle-click is used to select the faces.
When working with a selection, useful information such as offset and size is displayed above the hotbar.
Gameplay
Using Ctrl + C while looking at a block will copy its exact nbt state.
When searching in the creative inventory, pressing enter will add the first listed block to your current hotbar slot.
Builder Tools
The tools that are currently available in this section are:
There are two flags that apply to most Builder Tools:
- Copy Entities
- Toggles the ability to copy entities when moving a selection.
- Copy Air
- Toggles the ability to copy air when moving a selection.
Move
The move tool allows you to alter the position of blocks and entities within a cuboid area.
Creating Selections
To create a selection, start by using left-click to select your first corner and then right-click to select the second. You can use middle-click to select faces instead of the corners. This makes it much easier to select blocks that don't already have edges.
See below for a demonstration. The initial selection is made with a Left & Right click, which is then further expanded to include the whole tree using three middle-clicks.
Moving Selections
Once you're happy with your selection, you can move it by scrolling with the mouse wheel. Now, a hologram will represent the selection you'll be working with. You will also be presented with different controls, using middle-click you can move the selection to the direction you're facing.
Using the scroll wheel, you can nudge the selection by one block. Scrolling up will push the selection away from the player and scrolling down will bring the selection closer to the player, so the direction the player is facing determines the direction the selection is pulled or pushed. The arrows on the faces of your selection will indicate the scroll up direction.
By holding the 'X', 'Y' or 'Z' keys, you can force the selection to move in a single axis. For example, holding the 'X' key while nudging the selection will force it to move on the X axis only.
Modifying Selections
You can further modify a selection by two ways: flip and rotate. These can alter the orentation of the selection in almost any way.
To flip a selection, use Ctrl + F
. This will flip the selection depending on the direction you're facing. The arrow on the side of your selection will indicate the direction your selection will be flipped.
To rotate a selection, use Ctrl + R
. This will rotate the selection clockwise on the X and Z axis. For example, a selection facing north will be face east after rotating it.
With a selection, you're still able to expand the selection with middle-click. Using left or right-click also works to set a corner again.
Below is another demonstration, covering the two modifiers mentioned above.
Confirming Selections
After you're happy with your movement and modifications, use right-click to confirm the selection, placing the blocks shown in your selction.
If you're not happy with the result, use Ctrl + Z
to undo the placement. If you can't make up your mind, you can use Ctrl + Y
to redo your undo.
Clone
The clone tool allows you to copy a cuboid area and paste it elsewhere multiple times.
Creating Selections
To create a selection, start by using left-click to select your first corner and then right-click to select the second. You can use middle-click to select faces instead of the corners. This makes it much easier to select blocks that don't already have edges.
Moving Selections
Once you're happy with your selection, you can move it by scrolling with the mouse wheel. Now, a hologram will represent the selection you'll be working with. You will also be presented with different controls, using middle-click you can move the selection to the direction you're facing.
Using the scroll wheel, you can nudge the selection by one block. Scrolling up will push the selection away from the player and scrolling down will bring the selection closer to the player, so the direction the player is facing determines the direction the selection is pulled or pushed. The arrows on the faces of your selection will indicate the scroll up direction.
By holding the 'X', 'Y' or 'Z' keys, you can force the selection to move in a single axis. For example, holding the 'X' key while nudging the selection will force it to move on the X axis only.
Modifying Selections
You can further modify a selection by two ways: flip and rotate. These can alter the orentation of the selection in almost any way.
To flip a selection, use Ctrl + F
. This will flip the selection depending on the direction you're facing. The arrow on the side of your selection will indicate the direction your selection will be flipped.
To rotate a selection, use Ctrl + R
. This will rotate the selection clockwise on the X and Z axis. For example, a selection facing north will be face east after rotating it.
With a selection, you're still able to expand the selection with middle-click. Using left or right-click also works to set a corner again.
Confirming Selections
After you're happy with your movement and modifications, use right-click to confirm the selection, then use left-click to finish the selection. If you want to create multiple copies, move the selection using your scroll wheel instead of finishing the selection.
If you're not happy with the result, use Ctrl + Z
to undo the placement. If you can't make up your mind, you can use Ctrl + Y
to redo your undo.
Stack
Stack allows you to copy blocks and entities in a row or grid pattern.
Creating Selections
To create a selection, start by using left-click to select your first corner and then right-click to select the second. You can use middle-click to select faces instead of the corners. This makes it much easier to select blocks that don't already have edges.
See below for a demonstration. The initial selection is made with a Left & Right click, which is then further expanded to include the whole tree using three middle-clicks.
Stacking
Once you're happy with your selection, you can stack it by scrolling with the mouse wheel. Now, a hologram will represent the stack you'll be working with. You will also be presented with different controls.
Using the scroll wheel, you can nudge the selection by one step. Scrolling up will stack the selection away from the player and scrolling down will bring the selection closer to the player, so the direction the player is facing determines the direction the selection is stacked. The arrows on the faces of your selection will indicate the stack direction.
By holding the 'X', 'Y' or 'Z' keys, you can force the selection to stack in a single axis. For example, holding the 'X' key while nudging the selection will force it to stack on the X axis only.
Confirming Selections
After you're happy with your movement and modifications, use right-click to confirm the selection, placing the blocks shown in your selction.
If you're not happy with the result, use Ctrl + Z
to undo the placement. If you can't make up your mind, you can use Ctrl + Y
to redo your undo.
The video below demonstrates how stack can be used on multiple axes.
Smear
Stretches blocks between two points.
Creating Selections
To create a selection, start by using left-click to select your first corner and then right-click to select the second. You can use middle-click to select faces instead of the corners. This makes it much easier to select blocks that don't already have edges.
See below for a demonstration. The initial selection is made with a Left & Right click, which is then further expanded to include the whole tree using three middle-clicks.
Smearing Selections
Once you're happy with your selection, you can smear it by scrolling with the mouse wheel. Now, a hologram will represent the selection you'll be working with. You will also be presented with different controls, using middle-click you can smear the selection to the direction you're facing.
Using the scroll wheel, you can nudge the selection by one block. Scrolling up will push the selection away from the player and scrolling down will bring the selection closer to the player, so the direction the player is facing determines the direction the selection is pulled or pushed. The arrows on the faces of your selection will indicate the scroll up direction.
By holding the 'X', 'Y' or 'Z' keys, you can force the selection to smear in a single axis. For example, holding the 'X' key while nudging the selection will force it to smear on the X axis only.
Smearing Properties
The path between the origin point and your selection must not include any solid blocks. Solid blocks in the path of your smear will cut it off.
This means it's best to use a 3D object for a 3D stretch, a 2D object for a 2D stretch and so on. This ensures the stretch looks best for your application.
Below is a demonstration of the smear tool. The player builds a roof by smearing two rows of blocks.
Extrude
Extrude is a unique builder tool as it doesn't use a selection. Extrude simply extrudes and shrinks a face of the same block.
To extrude a face, use right-click. To shrink a face, use left-click.
If you're not happy with the result, use Ctrl + Z
to undo the placement. If you can't make up your mind, you can use Ctrl + Y
to redo your undo.
Below is a video showcasing the extrude tool.
Erase
Erase allows for removing a cuboid selection, or 128 connected blocks of the same type.
Creating Selections
To create a selection, start by using left-click to select your first corner and then right-click to select the second. You can use middle-click to select faces instead of the corners. This makes it much easier to select blocks that don't already have edges.
With a selection, you're still able to expand the selection with middle-click. Using left or right-click also works to set a corner again.
Confirming Selections
After you're happy with your selection, use the del
or backspace
key on your keyboard to remove the selected area.
If you're not happy with the result, use Ctrl + Z
to undo the deletion. If you can't make up your mind, you can use Ctrl + Y
to redo your undo.
Erase Connected
To remove the nearest 128 blocks of the same type, use right-click while facing at the block you'd like to remove. The use of Ctrl + Z
and Ctrl + Y
still applies.
Below is a demonstration of both methods.
Setup Symmetry
Setup Symmetry allows you to position and configure a 'symmetry node'. Once the node is set, you can start placing blocks with symmetry.
Setting The Symmetry Node
Use right-click while looking at the symmetry point you'd like to set. The symmetry point is represented as a small cube. The colour of the cube represents its state. Grey signifies the symmetry is disabled, and yellow signifies that symmetry is enabled.
The symmetry node can be placed on the face, vertex and edges of blocks.
Symmetry Modifiers
To enable symmetry, you'll need to use either the flip or rotation modifier.
-
To use the flip modifier, use
Ctrl + F
. For example, to flip on the X axis, face the X axis and use the flip modifier. This works on all three axes. -
To use the rotation modifier, use
Ctrl + R
. Unlike flip, this only works on one axis.
You can use these keybinds at any point as long as the symmetry node is set.
The flip modifier can use more than one axis at a time and you can combine both the flip and rotate modifiers simultaneously.
The node can be removed at any time by pressing the del
or backspace
keys. The node can also be temporarily disabled by removing all modifiers.
Below is a demonstration of the symmetry tool.
Tip: Nodes will be removed if the player is outside the 256 block radius.
Video Demo
Marker Entities
Marker Entities are a vanilla minecraft1 feature which was added in 1.17. Essentially, they are entities that have little to no behaviour. Axiom takes advantage of this and provides a Gizmo to control the marker.
Right-clicking the marker gizmo will open a menu, allowing you to input custom NBT for the marker.
Using Ctrl+C
while the gizmo is active, will copy the marker data to the clipboard. Using Ctrl+V
will paste the copied marker into the world.
Marker entities cannot be spawned using axiom.
Notes
Context Menu
Part of the Builder Mode, the Context Menu provides options which allow the user to modify how they view and interact with the world.
Hotbar Swapper
The Hotbar Swapper is a better version of the vanilla “Saved Hotbars” which are stored in the creative inventory and are loaded using keybinds. The Hotbar Swapper is in the centre of the Context Menu and has 9 saveable hotbars.
To save items to the hotbar swapper, use the scroll wheel while the context menu is open to select the hotbar you would like to save to.
Then close the context menu and fill your hotbar with the items you want. When you’re done, you can scroll to the next hotbar you would like to modify. Another way to modify hotbars would be to click on an item with left-click and drop it into another position with left-click.
Note: Hotbars are not transferred between worlds
Loading saved Hotbars is simple. Just use the scroll wheel in the context menu to select the hotbar you’d like to use. Then close the context menu and the blocks and items you previously saved should be loaded into your hotbar.
Capabilities
Capabilities allow you to change the way you place, destroy and modify blocks. When a capability is enabled, the button will be tinted green. Disabled capabilities are represented as greyed.
Further information on the individual capabilities can be found here.
Create Display Entity
Edit Block Attributes
Gamemode Switcher
Using these buttons can be slightly faster than messing around with F3+F4 or chat commands.
Pressing Left Alt while in another gamemode will put you into creative mode, this can be useful if you are in spectator mode and want to quickly switch to creative. This can be disabled in the config as autoSwapToCreative
.
Flight Speed
The Flight Speed is represented as a vertical slider on the right side of the context menu. The current speed is represented as a percentage above the slider. 100% is normal flight speed and 200% would be two times as fast. The limit is 999%.
To change the flight speed, use left-click on the slider to select a specific speed. Dragging the slider and clicking the plus and minus symbols are other ways you can change the flight speed.
Toolbox
The Toolbox is located under the flight speed slider in the context menu and contains useful settings for building. Listed below are all Toolbox settings alongside their description.
Setting | Description |
---|---|
Show marker entity gizmos | Toggles visualisation of Marker Entity Gizmos. |
Show display entity gizmos | Toggles visualisation of Display Entitiy Gizmos. |
Show key hints | Toggles the ability to view currently pressed keys at the bottom right corner of the screen. This can be useful for debugging or tutorials. |
Infinite reach limit | Sets the range for the Infinite Reach capability. The slider ranges from 5 to 100 and is set to infinite by default. |
Liquid opacity | Sets the opacity of water. 100% normal opacity and 0% results in water being invisible. |
Minimum Brightness | Sets the minimum brightness. 0% is default and 100% removes all shadows. |
Type replace | The Type Replace toggle affects the Replace capability. Replacing blocks with multiple variants such as stairs and slabs with another multi-variant block will change that block to the variant regardless of what block it is. |
Flight direction | Flight Direction changes the way you fly in creative mode. The vanilla flight mode is 'Horizontal' and the Axiom version is called 'Camera'. The camera mode allows you to fly in all directions using the direction of the camera. |
Flight momentum | The flight momentum affects how long it takes to change speeds while flying. A higher momentum means a longer delay until you reach full speed, resulting in a smoother flight. |
Clear Hotbars
This button clears all saved hotbars.
Capabilities
Tinker
No Updates
Force Place
Replace Mode
Bulldozer
Display Entities
Display Entities were added to Minecraft in 1.19.41, introducing the ability to display blocks, items and text in the form of entities. Meaning you can essentially create structures at any scale. However, they are hard to use, especially for players inexperienced with commands.
Axiom takes advantage of this difficulty and provides a feature for precise display entity editing. In the Context Menu, the "Create Display Entity" button will open a menu similar to the creative inventory. Use the tabs to switch between item, block and text displays.
The tables below cover the settings for the Create Display Entity menu.
Item Display
Setting | Description |
---|---|
Item | This represents the item that will be displayed. Clicking the icon will display all items in a grid. The CustomModelData filter only displays custom blocks. |
Item Display | This setting is similar to Blockbench's display options2. This determines how the item will be displayed. |
Additional Settings | Refer to Additional Settings. |
Block Display
Setting | Description |
---|---|
Block | This represents the block that will be displayed. Clicking the stone icon will display all blocks in a grid. |
Additional Settings | Refer to Additional Settings. |
Text Display
Setting | Description |
---|---|
Text | The black box provides space to enter text for the text display. |
Background Color | The background colour determines the colour surrounding the text. The colour fomat for the background colour is ARGB in Hexadecimal. |
Line Width | The line width determines the amount of space required to start a new line. |
Alignment | The alignment determines the offset relative to the gizmo. |
Shadow | Adds a shadow effect to the text. |
Additional Settings | Refer to Additional Settings |
Additional Settings
The Additional Settings submenu provides further options for the display entity. However, these are much more advanced and are generally used for mapmaking.
Setting | Description |
---|---|
Culling Width | Defines the radius of the cubic area which determines whether the Display Entity should be rendered. If this area is not visible in the player's View Frustum, the model will be culled. |
Culling Height | Defines the height of the cubic area which determines whether the Display Entity should be rendered. |
Interpolation Ticks | Interpolation duration in ticks. |
Teleport Ticks | Interpolation duration in ticks for teleportation. |
Glow Color Override | Overrides the colour used for the glow effect. |
Billboard | Controls how the entity should pivot to face the player when rendered. |
Override Brightness | Overrides light values used for rendering. |
Shadow Radius | Defines the size of the entity's shadow. Maximum value is 64 and when the value is 0 or less, no shadow is applied. |
Shadow Strength | Determines the opacity of the entity's shadow. |
View Range | The maximum distance before the model is culled. The formula is View Range x Entity Distance x 64 |
Display Entity Manipulation
Left-clicking the white node at the centre of the Display Entity will display a Gizmo. Using the gizmo, you can move, rotate and scale the Display Entity in any direction.
Keybinds
There are many key combinations that can be used while the gizmo is active. Listed below are all key combinations alongside their description.
Key | Description |
---|---|
Right Click | Moves the Display Entity to the block you're facing. However, while looking at the white cube on the gizmo, it opens the Editing Menu for the selected display entity. |
Scroll | Nudges the display by the default step size3. |
Control | Used alongside Left Click to increase the step size. The movement step is changed to 1 block, the rotation step is set to 15 degrees and the scale is set to affect all axes rather than one. |
Shift | Lowers the step size for movement and scale to 0.0001 blocks and sets the rotation step size to 1 degree. |
Control + C | Copies the display entity to the clipboard. This can be pasted using Control + V . |
Delete / Backspace | Deletes the selected Display Entity. |
Control + Z | Undo the previous edit. |
Control + Y | Redo the undone edit. |
Middle-Click | Copies the Display Entity to an item. This works the same as spawn eggs and can be snapped to different rotation steps by using control or shift while placing. |
Editing Menu
The Editing Menu has many useful features. Listed below are all features with a description.
Modifier | Description |
---|---|
Edit Properties | Opens the original menu to set the display entity properties. |
Edit Transformation | Opens a menu to manually enter precise translation, rotation and scale. |
Reset Translation | Resets the offset set in the Edit Transformation menu. |
Reset Rotation | Resets the rotation to 0 on all angles. |
Reset Scale | Resets all scale values to 1. |
Gizmo Mode | Switches between local and global gizmos. |
Duplicate | Duplicates the Display Entity in the same position. |
Grouping | Pressing this button will reveal the grouping settings. Changing the range slider will affect the area of grouping. The "Group with nearby in range" will group all Display Entities within the provided range. The "Ungroup children" button ungroups all display entities that have previously been grouped. |
Remove | Deletes the Display Entity. |
Copy Summon Command | Copies the display entity to the clipboard. This can be pasted using Control + V . |
Copy Coordinates | Copies the exact coordinates to the clipboard. |
Copy Transform Command | Copies the transformation to the clipboard as a command. |
Notes
Display Entities are a vanilla Minecraft feature.
Blockbench uses display settings for different perspecives of a model.
The default step size is 1/16th of a block (0.0625).
Edit Block Attributes
The Edit Block Attributes menu can be used to configure multiple settings that alter gameplay.
Setting | Description |
---|---|
Show Collision Mesh | Creates a red outline for every block with a transparent hitbox like barriers or fences. |
Show Light Blocks | Adds a light block texture for all light blocks and enables interactions with them. |
Show Structure Void Blocks | Adds a structure void texture for all structure void blocks. |
Expand Hitboxes to Full Cube | Sets all hitboxes to a full block. Affects blocks like slabs or buttons. |
Make Fluid Hitboxes Solid | Allows you to break individual blocks of water with your fist. |
Prevent Interactions | Stops the player from opening containers or interacting with blocks while holding a block. |
Editor Mode
The Editor Mode includes a large variety of tools and operations for large-scale world manipulation, painting, terraforming and sculpting. The Editor UI has been designed specially for this purpose, combining camera controls from conventional 3D software with powerful tools tailored for Minecraft building. The layout of the Editor UI can be customized by Theming and docking the windows to your liking.
To open the Editor mode, press the Right Shift key located below the 'Enter' key. If you don't have a Right Shift key, you can change this keybind in the Minecraft 'Controls' settings menu under the 'Axiom' section.
Basic Keybinds
There are many keybinds which may be familiar in the Editor Mode:
- Cut: Ctrl+X
- Copy: Ctrl+C
- Paste: Ctrl+V
- Undo: Ctrl+Z
- Redo: Ctrl+Y
The default placement keybinds may be more unique to Axiom's functionality, however they still have a sense of familiarity:
- Rotate: Ctrl+R
- Flip: Ctrl+F
- Confirm: Enter
- Delete: Delete / Backspace
Most keybinds for the Editor Mode can be changed in the Keybinds Window.
Menu Bars
At the very top of the screen, the Main Menu Bar can be found containing items such as 'File' and 'View'.
The lower menu bar is located opposite of the Main Menu Bar, at the bottom of the screen. On the left of this menu are some tooltips for keybinds which can be used. If you have an active selection, it will be shown here as the last item on the list.
On the right side of the list is the Flight Speed Slider which can be used to alter the player flight speed.
User Interface Elements
Throughout the Editor mode, these interactive features appear throughout the interface. Below are all types along with their descriptions respectively.
Sliders
Sliders are represented as an elongated, clickable box with a 'Slider Grab' located within the field. Clicking anywhere on a slider will alter the numerical value shown within the field. This numerical value will affect the described option to the right of the field.
Sliders have an upper and lower limit. However, these can be avoided by using Ctrl + Click
while hovering the cursor over the slider. Doing this will allow for any numerical input. However, any input must respect the slider type.
There are two types of slider which define the precision of input. The 'integer' only allows for whole numbers to be set or input and the 'float' slider allows for any decimal input. However, each slider has its own limit to the number of decimal places which can be used. When inputting a custom value, if the number of decimal places exceeds the pre-defined amount, the input will be rounded to the nearest decimal number. The same applies for inputting decimals in 'integer' sliders.
Drop-Downs
Drop-Downs are also represented as an elongated, clickable box. However, drop-downs feature an arrow to the right of the drop-down to represent the functionality of a drop-down. The currently selected option of the drop-down is shown within the button portion itself, and the description for the drop-down is located to the right, outside the drop-down.
Clicking the drop-down with left-click will open a small menu with all items within. In Axiom, drop-downs are used to control the functionality of a specific operation. For example, most tools use a 'Shape' drop-down in the Tool Options which allows for multiple brush shapes within the same option.
Some drop-downs can be searched through, allowing easy retrieval of items in longer drop-downs. This can be found in the Biome Painter 'Biome' drop-down and the Tool Presets drop-down. To search for an item in the drop-down, open the drop-down list and start typing for the desired item.
Text Boxes
Text boxes are used to set coordinates or provide text for the Annotation Tool. To identify a text box, simply hover over a field in the Tool Options and the should change to a 'Text Cursor'. Clicking the text box field will allow you to type any ASCII character.
Some text boxes limit what kind of characters you can input. For example, the 'Factor X' field for the Modify Tool set to 'Translate Copies' will only allow for integer input.
Integer-based text boxes also support basic mathematical equations such as '24+6' or '73/2', resulting in the equation representing the new value in numerical form. One tool that can use this feature is the Box Select tool which allows for modifying the 'Position' and 'Size' with this method.
Toggles
Toggles are used to enable or disable the described functionality. A toggle looks like a small button and when enabled, a small tick will appear within the toggle. To the right of the toggle field is the descriptor for the toggle's functionality.
Toggles feature in most Tool Options and menus.
Buttons
Buttons feature in many places throughout the Editor Mode and are essential for accessing menus and operations. Buttons can be found in the Toolbar and in the Annotation Tool.
Block Icon Buttons
Block Icon Buttons are similar to buttons, however most Block Icon Buttons open the Select Block Window which allows for changing the block within the button. The block is shown over the button as a 2.5D image.
These buttons are used to represent the block to be used for a tool or operation. They appear in many functions such as the Active Block, Tool Masks and Block Palettes.
Dragging and dropping other Block Icon Buttons onto another will copy the same block over to quickly alter the block. Using middle-click to drag a block from the game window into a Block Icon Button will also copy that block but instead from the world.
Lua Code Editor
The Lua code editor is used for Mask Scripting and the Script Brush. The code editor includes a line count on the left and the ability to use the tab key to indent lines.
A basic syntax highlighter is used for the code editor. Syntax errors will result in the erroneous line to be highlighted.
Trigger | Colour |
---|---|
Built-in Functions | Mint |
Comments | Dark Green |
Floats and Integers | Lime |
Logic Operators | Blue |
Mathematical Operators | White |
Strings | Orange |
Variables and Functions | Light Grey |
Selections
A Selection is a set of highlighted blocks that affect the functionality of other systems.
There are many selection tools in Axiom that you can use to make selections. Each of these tools feature several options to further fine-tune what and how you might want to select something. See Selection Tools for more info.
-
With a selection, you can constrain the brush strokes of Tools.
-
Operations rely on selections to affect blocks within a region.
Finally, to clear a selection, use 'Select -> Clear' or press the Enter key
Below are a few keybinds that can be used to move and copy selections.
Ctrl+C
- Copies the selection to the Clipboard
Ctrl+X
- Cuts the selection, allowing you to move it anywhere you'd like using the Gizmo
Ctrl+J
- Duplicates the selection, similar to cut, but doesn't remove the blocks in the process.
Gizmos
Gizmos are a common UI element which allows positioning within the 3D world.
Gizmo Properties
A gizmo can contain the following elements:
-
Axis Arrows These coloured arrows correspond to XYZ coordinates. The red, green and blue arrows allow the gizmo to be dragged along the X, Y and Z axis respectively.
-
Center Node The center node can be dragged to move the gizmo on all 3 axis. While dragging, the gizmo will maintain the same distance to the camera.
-
Plane Nodes The Plane Nodes are used to move the object along two axis at a time.
-
Rotation Rings The three Rotation rings allow you to perform rotations on objects. The red, green and blue rings allow the gizmo to be rotated on the X, Y and Z axis respectively.
-
Scale Nodes The Scale nodes are used for Display Entities. Dragging one of the three Scale Nodes will stretch along the X, Y and Z axis respectively.
-
Global Gizmos When a gizmo is set to global, the Axis Arrows, Centre Node and Rotation Rings are locked to the world's rotation.
-
Local Gizmos A local gizmo is when the Axis Arrows, Centre Node and Rotation Rings are locked to the gizmo's rotation.
Gizmo Controls
Builder Mode Gizmo Controls
When using Display Entities or Marker Entities, a gizmo is used to move and modify the entity. There are multiple keys you can use to alter how the gizmo is used to modify the entity. To select a gizmo, use left-click on the Center Node.
Key | Description |
---|---|
Right-Click | Used to adjust any of the gizmo elements such as the Axis Arrows. |
Left-Click | Relocates the entity to the block the player is facing. |
Scroll | Nudges the entity along the axis you're facing. Holding the Center Node while scrolling will push and pull the entity relative to the player. |
Control | While adjusting gizmo elements, the movement snapping size is increased to one block and the rotation snapping is set to 15 degrees. When using control while adjusting the scale nodes, all three axis will be scaled simultaneously. |
Shift | Removes all snapping when adjusting gizmo elements. |
Control + C | Copies the entity data to the clipboard. |
Delete / Backspace | Permanently removes the selected entity. |
Control + V | Pastes the entity in the clipboard. |
Editor Mode Gizmo Controls
The Editor utilises gizmos for many features such as Selections and the Path Tool. However, each tool or feature may have a different gizmo type depending on its usage. This means one tool could have less gizmo features than another.
Tip: You can use the arrow keys to nudge gizmos on the X and Z axis.
Tool Presets
Tool Presets allow for easy saving and loading of tool settings and configurations. Tool presets are saved in the Axiom configuration at .minecraft/config/axiom/tool_presets
as NBT format.
While the drop-down is open, you can search for presets by typing.
Saving Presets
To save presets, first set the configuration of the tool you'd like to save. Clicking the plus icon next to the presets drop-down will display a text field. Here you can name the preset. After clicking save, your preset will appear in the drop-down.
Tools which utilise presets
- Autoshade
- Distort
- Elevation
- Gradient Painter
- Melt
- Noise Painter
- Painter
- Path
- Rock
- Roughen
- Script Brush
- Sculpt Draw
- Shatter
- Slope
- Smooth
- Stamp
- Tool Masks
- Lua Tool Masks
- Weld
Placement
Placements can be repositioned and rotated using the Gizmo.
Once the placement is in the correct position, you can use Enter or Ctrl+V to confirm it. To cancel a placement, use the Delete or Backspace key.
The placement can be rotated clockwise along the X and Z axis by using Ctrl+R
. Placements can be flipped in the direction of your mouse vector by using Ctrl+F
.
Placement Options
Option | Description |
---|---|
Keep Existing | Stops the placement from overriding pre-existing blocks |
Paste Air | Enables air to override pre-existing blocks |
Merge Blocks | Merges new blocks with existing blocks based on the block shape. |
Unlock Rotation | Allows the placement to be rotated at any angle rather than 90 degree steps. |
Rotate/Scale | Opens the Rotate/Scale window. |
Snap to ground | Repositions the placement down to the nearest solid surface. |
Paste Copy | Places a copy of the placement without cancelling the placement. |
Paste and Select | Places the object and selects it, allowing for further modification. |
Rotate and Scale
The Rotate/Scale window allows for rotating and resizing by any amount. This window contains a drop-down with for multiple functions. Below are all options with a description.
Option | Description |
---|---|
Nearest Neighbour | Nearest Neighbour has 6 translation inputs, one for each rotation axis and one for each scale axis. However the output may contain more artifacts than using the other translation types. |
RotSprite | RotSprite has 3 translation inputs, there is one input for each rotation axis. |
Scale2x | Scale2x has no inputs. It scales your placement by two times its size. |
Scale3x | Scale3x has no inputs. It scales your placement by three times its size. |
Common UI Elements
Main Menu Bar
The main menu bar gives users access to crucial functionality of the mod. Here you can find menu items for accessing windows, manipulating selections, performing operations and viewing helpful information.
Tool Masks
Clear and open the tool mask editing window. See Tool Masks
Window
The Windows submenu lets the user toggle Windows. If you ever close a window and want it back, this submenu allows you to re-enable it. With this window, you can also save and restore a default layout.
To store a layout, pressing the 'Store Current Layout as Default' will save your current window layout. To restore the saved layout, press the 'Restore Default Layout' button. You can export and import layouts to and from your clipboard.
Keybinds
The Keybinds button opens a window to edit and set keybinds for tools and operations.
Help
The Help submenu contains useful information and configuration options.
The dropdown contains links to information and resources. The style editor can be accessed through this window, allowing you to change and import custom colours for the Editor UI.
File
The 'File' drop-down provides many useful features regarding loading and saving files to use within Axiom.
Import Schematic
When pressed, a file explorer window will be opened. Here you can select a schematic to import into Axiom. Both .schem
and .schematic
are supported, however only one schematic can be loaded at a time.
After you've opened a schematic in your file explorer, it will be loaded into your Clipboard.
Export Schematic
The Export Schematic option allows you to export a schematic using your clipboard. Once you have something in your clipboard, you'll be able to export it as a schematic.
For users with a Commercial License, you'll be able to export to any version from 1.7 to 1.19.
Open Reference Image
Opens a file explorer window for you to select an image to be loaded into Axiom. Once opened, you can drag and resize the image window to wherever you want.
Right-Clicking on an image window will display some options to adjust the reference image.
- Close Window removes the image.
- Set Filtering: Nearest "smoothes" out sharp pixels to reduce the blocky look.
- Set Filtering: Linear stops it from smoothing out pixels, leaving the sharp edges.
- Show In Game UI makes it so the image is always shown. When disabled, the image is hidden when outside of the Editor.
- Borderless removes the outer padding and resizing tab.
Load Bedrock Packs
This is a Commercial License feature.
The 'Load Bedrock Packs' option allows you to replace existing models with Bedrock Edition models.
This would be most used by Bedrock Marketplace creators who would want to see their models on Java.
Save Selection as CSV
Exports a Selection to a Comma-Seperated Value (CSV) format.
Save Clipboard as JSON Model
To export to a JSON model, an object is required in your Clipboard to use as the model.
Saving will reformat the Clipboard into JSON suitable to be used as a custom model. Non-exposed faces are culled for optimization.
Now, you can apply the model using the 'custommodeldata' tag in a resource pack.
The scale is determined by the largest local coordinate. For example, if the clipboard scale is 10 x 20 x 10, the model scale will be 20.
When the resource pack is enabled, axiom will detect these custom models as a Display Entity.
Edit
Function | Default Shortcut | Description |
---|---|---|
Undo | Ctrl+Z | Reverses the most recent action |
Redo | Ctrl+Y | Reverses the most recent undo |
Cut | Ctrl+X | Removes the selection and stores it in the clipboard |
Copy | Ctrl+C | Copies the selected item to the Clipboard |
Save Blueprint | Ctrl+P | Saves the clipboard as a Blueprint for later use |
Select
The Select submenu lets users perform a variety of functions to modify Selections. Blocks within the selection are not factored in the following options, only the selection shape is modified.
Expand
- Expands the selection surface with the provided offset.
Shrink
- Shrinks the selection surface with the provided offset.
Distort
- Distorts the current selection with simplex noise by a specified radius and distance. Radius is the size of the noise pattern and the distance controls the distortion intensity.
Smooth
- Applies a Gaussian blur on the selection to smooth out the selection. StdDev is the intensity of the smoothing operation and the threshold is the 'cut-off' of how much input weight is needed to affect the output.
Bounding Box
- Creates a cuboid selection using the furthest points of the original selection. This option is only available when the selection isn't cuboid.
Convex Hull
- The Convex Hull function takes a concave selection and turns it convex, basically connecting a selection to create a solid shape. This option is only available when a shape is concave.
View
The View submenu lets you configure options related to viewing and rendering certain elements in the Editor Menu.
New View
Creates a new View located at the current position.
Show Selection
Toggles the rendering of Selections.
Show Biomes
Toggles the visualisation of biomes. Each biome is represented with its own colour.
Be aware that biomes in Minecraft are defined in a 4x4x4 grid. However, to make biomes feel more natural, vanilla warps the biomes visually. The biome overlay shows the "real" position of biomes, while biome blending and the f3 screen show the "warped" position of biomes.
The default shortcut for this view is Ctrl+B
.
Show Key Presses
This shows your keyboard and mouse inputs in the bottom-right corner of the screen. This can be useful for making tutorials or debugging problems.
UI Scale
This slider ranges from 0.5 to 2. This lets you change the size of all graphical elements in the editor mode.
Min Brightness
The 'Min Brightness' slider ranges from 0 to 1. This lets you change how dark unlit places look in your world. A value of 1 means all blocks are fully lit, this functions similar to night vision.
Fluid Opacity
The 'Fluid Opacity' slider ranges from 0 to 1. This lets you change the opacity of water to alter its visibility. A value of 0 will result in water being invisible.
Lava and modded fluids are not affected due to performance concerns.
Operations
The Operations submenu contains various useful 'operations' to modify blocks within Selections.
IMPORTANT: Operations only affect Selections.
Fill
The 'Fill' operation fills the selected area of blocks with a specified block. A small Window will open, allowing you to choose which block by clicking the block icon. This will open the 'Select Block' Window.
The default keybind for this operation is Ctrl+F
.
Fill Nearest
The 'Fill Nearest' operation doesn't use a specified block. Rather, it uses the nearest block that isn't air for each block within the selection.
Replace
The 'Replace' operation is similar to 'Fill'. However, instead of filling every block in the selection, you can replace a specific block with another.
The default keybind for this operation is Ctrl+R
. Note that this shortcut is overridden when a Placement is active.
Set Biome
The 'Set Biome' Operation sets the biome within the selection with a specified biome.
Autoshade
The 'Autoshade' operation shades your selection using a sun angle, either at the player position or at a set value. Different blocks can be set for the appropriate shading.
The Autoshade Window has many options to control how blocks are lit.
Option | Description |
---|---|
Sun | When enabled, lighting is used to shade blocks. When disabled, blocks are shaded with Ambient Occlusion. |
From | The 'From' drop-down controls how the selection is lit. The different lighting modes include: Player Position, Custom Positions and Sun Angle. When the Player Position is selected, the light source is centred to the player position. With Custom Positions, you can set multiple fixed light sources. Pressing 'Add Position' will add a new light source at your current position. Each source is marked with a yellow 'sun' and the intensity can be changed to alter how bright the light source is. The Sun Angle creates a 'sun' light source at a set angle. This is similar to a 'spot' light source, however, sun light sources affect everything at the same angle. |
Ambient Occlusion | Ambient Occlusion determines how exposed the block is to the light source. The less exposed a block is, the darker it'll be shaded. |
Global Illumination | Global Illumination is the effect of light 'bouncing' off multiple objects. Increasing this slider will result in more 'bounces'. |
Dither | Adds a blending effect to reduce the sharp texture changes. |
Palette Options | The 'Palette Options' section is used to determine what blocks are used when shading. When the 'Type' drop-down is set to Automatic, blocks will be chosen depending on the surface. You will be provided with a set of toggles to filder out blocks you don't want. When the 'Type' drop-down is set to Custom, You'll be able to input your own blocks. The list is ordered from dark to light and you can influence the amount of a specific block by using the slider adjacent to the block icon. |
You can save and load Presets for the Autoshade operation in the 'Presets' section.
To confirm the Autoshade, press the 'Autoshade' button at the bottom of the window.
Drain
Removes all water in your selection. This operation also removes the 'waterlogged' property from blocks.
Waterlog
Replaces all air blocks with water and replaces all water-loggable blocks with their waterlogged variant.
Smoothsnow
Adds a layer of snow between one and eight layers above existing terrain. No blocks are replaced as existing terrain is prioritised.
The operation attempts to generate snow as smooth as possible.
Simulate Gravity
The 'Simulate Gravity' operation processes simulates the effect of gravity to all blocks, regardless of whether they normally float or not.
Trigger Updates
The 'Trigger Updates' operation removes any blocks that are incorrectly positioned.
For example, a floating sign within the selection will be removed.
Hollow
Fills the inside of the selected object with air, leaving the a shell of the original object.
The 'Hollow' operation also considers transparent/non-solid blocks so having an exterior that includes glass will be accounted for.
Fill Gaps
The 'Fill Gaps' does the opposite of the 'Hollow' operation, empty space within an object is filled with your active block.
Again, transparent and non-solid blocks are considered.
Generate Colour Field
The 'Generate Colour Field' operation Generates a colour field using the CIELAB colour space within a selection.
A colour field (colour space) is a way to organise colours. CIELAB was chosen as it utilises XYZ coordinates to represent LAB. LAB represents three components of the colour space:
L - (Lightness)
- Brightness is mapped to positive X
- Darkness is mapped to negative X
A - (Red/Green)
- Red is mapped to positive Y
- Green is mapped to negative Y
B - (Yellow/Blue)
- Yellow is mapped to positive Z
- Blue is mapped to negative Z
All blocks within the colour field used are full, non-transparent blocks to reduce overlapping.
If two blocks are similar enough, Axiom will attempt to place them in the same position. However, Axiom prevents this by offsetting blocks until there is no overlap. This means there's little chance for blocks to be excluded.
Analyze
Displays each block type within a selection ordered by the count of each block. A total for both the count and distribution is shown in the last row.
Animated Rebuild
The 'Animated Rebuild' option allows for creating cinematics of a build being built block-by-block.
IMPORTANT: Animated Rebuild should be used with caution, as it may permanently break your structure.
Below are all settings in the Animated Rebuild window. All settings for refer to the delay between block placement.
Delay Setting | Description |
---|---|
Start Delay | The time until the first block is placed.1 |
Max Delay | Determines the maximum delay for all delays. |
Air Block Delay | The time it takes to place an air block within your selection. |
Same Block Delay | The time taken to place the same adjacent block (excluding air). |
Different Block Delay | The time it takes to place different adjacent blocks. |
Random Extra Delay | A random delay added to each block delay. The extra delay is randomised for each block placed. |
Horizontal Multiplier | Muliplies the delay with the provided value for all blocks placed with an offset on the Y axis. |
Vertical Multiplier | Muliplies the delay with the provided value for all blocks placed with an offset on the X or Z axis. |
By default, the starting point for the Animated Rebuild operation is located at the centre of the selection. To Change this, place a structure block at the position you'd like the rebuild to start. You can place multiple structure blocks to have more than one starting point.
Pressing 'Do Animated Rebuild' will start the animation. To cancel mid-animation, press Ctrl+Z
to revert to the original structure.
Notes
For versions 3.1.0 and below, a bug caused 'Start Delay' to be measured in ticks rather than seconds.
Windows
Windows are the main part of the Editor Mode. Allowing for any layout, Windows are extremely versatile and customisable.
All Windows are built around the main view as it's the only window that cannot be removed.
Opening New Windows
To open a closed window, use the Main Menu Bar and find the Windows
category. In there, you will find a list of each Window and its toggle.
When enabling a window, it will appear in the centre of the screen as slightly transparent. This is due to the window being undocked.
Window Layouts
Windows can be laid out in multiple ways on the screen. To adjust a window's position, simply drag the topmost part of the window and drag it to where you would like it to be.
Tip: Undocked windows can be minimised by clicking the triangle next to the window title.
Docking
To dock a window, drag the window and hover it over one of the eight blue shapes that appear. You can either dock using pre-existing windows or add a new position.
To undock a window, drag it by the title across the screen.
Other Windows
Themes
Themes can be used to further customise the Editor UI with custom colours. To edit the current theme, click Style Editor
under Help
in the Main Menu Bar. Themes can be imported and exported from the clipboard.
Select Block
The select block window is essentially the creative inventory for the Editor Mode. You can either search by block name or block ID.
Clipboard
A Selection can be copied to the clipboard using Ctrl+C
.
The clipboard can be cleared by right-clicking the icon and choosing the 'clear' option.
Left-clicking the 'Empty' clipboard icon opens up the Blueprint Browser.
Using the clipboard
With an item in your clipboard, you can paste it back into the world in the desired location using the mouse cursor position and pressing Ctrl+V
. This will initiate a Placement.
While the placement is initiated and the Gizmo is visible, some options will appear on your main view window. Which will allow you to edit the placement before it's placed.
To confirm the placement, press Ctrl+V
or the Enter
key.
Tip: You can set the Cut function save to the clipboard in the Keybinds Menu.
Views
Views are a system for keeping track of multiple named locations in your world, giving you the ability to swap between locations (even across dimensions) easily.
A new view can be created in the View submenu or by clicking on the ‘+’ button next to the ‘Main’ view above the game window in the Axiom Editor UI.
Views will keep track of your last position and teleport you back to that location when you switch back to the view. If you want to make sure the view stays at the correct location, you can turn on Pin World and Pin Location options. Pinning the location will make it so that you always teleport back to the pinned spot when you switch to the view.
Tip: If a location is pinned, you can teleport to the pinned location simply by clicking the view tab again, even if the tab is already selected
Blueprints
Blueprints are a system for saving and loading prefabricated assets. They are similar to schematics, but with a different structure optimized for searching and viewing.
Creating a Blueprint
A Blueprint can be created by having content in your clipboard and pressing Ctrl+P. This brings up the Create Blueprint menu. In here you can do a few things, you can name your blueprint, add authors, tags and rotate your blueprint to generate a thumbnail to easily recognize it later.
Authors, tags and names are all ways by which you can easily look up blueprints later. For example by searching the tag ‘tree’ or ‘structure’ you can find all blueprints that include that tag. There are a couple dozen default tags that Axiom ships with in order to cover a wide array of possible blueprints but if those don’t quite cover your needs you can always create your own tag by clicking the ‘+’, entering the name and clicking the ‘Create Tag’ button inside the ‘Add Tag’ menu.
When you save a blueprint a file system dialog opens up native to your operating system. This confirms the name you want to give to the blueprint and lets to save it as a .bp file on your local computer. This means that you can easily create blueprints in one world or server and then use them in another world without having to deal with messy import or export schemas. The files themselves are stored in your .minecraft folder under .minecraft/config/axiom/blueprints
.
Tip: Use tab to navigate the create blueprint window faster.
Sharing Blueprints
The blueprint files themselves can be sent to others who can then also use them in Axiom if they place the files in the designated file location. The blueprint folder supports nested directories as well, meaning that you can for example, put all your trees in one folder under the blueprints folder.
Blueprint Browser
Once you have blueprints, you can view them in the Blueprint Browser.
You can open the Blueprint Browser by clicking on the big button in the Clipboard window, or by using Main Menu Bar > Windows > Blueprint Browser
You'll be able to see thumbnails for all of your blueprints, as well as perform searches or filter by tags. Clicking a blueprint will 'open' it load into your clipboard.
Tip: You can go back and refresh by clicking the appropriate button next to the seach box.
Multiplayer
On multiplayer, blueprints can be saved to and downloaded from the server rather than saving to your device. This means everyone on the server can use your saved blueprint.
Active Block
Some tools use the block specified in the Active Block window. This includes most of the painting and drawing tools.
Blocks in the Editor UI can be drag-dropped on different locations to various effects:
- Into other UI elements (eg. tool mask) to quickly copy the block over
- Into the main viewport to fill the targeted selection (similar to Ctrl+F)
- Into the main viewport to flood replace the targeted block with the dropped block
The Active Block can be quickly set using 'pick block', which is bound to middle-click by default.
Tip: You can use middle-click to copy blocks from the world to your active block
History
The History window provides an interactive overview of the changes you've made to the world, as well as how many blocks each operation affected. It allows you to visualize the undo and redo actions, with the current history action highlighted with white text.
The History window can be interacted with directly. Clicking on a history entry with left click will revert all actions to that point. Right clicking the entry will point your camera towards the center of the edit.
History is deleted after leaving the world. However, the commercial license allows for history to be saved permanently across multiple worlds.
Tool Masks
Tool Masks empower users to set up rules for tools, applying their effects only when certain conditions are met. Leveraging boolean logic, Tool Masks allow users to specify block conditions across a variety of scenarios, such as affecting only blocks with air above them or a particular type of block beneath. These rule configurations, known as 'Rule Blocks', can be easily arranged in the tool menu via a drag-and-drop interface, providing a user-friendly alternative to scripting languages. The configuration of your mask is displayed as a string at the top of the menu for easy copying, sharing, and saving. The mask logic generates a boolean output, signifying either 'true' or 'false'.
The conditions fall into two main categories: Logic and Masks.
Logic conditions
Combining these logic conditions allows for a broad range of expressions in masks, enabling you to select almost all blocks meeting specific criteria.
Logic | Description |
---|---|
OR | The OR condition enables any rules within this block to take effect. For example, when selecting multiple blocks to mask, select blocks that match grass_block OR stone. |
AND | The AND condition requires all rules within this block to apply. For instance, if you want to select a block that has air above and dirt below it. However, conflicting rules won't function in the same ANY block, meaning you can't have two block = masks or two above = masks simultaneously. But, it's possible to nest another AND block inside. |
NOT | The NOT condition reverses the rule outcomes, making them true only when the original conditions are not met. For example, setting the rule above = air within a NOT block selects all blocks that do not have air above them. |
OFFSET | The OFFSET condition allows coordinate input to apply a mask for a nearby block relative to the current block. For example, using offset(0,-1,0){ surface } will mask block 1 block above the surface. |
Masks
Masks are conditions that depend on the target's state or the surrounding blocks' state.
Mask | Description |
---|---|
Block | The Block mask returns true when the target matches the specified block or block state. |
Above | The Above condition is true when the block directly above the target block matches the specified block or block state. |
Below | The Below condition is true when the block directly below the target block matches the specified block or block state. |
Near | The Near condition is true when any of the blocks in the set radius surrounding the target match the specified block or block state. |
Neighbour | The Neighbor condition returns true when any of the six blocks directly adjacent (up, down, north, south, east, west) to the target match the specified block or block state which allows the mask to check the immediate vicinity of the target block. |
Adjacent | The Adjacent condition returns true when any of the four horizontally touching blocks match the specified block or block state. |
Y | The Y mask returns true when the target aligns with the given condition relating to the block's Y coordinate level. There are several conditions for the Y mask which can be modified by clicking on the = sign. |
Angle | The Angle mask utilises two inputs. The Angle input is used to mask a specific angle and the Range input is how many angles are used originating from the Angle input. For example, an angle of 90 and a range of 10 would cover all angles from 80 to 100. |
In Selection | The In Selection condition returns true when the target block is within the user-defined selection area. |
Can See Sky | The Can See Sky condition returns true if the target block has direct access to the sky. |
Surface | The Surface mask returns true if the block is adjacent to air or liquids. |
Mask Scripting
Mask Scripting uses the same formatting for the Script Brush. Mask Scripts allow users to input custom scripts using Lua. However, a boolean value is still expected to be returned.
Video Demo
Target Info
The Target Info window shows information of the block targeted by your mouse in the Editor UI.
The window contains:
- The block name.
- The biome at that position.
- The position of that block in the world.
- The distance from your camera to that position.
World Properties
The World Properties window lets you change certain properties and vanilla behavior about the world. This is freely accessed in single player worlds but permissions need to be granted on multiplayer due to the significant impact that these might have for those sharing a world with others. See below for the various world properties you can adjust.
Time
The Time submenu lets you change things about the time in the world. You can freeze the time in the world, use the slider for a specific time or use a preconfigured time by pressing the designated buttons.
Player
The Player submenu lets you adjust properties relating to the player entity:
- Player Invulnerability Toggles the Invulnerability Command.
- Trample Farmland Disabling this property prevents farmland from being trampled.
- Mob Spawning This property corresponds to the vanilla "doMobSpawning" gamerule.
Blocks
The Blocks submenu lets you adjust properties relating to blocks in the world
- Block Drops Disabling this property will prevent all drops from blocks, including items when breaking inventory blocks like chests.
- Block Gravity Disabling this property will prevent gravity-affected blocks like sand and gravel from falling.
- Fire Tick This property corresponds to the vanilla "doFireTick" gamerule.
- Random Tick Speed is a slider which corresponds to the vanilla "randomTickSpeed" gamerule. Setting this to 0 will disable random ticking.
Palette
The palette window is very useful for saving blocks in groups to be used in the future.
The top part of the window shows the 16 previously used blocks. Clicking on one of these blocks will set it as your Active Block.
Creating Presets
The lower part is used to display your saved palettes. Right clicking on this lower half and pressing "Add new category" will present a window to name your new palette category.
After naming your palette, a dropdown with your title with a stone block inside will appear. With the drop-down open, right clicking the stone block will display an option to add a new block or remove that block.
Right clicking on the dropdown when closed will display some options related to the category. Through this you can add to, rename or delete the category.
You can also add to the category by dragging and dropping blocks from the Recently Used blocks.
Using Presets in Other Tools
Tools that paint more than one block type like the Noise Painter support dragging and dropping presets into them.
Tip: Dragging and dropping palettes on a block or selection will replace it with random blocks from the palette.
Tool Options
The Tool Options Window is used for Tools to change their properties. Tool properties are essential for using the Editor Mode.
This window contains sections for each type of option as well as Tool Presets.
Common Options
Option | Description |
---|---|
Shape | Determines the shape of your brush. |
Radius | Determines the size of your brush. |
Mask Surface | Ensures the tool only affects solid blocks adjacent to a non-solid block. |
Replace Solid Blocks | Ensures the tool only replaces solid blocks. |
Extend to Ground | Ensures the final placement is connected to the ground by stretching each block down until it collides with a solid block. |
Tools
Axiom presents a rich set of tools for real-time, precise manipulation of your Minecraft world. These tools are readily accessible in the top layer of the 'Tool' window. Additionally, the 'Tool Options' window offers further configuration possibilities. Each tool comes with its unique settings that can dramatically change its functionality and impact. We encourage exploration and experimentation as it can lead to unanticipated yet fascinating or beneficial applications of these tools.
Note: By ctrl clicking on a slider, you can manually input a value that exceeds the default parameter limits. Use this feature with caution.
Brushes
Most tools used to manipulate the world use a format known as ‘brushes’. Brushes let the user click and drag in the world with a predefined shape in order to gather blocks to include in the brush’s path. You can select the shape of the brush in the dropdown menu. The default shape is a sphere.
You can choose from a sphere, a cube or an octahedron.
Target Blocks
A Target Block can be any block within the drawn radius of your brush stroke. Target blocks blocks are used for Masks and the Script Brush.
Essentially, a Target Block is the currently processed block within a brush stroke. Masks and other operations can affect the processing of each Target Block.
Selection Tools
This section covers selection tools and their options. An option that is generic to all selection tools a concept known as boolean operations. The default option is ‘add’
Boolean Operation | Description |
---|---|
Add | Adds the selected area to the current selection |
Subtract | Subtracts the selected area from the current selection |
Replace | Replaces the current selection with the selected area |
Intersect | Selects only the area that overlaps with the current selection |
Note: At very large scales non-cuboid selections become less performant due to the complexity in keeping track of the entire region. If you need to perform an operation on a very large area it is recommended to use a cuboid selection and encompass the entire build.
Magic Select
The Magic Select tool is a powerful selection tool which improves the building process immensely if used correctly. With a single click on a block type, the Magic Selection tool swiftly selects all adjacent blocks of the same type, streamlining the selection process.
The tool features the following options: The Compare option mode lets you select the types of blocks that it can select adjacent to the original block. The default mode is ‘Block’
Compare Type | Description |
---|---|
Block | All blocks of the same type including all blockstates. |
BlockState | All blocks of the exact same blockstate as the target block. |
Solid | Any block that you cannot pass through. For example stone, glass panes, etc. Not flowers, water, etc. |
Any | All blocks directly adjacent including non solid blocks except for air. This causes it to ‘stop’ once it reaches air. |
The Limit option is a slider which can be configured to set how many blocks it should select in total. The magic select algorithm works by expanding outwards from the centre block to form an octahedron. Increasing the limit simply lets you select more blocks. The default limit is set to 100,000 blocks but can be set to any arbitrary limit.
The Range option is a slider which lets you set how far the algorithm should look for any adjacent blocks. This lets the tool ‘jump the gap’ between two blocks. The range simply represents how far it can look before cutting off. For example a bushy tree might have two or more blocks of air between it’s leaves and logs. This lets you select all the leaves that are on the tree regardless of the fact that there are air blocks between two branches with leaves.
The Surface Only option is a toggle which makes the tool only select the blocks on the surface of the selection or, equivalently, all blocks adjacent to air or the ‘outside’.
Tip: You can drag-click across multiple block types to select more than one block type.
Box Select
The Box Select tool allows you to create cuboid selections. To start, click and drag between two points. The selection can be further refined by repositioning the 3 Gizmos.
If you want to select between two known coordinates instead, these coordinates can be entered into the tool's options.
Freehand Select
The Freehand Select tool allows you select spheres, cuboids and octahedrons with a brush stroke. It's rather basic, but it can be helpful to select strange parts of a build that might be difficult to select otherwise.
Lasso Select
The lasso select is very unique, it allows the user to draw out a shape on screen to determine the selection.
To draw the selection, use right-click and draw out the looped shape. After releasing right-click, the drawn outline will be cast to the blocks within your view. You can set the depth of the selection by adjusting the Depth slider.
Enabling the 'Include Non-Solid' will allow the selection to include blocks such as short grass.
Utility Tools
Utility tools assist builders for measuring and planning builds respectively.
Ruler Tool
The Ruler Tool is designed to measure the distance between two or more points in a world. You can add points to the world by right-clicking. Once you have selected two or more points, a line appears between the most recent point and the one before it. The rounded Euclidean distance, or straight line distance, is shown in the centre of this line. You can keep adding more points as needed.
When you check the tool options, you'll find more information about these points. What's shown depends on whether you've chosen two or more points.
Here's the information you'll see:
- Total Length (Euclidean): This is the straight-line distance from the first point to the last one, as if a bird flew directly there, not caring about the blocks in between.
- Total Length (Manhattan): This is the sum of the horizontal, vertical, and depth distances. In Minecraft terms, it's like how a player would travel: one block up, down, left, right, forward, or backward at a time.
- Minimum: The coordinates of the earliest point in the sequence of points.
- Maximum: The coordinates of the latest point in the sequence of points.
- Bounding Size: The size of the box needed to draw around all the points.
- Yaw (Only visible with two points): The yaw of the line between two points.
- Pitch (Only visible with two points): The pitch of the line between two points.
Tip: Ruler measurements are permanently visible even outside the editor, so make sure to remove them once you're done.
Annotation
Painting Tools
Painting tools enable you to 'paint' over blocks, i.e., replace existing blocks in the world based on the chosen tool, rather than adding new ones. Axiom offers a range of painting tools, each with unique configurations for fine-tuned block editing.
Painter
The Painter is the most basic painting tool. It allows you to paint blocks with a single type using a brush stroke.
The Mask Surface option allows only painting blocks which are adjacent to a non-solid block.
The Copy Properties option appears when the Active Block has a block that has more than one variant. This could include stairs or slabs. When enabled, it replacing existing slabs, stairs, etc to the active block. This is similar to the Type Replace found in the Replace Capability.
The Mode drop-down allows switching between Active Block, Clipboard and Gradient. The active block mode paints with your active block. The clipboard mode paints using your clipboard in a repeating grid pattern. The gradient mode is similar to The Gradient Painter but instead paints the gradient around the centre of the brush. The merge strokes option for the gradient mode stops the painter from overriding blocks that are in the gradient.
Noise Painter
The Noise Painter is a very versatile painting tool which enables the user to use procedural noises for painting in the world. There is a large variety of noises which can be picked from and configured. Each of which having unique options and patterns useful in different scenarios.
The first unique option is the toggle for the ‘3D’ setting. This allows the noise to be calculated in 3D, allowing for the painting of the sides of surfaces instead of just the top.
Next, we have the scale option, which adjusts the size of the noise relative to the block grid. A larger scale means that the noise pattern is spread over a larger area of blocks.
Finally, the Anisotropic option enables control of scale on each axis individually, allowing for a stretched effect.
Noises
There are a few shared settings across the different noises. The common options between these noises are listed below, with specific settings for each noise described in their respective sections.
- Octaves: This setting determines the number of layers of noise that are used. More octaves result in more detail and complexity but comes with a higher computational cost. Lacunarity and Gain can only be configured when you have more than one octave for your noise.
- Lacunarity: This influences the ‘frequency’ of each octave. A higher value increases the frequency, leading to smaller features in the noise pattern.
- Gain: This controls the amplitude of each octave. A higher value will increase the influence of each successive octave. A lower value will make effect of the octavation more subtle.
- Seed: The seed value is used to initialize the noise generation algorithm, providing a starting point. Different seeds produce different noise patterns, but the same seed will always produce the same pattern. Keeping the same seed is useful for when you want to continue a pattern rather than starting a new one.
- Jitter: This value controls how uniform the cellular noise appears by limiting how much the seed points can move off their starting grid arrangement.
A value of 0.0 will return a perfectly uniform grid pattern, 1.0 returns a minimally uniform pattern.
Applicable only to the cellular noise types Voronoi Edges, Worley, and Metaballs.
Simplex
Simplex noise generates a smooth, continuous pattern that often resembles a hilly or wavy terrain when visualized.
Simplex noise is an improved version of Perlin noise.
Worley
Worley noise, also known as cellular noise, creates a pattern that looks like irregular cells or Voronoi diagrams, with each 'cell' having a distinct point of intensity and fading out towards its borders.
- W1: This is the weight of the distance of the closest voronoi point.
- W2: This is the weight of the distance of the second closest voronoi point.
- W3: This is the weight of the distance of the third closest voronoi point.
The interplay between W1, W2, and W3 values significantly affects the Worley noise outcome. For example, if W1 is high and W2 and W3 are low, the pattern will have clearly defined, irregular cells. But if W1, W2, and W3 are all high, the pattern will be more complex and interconnected, as it's influenced by multiple nearby points.
Voronoi Edges
This type of noise specifically accentuates the edges or boundaries between the cells formed in Voronoi diagrams, resulting in a grid of interconnected lines or a 'cracked' appearance. This is useful for making things like cracks, stone tiles, etc.
Metaball
Metaball noise creates a pattern that looks like overlapping blobs or spheres, with smooth transitions between these 'blobs'. Similar to the patterns of blobs in lava lamps.
- Range: Adjusts the radius around each point that influences the noise. A larger range results in larger, more spread-out blobs, resembling a pattern more reminiscent of the aforementioned lava lamp blobs.
White Noise
White noise generates a completely random pattern with no discernible structure, looking like static on an old television screen.
Splatter
Follows a similar pattern to Simplex but adds a random offset to the distribution.
Blocks
The section beneath the noise configuration allows you to specify the blocks used in painting, as well as determine their distribution within the noise pattern. You can adjust the block distribution by setting a threshold between 0 to 1 or specifying a per-block percentage from 0 to 100%. The threshold setting is particularly useful when you're tweaking parameters for complex noises like Worley.
Clicking the '+' sign adds a new block. Clicking on an existing block allows you to select and add different blocks to your noise pattern. You can also drag and drop palettes and active blocks onto the blocks section.
To modify the property of a block, right-click on the block icon and a menu will appear, allowing you to toggle and set different properties.
When one or more blocks with multiple properties is used, a Copy Properties button will appear at the bottom of the block list. This will paint over existing blocks with the same block state, while keeping the noise pattern.
Preview
Lastly, beneath the settings, there are three windows to aid in visualizing the noise pattern, cumulative distribution, and probability density:
- Noise Preview: As the name suggests, this provides an approximation of how the current noise settings would look, mapped to the voxel grid. It uses a gray-scale representation to depict block presence, with white denoting the primary block and the color darkening as more blocks are added. Black signifies no blocks.
- Cumulative Distribution and Probability Density Visualizers: These tools are especially useful when you've set the Blocks mode to be threshold-based. They help illustrate how the blocks will be distributed within the noise pattern. The Cumulative Distribution Visualizer provides a graph showing the cumulative percentages of different blocks as the noise threshold increases from 0 to 1. The Probability Density Visualizer gives a sense of how likely each block is to appear at a given noise value. It can help you understand and fine-tune the balance of blocks in your noise pattern.
Biome Painter
The Biome Painter is similar to the Painter tool, except it paints biomes instead of blocks. Biomes in Minecraft are represented by a 4x4x4 cell of blocks stopping at world height. Though biomes are stored in cells, they are altered in the rendering to make their shape irregular.
You can select any biome from the dropdown, including modded biomes sent to the client.
The Fill Vertically option fills the entire span of the world height when enabled, allowing users to quickly paint the entire column.
The Visualize Biome toggle is on by default and shows the 'real' position of biomes in the 4x4x4 grid.
Script Brush
The Script Brush is a very powerful tool, it processes Lua code input which can be used to alter blocks based on multiple conditions.
Assuming you know some programming basics, this documentation will teach and simplify the tool in it's entirety.
The Lua programming language is similar to Python, but is more lightweight. Hence why it was used in the mod.
Script Examples
Even though the Script Brush can do almost anything, there are some things that it can't do so well. These include generating structures or anything that requires hard coding. The following examples may vary in difficulty.
- Terrain Generator
- Texturing Brush
- Rock Generator
- Crop Painter
- Spike Generator
- Cave Generator
Tool Options
The Tool Options window is used to enter code. Presets can be used to save code to be used later.
Custom Variables
These two variables allow you to interact with coordinates and retrieve Blockstate IDs.
x, y, z
The values of these three variables represent the position of the Target Block. Meaning using these three values is much better than hardcoding specific coordinates.
if y<100 then
--If the target block has a y level of less than 100
-- Do Something
end
blocks
The blocks object (or table) allows searching for Blockstate IDs. Blockstate IDs are numerical values used to represent a block state. You shouldn't use these values directly as it can get confusing.
Blockstate IDs are not the same as Block IDs1.
dirt=blocks.coarse_dirt
Custom Functions
Custom functions allow for further use of the two variables when combined.
getBlock(x,y,z)
Returns the Blockstate ID value for the given coordinate. This function does not return a Blockstate ID with block properties.
In this example, I use return
to place a block at the Target Block position using blocks.dirt
. Not to be confused with setBlock.
if getBlock(x,y,z)==blocks.grass_block then
-- get the target Blockstate ID and check if it matches the grass_block Blockstate ID
return blocks.dirt
end
setBlock(x,y,z,Blockstate ID
)
The setBlock function is another method to place blocks. Unlike using return, the position can be added without stopping the script.
An offset to the block placement can be added as it uses the XYZ variables. Using the setBlock function instead of return enables the ability to set more than one block for every Target Block process.
carpetFitForAKing=blocks.pink_carpet
if getBlock(x,y-1,z)~=blocks.air and getBlock(x,y,z)==blocks.air then
-- only allows blocks with an empty block above
setBlock(x,y,z,carpetFitForAKing)
-- changes the block at the target block position
end
isSolid(Blockstate ID
)
The isSolid function returns a boolean if the block has a solid collision box.
--Represents solid blocks with lime wool, everything else is represented with red glass
currentBlock=getBlock(x,y,z)
if isSolid(currentBlock) then
setBlock(x,y,z,blocks.lime_wool)
else
setBlock(x,y,z,blocks.red_stained_glass)
end
getHighestBlockYAt(x,z)
Returns the Y axis value for the highest block at the given x and z position. Unlike the other functions, this one returns a number between -64 and 319.
highestBlock=getHighestBlockYAt(x,z)
if highestBlock > 100 then
-- checks if the highest block is above Y=100
setBlock(x,highestBlock,z,blocks.snow_block)
end
withBlockProperty(Blockstate ID
,Property=Value
)
The withBlockProperty function allows for adding properties to existing Blockstate IDs. This removes the limitation of using the blocks object to set blocks in the world.
--Replaces wheat with its fully aged variant
if getBlock(x,y,z)==blocks.wheat then
agedWheat=withBlockProperty(blocks.wheat,'age=7')
setBlock(x,y,z,agedWheat)
end
getBlockState(x,y,z)
Unlike getBlock, this function returns the exact Blockstate ID for the provided coordinate.
--Replaces fully grown wheat with new wheat
currentBlockState=getBlockState(x,y,z)
--gets the exact blockstate ID for the target block
agedWheat=withBlockProperty(blocks.wheat,'age=7')
newWheat=withBlockProperty(blocks.wheat,'age=0')
--defines fully aged wheat and new wheat
if currentBlockState==agedWheat then
--check if the target block is wheat with the age of 7
setBlock(x,y,z,newWheat)
end
getBlockProperty(Blockstate ID
,Property
)
The getBlockProperty function returns the value for the provided Blockstate ID and Property. Block Properties2 are attributes used by Minecraft to determine things like stair rotation and redstone power levels.
--Checks if the target block can be waterlogged, and waterlogs it if possible
currentBlockState=getBlockState(x,y,z)
if getBlockProperty(currentBlock,'waterlogged')=='false' then
--Checks if the block isn't waterlogged. Only waterloggable blocks have this property
waterloggedBlock=withBlockProperty(currentBlock,'waterlogged=true')
--Gets the waterlogged variant of the current block
setBlock(x,y,z,waterloggedBlock)
end
isBlockTagged(Blockstate ID
,Tag
)
This function can be used to check if a block is within a group such as fences or logs. This can reduce the use of manually listing blocks, saving performance in your script. The function returns true or false if the two block is within the tag group3.
--Replaces all fences with their oak variant
oakFence=blocks.oak_fence
currentBlock=getBlock(x,y,z)
if isBlockTagged(currentBlock,fences) then
setBlock(x,y,z,oakFence)
end
getSimplexNoise(x,y,z,seed
)
The 'getSimplexNoise' function is used to generate 3D noise using the OpenSimplex noise algorithm. The function will return a 'random' float between 1 and 0 depending on the four inputs.
The seed value only accepts integer values. If the seed value is invalid, it will default to 0. If the seed value is left empty, the seed will be randomized.
--Places black and white and black concrete using a noise threshold, making an equally distributed pattern.
niceSeed=69
threshold=0.5
if getSimplexNoise(x,y,z,niceSeed)>threshold then
setBlock(x,y,z,blocks.white_concrete)
else
setBlock(x,y,z,blocks.black_concrete)
end
getVoroniEdgeNoise(x,y,z,seed
)
Similar to 'getSimplexNoise', however this function generates a 3D noise using the Voroni Edge algorithm.
--Places black and white and black concrete using a noise threshold, making an equally distributed pattern.
niceSeed=420
threshold=0.5
if getVoroniEdgeNoise(x,y,z,niceSeed)>threshold then
setBlock(x,y,z,blocks.white_concrete)
else
setBlock(x,y,z,blocks.black_concrete)
end
Template Variables
Template Variables are used control the functionality of the script and to display options directly in the Tool Options menu.
All Template Variables are encased using the '$' character when used in scripts.
once
The 'once' variable sets the brush to run the script once when using the tool, disabling the 'brush' effect.
This variable does not return a value. It only alters the function of the script itself.
--sets a singular block of pink wool at the mouse position per use of the brush.
$once$
setBlock(x,y,z,blocks.pink_wool)
blockState(title
,default
)
The 'blockState' variable allows the block to be set using the Tool Options menu using a Block Icon button. The default option can be set using a Block ID.
--Places the chosen block in the tool options. By default, oak leaves are chosen. The title: 'Leaf Type' is displayed to the right of the leaf icon
leaf=$blockState(Leaf Type,oak_leaves)$
setBlock(x,y,z,leaf)
int(title
,default
,min
,max
)
The 'int' variable adds a slider which can be used to input whole numbers into the script using a Slider.
--Creates pink wool pillars with a height which can be modified using the 'Height' slider
$once$
height=$int(Height,5,1,10)$
--default value of 5, minimum value of 1 and maximum value of 10.
for yo=1, height do
setBlock(x,y+yo,z,blocks.pink_wool)
end
float(title
,default
,min
,max
)
Similar to the 'int' variable, but allows for floating point numbers within the Slider.
--Allows for control over the threshold using the 'Threshold' slider
threshold=$float(Threshold,0.5,0,1)$
if getSimplexNoise(x,y,z)>threshold then
setBlock(x,y,z,blocks.white_concrete)
else
setBlock(x,y,z,blocks.black_concrete)
end
boolean(title
,default
)
Booleans allow for adding toggles to the Tool Options menu.
--Toggles between green and red concrete using the 'Toggle Green' button
green=$boolean(Toggle Green,true)$
--enabled by default as its set it to true
if green then
setBlock(x,y,z,blocks.green_concrete)
else
setBlock(x,y,z,blocks.red_concrete)
end
Notes
A list of block tags can be found here.
Gradient Painter
The Gradient Painter tools allows you to paint gradients using multiple blocks.
To use, click on pos1 and you will see a line appear. Click and drag to paint from pos2.
The Mask Surface option allows only painting blocks which are adjacent to a non-solid block.
Planar vs Spherical Gradients
You may select the type of gradient to be either spherical or planar.
As you can see, for the "Plane" option, the gradient goes from pos1 to pos2 in one direction. For the "Sphere" option, The gradient radiates from pos1 to pos2, with pos2 being the radius, and pos1 being the center(i.e. starting point)
Interpolation
You may select the type of interpolation to be used: Nearest, Linear, and Bezier. See the difference below:
In order from top to bottom: Nearest, Linear, Bezier.
Look up the curves to see how it is calculated specifically but in essence, nearest gives you hard boundaries between each block type. Linear gives a smooth transition as the name implies, and Bezier has a more rapid change in the center, and eases in/out. The effect is more apparent with larger gradients.
Locking
You may select between no locking, locking only pos1, and locking both pos1 and pos2.
No locking makes it so that the start and end points of the gradient change with every stroke
Locking only pos1 makes it so that the starting point of the gradient remains fixed even after you release the mouse button. However pos2 remains unfixed such that the length of the gradient can change freely.
Locking both pos1 and pos2 makes it so that the gradient's start and end points remains fixed, and you can use multiple strokes to cover the same area with the same effect.
To unlock the points select locking to "none".
Clamp to edge
If this option is enabled, the gradient will be applied in such a way that it doesn't extend beyond pos2.
Drawing Tools
Drawing tools are used to sculpt the world, adding or subtracting blocks in a way similar to the sculpting tools found in other 3D software. Each tool uses unique placement algorithms, allowing for varied effects. Axiom provides a wide array of these tools, each one equipped with specialized Tool Options for precise block editing.
Freehand Draw
The Freehand Draw tool is the most basic drawing tool and uses the Active Block to draw. In the Tool Options, you can set the brush radius and shape.
Sculpt Draw
The Sculpt Draw tool is a powerful sculpting tool to change shape your terrain and organics. It uses the direction the surface is facing (the surface normal1) to determine what the peak of the shape should be. Instead of utilizing the active block, the Sculpt Draw tool pulls out existing blocks from the surface. Various settings are available to finetune the tool's sculpting behavior:
- Radius: Unlike other brush tools, the radius in the Sculpt Draw tool influences not only the size but also the shape of the sculpted form. Larger radii result in more spherical or ovoid forms, while smaller radii create parabolic shapes.
- Strength: This setting determines the intensity of the sculpted shape. The strength slider, ranging exponentially from 0 to 5, can be overridden for higher values. Given the tool's surface-normal approach, different strengths can yield a wide variety of results. This makes it versatile for creating structures such as overhangs, spiky formations, or naturally eroded patterns that seamlessly integrate with existing structures.
- Invert: This option toggles between adding to or subtracting from the surface, useful for carving out erosion paths or whittling down organic structures to create natural-looking strokes.
- Mask Y: When enabled, this setting causes the tool to only add mass along the Y-axis. This results in a more gradual change rather than abrupt protrusions, making it ideal for shaping the top surfaces of structures in a natural manner.
- Denoise: This option applies a denoising algorithm to smooth the shapes drawn by the Sculpt Draw tool. Generally, it's recommended to keep this setting on to enhance the tool's natural look. However, if you desire a rougher, rockier surface, you can disable this option.
The surface normal is a concept from geometry. In simple terms, it's the direction that a particular surface is facing. For example, if you were standing on flat ground in the real world, the surface normal would be straight up. If you were standing on a slope, the surface normal would point out at an angle.
Rock
The Rock tool is a noise-based sculpting tool useful for making rock-like terrain and shapes. It can be used for both individual rocks and boulders as well as making surfaces look more rocky and rough. It uses several parameters that change how rocks form in general as well as in relation to the surface they’re placed on. It uses the active block to determine the palette. Various settings are available to finetune the tool’s sculpting behavior:
Noise Settings
The noise settings lets the user configure how random and rough the rocks created by the sculpting tool should be. There are several settings that can be adjusted to change the noise’s behavior.
The noise radius is a setting that determines the 'scale' of the noise-induced modifications. A larger noise radius implies a broader impact zone, affecting more blocks, which in turn forms bigger, blob-like configurations that are typically more rounded and smoothed out due to the wider distribution of changes. On the other hand, a smaller noise radius, which affects fewer blocks, will result in more refined and jagged alterations, constrained by the voxel grid size.
The ‘Noisiness’ slider affects how ‘noisy’ or random the sculpted blocks will be. A higher level of noisiness yield more random and blobby looking rocks. A lower level of noisiness yields more smooth spherical rocks. Combined with the noise radius and other factors this can impact how rough the rocks’s final appearance will be.
The Noise Field Seed lets you enter a seed should you want to continue a pattern that you previously used or reuse after playing with parameters, by default it is randomized on every stroke.
Smoothing Settings
The smoothing settings affect how much the rocks produced by the previous settings get smoothed out in order to create a more coherent and unified looking rock shape rather than being floating blobs.
The Smoothing Standard Deviation settings let you set the strength of the Gaussian blur applied to the tool. The default ranges from 0 to 5 but can be extended beyond the cap. 0 being equivalent to having no smoothing applied, 2 - the standard setting - being equivalent to having roughly ~4 blocks of range of smoothing and 5 being very smooth with a range of roughly ~10 blocks of smoothing.
The Meld strength is a feature that lets you determine how strongly a rock should be melded or belnded together with the existing blocks of the world. This causes rocks to smooth out more near the edges of the brush in order to ease out the jagged edges that a rock might otherwise have. The default ranges from 0 to 3 but can be extended beyond the cap, 0 having no melding applied and just being placed at the surface, 3 being a strong melding affect. The meld strength is also affected by smoothing, with more smoothing causing ‘melded edges’ to be more finely smoothed into the existing blocks.
Weld
The Weld tool is a tool that uses a Gaussian blur to add on mass to a surface in a way similar to how using a welding machine with filament would add mass to an area. It can be used to make seams between harsh edges or to flare out the land mass from an existing area onto a flat surface in a seamless blend. It uses the Active Block to determine what blocks to place. It is partially configured using the brush settings and has a few more settings that change the algorithm in specific ways.
The Smoothing strength can be adjusted to make smoother welds, a higher smoothing setting means that the tool will need a lower threshold to operate as they constrain each other. Generally a higher smoothing strength will also increase the size of the affected area.
The Smoothing threshold can be adjusted to make it harder for the tool to affect a given area. This makes it possible to constrain the tool in a way that helps to create more natural flares and seams into existing builds.
The Replace Solid Blocks toggles the ability to override other solid blocks with the Active Block.
Melt
The Melt tool is a tool that uses a Gaussian blur to subtract mass from a surface. The best way to describe it is being the opposite of the Weld tool. Rather than flaring out edges or filling in seams it can be used to melt into or carve away at surfaces in a way that blends in with the existing terrain to make things like erosion patterns. It is partially configured using the brush settings and has a few more settings that change the algorithm in specific ways.
The Smoothing strength can be adjusted to make smoother melting paths, a higher smoothing setting means that the tool will need a lower threshold to operate as they constrain each other. Generally a higher smoothing strength will also increase the size of the affected area.
The Smoothing threshold can be adjusted to make it harder for the tool to affect a given area. This makes it possible to constrain the tool in a way that helps to create more natural looking carvings and erosion patterns.
Stamp
The Stamp Tool is a Blueprint placement tool designed for placing muliple, randomly placed blueprints. Listed below are all Tool Options for the Stamp Tool.
Option | Description |
---|---|
Base Chance | The base chance is the final factor that determines placement. A base chance of 1 means it will always place the blueprint regarding the Min Spacing. |
Min Spacing | The Minimum Spacing is the first factor that determines placement. A minimum spacing of 5 will result in the centre of two blueprints being at least five blocks apart. |
Place (Immediate) | The immediate option places all blueprints immediately after releasing your brush stroke. |
Place (Deferred) | The deferred option allows you to place blueprints with multiple strokes. You can also manually offset and rotate the blueprints by using the Gizmo located at the centre of the blueprint. New brush strokes will still apply the placement rules to previously placed blueprints. |
Random Yaw | Randomises the placement by rotating the blueprint in a random direction. |
Random X/Z Flip | Randomises the placement by flipping the blueprint on the X and Z axis. |
Keep Existing | When enabled, pre-existing blocks are not overridden. |
Extend Foundation To Ground | If the bottom surface doesn't reach the ground, it will be duplicated down until it does. |
To load blueprints into the Stamp Tool, click the 'Add Blueprint' button. This will open your Blueprint Browser and click on the blueprint you'd like to add. To add multiple blueprints, you can either Dock the Blueprint Browser or use Shift + Click to avoid closing the window.
Blueprints have their own offset and chance. If the Base of your blueprint should be lower, you can edit it here. If you want less or more of a specific blueprint, you can also change that here.
Video Demo
Text
The Text tool lets the user write text with any True Type Font or .ttf file font in the world. It can be configured to have a smaller or larger font scale
To start writing, enter text in the 'Text' option. After text has been input, right-clicking a position in the world will create a Placement with the text.
The direction can be altered using the 'Direction' drop-down.
Font Options
The 'Size' slider changes how large the text is.
The 'Use Builtin Font' toggle allows for importing custom fonts when disabled.
The 'Use Full Blocks' toggle removes stairs and slabs from the text if the active block has those variants.
Shape Tool
The Shape Tool lets you make geometric shapes with your active block. Since these shapes are computed mathematically, they can adjust to any angle and transformation, giving you lots of control over their look. When you 'place' these objects, you can use the gizmo to reposition them and rotate them at any angle.
Each shape lets you tweak its XZ or XYZ dimensions. In addition to controlling rotation using the gizmo, you can also alter the angle sliders for yaw, pitch, and roll in the 'advanced options' dropdown. Plus, there are options for making the shapes hollow, placing only the outer layer.
Category
Category | Description |
---|---|
Solid | Creates a solid 3D shape. |
Flat | Creates a flat 2D shape. |
Modelling | Creates a surface using multiple points. |
Shapes
Shapes | Flat Shapes | Modelling Shapes |
---|---|---|
Sphere | Disk | Convex Hull |
Cuboid | Plane | Smart Surface |
Octahedron | Regular Polygon | Triangle Strip |
Supersphere | Superellipse | Triangle Fan |
Cylinder | Archimedean Spiral | |
Tube | ||
Cone | ||
Pyramid | ||
Torus | ||
Dodecahedron | ||
Icosahedron |
Options
Option | Description |
---|---|
Separate XYZ | When enabled, all three scale axes can be modified separately. |
Diameter | This slider controls the size or scale of the selected shape. |
Advanced | Allows you to directly alter the yaw, pitch and roll via sliders. |
Modifiers
Modifier | Description |
---|---|
Hollow | Generates the shape filled with air |
Metaball | Applies a melting effect to the shape |
Placement
Placement | Description |
---|---|
Gizmo | Switch between a global or local gizmo |
Pivot | Switch between centred gizmo or base gizmo position |
Paste
Paste | Description |
---|---|
Keep Existing | Disables the overriding of other blocks when placing the shape. |
Paste Copy | Places a copy of the shape at the current position. |
Video Demo
Path
The path tool features the ability to set multiple points in a 3D environment and choose how each point is connected with blocks.
The block used is determined by the Active Block
You can choose from either a line or a curved path to connect the points. There are multiple variants for both lines and curves:
- Line
- Bresenham
- DDA
- Curve
- Catenary
- Catmull-Rom Spline
- Bezier Curve
Path Types
Line (Bresenham)
- A line which is always one block wide and only changes angle once it has reached a node. This is the only path type without a modifiable width.
Line (DDA)
- Unlike the Bresenham Line, the DDA has a modifiable width using the Radius slider, allowing for rounded path lines.
Catenary
-
This path type creates the effect of hanging rope or bunting. For each point, the path takes a 'dipped' approach to the next point. You can increase the slack by increasing the Slack slider.
You can also invert the slack direction by enabling the Inverted button.
Catmull-Rom Spline
- This path type smoothes out the path direction while still reaching each node.
Bezier Curve
- The Bezier Curve path type smoothes the path but isn't required to reach each node except for the start and end nodes. Unlike the Catmull-Rom Spline, the nodes influence the direction rather than direct it.
Path Tool Options
Option | Description |
---|---|
Looped | Connects the end position to the start position to form a loop. |
Use Stairs and Slabs | This option only appears when using a block with stair or slab variants such as stone or planks. It smooths out the path by adding stairs and slabs to the curve or line. This works best with a radius of one or more. |
Shape | Allows you to change the path shape between sphere, flat and Clipboard. This setting is not available for the Bresenham line. |
Radius | Used to adjust the width of the chosen shape between a spherical or flat surface. |
Keep Existing | When enabled, all existing blocks will not be overridden by the path. |
Extend to Ground | When enabled, the path is extended to the ground until it reaches a solid surface. |
Paste Copy | The 'Paste Copy' button places the path while allowing you to continue editing it. |
Node Options
When an individual node is selected, you can adjust the position using the Gizmo.
Alongside adjusting node positions, you can modify the node properties individually.
Option | Description |
---|---|
Position | Allows for changing the coordinates of the selected node directly. |
Override Block | Allows for overriding the block used for the node. The blocks between each node are blended using a Bezier gradient. |
Override Radius | Enables the ability to set a radius for that node specifically. The path smoothly increases width along two points. |
Remove | Deletes the current node. This can also be done by pressing the Del or Backspace key. |
Fluid Tools
Fluid tools are used to simulate fluid effects.
Floodfill
The floodfill tool fills a chosen area with the provided amount of blocks to place. The Active Block is the block used to fill an area.
The tool fills an area by equally spreading across and down from the selected starting position. The amount of blocks used can be set using the Limit Slider in the Tool Options, and a visualisation of the floodfill is shown when hovering over the Main View Window.
Using right-click will initiate a floodfill at the position of your cursor.
Fluid Ball
The Fluid Ball tool is a brush which can be used to set sources of either water, lava or snow. With the default settings, the fluid is spread across the terrain, away from the drawn source. On sloped terrain, the fluid's flow is influenced by the slope.
The following tool options control the flow and generation of fluids.
Option | Description |
---|---|
Fluid Type | Switch between water, lava or snow using this drop-down. |
Quality | The Quality slider determines how 'Smooth' the water flows. Turning this up too much will result in diminishing returns |
Flow Length | The Flow Length slider determines how far water will flow from a source block. |
Remove Fluids Without Sources | The Remove Fluids Without Sources option toggles the requirement of source blocks to create water flow. This can be useful when using the Fluid Ball tool on slopes. |
Fill Edges | The Fill Edges option toggles the filling of corners when in a contained environment. If a source can fill a container, the fluid level will be flattened out to fill the container. |
Infinite Sources | The Infinite Sources toggle turns the initial region into source blocks, allowing for water to propagate without being drained. |
Require Support To Flow | Only allows water to flow if the blocks below is solid. |
Heightmap Tools
Heightmap tools are used to affect areas in a ‘2D’ way. This works by adding or removing height one layer at a time in the same way that heightmap-based tools like World Machine or World Painter do.
Elevation
The Elevation Tool can raise and lower pre-existing terrain. Its main feature is the ability to add custom heightmaps. These modify the elevation depending on the brightness in the image provided.
Tool Options
Option | Description |
---|---|
Y Limit | This determines the height of the cylindrical shape to affect surfaces. |
Mode | Determines how the terrain is affected. Raise, Lower and Flatten are some of the modes. |
Smoothing | Determines how smooth the elevation will turn out. |
Apply | This dropdown allows you to switch between a single application and a continuous application. |
Rate / Amount | These determine how many blocks are applied at a time. |
Falloff | The falloff determines how the elevation is applied around the center. |
Load Heightmap | Similar to falloff, heightmaps allow for further modification to the elevation. Pressing "Load Heightmap" will open an explorer window prompting you to choose an image. When using a coloured image, the image will automatically be converted to black and white. |
Video Demo
Slope
The Slope tool is a heightmap tool designed to easily create a ramp or slope between two points, with its function differing slightly from other heightmap tools. In order to start a slope you have to click once to set the target position and then you can drag-click from anywhere else to start drawing a slope between those two points.
On the initial click, a triangle appears displaying details such as height disparity, slope angle, and Euclidean distance between the two points. When you hold down the right-click and drag, a grid plane visible around the initial point of the slope shows the slope's exact angle and provides a rough image of what the final slope will look like.
As for configuration, brush settings allow you to manipulate the height and radius. The sharpness function, similar to other heightmap tools, manages the curvature of the slope at points above and below the tool.
Two modes are available: Plane and Cone. Plane mode operates on a flat surface, whereas Cone mode functions within a spherical region centred on the initial point. The cone's orientation changes depending on whether the target point is above or below your current aim.
However, be cautious when creating a large slope as it may induce lag. For very large slopes, it is suggested to handle smaller areas at a time.
Manipulation Tools
The Manipulation tools are a series of tools aimed at changing existing terrain into a more desired shape or form. For example, after having made a mountain or cliff somewhere and then using these tools to help refine their shape by means of smoothing, roughening, distorting, etc. Each tool has a pretty different effect on the world and common to use these tools intermediately between tools that add more mass or sculpt the world more as well as in succession of other manipulation tools in order to get the most desirable outcome.
Smooth
The Smooth tool uses a Gaussian blur to soften terrain. What sets it apart from other smoothing tools is that its algorithm maintains the same total block count within the brush stroke. Instead of adding or removing unnecessary mass, it attempts to spread blocks evenly across the chosen area based on the surroundings. This makes the brush more adaptive and precise, while also offering adjustable settings linked to this behavior. The tool operates within the chosen area as defined by the brush settings, but remember that the blurring kernel also considers the surroundings of the selection.
The Smooth Strength controls the degree of terrain smoothing. By default, it's set to 2, which provides a pleasant smoothing effect. Lower strength is useful for refining areas with a lot of noise while preserving the overall shape. On the other hand, higher strengths blend and lump blocks together more drastically to achieve the smoothest shape possible.
The Modifiers, are settings related to smoothing behavior. By default, the tool has a 100% Block Ratio in Stable mode. This means the tool will preserve all blocks (100%) and strive to keep things relatively unchanged during the smoothing process. If you increase the block ratio, it adds more mass, which is equivalent to the total number of selected blocks times the ratio. For instance, a 101% ratio means adding 1% more blocks, while a 99% ratio means removing 1% of blocks. For smaller areas, this allows precise tuning, while larger selections, due to their greater mass, will naturally grow or shrink more based on your settings. The Melt mode biases the removal of blocks and the Grow mode biases the addition of blocks to smooth the area. Combining these with the ratio allows for precise fine-tuning of the smoothing.
The "Fix edges" option, which is on by default, integrates the edge of the smoothed area with the existing terrain to avoid creating sharp contrasts. This makes the smoothed areas blend seamlessly with the rest of the terrain, preventing jagged edges.
Distort
The Distort tool uses a concept called ‘Domain Distortion’ with a Simplex noise in order to distort a given area. What this does in practice is making areas more bumpy. This can help to make flat areas have more depth and texture or be used to add some bumps and carvings into more refined terrain. It does this inside the brush stroke path which can be defined by the brush settings.
The distortion can be configured further to finetune how you want to distort the terrain. The scale sets the scale of the Simplex noise used to perform the domain distortion. This can be configured to larger sizes should the scale not be large enough. It can also be configured with the seed to use different or random seeds.
The distance of the distortion increases the range in which the noise distorts. A distance of 2 being an average of 2 blocks distance away from the target position. Due to to the fact that the noise is continuous the range can be set to non-full numbers in order to finetune the range, sometimes making larger dents or bumps appear as a result. A high distance will cause it to look more ‘severe’. These distances can be separated per axis by toggling the *Separate Axis button
The smooth edges option blends the edges of the noise into the existing terrain to avoid jagged edges and sharp contrasts from appearing between the distorted areas.
Roughen
The Roughen tool is designed to create rugged or jagged edges in the terrain, essentially serving as the opposite of the smoothing tool. It works by "roughening" or making the terrain less smooth. It’s brush size can be configured to change the affected area.
The way it functions is by analysing how many faces (sides of the blocks) are currently exposed to the air and how many should be exposed after the roughening process. The amount of roughening applied to the terrain is determined by the "roughening ratio", which sets the proportion of change.
The 'Faces' parameter is a slider that ranges from 1 to 4. This determines how many sides (or faces) of a block will be exposed to air after the roughening process. If the value is set to 1, fewer faces will need to be exposed, leading to a more rugged look. On the other hand, if it's set to 4, less faces will need to be exposed, resulting in a highly irregular, rough appearance.
The 'Roughening Ratio' is a separate slider that you can also configure. This determines the intensity or amount of the roughening effect, or how much the terrain will be transformed. A high roughening ratio will cause a drastic change, making the terrain appear substantially more rugged. A lower ratio, on the other hand, will apply a more subtle roughening effect.
Shatter
The Shatter Tool is a tool that uses a Voronoi edges noise to shatter or add cracks to the terrain. The brush size and shape can be configured to change the affected area.
The shatter noise can be configured to have a larger scale, conversely making the cracks appear over a wider area. The width affects how big the cracks between the Voronoi edges are. A larger width means that the cracks will be wider. Toggling the active block changes the brush to use the active block rather than making the cracks with which can be used to make cracks with materials rather than removing mass from the world.
The noise can be configured to work in 3D, meaning the cracks will move in all 3 dimensions or several 1D configurations for each of the Cartesian coordinates. This will make the cracks only appear on that axis. It can also be configured with the seed to use different or random seeds.
Extrude
The Extrude tool is designed to adjust the size of surfaces, either expanding or contracting them. When you click on a surface, the tool affects the entire face, causing it to either shrink or expand, based on the selected mode. It has a preset range limit set at 100,000 by default. This is done for the sake of performance and potential to extend beyond the render distance on large flat surfaces otherwise.
The tool also includes a "block compare" mode, which operates similarly to the block compare modes of the magic select tool. This mode determines which blocks the tool will affect. Options include all blocks, only blocks of the same type, blocks with the same block state, any solid blocks, or every block, providing a great deal of customization.
The Extrude tool also features a "displace" function. When activated, this function causes surfaces that are one block thick to move, rather than creating a copy or addition to them. This can be particularly useful when you want to reposition elements like walls or ceilings without altering their thickness.
The Count slider determines how many layers are placed per click.
Modify
The Modify tool is designed for manipulating selections in various ways.
Overview
Mode | Description |
---|---|
Revolve | Stretches the selection in a circular structure |
Translate Copies | Clones the selection a set number of times with a custom offset |
Rotate Copies | A mix between Revolve and Translate Copies |
Twist | Twists a selection using an angle and axis |
Revolve
With your selection active, two circular lines will appear, the red indicates the inner part of the revolve and the green indicates the exterior. The two lines pointing from the cursor position indicate the points where the rotation may start.
The Revolve tool can rotate on all three axes separately and has an option to control the amount of angle the tool uses. An angle of 360 does a full loop and 180 does a half loop.
The Add Translation button will allow you to offset the end position of the revolve using whole or decimal numbers.
Translate Copies
Similar tostack, Translate Copies allows for offsetting by relative or absolute values. The count controls the amount of copies to be made with the offset.
Relative offsets are multiplied by the size of the selection.
Absolute offsets are not multiplied so they are therefore absolute coordinates.
Rotate Copies
Like a mix between Revolve and Translate Copies, Rotate Copies rotates a set number of copies around a point set by the cursor. However, changing the Type from Equidistant to Custom Angle will remove the point rotation and rotate based on the set angle offset.
The Add Translation Toggle enables the ability to offset the end copy. An offset of 1 on the Y-axis will create a spiral shape.
Twist
The Twist function twists a selection at an angle alongside an axis.
The axis controls the face direction of the twist and the angle determines how much it should twist.
Advanced
The advanced section covers some of the niche but good-to-know bits of information such as commands and configurations. This can be especially helpful for debugging issues.
Commands
Commands are essential for management and debugging.
/axiomdocs
- This command provides a link to this documentation.
/axiomenablecheats
- Forces the world to have cheats enabled, even if they are disabled. This is not available in Multiplayer.
/axiomhandshake
- Tests the connection by emulating a player join on a server.
/axiomintro
- Displays the introduction shown when first using the mod.
/axiomtogglecapability
- Target a capability and toggle it.
/whynoaxiom
- Returns Axiom's status and information on how to resolve issues.
Axiom Gamerule Commands
These are some extra commands for controlling the world and its properties. These are not available when playing on a paper server.
axiomDoBlockDrops
- Unlike the doTileDrops gamerule, Axiom's gamerule covers all blocks.
axiomDoBlockGravity
- When False, all gravity affected blocks like sand will never update regardless of the interaction.
axiomDoTrampleFarmland
- When False, farmland cannot be trampled by any entity.
axiomPlayerInvulnerability
- Prevents all forms of death, including void damage and /kill.
Compatible commands
//pos1
and //pos2
can be used in conjunction with WorldEdit. Using these commands will cause Axiom to render a box to visualise your selection.
Configuration
Axiom has its own dedicated configuration located in .minecraft/config/axiom
containing 3 folders and 3 files.
The folders are used to store saved Blueprints, Heightmaps and Tool Presets so even if the mod is removed, your assets are saved.
The files contain the more important information such as UI layout and enabled capabilities. Axiom uses a variant of JSON called HOCON (Human-Optimized Config Object Notation).
Below are the three files alongside their descriptions.
.axiominternal.hocon
Key | Description |
---|---|
completedTutorials | Lists the tools that have shown their short tutorial. |
customDowngradeSuggestions | Lists the downgrades suggested by Axiom. |
defaultLayout | Stores the UI data for the currently enabled UI layout. |
globalScale | A float representing the Editor UI Scale. |
lastTranslationCount | A value determining the amount of translations. |
openEditorWindowTypes | A list of open windows in the editor. |
rootEditorPalette | The default block palette for the editor mode. |
savedCustomTheme | Stores the currently active Theme as a string. |
showCloseWindowButton | A boolean to toggle the "x" to close windows. |
showNon90DegreeRotationWarning | A boolean to toggle the warning before applying non-90-degree angles. |
showToolMaskOpenWarning | A boolean to toggle the warning when using Tool Masks. |
shownIntroduction | A boolean representing whether the introduction has been completed. |
.axiom.hocon
Key | Description |
---|---|
blockAttributes | Contains the currently toggled Block Attributes. |
blueprint | Stores the toggle to automatically refresh, a custom blueprint path and the list of all used blueprint tags. |
capabilities | Lists all abilities and their state. Also contains the autoSwapToCreative boolean that controls switching to creative when opening the context menu. |
keybinds | Stores in-game keybinds and settings for the Builder Mode and camera movement. |
toolKeybinds | Stores all Editor keybinds for switching tools. |
rendering | Stores booleans representing the toggles in the Toolbox found in the Context Menu alongside the option to show annotations. |
imgui.ini
This file stores windows and their positions.
This file is generally not meant to be modified, hence why it uses a different file format. However, if you're having an issue with a specific window that you can't recover, you can either edit or delete this file to fix the issue.