How to Make a Block

Works with
Section

This tutorial will guide you through the whole process of making a new block in MCreator.

Before you start

You will need to make a texture either by an editing program such as Gimp or Paint.net, or you can simply use the embedded editor. If you need help making it, go to Making a new Texture.

Creation and naming

  • First, go to the workspace.
  • Next click on Create new element.
  • Type the name of your block. Names must not be repeated! The end-user will not see this name, so name it something that you can identify. One way you can prevent your block name from being repeated is to put the mod type before your mod name, Example: BlockSteel or ItemEnderStick.
  • Click next.

Physical properties

Block textures

  • The top white block represents the top of the block.
  • The blue square represents the west side of the block. If you fill this in first, it will apply the texture to all the other sides (which is useful to prevent your block as showing up as the missing/purple-black texture).
  • The three other white squares represent the north, east, and south sides of the block (respectively).
  • The green square represents the bottom of the block and is the only field required.

Special Information

  • This adds a tooltip to the block when you hold your icon over the block in your inventory.
  • Use commas "," to separate entries to a new line.
  • Use the backslash with a comma after "\," it to prevent the comma to make a new entry.

Render type and rotation

Block model

This is a feature to fine-tune the rendering of your block and is optional to use.

  • Built-in models: Choose Custom for a custom model.
    • Normal: A full six-sided cube.
    • Single texture: A full six-sided cube with only one texture. It uses the bottom block for the texture.
    • Cross model: A model that crosses over like flowers. It uses the bottom block for the texture.
  • Custom 3D model type: If you are importing a 3D model that you have created in BCraft Cubik or Blender, choose Obj model file; you can also write a JSON file (see this page for more information) in which case, select the option for JSON model definition.
  • Import 3D model: Select this button to open up the .obj or .json file for your custom render. You may also select the buttons for BCraft Cubik or Blender (respectively, as shown) to open an editor.

Block rotation

The is a feature that you can make your block rotate based on the block face or player rotation and other ways.

  • There currently are six rotation settings you can choose from.
    • No rotation: - Fixed block orientation.
    • Y-axis rotation (S/W/N/E): Rotates only the sides based on the way the player is facing.
    • D/U/N/S/W/E rotation: Rotates all sides based on the way the player is facing.
    • Y-axis rotation (S/W/N/E): - Rotates only the sides based on the block face the block is clicked on.
    • D/U/N/S/W/E rotation: Rotates all sides based on the block face the block is clicked on.
    • Log rotation (X/Y/Z): Rotates the block like vanilla logs.

Transparency

The is a feature that makes the block support transparency.

  • Check this box if your block has transparency - Leave unchecked for a solid block, check it if your block is similar to leaves, glass, iron bars, etc.
  • Transparency type
    • Solid: No transparency (similar to dirt, stone, etc.)
    • Cutout: Transparent without mipmapping (similar to glass)
    • Cutout mapped: Like Cutout, but with mipmapping (for a good explanation of what mipmapping is, see this page)
    • Translucent: Partially transparent and the most resource heavy option (similar to ice)

Block dimensions

Edits the physical bounds of the block with ranges between 0 and 1.

  • The 3 min coordinates reside in the bottom corner of the block, while the 3 max coordinates reside in the top corner
  • Lower half slabs would have the settings: 0, 0, 0, 1, 0.5, 1 (min x, y, z, max x, y, z)
  • Upper half slabs would have the settings: 0, 0.5, 0, 1, 1, 1

TX Blocks

This is no longer part of the program, it is still here for historical purposes.

  • TX blocks option: This option is deprecated and currently serves no purpose.

Block Settings

Here you will have a number of options to chose from.

Basic properties

  • Name In GUI: This is the shown name of the block or item when you hover over it in any GUI in Minecraft.
  • Hardness: This is how long it takes to mine the block.
  • Resistance: This is how the block reacts to explosions.
  • Has Gravity: Check this if you want the block to act like sand or gravel, it will fall if not on the ground.
  • Creative Tab: This is where your block will be in creative mode.

Advanced properties

  • Isn't collidable: Check this if you want to walk through the block.
  • Can provide power: Check this if you want the block to act as a Redstone block.
  • Light opacity: This property makes the block allow (1) or not (0) the light to pass through, 126 makes it semi-transparent and 255 will allow all light through.
  • Material: Select the material of the block. It isn't really important what to choose, but if you select water material, farmland will become wet if it's near it, if you select wood, you can smelt your block in the furnace, selecting lava means that you can get empty buckets full of lava by clicking on your block. here is some more info about materials.

Dropping properties

  • Tool able to destroy it: This is what tool you want to mine the block, Example: set to an axe to mine wood.
  • Doesn't drop itself: Check this if you want the block to drop something other than the block you are mining. take note that you will need an item or block before you check this so it can drop it.
  • Block that drops: This will become active when you check Doesn't drop itself. You can select your item or block you want to drop here.
  • Drop amount: This is how much it drops when mined.

Light, sound, and hardness

  • Sound on step: This is the sound that your block makes when you walk on it.
  • Luminance: This is how much light the block gives off.
  • Is unbreakable: Check this if you want it to act like bedrock.
  • Harvest Level to break: This is the tier of tool required to break the block. 0 is hand/wood, 1 is stone, 2 is iron and 3 is diamond. Only the tier of tool you specify will be able to break your block.

Particles

  • Spawn particles around block: Check this box if you want to add particles.
  • Particle type: This will be the type of the particles, for instance, the particles could be bubbles or hearts (breeding).
  • Particle spawning shape: This is the shape of how the particles will spawn.
  • Particle spawning radius: This the distance that the particles will travel from your block.
  • Particle amount: This is the number of particles that will spawn at one time.
  • Click next

Block's tile entity and inventory

  • Enable tile entity and inventory on this block: check this box if you want to add an inventory or use NBT variables.
  • Number of Inventory (slot count): This is how many slots your GUI will use for the inventory.
  • Max size of stack: This is how many items in the slots can stack too.
  • Drop items from inventory when destroyed: Check this if you want the items to drop when the block is broken.
  • Enable block output comparator data: Check this if you want the block to work with comparators.
  • Output slots: Select what slots are output slots, use commas to separate the slot numbers.
  • Click next

Procedures

  • See this post to introduce you to events.
  • Procedure Tiggers
    • On block right clicked: Trigger a procedure when the block is right-clicked.
    • When block added: Trigger a procedure when the block is added.
    • When neighboring block changes: Trigger a procedure when a block nearby updates.
    • Update tick: Trigger a procedure when the tick-rate updates.
    • Random tick update event: Trigger a procedure randomly (player side only)
    • When block destroyed by player: Trigger a procedure when the player breaks the block.
    • When block destroyed by explosion: Trigger a procedure when the block breaks by an explosion.
    • When player starts to destroy: Trigger a procedure when a player starts to destroy the block.
    • When entity collides in the block: Trigger a procedure when the player is in the block.
    • When entity walks on the block: Trigger a procedure when the player walks on the block.
    • When block is placed by: Trigger a procedure when something places the block (entity/block)
    • Redstone on: Trigger a procedure when the block is powered with Redstone.
    • Redstone off: Trigger a procedure when the block is not powered by Redstone.
  • Click next

Recipe and smelting

This section is no longer part of the block setup you can now make recipe elements to configure the recipes and smelting.

  • Select recipe and smelting recipe by clicking on the grid for crafting and smelting. If you want that block to generate in the world, click on world generation, checkbox Generate in the world and select levels of generation by moving slider next to chunk. OR you can use the recipe element to make shapeless recipes.
  • Click finish

Ore Generation

Block spawning/generation properties

  • Dimensions to generate in: Select a dimension to enable ore generation.
  • Blocks this ore can replace: Select what blocks your block will only spawn in if it's in that world(s)
  • Restrict ore spawning per biome: Check this box if you want to restrict the ore to spawn only in a specific biome.
    • Restriction biomes: Select what biomes you want the ore to generate in.
  • Frequency on chucks: Set the average about of ore veins to spawn per chunk.
  • Frequency on specific chunks: Set the average amount of block per ore veins.
  • Minimal height: The lowest point that the block can spawn at.
  • Maximal height: The highest point that the block can spawn at.
  • Click next to complete.

Test and editing

  • If you want to test your Block, Click Start Client towards the top middle of MCreator.
  • Your mod becomes visible in "My workspace" when you open My workspace.
    • If you need to edit your element in "My workspace" click on "Edit element".

Video tutorial

If you prefer to watch the video, you can find the wiki page above summarized in a video: