diff --git a/src/main/java/biomesoplenty/common/init/ModBlocks.java b/src/main/java/biomesoplenty/common/init/ModBlocks.java index cf18d0fc5..6c1cbe731 100644 --- a/src/main/java/biomesoplenty/common/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/common/init/ModBlocks.java @@ -62,72 +62,53 @@ public class ModBlocks public static void init() { - ash_block = registerBlock( new BlockBOPAsh(), "ash_block" ); - bamboo = registerBlock( new BlockBOPBamboo(), "bamboo" ); - bone_segment = registerBlock( new BlockBOPBones(), "bone_segment" ); - coral = registerBlock( new BlockBOPCoral(), "coral" ); - seaweed = registerBlock( new BlockBOPSeaweed(), "seaweed" ); - gem_block = registerBlock( new BlockBOPGem(), "gem_block" ); - gem_ore = registerBlock( new BlockBOPGemOre(), "gem_ore" ); - hive = registerBlock( new BlockBOPHive(), "hive" ); - mushroom = registerBlock( new BlockBOPMushroom(), "mushroom" ); - stone = registerBlock( new BlockBOPStone(), "stone" ); - mud = registerBlock( new BlockBOPMud(), "mud" ); - sand = registerBlock( new BlockBOPSand(), "sand" ); - turnip_block = registerBlock( new BlockBOPTurnip(), "turnip_block", null ); // no creative tab - flesh = registerBlock( new BlockBOPFlesh(), "flesh" ); + //Terrain Blocks grass = registerBlock( new BlockBOPGrass(), "grass" ); - waterlily = registerBlock( new BlockBOPLilypad(), "waterlily" ); dirt = registerBlock( new BlockBOPDirt(), "dirt" ); - crystal = registerBlock( new BlockBOPCrystal(), "crystal" ); - biome_block = registerBlock( new BlockBOPBiomeBlock(), "biome_block" ); - // generics - bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.wood)).setStepSound(Block.soundTypeWood).setHardness(2.0F), "bamboo_thatching"); bamboo_thatching.setHarvestLevel("axe", 0); + BlockBOPFarmland.createAllPages(); + farmland_0 = registerBlock( BlockBOPFarmland.paging.getBlock(0), "farmland_0", null); + farmland_1 = registerBlock( BlockBOPFarmland.paging.getBlock(1), "farmland_1", null); + + stone = registerBlock( new BlockBOPStone(), "stone" ); crag_rock = registerBlock( (new BlockBOPGeneric()).setStepSound(Block.soundTypeStone), "crag_rock" ); dried_sand = registerBlock( (new BlockBOPGeneric()).addSupportedPlantType(EnumPlantType.Desert), "dried_sand"); dried_sand.setHarvestLevel("pickaxe",0); hard_ice = registerBlock( (new BlockBOPGeneric(Material.packedIce)).setHardness(0.75F), "hard_ice" ); - mud_brick_block = registerBlock( (new BlockBOPGeneric()).setResistance(2.0F), "mud_brick_block" ); + ash_block = registerBlock( new BlockBOPAsh(), "ash_block" ); + mud = registerBlock( new BlockBOPMud(), "mud" ); + sand = registerBlock( new BlockBOPSand(), "sand" ); + flesh = registerBlock( new BlockBOPFlesh(), "flesh" ); + //Building Blocks + crystal = registerBlock( new BlockBOPCrystal(), "crystal" ); + biome_block = registerBlock( new BlockBOPBiomeBlock(), "biome_block" ); + gem_ore = registerBlock( new BlockBOPGemOre(), "gem_ore" ); + gem_block = registerBlock( new BlockBOPGem(), "gem_block" ); + hive = registerBlock( new BlockBOPHive(), "hive" ); + honey_block = registerBlock( new BlockBOPHoney(), "honey_block" ); + bone_segment = registerBlock( new BlockBOPBones(), "bone_segment" ); + + //Material Blocks + bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.wood)).setStepSound(Block.soundTypeWood).setHardness(2.0F), "bamboo_thatching"); bamboo_thatching.setHarvestLevel("axe", 0); + mud_brick_block = registerBlock( (new BlockBOPGeneric()).setResistance(2.0F), "mud_brick_block" ); mud_brick_stairs = registerBlock( BOPReflectionHelper.construct(BlockStairs.class, (IBlockState)mud_brick_block.getDefaultState()), "mud_brick_stairs"); - // stone and brick slabs + //Stone Slabs // need to register items at the same time really so that they can be mapped to each other - bit messy this other_slab = registerBlock( new BlockBOPHalfOtherSlab(), "other_slab"); double_other_slab = registerBlock( new BlockBOPDoubleOtherSlab(), "double_other_slab", null ); // no creative tab for double slab BOPItems.other_slab = ModItems.registerItem( new ItemSlab(other_slab, (BlockSlab)other_slab, (BlockSlab)double_other_slab), "other_slab"); - - // 22 flower types 16 per BlockBOPFlower instance, needs 2 'pages' - BlockBOPFlower.createAllPages(); - flower_0 = registerBlock( BlockBOPFlower.paging.getBlock(0), "flower_0" ); - flower_1 = registerBlock( BlockBOPFlower.paging.getBlock(1), "flower_1" ); - + + // Logs // 16 wood types, 4 per BlockBOPLog instance, needs 4 'pages' BlockBOPLog.createAllPages(); log_0 = registerBlock( BlockBOPLog.paging.getBlock(0), "log_0" ); log_1 = registerBlock( BlockBOPLog.paging.getBlock(1), "log_1" ); log_2 = registerBlock( BlockBOPLog.paging.getBlock(2), "log_2" ); log_3 = registerBlock( BlockBOPLog.paging.getBlock(3), "log_3" ); - log_4 = registerBlock( BlockBOPLog.paging.getBlock(4), "log_4" ); - - // TODO: check if hellbark planks, fence etc can burn - - // 16 wood types, 8 per BlockBOPHalfWoodSlab and BlockBOPDoubleWoodSlab intance, needs 2 'pages' - // need to register items at the same time really so that they can be mapped to each other - bit messy this - BlockBOPDoubleWoodSlab.createAllPages(); - BlockBOPHalfWoodSlab.createAllPages(); - wood_slab_0 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(0), "wood_slab_0"); - double_wood_slab_0 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(0), "double_wood_slab_0", null ); // no creative tab for double slab - BOPItems.wood_slab_0 = ModItems.registerItem( new ItemSlab(wood_slab_0, (BlockSlab)wood_slab_0, (BlockSlab)double_wood_slab_0), "wood_slab_0"); - - wood_slab_1 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(1), "wood_slab_1"); - double_wood_slab_1 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(1), "double_wood_slab_1", null ); // no creative tab for double slab - BOPItems.wood_slab_1 = ModItems.registerItem( new ItemSlab(wood_slab_1, (BlockSlab)wood_slab_1, (BlockSlab)double_wood_slab_1), "wood_slab_1"); - - // 16 wood types, 16 per BlockBOPPlanks instance, needs 1 'pages' - BlockBOPPlanks.createAllPages(); - planks_0 = registerBlock( BlockBOPPlanks.paging.getBlock(0), "planks_0"); + log_4 = registerBlock( BlockBOPLog.paging.getBlock(4), "log_4" ); + //Leaves // 22 tree types, 4 per BlockBOPLeaves instance, needs 6 'pages' BlockBOPLeaves.createAllPages(); leaves_0 = registerBlock( BlockBOPLeaves.paging.getBlock(0), "leaves_0"); @@ -137,16 +118,10 @@ public class ModBlocks leaves_4 = registerBlock( BlockBOPLeaves.paging.getBlock(4), "leaves_4" ); leaves_5 = registerBlock( BlockBOPLeaves.paging.getBlock(5), "leaves_5" ); leaves_6 = registerBlock( BlockBOPLeaves.paging.getBlock(6), "leaves_6" ); - - BlockBOPFarmland.createAllPages(); - farmland_0 = registerBlock( BlockBOPFarmland.paging.getBlock(0), "farmland_0", null); - farmland_1 = registerBlock( BlockBOPFarmland.paging.getBlock(1), "farmland_1", null); - - // 22 tree types, 8 per BlockBOPSapling instance, needs 3 'pages' - BlockBOPSapling.createAllPages(); - sapling_0 = registerBlock( BlockBOPSapling.paging.getBlock(0), "sapling_0"); - sapling_1 = registerBlock( BlockBOPSapling.paging.getBlock(1), "sapling_1"); - sapling_2 = registerBlock( BlockBOPSapling.paging.getBlock(2), "sapling_2"); + + // 16 wood types, 16 per BlockBOPPlanks instance, needs 1 'pages' + BlockBOPPlanks.createAllPages(); + planks_0 = registerBlock( BlockBOPPlanks.paging.getBlock(0), "planks_0"); // stairs have no variant metadata, use a new BlockBOPStairs instance for each (note there's no giant_flower_stairs or dead_stairs) sacred_oak_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.SACRED_OAK), "sacred_oak_stairs" ); @@ -166,6 +141,18 @@ public class ModBlocks ebony_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.EBONY), "ebony_stairs" ); eucalyptus_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.EUCALYPTUS), "eucalyptus_stairs" ); + // 16 wood types, 8 per BlockBOPHalfWoodSlab and BlockBOPDoubleWoodSlab intance, needs 2 'pages' + // need to register items at the same time really so that they can be mapped to each other - bit messy this + BlockBOPDoubleWoodSlab.createAllPages(); + BlockBOPHalfWoodSlab.createAllPages(); + wood_slab_0 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(0), "wood_slab_0"); + double_wood_slab_0 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(0), "double_wood_slab_0", null ); // no creative tab for double slab + BOPItems.wood_slab_0 = ModItems.registerItem( new ItemSlab(wood_slab_0, (BlockSlab)wood_slab_0, (BlockSlab)double_wood_slab_0), "wood_slab_0"); + + wood_slab_1 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(1), "wood_slab_1"); + double_wood_slab_1 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(1), "double_wood_slab_1", null ); // no creative tab for double slab + BOPItems.wood_slab_1 = ModItems.registerItem( new ItemSlab(wood_slab_1, (BlockSlab)wood_slab_1, (BlockSlab)double_wood_slab_1), "wood_slab_1"); + // fences have no variant metadata, use a new BlockBOPFence instance for each (note there's no giant_flower_fence or dead_fence) sacred_oak_fence = registerBlock( new BlockBOPFence(BOPWoods.SACRED_OAK), "sacred_oak_fence" ); cherry_fence = registerBlock( new BlockBOPFence(BOPWoods.CHERRY), "cherry_fence" ); @@ -220,19 +207,39 @@ public class ModBlocks ebony_door = registerDoor( new BlockBOPDoor(BOPWoods.EBONY), "ebony_door", BOPItems.ebony_door ); eucalyptus_door = registerDoor( new BlockBOPDoor(BOPWoods.EUCALYPTUS), "eucalyptus_door", BOPItems.eucalyptus_door ); - //vines - // TODO: special placement rules? - flower_vine = registerBlock( new BlockBOPVine(false), "flower_vine" ); - ivy = registerBlock( new BlockBOPVine(true), "ivy" ); - moss = registerBlock( new BlockBOPVine(true), "moss" ); - tree_moss = registerBlock( new BlockBOPVine(false), "tree_moss" ); + // Plants + coral = registerBlock( new BlockBOPCoral(), "coral" ); + seaweed = registerBlock( new BlockBOPSeaweed(), "seaweed" ); + waterlily = registerBlock( new BlockBOPLilypad(), "waterlily" ); + moss = registerBlock( new BlockBOPVine(true), "moss" ); + bamboo = registerBlock( new BlockBOPBamboo(), "bamboo" ); + turnip_block = registerBlock( new BlockBOPTurnip(), "turnip_block", null ); // no creative tab + + // 22 tree types, 8 per BlockBOPSapling instance, needs 3 'pages' + BlockBOPSapling.createAllPages(); + sapling_0 = registerBlock( BlockBOPSapling.paging.getBlock(0), "sapling_0"); + sapling_1 = registerBlock( BlockBOPSapling.paging.getBlock(1), "sapling_1"); + sapling_2 = registerBlock( BlockBOPSapling.paging.getBlock(2), "sapling_2"); + + //Plants BlockBOPPlant.createAllPages(); plant_0 = registerBlock( BlockBOPPlant.paging.getBlock(0), "plant_0" ); plant_1 = registerBlock( BlockBOPPlant.paging.getBlock(1), "plant_1" ); double_plant = registerBlock( new BlockBOPDoublePlant(), "double_plant" ); + mushroom = registerBlock( new BlockBOPMushroom(), "mushroom" ); + + // 22 flower types 16 per BlockBOPFlower instance, needs 2 'pages' + BlockBOPFlower.createAllPages(); + flower_0 = registerBlock( BlockBOPFlower.paging.getBlock(0), "flower_0" ); + flower_1 = registerBlock( BlockBOPFlower.paging.getBlock(1), "flower_1" ); + + //vines + // TODO: special placement rules? + flower_vine = registerBlock( new BlockBOPVine(false), "flower_vine" ); + ivy = registerBlock( new BlockBOPVine(true), "ivy" ); + tree_moss = registerBlock( new BlockBOPVine(false), "tree_moss" ); - honey_block = registerBlock( new BlockBOPHoney(), "honey_block" ); terrarium = registerBlock( new BlockBOPTerrarium(), "terrarium" ); diff --git a/src/main/java/biomesoplenty/common/init/ModItems.java b/src/main/java/biomesoplenty/common/init/ModItems.java index bf84af039..14db00351 100644 --- a/src/main/java/biomesoplenty/common/init/ModItems.java +++ b/src/main/java/biomesoplenty/common/init/ModItems.java @@ -45,16 +45,12 @@ public class ModItems public static void registerItems() { // food - ambrosia = registerItem(new ItemAmbrosia(), "ambrosia"); - berries = registerItem(new ItemBOPFood(1, 0.1F, 8), "berries"); - shroompowder = registerItem(new ItemFood(1, 0.1F, false), "shroompowder"); - ((ItemFood)shroompowder).setAlwaysEdible(); - ((ItemFood)shroompowder).setPotionEffect(Potion.confusion.id, 225, 0, 0.6F); - peach = registerItem(new ItemFood(5, 0.2F, false), "peach"); + berries = registerItem(new ItemBOPFood(1, 0.1F, 8), "berries"); + pear = registerItem(new ItemFood(5, 0.3F, false), "pear"); + peach = registerItem(new ItemFood(5, 0.2F, false), "peach"); persimmon = registerItem(new ItemFood(5, 0.2F, false), "persimmon"); - filled_honeycomb = registerItem(new ItemBOPFood(3, 0.4F, 16), "filled_honeycomb"); + turnip_seeds = registerItem(new ItemSeeds(BOPBlocks.turnip_block, Blocks.farmland), "turnip_seeds"); turnip = registerItem(new ItemFood(3, 0.4F, false), "turnip"); - pear = registerItem(new ItemFood(5, 0.3F, false), "pear"); saladfruit = registerItem(new ItemSoup(6), "saladfruit"); ((ItemFood)saladfruit).setPotionEffect(Potion.digSpeed.id, 775, 1, 0.05F); saladveggie = registerItem(new ItemSoup(6), "saladveggie"); @@ -62,35 +58,36 @@ public class ModItems saladshroom = registerItem(new ItemSoup(6), "saladshroom"); ((ItemFood)saladshroom).setPotionEffect(Potion.jump.id, 550, 1, 0.05F); ricebowl = registerItem(new ItemSoup(2), "ricebowl"); + honeycomb = registerItem(new Item(), "honeycomb"); + filled_honeycomb = registerItem(new ItemBOPFood(3, 0.4F, 16), "filled_honeycomb"); + pinecone = registerItem(new Item(), "pinecone"); + shroompowder = registerItem(new ItemFood(1, 0.1F, false), "shroompowder"); + ((ItemFood)shroompowder).setAlwaysEdible(); + ((ItemFood)shroompowder).setPotionEffect(Potion.confusion.id, 225, 0, 0.6F); + ambrosia = registerItem(new ItemAmbrosia(), "ambrosia"); earth = registerItem(new Item(), "earth"); earth.setCreativeTab(null); - fleshchunk = registerItem(new Item(), "fleshchunk"); + flax_string = registerItem(new Item(), "flax_string"); mudball = registerItem(new ItemMudball(), "mudball"); - turnip_seeds = registerItem(new ItemSeeds(BOPBlocks.turnip_block, Blocks.farmland), "turnip_seeds"); - crystal_shard = registerItem(new Item(), "crystal_shard"); + mud_brick = registerItem(new Item(), "mud_brick"); + ash = registerItem(new Item(), "ash"); + fleshchunk = registerItem(new Item(), "fleshchunk"); + gem = registerItem(new ItemGem(), "gem"); terrestrial_artifact = registerItem(new Item(), "terrestrial_artifact"); terrestrial_artifact.setMaxStackSize(1); - flax_string = registerItem(new Item(), "flax_string"); - honeycomb = registerItem(new Item(), "honeycomb"); - gem = registerItem(new ItemGem(), "gem"); - ash = registerItem(new Item(), "ash"); - mud_brick = registerItem(new Item(), "mud_brick"); + crystal_shard = registerItem(new Item(), "crystal_shard"); + biome_essence = registerItem(new ItemBiomeEssence(), "biome_essence"); + pixie_dust = registerItem(new Item(), "pixie_dust"); + ichor = registerItem(new Item(), "ichor"); + soul = registerItem(new Item(), "soul"); + soul.setMaxStackSize(1); // TODO: move dyes to their own class? blue_dye = registerItem(new Item(), "blue_dye"); brown_dye = registerItem(new Item(), "brown_dye"); green_dye = registerItem(new Item(), "green_dye"); white_dye = registerItem(new Item(), "white_dye"); black_dye = registerItem(new Item(), "black_dye"); - soul = registerItem(new Item(), "soul"); - soul.setMaxStackSize(1); - pixie_dust = registerItem(new Item(), "pixie_dust"); - ichor = registerItem(new Item(), "ichor"); - pinecone = registerItem(new Item(), "pinecone"); - - - dart = registerItem(new ItemDart(), "dart"); - dart_blower = registerItem(new ItemDartBlower(), "dart_blower"); // armor @@ -130,8 +127,6 @@ public class ModItems amethyst_chestplate = registerItem(new ItemArmor(amethyst_armor_material, 0, 1), "amethyst_chestplate"); amethyst_leggings = registerItem(new ItemArmor(amethyst_armor_material, 0, 2), "amethyst_leggings"); amethyst_boots = registerItem(new ItemArmor(amethyst_armor_material, 0, 3), "amethyst_boots"); - - // tools @@ -162,7 +157,6 @@ public class ModItems amethyst_shovel = registerItem(new ItemSpade(amethyst_tool_material), "amethyst_shovel"); amethyst_sword = registerItem(new ItemSword(amethyst_tool_material), "amethyst_sword"); - mud_scythe = registerItem(new ItemBOPScythe(mud_tool_material), "mud_scythe"); wood_scythe = registerItem(new ItemBOPScythe(ToolMaterial.WOOD), "wood_scythe"); stone_scythe = registerItem(new ItemBOPScythe(ToolMaterial.STONE), "stone_scythe"); @@ -170,14 +164,15 @@ public class ModItems gold_scythe = registerItem(new ItemBOPScythe(ToolMaterial.GOLD), "gold_scythe"); diamond_scythe = registerItem(new ItemBOPScythe(ToolMaterial.EMERALD), "diamond_scythe"); amethyst_scythe = registerItem(new ItemBOPScythe(amethyst_tool_material), "amethyst_scythe"); - - biome_finder = registerItem(new ItemBiomeFinder(), "biome_finder"); - biome_essence = registerItem(new ItemBiomeEssence(), "biome_essence"); - enderporter = registerItem(new ItemEnderporter(), "enderporter"); - flower_basket = registerItem(new ItemFlowerBasket(), "flower_basket"); + dart = registerItem(new ItemDart(), "dart"); + dart_blower = registerItem(new ItemDartBlower(), "dart_blower"); + jar_empty = registerItem(new ItemJarEmpty(), "jar_empty"); jar_filled = registerItem(new ItemJarFilled(), "jar_filled"); + flower_basket = registerItem(new ItemFlowerBasket(), "flower_basket"); + biome_finder = registerItem(new ItemBiomeFinder(), "biome_finder"); + enderporter = registerItem(new ItemEnderporter(), "enderporter"); record_wanderer = registerItem(new ItemBOPRecord("wanderer"), "record_wanderer"); record_corruption = registerItem(new ItemBOPRecord("corruption"), "record_corruption");