Added Overgrowth Seeds.

This commit is contained in:
Lizbeth Rika committed 2015-01-26 18:55:20 +00:00
1 parent 46deec9843
commit b14622fcac
19 files changed
+171 -50

No files matched your search

@@ -0,0 +1,82 @@
/**
* This class was created by <Vazkii>. 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, 6:08:29 PM (GMT)]
*/
package vazkii.botania.common.block;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.EnumPlantType;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.util.ForgeDirection;
import vazkii.botania.api.lexicon.ILexiconable;
import vazkii.botania.api.lexicon.LexiconEntry;
import vazkii.botania.client.core.helper.IconHelper;
import vazkii.botania.common.lexicon.LexiconData;
import vazkii.botania.common.lib.LibBlockNames;
public class BlockEnchantedSoil extends BlockMod implements ILexiconable {
IIcon iconSide;
public BlockEnchantedSoil() {
super(Material.grass);
setHardness(0.6F);
setStepSound(soundTypeGrass);
setBlockName(LibBlockNames.ENCHANTED_SOIL);
}
@Override
boolean registerInCreative() {
return false;
}
@Override
public void registerBlockIcons(IIconRegister par1IconRegister) {
blockIcon = IconHelper.forBlock(par1IconRegister, this, 0);
iconSide = IconHelper.forBlock(par1IconRegister, this, 1);
}
@Override
public IIcon getIcon(int side, int meta) {
return side == 0 ? Blocks.dirt.getIcon(0, 0) : side == 1 ? blockIcon : iconSide;
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) {
return Blocks.dirt.getItemDropped(0, p_149650_2_, p_149650_3_);
}
@Override
public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plantable) {
return plantable.getPlantType(world, x, y - 1, z) == EnumPlantType.Plains;
}
@Override
protected boolean canSilkHarvest() {
return true;
}
@Override
public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) {
return LexiconData.overgrowthSeed;
}
}
@@ -36,40 +36,6 @@ import vazkii.botania.common.block.decor.BlockStarfield;
import vazkii.botania.common.block.decor.BlockThatch;
import vazkii.botania.common.block.decor.BlockTinyPotato;
import vazkii.botania.common.block.decor.BlockUnstable;
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.BlockModSlab;
import vazkii.botania.common.block.decor.slabs.BlockReedSlab;
import vazkii.botania.common.block.decor.slabs.BlockThatchSlab;
import vazkii.botania.common.block.decor.slabs.bricks.BlockCustomBrickSlab;
import vazkii.botania.common.block.decor.slabs.bricks.BlockSnowBrickSlab;
import vazkii.botania.common.block.decor.slabs.bricks.BlockSoulBrickSlab;
import vazkii.botania.common.block.decor.slabs.bricks.BlockTileSlab;
import vazkii.botania.common.block.decor.slabs.living.BlockDreamwoodPlankSlab;
import vazkii.botania.common.block.decor.slabs.living.BlockDreamwoodSlab;
import vazkii.botania.common.block.decor.slabs.living.BlockLivingrockBrickSlab;
import vazkii.botania.common.block.decor.slabs.living.BlockLivingrockSlab;
import vazkii.botania.common.block.decor.slabs.living.BlockLivingwoodPlankSlab;
import vazkii.botania.common.block.decor.slabs.living.BlockLivingwoodSlab;
import vazkii.botania.common.block.decor.slabs.prismarine.BlockDarkPrismarineSlab;
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.BlockReedStairs;
import vazkii.botania.common.block.decor.stairs.BlockThatchStairs;
import vazkii.botania.common.block.decor.stairs.bricks.BlockCustomBrickStairs;
import vazkii.botania.common.block.decor.stairs.bricks.BlockSnowBrickStairs;
import vazkii.botania.common.block.decor.stairs.bricks.BlockSoulBrickStairs;
import vazkii.botania.common.block.decor.stairs.bricks.BlockTileStairs;
import vazkii.botania.common.block.decor.stairs.living.BlockDreamwoodPlankStairs;
import vazkii.botania.common.block.decor.stairs.living.BlockDreamwoodStairs;
import vazkii.botania.common.block.decor.stairs.living.BlockLivingrockBrickStairs;
import vazkii.botania.common.block.decor.stairs.living.BlockLivingrockStairs;
import vazkii.botania.common.block.decor.stairs.living.BlockLivingwoodPlankStairs;
import vazkii.botania.common.block.decor.stairs.living.BlockLivingwoodStairs;
import vazkii.botania.common.block.decor.stairs.prismarine.BlockDarkPrismarineStairs;
import vazkii.botania.common.block.decor.stairs.prismarine.BlockPrismarineBrickStairs;
import vazkii.botania.common.block.decor.stairs.prismarine.BlockPrismarineStairs;
import vazkii.botania.common.block.dispenser.BehaviourSeeds;
import vazkii.botania.common.block.dispenser.BehaviourWand;
import vazkii.botania.common.block.mana.BlockAlchemyCatalyst;
@@ -159,7 +125,6 @@ import vazkii.botania.common.block.tile.string.TileRedStringContainer;
import vazkii.botania.common.block.tile.string.TileRedStringDispenser;
import vazkii.botania.common.block.tile.string.TileRedStringFertilizer;
import vazkii.botania.common.block.tile.string.TileRedStringRelay;
import vazkii.botania.common.core.handler.ConfigHandler;
import vazkii.botania.common.item.ModItems;
import vazkii.botania.common.lib.LibBlockNames;
import vazkii.botania.common.lib.LibOreDict;
@@ -222,6 +187,7 @@ public final class ModBlocks {
public static Block manaFlame;
public static Block prism;
public static Block dirtPath;
public static Block enchantedSoil;
public static void init() {
flower = new BlockModFlower();
@@ -279,7 +245,8 @@ public final class ModBlocks {
manaFlame = new BlockManaFlame();
prism = new BlockPrism();
dirtPath = new BlockDirtPath();
enchantedSoil = new BlockEnchantedSoil();
ModFluffBlocks.init();
for(int i = 0; i < 16; i++)
@@ -29,6 +29,7 @@ import vazkii.botania.api.lexicon.LexiconEntry;
import vazkii.botania.api.subtile.ISubTileContainer;
import vazkii.botania.api.subtile.SubTileEntity;
import vazkii.botania.api.wand.IWandBindable;
import vazkii.botania.common.block.ModBlocks;
import vazkii.botania.common.block.tile.string.TileRedStringRelay;
public class TileSpecialFlower extends TileMod implements IWandBindable, ISubTileContainer {
@@ -90,6 +91,8 @@ public class TileSpecialFlower extends TileMod implements IWandBindable, ISubTil
}
subTile.onUpdate();
if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.enchantedSoil)
subTile.onUpdate();
}
}
@@ -92,6 +92,7 @@ public final class BotaniaCreativeTab extends CreativeTabs {
addItem(ModItems.vineBall);
addItem(ModItems.regenIvy);
addItem(ModItems.worldSeed);
addItem(ModItems.overgrowthSeed);
if(Botania.thaumcraftLoaded)
addItem(ModItems.manaInkwell);
addBlock(ModBlocks.forestDrum);
@@ -27,21 +27,26 @@ public final class ChestGenHandler {
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.manaResource, 1, 1), 1, 1, 8));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.manaResource, 1, 1), 1, 3, 2));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 6));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 2));
c = ChestGenHooks.DUNGEON_CHEST;
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.manaResource, 1, 0), 1, 5, 9));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.lexicon), 1, 1, 6));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.manaBottle), 1, 1, 5));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 6));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 2));
c = ChestGenHooks.PYRAMID_DESERT_CHEST;
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 6));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 2));
c = ChestGenHooks.MINESHAFT_CORRIDOR;
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 6));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 2));
c = ChestGenHooks.PYRAMID_JUNGLE_DISPENSER;
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 6));
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 2));
c = ChestGenHooks.VILLAGE_BLACKSMITH;
ChestGenHooks.addItem(c, new WeightedRandomChestContent(new ItemStack(ModItems.blackLotus), 1, 1, 6));
@@ -0,0 +1,46 @@
/**
* This class was created by <Vazkii>. 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, 5:59:21 PM (GMT)]
*/
package vazkii.botania.common.item;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.oredict.OreDictionary;
import vazkii.botania.common.block.ModBlocks;
import vazkii.botania.common.lib.LibItemNames;
public class ItemOvergrowthSeed extends ItemMod {
public ItemOvergrowthSeed() {
setUnlocalizedName(LibItemNames.OVERGROWTH_SEED);
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int s, float xs, float ys, float zs) {
Block block = world.getBlock(x, y, z);
ItemStack blockStack = new ItemStack(block);
int[] ids = OreDictionary.getOreIDs(blockStack);
for(int i : ids) {
String name = OreDictionary.getOreName(i);
if(name.equals("grass")) {
world.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(block));
world.setBlock(x, y, z, ModBlocks.enchantedSoil);
stack.stackSize--;
return true;
}
}
return false;
}
}
@@ -199,6 +199,7 @@ public final class ModItems {
public static Item worldSeed;
public static Item spellCloth;
public static Item thornChakram;
public static Item overgrowthSeed;
public static void init() {
lexicon = new ItemLexicon();
@@ -305,6 +306,7 @@ public final class ModItems {
worldSeed = new ItemWorldSeed();
spellCloth = new ItemSpellCloth();
thornChakram = new ItemThornChakram();
overgrowthSeed = new ItemOvergrowthSeed();
OreDictionary.registerOre(LibOreDict.LEXICON, lexicon);
for(int i = 0; i < 16; i++) {
@@ -159,6 +159,7 @@ public final class LexiconData {
public static LexiconEntry worldSeed;
public static LexiconEntry spellCloth;
public static LexiconEntry thornChakram;
public static LexiconEntry overgrowthSeed;
public static LexiconEntry baublesIntro;
public static LexiconEntry tinyPlanet;
@@ -614,6 +615,9 @@ public final class LexiconData {
thornChakram = new BLexiconEntry(LibLexicon.TOOL_THORN_CHAKRAM, categoryTools);
thornChakram.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeThornChakram));
overgrowthSeed = new BLexiconEntry(LibLexicon.TOOL_OVERGROWTH_SEED, categoryTools);
overgrowthSeed.setLexiconPages(new PageText("0"));
// BAUBLES ENTRIES
baublesIntro = new BLexiconEntry(LibLexicon.BAUBLE_INTRO, categoryBaubles);
baublesIntro.setPriority().setLexiconPages(new PageText("0"), new PageImage("1", LibResources.ENTRY_BAUBLES), new PageText("2"));
@@ -69,6 +69,7 @@ public final class LibBlockNames {
public static final String MANA_FLAME = "manaFlame";
public static final String PRISM = "prism";
public static final String DIRT_PATH = "dirtPath";
public static final String ENCHANTED_SOIL = "enchantedSoil";
public static final String SUBTILE_PUREDAISY = "puredaisy";
public static final String SUBTILE_MANASTAR = "manastar";
@@ -118,6 +118,7 @@ public final class LibItemNames {
public static final String WORLD_SEED = "worldSeed";
public static final String SPELL_CLOTH = "spellCloth";
public static final String THORN_CHAKRAM = "thornChakram";
public static final String OVERGROWTH_SEED = "overgrowthSeed";
public static final String[] LENS_NAMES = new String[] {
"lensNormal",
@@ -140,6 +140,7 @@ public final class LibLexicon {
public static final String TOOL_WORLD_SEED = "worldSeed";
public static final String TOOL_SPELL_CLOTH = "spellCloth";
public static final String TOOL_THORN_CHAKRAM = "thornChakram";
public static final String TOOL_OVERGROWTH_SEED = "overgrowthSeed";
public static final String BAUBLE_INTRO = "bIntro";
public static final String BAUBLE_TINY_PLANET = "tinyPlanet";