Add BOP leaves

This commit is contained in:
Cheeserolls 2015-04-03 01:29:39 +01:00
parent 796017f0f8
commit 353582ad3b
94 changed files with 762 additions and 1 deletions

View File

@ -67,4 +67,29 @@ public class BOPBlocks
public static Block foliage;
// leaves
public static Block yellow_autumn_leaves;
public static Block orange_autumn_leaves;
public static Block willow_leaves;
public static Block white_cherry_leaves;
public static Block pink_cherry_leaves;
public static Block sacred_oak_leaves;
public static Block redwood_leaves;
public static Block pine_leaves;
public static Block palm_leaves;
public static Block origin_leaves;
public static Block maple_leaves;
public static Block mangrove_leaves;
public static Block mahogany_leaves;
public static Block magic_leaves;
public static Block jacaranda_leaves;
public static Block hellbark_leaves;
public static Block flowering_leaves;
public static Block fir_leaves;
public static Block ethereal_leaves;
public static Block dead_leaves;
public static Block dark_leaves;
public static Block bamboo_leaves;
}

View File

@ -0,0 +1,134 @@
/*******************************************************************************
* Copyright 2014, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.block;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import biomesoplenty.api.block.IBOPBlock;
import biomesoplenty.common.item.ItemBOPBlock;
import net.minecraft.block.BlockLeaves;
import net.minecraft.block.BlockPlanks.EnumType;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
// TODO: sort out proper base color when using fast graphics
// TODO: flowers look tinted when using fast graphics
public class BlockBOPLeaves extends BlockLeaves implements IBOPBlock
{
// add properties - note CHECK_DECAY and DECAYABLE are both inherited from BlockLeaves
@Override
protected BlockState createBlockState() {return new BlockState(this, new IProperty[] {CHECK_DECAY, DECAYABLE});}
// implement IDHBlock
private Map<String, IBlockState> namedStates = new HashMap<String, IBlockState>();
public Map<String, IBlockState> getNamedStates() {return this.namedStates;}
public IBlockState getNamedState(String name) {return this.namedStates.get(name);}
public Class<? extends ItemBlock> getItemClass() {return ItemBOPBlock.class;}
private ItemStack sapling;
private ItemStack fruit;
private int saplingDropChance;
private boolean canBurn;
public BlockBOPLeaves(ItemStack sapling, ItemStack fruit, int saplingDropChance, boolean canBurn)
{
super();
this.sapling = sapling;
this.fruit = fruit;
this.saplingDropChance = saplingDropChance;
this.canBurn = canBurn;
this.setDefaultState(this.blockState.getBaseState().withProperty(CHECK_DECAY, Boolean.valueOf(true)).withProperty(DECAYABLE, Boolean.valueOf(true)));
}
@Override
public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState();
}
@Override
public int getMetaFromState(IBlockState state)
{
return 0;
}
@Override
protected int getSaplingDropChance(IBlockState state)
{
return this.saplingDropChance;
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return this.sapling.getItem();
}
@Override
public int damageDropped(IBlockState state)
{
return this.sapling.getMetadata();
}
@Override
public int quantityDropped(Random random)
{
return random.nextInt(this.saplingDropChance) == 0 ? this.sapling.stackSize : 0;
}
@Override
protected void dropApple(World worldIn, BlockPos pos, IBlockState state, int chance)
{
if (this.fruit != null) {
spawnAsEntity(worldIn, pos, this.fruit.copy());
}
}
@Override
public List<ItemStack> onSheared(ItemStack item, net.minecraft.world.IBlockAccess world, BlockPos pos, int fortune)
{
List<ItemStack> ret = new java.util.ArrayList<ItemStack>();
ret.add(new ItemStack(this));
return ret;
}
@Override
public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face)
{
return this.canBurn ? Blocks.leaves.getFlammability(world, pos, face) : 0;
}
@Override
public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face)
{
return this.canBurn ? Blocks.leaves.getFireSpreadSpeed(world, pos, face) : 0;
}
// We are forced to implement the method below in order to extend the BlockLeaves abstract class
// ...however, we don't actually use it anywhere so it's safe to just return null
@Override
public EnumType getWoodType(int meta) {return null;}
}

View File

@ -16,9 +16,12 @@ import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemDoor;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
import biomesoplenty.api.block.BOPWoodType;
import biomesoplenty.api.block.IBOPBlock;
@ -31,6 +34,7 @@ import biomesoplenty.common.block.BlockBOPFlower1;
import biomesoplenty.common.block.BlockBOPFlower2;
import biomesoplenty.common.block.BlockBOPGeneric;
import biomesoplenty.common.block.BlockBOPGrass;
import biomesoplenty.common.block.BlockBOPLeaves;
import biomesoplenty.common.block.BlockBOPLilypad;
import biomesoplenty.common.block.BlockBOPLog;
import biomesoplenty.common.block.BlockBOPMushroom;
@ -161,7 +165,7 @@ public class ModBlocks
mahogany = registerWoodType("mahogany");
giant_flower_stem = registerBlock( new BlockBOPLog(), "giant_flower_stem" ); // no planks, stairs, etc
dead_log = registerBlock( new BlockBOPLog(), "dead_log" ); // no planks, stairs, etc
//vines
// TODO: special placement rules?
flower_vine = registerBlock( new BlockBOPVine(false), "flower_vine" );
@ -172,8 +176,38 @@ public class ModBlocks
foliage = registerBlock( new BlockFoliage(), "foliage" );
// leaves
// TODO: bamboo leaves to grow automatically?
// TODO: add correct saplings
// TODO: add correct fruit (or change this implementation completely)
yellow_autumn_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "yellow_autumn_leaves" );
orange_autumn_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "orange_autumn_leaves" );
willow_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "willow_leaves" );
white_cherry_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "white_cherry_leaves" );
pink_cherry_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "pink_cherry_leaves" );
sacred_oak_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "sacred_oak_leaves" );
redwood_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "redwood_leaves" );
pine_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "pine_leaves" );
palm_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "palm_leaves" );
origin_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "origin_leaves" );
maple_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "maple_leaves" );
mangrove_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "mangrove_leaves" );
mahogany_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "mahogany_leaves" );
magic_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "magic_leaves" );
jacaranda_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "jacaranda_leaves" );
hellbark_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, false ), "hellbark_leaves" );
flowering_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "flowering_leaves" );
fir_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "fir_leaves" );
ethereal_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "ethereal_leaves" );
dead_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "dead_leaves" );
dark_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "dark_leaves" );
bamboo_leaves = registerBlock( new BlockBOPLeaves( new ItemStack(Blocks.sapling, 1, 0), new ItemStack(Items.apple, 1, 0), 20, true ), "bamboo_leaves" );
}
// TODO: check if hellbark planks, fence etc can burn
// TODO: saplings
public static BOPWoodType registerWoodType(String name)
{
BOPWoodType wood = new BOPWoodType();

View File

@ -11,6 +11,8 @@ package biomesoplenty.core;
import java.util.ArrayList;
import net.minecraft.block.Block;
import net.minecraft.block.BlockLeaves;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.item.Item;
import biomesoplenty.client.util.ModelHelper;
@ -23,13 +25,21 @@ public class ClientProxy extends CommonProxy
@Override
public void registerRenderers()
{
for (ModelEntry modelEntry : blocksToRegister)
{
// set the correct rendering mode for leaves based on the fancyGraphics game setting
if (modelEntry.block instanceof BlockLeaves)
{
((BlockLeaves)modelEntry.block).setGraphicsLevel( Minecraft.getMinecraft().gameSettings.fancyGraphics );
}
// register the block model
ModelHelper.registerBlock(modelEntry.block, modelEntry.metadata, BiomesOPlenty.MOD_ID + ":" + modelEntry.name);
}
for (ItemEntry itemEntry : itemsToRegister)
{
// register the item model
ModelHelper.registerItem(itemEntry.item, itemEntry.metadata, BiomesOPlenty.MOD_ID + ":" + itemEntry.name);
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:bamboo_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:bamboo_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:bamboo_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:bamboo_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:dark_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:dark_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:dark_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:dark_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:dead_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:dead_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:dead_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:dead_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:ethereal_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:ethereal_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:ethereal_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:ethereal_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:fir_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:fir_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:fir_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:fir_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:flowering_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:flowering_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:flowering_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:flowering_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:hellbark_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:hellbark_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:hellbark_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:hellbark_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:jacaranda_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:jacaranda_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:jacaranda_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:jacaranda_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:magic_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:magic_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:magic_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:magic_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:mahogany_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:mahogany_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:mahogany_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:mahogany_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:mangrove_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:mangrove_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:mangrove_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:mangrove_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:maple_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:maple_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:maple_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:maple_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:orange_autumn_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:orange_autumn_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:orange_autumn_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:orange_autumn_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:origin_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:origin_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:origin_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:origin_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:palm_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:palm_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:palm_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:palm_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:pine_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:pine_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:pine_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:pine_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:pink_cherry_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:pink_cherry_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:pink_cherry_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:pink_cherry_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:redwood_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:redwood_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:redwood_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:redwood_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:sacred_oak_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:sacred_oak_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:sacred_oak_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:sacred_oak_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:white_cherry_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:white_cherry_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:white_cherry_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:white_cherry_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:willow_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:willow_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:willow_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:willow_leaves" }
}
}

View File

@ -0,0 +1,8 @@
{
"variants": {
"check_decay=true,decayable=true": { "model": "biomesoplenty:yellow_autumn_leaves" },
"check_decay=true,decayable=false": { "model": "biomesoplenty:yellow_autumn_leaves" },
"check_decay=false,decayable=true": { "model": "biomesoplenty:yellow_autumn_leaves" },
"check_decay=false,decayable=false": { "model": "biomesoplenty:yellow_autumn_leaves" }
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_bamboo"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_dark"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_dead"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_ethereal"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_fir"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "biomesoplenty:block/leaves_overlay",
"textures": {
"under": "biomesoplenty:blocks/leaves_flowering",
"over": "biomesoplenty:blocks/leaves_flowering_overlay"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_hellbark"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_jacaranda"
}
}

View File

@ -0,0 +1,29 @@
{
"textures": {
"particle": "#under"
},
"elements": [
{ "from": [ 0, 0, 0 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 },
"north": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 },
"south": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 },
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 },
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 }
}
},
{ "from": [ 0, 0, 0 ],
"to": [ 16, 16, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "down" },
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "up" },
"north": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "north" },
"south": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "south" },
"west": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "west" },
"east": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "east" }
}
}
]
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_magic"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/leaves",
"textures": {
"all": "biomesoplenty:blocks/leaves_mahogany"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/leaves",
"textures": {
"all": "biomesoplenty:blocks/leaves_mangrove"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_maple"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_orange_autumn"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_origin"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/leaves",
"textures": {
"all": "biomesoplenty:blocks/leaves_palm"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/leaves",
"textures": {
"all": "biomesoplenty:blocks/leaves_pine"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_pink_cherry"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/leaves",
"textures": {
"all": "biomesoplenty:blocks/leaves_redwood"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/leaves",
"textures": {
"all": "biomesoplenty:blocks/leaves_sacred_oak"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_white_cherry"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/leaves",
"textures": {
"all": "biomesoplenty:blocks/leaves_willow"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/leaves_yellow_autumn"
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/bamboo_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/dark_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/dead_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/ethereal_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/fir_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/flowering_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/hellbark_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/jacaranda_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/magic_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/mahogany_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/mangrove_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/maple_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/orange_autumn_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/origin_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/palm_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/pine_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/pink_cherry_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/redwood_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/sacred_oak_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/white_cherry_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/willow_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View File

@ -0,0 +1,10 @@
{
"parent": "biomesoplenty:block/yellow_autumn_leaves",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B