Axiom Logo

Introduction

Welcome to the Axiom Documentation, an 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 to a higher quality. The mod brings innovative new tools and algorithms, while also improving ergonomics by reducing the feedback loop through realtime clientside visualizations.

Who Axiom Is For

Axiom is intended for everyone from novice to professional. The tools are intuitive and easy to approach, while still providing lots of depth through settings for experienced users.

Basic Controls

To access the Builder Mode menu, press Left Alt

To open/close the Editor Mode, press Right Shift

These keybinds can be adjusted in Minecraft's controls menu (Esc > Options > Controls)

Last Documentation Update: 03/06/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 Context Menu

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 unwieldly.

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.

Holding either x, y or z while scrolling to move the placement will lock it to that direction.

The tools that are currently available in this section are:

Builder Tools

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.

Context Menu

The features for builder mode are accessed in the builder context menu. By default, holding down left alt opens the menu.

Builder Context Menu

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

Allows for creating and manipulating display entities. Read more here.

Edit Block Attributes

Provides settings that alter gameplay. Read more here.

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.

SettingDescription
Show marker entity gizmosToggles visualisation of Marker Entity Gizmos.
Show display entity gizmosToggles visualisation of Display Entitiy Gizmos.
Show key hintsToggles 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 limitSets the range for the Infinite Reach capability. The slider ranges from 5 to 100 and is set to infinite by default.
Liquid opacitySets the opacity of water. 100% normal opacity and 0% results in water being invisible.
Minimum BrightnessSets the minimum brightness. 0% is default and 100% removes all shadows.
Type replaceThe 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 directionFlight 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 momentumThe 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

This button clears all saved hotbars excluding your current one.

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

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. This means 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 has 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

SettingDescription
ItemThis 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 DisplayThis setting is similar to Blockbench's display options2. This determines how the item will be displayed.
Additional SettingsRefer to Additional Settings.

Block Display

SettingDescription
BlockThis represents the block that will be displayed. Clicking the stone icon will display all blocks in a grid.
Additional SettingsRefer to Additional Settings.

Text Display

SettingDescription
TextThe black box provides space to enter text for the text display.
Background ColorThe background colour determines the colour surrounding the text. The colour fomat for the background colour is ARGB in Hexadecimal.
Line WidthThe line width determines the amount of space required to start a new line.
AlignmentThe alignment determines the offset relative to the gizmo.
ShadowAdds a shadow effect to the text.
Additional SettingsRefer 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.

After pressing "done", the display entity will be spawned at the player position with the selected settings.

Display Entity Manipulation

When the white box at the centre of the display entity is selected, a Gizmo will appear. Clicking the white box with left-click will select it.

The gizmo allows movement, rotation and resizing in all directions. To move display entities with the gizmo, use left-click and drag one of the three arrows in a direction. Rotation is almost the same, click and drag the outer rings in any direction to rotate the display entity. To resize the display entity, drag one of the outer cubes in any direction.

The three flat squares within the gizmo lock the movement to a 2D plane. Dragging one of these squares will move the display entity along the 2D plane.

The central, white cube can be used to move the display entity in all three dimensions.

Keybinds

There are many key combinations that can be used while moving, rotating or resizing display entities. Listed below are all key combinations alongside their description.

KeyDescription
Right ClickMoves 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.
ScrollNudges the display by the default step size3.
ControlUsed 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.
ShiftLowers the step size for movement and scale to 0.0001 blocks and sets the rotation step size to 1 degree.
Control + CCopies the display entity to the clipboard. This can be pasted using Control + V.
Delete / BackspaceDeletes the selected Display Entity.
Control + ZUndo the previous edit.
Control + YRedo the undone edit.

Editing Menu

The Editing Menu has many useful features. Listed below are all features with a description.

ModifierDescription
Edit PropertiesOpens the original menu to set the display entity properties.
Edit TransformationOpens a menu to manually enter precise translation, rotation and scale.
Reset TranslationResets the offset set in the Edit Transformation menu.
Reset RotationResets the rotation to 0 on all angles.
Reset ScaleResets all scale values to 1.
Gizmo ModeSwitches between local and global gizmos.
DuplicateDuplicates the Display Entity in the same position.
GroupingPressing 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.
RemoveDeletes the Display Entity.
Copy Summon CommandCopies the display entity to the clipboard. This can be pasted using Control + V.
Copy CoordinatesCopies the exact coordinates to the clipboard.
Copy Transform CommandCopies the transformation to the clipboard as a command.

Notes

1

Display Entities are a vanilla Minecraft feature.

2

Blockbench uses display settings for different perspecives of a model.

3

The default step size is 1/16th of a block (0.0625).

Marker Entities

Similar to Display Enities

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.

Notes

Edit Block Attributes

The Edit Block Attributes menu can be used to configure multiple settings that alter gameplay.

SettingDescription
Show Collision MeshCreates a red outline for every block with a transparent hitbox like barriers or fences.
Show Light BlocksAdds a texture1 for light blocks and enables interactions with them.
Show Structure Void BlocksAdds a texture2 for structure void blocks.
Expand Hitboxes to Full CubeSets all hitboxes to a full block. Affects blocks like slabs or buttons.
Make Fluid Hitboxes SolidAllows you to break individual blocks of water with your fist.
Prevent InteractionsStops the player from opening containers or interacting with blocks while holding a block.

Notes

1

Light Block Texture

2

Structure Void Texture

Capabilities

This chapter covers Capabilities, toggleable features which can enhance your building workflow.

The Capabilities that are currently available are:

  • Bulldozer (break blocks fast)
  • Replace Mode (replace blocks in the world)
  • Force Place (bypass block placement restrictions)
  • No Updates (prevent block updates when placing/breaking)
  • Tinker (various useful interactions when right-clicking with an empty hand)
  • Infinite Reach (removes the reach limit)
  • Fast Place (place blocks fast)
  • Angel Placement (place blocks mid-air)
  • No Clip (move through blocks while flying)

Capabilities can be toggled using the left side of the Context Menu

Additionally, keybinds can be associated with capabilities to quickly toggle them. By default, only the Replace Mode has a keybind (R), but more can be added in the vanilla controls menu (Esc > Options > Controls)

Tinker

The Tinker capability has various features related to right-clicking with your fist on blocks. Tinker often can be used in place of the debug stick, being slighty faster compared to the debug stick's clunky interface but sometimes lacking the ability to change some non-visual properties.

Aiming at specific parts of a block can change the effect of the tinker. This lets you quickly change full blocks into stairs, stairs into slabs and vice versa. It also lets you easily adjust walls/fences to create states that Minecraft normally doesn’t allow.

Tinker interactions can be negated while the capability is toggled on by either having a non-empty hand or by holding down the sneak or ‘shift’ button.

BlockTinker Property Effect
Blocks with full/stair/slab variantsConvert between full/stair/slab by adding/removing corners
WallsCycle WallSide (none/low/tall) of targeted side
Fences/Iron bars/Chorus PlantToggle north/east/south/west sides
Piston[Side] Change facing, [Front] Extends/retracts the piston
Furnace[Side] Change facing, [Front] Toggles lit state
Carved Pumpkin/Jack O Lantern[Side] Change facing, [Front] Swaps between the 2 blocks
Barrel[Side] Change facing, [Front] Opens/closes
Iron Trapdoor/DoorOpen/closes the block
Brewing StandAdd/remove bottles
Glazed TerracottaChange facing
FarmlandCycle moisture
ScaffoldingToggle bottom
Small/Medium/Large/Cluster AmethystCycles between the 4 blocks
LecternToggles book
Candle/Campfire/Redstone TorchToggles lit
Cave VinesToggles berries
Bamboo StalkToggles bamboo leaves
CauldronCycles fluid level
ComposterCycles compost level
BeehiveCycles honey level
CakeCycles bites
LanternToggles hanging
Fence GateToggles lowered and facing axis
Player HeadCycles rotation
BannerCycles rotation
Attached Melon/Pumpkin StemSwitches facing axis
RailsCycles rotation
Any block with 'Age' propertyCycles age
Any block with 'Powered' propertyToggles powered

Additionally:

  • Right-clicking with Moss Block on cobblestone/stone converts the block into its mossy variant
  • Right-clicking with Shears on removes the mossy variant
  • Right-clicking on a pot with a plant replaces the plant inside the pot
  • Any block with a slab or stair variant can be tinkered

No Updates

The No Updates capability ‘freezes’ blocks and adjacent blocks in their current state and prevents shape and neighbour updates when breaking or placing blocks nearby.

This is useful when working with "non-vanilla" states of stairs/fences/walls/etc. which would normally revert to their vanilla state when breaking/placing blocks near them.

Force Place

The Force Place capability bypasses normal placement restrictions.

  • Blocks which normally need to be attached to solid blocks can be placed in mid air
  • Blocks can be placed inside entities (including yourself)
  • Plant blocks no longer need to be placed on farmland
  • Blocks can be placed regardless of light level
  • And much more!

Force Place is best used in combination with No Updates in order to ensure illegally placed blocks don't break when updated. You may also need to disable random updates with /gamerule randomTickSpeed 0

Replace Mode

The Replace Mode capability allows you to right-click to replace the targeted block with the held block. This allows you to easily replace a large amount of blocks by holding the right-mouse button.

Additionally, when you replace a block, the newly placed block will inherit the properties of the old block.

A basic demonstration of Replace Mode can be found below

Type Replace

Type Replace can be toggled on through the Options Toolbox in the Alt Menu. Turning this on allows you to hold a base material block (eg. Spruce Planks) to replace stairs/slabs/walls/fences/etc. with their spruce variant

A demonstration of Type Replace can be found below

Bulldozer

The Bulldozer capability allows you to break blocks very quickly after an initial warmup period by simply holding down the left mouse button. The warmup period is intended to prevent accidental mass destruction.

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 rearranging and docking the windows to your liking.

The Editor UI can be opened/closed by pressing Right Shift (not Left Shift).

Most of the keybinds in the Editor UI are similar to other editing programs, namely:

  • Cut: Ctrl+X
  • Copy: Ctrl+C
  • Paste: Ctrl+V
  • Undo: Ctrl+Z
  • Redo: Ctrl+Y

The default camera controls are:

  • Rotate: Left Click
  • Arcball Camera: Ctrl + Left Click
  • Pan Camera: Ctrl + Right Click

The Flight Speed can be changed using the slider at the bottom right corner of the Editor UI.

Keybinds can be found in the Main Menu Bar titled 'Keybinds'.

If you'd prefer a default key layout reminiscent of Blender, use Load Default > Blender-like.

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.

File

FunctionDescription
Import SchematicImports schematic files to your clipboard.
Export SchematicExports clipboard as a schematic file. With the Commercial License, you can set what version the schematic should be. This can go all the way back to 1.7.
Open Reference ImageAdds a window with an image of your choice.
Load Bedrock PacksAllows you to import Bedrock Edition textures or models. (Requires Commercial License)
Save Selection as CSVExports a selection to a CSV1 format.
Save Clipboard as JSON ModelThis allows you to take blocks and convert them to an item model. Models can be used in resource packs or imported into Blockbench.

Edit

FunctionDefault ShortcutDescription
UndoCtrl+ZReverses the most recent action
RedoCtrl+YReverses the most recent undo
CutCtrl+XRemoves the selection and stores it in the clipboard
CopyCtrl+CCopies the selected item to the clipboard
Save BlueprintCtrl+PSaves the current selection as a blueprint for later use

Select

The Select submenu lets users perform a variety of functions related to selections.

FunctionDescription
ClearClears the current selection
ExpandExpands the current selection by a specified number of blocks
ShrinkShrinks the current selection by a specified number of blocks
DistortDistorts the current selection with simplex noise by a specified radius and distance. Radius is the scale of the noise and the distance is the amount it gets distorted by.
SmoothApplies 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 BoxCreates a cuboid selection around the furthest points of the selection, encapsulating the entire selection.

View

The View submenu lets you configure options related to viewing and rendering certain elements in your world.

FunctionDefault ShortcutDescription
New ViewNoneCreate a new View
Show SelectionNoneLets you toggle the rendering of your selections
Show BiomesCtrl+BEnables the biome overlay2
Show Key PressesNoneThis shows your inputs including mouse clicks on the bottom right of the viewport. This can be useful for making tutorials.
UI ScaleNoneA slider ranging from 0.5 to 2. This lets you change the size of all graphical elements in the editor mode.
Min BrightnessNoneA slider ranging 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 is also known as Fullbright.
Fluid OpacityNoneA slider ranging from 0 to 1. This lets you change the opacity of transluscent3 fluids to make it easier to look through. A value of 0 will make the fluid invisible.

Operations

The Operations submenu contains various useful features for building. All operations require and affect selections.

FunctionDefault ShortcutDescription
FillCtrl+FFill a selection with the chosen block
Fill NearestNoneFills an area with the closest neighbour blocks, useful to repair areas or fill in gaps.
ReplaceCtrl+RReplace specific blocks in the selection with the chosen block
Set BiomeNoneSets the selection to the chosen biome
AutoshadeNoneShades 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.
DrainNoneDrains an area of all fluids, including waterlogged blocks.
WaterlogNoneFloods an area with water, including turning water-loggable blocks into their waterlogged counterpart.
SmoothsnowNoneCreates a smooth area of snow based on the existing terrain.
Simulate GravityNoneGravity simulation makes all blocks with air below 'fall' as if they were affected by gravity.
Trigger UpdatesNoneUpdates blocks by simulating a random tick on every block that doesn't have a valid surface or neighbouring block.
HollowNoneHollows solid objects by filling them with air.
Fill GapsNoneFill Gaps does the opposite of the hollow operation, empty space within an object is filled with your active block.
Generate Colour FieldNoneGenerates a CIELAB4 colour field using all non-transparrent blocks.
AnalyzeNoneAnalyzes the blocks in the selection, giving information on counts and distribution
Animated RebuildNoneThe Animated Rebuild operation allows creators to present their build in a timelapse-style rebuild of the selected structure.

Tool Masks

Clear and open the tool mask editing window. See Tool Masks

Window

The Windows submenu lets the user toggle the visibility of Windows. If you ever close a window and want it back, this submenu allows you to reenable it.

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 UI.

Notes

1

comma-separated values (CSV) is a plaintext format that uses commas to separate values in a table-like manner.

2

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.

3

Lava and other non-translucent fluids (if the game is modded) are not affected by opacity due to performance and mod compatibility concerns.

4

CIELAB is a type of colour space that can utilise the XYZ coordinates to display colours.

Selections

A Selection is a set of highlighted blocks that affect the functionality of other systems.

There are three selection tools in Axiom that you can use to make selections. Each of these tools feature several options to further finetune 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 (note: some more complex tools don't respect selections yet, this will be addressed soon).

You can also apply Operations to the blocks in your selection.

Finally, to clear a selection, use 'Select > Clear' or press the Enter key

Gizmos

Gizmos are a common UI element which allows positioning within the 3D world.

A gizmo can contain the following elements:

  • Axis Arrows These coloured arrows correspond to the Cartesian coordinate system, otherwise known as 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 clicked and dragged to move the gizmo on all 3 axis. While dragging, the gizmo will maintain the same distance to the camera.

  • Rotation Rings Some operations like placement or shape placement will add a rotation ring to the Gizmo, allowing you to perform rotations in addition to translations. The rotation ring can be grabbed and drag to rotate the object around that axis.

  • Global Gizmos A global gizmo has its rotation and axis arrows locked to the world xyz.

  • Local Gizmos Unlike global gizmos, local gizmos have their rotation and axis locked to the object itself. Rotating your object 45 degrees will alter your axis arrows by 45 degrees.

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.

Tip: The placement can be rotated clockwise using the Ctrl+R keybind, and can be flipped in the direction of your mouse vector using the Ctrl+F keybind.

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.

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.

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 and it will undock.

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

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'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 shows you an overview of how many and what operations you just performed. It serves as a visual aid to assist in performing undo (Ctrl+Z) and redo (Ctrl+Y) operations.

Tip: You can left-click history elements to rewind to that point, or right-click to point your camera towards the center of the edit.

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.

LogicDescription
ORThe 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.
ANDThe 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.
NOTThe 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.
OFFSETThe 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.

MaskDescription
BlockThe Block mask returns true when the target matches the specified block or block state.
AboveThe Above condition is true when the block directly above the target block matches the specified block or block state.
BelowThe Below condition is true when the block directly below the target block matches the specified block or block state.
NearThe Near condition is true when any of the blocks in the set radius surrounding the target match the specified block or block state.
NeighbourThe 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.
AdjacentThe Adjacent condition returns true when any of the four horizontally touching blocks match the specified block or block state.
YThe 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.
AngleThe 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 SelectionThe In Selection condition returns true when the target block is within the user-defined selection area.
Can See SkyThe Can See Sky condition returns true if the target block has direct access to the sky.
SurfaceThe Surface mask returns true if the block is adjacent to air or liquids.

Scripting

Similar to the Script Brush, the mask scripting allows users to input custom scripts using Lua. However, the rule of returning a boolean value still applies.

Custom Variables

VariablesDescriptionExample
x,y,zThese three variables represent the XYZ coordinates.if y==5
blocksCan be used to retrieve the blockstate1 ID for a block.blocks.stone

Custom Functions

Functions
DescriptionExample
getBlock(x,y,z)Returns the block ID at the given position (x,y,z).if getBlock(x,y,z)==blocks.stone
getBlockState(x,y,z)Returns the blockstate1 ID at a given position.if getBlockstate(x,y,z)==withBlockProperty(blocks.chain,"axis=x")
getHighestBlockYAt(x,z)Returns the Y value of the highest block on the XZ coordinates.if getHighestBlockYAt(x,z)==20
getSimplexNoise(x,y,z,"seed")Returns a value between 0 and 1, representing the Simplex noise for the provided coordinates.if getSimplexNoise(x,y,z,42)=>0.5
getVoroniEdgeNoise(x,y,z,"seed")Returns a value between 0 and 1, representing the Voroni Edge noise for the provided coordinates.if getVoroniEdgeNoise(x,y,z,01134)=>0.5
isSolid(block)Returns true if the block is solid, false if not.if isSolid(getBlock(x,y,z))
isBlockTagged(block,"tag")Returns true if the block has the provided tag, false if not.if isBlockTagged(getBlock(x,y,z),"wooden_fences")
withBlockProperty(block,"property=value")Used to return or set a block with a block property.withBlockProperty(blocks.oak_slab,"waterlogged=true")
getBlockProperty(block,"property")Returns the value of the provided block property.if getBlockProperty(blocks.oak_slab,"waterlogged")==true
setBlock(x,y,z,block)Set an additional block at a given position.setBlock(x,y,z,blocks.stone)

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 you’re hovering over.
  • The position of that block in the world.
  • The biome at that position.
  • 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

OptionDescription
ShapeDetermines the shape of your brush.
RadiusDetermines the size of your brush.
Mask SurfaceEnsures the tool only affects solid blocks adjacent to a non-solid block.
Replace Solid BlocksEnsures the tool only replaces solid blocks.
Extend to GroundEnsures 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.

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 OperationDescription
AddAdds the selected area to the current selection
SubtractSubtracts the selected area from the current selection
ReplaceReplaces the current selection with the selected area
IntersectSelects 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.

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.

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.

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 TypeDescription
BlockAll blocks of the same type including all blockstates.
BlockStateAll blocks of the exact same blockstate as the target block.
SolidAny block that you cannot pass through. For example stone, glass panes, etc. Not flowers, water, etc.
AnyAll 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.

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.

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 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 unqiue 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 sepcific 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 reminescent of the aforementioned lavalamp blobs.

White Noise

White noise generates a completely random pattern with no discernible structure, looking like static on an old television screen.

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.

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 grayscale 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.

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.

Plane vs Sphere in gradient selection

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.

Interpolation

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 transistion 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.

Script Brush

The Script Brush is a very unique tool, the scripting functionality mixed with useful functions can lead to near-unlimited possibilities. The use of clever logic can lead to things like simple texture generators all the way to structural generators.

Although intimidating at first, once you understand the basic concept of programming and have read this documentation, you'll be ready to make your own scripts!

Key Points

  • The Script Brush is a powerful, yet advanced tool so some knowledge of programming languages similar to Python is recommended.

  • The Script Brush is similar to Mask Scripting.

  • An IDE1 window is used to input your code. It uses a similar language to Python called Lua2.

  • Lua doesn't require line indentation like most languages but Axiom provides a tabbing feature to indent.

  • There is only one built-in library3 and there are currently no others.

The Script must return a block or use setBlock() to modify blocks in the world.

There are many predefined variables and functions that can be used throughout the script to interact with the world. Listed below, are all variables and functions with descriptions and examples.

Custom Variables

VariablesDescriptionExample
x,y,zThese three variables represent the XYZ coordinates.if y==5
blocksCan be used to retrieve the blockstate4 ID for a block.blocks.stone

Custom Functions

Functions
DescriptionExample
getBlock(x,y,z)Returns the block ID at the given position (x,y,z).getBlock(x,y,z)==blocks.stone
getBlockState(x,y,z)Returns the blockstate4 ID at a given position.getBlockstate(x,y,z)==withBlockProperty(blocks.chain,"axis=x")
getHighestBlockYAt(x,z)Returns the Y value of the highest block on the XZ coordinates.getHighestBlockYAt(x,z)==20
getSimplexNoise(x,y,z,seed)Returns a value between 0 and 1, representing the Simplex noise for the provided coordinates.getSimplexNoise(x,y,z,42)=>0.5
getVoroniEdgeNoise(x,y,z,seed)Returns a value between 0 and 1, representing the Voroni Edge noise for the provided coordinates.getVoroniEdgeNoise(x,y,z,01134)=>0.5
isSolid(block)Returns true if the block is solid, false if not.isSolid(getBlock(x,y,z))
isBlockTagged(block,"tag")Returns true if the block has the provided tag, false if not.isBlockTagged(getBlock(x,y,z),"wooden_fences")
withBlockProperty(block,"property=value")Used to return or set a block with a block property.withBlockProperty(blocks.oak_slab,"waterlogged=true")
getBlockProperty(block,"property")Returns the value of the provided block property.getBlockProperty(blocks.oak_slab,"waterlogged")==true
setBlock(x,y,z,block)Set an additional block at a given position.setBlock(x,y,z,blocks.stone)

Template Variables

Template Variables are not shown in the help text. Template Variables are used to visually display tool settings, removing the need to edit values within the script itself. Most Template Variables Use a title, this is used to display the usage or function of the specific Template Variable. The default value is used to set the most appropriate value within the range. The min and max variables are used to set the ranges on sliders.

Template VariableDescriptionExample
$once$Runs the script once per click.$once$
$blockState(title,block)$Allows blocks to be input using GUI.$blockState(Block to Paint,stone)$
$int(title,default,min,max)$Creates a slider with whole values.$int(Randomness Multiplier,1,0,2)$
$float(title,default,min,max)$Creates a slider with decimal values.$float(Noise Threshold,0.5,0,1)$
$boolean(title,default(true/false))$Creates a toggle$boolean(Disable Randomness,true)$

Code Examples

These four code examples range from a novice user all the way to a professional in terms of difficulty. Each script provides a description and a breakdown of how the script works. Feel free to copy these and mess around with them.

Novice

This script below is very basic, it replaces oak leaves with birch leaves.

if getBlock(x,y,z)==blocks.oak_leaves then
	return blocks.birch_leaves
end
Novice Code Breakdown
The if check ensures that the current block is oak leaves. Using "getBlock(x,y,z)" targets the active block. 

Then "blocks.oak_leaves" is used to check if the block IDs match.

Finally, the script returns birch leaves, therefore replacing oak leaves.

Advanced

This script places pink petal flowers using simplex noise to control the block property.

multiplier=$float(Multiplier,1,0,2)$
noise=getSimplexNoise(x/8,y/8,z/8)

if getBlock(x,y,z)==blocks.air and isSolid(getBlock(x,y-1,z)) and noise<(0.75*multiplier) then
    return withBlockProperty(blocks.pink_petals,"flower_amount="..math.floor((getSimplexNoise(x/2,y/2,z/2,0)*4)))
end
Advanced Code Breakdown
Firstly, The multiplier and noise variables by utilising the float variable and the simplex noise function.

Then the script checks that the block is air and is above a solid surface while also checking if the noise is within range.

Finally, the block is placed using "withBlockProperty" to set the flower amount property. This uses a modified simplex noise that returns values between 0 and 4.

Expert

The script below generates kelp in water using a maximum height to control the length of kelp.

multiplier=$float(Multiplier,1,0.01,4)$
heightMax=$int(Maximum Height,25,1,50)$

noise=math.random()
length=math.floor(math.random(0,heightMax))

if noise<(multiplier*0.1) and isSolid(getBlock(x,y-length,z)) and getBlock(x,y,z)==blocks.water then
    for block = 0,length do
        if not isSolid(getBlock(x,y-block,z)) then
            setBlock(x,y-block,z,blocks.kelp_plant)
        end
    end
    return blocks.kelp
end
Expert Code Breakdown
Firstly, the script defines all the variables. 

As the script builds the kelp from top to bottom, it checks if the lowest attemptable block is solid.  

Then, for each solid block, the script places a kelp plant.

Once all kelp plant blocks are placed, the script then sets the active block to be the top piece of kelp. 

Professional

This final script creates a curved bowl shape using mathematical formulae. This is one of the most complex types of script brushes in Axiom.

$once$
scale = $int(Scale,30,10,50)$
flatness = $float(Bowl Flatness,0.8,0.1,2.5)$
tolerance = (scale*10)*flatness
block=$blockState(Block)$

function isTolerable(a, b, tol)
    return math.abs(a - b) <= tol
end

for DistX = -scale, scale do
    for DistY = -scale, scale do
        for DistZ = -scale, scale do
            local formulaL = DistX^2 + DistY^2 + (DistZ^1.5)*-(flatness*10)^2
            local formulaR = 0
            if isTolerable(formulaL, formulaR, tolerance) then
                setBlock(x + DistX, y + DistZ, z + DistY, block)
            end
        end
    end
end
Professional Code Breakdown
This script represents the following equation:
(X²+Y²+(Z¹.⁵)(-n)10^2)=0
Where n is the flatness variable. 

The script draws the 3D shape by using a loop for each axis.

Notes

1

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development.

2

Lua is a lightweight programming language designed for embedded use within applications.

3

The Math Library is the only built-in library in the Script Brush.

4

Blockstate IDs are calculated using Block IDs. The formula for blockstate IDs is -n-x where n is the Block ID and x is the block state.

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.
1

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.

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.

OptionDescription
Base ChanceThe 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 SpacingThe 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 the positions of 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 YawRandomises the placement by rotating the blueprint in a random direction.
Random X/Z FlipRandomises the placement by flipping the blueprint on the X and Z axis.
Keep ExistingWhen enabled, pre-existing blocks are not overridden.
Extend Foundation To GroundIf 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

Write the desired text into the 'Text' field and right-click to place it in the world with a gizmo.

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

CategoryDescription
SolidCreates a solid 3D shape.
FlatCreates a flat 2D shape.
ModellingCreates a surface using multiple points.

Shapes

ShapesFlat ShapesModelling Shapes
SphereDiskConvex Hull
CuboidPlaneSmart Surface
OctahedronRegular PolygonTriangle Strip
SupersphereSuperellipseTriangle Fan
CylinderArchimedean Spiral
Tube
Cone
Pyramid
Torus
Dodecahedron
Icosahedron

Options

Option      Description                                                      
Separate XYZWhen 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

ModifierDescription                          
Hollow  Generates the shape filled with air  
MetaballApplies 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

Keep Existing Disables the overriding of other blocks when placing the shape.

Video Demo

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

OptionDescription
Y LimitThis determines the height of the cylindrical shape to affect surfaces.
ModeDetermines how the terrain is affected. Raise, Lower and Flatten are some of the modes.
SmoothingDetermines how smooth the elevation will turn out.
ApplyThis dropdown allows you to switch between a single application and a continuous application.
Rate / AmountThese determine how many blocks are applied at a time.
FalloffThe falloff determines how the elevation is applied around the center.
Load HeightmapSimilar 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 behaviour. 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 behaviour. 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 finetuning 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.

Modify

The Modify tool is designed for manipulating selections in various ways.

Overview

Mode            Description                                                        
Revolve          Stretches the selection in a circular structure                    
Translate CopiesClones 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.  

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.

Other

Contains tools that aren't categorised as drawing, heightmap, manipulation, painting or selection tools.

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 permanantely visible even outside the editor, so make sure to remove them once you're done.

Paths

The path tool allows you create curves in 3d space using gizmos as nodes. Click on any point to create a gizmo. It will be automatically selected. Click ctrl + z or the undo keybind to remove the currently selected gizmo.

Curve types

You may select from Linear(Bresenham), Linear(DDA), Catenary, Catmull-Rom Spline, and Bezier curve.

Linear(Bresenham)

This creates a straight line from node to node. Diagonal blocks are not filled in. You cannot change the radius and shape.

Linear(Bresenham)

Linear(DDA)

This also creates a straight line from node to node. The diagonal blocks are filled in. You may change the radius and shape. Linear(DDA)

Catenary

This creates a line which has some slack. It dangles down from node to node. The diagonal blocks are filled in. You may change the radius and shape.

There are two more parameters for this curve. You may invert it such that it is flipped upside down. You may also adjust the slack, a 0% slack is a straight line.

Catenary

Catmull-Rom Spline

This type of spline is particularly useful for creating smooth paths. The spline passes through every node. The spline is also continuously smoothed between nodes evenly*.

Catmull-Rom Spline

Bezier Curve

A Bezier curve is formed by specifying a set of nodess that influence the shape of the curve. The curve starts at the first nodes, ends at the last node, and is influenced by the positions of the intermediate control points. The curve smoothly interpolates between the control points. The curve does NOT pass through all the nodes. The nodes other than the start and end nodes affect how the curve is shaped. Read more here

Bezier Curve

Additional curve options

Looped: When enabled, this connects the first and last nodes, forming a loop.

Node specific options

Overried Block

This option allows you to override the block for that node. It forms a gradient between the connected node(s). If this option is not enabled, the active block is used by default, forming a gradient with that block.

Override Radius

This option allows you to override the radius for that node. When enabled, the radius will smoothly transition between each node, allowing you to create curves with changes in thickness.

Catmull-Rom Spline Easing

You may select between Linear, Slight, Quadratic, Cubic, or Quartic easing. Each easing looks different. This only affects the easing of the selected node.

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 are part of Axiom, but are intended to be used alongside WorldEdit. They expand the provided corner point to the player's position.

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

KeyDescription
completedTutorialsLists the tools that have shown their short tutorial.
customDowngradeSuggestionsLists the downgrades suggested by Axiom.
globalScaleA float representing the Editor UI Scale.
lastTranslationCountA value determining the amount of translations.
openEditorWindowTypesA list of open windows in the editor.
rootEditorPaletteThe default block palette for the editor mode.
savedCustomThemeStores the currently active Theme as a string.
showCloseWindowButtonA boolean to toggle the "x" to close windows.
showNon90DegreeRotationWarningA boolean to toggle the warning before applying non-90-degree angles.
showToolMaskOpenWarningA boolean to toggle the warning when using Tool Masks.
shownIntroductionA boolean representing whether the introduction has been completed.

.axiom.hocon

KeyDescription
blockAttributesContains the currently toggled Block Attributes.
blueprintStores the toggle to automatically refresh and a list of all used blueprint tags.
capabilitiesLists all abilities and their state. Also contains the autoSwapToCreative boolean that controls switching to creative when opening the context menu.
keybindsStores in-game keybinds and settings for the Builder Mode and camera movement.
toolKeybindsStores all Editor keybinds for switching tools.
renderingStores booleans representing the toggles in the Toolbox found in the Context Menu.

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.