This Article is up to date with Custom Stuff 2 "Denotes content compatible with Custom Stuff 2"

Here are a few things you won't see in the normal game...

Normal blocks are the 1m by 1m cubes that almost everything in minecraft is composed of. With Custom Stuff, you can create many new types of blocks ranging from new types of stone and wood up to unique creations that do fantastic things when powered by redstone or activated with an item. This applies to any type of block made by Custom Stuff, however, and isn't wholly unique to normal type blocks.

Normal blocks, in addition to being the most common and familiar shape, are also the most efficient to use for large projects as you can make variations on a single block type using metadata. Their familiarity also aids players who, if they have any experience with Minecraft, probably know what the limitations and advantages of any normal cube are in terms of game play.

Example Normal Block (CS2 0.9.10 and higher)

In this example, we're adding two blocks (Concrete Bricks and Chiseled Concrete Bricks) that use a single block ID by utilizing metadata. As with all examples, the mod.js file will be in the root of your project's directory, and the block file (concreteBricks.js) will be in the /blocks/ folder within that directory.


config.addBlockIdProperty("concreteBrickID", 217);
mod.addBlock("concreteBricks.js", "normal");


name = "concreteBricks";
id = config.getBlockId("concreteBrickID");
material = "rock";
stepSound = "stone";
creativeTab = "buildingBlocks";

// Metadata Block 0 - Concrete Bricks
displayName[0] = "Concrete Bricks";
hardness[0] = 1;
resistance[0] = 50;
toolClass[0] = "pickaxe";
harvestLevel[0] = 2;
textureFileXP[0] = "concreteBrick.png";
textureFileXN[0] = "concreteBrick.png";
textureFileYP[0] = "concreteBrick.png";
textureFileYN[0] = "concreteBrick.png";
textureFileZP[0] = "concreteBrick.png";
textureFileZN[0] = "concreteBrick.png";
addToCreative[0] = true;

// Metadata Block 1 - Chiseled Concrete Bricks
displayName[1] = "Chiseled Concrete Bricks";
hardness[1] = 1.5;
resistance[1] = 60;
toolClass[0] = "pickaxe";
harvestLevel[0] = 2;
textureFileXP[1] = "concreteBrickChiseled.png";
textureFileXN[1] = "concreteBrickChiseled.png";
textureFileYP[1] = "concreteBrickChiseled.png";
textureFileYN[1] = "concreteBrickChiseled.png";
textureFileZP[1] = "concreteBrickChiseled.png";
textureFileZN[1] = "concreteBrickChiseled.png";
addToCreative[1] = true;

Normal Block Attributes

Required Attributes

Optional Attributes

textureFile and textureIndex
In CS2 versions for 1.4.7 and below, CS2 0.9.9 or below, textureFile was used to specify the texture sheet and textureIndex was used for identifying the specific icon within the texture sheet. If using CS2 0.9.9 or lower, make sure to use both of these attributes.

Older Examples and Information for Custom Stuff 1.

Example Normal Block

name="Concrete Bricks";

Normal Block Attributes (CS1)

Below is a table of attributes available to normal-type blocks, including information on notable attributes.

Required Attributes

Optional Attributes

This must be set to 'normal' in order for the block to be of the normal type. This is also the default value, so this attribute can safely be omitted when making blocks of this type. Other types that can be used for this attribute can be found on the type attribute page.

This attribute can be set to false, but the results will not be as expected. The block will lightly push you away from the block, and if you push against a no-collision normal block, you will take damage as if sufficating.

Community content is available under CC-BY-SA unless otherwise noted.