From a9676c9ee5246f772dd6a36bc281146804817bf5 Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Tue, 27 Jan 2015 15:56:54 +0000 Subject: [PATCH] Added Trodden Dirt Slabs --- .../botania/common/block/ModFluffBlocks.java | 10 ++++ .../common/block/decor/BlockDirtPath.java | 2 +- .../block/decor/slabs/BlockDirtPathSlab.java | 46 +++++++++++++++++++ .../common/core/BotaniaCreativeTab.java | 1 + .../common/crafting/ModCraftingRecipes.java | 9 +++- .../botania/common/lexicon/LexiconData.java | 2 +- .../resources/assets/botania/lang/en_US.lang | 2 + 7 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 src/main/java/vazkii/botania/common/block/decor/slabs/BlockDirtPathSlab.java diff --git a/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java b/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java index a16c1eceb..ec2833df5 100644 --- a/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java +++ b/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java @@ -14,6 +14,7 @@ import net.minecraft.block.Block; import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartz; import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartzSlab; import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartzStairs; +import vazkii.botania.common.block.decor.slabs.BlockDirtPathSlab; import vazkii.botania.common.block.decor.slabs.BlockModSlab; import vazkii.botania.common.block.decor.slabs.BlockReedSlab; import vazkii.botania.common.block.decor.slabs.BlockThatchSlab; @@ -124,6 +125,9 @@ public final class ModFluffBlocks { public static Block elfQuartzSlabFull; public static Block elfQuartzStairs; + public static Block dirtPathSlab; + public static Block dirtPathSlabFull; + public static void init() { livingwoodStairs = new BlockLivingwoodStairs(); livingwoodSlab = new BlockLivingwoodSlab(false); @@ -202,6 +206,9 @@ public final class ModFluffBlocks { elfQuartzSlabFull = new BlockSpecialQuartzSlab(elfQuartz, true); elfQuartzStairs = new BlockSpecialQuartzStairs(elfQuartz); + dirtPathSlab = new BlockDirtPathSlab(false); + dirtPathSlabFull = new BlockDirtPathSlab(true); + if(ConfigHandler.darkQuartzEnabled) { ((BlockModSlab) darkQuartzSlab).register(); ((BlockModSlab) darkQuartzSlabFull).register(); @@ -250,6 +257,9 @@ public final class ModFluffBlocks { ((BlockModSlab) snowBrickSlabFull).register(); ((BlockModSlab) tileSlab).register(); ((BlockModSlab) tileSlabFull).register(); + + ((BlockModSlab) dirtPathSlab).register(); + ((BlockModSlab) dirtPathSlabFull).register(); } } diff --git a/src/main/java/vazkii/botania/common/block/decor/BlockDirtPath.java b/src/main/java/vazkii/botania/common/block/decor/BlockDirtPath.java index 432edaa12..a1c6025c5 100644 --- a/src/main/java/vazkii/botania/common/block/decor/BlockDirtPath.java +++ b/src/main/java/vazkii/botania/common/block/decor/BlockDirtPath.java @@ -55,7 +55,7 @@ public class BlockDirtPath extends BlockMod implements ILexiconable { @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { Block blockAbove = world.getBlock(x, y + 1, z); - if(blockAbove.isSideSolid(world, x, y + 1, z, ForgeDirection.DOWN)) + if(!blockAbove.isAir(world, x, y + 1, z)) setBlockBounds(0F, 0F, 0F, 1F, 1, 1F); else setBlockBounds(0F, 0F, 0F, 1F, 15F / 16F, 1F); } diff --git a/src/main/java/vazkii/botania/common/block/decor/slabs/BlockDirtPathSlab.java b/src/main/java/vazkii/botania/common/block/decor/slabs/BlockDirtPathSlab.java new file mode 100644 index 000000000..b8e12bcd3 --- /dev/null +++ b/src/main/java/vazkii/botania/common/block/decor/slabs/BlockDirtPathSlab.java @@ -0,0 +1,46 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Jan 26, 2015, 10:15:05 PM (GMT)] + */ +package vazkii.botania.common.block.decor.slabs; + +import net.minecraft.block.BlockSlab; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import vazkii.botania.api.lexicon.LexiconEntry; +import vazkii.botania.common.block.ModBlocks; +import vazkii.botania.common.block.ModFluffBlocks; +import vazkii.botania.common.lexicon.LexiconData; + +public class BlockDirtPathSlab extends BlockLivingSlab { + + public BlockDirtPathSlab(boolean full) { + super(full, ModBlocks.dirtPath, 0); + setHardness(0.6F); + } + + @Override + public BlockSlab getFullBlock() { + return (BlockSlab) ModFluffBlocks.dirtPathSlab; + } + + @Override + public BlockSlab getSingleBlock() { + return (BlockSlab) ModFluffBlocks.dirtPathSlabFull; + } + + @Override + public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) { + return LexiconData.dirtPath; + } + +} diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index 526ceebde..f68dd1ed9 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -135,6 +135,7 @@ public final class BotaniaCreativeTab extends CreativeTabs { addItem(ModItems.signalFlare); addBlock(ModBlocks.dirtPath); + addBlock(ModFluffBlocks.dirtPathSlab); addBlock(ModBlocks.dreamwood); addBlock(ModBlocks.manaGlass); diff --git a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java index e6d4b05ad..ac0eb34d0 100644 --- a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java +++ b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java @@ -220,6 +220,7 @@ public final class ModCraftingRecipes { public static IRecipe recipeWorldSeed; public static IRecipe recipeSpellCloth; public static IRecipe recipeThornChakram; + public static IRecipe recipeDirtPathSlab; public static void init() { // Lexicon Recipe @@ -1390,7 +1391,7 @@ public final class ModCraftingRecipes { recipePrism = BotaniaAPI.getLatestAddedRecipe(); // Trodden Dirt Recipe - GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.dirtPath, 4), new ItemStack(Blocks.dirt, 1, 1), new ItemStack(Blocks.dirt, 1, 1), new ItemStack(Blocks.dirt, 1, 1), new ItemStack(Blocks.gravel)); + GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.dirtPath, 4), new ItemStack(Blocks.dirt, 1, 1), new ItemStack(Blocks.dirt, 1, 1), new ItemStack(Blocks.dirt, 1, 1), new ItemStack(Blocks.sand)); recipeDirtPath = BotaniaAPI.getLatestAddedRecipe(); // Dreamwood Twig Recipe @@ -1452,6 +1453,12 @@ public final class ModCraftingRecipes { 'T', LibOreDict.TERRA_STEEL); recipeThornChakram = BotaniaAPI.getLatestAddedRecipe(); + // Trodden Dirt Slab + GameRegistry.addRecipe(new ItemStack(ModFluffBlocks.dirtPathSlab, 6), + "DDD", + 'D', new ItemStack(ModBlocks.dirtPath)); + recipeDirtPathSlab = BotaniaAPI.getLatestAddedRecipe(); + // Storage Block Recipes addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 0), "III", "III", "III", diff --git a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java index 4119f55c8..fbe4dfbc6 100644 --- a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java +++ b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java @@ -740,7 +740,7 @@ public final class LexiconData { starfield.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeStarfield)); dirtPath = new BLexiconEntry(LibLexicon.MISC_DIRT_PATH, categoryMisc); - dirtPath.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeDirtPath)); + dirtPath.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeDirtPath), new PageCraftingRecipe("2", ModCraftingRecipes.recipeDirtPathSlab)); if(Botania.bcTriggersLoaded) { bcIntegration = new BLexiconEntry(LibLexicon.MISC_BC_INTEGRATION, categoryMisc); diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index 76a8a4f82..6dd0001c5 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -507,6 +507,7 @@ tile.botania:manaFlame.name=Mana Flash tile.botania:prism.name=Mana Prism tile.botania:dirtPath.name=Trodden Dirt tile.botania:enchantedSoil.name=Enchanted Soil +tile.botania:dirtPath0Slab.name=Trodden Dirt Slab # FLOWER NAMES tile.botania:flower..name=Botania Flower @@ -1966,6 +1967,7 @@ botania.page.starfield1=Twinkle twinkle botania.entry.dirtPath=Trodden Dirt botania.page.dirtPath0=&1Trodden Dirt&0 is a type of soil that works perfectly for the creation of natural looking artificial paths through landscape. Similarly to &1Farmland&0, it's slightly inset into the ground, walking on it also provides a small speed boost. botania.page.dirtPath1=Follow the yellow dirt road +botania.page.dirtPath2=Also available in slabs # -- THAUMCRAFT INTEGRATION botania.entry.tcIntegration=Thaumcraft Integration