How to Make a Block

Works with

What is a block?

Blocks are the basic units of the game that make up the game's world and can be collected and placed anywhere. Blocks can be harvested with the bare player hands or tools if needed in survival, unbreakable blocks apart, or all instant destroyed in creative. Most blocks, for gameplay choice, need a correct tool to be collected, and sometimes the tool itself needs a correct harvest level (see How to make a tool).


Properties Values
Tool texture: The texture of your block. You can choose different textures for each side of the block or a single texture for the entire block. This option will not work on custom models since the textures must be settled on the model file itself.
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 base:

Select the base to be used with this block. This option replaces the old texture blocks option. It's used to create blocks with complex logic. Because of how they work, you won't be able to edit all the parameters of your block. You can choose between:

  • Stairs: Your block will behave like stairs and use the vanilla stairs models.
  • Fence: Your block will behave like fences and use the vanilla fence models.
  • Wall: Your block will behave like walls and use the vanilla wall models.
  • Leaves: Your block will behave like leaves, and will use some vanilla leave settings.
  • Trapdoor: Your block will behave like trapdoor and use the vanilla trapdoor model.
  • Door: This will make behave like regular doors, and create both the top and lower parts.
  • End rod: Your block will behave like an end rod and use the vanilla end rod model.
  • Button: Your block will behave like a button (also with redstone connection) and use the vanilla button model.
  • Pressure plate: Your block will behave like a pressure plate (also with redstone connection) and use the vanilla pressure plate model.
Special information: This will add text like how enchantments show.
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.

Check this feature to make 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)
Waterloggable: Check if you want your block to be waterloggable. Note: this option could be useless if your block has a normal block model

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

Block Settings

Basic properties

  • In-game name: 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.
  • Block Slipperiness: This makes the block like ice where the player can slide when they walk on the block. Positive numbers make the block slippery. Values range from 0.1 to 2.0
    • Default value: 0.6 (This is what most regular blocks use like dirt, wood, stone etc.)
    • Slime blocks: 0.8
    • Ice: 0.89
    • Packed Ice: 0.98
    • Blue Ice: 0.989
  • Jump Factor: this will control the jump height of entities. Normal jump factor is 1.0
  • 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.
  • Has gravity: Check this if you want the block to act like sand or gravel, it will fall if not on the ground.
  • Can walk through the block: Whether entities are able to walk through this block or not.
  • Enable emissive rendering: This property makes your block glow like magma block.

Advanced properties

  • Tick rate: Determines how often the block should call the "Tick Update" event. Remember: if tick rate is setted to 0, the block will not tick at all, and the "Tick Update" event will not be called.
  • Tick randomly: Read it's comment under it. Generally used for plants.
  • 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.
  • Beacon color modifier: Select the color your block will apply to the beacon beam like glasses. Keep default for vanilla handling.
  • Can this block be beacon base: If checked, the block can be used to build the pyramid of beacons.
  • Is this block a ladder?: If checked, players will be able to climb on this 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.
  • Block flammability: Check this page for reference and have Vanilla values.
  • Fire spreading speed: How quick the fire spreads. Keep 0 for vanilla handling.
  • Reaction to being pushed: How your block reacts to being pushed by a piston.
    • Normal - Normal reaction (stone etc.)
    • Destroy - Block will be destroyed (plants etc.)
    • Block - Block doesn't react to piston (obsidian etc.)
    • Push Only - Block can only be pushed by a piston
    • Ignore - Block will ignore piston
  • AI path node type: This parameter controls how the block will be "seen" by the AI path navigators of the mobs.
  • Random model offset: This parameter controls if block placement should be randomly offset and by which axis.

Dropping properties

  • Custom drop: This is the block/item it drops when mined.
  • Drop amount: This is how much it drops when mined.
  • 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.
  • 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.


  • Use loot table for drops: When checked, it will disable the other two options above, and will use a loot table for block drops. If you don't know how to create a loot table, you can go here. Keep in mind that namespace must be mod, type must be block and it's name must be "blocks/registry_name", just replace "registry_name" with your blocks registry name.


  • Spawn particle 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.
  • Average particle amount: This is the number of particles that will spawn at one time.
  • Particle spawning condition: Specifies a condition to be met, particles will only spawn when the condition mets. Check out this page for more info about conditions.

Block's tile entity and inventory

  • Bind this block to GUI: If your block has a GUI, select it here.
  • Open bound GUI on right-click: Open the bound GUI when the player right-clicks in the block.
  • 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


  • 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.

Energy & fluid storage

Your mod must enable tile entity!

Energy storage

  • Enable energy storage: Whether to enable energy storage or not.
  • Initial energy: The energy amount the block will have when placed or  spawned.
  • Maximal energy capacity: Maximum energy amount that block can store.
  • Max energy recieve: Maximum amount of energy that block can recieve per insertion.
  • Max energy extract: Maximum amount of energy that block can extract per extraction.

Fluid tank

  • Enable fluid storage: Whether to enable fluid storage or not.
  • Maximal fluid storage: Maximum fluid amount that block can store.
  • Restrict accepted fluids: Only selected fluids will be accepted.

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.
  • Additional generation condition: Specifies a condition to be met, blocks will only spawn when the condition mets. Check out this page for more info about conditions.

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:

Donate to MCreator

By donating to developers you can speed up development, as with more resources, we can dedicate more time to MCreator. It is a free project made by developers working on it in their free time.