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.

Block base

This option replaces the old TX blocks option. It's used to create blocks with complex logic, such as stairs and fences. Because of how they work, you won't be able to edit all the parameters of your block.

  • Default basic block: the block won't have any special behavior, and no parameters will be locked.
  • Stairs: Your block will behave like stairs, and will use the vanilla stairs models.
  • Fence: Your block will behave like fences, and will use the vanilla fence models.
  • Wall: Your block will behave like walls, and will use the vanilla wall models.

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

This 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

This 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 mipped: 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, and describes the shape of all faces

  • Block face shape: describes the shape of all faces. It's used for example by fences and walls to determine whether they should connect to the block, or by torches to tell if you can place them on the block. You should choose Solid for full cubes and Undefined for other block models.
  • X/Y/Z coord: these values determine the bounding box of your block (the black outline of your block, and the collision box if your block is collidable)
    • 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.
  • 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.
  • Creative inventory tab: This is where your block will be in creative mode.
  • Hardness: This is how long it takes to mine the block. An higher value means it takes longer to mine.
  • Resistance: This is how the block reacts to explosions. An higher value means the block is more resistant 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.

Advanced properties

  • Tick rate: Determines how often the block should call the "Tick Update" event.
  • Ore dictionary name: This is what your block will be registered as in the ore dictionary. You can choose one of the default options or write a custom one. Leave empty to not register the block.
  • Block color on the map: This is the color your block appears as on maps. If set to Default, the color is based on the material of the block.
  • Can plants sustain on this block: If checked, any plant can be placed on the block.
  • Can this block be beacon base: If checked, the block can be used to build the pyramid of beacons.
  • Is this block flammable: If checked, fire can spread to and stay on the block.
  • Does redstone connect to this block: If checked, Redstone dust will always connect to this block (similar to Redstone Blocks)
  • Enchantments power bonus: How much the block should affect nearby enchantment tables. Bookshelves have a value of 1.

Dropping properties

  • 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.
  • Affected by silk touch: If checked, the block drops itself when mined with a silk touch tool.
  • Creative pick item: This determines what item is selected when you "pick" (middle-click with mouse) the block. If empty, the item is the block itself.
  • Tool able to destroy it: This is what tool you want to mine the block, Example: set to an axe to mine wood.
  • 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.

Light, sound, and hardness

  • Sound on step: This is the sound that your block makes when you walk on it, place it or break it.
  • Luminance: This is how much light the block gives off, as a value between 0 and 1. If set to 0, the block won't emit light. If set to 1, the block will have a light value of 15 (same as Glowstone)
  • 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.
  • Is unbreakable: Check this if you want it to act like bedrock.
  • Is replaceable: Check this if you want to be able to replace this block with other blocks. For example, Tall Grass and Snow are replaceable blocks.
  • Isn't collidable: Check this if you want to walk through the 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 triggers
    • On block right clicked: Trigger a procedure when the block is right-clicked. It won't be called if the player is sneaking.
    • 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 is broken 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 an entity is in the block.
    • When entity walks on the block: Trigger a procedure when an entity walks on the block. It won't be called if the entity is sneaking.
    • 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 by 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 have to 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 what dimensions your block can generate in.
  • 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 specific biomes.
    • Restriction biomes: Select what biomes you want the ore to generate in.
  • Average amount of ore groups per chunk: Set the average about of ore veins to spawn per chunk.
    • Vanilla ore groups:
      • Coal Ore - 20
      • Iron Ore - 20
      • Gold Ore - 2
      • Redstone Ore - 8
      • Diamond Ore - 1
      • Lazurite (Lapis Lazuli) - 1
  • Average amount of ores in a group: Set the average amount of block per ore veins.
    • Vanilla ore amount
      • Coal Ore - 17
      • Iron Ore - 9
      • Gold Ore - 9
      • Redstone Ore - 8
      • Diamond Ore - 8
      • Lazurite - 7
  • 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:

Another tutorial that shows how to make a custom ore based on the block: