From a10d4a847085fa9259370fd04957c0ca69f9a34a Mon Sep 17 00:00:00 2001 From: WILLATRONIX <111201886+WILLATRONIX@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:25:58 +0100 Subject: [PATCH 1/2] 3.2.1 --- src/SUMMARY.md | 16 ++++++++----- src/editor/placement.md | 19 ++++++++------- src/editor/toolpresets.md | 2 ++ src/editor/windows/intro.md | 2 +- src/tools/{other => drawing}/path.md | 0 src/tools/drawing/weld.md | 4 +++- src/tools/fluid/floodfill.md | 7 ++++++ src/tools/fluid/fluidball.md | 13 ++++++++++ src/tools/manipulation/extrude.md | 2 ++ src/tools/other/intro.md | 3 --- src/tools/painting/clentaminator.md | 2 ++ src/tools/painting/gradientpainter.md | 2 +- src/tools/painting/noisepainter.md | 10 ++++---- src/tools/painting/scriptbrush.md | 34 +++++++++++++-------------- src/tools/utility/intro.md | 3 +++ src/tools/{other => utility}/ruler.md | 0 16 files changed, 77 insertions(+), 42 deletions(-) rename src/tools/{other => drawing}/path.md (100%) create mode 100644 src/tools/fluid/floodfill.md create mode 100644 src/tools/fluid/fluidball.md delete mode 100644 src/tools/other/intro.md create mode 100644 src/tools/utility/intro.md rename src/tools/{other => utility}/ruler.md (100%) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 71bdf05..0a7572e 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -40,16 +40,19 @@ - [Tool Options](editor/windows/tooloptions.md) - [Tools](tools/intro.md) - [Selection Tools](tools/selection/intro.md) - - [Lasso Select](tools/selection/lasso.md) - - [Box Select](tools/selection/boxselect.md) - [Magic Select](tools/selection/magicselect.md) + - [Box Select](tools/selection/boxselect.md) - [Freehand Select](tools/selection/freehandselect.md) + - [Lasso Select](tools/selection/lasso.md) + - [Utility Tools](tools/utility/intro.md) + - [Ruler Tool](tools/utility/ruler.md) - [Painting Tools](tools/painting/intro.md) - [Painter](tools/painting/painter.md) - [Noise Painter](tools/painting/noisepainter.md) - [Biome Painter](tools/painting/biomepainter.md) - - [Gradient Painter](tools/painting/gradientpainter.md) + - [Clentaminator](tools/painting/clentaminator.md) - [Script Brush](tools/painting/scriptbrush.md) + - [Gradient Painter](tools/painting/gradientpainter.md) - [Drawing Tools](tools/drawing/intro.md) - [Freehand Draw](tools/drawing/freehanddraw.md) - [Sculpt Draw](tools/drawing/sculptdraw.md) @@ -59,6 +62,10 @@ - [Stamp](tools/drawing/stamp.md) - [Text](tools/drawing/text.md) - [Shape](tools/drawing/shape.md) + - [Path Tool](tools/other/path.md) + - [Fluid Tools](tools/fluid/intro.md) + - [Floodfill](tools/fluid/floodfill.md) + - [Fluid Ball](tools/fluid/fluidball.md) - [Heightmap Tools](tools/heightmap/intro.md) - [Elevation](tools/heightmap/elevation.md) - [Slope](tools/heightmap/slope.md) @@ -69,9 +76,6 @@ - [Shatter](tools/manipulation/shatter.md) - [Extrude](tools/manipulation/extrude.md) - [Modify](tools/manipulation/modify.md) - - [Other](tools/other/intro.md) - - [Ruler Tool](tools/other/ruler.md) - - [Path Tool](tools/other/path.md) - [Advanced](advanced/intro.md) - [Commands](advanced/commands.md) - [Config](advanced/configuration.md) diff --git a/src/editor/placement.md b/src/editor/placement.md index 9d7d056..9ce1cde 100644 --- a/src/editor/placement.md +++ b/src/editor/placement.md @@ -8,15 +8,16 @@ Once the placement is in the correct position, you can use Enter or Ctrl+V to co ## Placement Options -| Option | Description | -| --------------- | ---------------------------------------------------------------------------- | -| Keep Existing | Stops the placement from overriding pre-existing blocks | -| Paste Air | Enables air to override pre-existing blocks | -| Merge Blocks | Merges new blocks with existing blocks based on the block shape. | -| Unlock Rotation | Allows the placement to be rotated at any angle rather than 90 degree steps. | -| Rotate/Scale | Opens the [Rotate/Scale](placement.md#Rotate_and_Scale) window. | -| Snap to ground | Repositions the placement down to the nearest solid surface. | -| Paste Copy | Places a copy of the placement without cancelling the placement. | +| Option | Description | +| ---------------- | ---------------------------------------------------------------------------- | +| Keep Existing | Stops the placement from overriding pre-existing blocks | +| Paste Air | Enables air to override pre-existing blocks | +| Merge Blocks | Merges new blocks with existing blocks based on the block shape. | +| Unlock Rotation | Allows the placement to be rotated at any angle rather than 90 degree steps. | +| Rotate/Scale | Opens the [Rotate/Scale](placement.md#Rotate_and_Scale) window. | +| Snap to ground | Repositions the placement down to the nearest solid surface. | +| Paste Copy | Places a copy of the placement without cancelling the placement. | +| Paste and Select | Places the object and selects it, allowing for further modification. | ## Rotate and Scale diff --git a/src/editor/toolpresets.md b/src/editor/toolpresets.md index 998387b..c2a3bee 100644 --- a/src/editor/toolpresets.md +++ b/src/editor/toolpresets.md @@ -2,6 +2,8 @@ Tool Presets allow for easy saving and loading of tool settings and configurations. Tool presets are saved in the Axiom [configuration](/advanced/configuration.md) at `.minecraft/config/axiom/tool_presets` as NBT format. +While the drop-down is open, you can search for presets by typing. + ## Saving Presets To save presets, first set the configuration of the tool you'd like to save. Clicking the plus icon next to the presets drop-down will display a text field. Here you can name the preset. After clicking save, your preset will appear in the drop-down. diff --git a/src/editor/windows/intro.md b/src/editor/windows/intro.md index dc73146..87be06b 100644 --- a/src/editor/windows/intro.md +++ b/src/editor/windows/intro.md @@ -26,7 +26,7 @@ To undock a window, drag it by the title and it will undock. ### 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](editor/mainmenubar.md). Themes can be imported and exported from the clipboard. +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](/editor/mainmenubar.md). Themes can be imported and exported from the clipboard. ### Select Block diff --git a/src/tools/other/path.md b/src/tools/drawing/path.md similarity index 100% rename from src/tools/other/path.md rename to src/tools/drawing/path.md diff --git a/src/tools/drawing/weld.md b/src/tools/drawing/weld.md index 369ea0f..bf0a0a9 100644 --- a/src/tools/drawing/weld.md +++ b/src/tools/drawing/weld.md @@ -1,7 +1,9 @@ # 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 **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](/editor/windows/activeblock.md) to determine what blocks to place. It is partially configured using the brush settings and has a few more settings that change the algorithm in specific ways. The Smoothing strength can be adjusted to make smoother welds, a higher smoothing setting means that the tool will need a lower threshold to operate as they constrain each other. Generally a higher smoothing strength will also increase the size of the affected area. The Smoothing threshold can be adjusted to make it harder for the tool to affect a given area. This makes it possible to constrain the tool in a way that helps to create more natural flares and seams into existing builds. + +The **Replace Solid Blocks** toggles the ability to override other solid blocks with the Active Block. \ No newline at end of file diff --git a/src/tools/fluid/floodfill.md b/src/tools/fluid/floodfill.md new file mode 100644 index 0000000..faa6c8d --- /dev/null +++ b/src/tools/fluid/floodfill.md @@ -0,0 +1,7 @@ +# Floodfill + +The floodfill tool fills a chosen area with the provided amount of blocks to place. The [Active Block](/editor/windows/activeblock.md) is the block used to fill an area. + +The tool fills an area by equally spreading across and down from the selected starting position. The amount of blocks used can be set using the **Limit** Slider in the [Tool Options](/editor/windows/tooloptions.md), and a visualisation of the floodfill is shown when hovering over the [Main View Window](../../editor/windows/views.md). + +> Using right-click will initiate a floodfill at the position of your cursor. \ No newline at end of file diff --git a/src/tools/fluid/fluidball.md b/src/tools/fluid/fluidball.md new file mode 100644 index 0000000..4c9f3ff --- /dev/null +++ b/src/tools/fluid/fluidball.md @@ -0,0 +1,13 @@ +# Fluid Ball + +The Fluid Ball tool is a brush which can be used to set sources of either water, lava or snow. With the default settings, the fluid is spread across the terrain, away from the drawn source. On sloped terrain, the fluid's flow is influenced by the slope. + +The following tool options control the flow and generation of fluids. + +| Option | Description | +| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Fluid Type** | Switch between water, lava or snow using this drop-down. | +| **Quality** | The **Quality** slider determines how 'Smooth' the water flows. Turning this up too much will result in diminishing returns | +| **Flow Length** | The **Flow Length** slider determines how far water will flow from a source block. | +| **Remove Fluids Without Sources** | The **Remove Fluids Without Sources** option toggles the requirement of source blocks to create water flow. This can be useful when using the Fluid Ball tool on slopes. | +| **Fill Edges** | The **Fill Edges** option toggles the filling of corners when in a contained environment. If a source can fill a container, the fluid level will be flattened out to fill the container. | diff --git a/src/tools/manipulation/extrude.md b/src/tools/manipulation/extrude.md index 1791ca2..bc8c3ea 100644 --- a/src/tools/manipulation/extrude.md +++ b/src/tools/manipulation/extrude.md @@ -5,3 +5,5 @@ The **Extrude** tool is designed to adjust the size of surfaces, either expandin The tool also includes a "block compare" mode, which operates similarly to the block compare modes of the magic select tool. This mode determines which blocks the tool will affect. Options include all blocks, only blocks of the same type, blocks with the same block state, any solid blocks, or every block, providing a great deal of customization. The Extrude tool also features a "displace" function. When activated, this function causes surfaces that are one block thick to move, rather than creating a copy or addition to them. This can be particularly useful when you want to reposition elements like walls or ceilings without altering their thickness. + +The **Count** slider determines how many layers are placed per click. \ No newline at end of file diff --git a/src/tools/other/intro.md b/src/tools/other/intro.md deleted file mode 100644 index a7ca67d..0000000 --- a/src/tools/other/intro.md +++ /dev/null @@ -1,3 +0,0 @@ -# Other - -Contains tools that aren't categorised as drawing, heightmap, manipulation, painting or selection tools. \ No newline at end of file diff --git a/src/tools/painting/clentaminator.md b/src/tools/painting/clentaminator.md index a8bcf45..cb02711 100644 --- a/src/tools/painting/clentaminator.md +++ b/src/tools/painting/clentaminator.md @@ -1,5 +1,7 @@ # Clentaminator +> This tool is only available for versions 2.8.1 and below, the new [Script Brush](scriptbrush.md) tool contains most of the following features under the [Presets](/editor/toolpresets.md) drop-down. + The **Clentaminator** is a set of predefined painting tools that typically have complex set of predefined placement rules which don’t fall under other cateogories. Due to this they often use advanced algorithms to produce interesting patterns but are more specific in which cases they can be used. The clentaminator lets you configure the brush to define the stroke path, just like other tools. Other than that it has two other options which can be toggled and configured. **Terrain** and **Decorations**. They can be mixed and matched to provide a wide range of customization. diff --git a/src/tools/painting/gradientpainter.md b/src/tools/painting/gradientpainter.md index 42c8c3d..e72c399 100644 --- a/src/tools/painting/gradientpainter.md +++ b/src/tools/painting/gradientpainter.md @@ -22,7 +22,7 @@ In order from top to bottom: Nearest, Linear, Bezier. ![Interpolation](https://cdn.discordapp.com/attachments/1012669638578020403/1153874160502722641/2023-09-19_21.24.42.png) -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. +Look up the curves to see how it is calculated specifically but in essence, nearest gives you hard boundaries between each block type. Linear gives a smooth transition as the name implies, and Bezier has a more rapid change in the center, and eases in/out. The effect is more apparent with larger gradients. # Locking diff --git a/src/tools/painting/noisepainter.md b/src/tools/painting/noisepainter.md index f6444e7..7fa17ca 100644 --- a/src/tools/painting/noisepainter.md +++ b/src/tools/painting/noisepainter.md @@ -2,7 +2,7 @@ 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. +The first unique option is the toggle for the ‘3D’ setting. This allows the noise to be calculated in 3D, allowing for the painting of the sides of surfaces instead of just the top. Next, we have the scale option, which adjusts the size of the noise relative to the block grid. A larger scale means that the noise pattern is spread over a larger area of blocks. @@ -10,7 +10,7 @@ Finally, the Anisotropic option enables control of scale on each axis individual ## 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. +There are a few shared settings across the different noises. The common options between these noises are listed below, with specific settings for each noise described in their respective sections. - **Octaves:** This setting determines the number of layers of noise that are used. More octaves result in more detail and complexity but comes with a higher computational cost. Lacunarity and Gain can only be configured when you have more than one octave for your noise. @@ -45,7 +45,7 @@ This type of noise specifically accentuates the edges or boundaries between the 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. +- **Range:** Adjusts the radius around each point that influences the noise. A larger range results in larger, more spread-out blobs, resembling a pattern more reminiscent of the aforementioned lava lamp blobs. ### White Noise @@ -59,9 +59,11 @@ Clicking the '+' sign adds a new block. Clicking on an existing block allows you To modify the property of a block, right-click on the block icon and a menu will appear, allowing you to toggle and set different properties. +When one or more blocks with multiple properties is used, a **Copy Properties** button will appear at the bottom of the block list. This will paint over existing blocks with the same block state, while keeping the noise pattern. + ## Preview Lastly, beneath the settings, there are three windows to aid in visualizing the noise pattern, cumulative distribution, and probability density: -- **Noise Preview**: As the name suggests, this provides an approximation of how the current noise settings would look, mapped to the voxel grid. It uses a 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. +- **Noise Preview**: As the name suggests, this provides an approximation of how the current noise settings would look, mapped to the voxel grid. It uses a gray-scale representation to depict block presence, with white denoting the primary block and the color darkening as more blocks are added. Black signifies no blocks. - **Cumulative Distribution and Probability Density Visualizers**: These tools are especially useful when you've set the Blocks mode to be threshold-based. They help illustrate how the blocks will be distributed within the noise pattern. The Cumulative Distribution Visualizer provides a graph showing the cumulative percentages of different blocks as the noise threshold increases from 0 to 1. The Probability Density Visualizer gives a sense of how likely each block is to appear at a given noise value. It can help you understand and fine-tune the balance of blocks in your noise pattern. diff --git a/src/tools/painting/scriptbrush.md b/src/tools/painting/scriptbrush.md index d1fe73e..42c191b 100644 --- a/src/tools/painting/scriptbrush.md +++ b/src/tools/painting/scriptbrush.md @@ -16,7 +16,7 @@ Although intimidating at first, once you understand the basic concept of program - There is only one built-in library[^note3] and there are currently no others. -> The Script must return a block or use setBlock() to modify blocks in the world. +> The Script must use `return blocks.stone` or use `setBlock(x,y,z,blocks.stone)` 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. @@ -25,22 +25,24 @@ There are many predefined variables and functions that can be used throughout th | Variables | Description | Example | |-----------|----------------------------------------------------------------|--------------| | x,y,z | These three variables represent the XYZ coordinates. | if y==5 | -| blocks | Can be used to retrieve the blockstate[^note4] ID for a block. | blocks.stone | +| blocks | Can be used to retrieve the **Blockstate ID** for a block. | blocks.stone | ## Custom Functions -|
Functions
| Description | Example | -|-------------------------------------------|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------| -| 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 blockstate[^note4] 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) | +| Functions | Description | Example | +| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| getBlock(x,y,z) | Returns the **Blockstate ID** at the given position (x,y,z). | getBlock(x,y,z)==blocks.stone | +| getBlockState(x,y,z) | Returns the **Blockstate ID** property at a given position. | getBlockstate(x,y,z)==withBlockProperty(blocks.chain,"axis=x") | +| getHighestBlockYAt(x,z) | Returns the Y value of the highest solid block on the X and Z 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(**Blockstate ID**) | Returns true if the **Blockstate ID** is solid, false if not. | isSolid(getBlock(x,y,z)) | +| isBlockTagged(**Blockstate ID**,"**tag**") | Returns true if the **Blockstate ID** has the provided tag, false if not. | isBlockTagged(getBlock(x,y,z),"wooden_fences") | +| withBlockProperty(**Blockstate ID**,"**property=value**") | Used to return or set a **Blockstate ID** with a **Blockstate ID** property. | withBlockProperty(blocks.oak_slab,"waterlogged=true") | +| getBlockProperty(**Blockstate ID**,"**property**") | Returns the value of the provided **Blockstate ID** property. | getBlockProperty(blocks.oak_slab,"waterlogged")==true | +| setBlock(x,y,z,**Blockstate ID**) | Set an additional **Blockstate ID** at a given position. | setBlock(x,y,z,blocks.stone) | + +> Blockstate IDs with and without properties can be used in all functions which use a Blockstate ID ## Template Variables @@ -182,6 +184,4 @@ end [^note2]: Lua is a lightweight programming language designed for embedded use within applications. -[^note3]: The [Math Library](https://www.lua.org/pil/18.html) is the only built-in library in the Script Brush. - -[^note4]: Blockstate IDs are calculated using [Block IDs](https://minecraftitemids.com/). The formula for blockstate IDs is `-n-x` where n is the Block ID and x is the block state. +[^note3]: The [Math Library](https://www.lua.org/pil/18.html) is the only built-in library in the Script Brush. \ No newline at end of file diff --git a/src/tools/utility/intro.md b/src/tools/utility/intro.md new file mode 100644 index 0000000..8262533 --- /dev/null +++ b/src/tools/utility/intro.md @@ -0,0 +1,3 @@ +# Utility Tools + +Utility tools assist builders for measuring and scaling builds appropriately. \ No newline at end of file diff --git a/src/tools/other/ruler.md b/src/tools/utility/ruler.md similarity index 100% rename from src/tools/other/ruler.md rename to src/tools/utility/ruler.md From 878504f38476af8138e4ab8ac41f4316082bc29d Mon Sep 17 00:00:00 2001 From: WILLATRONIX <111201886+WILLATRONIX@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:56:15 +0100 Subject: [PATCH 2/2] organize mainmenubar and add JSON model export --- src/SUMMARY.md | 7 +- src/editor/mainmenubar/edit.md | 9 + src/editor/mainmenubar/file.md | 51 ++++++ src/editor/mainmenubar/intro.md | 30 ++++ .../operations.md} | 166 ++---------------- src/editor/mainmenubar/select.md | 12 ++ src/editor/mainmenubar/view.md | 37 ++++ 7 files changed, 164 insertions(+), 148 deletions(-) create mode 100644 src/editor/mainmenubar/edit.md create mode 100644 src/editor/mainmenubar/file.md create mode 100644 src/editor/mainmenubar/intro.md rename src/editor/{mainmenubar.md => mainmenubar/operations.md} (58%) create mode 100644 src/editor/mainmenubar/select.md create mode 100644 src/editor/mainmenubar/view.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 0a7572e..ade5198 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -21,12 +21,17 @@ - [Replace Mode](capabilities/replacemode.md) - [Bulldozer](capabilities/bulldozer.md) - [Editor Mode](editor/intro.md) - - [Main Menu Bar](editor/mainmenubar.md) - [Selections](editor/selections.md) - [Gizmos](editor/gizmos.md) - [Tool Presets](editor/toolpresets.md) - [Placements](editor/placement.md) - [Common UI Elements](editor/commonUIelements.md) + - [Main Menu Bar](editor/mainmenubar/intro.md) + - [File](editor/mainmenubar/file.md) + - [Edit](editor/mainmenubar/edit.md) + - [Select](editor/mainmenubar/select.md) + - [View](editor/mainmenubar/view.md) + - [Operations](editor/mainmenubar/operations.md) - [Windows](editor/windows/intro.md) - [Clipboard](editor/windows/clipboard.md) - [Views](editor/windows/views.md) diff --git a/src/editor/mainmenubar/edit.md b/src/editor/mainmenubar/edit.md new file mode 100644 index 0000000..decd7e1 --- /dev/null +++ b/src/editor/mainmenubar/edit.md @@ -0,0 +1,9 @@ +# Edit + +| Function | Default Shortcut | Description | +| -------------- | ---------------- | --------------------------------------------------------------------------------- | +| Undo | Ctrl+Z | Reverses the most recent action | +| Redo | Ctrl+Y | Reverses the most recent undo | +| Cut | Ctrl+X | Removes the selection and stores it in the clipboard | +| Copy | Ctrl+C | Copies the selected item to the [Clipboard](/editor/windows/clipboard.md) | +| Save Blueprint | Ctrl+P | Saves the clipboard as a [Blueprint](/editor/windows/blueprints.md) for later use | diff --git a/src/editor/mainmenubar/file.md b/src/editor/mainmenubar/file.md new file mode 100644 index 0000000..3cd3a03 --- /dev/null +++ b/src/editor/mainmenubar/file.md @@ -0,0 +1,51 @@ +# File + +The 'File' drop-down provides many useful features regarding loading and saving files to use within Axiom. + +## Import Schematic + +When pressed, a file explorer window will be opened. Here you can select a schematic to import into Axiom. Both `.schem` and `.schematic` are supported, however only one schematic can be loaded at a time. + +After you've opened a schematic in your file explorer, it will be loaded into your [Clipboard](/editor/windows/clipboard.md). + +## Export Schematic + +The Export Schematic option allows you to export a schematic using your clipboard. Once you have something in your clipboard, you'll be able to export it as a schematic. + +For users with a [Commercial License](https://axiom.moulberry.com/commercial), you'll be able to export to any version from 1.7 to 1.19. + +## Open Reference Image + +Opens a file explorer window for you to select an image to be loaded into Axiom. Once opened, you can drag and resize the image window to wherever you want. + +Right-Clicking on an image window will display some options to adjust the reference image. + +- **Close Window** removes the image. +- **Set Filtering: Nearest** "smoothes" out sharp pixels to reduce the blocky look. +- **Set Filtering: Linear** stops it from smoothing out pixels, leaving the sharp edges. +- **Show In Game UI** makes it so the image is always shown. When disabled, the image is hidden when outside of the [Editor](/editor/intro.md). +- **Borderless** removes the outer padding and resizing tab. + +## Load Bedrock Packs + +This is a [Commercial License](https://axiom.moulberry.com/commercial) feature. + +The 'Load Bedrock Packs' option allows you to replace existing models with Bedrock Edition models. + +This would be most used by Bedrock Marketplace creators who would want to see their models on Java. + +## Save Selection as CSV + +Exports a [Selection](/editor/selections.md) to a Comma-Seperated Value (CSV) format. + +## Save Clipboard as JSON Model + +To export to a JSON model, an object is required in your [Clipboard](/windows/clipboard.md) to use as the model. + +Saving will reformat the Clipboard into JSON suitable to be used as a custom model. Non-exposed faces are culled for optimization. + +Now, you can apply the model using the 'custommodeldata' tag in a resource pack. + +The scale is determined by the largest local coordinate. For example, if the clipboard scale is 10 x 20 x 10, the model scale will be 20. + +When the resource pack is enabled, axiom will detect these custom models as a [Display Entity](/builder/displayentities.md). \ No newline at end of file diff --git a/src/editor/mainmenubar/intro.md b/src/editor/mainmenubar/intro.md new file mode 100644 index 0000000..c6c5c5b --- /dev/null +++ b/src/editor/mainmenubar/intro.md @@ -0,0 +1,30 @@ +# 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](file.md) +- [Edit](edit.md) +- [Select](select.md) +- [View](view.md) +- [Operations](operations.md) + +## Tool Masks + +Clear and open the tool mask editing window. See [Tool Masks](toolmasks.md) + +## Window + +The **Windows** submenu lets the user toggle [Windows](windows/intro.md). If you ever close a window and want it back, this submenu allows you to re-enable it. With this window, you can also save and restore a default layout. + +To store a layout, pressing the 'Store Current Layout as Default' will save your current window layout. To restore the saved layout, press the 'Restore Default Layout' button. You can export and import layouts to and from your clipboard. + +## Keybinds + +The **Keybinds** button opens a window to edit and set keybinds for tools and operations. + +## Help + +The **Help** submenu contains useful information and configuration options. + +The dropdown contains links to information and resources. The [style editor](windows/themes.md) can be accessed through this window, allowing you to change and import custom colours for the Editor UI. + diff --git a/src/editor/mainmenubar.md b/src/editor/mainmenubar/operations.md similarity index 58% rename from src/editor/mainmenubar.md rename to src/editor/mainmenubar/operations.md index 18c8b44..d3a64ec 100644 --- a/src/editor/mainmenubar.md +++ b/src/editor/mainmenubar/operations.md @@ -1,138 +1,30 @@ -# 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 - -The 'File' drop-down provides many useful features regarding loading and saving files to use within Axiom. - -### Import Schematic - -When pressed, a file explorer window will be opened. Here you can select a schematic to import into Axiom. Both `.schem` and `.schematic` are supported, however only one schematic can be loaded at a time. - -After you've opened a schematic in your file explorer, it will be loaded into your [Clipboard](/editor/windows/clipboard.md). - -### Export Schematic - -The Export Schematic option allows you to export a schematic using your clipboard. Once you have something in your clipboard, you'll be able to export it as a schematic. - -For users with a [Commercial License](https://axiom.moulberry.com/commercial), you'll be able to export to any version from 1.7 to 1.19. - -### Open Reference Image - -Opens a file explorer window for you to select an image to be loaded into Axiom. Once opened, you can drag and resize the image window to wherever you want. - -Right-Clicking on an image window will display some options to adjust the reference image. - -- **Close Window** removes the image. -- **Set Filtering: Nearest** "smoothes" out sharp pixels to reduce the blocky look. -- **Set Filtering: Linear** stops it from smoothing out pixels, leaving the sharp edges. -- **Show In Game UI** makes it so the image is always shown. When disabled, the image is hidden when outside of the [Editor](/editor/intro.md). -- **Borderless** removes the outer padding and resizing tab. - -### Load Bedrock Packs - -This is a [Commercial License](https://axiom.moulberry.com/commercial) feature. - -The 'Load Bedrock Packs' option allows you to replace existing models with Bedrock Edition models. - -This would be most used by Bedrock Marketplace creators who would want to see their models on Java. - -### Save Selection as CSV - -Exports a [Selection](/editor/selections.md) to a Comma-Seperated Value (CSV) format. - -### Save Clipboard as JSON Model - -This allows you to convert your clipboard to an item model. Models can be used in resource packs or imported into Blockbench. - -## Edit - -| Function | Default Shortcut | Description | -| -------------- | ---------------- | --------------------------------------------------------------------------------- | -| Undo | Ctrl+Z | Reverses the most recent action | -| Redo | Ctrl+Y | Reverses the most recent undo | -| Cut | Ctrl+X | Removes the selection and stores it in the clipboard | -| Copy | Ctrl+C | Copies the selected item to the [Clipboard](/editor/windows/clipboard.md) | -| Save Blueprint | Ctrl+P | Saves the clipboard as a [Blueprint](/editor/windows/blueprints.md) for later use | - -## Select - -The Select submenu lets users perform a variety of functions to modify [Selections](/tools/selection/intro.md). - -| Function | Description | -| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Clear | Clears the current selection | -| Expand | Expands the current selection by a specified number of blocks | -| Shrink | Shrinks the current selection by a specified number of blocks | -| Distort | Distorts 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. | -| Smooth | Applies a Gaussian blur on the selection to smooth out the selection. StdDev is the intensity of the smoothing operation and the threshold is the 'cut-off' of how much input weight is needed to affect the output. | -| Bounding Box | Creates a cuboid selection 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 the Editor Menu. - -### New View - -Creates a new [View](/editor/windows/views.md) located at the current position. - -### Show Selection - -Toggles the rendering of [Selections](/editor/selections.md). - -### Show Biomes - -Toggles the visualisation of biomes. Each biome is represented with its own colour. - -Be aware that biomes in Minecraft are defined in a 4x4x4 grid. However, to make biomes feel more natural, vanilla warps the biomes visually. The biome overlay shows the "real" position of biomes, while biome blending and the f3 screen show the "warped" position of biomes. - -The default shortcut for this view is `Ctrl+B`. - -### Show Key Presses - -This shows your keyboard and mouse inputs in the bottom-right corner of the screen. This can be useful for making tutorials or debugging problems. - -### UI Scale - -This slider ranges from 0.5 to 2. This lets you change the size of all graphical elements in the editor mode. - -### Min Brightness - -The 'Min Brightness' slider ranges from 0 to 1. This lets you change how dark unlit places look in your world. A value of 1 means all blocks are fully lit, this functions similar to night vision. - -### Fluid Opacity - -The 'Fluid Opacity' slider ranges from 0 to 1. This lets you change the opacity of water to alter its visibility. A value of 0 will result in water being invisible. - -Lava and modded fluids are not affected due to performance concerns. - -## Operations +# Operations The **Operations** submenu contains various useful 'operations' to modify blocks within [Selections](/editor/selections.md). > IMPORTANT: Operations only affect [Selections](/editor/selections.md). -### Fill +## Fill The 'Fill' operation fills the selected area of blocks with a specified block. A small [Window](/editor/windows/intro.md) will open, allowing you to choose which block by clicking the block icon. This will open the 'Select Block' Window. The default keybind for this operation is `Ctrl+F`. -### Fill Nearest +## Fill Nearest The 'Fill Nearest' operation doesn't use a specified block. Rather, it uses the nearest block that isn't air for each block within the selection. -### Replace +## Replace The 'Replace' operation is similar to 'Fill'. However, instead of filling every block in the selection, you can replace a specific block with another. The default keybind for this operation is `Ctrl+R`. Note that this shortcut is overridden when a [Placement](/editor/placement.md) is active. -### Set Biome +## Set Biome The 'Set Biome' Operation sets the biome within the selection with a specified biome. -### Autoshade +## Autoshade The 'Autoshade' operation shades your selection using a sun angle, either at the player position or at a set value. Different blocks can be set for the appropriate shading. @@ -151,54 +43,54 @@ You can save and load [Presets](/editor/toolpresets.md) for the Autoshade operat To confirm the Autoshade, press the 'Autoshade' button at the bottom of the window. -### Drain +## Drain Removes all water in your selection. This operation also removes the 'waterlogged' property from blocks. -### Waterlog +## Waterlog Replaces all air blocks with water and replaces all water-loggable blocks with their waterlogged variant. -### Smoothsnow +## Smoothsnow Adds a layer of snow between one and eight layers above existing terrain. No blocks are replaced as existing terrain is prioritised. The operation attempts to generate snow as smooth as possible. -### Simulate Gravity +## Simulate Gravity The 'Simulate Gravity' operation processes simulates the effect of gravity to all blocks, regardless of whether they normally float or not. -### Trigger Updates +## Trigger Updates The 'Trigger Updates' operation removes any blocks that are incorrectly positioned. For example, a floating sign within the selection will be removed. -### Hollow +## Hollow Fills the inside of the selected object with air, leaving the a shell of the original object. The 'Hollow' operation also considers transparent/non-solid blocks so having an exterior that includes glass will be accounted for. -### Fill Gaps +## Fill Gaps The 'Fill Gaps' does the opposite of the 'Hollow' operation, empty space within an object is filled with your active block. Again, transparent and non-solid blocks are considered. -### Generate Colour Field +## Generate Colour Field The 'Generate Colour Field' operation Generates a colour field using the [CIELAB colour space](https://en.wikipedia.org/wiki/CIELAB_color_space) within a selection. A colour field (colour space) is a way to organise colours. CIELAB was chosen as it utilises XYZ coordinates to represent LAB. LAB represents three components of the colour space: -#### **L - (Lightness)** +### **L - (Lightness)** - Brightness is mapped to positive X - Darkness is mapped to negative X -#### **A - (Red/Green)** +### **A - (Red/Green)** - Red is mapped to positive Y - Green is mapped to negative Y -#### **B - (Yellow/Blue)** +### **B - (Yellow/Blue)** - Yellow is mapped to positive Z - Blue is mapped to negative Z @@ -206,11 +98,11 @@ All blocks within the colour field used are full, non-transparent blocks to redu If two blocks are similar enough, Axiom will attempt to place them in the same position. However, Axiom prevents this by offsetting blocks until there is no overlap. This means there's little chance for blocks to be excluded. -### Analyze +## Analyze Displays each block type within a selection ordered by the count of each block. A total for both the count and distribution is shown in the last row. -### Animated Rebuild +## Animated Rebuild The 'Animated Rebuild' option allows for creating cinematics of a build being built block-by-block. @@ -233,26 +125,6 @@ By default, the starting point for the Animated Rebuild operation is located at Pressing 'Do Animated Rebuild' will start the animation. To cancel mid-animation, press `Ctrl+Z` to revert to the original structure. -## Tool Masks - -Clear and open the tool mask editing window. See [Tool Masks](toolmasks.md) - -## Window - -The **Windows** submenu lets the user toggle [Windows](windows/intro.md). If you ever close a window and want it back, this submenu allows you to re-enable it. With this window, you can also save and restore a default layout. - -To store a layout, pressing the 'Store Current Layout as Default' will save your current window layout. To restore the saved layout, press the 'Restore Default Layout' button. You can export and import layouts to and from your clipboard. - -## Keybinds - -The **Keybinds** button opens a window to edit and set keybinds for tools and operations. - -## Help - -The **Help** submenu contains useful information and configuration options. - -The dropdown contains links to information and resources. The [style editor](windows/themes.md) can be accessed through this window, allowing you to change and import custom colours for the Editor UI. - ## Notes [^note1]: For versions 3.1.0 and below, a bug caused 'Start Delay' to be measured in ticks rather than seconds. \ No newline at end of file diff --git a/src/editor/mainmenubar/select.md b/src/editor/mainmenubar/select.md new file mode 100644 index 0000000..fedc46b --- /dev/null +++ b/src/editor/mainmenubar/select.md @@ -0,0 +1,12 @@ +# Select + +The Select submenu lets users perform a variety of functions to modify [Selections](/tools/selection/intro.md). + +| Function | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Clear | Clears the current selection | +| Expand | Expands the current selection by a specified number of blocks | +| Shrink | Shrinks the current selection by a specified number of blocks | +| Distort | Distorts 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. | +| Smooth | Applies a Gaussian blur on the selection to smooth out the selection. StdDev is the intensity of the smoothing operation and the threshold is the 'cut-off' of how much input weight is needed to affect the output. | +| Bounding Box | Creates a cuboid selection around the furthest points of the selection, encapsulating the entire selection. | diff --git a/src/editor/mainmenubar/view.md b/src/editor/mainmenubar/view.md new file mode 100644 index 0000000..069dc31 --- /dev/null +++ b/src/editor/mainmenubar/view.md @@ -0,0 +1,37 @@ +# View + +The View submenu lets you configure options related to viewing and rendering certain elements in the Editor Menu. + +## New View + +Creates a new [View](/editor/windows/views.md) located at the current position. + +## Show Selection + +Toggles the rendering of [Selections](/editor/selections.md). + +## Show Biomes + +Toggles the visualisation of biomes. Each biome is represented with its own colour. + +Be aware that biomes in Minecraft are defined in a 4x4x4 grid. However, to make biomes feel more natural, vanilla warps the biomes visually. The biome overlay shows the "real" position of biomes, while biome blending and the f3 screen show the "warped" position of biomes. + +The default shortcut for this view is `Ctrl+B`. + +## Show Key Presses + +This shows your keyboard and mouse inputs in the bottom-right corner of the screen. This can be useful for making tutorials or debugging problems. + +## UI Scale + +This slider ranges from 0.5 to 2. This lets you change the size of all graphical elements in the editor mode. + +## Min Brightness + +The 'Min Brightness' slider ranges from 0 to 1. This lets you change how dark unlit places look in your world. A value of 1 means all blocks are fully lit, this functions similar to night vision. + +## Fluid Opacity + +The 'Fluid Opacity' slider ranges from 0 to 1. This lets you change the opacity of water to alter its visibility. A value of 0 will result in water being invisible. + +Lava and modded fluids are not affected due to performance concerns. \ No newline at end of file