Options
Encasing Options
Enable casing
Case main block
Case top/bottom blocks
Orientation
Structure Rotation
Structure Offset:
X: Y: Z:
Technical
Hopper Clock
Compressor
Use /blockdata
Structure Dimensions
Box Length 
Box Width  
Advanced
Unique Scoreboard Obj.
Signs
Add Sign
Projects
You can also manually save this as a project to your computer
by exporting/importing with these buttons!
Export to Computer
Import
The project was successfully imported!
ExportX

To export your commands and settings as a project, you can either:

Copy: One method of saving your project manually is to copy the text from above, and paste it into a safe place on your computer.

Download: The other method of manual saving is to download a text file containg the project. To do so, click the 'download' button below.

Download
ImportX
Import

To import a saved project, you can either:

Paste: One method of importing your project manually is to paste the project text into the area above.

Upload: The other method of manual saving is to upload the '.txt' file containg the project. To do so, click the 'upload' button below.

Upload
Save ProjectX

Upon clicking "Save", your current commands, settings, and signs will be saved as a project on the server. You will be able to open this project under the "Projects" section.

Save
Rename Current ProjectX

Upon clicking "Rename", your current open project will be saved with the new name that you specified above. You will be still able to open this project under the "Projects" section.

Rename
Delete ProjectX

Delete
All ProjectsX
Base Cmd
0 Chars.
4177
{"cmds":"","settings":{"orientation":"1","offset":["0","0","0"],"dimensions":["5","3"],"casing":{"enabled":true,"caps":"barrier","sides":"barrier"},"scoreboard":"WuQq5X","signs":[[{"txt":"Destroy","clr":"red","bold":false,"italics":false,"underline":false,"command":"","destroy":true,"tog":false},{"txt":"Machine","clr":"red","bold":false,"italics":false,"underline":false,"command":""},{"txt":"","clr":"black","bold":false,"italics":false,"underline":false,"command":""},{"txt":"","clr":"black","bold":false,"italics":false,"underline":false,"command":""}],[{"txt":"Activate","clr":"aqua","bold":false,"italics":false,"underline":false,"command":"","destroy":false,"tog":true},{"txt":"Or","clr":"aqua","bold":false,"italics":true,"underline":false,"command":""},{"txt":"Deactivate","clr":"aqua","bold":false,"italics":false,"underline":false,"command":""},{"txt":"","clr":"black","bold":false,"italics":false,"underline":false,"command":""}],[{"txt":"Made","clr":"gold","bold":false,"italics":false,"underline":false,"command":"","destroy":false,"tog":false},{"txt":"By","clr":"gold","bold":false,"italics":false,"underline":false,"command":""},{"txt":"Cheweys","clr":"dark_red","bold":false,"italics":false,"underline":false,"command":""},{"txt":"Redstone","clr":"dark_red","bold":false,"italics":false,"underline":false,"command":""}]],"hopper":false,"svrsigns":false},"len":0}
Help
Show built in functions
How to use
Compressor
code shortcuts
Compressor

Below is some of the simple things you you use to make you code more readable which will then be compressed

Prefixes
Here are the intended supported Prefix shortcuts

Due to the shear number it will take a while but if you want to help search the project on Github

How To use
stone varianttype
Examples
setblock ~ ~ ~ minecraft:stone variant=granite

Writing this would set the block to granite stone whilst allowing your code to be readble rather than numbers

What it works on

All types shown above and it isnt case sensitive so what ever is best for you

smooth_granite smooth granite polished granite polished_granite

It supports both its real ingame name and it real command name the underscore is optional again for best readability while not case sensitive

Notes

It works for all types defined above and in and circumstances you will this type of definition such as /execute, /fill, /setblock and /testforblock if you want to stick with the trend cobblestone is also supported if you use variant it will also be shrunk down to its number form making you code as minimal as possible

Built in functions

Below is a list of the built in functions. They can be used by entering them as a command in the command combiner below!

Initial (Commands that only run once)
INIT:command
Examples
INIT:tellraw @a {"color":"red","text":"I'm only going to say this once!"}

Writing this would cause the tellraw command to only run once, when the user first runs the compacted command.

Command Block Modifiers
R:command
I:command
Examples
R:say I'm on my own repeating cycle!

The command above would be placed in a repeating command block, overriding whatever the command combiner would have originally made it by default.

I:say I'm an impulse command block!

The command above would be placed in an impulse command block, which you can then activate by using the TAG feature (explained below).

Multi-line Modifiers
/*modifiers
command(s)
*/
Examples
/*R:
say 1
say 2
*/

Both of the '/say' commands would be placed in repeating command blocks

/*INIT:/summon
zombie
creeper
*/

Since '/summon' would be added before each command within the multi-line modifier, this would summon a zombie and a creeper

NBT in Entity Selectors
nbt={ NBT DATA}
Examples
execute @e[type=armor_stand,nbt={OnGround:1b}] ~ ~ ~ setblock ~ ~-1 ~ stone

Using this command in the command combiner would cause a stone block to be placed under any armor_stand which is standing on the ground.

Conditionals or IF / DO statements
COND:(command)
or
IF:command
DO:command
Examples (COND)
testfor @a[m=1]
COND:say A player is in creaive mode!

Using these 2 commands in the command combiner would cause the phrase "A player is in creative mode" to be printed to the chat only .lt least one player is in creative mode

Examples (IF/DO)
IF:testfor @a[m=1]
DO:say A player is in creaive mode!

The two commands above would have the exact same outcome as the previous example. This is simply a different way to write it, which is easier to see the logic when reviewing your commands.

Coordinate Trackers
TAG#(identifier): and @TAG-(identifier)
or
@prev
Examples (TAG)
TAG#3:say Hello
setblock @TAG-3 dirt

If you wrote these commands in the command combiner, the "setblock" command would place a dirt block at the location of the "say Hello" command. This is useful when you need to access a certain command blocks coordinates from multiple other command blocks. (Especially useful for /stats)

Examples (@prev)
say Hello
setblock @prev dirt

If you used these commands in the command combiner, it would essentially do the exact same thing as the previous example, except this one is much quicker to type, but it can only be used to target the command prior to the one referencing it.

Floor Crafting
FloorCrafting: (ingredient 1) (damage val) (NBT - or {} if none) (ingredient 2) (damage val) (NBT - or {} if none) RES:(result item) (damage val) (NBT - or {} if none) (scoreboard obj. name - optional)
Examples
FloorCrafting: grass 0 {display:{Name:"The Best Grass"}} stone 0 {} RES:diamond_sword 10 {display:{Name:"Magic Sword"}}

Using this in the command combiner would allow you to throw a grass block item and a stone block item together on the ground to create 1 diamond sword named "Magic Sword".

You can use as many ingredients and result items as you want, just make sure that ingredient items do not start with 'RES:', but result items do!

How to use the command combiner
Writing commands

If you are already familiar with command blocks, you should already be a master at using the command combiner! Simply write some commands, each on a new line in the large text field below. They will all be placed on a 20hz fill clock in the final command. If there is a command that you only want to run once, just write INIT: before that command. This is mostly useful for adding scoreboard objectives and for /tellraw install messages.

Examples
INIT:/give @a stone 1
/say test

If you were to write these 2 lines in the command combiner, it would give every player 1 stone upon install, then it would constantly spam the chat with "test", 20 times per second.

Comment lines

Comments are a very useful feature to help you organize your project. A line can be commented by placing a # before the line. The commented line will be ignored when the command is generated.

Examples
# Removes 1 from the score 'Ex' until it is at 0
/scoreboard players remove @a[score_Ex_min=1] Ex 1

If you were to copy and paste those 2 lines into the command combiner, only the second one would appear in the final command. The commented line would be ignored.

Output
Generate