diff --git a/changelog.txt b/changelog.txt index 0726390..d49f0a0 100644 --- a/changelog.txt +++ b/changelog.txt @@ -216,4 +216,7 @@ 1.2.2: Added Cooked Eggs The mod displays its correct version again (I'm always forgetting to update the mcmod.info file, dang it!) - Finally added slabs for end stone, compressed cactus, glowing obsidian, obsidian, void stone, and void stone bricks! + Finally added slabs for Bedrock, end stone, compressed cactus, glowing obsidian, obsidian, void stone, and void stone bricks! + Made Obsidian, Glowing Obsidian, and Bedrock Stairs immovable by pistons (they're made of immovable materials) + Changed the mechanic of gold and silver hoppers from transferring multiple items at to tranferring items faster than regular hoppers + Added mesa biome geneeration to the deep underground diff --git a/src/main/java/com/NetherNoah/ParadiseMod/DummyProperty.java b/src/main/java/com/NetherNoah/ParadiseMod/DummyProperty.java index 8850157..6aee59c 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/DummyProperty.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/DummyProperty.java @@ -9,56 +9,25 @@ import net.minecraft.block.properties.PropertyHelper; -/** - * Used purely for the slabs. Every slab requires a variant so this is a great - * class to use if you have no variant - * - * @author CJMinecraft - * - */ public class DummyProperty extends PropertyHelper { - - /** - * Initialise the dummy property - * - * @param name - * The name of the property - */ protected DummyProperty(String name) { super(name, Boolean.class); } - - /** - * Say that we only allow false as a valid value - */ @Override public Collection getAllowedValues() { return ImmutableSet.of(Boolean.valueOf(false)); } - /** - * Parse a value. Will always be false - */ @Override public Optional parseValue(String value) { return Optional.of(Boolean.valueOf(false)); } - /** - * The name from the value. Will always be false - */ @Override public String getName(Boolean value) { return "false"; } - /** - * Create a new dummy property - * - * @param name - * The name of the property - * @return the new dummy property - */ public static DummyProperty create(String name) { return new DummyProperty(name); } diff --git a/src/main/java/com/NetherNoah/ParadiseMod/ParadiseMod.java b/src/main/java/com/NetherNoah/ParadiseMod/ParadiseMod.java index 91bca90..a6ba0b3 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/ParadiseMod.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/ParadiseMod.java @@ -130,6 +130,7 @@ public void preInit(FMLPreInitializationEvent event) { Blocks.CHAIN_COMMAND_BLOCK.setCreativeTab(CreativeTabs.REDSTONE); Blocks.BARRIER.setCreativeTab(CreativeTabs.BUILDING_BLOCKS); Blocks.MOB_SPAWNER.setCreativeTab(CreativeTabs.DECORATIONS); + //liquids LiquidRedstone.register(); FluidRegistry.addBucketForFluid(LiquidRedstone.FluidLiquidRedstone.instance); @@ -191,10 +192,12 @@ public void preInit(FMLPreInitializationEvent event) { //trees in the Deep Underground new DUTrees() - }; + }; + for(int i=0;i getVariantProperty() { + return DUMMY_VARIANT; + } + + @Override + public Comparable getTypeForItem(ItemStack stack) { + return false; + } + + @Override + public int damageDropped(IBlockState state) { + return 0; + } + + @Override + public IBlockState getStateFromMeta(int meta) { + if (!this.isDouble()) + return this.getDefaultState().withProperty(HALF, + EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]); + return this.getDefaultState(); + } + + @Override + public int getMetaFromState(IBlockState state) { + if (this.isDouble()) + return 0; + return ((EnumBlockHalf) state.getValue(HALF)).ordinal() + 1; + } + + @Override + public Item getItemDropped(IBlockState state, Random rand, int fortune) { + return Item.getItemFromBlock(Slabs.end_slab); + } + + @Override + protected BlockStateContainer createBlockState() { + return new BlockStateContainer(this, new IProperty[] { HALF, DUMMY_VARIANT }); + } + + @Override + public boolean isDouble() { + return false; + } + + //@Override + //public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) + //{ + // return false; + //} +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/GlowingObsidianSlab.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/GlowingObsidianSlab.java index 32f4517..5fe1944 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/GlowingObsidianSlab.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/GlowingObsidianSlab.java @@ -28,11 +28,11 @@ public class GlowingObsidianSlab extends BlockSlab { public static final DummyProperty DUMMY_VARIANT = DummyProperty.create("dummy"); public GlowingObsidianSlab(String name) { - super(Material.ROCK); + super(Material.BARRIER); setUnlocalizedName(name); setRegistryName(name); - setHardness(3); - setResistance(15); + setHardness(51); + setResistance(2000); setLightLevel(.46666667F); setCreativeTab(CreativeTabs.BUILDING_BLOCKS); @@ -40,7 +40,7 @@ public GlowingObsidianSlab(String name) { if (!this.isDouble()) state = state.withProperty(HALF, EnumBlockHalf.BOTTOM); setDefaultState(state); - this.useNeighborBrightness = true; // Makes it so that you don't get dark patches on the block + this.useNeighborBrightness = true; } @Override diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/ObsidianSlab.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/ObsidianSlab.java new file mode 100644 index 0000000..b231b61 --- /dev/null +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/ObsidianSlab.java @@ -0,0 +1,95 @@ +//this class is based off of CJMinecraft's example mod +//https://github.com/CJMinecraft01/BitOfEverything +package com.NetherNoah.ParadiseMod.blocks.slabs; + +import java.util.Random; + +import com.NetherNoah.ParadiseMod.DummyProperty; +import com.NetherNoah.ParadiseMod.Reference; +import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; + +import net.minecraft.block.BlockSlab; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.state.BlockStateContainer; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class ObsidianSlab extends BlockSlab { + + public static final DummyProperty DUMMY_VARIANT = DummyProperty.create("dummy"); + + public ObsidianSlab(String name) { + super(Material.BARRIER); + setUnlocalizedName(name); + setRegistryName(name); + setHardness(51); + setResistance(2000); + setCreativeTab(CreativeTabs.BUILDING_BLOCKS); + + IBlockState state = this.blockState.getBaseState(); + if (!this.isDouble()) + state = state.withProperty(HALF, EnumBlockHalf.BOTTOM); + setDefaultState(state); + this.useNeighborBrightness = true; + } + + @Override + public String getUnlocalizedName(int meta) { + return this.getUnlocalizedName(); + } + + @Override + public IProperty getVariantProperty() { + return DUMMY_VARIANT; + } + + @Override + public Comparable getTypeForItem(ItemStack stack) { + return false; + } + + @Override + public int damageDropped(IBlockState state) { + return 0; + } + + @Override + public IBlockState getStateFromMeta(int meta) { + if (!this.isDouble()) + return this.getDefaultState().withProperty(HALF, + EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]); + return this.getDefaultState(); + } + + @Override + public int getMetaFromState(IBlockState state) { + if (this.isDouble()) + return 0; + return ((EnumBlockHalf) state.getValue(HALF)).ordinal() + 1; + } + + @Override + public Item getItemDropped(IBlockState state, Random rand, int fortune) { + return Item.getItemFromBlock(Slabs.end_slab); + } + + @Override + protected BlockStateContainer createBlockState() { + return new BlockStateContainer(this, new IProperty[] { HALF, DUMMY_VARIANT }); + } + + @Override + public boolean isDouble() { + return false; + } +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/VoidBrickSlab.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/VoidBrickSlab.java new file mode 100644 index 0000000..3ac0598 --- /dev/null +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/VoidBrickSlab.java @@ -0,0 +1,93 @@ +//this class is based off of CJMinecraft's example mod +//https://github.com/CJMinecraft01/BitOfEverything +package com.NetherNoah.ParadiseMod.blocks.slabs; + +import java.util.Random; + +import com.NetherNoah.ParadiseMod.DummyProperty; +import com.NetherNoah.ParadiseMod.Reference; +import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; + +import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.Material; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.state.BlockStateContainer; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class VoidBrickSlab extends BlockSlab { + + public static final DummyProperty DUMMY_VARIANT = DummyProperty.create("dummy"); + + public VoidBrickSlab(String name) { + super(Material.ROCK); + setUnlocalizedName(name); + setRegistryName(name); + setHardness(3); + setResistance(15); + setCreativeTab(CreativeTabs.BUILDING_BLOCKS); + IBlockState state = this.blockState.getBaseState(); + if (!this.isDouble()) + state = state.withProperty(HALF, EnumBlockHalf.BOTTOM); + setDefaultState(state); + this.useNeighborBrightness = true; + } + + @Override + public String getUnlocalizedName(int meta) { + return this.getUnlocalizedName(); + } + + @Override + public IProperty getVariantProperty() { + return DUMMY_VARIANT; + } + + @Override + public Comparable getTypeForItem(ItemStack stack) { + return false; + } + + @Override + public int damageDropped(IBlockState state) { + return 0; + } + + @Override + public IBlockState getStateFromMeta(int meta) { + if (!this.isDouble()) + return this.getDefaultState().withProperty(HALF, + EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]); + return this.getDefaultState(); + } + + @Override + public int getMetaFromState(IBlockState state) { + if (this.isDouble()) + return 0; + return ((EnumBlockHalf) state.getValue(HALF)).ordinal() + 1; + } + + @Override + public Item getItemDropped(IBlockState state, Random rand, int fortune) { + return Item.getItemFromBlock(Slabs.end_slab); + } + + @Override + protected BlockStateContainer createBlockState() { + return new BlockStateContainer(this, new IProperty[] { HALF, DUMMY_VARIANT }); + } + + @Override + public boolean isDouble() { + return false; + } +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/VoidSlab.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/VoidSlab.java new file mode 100644 index 0000000..61f5605 --- /dev/null +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/VoidSlab.java @@ -0,0 +1,99 @@ +//this class is based off of CJMinecraft's example mod +//https://github.com/CJMinecraft01/BitOfEverything +package com.NetherNoah.ParadiseMod.blocks.slabs; + +import java.util.Random; + +import com.NetherNoah.ParadiseMod.DummyProperty; +import com.NetherNoah.ParadiseMod.Reference; +import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; + +import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.Material; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.state.BlockStateContainer; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class VoidSlab extends BlockSlab { + + public static final DummyProperty DUMMY_VARIANT = DummyProperty.create("dummy"); + + public VoidSlab(String name) { + super(Material.ROCK); + setUnlocalizedName(name); + setRegistryName(name); + setHardness(3); + setResistance(15); + setCreativeTab(CreativeTabs.BUILDING_BLOCKS); + IBlockState state = this.blockState.getBaseState(); + if (!this.isDouble()) + state = state.withProperty(HALF, EnumBlockHalf.BOTTOM); + setDefaultState(state); + this.useNeighborBrightness = true; + } + + @Override + public String getUnlocalizedName(int meta) { + return this.getUnlocalizedName(); + } + + @Override + public IProperty getVariantProperty() { + return DUMMY_VARIANT; + } + + @Override + public Comparable getTypeForItem(ItemStack stack) { + return false; + } + + @Override + public int damageDropped(IBlockState state) { + return 0; + } + + @Override + public IBlockState getStateFromMeta(int meta) { + if (!this.isDouble()) + return this.getDefaultState().withProperty(HALF, + EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]); + return this.getDefaultState(); + } + + @Override + public int getMetaFromState(IBlockState state) { + if (this.isDouble()) + return 0; + return ((EnumBlockHalf) state.getValue(HALF)).ordinal() + 1; + } + + @Override + public Item getItemDropped(IBlockState state, Random rand, int fortune) { + return Item.getItemFromBlock(Slabs.end_slab); + } + + @Override + protected BlockStateContainer createBlockState() { + return new BlockStateContainer(this, new IProperty[] { HALF, DUMMY_VARIANT }); + } + + @Override + public boolean isDouble() { + return false; + } + + //@Override + //public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) + //{ + // return false; + //} +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/BedrockSlabDouble.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/BedrockSlabDouble.java new file mode 100644 index 0000000..23b2cd4 --- /dev/null +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/BedrockSlabDouble.java @@ -0,0 +1,31 @@ +//this class is based off of CJMinecraft's example mod +//https://github.com/CJMinecraft01/BitOfEverything +package com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs; + +import com.NetherNoah.ParadiseMod.blocks.slabs.BedrockSlab; +import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.world.World; + +public class BedrockSlabDouble extends BedrockSlab { + + public BedrockSlabDouble() { + super("double_bedrock_slab"); + } + + @Override + public boolean isDouble() { + return true; + } + @Override + public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) + { + return new ItemStack(Slabs.bedrock_slab); + } + +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/CactusSlabDouble.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/CactusSlabDouble.java similarity index 88% rename from src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/CactusSlabDouble.java rename to src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/CactusSlabDouble.java index f18bb41..d24bd3c 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/CactusSlabDouble.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/CactusSlabDouble.java @@ -1,7 +1,8 @@ //this class is based off of CJMinecraft's example mod //https://github.com/CJMinecraft01/BitOfEverything -package com.NetherNoah.ParadiseMod.blocks.slabs; +package com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs; +import com.NetherNoah.ParadiseMod.blocks.slabs.CactusSlab; import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; import net.minecraft.block.SoundType; diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/EndSlabDouble.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/EndSlabDouble.java similarity index 86% rename from src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/EndSlabDouble.java rename to src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/EndSlabDouble.java index 15d64a8..6b5cc48 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/EndSlabDouble.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/EndSlabDouble.java @@ -1,7 +1,8 @@ //this class is based off of CJMinecraft's example mod //https://github.com/CJMinecraft01/BitOfEverything -package com.NetherNoah.ParadiseMod.blocks.slabs; +package com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs; +import com.NetherNoah.ParadiseMod.blocks.slabs.EndSlab; import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; import net.minecraft.block.state.IBlockState; diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/GlowingObsidianSlabDouble.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/GlowingObsidianSlabDouble.java similarity index 86% rename from src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/GlowingObsidianSlabDouble.java rename to src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/GlowingObsidianSlabDouble.java index 0d15bef..7739d40 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/GlowingObsidianSlabDouble.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/GlowingObsidianSlabDouble.java @@ -1,7 +1,8 @@ //this class is based off of CJMinecraft's example mod //https://github.com/CJMinecraft01/BitOfEverything -package com.NetherNoah.ParadiseMod.blocks.slabs; +package com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs; +import com.NetherNoah.ParadiseMod.blocks.slabs.GlowingObsidianSlab; import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; import net.minecraft.block.state.IBlockState; diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/ObsidianSlabDouble.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/ObsidianSlabDouble.java new file mode 100644 index 0000000..e40dcb2 --- /dev/null +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/ObsidianSlabDouble.java @@ -0,0 +1,31 @@ +//this class is based off of CJMinecraft's example mod +//https://github.com/CJMinecraft01/BitOfEverything +package com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs; + +import com.NetherNoah.ParadiseMod.blocks.slabs.BedrockSlab; +import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.world.World; + +public class ObsidianSlabDouble extends BedrockSlab { + + public ObsidianSlabDouble() { + super("double_obsidian_slab"); + } + + @Override + public boolean isDouble() { + return true; + } + @Override + public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) + { + return new ItemStack(Slabs.obsidian_slab); + } + +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/VoidBrickSlabDouble.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/VoidBrickSlabDouble.java new file mode 100644 index 0000000..510ba05 --- /dev/null +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/VoidBrickSlabDouble.java @@ -0,0 +1,31 @@ +//this class is based off of CJMinecraft's example mod +//https://github.com/CJMinecraft01/BitOfEverything +package com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs; + +import com.NetherNoah.ParadiseMod.blocks.slabs.VoidSlab; +import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.world.World; + +public class VoidBrickSlabDouble extends VoidSlab { + + public VoidBrickSlabDouble() { + super("double_void_bricks_slab"); + } + + @Override + public boolean isDouble() { + return true; + } + @Override + public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) + { + return new ItemStack(Slabs.void_slab); + } + +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/VoidSlabDouble.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/VoidSlabDouble.java new file mode 100644 index 0000000..480f50a --- /dev/null +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/slabs/double_slabs/VoidSlabDouble.java @@ -0,0 +1,31 @@ +//this class is based off of CJMinecraft's example mod +//https://github.com/CJMinecraft01/BitOfEverything +package com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs; + +import com.NetherNoah.ParadiseMod.blocks.slabs.VoidSlab; +import com.NetherNoah.ParadiseMod.init.ModBlocks.Slabs; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.world.World; + +public class VoidSlabDouble extends VoidSlab { + + public VoidSlabDouble() { + super("double_void_slab"); + } + + @Override + public boolean isDouble() { + return true; + } + @Override + public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) + { + return new ItemStack(Slabs.void_slab); + } + +} \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/misc/BedrockStairs.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/BedrockStairs.java similarity index 72% rename from src/main/java/com/NetherNoah/ParadiseMod/blocks/misc/BedrockStairs.java rename to src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/BedrockStairs.java index aacef45..54b5697 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/blocks/misc/BedrockStairs.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/BedrockStairs.java @@ -1,4 +1,4 @@ -package com.NetherNoah.ParadiseMod.blocks.misc; +package com.NetherNoah.ParadiseMod.blocks.stairs; import net.minecraft.block.BlockStairs; import net.minecraft.creativetab.CreativeTabs; @@ -6,13 +6,12 @@ public class BedrockStairs extends BlockStairs { public BedrockStairs() { - super(Blocks.BEDROCK.getDefaultState()); + super(Blocks.BARRIER.getDefaultState()); setUnlocalizedName("BedrockStairs"); setRegistryName("bedrock_stairs"); - setHardness(5F); + setHardness(-1F); setResistance(6000000F); setCreativeTab(CreativeTabs.BUILDING_BLOCKS); - setHarvestLevel("pickaxe", 0); useNeighborBrightness = true; } } \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/GlowingObsidianStairs.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/GlowingObsidianStairs.java index 87f360f..419487f 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/GlowingObsidianStairs.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/GlowingObsidianStairs.java @@ -6,7 +6,7 @@ public class GlowingObsidianStairs extends BlockStairs { public GlowingObsidianStairs() { - super(Blocks.OBSIDIAN.getDefaultState()); + super(Blocks.BARRIER.getDefaultState()); setUnlocalizedName("GlowingObsidianStairs"); setRegistryName("glowing_obsidian_stairs"); setHardness(51F); diff --git a/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/ObsidianStairs.java b/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/ObsidianStairs.java index 4e9f7fa..0a3070b 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/ObsidianStairs.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/blocks/stairs/ObsidianStairs.java @@ -6,7 +6,7 @@ public class ObsidianStairs extends BlockStairs { public ObsidianStairs() { - super(Blocks.OBSIDIAN.getDefaultState()); + super(Blocks.BARRIER.getDefaultState()); setUnlocalizedName("ObsidianStairs"); setRegistryName("obsidian_stairs"); setHardness(51F); diff --git a/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Slabs.java b/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Slabs.java index 77ba11c..0f10fb2 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Slabs.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Slabs.java @@ -1,12 +1,20 @@ package com.NetherNoah.ParadiseMod.init.ModBlocks; import com.NetherNoah.ParadiseMod.Utils; +import com.NetherNoah.ParadiseMod.blocks.slabs.BedrockSlab; import com.NetherNoah.ParadiseMod.blocks.slabs.CactusSlab; -import com.NetherNoah.ParadiseMod.blocks.slabs.CactusSlabDouble; import com.NetherNoah.ParadiseMod.blocks.slabs.EndSlab; -import com.NetherNoah.ParadiseMod.blocks.slabs.EndSlabDouble; import com.NetherNoah.ParadiseMod.blocks.slabs.GlowingObsidianSlab; -import com.NetherNoah.ParadiseMod.blocks.slabs.GlowingObsidianSlabDouble; +import com.NetherNoah.ParadiseMod.blocks.slabs.ObsidianSlab; +import com.NetherNoah.ParadiseMod.blocks.slabs.VoidBrickSlab; +import com.NetherNoah.ParadiseMod.blocks.slabs.VoidSlab; +import com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs.BedrockSlabDouble; +import com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs.CactusSlabDouble; +import com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs.EndSlabDouble; +import com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs.GlowingObsidianSlabDouble; +import com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs.ObsidianSlabDouble; +import com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs.VoidBrickSlabDouble; +import com.NetherNoah.ParadiseMod.blocks.slabs.double_slabs.VoidSlabDouble; import net.minecraft.block.BlockSlab; import net.minecraft.item.ItemBlock; @@ -16,20 +24,43 @@ public class Slabs { public static CactusSlab cactus_slab; public static CactusSlabDouble cactus_slab_double; + + public static BedrockSlab bedrock_slab; + public static BedrockSlabDouble bedrock_slab_double; + public static EndSlab end_slab; public static EndSlabDouble end_slab_double; + public static GlowingObsidianSlab glowing_obsidian_slab; public static GlowingObsidianSlabDouble glowing_obsidian_slab_double; + + public static ObsidianSlab obsidian_slab; + public static ObsidianSlabDouble obsidian_slab_double; + + public static VoidSlab void_slab; + public static VoidSlabDouble void_slab_double; + + public static VoidBrickSlab void_bricks_slab; + public static VoidBrickSlabDouble void_bricks_slab_double; + public static void initAndRegister() { + regSlab(bedrock_slab= new BedrockSlab("bedrock_slab"),bedrock_slab_double=new BedrockSlabDouble()); regSlab(end_slab=new EndSlab("end_slab"), end_slab_double=new EndSlabDouble()); regSlab(cactus_slab=new CactusSlab("cactus_slab"),cactus_slab_double=new CactusSlabDouble()); regSlab(glowing_obsidian_slab=new GlowingObsidianSlab("glowing_obsidian_slab"),glowing_obsidian_slab_double=new GlowingObsidianSlabDouble()); + regSlab(obsidian_slab=new ObsidianSlab("obsidian_slab"),obsidian_slab_double=new ObsidianSlabDouble()); + regSlab(void_slab=new VoidSlab("void_slab"),void_slab_double=new VoidSlabDouble()); + regSlab(void_bricks_slab=new VoidBrickSlab("void_bricks_slab"),void_bricks_slab_double=new VoidBrickSlabDouble()); } public static void regRenders() { Utils.regRender(end_slab); Utils.regRender(cactus_slab); Utils.regRender(glowing_obsidian_slab); + Utils.regRender(bedrock_slab); + Utils.regRender(obsidian_slab); + Utils.regRender(void_slab); + Utils.regRender(void_bricks_slab); } /** diff --git a/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Stairs.java b/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Stairs.java index d5c89d8..d9a2c5e 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Stairs.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/init/ModBlocks/Stairs.java @@ -1,7 +1,7 @@ package com.NetherNoah.ParadiseMod.init.ModBlocks; import com.NetherNoah.ParadiseMod.Utils; -import com.NetherNoah.ParadiseMod.blocks.misc.BedrockStairs; +import com.NetherNoah.ParadiseMod.blocks.stairs.BedrockStairs; import com.NetherNoah.ParadiseMod.blocks.stairs.CactusStairs; import com.NetherNoah.ParadiseMod.blocks.stairs.EndStairs; import com.NetherNoah.ParadiseMod.blocks.stairs.GlowingObsidianStairs; diff --git a/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntityGoldHopper.java b/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntityGoldHopper.java index 8bb3a3d..75897e0 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntityGoldHopper.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntityGoldHopper.java @@ -1,43 +1,23 @@ //this was derived from the vanilla code package com.NetherNoah.ParadiseMod.tileentity.hopper; -import net.minecraft.entity.player.EntityPlayer; +import com.NetherNoah.ParadiseMod.blocks.redstone.GoldHopper; + +import net.minecraft.block.BlockHopper; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; -import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.IHopper; import net.minecraft.tileentity.TileEntityHopper; import net.minecraft.util.EnumFacing; +import net.minecraft.util.NonNullList; public class TileEntityGoldHopper extends TileEntityHopper { - //speed up movement - public static boolean pullItemFromSlot(IHopper hopper, IInventory inventoryIn, int index, EnumFacing direction) - { - ItemStack itemstack = inventoryIn.getStackInSlot(index); - if (!itemstack.isEmpty() && canExtractItemFromSlot(inventoryIn, itemstack, index, direction)) - { - ItemStack itemstack1 = itemstack.copy(); - ItemStack itemstack2 = putStackInInventoryAllSlots(inventoryIn, hopper, inventoryIn.decrStackSize(index, 64), (EnumFacing)null); - if (itemstack2.isEmpty()) - { - inventoryIn.markDirty(); - return true; - } - inventoryIn.setInventorySlotContents(index, itemstack1); - } - return false; - } - //extract a whole item stack from the last hopper - public static boolean canExtractItemFromSlot(IInventory inventoryIn, ItemStack stack, int index, EnumFacing side) - { - return !(inventoryIn instanceof ISidedInventory) || ((ISidedInventory)inventoryIn).canExtractItem(index, stack, side); - } + private int transferCooldown = -1; + private NonNullList inventory = NonNullList.withSize(5, ItemStack.EMPTY); + @Override - public ItemStack decrStackSize(int index, int count) + public void setTransferCooldown(int ticks) { - fillWithLoot((EntityPlayer)null); - ItemStack itemstack = ItemStackHelper.getAndSplit(getItems(), index, 64); - return itemstack; + this.transferCooldown = ticks/4; } } \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntitySilverHopper.java b/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntitySilverHopper.java index 45abf14..a48ea5b 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntitySilverHopper.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/tileentity/hopper/TileEntitySilverHopper.java @@ -1,43 +1,23 @@ //this was derived from the vanilla code package com.NetherNoah.ParadiseMod.tileentity.hopper; -import net.minecraft.entity.player.EntityPlayer; +import com.NetherNoah.ParadiseMod.blocks.redstone.SilverHopper; + +import net.minecraft.block.BlockHopper; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; -import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.IHopper; import net.minecraft.tileentity.TileEntityHopper; import net.minecraft.util.EnumFacing; +import net.minecraft.util.NonNullList; public class TileEntitySilverHopper extends TileEntityHopper { - //speed up movement - public static boolean pullItemFromSlot(IHopper hopper, IInventory inventoryIn, int index, EnumFacing direction) - { - ItemStack itemstack = inventoryIn.getStackInSlot(index); - if (!itemstack.isEmpty() && canExtractItemFromSlot(inventoryIn, itemstack, index, direction)) - { - ItemStack itemstack1 = itemstack.copy(); - ItemStack itemstack2 = putStackInInventoryAllSlots(inventoryIn, hopper, inventoryIn.decrStackSize(index, 32), (EnumFacing)null); - if (itemstack2.isEmpty()) - { - inventoryIn.markDirty(); - return true; - } - inventoryIn.setInventorySlotContents(index, itemstack1); - } - return false; - } - //extract a whole item stack from the last hopper - public static boolean canExtractItemFromSlot(IInventory inventoryIn, ItemStack stack, int index, EnumFacing side) - { - return !(inventoryIn instanceof ISidedInventory) || ((ISidedInventory)inventoryIn).canExtractItem(index, stack, side); - } + private int transferCooldown = -1; + private NonNullList inventory = NonNullList.withSize(5, ItemStack.EMPTY); + @Override - public ItemStack decrStackSize(int index, int count) + public void setTransferCooldown(int ticks) { - fillWithLoot((EntityPlayer)null); - ItemStack itemstack = ItemStackHelper.getAndSplit(getItems(), index, 64); - return itemstack; + this.transferCooldown = ticks/2; } } \ No newline at end of file diff --git a/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DUChunkGenerator.java b/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DUChunkGenerator.java index 909b371..2d0420b 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DUChunkGenerator.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DUChunkGenerator.java @@ -10,6 +10,8 @@ import com.NetherNoah.ParadiseMod.world.mapgen.MapGenDURavines; import net.minecraft.block.Block; +import net.minecraft.block.BlockSand; +import net.minecraft.block.BlockStainedHardenedClay; import net.minecraft.block.BlockStone; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; @@ -17,6 +19,7 @@ import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Biomes; import net.minecraft.init.Blocks; +import net.minecraft.item.EnumDyeColor; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; import net.minecraft.util.math.MathHelper; @@ -50,13 +53,20 @@ public class DUChunkGenerator implements IChunkGenerator { protected static final IBlockState COMPICE = Blocks.PACKED_ICE.getDefaultState(); protected static final IBlockState ICE=Blocks.ICE.getDefaultState(); protected static final IBlockState SAND = Blocks.SAND.getDefaultState(); + protected static final IBlockState RED_SAND = Blocks.SAND.getDefaultState().withProperty(BlockSand.VARIANT, BlockSand.EnumType.RED_SAND); protected static final IBlockState SANDSTONE = Blocks.SANDSTONE.getDefaultState(); protected static final IBlockState PRISMARINE=Blocks.PRISMARINE.getDefaultState(); protected static final IBlockState COBBLESTONE = Blocks.COBBLESTONE.getDefaultState(); protected static final IBlockState MYCELIUM=Blocks.MYCELIUM.getDefaultState(); protected static final IBlockState LIQUID_REDSTONE=LiquidRedstone.BlockLiquidRedstone.instance.getDefaultState(); protected static final IBlockState GLOWING_ICE=Misc.glowingIce.getDefaultState(); - + + protected static final IBlockState TERRACOTTA=Blocks.HARDENED_CLAY.getDefaultState(); + protected static final IBlockState ORANGE_TERRACOTTA=Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockStainedHardenedClay.COLOR, EnumDyeColor.ORANGE); + protected static final IBlockState WHITE_TERRACOTTA=Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockStainedHardenedClay.COLOR, EnumDyeColor.WHITE); + protected static final IBlockState BROWN_TERRACOTTA=Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockStainedHardenedClay.COLOR, EnumDyeColor.BROWN); + protected static final IBlockState YELLOW_TERRACOTTA=Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockStainedHardenedClay.COLOR, EnumDyeColor.YELLOW); + protected static final IBlockState RED_TERRACOTTA=Blocks.STAINED_HARDENED_CLAY.getDefaultState().withProperty(BlockStainedHardenedClay.COLOR, EnumDyeColor.RED); private final World world; private final boolean generateStructures; @@ -73,8 +83,9 @@ public class DUChunkGenerator implements IChunkGenerator { private final WorldGenMinable lightsGen = new WorldGenMinable(Blocks.GLOWSTONE.getDefaultState(), 33,BlockMatcher.forBlock(Blocks.STONE)); private final WorldGenMinable lightsGen2 = new WorldGenMinable(Blocks.GLOWSTONE.getDefaultState(), 33,BlockMatcher.forBlock(Blocks.GRASS)); - //desert + //desert and mesa private final WorldGenMinable lightsGenDesert= new WorldGenMinable(Blocks.GLOWSTONE.getDefaultState(), 33,BlockMatcher.forBlock(Blocks.SANDSTONE)); + private final WorldGenMinable lightsGenMesa= new WorldGenMinable(Blocks.GLOWSTONE.getDefaultState(), 33,BlockMatcher.forBlock(Blocks.STAINED_HARDENED_CLAY)); private final WorldGenMinable lightsGenDesert2= new WorldGenMinable(Blocks.GLOWSTONE.getDefaultState(), 33,BlockMatcher.forBlock(Blocks.SAND)); //oceanic @@ -273,7 +284,7 @@ public Chunk generateChunk(int x, int z) { boolean volcanic=blockBiome==Biomes.EXTREME_HILLS||blockBiome==Biomes.EXTREME_HILLS_EDGE||blockBiome==Biomes.EXTREME_HILLS_WITH_TREES||blockBiome==Biomes.MUTATED_EXTREME_HILLS||blockBiome==Biomes.MUTATED_EXTREME_HILLS_WITH_TREES; boolean oceanic=blockBiome==Biomes.OCEAN||blockBiome==Biomes.DEEP_OCEAN; boolean mushroom=blockBiome==Biomes.MUSHROOM_ISLAND||blockBiome==Biomes.MUSHROOM_ISLAND_SHORE; - + boolean mesa=blockBiome==Biomes.MESA||blockBiome==Biomes.MESA_CLEAR_ROCK||blockBiome==Biomes.MESA_ROCK||blockBiome==Biomes.MUTATED_MESA ||blockBiome==Biomes.MUTATED_MESA_CLEAR_ROCK ||blockBiome==Biomes.MUTATED_MESA_ROCK; //block to replace Block blockToReplace=chunk.getBlockState(cx, cy, cz).getBlock(); @@ -304,6 +315,9 @@ public Chunk generateChunk(int x, int z) { if (desert) chunk.setBlockState(new BlockPos(cx, cy, cz),SAND); + if(mesa) + chunk.setBlockState(new BlockPos(cx,cy,cz), RED_SAND); + if (volcanic) chunk.setBlockState(new BlockPos(cx,cy,cz), COBBLESTONE); } @@ -327,6 +341,20 @@ public Chunk generateChunk(int x, int z) { if (oceanic) chunk.setBlockState(new BlockPos(cx,cy,cz), PRISMARINE); + + if(mesa) { + chunk.setBlockState(new BlockPos(cx,cy,cz), TERRACOTTA); + if (cy==74||cy==45) + chunk.setBlockState(new BlockPos(cx,cy,cz), ORANGE_TERRACOTTA); + if (cy==79||cy==50) + chunk.setBlockState(new BlockPos(cx,cy,cz), WHITE_TERRACOTTA); + if (cy==83||cy==55) + chunk.setBlockState(new BlockPos(cx,cy,cz), BROWN_TERRACOTTA); + if (cy==85||cy==64) + chunk.setBlockState(new BlockPos(cx,cy,cz), YELLOW_TERRACOTTA); + if (cy==40||cy==56) + chunk.setBlockState(new BlockPos(cx,cy,cz), RED_TERRACOTTA); + } } } } @@ -447,9 +475,10 @@ public void populate(int x, int z) { lightsGen.generate(world, rand,blockpos.add(rand.nextInt(16), rand.nextInt(216) + 20, rand.nextInt(16))); lightsGen2.generate(world, rand,blockpos.add(rand.nextInt(16), rand.nextInt(216) + 20, rand.nextInt(16))); - //desert + //desert and mesa lightsGenDesert.generate(world, rand,blockpos.add(rand.nextInt(16), rand.nextInt(216) + 20, rand.nextInt(16))); lightsGenDesert2.generate(world, rand,blockpos.add(rand.nextInt(16), rand.nextInt(216) + 20, rand.nextInt(16))); + lightsGenMesa.generate(world, rand,blockpos.add(rand.nextInt(16), rand.nextInt(216) + 20, rand.nextInt(16))); //volcanic Magma.generate(world, rand,blockpos.add(rand.nextInt(16), rand.nextInt(216) + 20, rand.nextInt(16))); diff --git a/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DimTeleporter.java b/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DimTeleporter.java index 5b19de9..98745bc 100644 --- a/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DimTeleporter.java +++ b/src/main/java/com/NetherNoah/ParadiseMod/world/dimension/DimTeleporter.java @@ -206,8 +206,7 @@ else if (enumfacing1 != null && enumfacing == enumfacing1.rotateY()) { entityIn.motionX = d2 * f2 + d3 * f5; entityIn.motionZ = d2 * f4 + d3 * f3; if (enumfacing1 != null) - entityIn.rotationYaw = p_180620_2_ - enumfacing1.getHorizontalIndex() * 90 - + enumfacing.getHorizontalIndex() * 90; + entityIn.rotationYaw = p_180620_2_ - enumfacing1.getHorizontalIndex()*90+enumfacing.getHorizontalIndex() * 90; } else entityIn.motionX = entityIn.motionY = entityIn.motionZ = 0.0D; diff --git a/src/main/resources/assets/nnparadisemod/blockstates/bedrock_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/bedrock_slab.json new file mode 100644 index 0000000..aeb7495 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/bedrock_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=bottom": { "model": "nnparadisemod:bedrock_slab_bottom" }, + "dummy=false,half=top": { "model": "nnparadisemod:bedrock_slab_top" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/blockstates/double_bedrock_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/double_bedrock_slab.json new file mode 100644 index 0000000..5fc6a5d --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/double_bedrock_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=top": { "model": "bedrock" }, + "dummy=false,half=bottom": { "model": "bedrock" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/blockstates/double_obsidian_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/double_obsidian_slab.json new file mode 100644 index 0000000..c099886 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/double_obsidian_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=top": { "model": "obsidian" }, + "dummy=false,half=bottom": { "model": "obsidian" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/blockstates/double_void_bricks_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/double_void_bricks_slab.json new file mode 100644 index 0000000..069e9e3 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/double_void_bricks_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=top": { "model": "nnparadisemod:void_bricks" }, + "dummy=false,half=bottom": { "model": "nnparadisemod:void_bricks" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/blockstates/double_void_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/double_void_slab.json new file mode 100644 index 0000000..e4f59a3 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/double_void_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=top": { "model": "nnparadisemod:void_stone" }, + "dummy=false,half=bottom": { "model": "nnparadisemod:void_stone" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/blockstates/obsidian_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/obsidian_slab.json new file mode 100644 index 0000000..6473764 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/obsidian_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=bottom": { "model": "nnparadisemod:obsidian_slab_bottom" }, + "dummy=false,half=top": { "model": "nnparadisemod:obsidian_slab_top" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/blockstates/void_bricks_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/void_bricks_slab.json new file mode 100644 index 0000000..9551fe0 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/void_bricks_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=bottom": { "model": "nnparadisemod:void_bricks_slab_bottom" }, + "dummy=false,half=top": { "model": "nnparadisemod:void_bricks_slab_top" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/blockstates/void_slab.json b/src/main/resources/assets/nnparadisemod/blockstates/void_slab.json new file mode 100644 index 0000000..2eb7ea7 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/blockstates/void_slab.json @@ -0,0 +1,6 @@ +{ + "variants": { + "dummy=false,half=bottom": { "model": "nnparadisemod:void_slab_bottom" }, + "dummy=false,half=top": { "model": "nnparadisemod:void_slab_top" } + } +} diff --git a/src/main/resources/assets/nnparadisemod/lang/en_US.lang b/src/main/resources/assets/nnparadisemod/lang/en_US.lang index 97e9810..948e929 100644 --- a/src/main/resources/assets/nnparadisemod/lang/en_US.lang +++ b/src/main/resources/assets/nnparadisemod/lang/en_US.lang @@ -98,6 +98,10 @@ item.CactusStick.name=Cactus Stick item.VoidPearl.name=Void Pearl #Blocks +tile.bedrock_slab.name=Bedrock Slab +tile.obsidian_slab.name=Obsidian Slab +tile.void_slab.name=Void Stone Slab +tile.void_bricks_slab.name=Void Stone Brick Slab tile.end_slab.name=End Stone Slab tile.cactus_slab.name=Cactus Slab tile.glowing_obsidian_slab.name=Glowing Obsidian Slab @@ -291,7 +295,6 @@ tile.RegenerationStone.name=Regeneration Stone tile.voidPearlBlock.name=Void Pearl Block tile.VoidPearlOre.name=Void Pearl Ore - #Fluids fluid.liquid_redstone=Liquid Redstone diff --git a/src/main/resources/assets/nnparadisemod/models/block/bedrock_slab_bottom.json b/src/main/resources/assets/nnparadisemod/models/block/bedrock_slab_bottom.json new file mode 100644 index 0000000..b15ec86 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/bedrock_slab_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/bedrock", + "top": "blocks/bedrock", + "side": "blocks/bedrock" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/block/bedrock_slab_top.json b/src/main/resources/assets/nnparadisemod/models/block/bedrock_slab_top.json new file mode 100644 index 0000000..abfba34 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/bedrock_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/bedrock", + "top": "blocks/bedrock", + "side": "blocks/bedrock" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/block/obsidian_slab_bottom.json b/src/main/resources/assets/nnparadisemod/models/block/obsidian_slab_bottom.json new file mode 100644 index 0000000..c7b46af --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/obsidian_slab_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "blocks/obsidian", + "top": "blocks/obsidian", + "side": "blocks/obsidian" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/block/obsidian_slab_top.json b/src/main/resources/assets/nnparadisemod/models/block/obsidian_slab_top.json new file mode 100644 index 0000000..8769fa7 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/obsidian_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "blocks/obsidian", + "top": "blocks/obsidian", + "side": "blocks/obsidian" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/block/void_bricks_slab_bottom.json b/src/main/resources/assets/nnparadisemod/models/block/void_bricks_slab_bottom.json new file mode 100644 index 0000000..601144e --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/void_bricks_slab_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "nnparadisemod:blocks/void_bricks", + "top": "nnparadisemod:blocks/void_bricks", + "side": "nnparadisemod:blocks/void_bricks" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/block/void_bricks_slab_top.json b/src/main/resources/assets/nnparadisemod/models/block/void_bricks_slab_top.json new file mode 100644 index 0000000..a6af7c5 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/void_bricks_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "nnparadisemod:blocks/void_bricks", + "top": "nnparadisemod:blocks/void_bricks", + "side": "nnparadisemod:blocks/void_bricks" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/block/void_slab_bottom.json b/src/main/resources/assets/nnparadisemod/models/block/void_slab_bottom.json new file mode 100644 index 0000000..8fa2bef --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/void_slab_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "block/half_slab", + "textures": { + "bottom": "nnparadisemod:blocks/void_stone", + "top": "nnparadisemod:blocks/void_stone", + "side": "nnparadisemod:blocks/void_stone" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/block/void_slab_top.json b/src/main/resources/assets/nnparadisemod/models/block/void_slab_top.json new file mode 100644 index 0000000..716c475 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/block/void_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "block/upper_slab", + "textures": { + "bottom": "nnparadisemod:blocks/void_stone", + "top": "nnparadisemod:blocks/void_stone", + "side": "nnparadisemod:blocks/void_stone" + } +} diff --git a/src/main/resources/assets/nnparadisemod/models/item/bedrock_slab.json b/src/main/resources/assets/nnparadisemod/models/item/bedrock_slab.json new file mode 100644 index 0000000..87fdc16 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/item/bedrock_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "nnparadisemod:block/bedrock_slab_bottom" +} diff --git a/src/main/resources/assets/nnparadisemod/models/item/obsidian_slab.json b/src/main/resources/assets/nnparadisemod/models/item/obsidian_slab.json new file mode 100644 index 0000000..f45b87a --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/item/obsidian_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "nnparadisemod:block/obsidian_slab_bottom" +} diff --git a/src/main/resources/assets/nnparadisemod/models/item/unfinished/void_button.json b/src/main/resources/assets/nnparadisemod/models/item/unfinished/void_button.json deleted file mode 100644 index 978592b..0000000 --- a/src/main/resources/assets/nnparadisemod/models/item/unfinished/void_button.json +++ /dev/null @@ -1 +0,0 @@ -{"parent":"block/button_inventory","textures":{"texture":"nnparadisemod:void_stone"}} diff --git a/src/main/resources/assets/nnparadisemod/models/item/unfinished/void_pressure_plate.json b/src/main/resources/assets/nnparadisemod/models/item/unfinished/void_pressure_plate.json deleted file mode 100644 index 1ce9d9f..0000000 --- a/src/main/resources/assets/nnparadisemod/models/item/unfinished/void_pressure_plate.json +++ /dev/null @@ -1 +0,0 @@ -{"parent":"block/pressure_plate_up","textures":{"texture":"nnparadisemod:void_stone"}} diff --git a/src/main/resources/assets/nnparadisemod/models/item/void_bricks_slab.json b/src/main/resources/assets/nnparadisemod/models/item/void_bricks_slab.json new file mode 100644 index 0000000..9937476 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/item/void_bricks_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "nnparadisemod:block/void_bricks_slab_bottom" +} diff --git a/src/main/resources/assets/nnparadisemod/models/item/void_slab.json b/src/main/resources/assets/nnparadisemod/models/item/void_slab.json new file mode 100644 index 0000000..9c74fb1 --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/models/item/void_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "nnparadisemod:block/void_slab_bottom" +} diff --git a/src/main/resources/assets/nnparadisemod/recipes/slabs/obsidian_slab.json b/src/main/resources/assets/nnparadisemod/recipes/slabs/obsidian_slab.json new file mode 100644 index 0000000..b14014b --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/recipes/slabs/obsidian_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "minecraft:obsidian" + } + }, + "result": { + "item": "nnparadisemod:obsidian_slab", + "data":0, + "count": 6 + } +} diff --git a/src/main/resources/assets/nnparadisemod/recipes/slabs/void_bricks_slab.json b/src/main/resources/assets/nnparadisemod/recipes/slabs/void_bricks_slab.json new file mode 100644 index 0000000..75f96db --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/recipes/slabs/void_bricks_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "nnparadisemod:void_bricks" + } + }, + "result": { + "item": "nnparadisemod:void_bricks_slab", + "data":0, + "count": 6 + } +} diff --git a/src/main/resources/assets/nnparadisemod/recipes/slabs/void_slab.json b/src/main/resources/assets/nnparadisemod/recipes/slabs/void_slab.json new file mode 100644 index 0000000..b816fdb --- /dev/null +++ b/src/main/resources/assets/nnparadisemod/recipes/slabs/void_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "nnparadisemod:void_stone" + } + }, + "result": { + "item": "nnparadisemod:void_slab", + "data":0, + "count": 6 + } +}