
BlocksCreate
Create fully custom blocks for Minecraft using only JSON files, no coding required.
36
1
BlocksCreate
BlocksCreate is a mod for Forge 1.20 / 1.20.1 that lets you create fully custom blocks without writing a single line of Java code. All you need are JSON files inside a Resource Pack or within the mod's own resources.
What can you do?
- Create custom blocks with their own 3D model, textures, physics and sounds
- Pre-generate variants of blocks (stairs, slabs, walls, fences, octaves and more)
- Define everything through simple JSON, no programming required
- Support for water-loggeable blocks, light emission, configurable collision and more
- Rotation, slipperiness, speed and jump factor configurable per block
- Compatible with external Resource Packs for content distribution
Requirements
| Requirement | Version |
|---|---|
| Minecraft | 1.20 / 1.20.1 |
| Mod Loader | Forge |
| Minecraft | 1.21 / 1.21.1 |
| Mod Loader | Fabric |
JSON — Custom Block (with custom model)
{
"id": "mystic",
// ↑ Unique block ID (no spaces, no uppercase)
"display_name": "{\"text\":\"Block Name\"}",
// ↑ Name displayed in-game. Accepts Minecraft's JSON text format (color, bold, etc.)
"texture": {
"down": "blockscreate:block/wasa"
},
// ↑ When using a custom model, only "down" is needed as the texture reference.
// For blocks WITHOUT a custom model (auto-generated) you can define all faces:
// "down", "up", "north", "east", "south", "west"
"model": "test:models/block/mystic.json",
// ↑ Path to the custom .json model (namespace:path/to/model)
// Omit this if using simple textures (the mod generates the model automatically)
"strength": 1.5,
// ↑ Mining resistance (float). -1.0 = unbreakable | 0 = instant break
"resistance": 6.0,
// ↑ Explosion resistance (float). Higher value = more resistant
"falling_block": false,
// ↑ true = the block falls like sand/gravel | false = static block
"light_emission": 1,
// ↑ Light level emitted (0–15). -1 = no light emission
"emissive": false,
// ↑ true = block has a glow visual effect (like creeper eyes in the dark)
// false = no emissive effect
"collision": true,
// ↑ true = has physical collision with the player | false = player can walk through it
"slipperiness": 0.6,
// ↑ Slipperiness when walking on top (0.0–1.0)
// Reference: Normal = 0.6 | Ice = 0.98 | Packed Ice = 0.989
"jump_factor": 1.0,
// ↑ Jump height multiplier when on top of the block
// 1.0 = normal | >1.0 = jumps higher | <1.0 = jumps lower
"speed_factor": 1.0,
// ↑ Movement speed multiplier when on top of the block
// 1.0 = normal | >1.0 = faster | <1.0 = slower
"opacity_light": 255,
// ↑ Light opacity (0 = fully transparent | 255 = fully opaque)
"connected_sides": true,
// ↑ true = block faces visually connect with adjacent blocks of the same type
"drops": {
"item": "minecraft:stone",
// ↑ Item dropped when broken (namespace:id)
"count": 1,
// ↑ Amount of items dropped
"requires_corrected_tool": true,
// ↑ true = only drops if the correct tool is used (pickaxe for stone, axe for wood, etc.)
"require_item_tool": "minecraft:diamond_sword"
// ↑ Specific tool required for the block to drop (optional)
},
"rotation_type": "HORIZONTAL",
// ↑ Block rotation when placed. Only two options:
// -> NONE = no rotation, block always looks the same
// -> HORIZONTAL = rotates based on which direction the player is facing when placing:
// facing=north -> 0° | facing=east -> 90°
// facing=south -> 180°| facing=west -> 270°
"shapes": [
{ "minX": 0, "minY": 0, "minZ": 0, "maxX": 16, "maxY": 16, "maxZ": 16 }
],
// ↑ Block hitbox in Minecraft pixels (0–16).
// Always an array of objects with: minX, minY, minZ, maxX, maxY, maxZ
// Multiple objects can be defined for complex hitboxes (e.g. L-shape, cross, etc.)
"render_type": "minecraft:cutout",
// ↑ Block render type:
// -> solid = fully opaque solid (default, most performant)
// -> minecraft:cutout = binary transparency (glass, leaves)
// -> minecraft:cutout_mipped = cutout with mip-mapping (distant leaves)
// -> minecraft:translucent = semi-transparent (stained glass, water)
"sounds": {
"break": "minecraft:block.amethyst_block.break",
// ↑ Sound when breaking the block
"step": "minecraft:block.amethyst_block.step",
// ↑ Sound when walking on top
"place": "minecraft:block.amethyst_block.place",
// ↑ Sound when placing the block
"hit": "minecraft:block.amethyst_block.hit",
// ↑ Sound when hitting without breaking
"fall": "minecraft:block.amethyst_block.fall"
// ↑ Sound when falling onto the block
},
"water_loggeable": true
// ↑ true = block can hold water (like vanilla stairs/slabs)
// false = cannot hold water
}
JSON — Pre-generate variants
{
"id": "test",
"texture": {
"down": "blockscreate:block/texture_1",
"up": "blockscreate:block/texture_2",
"north": "blockscreate:block/texture_3",
"east": "blockscreate:block/texture_3",
"south": "blockscreate:block/texture_2",
"west": "blockscreate:block/texture_1"
},
"variants": [
// ↑ List of variants to automatically generate for this block:
"STAIRS", // -> Classic stairs
"SLAB", // -> Horizontal slab (bottom/top half)
"WALL", // -> Connected wall
"FENCE", // -> Connected fence
"FENCE_GATE", // -> Fence gate
"VERTICAL_SLAB", // -> Vertical slab (lateral half)
"VERTICAL_STAIRS", // -> Vertically oriented stairs
"MID_SLAB", // -> Centered slab (middle of the block)
"QUARTER", // -> Quarter block (1/4)
"MID_VERTICAL_SLAB", // -> Centered vertical slab
"TINY_SLAB", // -> Tiny slab (1/8 of a block)
"OCTAVE" // -> Octave block (1/8 cubic)
]
// + rest of properties same as a custom block
}
How to use it?
- Install the mod in your
mods/folder - Create a Resource Pack with your block JSON files
- Define your blocks following the JSON structures above
- Done! The blocks will appear in-game automatically
Resource Pack Structure
If you want to distribute your blocks via a Resource Pack, follow this folder structure:
MyResourcePack/
├─ pack.mcmeta
└─ assets/
└─ blockscreate/
│
├─ config/
│ └─ your_block.json <- Your block definition JSONs go here
│
├─ textures/
│ └─ block/
│ └─ down.png <- Your textures
│
└─ models/
└─ block/
└─ mystic.json <- Your custom 3D model
Note: The
config/folder insideassets/blockscreate/is where BlocksCreate looks for block JSONs when loading the Resource Pack.
Совместимость
Создатели
Детали
Лицензия:LicenseRef-All-Rights-Reserved
Опубликован:1 месяц назад
Обновлён:1 месяц назад
