diff --git a/src/main/java/biomesoplenty/api/block/BOPBlocks.java b/src/main/java/biomesoplenty/api/block/BOPBlocks.java index b6834e246..1983d531d 100644 --- a/src/main/java/biomesoplenty/api/block/BOPBlocks.java +++ b/src/main/java/biomesoplenty/api/block/BOPBlocks.java @@ -119,6 +119,8 @@ public class BOPBlocks public static Block crag_rock; public static Block mud_brick_block; public static Block crystal; + public static Block other_slab; + public static Block double_other_slab; public static Block flower_vine; public static Block ivy; diff --git a/src/main/java/biomesoplenty/api/item/BOPItems.java b/src/main/java/biomesoplenty/api/item/BOPItems.java index 8c4284e09..55f854fbf 100644 --- a/src/main/java/biomesoplenty/api/item/BOPItems.java +++ b/src/main/java/biomesoplenty/api/item/BOPItems.java @@ -45,6 +45,7 @@ public class BOPItems public static Item pixie_dust; public static Item ichor; public static Item pinecone; + public static Item other_slab; public static Item dart; public static Item dart_blower; diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDoubleOtherSlab.java b/src/main/java/biomesoplenty/common/block/BlockBOPDoubleOtherSlab.java new file mode 100644 index 000000000..c9de11a67 --- /dev/null +++ b/src/main/java/biomesoplenty/common/block/BlockBOPDoubleOtherSlab.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * 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 net.minecraft.block.properties.IProperty; +import net.minecraft.block.state.IBlockState; + +public class BlockBOPDoubleOtherSlab extends BlockBOPHalfOtherSlab +{ + + @Override + public IProperty[] getNonRenderingProperties() { return new IProperty[] { HALF }; } + @Override + public String getStateName(IBlockState state) + { + return "double_" + ((SlabType) state.getValue(VARIANT)).getName() + "_slab"; + } + + public BlockBOPDoubleOtherSlab() + { + super(); + } + + @Override + public boolean isDouble() { + return true; + } + + +} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPHalfOtherSlab.java b/src/main/java/biomesoplenty/common/block/BlockBOPHalfOtherSlab.java new file mode 100644 index 000000000..3850330af --- /dev/null +++ b/src/main/java/biomesoplenty/common/block/BlockBOPHalfOtherSlab.java @@ -0,0 +1,215 @@ +/******************************************************************************* + * 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.List; + +import com.google.common.collect.ImmutableSet; + +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.block.IBOPBlock; +import biomesoplenty.common.util.block.BlockStateUtils; +import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.Material; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.properties.PropertyEnum; +import net.minecraft.block.state.BlockState; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IStringSerializable; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + + +public class BlockBOPHalfOtherSlab extends BlockSlab implements IBOPBlock +{ + + // add properties + public static enum SlabType implements IStringSerializable + { + LIMESTONE, SILTSTONE, SHALE, POLISHED_LIMESTONE, POLISHED_SILTSTONE, POLISHED_SHALE, CRAG_ROCK, MUD_BRICK; + @Override + public String getName() + { + return this.name().toLowerCase(); + } + @Override + public String toString() + { + return this.getName(); + } + + // get this slab's corresponding full block blockstate + public IBlockState fullBlockState() + { + IBlockState state = null; + switch (this) + { + case LIMESTONE: + state = BOPBlocks.stone.getDefaultState().withProperty(BlockBOPStone.POLISHED, Boolean.valueOf(false)).withProperty(BlockBOPStone.VARIANT, BlockBOPStone.StoneType.LIMESTONE); + break; + case SILTSTONE: + state = BOPBlocks.stone.getDefaultState().withProperty(BlockBOPStone.POLISHED, Boolean.valueOf(false)).withProperty(BlockBOPStone.VARIANT, BlockBOPStone.StoneType.SILTSTONE); + break; + case SHALE: + state = BOPBlocks.stone.getDefaultState().withProperty(BlockBOPStone.POLISHED, Boolean.valueOf(false)).withProperty(BlockBOPStone.VARIANT, BlockBOPStone.StoneType.SHALE); + break; + case POLISHED_LIMESTONE: + state = BOPBlocks.stone.getDefaultState().withProperty(BlockBOPStone.POLISHED, Boolean.valueOf(true)).withProperty(BlockBOPStone.VARIANT, BlockBOPStone.StoneType.LIMESTONE); + break; + case POLISHED_SILTSTONE: + state = BOPBlocks.stone.getDefaultState().withProperty(BlockBOPStone.POLISHED, Boolean.valueOf(true)).withProperty(BlockBOPStone.VARIANT, BlockBOPStone.StoneType.SILTSTONE); + break; + case POLISHED_SHALE: + state = BOPBlocks.stone.getDefaultState().withProperty(BlockBOPStone.POLISHED, Boolean.valueOf(true)).withProperty(BlockBOPStone.VARIANT, BlockBOPStone.StoneType.SHALE); + break; + case CRAG_ROCK: + state = BOPBlocks.crag_rock.getDefaultState(); + break; + case MUD_BRICK: + state = BOPBlocks.mud_brick_block.getDefaultState(); + break; + default: + throw new RuntimeException("No full block state defined for SlabType " + this.name()); + } + return state; + } + }; + + // add properties (note we inherit HALF property from parent BlockSlab) + public static final PropertyEnum VARIANT = PropertyEnum.create("variant", SlabType.class); + @Override + protected BlockState createBlockState() {return new BlockState(this, new IProperty[] { HALF, VARIANT });} + + + // implement IBOPBlock + @Override + public Class getItemClass() { return null; } + @Override + public int getItemRenderColor(IBlockState state, int tintIndex) { return this.getRenderColor(state); } + @Override + public IProperty[] getPresetProperties() { return new IProperty[] { VARIANT }; } + @Override + public IProperty[] getNonRenderingProperties() { return null; } + @Override + public String getStateName(IBlockState state) + { + return ((SlabType) state.getValue(VARIANT)).getName() + "_slab"; + } + + + public IBlockState getFullBlockVariantState(SlabType type) + { + return type.fullBlockState(); + } + + public ItemStack getFullBlockVariantItem(SlabType type) + { + return this.getFullBlockVariantItem(type, 1); + } + + public ItemStack getFullBlockVariantItem(SlabType type, int howMany) + { + IBlockState state = type.fullBlockState(); + return new ItemStack(state.getBlock(), howMany, state.getBlock().damageDropped(state)); + } + + public ItemStack getVariantItem(SlabType type) + { + return this.getVariantItem(type, 1); + } + + public ItemStack getVariantItem(SlabType type, int howMany) + { + IBlockState state = this.getDefaultState().withProperty(VARIANT, type); + return new ItemStack(this, howMany, this.damageDropped(state)); + } + + + public BlockBOPHalfOtherSlab() + { + super(Material.rock); + this.useNeighborBrightness = true; + this.setStepSound(soundTypeStone); + // TODO: should depend on variant really, but that's quite hard to achieve... + this.setHardness(2.0F).setResistance(7.0F); + this.setDefaultState(this.blockState.getBaseState().withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM)); + } + + @Override + public String getHarvestTool(IBlockState state) + { + IBlockState fullBlockState = ((SlabType)state.getValue(VARIANT)).fullBlockState(); + return fullBlockState.getBlock().getHarvestTool(fullBlockState); + } + @Override + public int getHarvestLevel(IBlockState state) + { + IBlockState fullBlockState = ((SlabType)state.getValue(VARIANT)).fullBlockState(); + return fullBlockState.getBlock().getHarvestLevel(fullBlockState); + } + + // these 3 functions are required by BlockSlab for setting up the corresponding ItemSlab + @Override + public String getUnlocalizedName(int meta) + { + return this.getStateName(this.getStateFromMeta(meta)); + } + @Override + public IProperty getVariantProperty() + { + return VARIANT; + } + @Override + public Object getVariant(ItemStack stack) + { + return SlabType.values()[stack.getMetadata() & 7]; + } + + @Override + public IBlockState getStateFromMeta(int meta) + { + return this.getDefaultState().withProperty(VARIANT, SlabType.values()[meta & 7]).withProperty(HALF, (meta & 8) == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP); + } + @Override + public int getMetaFromState(IBlockState state) + { + SlabType type = (SlabType)state.getValue(VARIANT); + return (state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP ? 8 : 0) + type.ordinal(); + } + + @Override + public int damageDropped(IBlockState state) + { + // always drop a bottom slab + return this.getMetaFromState(state.withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM)); + } + + @Override + public boolean isDouble() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) + { + // get the preset blocks variants + ImmutableSet presets = BlockStateUtils.getBlockPresets(this); + // register all the sub-blocks + for (IBlockState state : presets) + { + list.add(new ItemStack(itemIn, 1, this.getMetaFromState(state))); + } + } + +} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPHalfWoodSlab.java b/src/main/java/biomesoplenty/common/block/BlockBOPHalfWoodSlab.java index df8406f88..c90a5d56a 100644 --- a/src/main/java/biomesoplenty/common/block/BlockBOPHalfWoodSlab.java +++ b/src/main/java/biomesoplenty/common/block/BlockBOPHalfWoodSlab.java @@ -1,3 +1,11 @@ +/******************************************************************************* + * 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.List; diff --git a/src/main/java/biomesoplenty/common/init/ModBlocks.java b/src/main/java/biomesoplenty/common/init/ModBlocks.java index 788dc1819..23cb2a46c 100644 --- a/src/main/java/biomesoplenty/common/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/common/init/ModBlocks.java @@ -75,11 +75,19 @@ public class ModBlocks hard_sand = registerBlock( (new BlockBOPGeneric(Material.sand)).setHardness(0.9F).setStepSound(Block.soundTypeSand), "hard_sand" ); mud_brick_block = registerBlock( (new BlockBOPGeneric()).setResistance(2.0F), "mud_brick_block" ); + // stone and brick slabs + // need to register items at the same time really so that they can be mapped to each other - bit messy this + other_slab = registerBlock( new BlockBOPHalfOtherSlab(), "other_slab"); + double_other_slab = registerBlock( new BlockBOPDoubleOtherSlab(), "double_other_slab", null ); // no creative tab for double slab + BOPItems.other_slab = ModItems.registerItem( new ItemSlab(other_slab, (BlockSlab)other_slab, (BlockSlab)double_other_slab), "other_slab"); + GameData.getBlockItemMap().put(other_slab, BOPItems.other_slab); + GameData.getBlockItemMap().put(double_other_slab, BOPItems.other_slab); + // 22 flower types 16 per BlockBOPFlower instance, needs 2 'pages' BlockBOPFlower.createAllPages(); flower_0 = registerBlock( BlockBOPFlower.paging.getBlock(0), "flower_0" ); flower_1 = registerBlock( BlockBOPFlower.paging.getBlock(1), "flower_1" ); - + // 16 wood types, 4 per BlockBOPLog instance, needs 4 'pages' BlockBOPLog.createAllPages(); log_0 = registerBlock( BlockBOPLog.paging.getBlock(0), "log_0" ); @@ -90,10 +98,20 @@ public class ModBlocks // TODO: check if hellbark planks, fence etc can burn // 16 wood types, 8 per BlockBOPHalfWoodSlab and BlockBOPDoubleWoodSlab intance, needs 2 'pages' + // need to register items at the same time really so that they can be mapped to each other - bit messy this BlockBOPDoubleWoodSlab.createAllPages(); BlockBOPHalfWoodSlab.createAllPages(); - registerWoodSlab( wood_slab_0, double_wood_slab_0, BOPItems.wood_slab_0, 0); - registerWoodSlab( wood_slab_1, double_wood_slab_1, BOPItems.wood_slab_1, 1); + wood_slab_0 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(0), "wood_slab_0"); + double_wood_slab_0 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(0), "double_wood_slab_0", null ); // no creative tab for double slab + BOPItems.wood_slab_0 = ModItems.registerItem( new ItemSlab(wood_slab_0, (BlockSlab)wood_slab_0, (BlockSlab)double_wood_slab_0), "wood_slab_0"); + GameData.getBlockItemMap().put(wood_slab_0, BOPItems.wood_slab_0); + GameData.getBlockItemMap().put(double_wood_slab_0, BOPItems.wood_slab_0); + wood_slab_1 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(1), "wood_slab_1"); + double_wood_slab_1 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(1), "double_wood_slab_1", null ); // no creative tab for double slab + BOPItems.wood_slab_1 = ModItems.registerItem( new ItemSlab(wood_slab_1, (BlockSlab)wood_slab_1, (BlockSlab)double_wood_slab_1), "wood_slab_1"); + GameData.getBlockItemMap().put(wood_slab_1, BOPItems.wood_slab_1); + GameData.getBlockItemMap().put(double_wood_slab_1, BOPItems.wood_slab_1); + // 16 wood types, 16 per BlockBOPPlanks instance, needs 1 'pages' BlockBOPPlanks.createAllPages(); @@ -226,17 +244,6 @@ public class ModBlocks } - // use a separate function for registering slabs because the half slab, double slab, and item really need to be registered together - public static void registerWoodSlab(Block half_slab, Block double_slab, Item slab_item, int pageNum) - { - - half_slab = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(pageNum), "wood_slab_" + pageNum); - double_slab = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(pageNum), "double_wood_slab_" + pageNum, null ); // no creative tab for double slab - slab_item = ModItems.registerItem( new ItemSlab(half_slab, (BlockSlab)half_slab, (BlockSlab)double_slab), "wood_slab_" + pageNum ); - GameData.getBlockItemMap().put(half_slab, slab_item); - GameData.getBlockItemMap().put(double_slab, slab_item); - } - // use a separate function for registering doors because the door block and item need to be registered together public static Block registerDoor(BlockBOPDoor door_block, String name, Item door_item) { diff --git a/src/main/java/biomesoplenty/common/init/ModCrafting.java b/src/main/java/biomesoplenty/common/init/ModCrafting.java index ff044de40..1b2924f98 100644 --- a/src/main/java/biomesoplenty/common/init/ModCrafting.java +++ b/src/main/java/biomesoplenty/common/init/ModCrafting.java @@ -78,10 +78,17 @@ public class ModCrafting GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.brown_dye), new Object[] {((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL)}); - /*** Brick stairs and slabs ***/ + /*** BOP brick and stone stairs and slabs ***/ + + for (BlockBOPHalfOtherSlab.SlabType slabType : BlockBOPHalfOtherSlab.SlabType.values()) + { + BlockBOPHalfOtherSlab otherSlab = (BlockBOPHalfOtherSlab)BOPBlocks.other_slab; + System.out.println( otherSlab.getVariantItem(slabType, 6) ); + System.out.println( otherSlab.getFullBlockVariantItem(slabType) ); + GameRegistry.addShapedRecipe(otherSlab.getVariantItem(slabType, 6), new Object[] {"RRR", 'R', otherSlab.getFullBlockVariantItem(slabType)}); + } // TODO: implement these blocks - // GameRegistry.addShapedRecipe(new ItemStack(BOPCBlocks.stoneSingleSlab, 6, 2), new Object[] {"RRR", 'R', BOPCBlocks.mudBricks}); // GameRegistry.addShapedRecipe(new ItemStack(BOPCBlocks.mudBricksStairs, 4), new Object[] {" R", " RR", "RRR", 'R', BOPCBlocks.mudBricks}); // GameRegistry.addShapedRecipe(new ItemStack(BOPCBlocks.mudBricksStairs, 4), new Object[] {"R ", "RR ", "RRR", 'R', BOPCBlocks.mudBricks}); diff --git a/src/main/resources/assets/biomesoplenty/blockstates/double_other_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/double_other_slab.json new file mode 100644 index 000000000..1339afd65 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/double_other_slab.json @@ -0,0 +1,12 @@ +{ + "variants": { + "variant=limestone": { "model": "biomesoplenty:limestone" }, + "variant=siltstone": { "model": "biomesoplenty:siltstone" }, + "variant=shale": { "model": "biomesoplenty:shale" }, + "variant=polished_limestone": { "model": "biomesoplenty:polished_limestone" }, + "variant=polished_siltstone": { "model": "biomesoplenty:polished_siltstone" }, + "variant=polished_shale": { "model": "biomesoplenty:polished_shale" }, + "variant=crag_rock": { "model": "biomesoplenty:crag_rock" }, + "variant=mud_brick": { "model": "biomesoplenty:mud_brick_block" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/other_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/other_slab.json new file mode 100644 index 000000000..8634641b8 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/other_slab.json @@ -0,0 +1,20 @@ +{ + "variants": { + "half=bottom,variant=limestone": { "model": "biomesoplenty:half_slab_limestone" }, + "half=top,variant=limestone": { "model": "biomesoplenty:upper_slab_limestone" }, + "half=bottom,variant=siltstone": { "model": "biomesoplenty:half_slab_siltstone" }, + "half=top,variant=siltstone": { "model": "biomesoplenty:upper_slab_siltstone" }, + "half=bottom,variant=shale": { "model": "biomesoplenty:half_slab_shale" }, + "half=top,variant=shale": { "model": "biomesoplenty:upper_slab_shale" }, + "half=bottom,variant=polished_limestone": { "model": "biomesoplenty:half_slab_polished_limestone" }, + "half=top,variant=polished_limestone": { "model": "biomesoplenty:upper_slab_polished_limestone" }, + "half=bottom,variant=polished_siltstone": { "model": "biomesoplenty:half_polished_siltstone" }, + "half=top,variant=polished_siltstone": { "model": "biomesoplenty:upper_slab_polished_siltstone" }, + "half=bottom,variant=polished_shale": { "model": "biomesoplenty:half_slab_polished_shale" }, + "half=top,variant=polished_shale": { "model": "biomesoplenty:upper_slab_polished_shale" }, + "half=bottom,variant=crag_rock": { "model": "biomesoplenty:half_slab_crag_rock" }, + "half=top,variant=crag_rock": { "model": "biomesoplenty:upper_slab_crag_rock" }, + "half=bottom,variant=mud_brick": { "model": "biomesoplenty:half_slab_mud_brick" }, + "half=top,variant=mud_brick": { "model": "biomesoplenty:upper_slab_mud_brick" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_crag_rock.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_crag_rock.json new file mode 100644 index 000000000..75946c63f --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_crag_rock.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/crag_rock", + "top": "biomesoplenty:blocks/crag_rock", + "side": "biomesoplenty:blocks/crag_rock" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_limestone.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_limestone.json new file mode 100644 index 000000000..cf6a8b6ec --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_limestone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/limestone", + "top": "biomesoplenty:blocks/limestone", + "side": "biomesoplenty:blocks/limestone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_mud_brick.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_mud_brick.json new file mode 100644 index 000000000..a0cfca55f --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_mud_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/mud_brick_block", + "top": "biomesoplenty:blocks/mud_brick_block", + "side": "biomesoplenty:blocks/mud_brick_block" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_limestone.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_limestone.json new file mode 100644 index 000000000..b8e21a050 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_limestone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/polished_limestone", + "top": "biomesoplenty:blocks/polished_limestone", + "side": "biomesoplenty:blocks/polished_limestone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_shale.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_shale.json new file mode 100644 index 000000000..39cb025bb --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_shale.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/polished_shale", + "top": "biomesoplenty:blocks/polished_shale", + "side": "biomesoplenty:blocks/polished_shale" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_siltstone.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_siltstone.json new file mode 100644 index 000000000..a9128ee80 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_polished_siltstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/polished_siltstone", + "top": "biomesoplenty:blocks/polished_siltstone", + "side": "biomesoplenty:blocks/polished_siltstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_shale.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_shale.json new file mode 100644 index 000000000..f5616b002 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_shale.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/shale", + "top": "biomesoplenty:blocks/shale", + "side": "biomesoplenty:blocks/shale" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_siltstone.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_siltstone.json new file mode 100644 index 000000000..48abff5d8 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/half_slab_siltstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "biomesoplenty:blocks/siltstone", + "top": "biomesoplenty:blocks/siltstone", + "side": "biomesoplenty:blocks/siltstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_crag_rock.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_crag_rock.json new file mode 100644 index 000000000..72088abfc --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_crag_rock.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/crag_rock", + "top": "biomesoplenty:blocks/crag_rock", + "side": "biomesoplenty:blocks/crag_rock" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_limestone.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_limestone.json new file mode 100644 index 000000000..0585123b7 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_limestone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/limestone", + "top": "biomesoplenty:blocks/limestone", + "side": "biomesoplenty:blocks/limestone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mud_brick.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mud_brick.json new file mode 100644 index 000000000..73462d243 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mud_brick.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/mud_brick_block", + "top": "biomesoplenty:blocks/mud_brick_block", + "side": "biomesoplenty:blocks/mud_brick_block" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_limestone.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_limestone.json new file mode 100644 index 000000000..f3bef9e63 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_limestone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/polished_limestone", + "top": "biomesoplenty:blocks/polished_limestone", + "side": "biomesoplenty:blocks/polished_limestone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_shale.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_shale.json new file mode 100644 index 000000000..b12ae501c --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_shale.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/polished_shale", + "top": "biomesoplenty:blocks/polished_shale", + "side": "biomesoplenty:blocks/polished_shale" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_siltstone.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_siltstone.json new file mode 100644 index 000000000..e48cc4e0e --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_polished_siltstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/polished_siltstone", + "top": "biomesoplenty:blocks/polished_siltstone", + "side": "biomesoplenty:blocks/polished_siltstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_shale.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_shale.json new file mode 100644 index 000000000..8619f6d95 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_shale.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/shale", + "top": "biomesoplenty:blocks/shale", + "side": "biomesoplenty:blocks/shale" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_siltstone.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_siltstone.json new file mode 100644 index 000000000..9a9e3946b --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_siltstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "biomesoplenty:blocks/siltstone", + "top": "biomesoplenty:blocks/siltstone", + "side": "biomesoplenty:blocks/siltstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/crag_rock_slab.json b/src/main/resources/assets/biomesoplenty/models/item/crag_rock_slab.json new file mode 100644 index 000000000..cdeefcfd7 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/crag_rock_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_crag_rock", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} + diff --git a/src/main/resources/assets/biomesoplenty/models/item/limestone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/limestone_slab.json new file mode 100644 index 000000000..69b6db9dd --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/limestone_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_limestone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} + diff --git a/src/main/resources/assets/biomesoplenty/models/item/mud_brick_slab.json b/src/main/resources/assets/biomesoplenty/models/item/mud_brick_slab.json new file mode 100644 index 000000000..583d1c713 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/mud_brick_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_mud_brick", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} + diff --git a/src/main/resources/assets/biomesoplenty/models/item/polished_limestone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/polished_limestone_slab.json new file mode 100644 index 000000000..6723b86d6 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/polished_limestone_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_polished_limestone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} + diff --git a/src/main/resources/assets/biomesoplenty/models/item/polished_shale_slab.json b/src/main/resources/assets/biomesoplenty/models/item/polished_shale_slab.json new file mode 100644 index 000000000..6674af219 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/polished_shale_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_polished_shale", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} + diff --git a/src/main/resources/assets/biomesoplenty/models/item/polished_siltstone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/polished_siltstone_slab.json new file mode 100644 index 000000000..6b5cd35ab --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/polished_siltstone_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_polished_siltstone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} + diff --git a/src/main/resources/assets/biomesoplenty/models/item/shale_slab.json b/src/main/resources/assets/biomesoplenty/models/item/shale_slab.json new file mode 100644 index 000000000..8be0a5abd --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/shale_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_shale", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} + diff --git a/src/main/resources/assets/biomesoplenty/models/item/siltstone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/siltstone_slab.json new file mode 100644 index 000000000..bd8bda171 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/siltstone_slab.json @@ -0,0 +1,11 @@ +{ + "parent": "biomesoplenty:block/half_slab_siltstone", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} +