From dd11d8f9617ad28b7b04983ad5eecce3b403f0df Mon Sep 17 00:00:00 2001 From: Adubbz Date: Thu, 4 Apr 2013 13:22:50 +1100 Subject: [PATCH] The best commit ever. Removes the need for manual installation into the resources folder and moves the remaining textures into /mods/BiomesOPlenty/textures --- .../mods/BiomesOPlenty/audio}/bopdisc.ogg | Bin .../mods/BiomesOPlenty/audio}/bopdiscmud.ogg | Bin .../textures}/armor/amethyst_1.png | Bin .../textures}/armor/amethyst_2.png | Bin .../BiomesOPlenty/textures}/armor/mud_1.png | Bin .../BiomesOPlenty/textures}/armor/mud_2.png | Bin .../textures}/mobs/junglespider.png | Bin .../BiomesOPlenty/textures}/mobs/rosester.png | Bin .../tdwp_ftw/biomesop/ClientProxy.java | 3 +- .../tdwp_ftw/biomesop/CommonProxy.java | 10 +- .../biomesop/mobs/EntityJungleSpider.java | 2 +- .../biomesop/mobs/EntityRosester.java | 2 +- .../tdwp_ftw/biomesop/mod_BiomesOPlenty.java | 553 ++++++++++-------- src/minecraft/tdwp_ftw/biomesop/res/block.png | Bin 51508 -> 0 bytes .../tdwp_ftw/biomesop/res/block2.png | Bin 6060 -> 0 bytes src/minecraft/tdwp_ftw/biomesop/res/items.png | Bin 7576 -> 0 bytes 16 files changed, 305 insertions(+), 265 deletions(-) rename {jars/resources/mod/streaming => src/minecraft/mods/BiomesOPlenty/audio}/bopdisc.ogg (100%) rename {jars/resources/mod/streaming => src/minecraft/mods/BiomesOPlenty/audio}/bopdiscmud.ogg (100%) rename src/minecraft/{tdwp_ftw/biomesop/res => mods/BiomesOPlenty/textures}/armor/amethyst_1.png (100%) rename src/minecraft/{tdwp_ftw/biomesop/res => mods/BiomesOPlenty/textures}/armor/amethyst_2.png (100%) rename src/minecraft/{tdwp_ftw/biomesop/res => mods/BiomesOPlenty/textures}/armor/mud_1.png (100%) rename src/minecraft/{tdwp_ftw/biomesop/res => mods/BiomesOPlenty/textures}/armor/mud_2.png (100%) rename src/minecraft/{tdwp_ftw/biomesop/res => mods/BiomesOPlenty/textures}/mobs/junglespider.png (100%) rename src/minecraft/{tdwp_ftw/biomesop/res => mods/BiomesOPlenty/textures}/mobs/rosester.png (100%) delete mode 100644 src/minecraft/tdwp_ftw/biomesop/res/block.png delete mode 100644 src/minecraft/tdwp_ftw/biomesop/res/block2.png delete mode 100644 src/minecraft/tdwp_ftw/biomesop/res/items.png diff --git a/jars/resources/mod/streaming/bopdisc.ogg b/src/minecraft/mods/BiomesOPlenty/audio/bopdisc.ogg similarity index 100% rename from jars/resources/mod/streaming/bopdisc.ogg rename to src/minecraft/mods/BiomesOPlenty/audio/bopdisc.ogg diff --git a/jars/resources/mod/streaming/bopdiscmud.ogg b/src/minecraft/mods/BiomesOPlenty/audio/bopdiscmud.ogg similarity index 100% rename from jars/resources/mod/streaming/bopdiscmud.ogg rename to src/minecraft/mods/BiomesOPlenty/audio/bopdiscmud.ogg diff --git a/src/minecraft/tdwp_ftw/biomesop/res/armor/amethyst_1.png b/src/minecraft/mods/BiomesOPlenty/textures/armor/amethyst_1.png similarity index 100% rename from src/minecraft/tdwp_ftw/biomesop/res/armor/amethyst_1.png rename to src/minecraft/mods/BiomesOPlenty/textures/armor/amethyst_1.png diff --git a/src/minecraft/tdwp_ftw/biomesop/res/armor/amethyst_2.png b/src/minecraft/mods/BiomesOPlenty/textures/armor/amethyst_2.png similarity index 100% rename from src/minecraft/tdwp_ftw/biomesop/res/armor/amethyst_2.png rename to src/minecraft/mods/BiomesOPlenty/textures/armor/amethyst_2.png diff --git a/src/minecraft/tdwp_ftw/biomesop/res/armor/mud_1.png b/src/minecraft/mods/BiomesOPlenty/textures/armor/mud_1.png similarity index 100% rename from src/minecraft/tdwp_ftw/biomesop/res/armor/mud_1.png rename to src/minecraft/mods/BiomesOPlenty/textures/armor/mud_1.png diff --git a/src/minecraft/tdwp_ftw/biomesop/res/armor/mud_2.png b/src/minecraft/mods/BiomesOPlenty/textures/armor/mud_2.png similarity index 100% rename from src/minecraft/tdwp_ftw/biomesop/res/armor/mud_2.png rename to src/minecraft/mods/BiomesOPlenty/textures/armor/mud_2.png diff --git a/src/minecraft/tdwp_ftw/biomesop/res/mobs/junglespider.png b/src/minecraft/mods/BiomesOPlenty/textures/mobs/junglespider.png similarity index 100% rename from src/minecraft/tdwp_ftw/biomesop/res/mobs/junglespider.png rename to src/minecraft/mods/BiomesOPlenty/textures/mobs/junglespider.png diff --git a/src/minecraft/tdwp_ftw/biomesop/res/mobs/rosester.png b/src/minecraft/mods/BiomesOPlenty/textures/mobs/rosester.png similarity index 100% rename from src/minecraft/tdwp_ftw/biomesop/res/mobs/rosester.png rename to src/minecraft/mods/BiomesOPlenty/textures/mobs/rosester.png diff --git a/src/minecraft/tdwp_ftw/biomesop/ClientProxy.java b/src/minecraft/tdwp_ftw/biomesop/ClientProxy.java index ff141bc7e..4904dbd29 100644 --- a/src/minecraft/tdwp_ftw/biomesop/ClientProxy.java +++ b/src/minecraft/tdwp_ftw/biomesop/ClientProxy.java @@ -1,14 +1,13 @@ package tdwp_ftw.biomesop; import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends CommonProxy { @Override public void registerRenderers() { - MinecraftForgeClient.preloadTexture(BLOCK_PNG); - MinecraftForgeClient.preloadTexture(ITEMS_PNG); MinecraftForgeClient.preloadTexture(ARMOR_MUD1_PNG); MinecraftForgeClient.preloadTexture(ARMOR_MUD2_PNG); MinecraftForgeClient.preloadTexture(ARMOR_AMETHYST1_PNG); diff --git a/src/minecraft/tdwp_ftw/biomesop/CommonProxy.java b/src/minecraft/tdwp_ftw/biomesop/CommonProxy.java index b77f970de..f025f8aad 100644 --- a/src/minecraft/tdwp_ftw/biomesop/CommonProxy.java +++ b/src/minecraft/tdwp_ftw/biomesop/CommonProxy.java @@ -1,12 +1,10 @@ package tdwp_ftw.biomesop; public class CommonProxy { - public static String BLOCK_PNG = "/tdwp_ftw/biomesop/res/block.png"; - public static String ITEMS_PNG = "/tdwp_ftw/biomesop/res/items.png"; - public static String ARMOR_MUD1_PNG = "/tdwp_ftw/biomesop/res/armor/mud_1.png"; - public static String ARMOR_MUD2_PNG = "/tdwp_ftw/biomesop/res/armor/mud_2.png"; - public static String ARMOR_AMETHYST1_PNG = "/tdwp_ftw/biomesop/res/armor/amethyst_1.png"; - public static String ARMOR_AMETHYST2_PNG = "/tdwp_ftw/biomesop/res/armor/amethyst_2.png"; + public static String ARMOR_MUD1_PNG = "/mods/BiomesOPlenty/textures/armor/mud_1.png"; + public static String ARMOR_MUD2_PNG = "/mods/BiomesOPlenty/textures/armor/mud_2.png"; + public static String ARMOR_AMETHYST1_PNG = "/mods/BiomesOPlenty/textures/armor/amethyst_1.png"; + public static String ARMOR_AMETHYST2_PNG = "/mods/BiomesOPlenty/textures/armor/amethyst_2.png"; // Client stuff public void registerRenderers() { diff --git a/src/minecraft/tdwp_ftw/biomesop/mobs/EntityJungleSpider.java b/src/minecraft/tdwp_ftw/biomesop/mobs/EntityJungleSpider.java index 4a4cd0ec8..b2972e580 100644 --- a/src/minecraft/tdwp_ftw/biomesop/mobs/EntityJungleSpider.java +++ b/src/minecraft/tdwp_ftw/biomesop/mobs/EntityJungleSpider.java @@ -12,7 +12,7 @@ public class EntityJungleSpider extends EntitySpider public EntityJungleSpider(World par1World) { super(par1World); - this.texture = "/tdwp_ftw/biomesop/res/mobs/junglespider.png"; + this.texture = "/mods/BiomesOPlenty/textures/mobs/junglespider.png"; this.setSize(0.4F, 0.3F); this.moveSpeed = 1.1F; } diff --git a/src/minecraft/tdwp_ftw/biomesop/mobs/EntityRosester.java b/src/minecraft/tdwp_ftw/biomesop/mobs/EntityRosester.java index e2f7a5af2..32bdf8e75 100644 --- a/src/minecraft/tdwp_ftw/biomesop/mobs/EntityRosester.java +++ b/src/minecraft/tdwp_ftw/biomesop/mobs/EntityRosester.java @@ -31,7 +31,7 @@ public class EntityRosester extends EntityChicken public EntityRosester(World par1World) { super(par1World); - this.texture = "/tdwp_ftw/biomesop/res/mobs/rosester.png"; + this.texture = "/mods/BiomesOPlenty/textures/mobs/rosester.png"; this.setSize(0.3F, 0.7F); this.timeUntilNextEgg = this.rand.nextInt(6000) + 6000; float var2 = 0.25F; diff --git a/src/minecraft/tdwp_ftw/biomesop/mod_BiomesOPlenty.java b/src/minecraft/tdwp_ftw/biomesop/mod_BiomesOPlenty.java index 31ffb2473..be763a073 100644 --- a/src/minecraft/tdwp_ftw/biomesop/mod_BiomesOPlenty.java +++ b/src/minecraft/tdwp_ftw/biomesop/mod_BiomesOPlenty.java @@ -1,7 +1,14 @@ package tdwp_ftw.biomesop; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.logging.Level; + import net.minecraft.block.Block; import net.minecraft.block.BlockHalfSlab; +import net.minecraft.client.Minecraft; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityEggInfo; @@ -32,6 +39,7 @@ import tdwp_ftw.biomesop.helpers.*; import tdwp_ftw.biomesop.items.*; import tdwp_ftw.biomesop.mobs.*; import tdwp_ftw.biomesop.worldtype.WTBiomesOP; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; @@ -61,6 +69,41 @@ public class mod_BiomesOPlenty @PreInit public void preInit(FMLPreInitializationEvent event) { + + String[] soundFiles = { "bopdisc.ogg", "bopdiscmud.ogg"}; + + for (String soundFile : soundFiles) + try + { + File file = new File("resources/mod/streaming/" + soundFile); + if (!file.exists()) { + System.out.println("[BoP] " + soundFile + " doesn't exist, creating..."); + file.getParentFile().mkdirs(); + file.createNewFile(); + InputStream istream = getClass().getResourceAsStream("/mods/BiomesOPlenty/audio/" + soundFile); + OutputStream out = new FileOutputStream(file); + byte[] buf = new byte[1024]; + int size = 0; + int len; + while ((len = istream.read(buf)) > 0) { + out.write(buf, 0, len); + size += len; + } + out.close(); + istream.close(); + if (size == 0) file.delete(); + } + else { + throw new RuntimeException("Unknown Error, file does not exist"); + } + + } + catch (Exception e) + { + FMLCommonHandler.instance().getFMLLogger().log(Level.WARNING, "[BoP] Failed to load sound file: " + soundFile); + e.printStackTrace(); + } + config = new Configuration(event.getSuggestedConfigurationFile()); config.load(); skyColors = true; @@ -439,266 +482,266 @@ public class mod_BiomesOPlenty @Init public void load(FMLInitializationEvent event) { - tabBiomesOPlenty = new CreativeTabsBOP(CreativeTabs.getNextID(),"tabBiomesOPlenty"); - - // Block declaration - mud = (new BlockMud(mudID)).setHardness(0.6F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("mud"); - driedDirt = (new BlockDriedDirt(driedDirtID)).setHardness(0.1F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("driedDirt"); - redRock = (new BlockRedRock(redRockID)).setHardness(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRock"); - ash = (new BlockAsh(ashID)).setHardness(0.4F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("ash"); - deadGrass = (new BlockDeadGrass(deadGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("deadGrass"); - desertGrass = (new BlockDesertGrass(desertGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("desertGrass"); - whiteFlower = (new BlockWhiteFlower(whiteFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("whiteFlower"); - blueFlower = (new BlockBlueFlower(blueFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("blueFlower"); - purpleFlower = (new BlockPurpleFlower(purpleFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("purpleFlower"); - orangeFlower = (new BlockOrangeFlower(orangeFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("orangeFlower"); - tinyFlower = (new BlockTinyFlower(tinyFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("tinyFlower"); - glowFlower = (new BlockGlowFlower(glowFlowerID)).setHardness(0.0F).setLightValue(0.65F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("glowFlower"); - cattail = (new BlockCattail(cattailID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("cattail"); - willow = (new BlockWillow(willowID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("willow"); - autumnLeaves = (BlockAutumnLeaves)(new BlockAutumnLeaves(autumnLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("autumnLeaves"); - thorn = (new BlockThorn(thornID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("thorn"); - toadstool = (new BlockToadstool(toadstoolID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("toadstool"); - highGrassBottom = (BlockHighGrassBottom)(new BlockHighGrassBottom(highGrassBottomID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("highGrassBottom"); - highGrassTop = (BlockHighGrassTop)(new BlockHighGrassTop(highGrassTopID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("highGrassTop"); - ashStone = (new BlockAshStone(ashStoneID)).setHardness(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("ashStone"); - hardIce = (new BlockHardIce(hardIceID)).setHardness(0.75F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("hardIce"); - redLeaves = (BlockRedLeaves)(new BlockRedLeaves(redLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redLeaves"); - orangeLeaves = (BlockOrangeLeaves)(new BlockOrangeLeaves(orangeLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("orangeLeaves"); - pinkLeaves = (BlockPinkLeaves)(new BlockPinkLeaves(pinkLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("pinkLeaves"); - blueLeaves = (BlockBlueLeaves)(new BlockBlueLeaves(blueLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("blueLeaves"); - whiteLeaves = (BlockWhiteLeaves)(new BlockWhiteLeaves(whiteLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("whiteLeaves"); - deadLeaves = (BlockDeadLeaves)(new BlockDeadLeaves(deadLeavesID)).setHardness(0.1F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("deadLeaves"); - shortGrass = (BlockShortGrass)(new BlockShortGrass(shortGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("shortGrass"); - appleLeaves = (BlockAppleLeaves)(new BlockAppleLeaves(appleLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("appleLeaves"); - sprout = (BlockSprout)(new BlockSprout(sproutID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("sprout"); - bush = (BlockBush)(new BlockBush(bushID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("bush"); - bamboo = new BlockBamboo(bambooID).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("bamboo"); - bambooLeaves = (BlockBambooLeaves)(new BlockBambooLeaves(bambooLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("bambooLeaves"); - mudBrickBlock = (new BlockMudBrick(mudBrickBlockID)).setHardness(1.0F).setResistance(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("mudBrickBlock"); - originGrass = (BlockOriginGrass)(new BlockOriginGrass(originGrassID)).setHardness(0.6F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("originGrass"); - originLeaves = (BlockOriginLeaves)(new BlockOriginLeaves(originLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("originLeaves"); - pinkFlower = (new BlockPinkFlower(pinkFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("pinkFlower"); - treeMoss = (new BlockTreeMoss(treeMossID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("treeMoss"); - deadWood = (new BlockDeadLog(deadWoodID)).setHardness(0.8F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("deadWood"); - appleLeavesFruitless = (BlockAppleLeavesFruitless)(new BlockAppleLeavesFruitless(appleLeavesFruitlessID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("appleLeavesFruitless"); - barley = (new BlockBarley(barleyID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("barley"); - giantFlowerStem = (new BlockGiantFlowerStem(giantFlowerStemID)).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("giantFlowerStem"); - giantFlowerRed = (BlockGiantFlowerRed)(new BlockGiantFlowerRed(giantFlowerRedID)).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("giantFlowerRed"); - giantFlowerYellow = (BlockGiantFlowerYellow)(new BlockGiantFlowerYellow(giantFlowerYellowID)).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("giantFlowerYellow"); - tinyCactus = (new BlockTinyCactus(tinyCactusID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("tinyCactus"); - firSapling = (new BlockFirSapling(firSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("firSapling"); - redwoodSapling = (new BlockRedwoodSapling(redwoodSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redwoodSapling"); - palmSapling = (new BlockPalmSapling(palmSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("palmSapling"); - redSapling = (new BlockRedSapling(redSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redSapling"); - orangeSapling = (new BlockOrangeSapling(orangeSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("orangeSapling"); - yellowSapling = (new BlockYellowSapling(yellowSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("yellowSapling"); - brownSapling = (new BlockBrownSapling(brownSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("brownSapling"); - willowSapling = (new BlockWillowSapling(willowSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("willowSapling"); - appleSapling = (new BlockAppleSapling(appleSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("appleSapling"); - originSapling = (new BlockOriginSapling(originSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("originSapling"); - pinkSapling = (new BlockPinkSapling(pinkSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("pinkSapling"); - whiteSapling = (new BlockWhiteSapling(whiteSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("whiteSapling"); - darkSapling = (new BlockDarkSapling(darkSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("darkSapling"); - magicSapling = (new BlockMagicSapling(magicSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("magicSapling"); - deathbloom = (new BlockDeathbloom(deathbloomID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("deathbloom"); - redRockCobble = (new BlockRedRockCobble(redRockCobbleID)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockCobble"); - redRockBrick = (new BlockRedRockBrick(redRockBrickID)).setHardness(1.1F).setResistance(7.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockBrick"); - hydrangea = (new BlockHydrangea(hydrangeaID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("hydrangea"); - violet = (new BlockViolet(violetID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("violet"); - mediumGrass = (BlockMediumGrass)(new BlockMediumGrass(mediumGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("mediumGrass"); - duneGrass = (new BlockDuneGrass(duneGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("duneGrass"); - desertSprouts = (new BlockDesertSprouts(desertSproutsID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("desertSprouts"); - redRockCobbleDoubleSlab = (BlockHalfSlab)(new BlockRedRockCobbleSlab(redRockCobbleDoubleSlabID, true)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockCobbleSlab"); - redRockCobbleSingleSlab = (BlockHalfSlab)(new BlockRedRockCobbleSlab(redRockCobbleSingleSlabID, false)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockCobbleSlab"); - redRockCobbleStairs = (new BlockRedRockCobbleStairs(redRockCobbleStairsID, redRockCobble)).setUnlocalizedName("redRockCobbleStairs"); - redRockBrickDoubleSlab = (BlockHalfSlab)(new BlockRedRockBrickSlab(redRockBrickDoubleSlabID, true)).setHardness(1.1F).setResistance(7.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockBrickSlab"); - redRockBrickSingleSlab = (BlockHalfSlab)(new BlockRedRockBrickSlab(redRockBrickSingleSlabID, false)).setHardness(1.1F).setResistance(7.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockBrickSlab"); - redRockBrickStairs = (new BlockRedRockBrickStairs(redRockBrickStairsID, redRockBrick)).setUnlocalizedName("redRockBrickStairs"); - mudBrickDoubleSlab = (BlockHalfSlab)(new BlockMudBrickSlab(mudBrickDoubleSlabID, true)).setHardness(1.0F).setResistance(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("mudBrickSlab"); - mudBrickSingleSlab = (BlockHalfSlab)(new BlockMudBrickSlab(mudBrickSingleSlabID, false)).setHardness(1.0F).setResistance(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("mudBrickSlab"); - mudBrickStairs = (new BlockMudBrickStairs(mudBrickStairsID, mudBrickBlock)).setUnlocalizedName("mudBrickStairs"); - mangroveSapling = (new BlockMangroveSapling(mangroveSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("mangroveSapling"); - hardSand = (new BlockHardSand(hardSandID)).setHardness(0.7F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("hardSand"); - acaciaSapling = (new BlockAcaciaSapling(acaciaSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("acaciaSapling"); - hardDirt = (new BlockHardDirt(hardDirtID)).setHardness(0.9F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("hardDirt"); - holyGrass = (BlockHolyGrass)(new BlockHolyGrass(holyGrassID)).setHardness(1.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holyGrass"); - holyStone = (new BlockHolyStone(holyStoneID)).setHardness(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("holyStone"); - holyTallGrass = (new BlockHolyTallGrass(holyTallGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holyTallGrass"); - promisedPortal = new BlockPromisedPortal(promisedLandPortalID).setUnlocalizedName("promisedPortal").setBlockUnbreakable().setResistance(6000000.0F).setLightValue(1.0F); - holySapling = (new BlockHolySapling(holySaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holySapling"); - amethystOre = (new BlockAmethystOre(amethystOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("amethystOre"); - amethystBlock = (new BlockAmethystBlock(amethystBlockID)).setHardness(5.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("amethystBlock"); - bambooThatching = (new BlockBambooThatching(bambooThatchingID)).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("bambooThatching"); - moss = (new BlockMoss(mossID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("moss"); - algae = (new BlockAlgae(algaeID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("algae"); - smolderingGrass = (BlockSmolderingGrass)(new BlockSmolderingGrass(smolderingGrassID)).setHardness(0.6F).setLightValue(0.25F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("smolderingGrass"); - cragRock = (new BlockCragRock(cragRockID)).setHardness(1.0F).setStepSound(Block.soundGravelFootstep).setUnlocalizedName("cragRock"); - quicksand = (new BlockQuicksand(quicksandID)).setHardness(0.3F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("quicksand"); - - //Redwood - redwoodPlank = (new BlockRedwoodPlank(redwoodPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodPlank"); - redwoodWood = (new BlockRedwoodLog(redwoodWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodWood"); - redwoodLeaves = (BlockRedwoodLeaves)(new BlockRedwoodLeaves(redwoodLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redwoodLeaves"); - redwoodDoubleSlab = (BlockHalfSlab)(new BlockRedwoodSlab(redwoodDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodSlab"); - redwoodSingleSlab = (BlockHalfSlab)(new BlockRedwoodSlab(redwoodSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodSlab"); - redwoodStairs = (new BlockRedwoodStairs(redwoodStairsID, redwoodPlank)).setUnlocalizedName("redwoodStairs"); - - //Willow - willowPlank = (new BlockWillowPlank(willowPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowPlank"); - willowWood = (new BlockWillowLog(willowWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowWood"); - willowLeaves = (BlockWillowLeaves)(new BlockWillowLeaves(willowLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("willowLeaves"); - willowDoubleSlab = (BlockHalfSlab)(new BlockWillowSlab(willowDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowSlab"); - willowSingleSlab = (BlockHalfSlab)(new BlockWillowSlab(willowSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowSlab"); - willowStairs = (new BlockWillowStairs(willowStairsID, willowPlank)).setUnlocalizedName("willowStairs"); - - //Fir - firPlank = (new BlockFirPlank(firPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firPlank"); - firWood = (new BlockFirLog(firWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firWood"); - firLeaves = (BlockFirLeaves)(new BlockFirLeaves(firLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("firLeaves"); - firDoubleSlab = (BlockHalfSlab)(new BlockFirSlab(firDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firSlab"); - firSingleSlab = (BlockHalfSlab)(new BlockFirSlab(firSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firSlab"); - firStairs = (new BlockFirStairs(firStairsID, firPlank)).setUnlocalizedName("firStairs"); - - //Acacia - acaciaPlank = (new BlockAcaciaPlank(acaciaPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaPlank"); - acaciaWood = (new BlockAcaciaLog(acaciaWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaWood"); - acaciaLeaves = (BlockAcaciaLeaves)(new BlockAcaciaLeaves(acaciaLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("acaciaLeaves"); - acaciaDoubleSlab = (BlockHalfSlab)(new BlockAcaciaSlab(acaciaDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaSlab"); - acaciaSingleSlab = (BlockHalfSlab)(new BlockAcaciaSlab(acaciaSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaSlab"); - acaciaStairs = (new BlockAcaciaStairs(acaciaStairsID, acaciaPlank)).setUnlocalizedName("acaciaStairs"); - - //Cherry - cherryPlank = (new BlockCherryPlank(cherryPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherryPlank"); - cherryWood = (new BlockCherryLog(cherryWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherryWood"); - cherryDoubleSlab = (BlockHalfSlab)(new BlockCherrySlab(cherryDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherrySlab"); - cherrySingleSlab = (BlockHalfSlab)(new BlockCherrySlab(cherrySingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherrySlab"); - cherryStairs = (new BlockCherryStairs(cherryStairsID, cherryPlank)).setUnlocalizedName("cherryStairs"); - - //Dark - darkPlank = (new BlockDarkPlank(darkPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkPlank"); - darkWood = (new BlockDarkLog(darkWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkWood"); - darkLeaves = (BlockDarkLeaves)(new BlockDarkLeaves(darkLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("darkLeaves"); - darkDoubleSlab = (BlockHalfSlab)(new BlockDarkSlab(darkDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkSlab"); - darkSingleSlab = (BlockHalfSlab)(new BlockDarkSlab(darkSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkSlab"); - darkStairs = (new BlockDarkStairs(darkStairsID, darkPlank)).setUnlocalizedName("darkStairs"); - - //Magic - magicPlank = (new BlockMagicPlank(magicPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicPlank"); - magicWood = (new BlockMagicLog(magicWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicWood"); - magicDoubleSlab = (BlockHalfSlab)(new BlockMagicSlab(magicDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicSlab"); - magicSingleSlab = (BlockHalfSlab)(new BlockMagicSlab(magicSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicSlab"); - magicStairs = (new BlockMagicStairs(magicStairsID, magicPlank)).setUnlocalizedName("magicStairs"); - - //Palm - palmPlank = (new BlockPalmPlank(palmPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmPlank"); - palmWood = (new BlockPalmLog(palmWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmWood"); - palmLeaves = (BlockPalmLeaves)(new BlockPalmLeaves(palmLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("palmLeaves"); - palmDoubleSlab = (BlockHalfSlab)(new BlockPalmSlab(palmDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmSlab"); - palmSingleSlab = (BlockHalfSlab)(new BlockPalmSlab(palmSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmSlab"); - palmStairs = (new BlockPalmStairs(palmStairsID, palmPlank)).setUnlocalizedName("palmStairs"); - - //Mangrove - mangrovePlank = (new BlockMangrovePlank(mangrovePlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangrovePlank"); - mangroveWood = (new BlockMangroveLog(mangroveWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangroveWood"); - mangroveLeaves = (BlockMangroveLeaves)(new BlockMangroveLeaves(mangroveLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("mangroveLeaves"); - mangroveDoubleSlab = (BlockHalfSlab)(new BlockMangroveSlab(mangroveDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangroveSlab"); - mangroveSingleSlab = (BlockHalfSlab)(new BlockMangroveSlab(mangroveSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangroveSlab"); - mangroveStairs = (new BlockMangroveStairs(mangroveStairsID, mangrovePlank)).setUnlocalizedName("mangroveStairs"); - - //Holy - holyPlank = (new BlockHolyPlank(holyPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holyPlank"); - holyWood = (new BlockHolyLog(holyWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holyWood"); - holyLeaves = (BlockHolyLeaves)(new BlockHolyLeaves(holyLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holyLeaves"); - holyDoubleSlab = (BlockHalfSlab)(new BlockHolySlab(holyDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holySlab"); - holySingleSlab = (BlockHalfSlab)(new BlockHolySlab(holySingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holySlab"); - holyStairs = (new BlockHolyStairs(holyStairsID, holyPlank)).setUnlocalizedName("holyStairs"); - - // Material declaration - EnumArmorMaterialMud = EnumHelper.addArmorMaterial("MUD", 2, new int[]{1, 1, 1, 1}, 5); - EnumToolMaterialMud = EnumHelper.addToolMaterial("MUD", 0, 32, 0.5F, 0, 1); - EnumArmorMaterialAmethyst = EnumHelper.addArmorMaterial("AMETHYST", 40, new int[]{6, 12, 10, 6}, 20); - EnumToolMaterialAmethyst = EnumHelper.addToolMaterial("AMETHYST", 4, 2013, 15.0F, 5, 16); - - // Item declaration - shroomPowder = (new ItemShroomPowder(shroomPowderID, 1, 0.5F, false)).setPotionEffect(Potion.confusion.id, 30, 0, 0.6F).setAlwaysEdible().setUnlocalizedName("shroomPowder").setCreativeTab(tabBiomesOPlenty); - mudBall = (new ItemBOP(mudBallID, 0)).setUnlocalizedName("mudBall").setCreativeTab(tabBiomesOPlenty); - mudBrick = (new ItemBOP(mudBrickID, 1)).setUnlocalizedName("mudBrick").setCreativeTab(tabBiomesOPlenty); - bambooItem = (new ItemBamboo(bambooItemID, bamboo)).setUnlocalizedName("bambooItem").setCreativeTab(tabBiomesOPlenty); - cattailItem = (new ItemCattail(cattailItemID, cattail)).setUnlocalizedName("cattailItem").setCreativeTab(tabBiomesOPlenty); - barleyItem = (new ItemBarley(barleyItemID, barley)).setUnlocalizedName("barleyItem").setCreativeTab(tabBiomesOPlenty); - shortGrassItem = (new ItemShortGrass(shortGrassItemID, shortGrass)).setUnlocalizedName("shortGrassItem").setCreativeTab(tabBiomesOPlenty); - mediumGrassItem = (new ItemMediumGrass(mediumGrassItemID, mediumGrass)).setUnlocalizedName("mediumGrassItem").setCreativeTab(tabBiomesOPlenty); - bushItem = (new ItemBush(bushItemID, bush)).setUnlocalizedName("bushItem").setCreativeTab(tabBiomesOPlenty); - sproutItem = (new ItemSprout(sproutItemID, sprout)).setUnlocalizedName("sproutItem").setCreativeTab(tabBiomesOPlenty); - mossItem = (new ItemBOP(mossItemID, 2)).setUnlocalizedName("mossItem").setCreativeTab(tabBiomesOPlenty); - ancientStaff = new ItemAncientStaff(ancientStaffID).setUnlocalizedName("ancientStaff").setCreativeTab(tabBiomesOPlenty); - enderporter = new ItemEnderporter(enderporterID).setUnlocalizedName("enderporter").setCreativeTab(tabBiomesOPlenty); - ashes = (new ItemBOP(ashesID, 3)).setUnlocalizedName("ashes").setCreativeTab(tabBiomesOPlenty); - amethyst = (new ItemBOP(amethystID, 4)).setUnlocalizedName("amethyst").setCreativeTab(tabBiomesOPlenty); - ancientStaffHandle = (new ItemBOP(ancientStaffHandleID, 5)).setUnlocalizedName("ancientStaffHandle").setCreativeTab(tabBiomesOPlenty); - ancientStaffPole = (new ItemBOP(ancientStaffPoleID, 6)).setUnlocalizedName("ancientStaffPole").setCreativeTab(tabBiomesOPlenty); - ancientStaffTopper = (new ItemBOP(ancientStaffTopperID, 7)).setUnlocalizedName("ancientStaffTopper").setCreativeTab(tabBiomesOPlenty); - bopDisc = (new ItemBOPRecord(bopDiscID, "bopdisc")).setUnlocalizedName("bopDisc").setCreativeTab(tabBiomesOPlenty); - bopDiscMud = (new ItemBOPRecordMud(bopDiscMudID, "bopdiscmud")).setUnlocalizedName("bopDiscMud").setCreativeTab(tabBiomesOPlenty); - - swordMud = (new ItemBOPSword(swordMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("swordMud").setCreativeTab(tabBiomesOPlenty); - shovelMud = (new ItemBOPSpade(shovelMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("shovelMud").setCreativeTab(tabBiomesOPlenty); - pickaxeMud = (new ItemBOPPickaxe(pickaxeMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("pickaxeMud").setCreativeTab(tabBiomesOPlenty); - axeMud = (new ItemBOPAxe(axeMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("hatchetMud").setCreativeTab(tabBiomesOPlenty); - hoeMud = (new ItemBOPHoe(hoeMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("hoeMud").setCreativeTab(tabBiomesOPlenty); - helmetMud = (new ArmorMuddy(helmetMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 0)).setUnlocalizedName("helmetMud").setCreativeTab(tabBiomesOPlenty); - chestplateMud = (new ArmorMuddy(chestplateMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 1)).setUnlocalizedName("chestplateMud").setCreativeTab(tabBiomesOPlenty); - leggingsMud = (new ArmorMuddy(leggingsMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 2)).setUnlocalizedName("leggingsMud").setCreativeTab(tabBiomesOPlenty); - bootsMud = (new ArmorMuddy(bootsMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 3)).setUnlocalizedName("bootsMud").setCreativeTab(tabBiomesOPlenty); - - swordAmethyst = (new ItemBOPSword(swordAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("swordAmethyst").setCreativeTab(tabBiomesOPlenty); - shovelAmethyst = (new ItemBOPSpade(shovelAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("shovelAmethyst").setCreativeTab(tabBiomesOPlenty); - pickaxeAmethyst = (new ItemBOPPickaxe(pickaxeAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("pickaxeAmethyst").setCreativeTab(tabBiomesOPlenty); - axeAmethyst = (new ItemBOPAxe(axeAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("hatchetAmethyst").setCreativeTab(tabBiomesOPlenty); - hoeAmethyst = (new ItemBOPHoe(hoeAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("hoeAmethyst").setCreativeTab(tabBiomesOPlenty); - helmetAmethyst = (new ArmorAmethyst(helmetAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 0)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("helmetAmethyst"); - chestplateAmethyst = (new ArmorAmethyst(chestplateAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 1)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("chestplateAmethyst"); - leggingsAmethyst = (new ArmorAmethyst(leggingsAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 2)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("leggingsAmethyst"); - bootsAmethyst = (new ArmorAmethyst(bootsAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 3)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("bootsAmethyst"); + tabBiomesOPlenty = new CreativeTabsBOP(CreativeTabs.getNextID(),"tabBiomesOPlenty"); - //Block tool strength, 0 is Wood and Gold, 1 is Stone, 2 is Iron and 3 is Diamond - //Leaves can be obtained from using shears, however they arn't instantly broken by them (unsure how to do this) + // Block declaration + mud = (new BlockMud(mudID)).setHardness(0.6F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("mud"); + driedDirt = (new BlockDriedDirt(driedDirtID)).setHardness(0.1F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("driedDirt"); + redRock = (new BlockRedRock(redRockID)).setHardness(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRock"); + ash = (new BlockAsh(ashID)).setHardness(0.4F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("ash"); + deadGrass = (new BlockDeadGrass(deadGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("deadGrass"); + desertGrass = (new BlockDesertGrass(desertGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("desertGrass"); + whiteFlower = (new BlockWhiteFlower(whiteFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("whiteFlower"); + blueFlower = (new BlockBlueFlower(blueFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("blueFlower"); + purpleFlower = (new BlockPurpleFlower(purpleFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("purpleFlower"); + orangeFlower = (new BlockOrangeFlower(orangeFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("orangeFlower"); + tinyFlower = (new BlockTinyFlower(tinyFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("tinyFlower"); + glowFlower = (new BlockGlowFlower(glowFlowerID)).setHardness(0.0F).setLightValue(0.65F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("glowFlower"); + cattail = (new BlockCattail(cattailID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("cattail"); + willow = (new BlockWillow(willowID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("willow"); + autumnLeaves = (BlockAutumnLeaves)(new BlockAutumnLeaves(autumnLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("autumnLeaves"); + thorn = (new BlockThorn(thornID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("thorn"); + toadstool = (new BlockToadstool(toadstoolID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("toadstool"); + highGrassBottom = (BlockHighGrassBottom)(new BlockHighGrassBottom(highGrassBottomID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("highGrassBottom"); + highGrassTop = (BlockHighGrassTop)(new BlockHighGrassTop(highGrassTopID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("highGrassTop"); + ashStone = (new BlockAshStone(ashStoneID)).setHardness(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("ashStone"); + hardIce = (new BlockHardIce(hardIceID)).setHardness(0.75F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("hardIce"); + redLeaves = (BlockRedLeaves)(new BlockRedLeaves(redLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redLeaves"); + orangeLeaves = (BlockOrangeLeaves)(new BlockOrangeLeaves(orangeLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("orangeLeaves"); + pinkLeaves = (BlockPinkLeaves)(new BlockPinkLeaves(pinkLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("pinkLeaves"); + blueLeaves = (BlockBlueLeaves)(new BlockBlueLeaves(blueLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("blueLeaves"); + whiteLeaves = (BlockWhiteLeaves)(new BlockWhiteLeaves(whiteLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("whiteLeaves"); + deadLeaves = (BlockDeadLeaves)(new BlockDeadLeaves(deadLeavesID)).setHardness(0.1F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("deadLeaves"); + shortGrass = (BlockShortGrass)(new BlockShortGrass(shortGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("shortGrass"); + appleLeaves = (BlockAppleLeaves)(new BlockAppleLeaves(appleLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("appleLeaves"); + sprout = (BlockSprout)(new BlockSprout(sproutID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("sprout"); + bush = (BlockBush)(new BlockBush(bushID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("bush"); + bamboo = new BlockBamboo(bambooID).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("bamboo"); + bambooLeaves = (BlockBambooLeaves)(new BlockBambooLeaves(bambooLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("bambooLeaves"); + mudBrickBlock = (new BlockMudBrick(mudBrickBlockID)).setHardness(1.0F).setResistance(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("mudBrickBlock"); + originGrass = (BlockOriginGrass)(new BlockOriginGrass(originGrassID)).setHardness(0.6F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("originGrass"); + originLeaves = (BlockOriginLeaves)(new BlockOriginLeaves(originLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("originLeaves"); + pinkFlower = (new BlockPinkFlower(pinkFlowerID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("pinkFlower"); + treeMoss = (new BlockTreeMoss(treeMossID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("treeMoss"); + deadWood = (new BlockDeadLog(deadWoodID)).setHardness(0.8F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("deadWood"); + appleLeavesFruitless = (BlockAppleLeavesFruitless)(new BlockAppleLeavesFruitless(appleLeavesFruitlessID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("appleLeavesFruitless"); + barley = (new BlockBarley(barleyID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("barley"); + giantFlowerStem = (new BlockGiantFlowerStem(giantFlowerStemID)).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("giantFlowerStem"); + giantFlowerRed = (BlockGiantFlowerRed)(new BlockGiantFlowerRed(giantFlowerRedID)).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("giantFlowerRed"); + giantFlowerYellow = (BlockGiantFlowerYellow)(new BlockGiantFlowerYellow(giantFlowerYellowID)).setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("giantFlowerYellow"); + tinyCactus = (new BlockTinyCactus(tinyCactusID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("tinyCactus"); + firSapling = (new BlockFirSapling(firSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("firSapling"); + redwoodSapling = (new BlockRedwoodSapling(redwoodSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redwoodSapling"); + palmSapling = (new BlockPalmSapling(palmSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("palmSapling"); + redSapling = (new BlockRedSapling(redSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redSapling"); + orangeSapling = (new BlockOrangeSapling(orangeSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("orangeSapling"); + yellowSapling = (new BlockYellowSapling(yellowSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("yellowSapling"); + brownSapling = (new BlockBrownSapling(brownSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("brownSapling"); + willowSapling = (new BlockWillowSapling(willowSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("willowSapling"); + appleSapling = (new BlockAppleSapling(appleSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("appleSapling"); + originSapling = (new BlockOriginSapling(originSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("originSapling"); + pinkSapling = (new BlockPinkSapling(pinkSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("pinkSapling"); + whiteSapling = (new BlockWhiteSapling(whiteSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("whiteSapling"); + darkSapling = (new BlockDarkSapling(darkSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("darkSapling"); + magicSapling = (new BlockMagicSapling(magicSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("magicSapling"); + deathbloom = (new BlockDeathbloom(deathbloomID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("deathbloom"); + redRockCobble = (new BlockRedRockCobble(redRockCobbleID)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockCobble"); + redRockBrick = (new BlockRedRockBrick(redRockBrickID)).setHardness(1.1F).setResistance(7.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockBrick"); + hydrangea = (new BlockHydrangea(hydrangeaID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("hydrangea"); + violet = (new BlockViolet(violetID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("violet"); + mediumGrass = (BlockMediumGrass)(new BlockMediumGrass(mediumGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("mediumGrass"); + duneGrass = (new BlockDuneGrass(duneGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("duneGrass"); + desertSprouts = (new BlockDesertSprouts(desertSproutsID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("desertSprouts"); + redRockCobbleDoubleSlab = (BlockHalfSlab)(new BlockRedRockCobbleSlab(redRockCobbleDoubleSlabID, true)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockCobbleSlab"); + redRockCobbleSingleSlab = (BlockHalfSlab)(new BlockRedRockCobbleSlab(redRockCobbleSingleSlabID, false)).setHardness(1.6F).setResistance(7.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockCobbleSlab"); + redRockCobbleStairs = (new BlockRedRockCobbleStairs(redRockCobbleStairsID, redRockCobble)).setUnlocalizedName("redRockCobbleStairs"); + redRockBrickDoubleSlab = (BlockHalfSlab)(new BlockRedRockBrickSlab(redRockBrickDoubleSlabID, true)).setHardness(1.1F).setResistance(7.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockBrickSlab"); + redRockBrickSingleSlab = (BlockHalfSlab)(new BlockRedRockBrickSlab(redRockBrickSingleSlabID, false)).setHardness(1.1F).setResistance(7.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("redRockBrickSlab"); + redRockBrickStairs = (new BlockRedRockBrickStairs(redRockBrickStairsID, redRockBrick)).setUnlocalizedName("redRockBrickStairs"); + mudBrickDoubleSlab = (BlockHalfSlab)(new BlockMudBrickSlab(mudBrickDoubleSlabID, true)).setHardness(1.0F).setResistance(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("mudBrickSlab"); + mudBrickSingleSlab = (BlockHalfSlab)(new BlockMudBrickSlab(mudBrickSingleSlabID, false)).setHardness(1.0F).setResistance(2.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("mudBrickSlab"); + mudBrickStairs = (new BlockMudBrickStairs(mudBrickStairsID, mudBrickBlock)).setUnlocalizedName("mudBrickStairs"); + mangroveSapling = (new BlockMangroveSapling(mangroveSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("mangroveSapling"); + hardSand = (new BlockHardSand(hardSandID)).setHardness(0.7F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("hardSand"); + acaciaSapling = (new BlockAcaciaSapling(acaciaSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("acaciaSapling"); + hardDirt = (new BlockHardDirt(hardDirtID)).setHardness(0.9F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("hardDirt"); + holyGrass = (BlockHolyGrass)(new BlockHolyGrass(holyGrassID)).setHardness(1.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holyGrass"); + holyStone = (new BlockHolyStone(holyStoneID)).setHardness(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("holyStone"); + holyTallGrass = (new BlockHolyTallGrass(holyTallGrassID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holyTallGrass"); + promisedPortal = new BlockPromisedPortal(promisedLandPortalID).setUnlocalizedName("promisedPortal").setBlockUnbreakable().setResistance(6000000.0F).setLightValue(1.0F); + holySapling = (new BlockHolySapling(holySaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holySapling"); + amethystOre = (new BlockAmethystOre(amethystOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("amethystOre"); + amethystBlock = (new BlockAmethystBlock(amethystBlockID)).setHardness(5.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("amethystBlock"); + bambooThatching = (new BlockBambooThatching(bambooThatchingID)).setHardness(1.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("bambooThatching"); + moss = (new BlockMoss(mossID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("moss"); + algae = (new BlockAlgae(algaeID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("algae"); + smolderingGrass = (BlockSmolderingGrass)(new BlockSmolderingGrass(smolderingGrassID)).setHardness(0.6F).setLightValue(0.25F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("smolderingGrass"); + cragRock = (new BlockCragRock(cragRockID)).setHardness(1.0F).setStepSound(Block.soundGravelFootstep).setUnlocalizedName("cragRock"); + quicksand = (new BlockQuicksand(quicksandID)).setHardness(0.3F).setStepSound(Block.soundSandFootstep).setUnlocalizedName("quicksand"); - MinecraftForge.setBlockHarvestLevel(smolderingGrass, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(mud, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(ash, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(originGrass, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(hardSand, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(holyGrass, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(quicksand, "shovel", 0); + //Redwood + redwoodPlank = (new BlockRedwoodPlank(redwoodPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodPlank"); + redwoodWood = (new BlockRedwoodLog(redwoodWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodWood"); + redwoodLeaves = (BlockRedwoodLeaves)(new BlockRedwoodLeaves(redwoodLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("redwoodLeaves"); + redwoodDoubleSlab = (BlockHalfSlab)(new BlockRedwoodSlab(redwoodDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodSlab"); + redwoodSingleSlab = (BlockHalfSlab)(new BlockRedwoodSlab(redwoodSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("redwoodSlab"); + redwoodStairs = (new BlockRedwoodStairs(redwoodStairsID, redwoodPlank)).setUnlocalizedName("redwoodStairs"); - MinecraftForge.setBlockHarvestLevel(driedDirt, "pickaxe", 0); - MinecraftForge.setBlockHarvestLevel(amethystOre, "pickaxe", 3); - MinecraftForge.setBlockHarvestLevel(amethystBlock, "pickaxe", 3); + //Willow + willowPlank = (new BlockWillowPlank(willowPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowPlank"); + willowWood = (new BlockWillowLog(willowWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowWood"); + willowLeaves = (BlockWillowLeaves)(new BlockWillowLeaves(willowLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("willowLeaves"); + willowDoubleSlab = (BlockHalfSlab)(new BlockWillowSlab(willowDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowSlab"); + willowSingleSlab = (BlockHalfSlab)(new BlockWillowSlab(willowSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("willowSlab"); + willowStairs = (new BlockWillowStairs(willowStairsID, willowPlank)).setUnlocalizedName("willowStairs"); - MinecraftForge.setToolClass(shovelAmethyst, "shovel", 3); - MinecraftForge.setToolClass(pickaxeAmethyst, "pickaxe", 3); - MinecraftForge.setToolClass(axeAmethyst, "axe", 3); + //Fir + firPlank = (new BlockFirPlank(firPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firPlank"); + firWood = (new BlockFirLog(firWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firWood"); + firLeaves = (BlockFirLeaves)(new BlockFirLeaves(firLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("firLeaves"); + firDoubleSlab = (BlockHalfSlab)(new BlockFirSlab(firDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firSlab"); + firSingleSlab = (BlockHalfSlab)(new BlockFirSlab(firSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("firSlab"); + firStairs = (new BlockFirStairs(firStairsID, firPlank)).setUnlocalizedName("firStairs"); - // Achievement declaration - if (achievements == true) - { - achFlower2 = (new Achievement(3057, "achFlower2", 0, 0, Block.plantRed, (Achievement)null)).registerAchievement(); - achRedRock2 = (new Achievement(3058, "achRedRock2", -1, 2, redRock, achFlower2)).registerAchievement(); - achThorn2 = (new Achievement(3059, "achThorn2", 2, 1, thorn, achFlower2)).registerAchievement(); - achAsh2 = (new Achievement(3060, "achAsh2", 1, 3, ashes, achFlower2)).registerAchievement(); - achOrigin2 = (new Achievement(3061, "achOrigin2", 0, 5, originGrass, achFlower2)).setSpecial().registerAchievement(); - achPromised2 = (new Achievement(3062, "achPromised2", 0, -5, holyGrass, achFlower2)).setSpecial().registerAchievement(); - achMud2 = (new Achievement(3063, "achMud2", -2, -1, mudBall, achFlower2)).registerAchievement(); - achShroom2 = (new Achievement(3064, "achShroom2", 1, -2, toadstool, achFlower2)).registerAchievement(); - achBarley2 = (new Achievement(3065, "achBarley2", -2, 4, barleyItem, achFlower2)).registerAchievement(); - achMoss2 = (new Achievement(3066, "achMoss2", -1, -3, mossItem, achFlower2)).registerAchievement(); + //Acacia + acaciaPlank = (new BlockAcaciaPlank(acaciaPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaPlank"); + acaciaWood = (new BlockAcaciaLog(acaciaWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaWood"); + acaciaLeaves = (BlockAcaciaLeaves)(new BlockAcaciaLeaves(acaciaLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("acaciaLeaves"); + acaciaDoubleSlab = (BlockHalfSlab)(new BlockAcaciaSlab(acaciaDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaSlab"); + acaciaSingleSlab = (BlockHalfSlab)(new BlockAcaciaSlab(acaciaSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("acaciaSlab"); + acaciaStairs = (new BlockAcaciaStairs(acaciaStairsID, acaciaPlank)).setUnlocalizedName("acaciaStairs"); + + //Cherry + cherryPlank = (new BlockCherryPlank(cherryPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherryPlank"); + cherryWood = (new BlockCherryLog(cherryWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherryWood"); + cherryDoubleSlab = (BlockHalfSlab)(new BlockCherrySlab(cherryDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherrySlab"); + cherrySingleSlab = (BlockHalfSlab)(new BlockCherrySlab(cherrySingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("cherrySlab"); + cherryStairs = (new BlockCherryStairs(cherryStairsID, cherryPlank)).setUnlocalizedName("cherryStairs"); + + //Dark + darkPlank = (new BlockDarkPlank(darkPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkPlank"); + darkWood = (new BlockDarkLog(darkWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkWood"); + darkLeaves = (BlockDarkLeaves)(new BlockDarkLeaves(darkLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("darkLeaves"); + darkDoubleSlab = (BlockHalfSlab)(new BlockDarkSlab(darkDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkSlab"); + darkSingleSlab = (BlockHalfSlab)(new BlockDarkSlab(darkSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("darkSlab"); + darkStairs = (new BlockDarkStairs(darkStairsID, darkPlank)).setUnlocalizedName("darkStairs"); + + //Magic + magicPlank = (new BlockMagicPlank(magicPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicPlank"); + magicWood = (new BlockMagicLog(magicWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicWood"); + magicDoubleSlab = (BlockHalfSlab)(new BlockMagicSlab(magicDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicSlab"); + magicSingleSlab = (BlockHalfSlab)(new BlockMagicSlab(magicSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("magicSlab"); + magicStairs = (new BlockMagicStairs(magicStairsID, magicPlank)).setUnlocalizedName("magicStairs"); + + //Palm + palmPlank = (new BlockPalmPlank(palmPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmPlank"); + palmWood = (new BlockPalmLog(palmWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmWood"); + palmLeaves = (BlockPalmLeaves)(new BlockPalmLeaves(palmLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("palmLeaves"); + palmDoubleSlab = (BlockHalfSlab)(new BlockPalmSlab(palmDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmSlab"); + palmSingleSlab = (BlockHalfSlab)(new BlockPalmSlab(palmSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("palmSlab"); + palmStairs = (new BlockPalmStairs(palmStairsID, palmPlank)).setUnlocalizedName("palmStairs"); + + //Mangrove + mangrovePlank = (new BlockMangrovePlank(mangrovePlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangrovePlank"); + mangroveWood = (new BlockMangroveLog(mangroveWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangroveWood"); + mangroveLeaves = (BlockMangroveLeaves)(new BlockMangroveLeaves(mangroveLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("mangroveLeaves"); + mangroveDoubleSlab = (BlockHalfSlab)(new BlockMangroveSlab(mangroveDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangroveSlab"); + mangroveSingleSlab = (BlockHalfSlab)(new BlockMangroveSlab(mangroveSingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("mangroveSlab"); + mangroveStairs = (new BlockMangroveStairs(mangroveStairsID, mangrovePlank)).setUnlocalizedName("mangroveStairs"); + + //Holy + holyPlank = (new BlockHolyPlank(holyPlankID)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holyPlank"); + holyWood = (new BlockHolyLog(holyWoodID)).setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holyWood"); + holyLeaves = (BlockHolyLeaves)(new BlockHolyLeaves(holyLeavesID)).setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("holyLeaves"); + holyDoubleSlab = (BlockHalfSlab)(new BlockHolySlab(holyDoubleSlabID, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holySlab"); + holySingleSlab = (BlockHalfSlab)(new BlockHolySlab(holySingleSlabID, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("holySlab"); + holyStairs = (new BlockHolyStairs(holyStairsID, holyPlank)).setUnlocalizedName("holyStairs"); + + // Material declaration + EnumArmorMaterialMud = EnumHelper.addArmorMaterial("MUD", 2, new int[]{1, 1, 1, 1}, 5); + EnumToolMaterialMud = EnumHelper.addToolMaterial("MUD", 0, 32, 0.5F, 0, 1); + EnumArmorMaterialAmethyst = EnumHelper.addArmorMaterial("AMETHYST", 40, new int[]{6, 12, 10, 6}, 20); + EnumToolMaterialAmethyst = EnumHelper.addToolMaterial("AMETHYST", 4, 2013, 15.0F, 5, 16); + + // Item declaration + shroomPowder = (new ItemShroomPowder(shroomPowderID, 1, 0.5F, false)).setPotionEffect(Potion.confusion.id, 30, 0, 0.6F).setAlwaysEdible().setUnlocalizedName("shroomPowder").setCreativeTab(tabBiomesOPlenty); + mudBall = (new ItemBOP(mudBallID, 0)).setUnlocalizedName("mudBall").setCreativeTab(tabBiomesOPlenty); + mudBrick = (new ItemBOP(mudBrickID, 1)).setUnlocalizedName("mudBrick").setCreativeTab(tabBiomesOPlenty); + bambooItem = (new ItemBamboo(bambooItemID, bamboo)).setUnlocalizedName("bambooItem").setCreativeTab(tabBiomesOPlenty); + cattailItem = (new ItemCattail(cattailItemID, cattail)).setUnlocalizedName("cattailItem").setCreativeTab(tabBiomesOPlenty); + barleyItem = (new ItemBarley(barleyItemID, barley)).setUnlocalizedName("barleyItem").setCreativeTab(tabBiomesOPlenty); + shortGrassItem = (new ItemShortGrass(shortGrassItemID, shortGrass)).setUnlocalizedName("shortGrassItem").setCreativeTab(tabBiomesOPlenty); + mediumGrassItem = (new ItemMediumGrass(mediumGrassItemID, mediumGrass)).setUnlocalizedName("mediumGrassItem").setCreativeTab(tabBiomesOPlenty); + bushItem = (new ItemBush(bushItemID, bush)).setUnlocalizedName("bushItem").setCreativeTab(tabBiomesOPlenty); + sproutItem = (new ItemSprout(sproutItemID, sprout)).setUnlocalizedName("sproutItem").setCreativeTab(tabBiomesOPlenty); + mossItem = (new ItemBOP(mossItemID, 2)).setUnlocalizedName("mossItem").setCreativeTab(tabBiomesOPlenty); + ancientStaff = new ItemAncientStaff(ancientStaffID).setUnlocalizedName("ancientStaff").setCreativeTab(tabBiomesOPlenty); + enderporter = new ItemEnderporter(enderporterID).setUnlocalizedName("enderporter").setCreativeTab(tabBiomesOPlenty); + ashes = (new ItemBOP(ashesID, 3)).setUnlocalizedName("ashes").setCreativeTab(tabBiomesOPlenty); + amethyst = (new ItemBOP(amethystID, 4)).setUnlocalizedName("amethyst").setCreativeTab(tabBiomesOPlenty); + ancientStaffHandle = (new ItemBOP(ancientStaffHandleID, 5)).setUnlocalizedName("ancientStaffHandle").setCreativeTab(tabBiomesOPlenty); + ancientStaffPole = (new ItemBOP(ancientStaffPoleID, 6)).setUnlocalizedName("ancientStaffPole").setCreativeTab(tabBiomesOPlenty); + ancientStaffTopper = (new ItemBOP(ancientStaffTopperID, 7)).setUnlocalizedName("ancientStaffTopper").setCreativeTab(tabBiomesOPlenty); + bopDisc = (new ItemBOPRecord(bopDiscID, "bopdisc")).setUnlocalizedName("bopDisc").setCreativeTab(tabBiomesOPlenty); + bopDiscMud = (new ItemBOPRecordMud(bopDiscMudID, "bopdiscmud")).setUnlocalizedName("bopDiscMud").setCreativeTab(tabBiomesOPlenty); + + swordMud = (new ItemBOPSword(swordMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("swordMud").setCreativeTab(tabBiomesOPlenty); + shovelMud = (new ItemBOPSpade(shovelMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("shovelMud").setCreativeTab(tabBiomesOPlenty); + pickaxeMud = (new ItemBOPPickaxe(pickaxeMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("pickaxeMud").setCreativeTab(tabBiomesOPlenty); + axeMud = (new ItemBOPAxe(axeMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("hatchetMud").setCreativeTab(tabBiomesOPlenty); + hoeMud = (new ItemBOPHoe(hoeMudID, EnumToolMaterialMud, 0)).setUnlocalizedName("hoeMud").setCreativeTab(tabBiomesOPlenty); + helmetMud = (new ArmorMuddy(helmetMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 0)).setUnlocalizedName("helmetMud").setCreativeTab(tabBiomesOPlenty); + chestplateMud = (new ArmorMuddy(chestplateMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 1)).setUnlocalizedName("chestplateMud").setCreativeTab(tabBiomesOPlenty); + leggingsMud = (new ArmorMuddy(leggingsMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 2)).setUnlocalizedName("leggingsMud").setCreativeTab(tabBiomesOPlenty); + bootsMud = (new ArmorMuddy(bootsMudID, EnumArmorMaterialMud, proxy.addArmor("mud"), 3)).setUnlocalizedName("bootsMud").setCreativeTab(tabBiomesOPlenty); + + swordAmethyst = (new ItemBOPSword(swordAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("swordAmethyst").setCreativeTab(tabBiomesOPlenty); + shovelAmethyst = (new ItemBOPSpade(shovelAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("shovelAmethyst").setCreativeTab(tabBiomesOPlenty); + pickaxeAmethyst = (new ItemBOPPickaxe(pickaxeAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("pickaxeAmethyst").setCreativeTab(tabBiomesOPlenty); + axeAmethyst = (new ItemBOPAxe(axeAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("hatchetAmethyst").setCreativeTab(tabBiomesOPlenty); + hoeAmethyst = (new ItemBOPHoe(hoeAmethystID, EnumToolMaterialAmethyst, 1)).setUnlocalizedName("hoeAmethyst").setCreativeTab(tabBiomesOPlenty); + helmetAmethyst = (new ArmorAmethyst(helmetAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 0)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("helmetAmethyst"); + chestplateAmethyst = (new ArmorAmethyst(chestplateAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 1)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("chestplateAmethyst"); + leggingsAmethyst = (new ArmorAmethyst(leggingsAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 2)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("leggingsAmethyst"); + bootsAmethyst = (new ArmorAmethyst(bootsAmethystID, EnumArmorMaterialAmethyst, proxy.addArmor("amethyst"), 3)).setCreativeTab(tabBiomesOPlenty).setUnlocalizedName("bootsAmethyst"); + + //Block tool strength, 0 is Wood and Gold, 1 is Stone, 2 is Iron and 3 is Diamond + //Leaves can be obtained from using shears, however they arn't instantly broken by them (unsure how to do this) + + MinecraftForge.setBlockHarvestLevel(smolderingGrass, "shovel", 0); + MinecraftForge.setBlockHarvestLevel(mud, "shovel", 0); + MinecraftForge.setBlockHarvestLevel(ash, "shovel", 0); + MinecraftForge.setBlockHarvestLevel(originGrass, "shovel", 0); + MinecraftForge.setBlockHarvestLevel(hardSand, "shovel", 0); + MinecraftForge.setBlockHarvestLevel(holyGrass, "shovel", 0); + MinecraftForge.setBlockHarvestLevel(quicksand, "shovel", 0); + + MinecraftForge.setBlockHarvestLevel(driedDirt, "pickaxe", 0); + MinecraftForge.setBlockHarvestLevel(amethystOre, "pickaxe", 3); + MinecraftForge.setBlockHarvestLevel(amethystBlock, "pickaxe", 3); + + MinecraftForge.setToolClass(shovelAmethyst, "shovel", 3); + MinecraftForge.setToolClass(pickaxeAmethyst, "pickaxe", 3); + MinecraftForge.setToolClass(axeAmethyst, "axe", 3); + + // Achievement declaration + if (achievements == true) + { + achFlower2 = (new Achievement(3057, "achFlower2", 0, 0, Block.plantRed, (Achievement)null)).registerAchievement(); + achRedRock2 = (new Achievement(3058, "achRedRock2", -1, 2, redRock, achFlower2)).registerAchievement(); + achThorn2 = (new Achievement(3059, "achThorn2", 2, 1, thorn, achFlower2)).registerAchievement(); + achAsh2 = (new Achievement(3060, "achAsh2", 1, 3, ashes, achFlower2)).registerAchievement(); + achOrigin2 = (new Achievement(3061, "achOrigin2", 0, 5, originGrass, achFlower2)).setSpecial().registerAchievement(); + achPromised2 = (new Achievement(3062, "achPromised2", 0, -5, holyGrass, achFlower2)).setSpecial().registerAchievement(); + achMud2 = (new Achievement(3063, "achMud2", -2, -1, mudBall, achFlower2)).registerAchievement(); + achShroom2 = (new Achievement(3064, "achShroom2", 1, -2, toadstool, achFlower2)).registerAchievement(); + achBarley2 = (new Achievement(3065, "achBarley2", -2, 4, barleyItem, achFlower2)).registerAchievement(); + achMoss2 = (new Achievement(3066, "achMoss2", -1, -3, mossItem, achFlower2)).registerAchievement(); + + pageBOP = new AchievementPage("Biomes O\' Plenty", achFlower2, achRedRock2, achThorn2, achAsh2, achOrigin2, achPromised2, achMud2, achShroom2, achBarley2, achMoss2); + AchievementPage.registerAchievementPage(pageBOP); + } - pageBOP = new AchievementPage("Biomes O\' Plenty", achFlower2, achRedRock2, achThorn2, achAsh2, achOrigin2, achPromised2, achMud2, achShroom2, achBarley2, achMoss2); - AchievementPage.registerAchievementPage(pageBOP); - } - // Add block names LanguageRegistry.addName(mud, "Mud"); LanguageRegistry.addName(driedDirt, "Dried Dirt"); @@ -1241,7 +1284,7 @@ public class mod_BiomesOPlenty MinecraftForge.TERRAIN_GEN_BUS.register(new WorldTypeSize()); MinecraftForge.EVENT_BUS.register(new AchievementPickup()); MinecraftForge.EVENT_BUS.register(new BonemealUse()); - + proxy.registerRenderers(); diff --git a/src/minecraft/tdwp_ftw/biomesop/res/block.png b/src/minecraft/tdwp_ftw/biomesop/res/block.png deleted file mode 100644 index 28a6a3581d9b309f601798b45ccdd5be00f7be6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51508 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 diff --git a/src/minecraft/tdwp_ftw/biomesop/res/items.png b/src/minecraft/tdwp_ftw/biomesop/res/items.png deleted file mode 100644 index 424cb1a56a19779bf747689f3d9812729631d598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7576 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