From 31a881ec8b68124c798316081fcb6ef0bca7f1fe Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Mon, 16 Feb 2015 21:27:45 +0000 Subject: [PATCH] Added End Stone Bricks. --- .../botania/common/block/ModBlocks.java | 3 + .../botania/common/block/ModFluffBlocks.java | 13 +++ .../block/decor/BlockEndStoneBrick.java | 91 ++++++++++++++++++ .../block/decor/slabs/BlockEndStoneSlab.java | 44 +++++++++ .../decor/stairs/BlockEndStoneStairs.java | 32 ++++++ .../common/core/BotaniaCreativeTab.java | 4 + .../common/crafting/ModCraftingRecipes.java | 14 +++ .../botania/common/lexicon/LexiconData.java | 4 + .../botania/common/lib/LibBlockNames.java | 1 + .../vazkii/botania/common/lib/LibLexicon.java | 1 + .../resources/assets/botania/lang/en_US.lang | 10 ++ .../endStoneBricks.png => endStoneBrick0.png} | Bin ...ndStoneChiseled.png => endStoneBrick1.png} | Bin 13 files changed, 217 insertions(+) create mode 100644 src/main/java/vazkii/botania/common/block/decor/BlockEndStoneBrick.java create mode 100644 src/main/java/vazkii/botania/common/block/decor/slabs/BlockEndStoneSlab.java create mode 100644 src/main/java/vazkii/botania/common/block/decor/stairs/BlockEndStoneStairs.java rename src/main/resources/assets/botania/textures/blocks/{unused/endStoneBricks.png => endStoneBrick0.png} (100%) rename src/main/resources/assets/botania/textures/blocks/{unused/endStoneChiseled.png => endStoneBrick1.png} (100%) diff --git a/src/main/java/vazkii/botania/common/block/ModBlocks.java b/src/main/java/vazkii/botania/common/block/ModBlocks.java index 35fbdc48c..5ecceb94d 100644 --- a/src/main/java/vazkii/botania/common/block/ModBlocks.java +++ b/src/main/java/vazkii/botania/common/block/ModBlocks.java @@ -25,6 +25,7 @@ import vazkii.botania.common.block.decor.BlockBuriedPetals; import vazkii.botania.common.block.decor.BlockCustomBrick; import vazkii.botania.common.block.decor.BlockDirtPath; import vazkii.botania.common.block.decor.BlockElfGlass; +import vazkii.botania.common.block.decor.BlockEndStoneBrick; import vazkii.botania.common.block.decor.BlockFloatingFlower; import vazkii.botania.common.block.decor.BlockManaBeacon; import vazkii.botania.common.block.decor.BlockManaFlame; @@ -200,6 +201,7 @@ public final class ModBlocks { public static Block petalBlock; public static Block corporeaIndex; public static Block corporeaFunnel; + public static Block endStoneBrick; public static void init() { flower = new BlockModFlower(); @@ -261,6 +263,7 @@ public final class ModBlocks { petalBlock = new BlockPetalBlock(); corporeaIndex = new BlockCorporeaIndex(); corporeaFunnel = new BlockCorporeaFunnel(); + endStoneBrick = new BlockEndStoneBrick(); ModFluffBlocks.init(); diff --git a/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java b/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java index 41cf56b05..9009da869 100644 --- a/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java +++ b/src/main/java/vazkii/botania/common/block/ModFluffBlocks.java @@ -18,6 +18,7 @@ import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartzSlab; import vazkii.botania.common.block.decor.quartz.BlockSpecialQuartzStairs; import vazkii.botania.common.block.decor.slabs.BlockBiomeStoneSlab; import vazkii.botania.common.block.decor.slabs.BlockDirtPathSlab; +import vazkii.botania.common.block.decor.slabs.BlockEndStoneSlab; import vazkii.botania.common.block.decor.slabs.BlockModSlab; import vazkii.botania.common.block.decor.slabs.BlockReedSlab; import vazkii.botania.common.block.decor.slabs.BlockThatchSlab; @@ -35,6 +36,7 @@ import vazkii.botania.common.block.decor.slabs.prismarine.BlockDarkPrismarineSla import vazkii.botania.common.block.decor.slabs.prismarine.BlockPrismarineBrickSlab; import vazkii.botania.common.block.decor.slabs.prismarine.BlockPrismarineSlab; import vazkii.botania.common.block.decor.stairs.BlockBiomeStoneStairs; +import vazkii.botania.common.block.decor.stairs.BlockEndStoneStairs; import vazkii.botania.common.block.decor.stairs.BlockReedStairs; import vazkii.botania.common.block.decor.stairs.BlockThatchStairs; import vazkii.botania.common.block.decor.stairs.bricks.BlockCustomBrickStairs; @@ -138,6 +140,10 @@ public final class ModFluffBlocks { public static Block[] biomeStoneStairs = new Block[24]; public static Block[] biomeStoneSlabs = new Block[24]; public static Block[] biomeStoneFullSlabs = new Block[24]; + + public static Block endStoneSlab; + public static Block endStoneSlabFull; + public static Block endStoneStairs; public static void init() { livingwoodStairs = new BlockLivingwoodStairs(); @@ -231,6 +237,10 @@ public final class ModFluffBlocks { biomeStoneFullSlabs[i] = new BlockBiomeStoneSlab(true, block, meta, i); } + endStoneSlab = new BlockEndStoneSlab(false); + endStoneSlabFull = new BlockEndStoneSlab(true); + endStoneStairs = new BlockEndStoneStairs(); + if(ConfigHandler.darkQuartzEnabled) { ((BlockModSlab) darkQuartzSlab).register(); ((BlockModSlab) darkQuartzSlabFull).register(); @@ -282,6 +292,9 @@ public final class ModFluffBlocks { ((BlockModSlab) dirtPathSlab).register(); ((BlockModSlab) dirtPathSlabFull).register(); + + ((BlockModSlab) endStoneSlab).register(); + ((BlockModSlab) endStoneSlabFull).register(); for(int i = 0; i < 24; i++) { ((BlockModSlab) biomeStoneSlabs[i]).register(); diff --git a/src/main/java/vazkii/botania/common/block/decor/BlockEndStoneBrick.java b/src/main/java/vazkii/botania/common/block/decor/BlockEndStoneBrick.java new file mode 100644 index 000000000..0b0f66a1c --- /dev/null +++ b/src/main/java/vazkii/botania/common/block/decor/BlockEndStoneBrick.java @@ -0,0 +1,91 @@ +/** + * 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 the + * Botania License: http://botaniamod.net/license.php + * + * File Created @ [Feb 16, 2015, 8:17:12 PM (GMT)] + */ +package vazkii.botania.common.block.decor; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +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.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import vazkii.botania.api.lexicon.ILexiconable; +import vazkii.botania.api.lexicon.LexiconEntry; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.block.BlockMod; +import vazkii.botania.common.item.block.ItemBlockWithMetadataAndName; +import vazkii.botania.common.lexicon.LexiconData; +import vazkii.botania.common.lib.LibBlockNames; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BlockEndStoneBrick extends BlockMod implements ILexiconable { + + private static IIcon[] icons = new IIcon[2]; + + public BlockEndStoneBrick() { + super(Material.rock); + setHardness(1.5F); + setResistance(10F); + setStepSound(soundTypeStone); + setBlockName(LibBlockNames.END_STONE_BRICK); + } + + @Override + public void registerBlockIcons(IIconRegister register) { + for(int i = 0; i < 2; i++) { + icons[i] = IconHelper.forBlock(register, this, i); + } + } + + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < 2; i++) + list.add(new ItemStack(item, 1, i)); + } + + @Override + public IIcon getIcon(int side, int meta) { + return icons[Math.min(icons.length - 1, meta)]; + } + + @Override + protected boolean shouldRegisterInNameSet() { + return false; + } + + @Override + public int damageDropped(int par1) { + return par1; + } + + @Override + public Block setBlockName(String par1Str) { + GameRegistry.registerBlock(this, ItemBlockWithMetadataAndName.class, par1Str); + return super.setBlockName(par1Str); + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + return new ItemStack(this, 1, meta); + } + + @Override + public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) { + return LexiconData.endStoneDecor; + } + +} diff --git a/src/main/java/vazkii/botania/common/block/decor/slabs/BlockEndStoneSlab.java b/src/main/java/vazkii/botania/common/block/decor/slabs/BlockEndStoneSlab.java new file mode 100644 index 000000000..800b6125d --- /dev/null +++ b/src/main/java/vazkii/botania/common/block/decor/slabs/BlockEndStoneSlab.java @@ -0,0 +1,44 @@ +/** + * 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 the + * Botania License: http://botaniamod.net/license.php + * + * File Created @ [Feb 16, 2015, 8:45:00 PM (GMT)] + */ +package vazkii.botania.common.block.decor.slabs; + +import vazkii.botania.api.lexicon.LexiconEntry; +import vazkii.botania.common.block.ModBlocks; +import vazkii.botania.common.block.ModFluffBlocks; +import vazkii.botania.common.lexicon.LexiconData; +import net.minecraft.block.Block; +import net.minecraft.block.BlockSlab; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class BlockEndStoneSlab extends BlockLivingSlab { + + public BlockEndStoneSlab(boolean full) { + super(full, ModBlocks.endStoneBrick, 0); + } + + @Override + public BlockSlab getFullBlock() { + return (BlockSlab) ModFluffBlocks.endStoneSlabFull; + } + + @Override + public BlockSlab getSingleBlock() { + return (BlockSlab) ModFluffBlocks.endStoneSlab; + } + + @Override + public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) { + return LexiconData.endStoneDecor; + } + +} diff --git a/src/main/java/vazkii/botania/common/block/decor/stairs/BlockEndStoneStairs.java b/src/main/java/vazkii/botania/common/block/decor/stairs/BlockEndStoneStairs.java new file mode 100644 index 000000000..d49a4a4f8 --- /dev/null +++ b/src/main/java/vazkii/botania/common/block/decor/stairs/BlockEndStoneStairs.java @@ -0,0 +1,32 @@ +/** + * 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 the + * Botania License: http://botaniamod.net/license.php + * + * File Created @ [Feb 16, 2015, 8:44:03 PM (GMT)] + */ +package vazkii.botania.common.block.decor.stairs; + +import vazkii.botania.api.lexicon.LexiconEntry; +import vazkii.botania.common.block.ModBlocks; +import vazkii.botania.common.lexicon.LexiconData; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class BlockEndStoneStairs extends BlockLivingStairs { + + public BlockEndStoneStairs() { + super(ModBlocks.endStoneBrick, 0); + } + + @Override + public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) { + return LexiconData.endStoneDecor; + } + +} diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index 40f4a5416..333ec6b28 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -212,6 +212,10 @@ public final class BotaniaCreativeTab extends CreativeTabs { for(int i = 0; i < 24; i++) addBlock(ModFluffBlocks.biomeStoneSlabs[i]); + addBlock(ModBlocks.endStoneBrick); + addBlock(ModFluffBlocks.endStoneSlab); + addBlock(ModFluffBlocks.endStoneStairs); + addItem(ModItems.glassPick); addItem(ModItems.manasteelPick); addItem(ModItems.manasteelShovel); diff --git a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java index a1d6241a8..be708c033 100644 --- a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java +++ b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java @@ -232,6 +232,8 @@ public final class ModCraftingRecipes { public static IRecipe recipeMasterCorporeaSpark; public static IRecipe recipeCorporeaIndex; public static IRecipe recipeCorporeaFunnel; + public static IRecipe recipeEndStoneBricks; + public static IRecipe recipeEndStoneChiseledBricks; public static void init() { // Lexicon Recipe @@ -1529,6 +1531,17 @@ public final class ModCraftingRecipes { addShapelessOreDictRecipe(new ItemStack(ModBlocks.corporeaFunnel), new ItemStack(Blocks.dropper), new ItemStack(ModItems.corporeaSpark)); recipeCorporeaFunnel = BotaniaAPI.getLatestAddedRecipe(); + // End Stone Brick Recipes + GameRegistry.addRecipe(new ItemStack(ModBlocks.endStoneBrick, 4), + "SS", "SS", + 'S', new ItemStack(Blocks.end_stone)); + recipeEndStoneBricks = BotaniaAPI.getLatestAddedRecipe(); + + GameRegistry.addRecipe(new ItemStack(ModBlocks.endStoneBrick, 1, 1), + "S", "S", + 'S', new ItemStack(ModFluffBlocks.endStoneSlab)); + recipeEndStoneChiseledBricks = BotaniaAPI.getLatestAddedRecipe(); + // Storage Block Recipes addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 0), "III", "III", "III", @@ -1576,6 +1589,7 @@ public final class ModCraftingRecipes { addStairsAndSlabs(ModBlocks.customBrick, 1, ModFluffBlocks.soulBrickStairs, ModFluffBlocks.soulBrickSlab); addStairsAndSlabs(ModBlocks.customBrick, 2, ModFluffBlocks.snowBrickStairs, ModFluffBlocks.snowBrickSlab); addStairsAndSlabs(ModBlocks.customBrick, 3, ModFluffBlocks.tileStairs, ModFluffBlocks.tileSlab); + addStairsAndSlabs(ModBlocks.endStoneBrick, 0, ModFluffBlocks.endStoneStairs, ModFluffBlocks.endStoneSlab); // Biome Stone Recipes for(int i = 0; i < 8; i++) { diff --git a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java index 034d16e06..6e120911f 100644 --- a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java +++ b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java @@ -173,6 +173,7 @@ public final class LexiconData { public static LexiconEntry corporea; public static LexiconEntry corporeaIndex; public static LexiconEntry corporeaFunnel; + public static LexiconEntry endStoneDecor; public static LexiconEntry baublesIntro; public static LexiconEntry tinyPlanet; @@ -670,6 +671,9 @@ public final class LexiconData { corporeaFunnel = new ALexiconEntry(LibLexicon.ENDER_CORPOREA_FUNNEL, categoryEnder); corporeaFunnel.setLexiconPages(new PageText("0"), new PageText("1"), new PageCraftingRecipe("2", ModCraftingRecipes.recipeCorporeaFunnel)); + endStoneDecor = new BLexiconEntry(LibLexicon.ENDER_END_STONE_DECOR, categoryEnder); + endStoneDecor.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeEndStoneBricks), new PageCraftingRecipe("2", ModCraftingRecipes.recipeEndStoneChiseledBricks)); + // BAUBLES ENTRIES baublesIntro = new BLexiconEntry(LibLexicon.BAUBLE_INTRO, categoryBaubles); baublesIntro.setPriority().setLexiconPages(new PageText("0"), new PageImage("1", LibResources.ENTRY_BAUBLES), new PageText("2")); diff --git a/src/main/java/vazkii/botania/common/lib/LibBlockNames.java b/src/main/java/vazkii/botania/common/lib/LibBlockNames.java index 4b0193e3d..a6c53c29c 100644 --- a/src/main/java/vazkii/botania/common/lib/LibBlockNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibBlockNames.java @@ -74,6 +74,7 @@ public final class LibBlockNames { public static final String PETAL_BLOCK = "petalBlock"; public static final String CORPOREA_INDEX = "corporeaIndex"; public static final String CORPOREA_FUNNEL = "corporeaFunnel"; + public static final String END_STONE_BRICK = "endStoneBrick"; public static final String SUBTILE_PUREDAISY = "puredaisy"; public static final String SUBTILE_MANASTAR = "manastar"; diff --git a/src/main/java/vazkii/botania/common/lib/LibLexicon.java b/src/main/java/vazkii/botania/common/lib/LibLexicon.java index 71c299068..3ca847c92 100644 --- a/src/main/java/vazkii/botania/common/lib/LibLexicon.java +++ b/src/main/java/vazkii/botania/common/lib/LibLexicon.java @@ -155,6 +155,7 @@ public final class LibLexicon { public static final String ENDER_CORPOREA = "corporea"; public static final String ENDER_CORPOREA_INDEX = "corporeaIndex"; public static final String ENDER_CORPOREA_FUNNEL = "corporeaFunnel"; + public static final String ENDER_END_STONE_DECOR = "endStoneDecor"; public static final String BAUBLE_INTRO = "bIntro"; public static final String BAUBLE_TINY_PLANET = "tinyPlanet"; diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index e2525ca69..16ca52b94 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -691,6 +691,10 @@ tile.botania:petalBlock14.name=Red Petal Block tile.botania:petalBlock15.name=Black Petal Block tile.botania:corporeaIndex.name=Corporea Index tile.botania:corporeaFunnel.name=Corporea Funnel +tile.botania:endStoneBrick0.name=End Stone Bricks +tile.botania:endStoneBrick1.name=Chiseled End Stone Brick +tile.botania:endStoneBrick0Slab.name=End Stone Brick Slab +tile.botania:endStoneBrick0Stairs.name=End Stone Brick Stairs # FLOWER NAMES tile.botania:flower..name=Botania Flower @@ -1992,6 +1996,12 @@ botania.page.corporeaFunnel0=A simpler block that utilizes the prospects of the botania.page.corporeaFunnel1=The &1Corporea Funnel&0 may only pull items that match its filter, similarly to a &1Hopperhock&0, the filter is designated by items contained on &1Item Frames&0 placed on it. The item pulled is one of the various items in the frames at random. botania.page.corporeaFunnel2=Energistically applied +# -- DECORATIVE END BLOCKS +botania.entry.endStoneDecor=Decorative End Blocks +botania.page.endStoneDecor0=Similarly to other stone blocks, &1End Stone&0 can be converted into bricks and chiseled bricks, the bricks can be used as stairs or slabs just like normal &1Stone Bricks&0 would. +botania.page.endStoneDecor1=Making &1End Stone Bricks&0 +botania.page.endStoneDecor2=Making &1Chiseled End Stone Bricks&0 + # - BAUBLES AND ACESSORIES # -- AN INTRODUCTION TO BAUBLES botania.entry.bIntro=An Introduction to Baubles diff --git a/src/main/resources/assets/botania/textures/blocks/unused/endStoneBricks.png b/src/main/resources/assets/botania/textures/blocks/endStoneBrick0.png similarity index 100% rename from src/main/resources/assets/botania/textures/blocks/unused/endStoneBricks.png rename to src/main/resources/assets/botania/textures/blocks/endStoneBrick0.png diff --git a/src/main/resources/assets/botania/textures/blocks/unused/endStoneChiseled.png b/src/main/resources/assets/botania/textures/blocks/endStoneBrick1.png similarity index 100% rename from src/main/resources/assets/botania/textures/blocks/unused/endStoneChiseled.png rename to src/main/resources/assets/botania/textures/blocks/endStoneBrick1.png