From 87cebc3e3fd575e3da7db6920f85a7d1c910d5e9 Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Fri, 21 Oct 2016 16:27:17 +0200 Subject: [PATCH] Fixes #2433: Readded decorative slabs. --- .../java/appeng/api/definitions/IBlocks.java | 25 ++- .../bootstrap/BlockDefinitionBuilder.java | 30 ++- .../java/appeng/bootstrap/IBlockBuilder.java | 5 + .../core/api/definitions/ApiBlocks.java | 186 +++++++++++------- .../decorative/slab/BlockSlabCommon.java | 159 +++++++++++++++ .../chiseled_quartz_double_slab.json | 5 + .../blockstates/chiseled_quartz_slab.json | 6 + .../blockstates/fluix_double_slab.json | 5 + .../blockstates/fluix_slab.json | 6 + .../blockstates/quartz_double_slab.json | 5 + .../quartz_pillar_double_slab.json | 5 + .../blockstates/quartz_pillar_slab.json | 6 + .../blockstates/quartz_slab.json | 6 + .../sky_stone_brick_double_slab.json | 5 + .../blockstates/sky_stone_brick_slab.json | 6 + .../blockstates/sky_stone_double_slab.json | 5 + .../blockstates/sky_stone_slab.json | 6 + .../sky_stone_small_brick_double_slab.json | 5 + .../sky_stone_small_brick_slab.json | 6 + .../smooth_sky_stone_double_slab.json | 5 + .../blockstates/smooth_sky_stone_slab.json | 6 + .../appliedenergistics2/lang/de_DE.lang | 16 +- .../appliedenergistics2/lang/en_US.lang | 16 +- .../appliedenergistics2/lang/fr_FR.lang | 16 +- .../appliedenergistics2/lang/pt_BR.lang | 16 +- .../block/slabs/chiseled_quartz_half.json | 8 + .../block/slabs/chiseled_quartz_upper.json | 8 + .../models/block/slabs/fluix_half.json | 8 + .../models/block/slabs/fluix_upper.json | 8 + .../models/block/slabs/quartz_half.json | 8 + .../block/slabs/quartz_pillar_half.json | 8 + .../block/slabs/quartz_pillar_upper.json | 8 + .../models/block/slabs/quartz_upper.json | 8 + .../block/slabs/sky_stone_brick_half.json | 8 + .../block/slabs/sky_stone_brick_upper.json | 8 + .../models/block/slabs/sky_stone_half.json | 8 + .../slabs/sky_stone_small_brick_half.json | 8 + .../slabs/sky_stone_small_brick_upper.json | 8 + .../models/block/slabs/sky_stone_upper.json | 8 + .../block/slabs/smooth_sky_stone_half.json | 8 + .../block/slabs/smooth_sky_stone_upper.json | 8 + .../recipes/decorative/slabs.recipe | 18 +- 42 files changed, 578 insertions(+), 125 deletions(-) create mode 100644 src/main/java/appeng/decorative/slab/BlockSlabCommon.java create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/fluix_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/fluix_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/quartz_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/quartz_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_double_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_slab.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_upper.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_upper.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_upper.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_upper.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_upper.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_upper.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_upper.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_half.json create mode 100644 src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_upper.json diff --git a/src/api/java/appeng/api/definitions/IBlocks.java b/src/api/java/appeng/api/definitions/IBlocks.java index 8aa1947d..714d11d4 100644 --- a/src/api/java/appeng/api/definitions/IBlocks.java +++ b/src/api/java/appeng/api/definitions/IBlocks.java @@ -85,16 +85,21 @@ public interface IBlocks IBlockDefinition quartzPillarStairs(); - /* - * IBlockDefinition skyStoneSlab(); - * IBlockDefinition skyStoneBlockSlab(); - * IBlockDefinition skyStoneBrickSlab(); - * IBlockDefinition skyStoneSmallBrickSlab(); - * IBlockDefinition fluixSlab(); - * IBlockDefinition quartzSlab(); - * IBlockDefinition chiseledQuartzSlab(); - * IBlockDefinition quartzPillarSlab(); - */ + IBlockDefinition skyStoneSlab(); + + IBlockDefinition smoothSkyStoneSlab(); + + IBlockDefinition skyStoneBrickSlab(); + + IBlockDefinition skyStoneSmallBrickSlab(); + + IBlockDefinition fluixSlab(); + + IBlockDefinition quartzSlab(); + + IBlockDefinition chiseledQuartzSlab(); + + IBlockDefinition quartzPillarSlab(); /* * misc diff --git a/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java b/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java index 59131167..956b3249 100644 --- a/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java +++ b/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Supplier; +import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.client.renderer.block.model.ModelResourceLocation; @@ -72,6 +73,8 @@ class BlockDefinitionBuilder implements IBlockBuilder private CreativeTabs creativeTab = CreativeTab.instance; + private boolean disableItem = false; + private Function itemFactory; @SideOnly( Side.CLIENT ) @@ -163,6 +166,13 @@ class BlockDefinitionBuilder implements IBlockBuilder return this; } + @Override + public IBlockBuilder disableItem() + { + this.disableItem = true; + return this; + } + @SideOnly( Side.CLIENT ) private void customizeForClient( BlockRenderingCustomizer callback ) { @@ -183,12 +193,17 @@ class BlockDefinitionBuilder implements IBlockBuilder block.setRegistryName( AppEng.MOD_ID, registryName ); ItemBlock item = constructItemFromBlock( block ); - item.setRegistryName( AppEng.MOD_ID, registryName ); + if ( item != null ) { + item.setRegistryName( AppEng.MOD_ID, registryName ); + } // Register the item and block with the game factory.addPreInit( side -> { GameRegistry.register( block ); - GameRegistry.register( item ); + if ( item != null ) + { + GameRegistry.register( item ); + } } ); block.setCreativeTab( creativeTab ); @@ -211,7 +226,10 @@ class BlockDefinitionBuilder implements IBlockBuilder blockRendering.apply( factory, block, null ); } - itemRendering.apply( factory, item ); + if( item != null ) + { + itemRendering.apply( factory, item ); + } } if( block instanceof AEBaseTileBlock ) @@ -233,8 +251,14 @@ class BlockDefinitionBuilder implements IBlockBuilder } } + @Nullable private ItemBlock constructItemFromBlock( Block block ) { + if( disableItem ) + { + return null; + } + if( itemFactory != null ) { return itemFactory.apply( block ); diff --git a/src/main/java/appeng/bootstrap/IBlockBuilder.java b/src/main/java/appeng/bootstrap/IBlockBuilder.java index c889fd95..b523440b 100644 --- a/src/main/java/appeng/bootstrap/IBlockBuilder.java +++ b/src/main/java/appeng/bootstrap/IBlockBuilder.java @@ -45,6 +45,11 @@ public interface IBlockBuilder IBlockBuilder rendering( BlockRenderingCustomizer callback ); + /** + * Don't register an item for this block. + */ + IBlockBuilder disableItem(); + /** * Forces this block's item to uses a custom model, instead of using the default block state as the item model. * The model has the same name as the registry name. diff --git a/src/main/java/appeng/core/api/definitions/ApiBlocks.java b/src/main/java/appeng/core/api/definitions/ApiBlocks.java index c21d6879..57cf42c5 100644 --- a/src/main/java/appeng/core/api/definitions/ApiBlocks.java +++ b/src/main/java/appeng/core/api/definitions/ApiBlocks.java @@ -19,8 +19,14 @@ package appeng.core.api.definitions; +import com.google.common.base.Verify; + +import net.minecraft.block.Block; import net.minecraft.block.BlockDispenser; +import net.minecraft.block.BlockSlab; import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemSlab; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; @@ -29,6 +35,7 @@ import net.minecraftforge.oredict.OreDictionary; import appeng.api.definitions.IBlockDefinition; import appeng.api.definitions.IBlocks; +import appeng.api.definitions.IItemDefinition; import appeng.api.definitions.ITileDefinition; import appeng.block.AEBaseItemBlockChargeable; import appeng.block.crafting.BlockCraftingMonitor; @@ -91,11 +98,13 @@ import appeng.client.render.model.GlassModel; import appeng.client.render.spatial.SpatialPylonRendering; import appeng.core.AppEng; import appeng.core.features.AEFeature; +import appeng.core.features.BlockDefinition; import appeng.core.features.registries.PartModels; import appeng.debug.BlockChunkloader; import appeng.debug.BlockCubeGenerator; import appeng.debug.BlockItemGen; import appeng.debug.BlockPhantomNode; +import appeng.decorative.slab.BlockSlabCommon; import appeng.decorative.solid.BlockChargedQuartzOre; import appeng.decorative.solid.BlockChiseledQuartz; import appeng.decorative.solid.BlockFluix; @@ -175,16 +184,15 @@ public final class ApiBlocks implements IBlocks private final IBlockDefinition quartzStairs; private final IBlockDefinition chiseledQuartzStairs; private final IBlockDefinition quartzPillarStairs; - /* - * private final IBlockDefinition skyStoneSlab; - * private final IBlockDefinition skyStoneBlockSlab; - * private final IBlockDefinition skyStoneBrickSlab; - * private final IBlockDefinition skyStoneSmallBrickSlab; - * private final IBlockDefinition fluixSlab; - * private final IBlockDefinition quartzSlab; - * private final IBlockDefinition chiseledQuartzSlab; - * private final IBlockDefinition quartzPillarSlab; - */ + + private final IBlockDefinition skyStoneSlab; + private final IBlockDefinition smoothSkyStoneSlab; + private final IBlockDefinition skyStoneBrickSlab; + private final IBlockDefinition skyStoneSmallBrickSlab; + private final IBlockDefinition fluixSlab; + private final IBlockDefinition quartzSlab; + private final IBlockDefinition chiseledQuartzSlab; + private final IBlockDefinition quartzPillarSlab; private final IBlockDefinition itemGen; private final IBlockDefinition chunkLoader; @@ -395,25 +403,14 @@ public final class ApiBlocks implements IBlocks } ) .build(); - // TODO Re-Add Slabs... - /* - * this.skyStoneSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( skyStone_stone, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "SkyStoneSlabBlock" ) ); - * this.skyStoneBlockSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( skyStone_block, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "SkyStoneBlockSlabBlock" ) ); - * this.skyStoneBrickSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( skyStone_brick, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "SkyStoneBrickSlabBlock" ) ); - * this.skyStoneSmallBrickSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( skyStone_smallbrick, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "SkyStoneSmallBrickSlabBlock" ) ); - * this.fluixSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( fluixBlock, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "FluixSlabBlock" ) ); - * this.quartzSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( quartzBlock, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "QuartzSlabBlock" ) ); - * this.chiseledQuartzSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( chiseledQuartzBlock, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "ChiseledQuartzSlabBlock" ) ); - * this.quartzPillarSlab = constructor.registerBlockDefinition( new AEBaseSlabBlock( quartzPillar, - * EnumSet.of(AEFeature.DecorativeQuartzBlocks), false, "QuartzPillarSlabBlock" ) ) - */ + this.skyStoneSlab = makeSlab( "sky_stone_slab", "sky_stone_double_slab", registry, this.skyStoneBlock() ); + this.smoothSkyStoneSlab = makeSlab( "smooth_sky_stone_slab", "smooth_sky_stone_double_slab", registry, this.smoothSkyStoneBlock() ); + this.skyStoneBrickSlab = makeSlab( "sky_stone_brick_slab", "sky_stone_brick_double_slab", registry, this.skyStoneBrick() ); + this.skyStoneSmallBrickSlab = makeSlab( "sky_stone_small_brick_slab", "sky_stone_small_brick_double_slab", registry, this.skyStoneSmallBrick() ); + this.fluixSlab = makeSlab( "fluix_slab", "fluix_double_slab", registry, this.fluixBlock() ); + this.quartzSlab = makeSlab( "quartz_slab", "quartz_double_slab", registry, this.quartzBlock() ); + this.chiseledQuartzSlab = makeSlab( "chiseled_quartz_slab", "chiseled_quartz_double_slab", registry, this.chiseledQuartzBlock() ); + this.quartzPillarSlab = makeSlab( "quartz_pillar_slab", "quartz_pillar_double_slab", registry, this.quartzPillar() ); this.itemGen = registry.block( "debug_item_gen", BlockItemGen::new ) .features( AEFeature.UnsupportedDeveloperTools, AEFeature.Creative ) @@ -433,6 +430,48 @@ public final class ApiBlocks implements IBlocks .build(); } + private static IBlockDefinition makeSlab( String slabId, String doubleSlabId, FeatureFactory registry, IBlockDefinition blockDef ) + { + if( !blockDef.maybeBlock().isPresent() ) + { + return new BlockDefinition( slabId, null, null ); + } + + Block block = blockDef.maybeBlock().get(); + + IBlockDefinition slabDef = registry.block( slabId, () -> new BlockSlabCommon.Half( block ) ) + .features( AEFeature.DecorativeQuartzBlocks ) + .disableItem() + .build(); + + if( !slabDef.maybeBlock().isPresent() ) + { + return new BlockDefinition( slabId, null, null ); + } + + BlockSlab slabBlock = (BlockSlab) slabDef.maybeBlock().get(); + + // Reigster the double slab variant as well + IBlockDefinition doubleSlabDef = registry.block( doubleSlabId, () -> new BlockSlabCommon.Double( slabBlock, block ) ) + .features( AEFeature.DecorativeQuartzBlocks ) + .disableItem() + .build(); + + Verify.verify( doubleSlabDef.maybeBlock().isPresent() ); + + BlockSlab doubleSlabBlock = (BlockSlab) doubleSlabDef.maybeBlock().get(); + + // Make the slab item + IItemDefinition itemDef = registry.item( slabId, () -> new ItemSlab( slabBlock, slabBlock, doubleSlabBlock ) ) + .features( AEFeature.DecorativeQuartzBlocks ) + .build(); + + Verify.verify( itemDef.maybeItem().isPresent() ); + + // Return a new composite block definition that combines the single slab block with the slab item + return new BlockDefinition( slabId, slabBlock, (ItemBlock) itemDef.maybeItem().get() ); + } + private static IBlockDefinition makeStairs( String registryName, FeatureFactory registry, IBlockDefinition block ) { return registry.block( registryName, () -> new BlockStairCommon( block.maybeBlock().get(), block.identifier() ) ) @@ -600,48 +639,53 @@ public final class ApiBlocks implements IBlocks return this.quartzPillarStairs; } - /* - * @Override - * public IBlockDefinition skyStoneSlab() - * { - * return this.skyStoneSlab; - * } - * @Override - * public IBlockDefinition skyStoneBlockSlab() - * { - * return this.skyStoneBlockSlab; - * } - * @Override - * public IBlockDefinition skyStoneBrickSlab() - * { - * return this.skyStoneBrickSlab; - * } - * @Override - * public IBlockDefinition skyStoneSmallBrickSlab() - * { - * return this.skyStoneSmallBrickSlab; - * } - * @Override - * public IBlockDefinition fluixSlab() - * { - * return this.fluixSlab; - * } - * @Override - * public IBlockDefinition quartzSlab() - * { - * return this.quartzSlab; - * } - * @Override - * public IBlockDefinition chiseledQuartzSlab() - * { - * return this.chiseledQuartzSlab; - * } - * @Override - * public IBlockDefinition quartzPillarSlab() - * { - * return this.quartzPillarSlab; - * } - */ + @Override + public IBlockDefinition skyStoneSlab() + { + return this.skyStoneSlab; + } + + @Override + public IBlockDefinition smoothSkyStoneSlab() + { + return this.smoothSkyStoneSlab; + } + + @Override + public IBlockDefinition skyStoneBrickSlab() + { + return this.skyStoneBrickSlab; + } + + @Override + public IBlockDefinition skyStoneSmallBrickSlab() + { + return this.skyStoneSmallBrickSlab; + } + + @Override + public IBlockDefinition fluixSlab() + { + return this.fluixSlab; + } + + @Override + public IBlockDefinition quartzSlab() + { + return this.quartzSlab; + } + + @Override + public IBlockDefinition chiseledQuartzSlab() + { + return this.chiseledQuartzSlab; + } + + @Override + public IBlockDefinition quartzPillarSlab() + { + return this.quartzPillarSlab; + } @Override public ITileDefinition grindstone() diff --git a/src/main/java/appeng/decorative/slab/BlockSlabCommon.java b/src/main/java/appeng/decorative/slab/BlockSlabCommon.java new file mode 100644 index 00000000..0946bf7c --- /dev/null +++ b/src/main/java/appeng/decorative/slab/BlockSlabCommon.java @@ -0,0 +1,159 @@ +package appeng.decorative.slab; + + +import java.util.Random; +import javax.annotation.Nullable; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockSlab; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.properties.PropertyEnum; +import net.minecraft.block.state.BlockStateContainer; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IStringSerializable; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + + +public abstract class BlockSlabCommon extends BlockSlab +{ + + static final PropertyEnum VARIANT = PropertyEnum.create( "variant", Variant.class ); + + private BlockSlabCommon( Block block ) + { + super( block.getMaterial( block.getDefaultState() ) ); + this.setHardness( block.getBlockHardness( block.getDefaultState(), null, null ) ); + this.setResistance( block.getExplosionResistance( null ) * 5.0F / 3.0F ); + + IBlockState iblockstate = this.blockState.getBaseState(); + + if( !this.isDouble() ) + { + iblockstate = iblockstate.withProperty( HALF, BlockSlab.EnumBlockHalf.BOTTOM ); + } + + this.setDefaultState( iblockstate.withProperty( VARIANT, Variant.DEFAULT ) ); + this.setCreativeTab( CreativeTabs.BUILDING_BLOCKS ); + } + + /** + * Convert the given metadata into a BlockState for this Block + */ + public IBlockState getStateFromMeta( int meta ) + { + IBlockState iblockstate = this.getDefaultState().withProperty( VARIANT, Variant.DEFAULT ); + + if( !this.isDouble() ) + { + iblockstate = iblockstate.withProperty( HALF, ( meta & 8 ) == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP ); + } + + return iblockstate; + } + + /** + * Convert the BlockState into the correct metadata value + */ + public int getMetaFromState( IBlockState state ) + { + int i = 0; + + if( !this.isDouble() && state.getValue( HALF ) == BlockSlab.EnumBlockHalf.TOP ) + { + i |= 8; + } + + return i; + } + + protected BlockStateContainer createBlockState() + { + return this.isDouble() ? new BlockStateContainer( this, VARIANT ) : new BlockStateContainer( this, HALF, VARIANT ); + } + + @Nullable + public Item getItemDropped( IBlockState state, Random rand, int fortune ) + { + return Item.getItemFromBlock( this ); + } + + public ItemStack getItem( World worldIn, BlockPos pos, IBlockState state ) + { + return new ItemStack( this, 1, 0 ); + } + + @Override + public String getUnlocalizedName( int meta ) + { + return getUnlocalizedName(); + } + + @Override + public IProperty getVariantProperty() + { + return VARIANT; + } + + @Override + public Comparable getTypeForItem( ItemStack stack ) + { + return Variant.DEFAULT; + } + + public static class Double extends BlockSlabCommon + { + + private final Block halfSlabBlock; + + public Double( Block halfSlabBlock, Block block ) + { + super( block ); + this.halfSlabBlock = halfSlabBlock; + } + + public boolean isDouble() + { + return true; + } + + @Nullable + public Item getItemDropped( IBlockState state, Random rand, int fortune ) + { + return Item.getItemFromBlock( halfSlabBlock ); + } + + public ItemStack getItem( World worldIn, BlockPos pos, IBlockState state ) + { + return new ItemStack( halfSlabBlock, 1, 0 ); + } + + } + + public static class Half extends BlockSlabCommon + { + + public Half( Block block ) + { + super( block ); + } + + public boolean isDouble() + { + return false; + } + } + + public enum Variant implements IStringSerializable + { + DEFAULT; + + public String getName() + { + return "default"; + } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_double_slab.json new file mode 100644 index 00000000..91650f40 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:chiseled_quartz_block" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_slab.json new file mode 100644 index 00000000..de205eca --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/chiseled_quartz_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/chiseled_quartz_half" }, + "half=top": { "model": "appliedenergistics2:slabs/chiseled_quartz_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/fluix_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/fluix_double_slab.json new file mode 100644 index 00000000..5d9a00f0 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/fluix_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:fluix_block" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/fluix_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/fluix_slab.json new file mode 100644 index 00000000..a50dad9d --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/fluix_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/fluix_half" }, + "half=top,variant=default": { "model": "appliedenergistics2:slabs/fluix_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/quartz_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_double_slab.json new file mode 100644 index 00000000..69ff4559 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:quartz_block" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_double_slab.json new file mode 100644 index 00000000..7ae1e6ce --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:quartz_pillar" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_slab.json new file mode 100644 index 00000000..57d5d840 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_pillar_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/quartz_pillar_half" }, + "half=top": { "model": "appliedenergistics2:slabs/quartz_pillar_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/quartz_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_slab.json new file mode 100644 index 00000000..937596ea --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/quartz_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/quartz_half" }, + "half=top": { "model": "appliedenergistics2:slabs/quartz_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_double_slab.json new file mode 100644 index 00000000..6fc685c0 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:sky_stone_brick" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_slab.json new file mode 100644 index 00000000..67101cec --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_brick_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/sky_stone_brick_half" }, + "half=top": { "model": "appliedenergistics2:slabs/sky_stone_brick_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_double_slab.json new file mode 100644 index 00000000..8745bf0d --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:sky_stone_block" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_slab.json new file mode 100644 index 00000000..fc8137a2 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/sky_stone_half" }, + "half=top": { "model": "appliedenergistics2:slabs/sky_stone_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_double_slab.json new file mode 100644 index 00000000..4eec6edd --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:sky_stone_small_brick" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_slab.json new file mode 100644 index 00000000..1c32187f --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/sky_stone_small_brick_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/sky_stone_small_brick_half" }, + "half=top": { "model": "appliedenergistics2:slabs/sky_stone_small_brick_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_double_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_double_slab.json new file mode 100644 index 00000000..9762aac0 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_double_slab.json @@ -0,0 +1,5 @@ +{ + "variants": { + "variant=default": { "model": "appliedenergistics2:smooth_sky_stone_block" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_slab.json b/src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_slab.json new file mode 100644 index 00000000..9e6b22aa --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/blockstates/smooth_sky_stone_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "half=bottom,variant=default": { "model": "appliedenergistics2:slabs/smooth_sky_stone_half" }, + "half=top": { "model": "appliedenergistics2:slabs/smooth_sky_stone_upper" } + } +} diff --git a/src/main/resources/assets/appliedenergistics2/lang/de_DE.lang b/src/main/resources/assets/appliedenergistics2/lang/de_DE.lang index cb7820a8..bb262d0c 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/de_DE.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/de_DE.lang @@ -62,14 +62,14 @@ tile.appliedenergistics2.SkyStoneSmallBrickStairBlock.name=Himmelssteinkleinzieg tile.appliedenergistics2.SkyStoneStairBlock.name=Himmelssteintreppe // Slabs -tile.appliedenergistics2.ChiseledQuartzSlabBlock.name=Gemeißelte Certusquartzstufe -tile.appliedenergistics2.FluixSlabBlock.name=Fluixstufe -tile.appliedenergistics2.QuartzPillarSlabBlock.name=Certusquartzsäulenstufe -tile.appliedenergistics2.QuartzSlabBlock.name=Certusquartzstufe -tile.appliedenergistics2.SkyStoneBlockSlabBlock.name=Himmelssteinblockstufe -tile.appliedenergistics2.SkyStoneBrickSlabBlock.name=Himmelssteinziegelstufe -tile.appliedenergistics2.SkyStoneSmallBrickSlabBlock.name=Himmelssteinkleinziegelstufe -tile.appliedenergistics2.SkyStoneSlabBlock.name=Himmelssteinstufe +tile.appliedenergistics2.chiseled_quartz_slab.name=Gemeißelte Certusquartzstufe +tile.appliedenergistics2.fluix_slab.name=Fluixstufe +tile.appliedenergistics2.quartz_pillar_slab.name=Certusquartzsäulenstufe +tile.appliedenergistics2.quartz_slab.name=Certusquartzstufe +tile.appliedenergistics2.smooth_sky_stone_slab.name=Himmelssteinblockstufe +tile.appliedenergistics2.sky_stone_brick_slab.name=Himmelssteinziegelstufe +tile.appliedenergistics2.sky_stone_small_brick_slab.name=Himmelssteinkleinziegelstufe +tile.appliedenergistics2.sky_stone_slab.name=Himmelssteinstufe // Chat Messages chat.appliedenergistics2.ChestCannotReadStorageCell=ME-Truhe kann die Speicherzelle nicht einlesen. diff --git a/src/main/resources/assets/appliedenergistics2/lang/en_US.lang b/src/main/resources/assets/appliedenergistics2/lang/en_US.lang index 7585fd16..972e7b3d 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/en_US.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/en_US.lang @@ -62,14 +62,14 @@ tile.appliedenergistics2.sky_stone_small_brick_stairs.name=Sky Stone Small Brick tile.appliedenergistics2.sky_stone_stairs.name=Sky Stone Stairs // Slabs -tile.appliedenergistics2.ChiseledQuartzSlabBlock.name=Chiseled Certus Quartz Slabs -tile.appliedenergistics2.FluixSlabBlock.name=Fluix Slabs -tile.appliedenergistics2.QuartzPillarSlabBlock.name=Certus Quartz Pillar Slabs -tile.appliedenergistics2.QuartzSlabBlock.name=Certus Quartz Slabs -tile.appliedenergistics2.SkyStoneBlockSlabBlock.name=Sky Stone Block Slabs -tile.appliedenergistics2.SkyStoneBrickSlabBlock.name=Sky Stone Brick Slabs -tile.appliedenergistics2.SkyStoneSmallBrickSlabBlock.name=Sky Stone Small Brick Slabs -tile.appliedenergistics2.SkyStoneSlabBlock.name=Sky Stone Slabs +tile.appliedenergistics2.chiseled_quartz_slab.name=Chiseled Certus Quartz Slabs +tile.appliedenergistics2.fluix_slab.name=Fluix Slabs +tile.appliedenergistics2.quartz_pillar_slab.name=Certus Quartz Pillar Slabs +tile.appliedenergistics2.quartz_slab.name=Certus Quartz Slabs +tile.appliedenergistics2.smooth_sky_stone_slab.name=Sky Stone Block Slabs +tile.appliedenergistics2.sky_stone_brick_slab.name=Sky Stone Brick Slabs +tile.appliedenergistics2.sky_stone_small_brick_slab.name=Sky Stone Small Brick Slabs +tile.appliedenergistics2.sky_stone_slab.name=Sky Stone Slabs // Chat Messages chat.appliedenergistics2.ChestCannotReadStorageCell=ME Chest cannot read storage cell. diff --git a/src/main/resources/assets/appliedenergistics2/lang/fr_FR.lang b/src/main/resources/assets/appliedenergistics2/lang/fr_FR.lang index 958878a2..a718c715 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/fr_FR.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/fr_FR.lang @@ -62,14 +62,14 @@ tile.appliedenergistics2.SkyStoneSmallBrickStairBlock.name=Escaliers de petites tile.appliedenergistics2.SkyStoneStairBlock.name=Escaliers de pierre de ciel // Slabs -tile.appliedenergistics2.ChiseledQuartzSlabBlock.name=Dalle de Quartz Certus ciselé -tile.appliedenergistics2.FluixSlabBlock.name=Dalle de Fluix -tile.appliedenergistics2.QuartzPillarSlabBlock.name=Dalle de pilier de Quartz Certus -tile.appliedenergistics2.QuartzSlabBlock.name=Dalle de Quartz Certus -tile.appliedenergistics2.SkyStoneBlockSlabBlock.name=Dalle de bloc de pierre de ciel -tile.appliedenergistics2.SkyStoneBrickSlabBlock.name=Dalle de briques de pierre de ciel -tile.appliedenergistics2.SkyStoneSmallBrickSlabBlock.name=Dalle de petites briques de pierre de ciel -tile.appliedenergistics2.SkyStoneSlabBlock.name=Dalle de pierre de ciel +tile.appliedenergistics2.chiseled_quartz_slab.name=Dalle de Quartz Certus ciselé +tile.appliedenergistics2.fluix_slab.name=Dalle de Fluix +tile.appliedenergistics2.quartz_pillar_slab.name=Dalle de pilier de Quartz Certus +tile.appliedenergistics2.quartz_slab.name=Dalle de Quartz Certus +tile.appliedenergistics2.smooth_sky_stone_slab.name=Dalle de bloc de pierre de ciel +tile.appliedenergistics2.sky_stone_brick_slab.name=Dalle de briques de pierre de ciel +tile.appliedenergistics2.sky_stone_small_brick_slab.name=Dalle de petites briques de pierre de ciel +tile.appliedenergistics2.sky_stone_slab.name=Dalle de pierre de ciel // Chat Messages chat.appliedenergistics2.ChestCannotReadStorageCell=Le coffre ME Chest ne peut pas lire la cellule de stockage. diff --git a/src/main/resources/assets/appliedenergistics2/lang/pt_BR.lang b/src/main/resources/assets/appliedenergistics2/lang/pt_BR.lang index 81f52eaa..5ba0e014 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/pt_BR.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/pt_BR.lang @@ -62,14 +62,14 @@ tile.appliedenergistics2.SkyStoneSmallBrickStairBlock.name=Escadas de Tijolos Pe tile.appliedenergistics2.SkyStoneStairBlock.name=Escadas de Pedra do Céu // Slabs -tile.appliedenergistics2.ChiseledQuartzSlabBlock.name=Laje de Quartzo Certus Talhadas -tile.appliedenergistics2.FluixSlabBlock.name=Laje de Fluix -tile.appliedenergistics2.QuartzPillarSlabBlock.name=Laje de Pilar de Quartzo Certus -tile.appliedenergistics2.QuartzSlabBlock.name=Laje de Quartzo Certus -tile.appliedenergistics2.SkyStoneBlockSlabBlock.name=Laje de Bloco de Pedra do Céu -tile.appliedenergistics2.SkyStoneBrickSlabBlock.name=Laje de Tijolos de Pedra do Céu -tile.appliedenergistics2.SkyStoneSmallBrickSlabBlock.name=Laje de Tijolos Pequenos de Pedra do Céu -tile.appliedenergistics2.SkyStoneSlabBlock.name=Laje de Pedra do Céu +tile.appliedenergistics2.chiseled_quartz_slab.name=Laje de Quartzo Certus Talhadas +tile.appliedenergistics2.fluix_slab.name=Laje de Fluix +tile.appliedenergistics2.quartz_pillar_slab.name=Laje de Pilar de Quartzo Certus +tile.appliedenergistics2.quartz_slab.name=Laje de Quartzo Certus +tile.appliedenergistics2.smooth_sky_stone_slab.name=Laje de Bloco de Pedra do Céu +tile.appliedenergistics2.sky_stone_brick_slab.name=Laje de Tijolos de Pedra do Céu +tile.appliedenergistics2.sky_stone_small_brick_slab.name=Laje de Tijolos Pequenos de Pedra do Céu +tile.appliedenergistics2.sky_stone_slab.name=Laje de Pedra do Céu // Chat Messages chat.appliedenergistics2.ChestCannotReadStorageCell=Baú ME não consegue ler a célula de armazenamento. diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_half.json new file mode 100644 index 00000000..0db7c823 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/chiseled_quartz_block_top", + "side": "appliedenergistics2:blocks/chiseled_quartz_block_side", + "top": "appliedenergistics2:blocks/chiseled_quartz_block_top" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_upper.json new file mode 100644 index 00000000..02881ebf --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/chiseled_quartz_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/chiseled_quartz_block_top", + "side": "appliedenergistics2:blocks/chiseled_quartz_block_side", + "top": "appliedenergistics2:blocks/chiseled_quartz_block_top" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_half.json new file mode 100644 index 00000000..bb766764 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/fluix_block", + "side": "appliedenergistics2:blocks/fluix_block", + "top": "appliedenergistics2:blocks/fluix_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_upper.json new file mode 100644 index 00000000..b6f5b5fa --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/fluix_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/fluix_block", + "side": "appliedenergistics2:blocks/fluix_block", + "top": "appliedenergistics2:blocks/fluix_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_half.json new file mode 100644 index 00000000..7dd6cc96 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/quartz_block", + "side": "appliedenergistics2:blocks/quartz_block", + "top": "appliedenergistics2:blocks/quartz_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_half.json new file mode 100644 index 00000000..8303cd55 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/quartz_pillar_top", + "side": "appliedenergistics2:blocks/quartz_pillar_side", + "top": "appliedenergistics2:blocks/quartz_pillar_top" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_upper.json new file mode 100644 index 00000000..ecb51b81 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_pillar_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/quartz_pillar_top", + "side": "appliedenergistics2:blocks/quartz_pillar_side", + "top": "appliedenergistics2:blocks/quartz_pillar_top" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_upper.json new file mode 100644 index 00000000..fc075b39 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/quartz_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/quartz_block", + "side": "appliedenergistics2:blocks/quartz_block", + "top": "appliedenergistics2:blocks/quartz_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_half.json new file mode 100644 index 00000000..d2ab3d02 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/sky_stone_brick", + "side": "appliedenergistics2:blocks/sky_stone_brick", + "top": "appliedenergistics2:blocks/sky_stone_brick" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_upper.json new file mode 100644 index 00000000..9db89dfd --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_brick_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/sky_stone_brick", + "side": "appliedenergistics2:blocks/sky_stone_brick", + "top": "appliedenergistics2:blocks/sky_stone_brick" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_half.json new file mode 100644 index 00000000..fea3188e --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/sky_stone_block", + "side": "appliedenergistics2:blocks/sky_stone_block", + "top": "appliedenergistics2:blocks/sky_stone_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_half.json new file mode 100644 index 00000000..02c29b45 --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/sky_stone_small_brick", + "side": "appliedenergistics2:blocks/sky_stone_small_brick", + "top": "appliedenergistics2:blocks/sky_stone_small_brick" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_upper.json new file mode 100644 index 00000000..4dde2a9b --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_small_brick_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/sky_stone_small_brick", + "side": "appliedenergistics2:blocks/sky_stone_small_brick", + "top": "appliedenergistics2:blocks/sky_stone_small_brick" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_upper.json new file mode 100644 index 00000000..b4bd948e --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/sky_stone_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/sky_stone_block", + "side": "appliedenergistics2:blocks/sky_stone_block", + "top": "appliedenergistics2:blocks/sky_stone_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_half.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_half.json new file mode 100644 index 00000000..4462e5cc --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_half.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/smooth_sky_stone_block", + "side": "appliedenergistics2:blocks/smooth_sky_stone_block", + "top": "appliedenergistics2:blocks/smooth_sky_stone_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_upper.json b/src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_upper.json new file mode 100644 index 00000000..04d2750a --- /dev/null +++ b/src/main/resources/assets/appliedenergistics2/models/block/slabs/smooth_sky_stone_upper.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "appliedenergistics2:blocks/smooth_sky_stone_block", + "side": "appliedenergistics2:blocks/smooth_sky_stone_block", + "top": "appliedenergistics2:blocks/smooth_sky_stone_block" + } +} diff --git a/src/main/resources/assets/appliedenergistics2/recipes/decorative/slabs.recipe b/src/main/resources/assets/appliedenergistics2/recipes/decorative/slabs.recipe index 42cf0ce2..0392b87c 100644 --- a/src/main/resources/assets/appliedenergistics2/recipes/decorative/slabs.recipe +++ b/src/main/resources/assets/appliedenergistics2/recipes/decorative/slabs.recipe @@ -1,31 +1,31 @@ shaped= ae2:chiseled_quartz_block ae2:chiseled_quartz_block ae2:chiseled_quartz_block - -> 6 ae2:ChiseledQuartzSlabBlock + -> 6 ae2:chiseled_quartz_slab shaped= - ae2:fluix ae2:fluix ae2:fluix - -> 6 ae2:FluixSlabBlock + ae2:fluix_block ae2:fluix_block ae2:fluix_block + -> 6 ae2:fluix_slab shaped= ae2:quartz_pillar ae2:quartz_pillar ae2:quartz_pillar - -> 6 ae2:QuartzPillarSlabBlock + -> 6 ae2:quartz_pillar_slab shaped= ae2:quartz_block ae2:quartz_block ae2:quartz_block - -> 6 ae2:QuartzSlabBlock + -> 6 ae2:quartz_slab shaped= ae2:sky_stone_block ae2:sky_stone_block ae2:sky_stone_block - -> 6 ae2:SkyStoneSlabBlock + -> 6 ae2:sky_stone_slab shaped= ae2:smooth_sky_stone_block ae2:smooth_sky_stone_block ae2:smooth_sky_stone_block - -> 6 ae2:SkyStoneBlockSlabBlock + -> 6 ae2:smooth_sky_stone_slab shaped= ae2:sky_stone_brick ae2:sky_stone_brick ae2:sky_stone_brick - -> 6 ae2:SkyStoneBrickSlabBlock + -> 6 ae2:sky_stone_brick_slab shaped= ae2:sky_stone_small_brick ae2:sky_stone_small_brick ae2:sky_stone_small_brick - -> 6 ae2:SkyStoneSmallBrickSlabBlock + -> 6 ae2:sky_stone_small_brick_slab