This is a mod that allows you to add blocks from resource packs. Right now you can add simple blocks like stone but in the future you will be able to add more things like items and complex blocks.
-Install it like any other vanilla mod
-Drag the resource pack into the resource pack folder
-Launch the game and load the resource pack
1. Create an empty resource pack
2. In the directory where the textures folder goes, create a text file and name it blocks.json
3. In the same directory, create a folder named blocks
4. In the blocks folder create a .json for every block you want to add (I would add green_stone.json and green_wood.json)
5. In each .json file, specify the name, id, textureName, material, hardness, resistance, creativeTab, and stepSound. For example:
{
"name":"green_stone",
"id":"3000", "textureName":
"green_stone",
"material":"rock",
"hardness":"1.5",
"resistance":"10",
"creativeTab":"buildingBlocks",
"stepSound":"stone"
}
This would create a block like stone
-The name value is the name of the block in the code, not what appears in-game. It should be what the .json file's name is and cannot have spaces
-The id value is the block id in-game. Two blocks cannot share the same id, so it has to be unique.
-The textureName value is the name of the texture file minus the file extension (.png)
-The material value sets variables like if the block can burn or be pushed by a piston. It can be: air, grass, ground, wood, rock, iron, anvil, water, lava, leaves, plants, vine, sponge, cloth, fire, sand, circuits, carpet, glass, redstoneLight, tnt, coral, or ice (Keep in mind that setting the material to water does not make it a water block. It is setting the material not the block type)
-The hardness value is how long it takes to mine the block. (dirt is 0.5, stone is 1.5, diamond ore is 3.0)
-The resistance value is how resistant the block it to blasts from TNT and creepers (dirt is 0, stone is 10, obsidian is 2000)
-The creativeTab value is what creative tab the block is on. It can be: buildingBlocks, decorations, redstone, transportation, misc, food, tools, combat, brewing, or materials
-The stepSound sets the sounds the block makes. It can be: stone, wood, gravel, grass, piston, glass, cloth, sand, snow, ladder, anvil, or metal
6. After you are done with all of the .json files, Open the blocks.json and copy this into it:
{
"blocks":[
]
}
7. Add in all of the file names minus the .json extension in between the [ ] like this:
{
"blocks":[
"green_stone",
"green_wood"
]
}
8. Add in the texture file to the textures/blocks folder for each block you added making sure the name matches the textureName in each .json file
9. Create a folder named lang in the same directory the textures folder is in
10. In the lang folder create a text file named en_US.lang and copy this into it:
language.name=English
language.region=US
language.code=en_US
11. After those 3 lines, type tile.block_name.name=Block Name for each block replacing block_name the name value from each .json file, and Block Name with whatever you want the block's name to be in-game. Mine looks like this:
language.name=English
language.region=US language.code=en_US
tile.green_stone.name=Green Stone
tile.green_wood.name=Green Wood
Download:
Version 1.0: https://copy.com/ngEB9RH7IKTbtTIN
Sample Resource Pack: https://copy.com/svufLRGhNzrEkrW1
Install:
This does not use Forge or any other mod loader.-Install it like any other vanilla mod
-Drag the resource pack into the resource pack folder
-Launch the game and load the resource pack
2. In the directory where the textures folder goes, create a text file and name it blocks.json
3. In the same directory, create a folder named blocks
4. In the blocks folder create a .json for every block you want to add (I would add green_stone.json and green_wood.json)
5. In each .json file, specify the name, id, textureName, material, hardness, resistance, creativeTab, and stepSound. For example:
{
"name":"green_stone",
"id":"3000", "textureName":
"green_stone",
"material":"rock",
"hardness":"1.5",
"resistance":"10",
"creativeTab":"buildingBlocks",
"stepSound":"stone"
}
This would create a block like stone
-The name value is the name of the block in the code, not what appears in-game. It should be what the .json file's name is and cannot have spaces
-The id value is the block id in-game. Two blocks cannot share the same id, so it has to be unique.
-The textureName value is the name of the texture file minus the file extension (.png)
-The material value sets variables like if the block can burn or be pushed by a piston. It can be: air, grass, ground, wood, rock, iron, anvil, water, lava, leaves, plants, vine, sponge, cloth, fire, sand, circuits, carpet, glass, redstoneLight, tnt, coral, or ice (Keep in mind that setting the material to water does not make it a water block. It is setting the material not the block type)
-The hardness value is how long it takes to mine the block. (dirt is 0.5, stone is 1.5, diamond ore is 3.0)
-The resistance value is how resistant the block it to blasts from TNT and creepers (dirt is 0, stone is 10, obsidian is 2000)
-The creativeTab value is what creative tab the block is on. It can be: buildingBlocks, decorations, redstone, transportation, misc, food, tools, combat, brewing, or materials
-The stepSound sets the sounds the block makes. It can be: stone, wood, gravel, grass, piston, glass, cloth, sand, snow, ladder, anvil, or metal
6. After you are done with all of the .json files, Open the blocks.json and copy this into it:
{
"blocks":[
]
}
7. Add in all of the file names minus the .json extension in between the [ ] like this:
{
"blocks":[
"green_stone",
"green_wood"
]
}
8. Add in the texture file to the textures/blocks folder for each block you added making sure the name matches the textureName in each .json file
9. Create a folder named lang in the same directory the textures folder is in
10. In the lang folder create a text file named en_US.lang and copy this into it:
language.name=English
language.region=US
language.code=en_US
11. After those 3 lines, type tile.block_name.name=Block Name for each block replacing block_name the name value from each .json file, and Block Name with whatever you want the block's name to be in-game. Mine looks like this:
language.name=English
language.region=US language.code=en_US
tile.green_stone.name=Green Stone
tile.green_wood.name=Green Wood