From d38944800db092ee588cfb359fd05384bd1fbbc2 Mon Sep 17 00:00:00 2001 From: Matt Caughey Date: Wed, 13 Nov 2013 04:27:47 -0500 Subject: [PATCH] Moved gem items to a new class/ID, added honeycomb items/crafting --- common/biomesoplenty/api/Items.java | 1 + .../blocks/BlockBOPAmethyst.java | 16 ++-- common/biomesoplenty/blocks/BlockHive.java | 15 +++- .../configuration/BOPAchievements.java | 2 +- .../configuration/BOPCrafting.java | 78 ++++++++++-------- .../biomesoplenty/configuration/BOPItems.java | 2 + .../configuration/BOPVanillaCompat.java | 24 +----- .../configfile/BOPConfigurationIDs.java | 2 + .../biomesoplenty/entities/EntityPhantom.java | 2 +- .../handlers/BOPPickupHandler.java | 2 +- common/biomesoplenty/items/ItemBOP.java | 2 +- common/biomesoplenty/items/ItemGems.java | 67 +++++++++++++++ .../assets/biomesoplenty/lang/en_US.lang | 19 +++-- .../textures/blocks/altarframe.png | Bin 590 -> 0 bytes .../textures/blocks/altarframetop.png | Bin 520 -> 0 bytes .../textures/blocks/celestiallens.png | Bin 477 -> 0 bytes .../textures/blocks/framemalachite.png | Bin 197 -> 0 bytes .../textures/blocks/frameperidot.png | Bin 264 -> 0 bytes .../textures/blocks/frameruby.png | Bin 263 -> 0 bytes .../textures/blocks/framesapphire.png | Bin 267 -> 0 bytes .../textures/blocks/frametanzanite.png | Bin 197 -> 0 bytes .../textures/blocks/frametopaz.png | Bin 261 -> 0 bytes .../textures/blocks/log_dead_heart.png | Bin 1195 -> 873 bytes .../blocks/sacrificialfocus_active.png | Bin 3433 -> 0 bytes .../blocks/sacrificialfocus_active.png.mcmeta | 24 ------ .../blocks/sacrificialfocus_empty.png | Bin 1661 -> 0 bytes .../blocks/sacrificialfocus_villager.png | Bin 2904 -> 0 bytes .../sacrificialfocus_villager.png.mcmeta | 24 ------ .../textures/items/emptyhoneycomb.png | Bin 0 -> 505 bytes .../textures/items/filledhoneycomb.png | Bin 443 -> 527 bytes 30 files changed, 152 insertions(+), 128 deletions(-) create mode 100644 common/biomesoplenty/items/ItemGems.java delete mode 100644 resources/assets/biomesoplenty/textures/blocks/altarframe.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/altarframetop.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/celestiallens.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/framemalachite.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/frameperidot.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/frameruby.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/framesapphire.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/frametanzanite.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/frametopaz.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/sacrificialfocus_active.png delete mode 100755 resources/assets/biomesoplenty/textures/blocks/sacrificialfocus_active.png.mcmeta delete mode 100644 resources/assets/biomesoplenty/textures/blocks/sacrificialfocus_empty.png delete mode 100644 resources/assets/biomesoplenty/textures/blocks/sacrificialfocus_villager.png delete mode 100755 resources/assets/biomesoplenty/textures/blocks/sacrificialfocus_villager.png.mcmeta create mode 100644 resources/assets/biomesoplenty/textures/items/emptyhoneycomb.png diff --git a/common/biomesoplenty/api/Items.java b/common/biomesoplenty/api/Items.java index f93add215..157012eb8 100644 --- a/common/biomesoplenty/api/Items.java +++ b/common/biomesoplenty/api/Items.java @@ -45,6 +45,7 @@ public class Items public static Optional poison = Optional.absent(); public static Optional dartBlower = Optional.absent(); public static Optional dart = Optional.absent(); + public static Optional gems = Optional.absent(); public static Optional flowerBand = Optional.absent(); public static Optional wadingBoots = Optional.absent(); diff --git a/common/biomesoplenty/blocks/BlockBOPAmethyst.java b/common/biomesoplenty/blocks/BlockBOPAmethyst.java index 19c7676bb..49143efc0 100644 --- a/common/biomesoplenty/blocks/BlockBOPAmethyst.java +++ b/common/biomesoplenty/blocks/BlockBOPAmethyst.java @@ -79,7 +79,7 @@ public class BlockBOPAmethyst extends Block @Override public int idDropped(int meta, Random par2Random, int par3) { - return (meta % 2 == 0) ? Items.miscItems.get().itemID : this.blockID; + return (meta % 2 == 0) ? Items.gems.get().itemID : this.blockID; } @Override @@ -87,7 +87,7 @@ public class BlockBOPAmethyst extends Block { if (meta == 0) { - return 2; + return 0; } if (meta == 1) { @@ -95,7 +95,7 @@ public class BlockBOPAmethyst extends Block } if (meta == 2) { - return 10; + return 1; } if (meta == 3) { @@ -103,7 +103,7 @@ public class BlockBOPAmethyst extends Block } if (meta == 4) { - return 11; + return 2; } if (meta == 5) { @@ -111,7 +111,7 @@ public class BlockBOPAmethyst extends Block } if (meta == 6) { - return 12; + return 3; } if (meta == 7) { @@ -119,7 +119,7 @@ public class BlockBOPAmethyst extends Block } if (meta == 8) { - return 13; + return 4; } if (meta == 9) { @@ -127,7 +127,7 @@ public class BlockBOPAmethyst extends Block } if (meta == 10) { - return 14; + return 5; } if (meta == 11) { @@ -135,7 +135,7 @@ public class BlockBOPAmethyst extends Block } if (meta == 12) { - return 15; + return 6; } if (meta == 13) { diff --git a/common/biomesoplenty/blocks/BlockHive.java b/common/biomesoplenty/blocks/BlockHive.java index aa28ae593..1ed7fc629 100644 --- a/common/biomesoplenty/blocks/BlockHive.java +++ b/common/biomesoplenty/blocks/BlockHive.java @@ -65,6 +65,11 @@ public class BlockHive extends Block @Override public int idDropped(int meta, Random par2Random, int par3) { + if (meta == 0) + { + return Items.miscItems.get().itemID; + } + if (meta == 3) { return Items.food.get().itemID; @@ -76,6 +81,10 @@ public class BlockHive extends Block @Override public int damageDropped(int meta) { + if (meta == 0) + { + return 2; + } if (meta == 2) { return 0; @@ -91,13 +100,17 @@ public class BlockHive extends Block @Override public int quantityDropped(int meta, int fortune, Random random) { + if (meta == 0) + { + return (random.nextInt(3) + 1); + } if (meta == 2) { return 0; } if (meta == 3) { - return random.nextInt(3); + return random.nextInt(2); } return 1; diff --git a/common/biomesoplenty/configuration/BOPAchievements.java b/common/biomesoplenty/configuration/BOPAchievements.java index f36e4451e..e771320a5 100644 --- a/common/biomesoplenty/configuration/BOPAchievements.java +++ b/common/biomesoplenty/configuration/BOPAchievements.java @@ -59,7 +59,7 @@ public class BOPAchievements achThorn = (new Achievement(3087, "bop.achThorn", -5, -1, new ItemStack(Blocks.plants.get(), 1, 5), achMoss)).registerAchievement(); achCoral = (new Achievement(3088, "bop.achCoral", -3, -2, new ItemStack(Blocks.coral.get(), 1, 4), achThorn)).registerAchievement(); - achHoney = (new Achievement(3089, "bop.achHoney", -1, 2, new ItemStack(Blocks.honeyBlock.get(), 1, 0), achFlower)).registerAchievement(); + achHoney = (new Achievement(3089, "bop.achHoney", -1, 2, new ItemStack(Items.food.get(), 1, 9), achFlower)).registerAchievement(); achWitherWart = (new Achievement(3090, "bop.achWitherWart", 1, 3, new ItemStack(Blocks.plants.get(), 1, 13), achHoney)).registerAchievement(); achGrave = (new Achievement(3091, "bop.achGrave", -2, 4, new ItemStack(Blocks.grave.get(), 1, 0), achWitherWart)).registerAchievement(); achPhantom = (new Achievement(3092, "bop.achPhantom", 0, 6, new ItemStack(Items.miscItems.get(), 1, 16), achGrave)).registerAchievement().setSpecial(); diff --git a/common/biomesoplenty/configuration/BOPCrafting.java b/common/biomesoplenty/configuration/BOPCrafting.java index 0e5b26db6..390cc7293 100644 --- a/common/biomesoplenty/configuration/BOPCrafting.java +++ b/common/biomesoplenty/configuration/BOPCrafting.java @@ -165,13 +165,13 @@ public class BOPCrafting GameRegistry.addRecipe(new ItemStack(Block.cloth, 1, 0), new Object[] {"CCC", "CCC", "CCC", 'C', new ItemStack(Blocks.plants.get(), 1, 7)}); GameRegistry.addRecipe(new ItemStack(Item.coal, 1), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 1)}); GameRegistry.addRecipe(new ItemStack(Blocks.mud.get(), 1), new Object[] {"MM", "MM", 'M', Items.mudball.get()}); - GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 1), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 2)}); - GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 3), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 10)}); - GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 5), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 11)}); - GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 7), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 12)}); - GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 9), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 13)}); - GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 11), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 14)}); - GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 13), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.miscItems.get(), 1, 15)}); + GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 1), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.gems.get(), 1, 0)}); + GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 3), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.gems.get(), 1, 1)}); + GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 5), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.gems.get(), 1, 2)}); + GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 7), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.gems.get(), 1, 3)}); + GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 9), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.gems.get(), 1, 4)}); + GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 11), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.gems.get(), 1, 5)}); + GameRegistry.addRecipe(new ItemStack(Blocks.amethystOre.get(), 1, 13), new Object[] {"AAA", "AAA", "AAA", 'A', new ItemStack(Items.gems.get(), 1, 6)}); GameRegistry.addRecipe(new ItemStack(Blocks.ash.get(), 1), new Object[] {"AA", "AA", 'A', new ItemStack(Items.miscItems.get(), 1, 1)}); GameRegistry.addRecipe(new ItemStack(Blocks.mudBrick.get(), 1), new Object[] {"MM", "MM", 'M', new ItemStack(Items.miscItems.get(), 1, 0)}); GameRegistry.addRecipe(new ItemStack(Blocks.crystal.get(), 1), new Object[] {"CC", "CC", 'C', new ItemStack(Items.miscItems.get(), 1, 4)}); @@ -214,18 +214,18 @@ public class BOPCrafting //Amethyst Tools and Armor if (BOPConfigurationMisc.amethystTools) { - GameRegistry.addRecipe(new ItemStack(Items.pickaxeAmethyst.get(), 1), new Object [] {"###", " X ", " X ", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2), Character.valueOf('X'), Item.ingotIron}); - GameRegistry.addRecipe(new ItemStack(Items.shovelAmethyst.get(), 1), new Object [] {"#", "X", "X", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2), Character.valueOf('X'), Item.ingotIron}); - GameRegistry.addRecipe(new ItemStack(Items.swordAmethyst.get(), 1), new Object [] {"#", "#", "X", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2), Character.valueOf('X'), Item.ingotIron}); - GameRegistry.addRecipe(new ItemStack(Items.axeAmethyst.get(), 1), new Object [] {"##", "#X", " X", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2), Character.valueOf('X'), Item.ingotIron}); - GameRegistry.addRecipe(new ItemStack(Items.hoeAmethyst.get(), 1), new Object [] {"##", " X", " X", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2), Character.valueOf('X'), Item.ingotIron}); - GameRegistry.addRecipe(new ItemStack(Items.helmetAmethyst.get(), 1), new Object [] {"###", "# #", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2)}); - GameRegistry.addRecipe(new ItemStack(Items.chestplateAmethyst.get(), 1), new Object [] {"# #", "###", "###", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2)}); - GameRegistry.addRecipe(new ItemStack(Items.leggingsAmethyst.get(), 1), new Object [] {"###", "# #", "# #", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2)}); - GameRegistry.addRecipe(new ItemStack(Items.bootsAmethyst.get(), 1), new Object [] {"# #", "# #", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2)}); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.scytheAmethyst.get(), 1), new Object [] {" MM", "M S", " S", Character.valueOf('M'), new ItemStack(Items.miscItems.get(), 1, 2), Character.valueOf('S'), Item.ingotIron})); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.scytheAmethyst.get(), 1), new Object [] {"MM ", "S M", "S ", Character.valueOf('M'), new ItemStack(Items.miscItems.get(), 1, 2), Character.valueOf('S'), Item.ingotIron})); - GameRegistry.addRecipe(new ItemStack(Fluids.bopBucket.get(), 1, 0), new Object[] {"XXX", "AXA", "XAX", 'A', new ItemStack(Items.miscItems.get(), 1, 2)}); + GameRegistry.addRecipe(new ItemStack(Items.pickaxeAmethyst.get(), 1), new Object [] {"###", " X ", " X ", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0), Character.valueOf('X'), Item.ingotIron}); + GameRegistry.addRecipe(new ItemStack(Items.shovelAmethyst.get(), 1), new Object [] {"#", "X", "X", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0), Character.valueOf('X'), Item.ingotIron}); + GameRegistry.addRecipe(new ItemStack(Items.swordAmethyst.get(), 1), new Object [] {"#", "#", "X", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0), Character.valueOf('X'), Item.ingotIron}); + GameRegistry.addRecipe(new ItemStack(Items.axeAmethyst.get(), 1), new Object [] {"##", "#X", " X", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0), Character.valueOf('X'), Item.ingotIron}); + GameRegistry.addRecipe(new ItemStack(Items.hoeAmethyst.get(), 1), new Object [] {"##", " X", " X", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0), Character.valueOf('X'), Item.ingotIron}); + GameRegistry.addRecipe(new ItemStack(Items.helmetAmethyst.get(), 1), new Object [] {"###", "# #", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0)}); + GameRegistry.addRecipe(new ItemStack(Items.chestplateAmethyst.get(), 1), new Object [] {"# #", "###", "###", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0)}); + GameRegistry.addRecipe(new ItemStack(Items.leggingsAmethyst.get(), 1), new Object [] {"###", "# #", "# #", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0)}); + GameRegistry.addRecipe(new ItemStack(Items.bootsAmethyst.get(), 1), new Object [] {"# #", "# #", Character.valueOf('#'), new ItemStack(Items.gems.get(), 1, 0)}); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.scytheAmethyst.get(), 1), new Object [] {" MM", "M S", " S", Character.valueOf('M'), new ItemStack(Items.gems.get(), 1, 0), Character.valueOf('S'), Item.ingotIron})); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.scytheAmethyst.get(), 1), new Object [] {"MM ", "S M", "S ", Character.valueOf('M'), new ItemStack(Items.gems.get(), 1, 0), Character.valueOf('S'), Item.ingotIron})); + GameRegistry.addRecipe(new ItemStack(Fluids.bopBucket.get(), 1, 0), new Object[] {"XXX", "AXA", "XAX", 'A', new ItemStack(Items.gems.get(), 1, 0)}); } //Flower Bands @@ -243,15 +243,15 @@ public class BOPCrafting if (BOPConfigurationMisc.staffCrafting) { GameRegistry.addRecipe(new ItemStack(Items.ancientStaff.get(), 1, 0), new Object[] {"T", "P", "H", 'T', new ItemStack(Items.ancientStaff.get(), 1, 3), 'P', new ItemStack(Items.ancientStaff.get(), 1, 2), 'H', new ItemStack(Items.ancientStaff.get(), 1, 1)}); - GameRegistry.addRecipe(new ItemStack(Items.ancientStaff.get(), 1, 1), new Object[] {"ESE", "ETE", " E ", 'E', Block.whiteStone, 'T', new ItemStack(Items.miscItems.get(), 1, 13), 'S', new ItemStack(Items.miscItems.get(), 1, 15)}); - GameRegistry.addRecipe(new ItemStack(Items.ancientStaff.get(), 1, 2), new Object[] {"EPE", "EEE", "EAE", 'E', Block.whiteStone, 'P', new ItemStack(Items.miscItems.get(), 1, 11), 'A', new ItemStack(Items.miscItems.get(), 1, 14)}); - GameRegistry.addRecipe(new ItemStack(Items.ancientStaff.get(), 1, 3), new Object[] {" N ", "ERE", "ETE", 'E', Block.whiteStone, 'R', new ItemStack(Items.miscItems.get(), 1, 10), 'T', new ItemStack(Items.miscItems.get(), 1, 12), 'N', Item.netherStar}); + GameRegistry.addRecipe(new ItemStack(Items.ancientStaff.get(), 1, 1), new Object[] {"ESE", "ETE", " E ", 'E', Block.whiteStone, 'T', new ItemStack(Items.gems.get(), 1, 4), 'S', new ItemStack(Items.gems.get(), 1, 6)}); + GameRegistry.addRecipe(new ItemStack(Items.ancientStaff.get(), 1, 2), new Object[] {"EPE", "EEE", "EAE", 'E', Block.whiteStone, 'P', new ItemStack(Items.gems.get(), 1, 2), 'A', new ItemStack(Items.gems.get(), 1, 5)}); + GameRegistry.addRecipe(new ItemStack(Items.ancientStaff.get(), 1, 3), new Object[] {" N ", "ERE", "ETE", 'E', Block.whiteStone, 'R', new ItemStack(Items.gems.get(), 1, 1), 'T', new ItemStack(Items.gems.get(), 1, 3), 'N', Item.netherStar}); GameRegistry.addShapelessRecipe(new ItemStack(Items.ancientStaff.get(), 1, 0), new ItemStack(Items.ancientStaff.get(), 1, 4), new ItemStack(Item.netherStar, 1)); } if (BOPConfigurationMisc.enderporterCrafting) { - GameRegistry.addRecipe(new ItemStack(Items.enderporter.get(), 1, 0), new Object[] {"IOI", "OAO", "IOI", 'I', Item.eyeOfEnder, 'O', new ItemStack(Items.miscItems.get(), 1, 16), 'A', new ItemStack(Blocks.amethystOre.get(), 1, 1)}); + GameRegistry.addRecipe(new ItemStack(Items.enderporter.get(), 1, 0), new Object[] {"IOI", "OAO", "IOI", 'I', Item.eyeOfEnder, 'O', new ItemStack(Items.miscItems.get(), 1, 10), 'A', new ItemStack(Items.gems.get(), 1, 0)}); } //Dart Blower @@ -268,19 +268,23 @@ public class BOPCrafting GameRegistry.addRecipe(new ItemStack(Blocks.bamboo.get(), 8), new Object [] {" #", "# ", Character.valueOf('#'), new ItemStack(Blocks.planks.get(), 1, 10)}); GameRegistry.addRecipe(new ItemStack(Blocks.bamboo.get(), 8), new Object [] {"# ", " #", Character.valueOf('#'), new ItemStack(Blocks.planks.get(), 1, 10)}); - GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 9, 2), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 1)}); - GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 9, 10), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 3)}); - GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 9, 11), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 5)}); - GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 9, 12), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 7)}); - GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 9, 13), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 9)}); - GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 9, 14), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 11)}); - GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 9, 15), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 13)}); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gems.get(), 9, 0), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 1)}); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gems.get(), 9, 1), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 3)}); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gems.get(), 9, 2), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 5)}); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gems.get(), 9, 3), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 7)}); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gems.get(), 9, 4), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 9)}); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gems.get(), 9, 5), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 11)}); + GameRegistry.addShapelessRecipe(new ItemStack(Items.gems.get(), 9, 6), new Object[] {new ItemStack(Blocks.amethystOre.get(), 1, 13)}); //Bone Segments > Bonemeal GameRegistry.addShapelessRecipe(new ItemStack(Item.dyePowder, 3, 15), new Object[] {new ItemStack(Blocks.bones.get(), 1, 0)}); GameRegistry.addShapelessRecipe(new ItemStack(Item.dyePowder, 6, 15), new Object[] {new ItemStack(Blocks.bones.get(), 1, 1)}); GameRegistry.addShapelessRecipe(new ItemStack(Item.dyePowder, 12, 15), new Object[] {new ItemStack(Blocks.bones.get(), 1, 2)}); - + + //Honeycombs + GameRegistry.addRecipe(new ItemStack(Blocks.hive.get(), 1, 0), new Object [] {"##", "##", Character.valueOf('#'), new ItemStack(Items.miscItems.get(), 1, 2)}); + GameRegistry.addRecipe(new ItemStack(Blocks.hive.get(), 1, 3), new Object [] {"##", "##", Character.valueOf('#'), new ItemStack(Items.food.get(), 1, 9)}); + //Plants GameRegistry.addShapelessRecipe(new ItemStack(Items.food.get(), 2, 1), new Object[] {new ItemStack(Blocks.mushrooms.get(),1,0)}); GameRegistry.addShapelessRecipe(new ItemStack(Items.miscItems.get(), 1, 3), new Object[] {new ItemStack(Blocks.foliage.get(),1,7)}); @@ -321,16 +325,18 @@ public class BOPCrafting OreDictionary.registerOre("dyeWhite", new ItemStack(Items.miscItems.get(), 1, 8)); OreDictionary.registerOre("dyeBlack", new ItemStack(Items.miscItems.get(), 1, 9)); - OreDictionary.registerOre("gemRuby", new ItemStack(Items.miscItems.get(), 1, 10)); - OreDictionary.registerOre("gemPeridot", new ItemStack(Items.miscItems.get(), 1, 11)); - OreDictionary.registerOre("gemTopaz", new ItemStack(Items.miscItems.get(), 1, 12)); - OreDictionary.registerOre("gemTanzanite", new ItemStack(Items.miscItems.get(), 1, 13)); - OreDictionary.registerOre("gemSapphire", new ItemStack(Items.miscItems.get(), 1, 15)); + OreDictionary.registerOre("gemRuby", new ItemStack(Items.gems.get(), 1, 1)); + OreDictionary.registerOre("gemPeridot", new ItemStack(Items.gems.get(), 1, 2)); + OreDictionary.registerOre("gemTopaz", new ItemStack(Items.gems.get(), 1, 3)); + OreDictionary.registerOre("gemTanzanite", new ItemStack(Items.gems.get(), 1, 4)); + OreDictionary.registerOre("gemMalachite", new ItemStack(Items.gems.get(), 1, 5)); + OreDictionary.registerOre("gemSapphire", new ItemStack(Items.gems.get(), 1, 6)); OreDictionary.registerOre("oreRuby", new ItemStack(Blocks.amethystOre.get(), 1, 2)); OreDictionary.registerOre("oreTopaz", new ItemStack(Blocks.amethystOre.get(), 1, 6)); OreDictionary.registerOre("orePeridot", new ItemStack(Blocks.amethystOre.get(), 1, 4)); OreDictionary.registerOre("oreTanzanite", new ItemStack(Blocks.amethystOre.get(), 1, 8)); + OreDictionary.registerOre("oreMalachite", new ItemStack(Blocks.amethystOre.get(), 1, 10)); OreDictionary.registerOre("oreSapphire", new ItemStack(Blocks.amethystOre.get(), 1, 12)); OreDictionary.registerOre("treeSapling", new ItemStack(Blocks.saplings.get(), 1, OreDictionary.WILDCARD_VALUE)); diff --git a/common/biomesoplenty/configuration/BOPItems.java b/common/biomesoplenty/configuration/BOPItems.java index 8d4daff89..a45ee1009 100644 --- a/common/biomesoplenty/configuration/BOPItems.java +++ b/common/biomesoplenty/configuration/BOPItems.java @@ -31,6 +31,7 @@ import biomesoplenty.items.ItemBOPSword; import biomesoplenty.items.ItemDart; import biomesoplenty.items.ItemDartBlower; import biomesoplenty.items.ItemEnderporter; +import biomesoplenty.items.ItemGems; import com.google.common.base.Optional; @@ -106,6 +107,7 @@ public class BOPItems { // Item declaration Items.food = Optional.of(new ItemBOPFood(BOPConfigurationIDs.foodID).setUnlocalizedName("bop.food")); Items.miscItems = Optional.of(new ItemBOP(BOPConfigurationIDs.miscItemsID).setUnlocalizedName("bop.miscItems")); + Items.gems = Optional.of(new ItemGems(BOPConfigurationIDs.gemsID).setUnlocalizedName("bop.gems")); Items.mudball = Optional.of(new ItemBOPMudball(BOPConfigurationIDs.mudballID).setUnlocalizedName("bop.mudball")); Items.dartBlower = Optional.of(new ItemDartBlower(BOPConfigurationIDs.dartBlowerID).setUnlocalizedName("bop.dartblower")); Items.dart = Optional.of(new ItemDart(BOPConfigurationIDs.dartID).setUnlocalizedName("bop.dart")); diff --git a/common/biomesoplenty/configuration/BOPVanillaCompat.java b/common/biomesoplenty/configuration/BOPVanillaCompat.java index 749bf1a46..bda32cedd 100644 --- a/common/biomesoplenty/configuration/BOPVanillaCompat.java +++ b/common/biomesoplenty/configuration/BOPVanillaCompat.java @@ -39,47 +39,25 @@ public class BOPVanillaCompat { if (BOPConfigurationMisc.dungeonLoot == true) { dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.bopDisc.get()), 1, 1, 2)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 10), 1, 2, 5)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 11), 1, 2, 5)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 12), 1, 2, 5)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 13), 1, 2, 5)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 14), 1, 2, 5)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 15), 1, 2, 5)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(), 1, 0), 1, 1, 15)); - dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(), 1, 0), 1, 1, 10)); dungeon.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.colorizedSaplings.get(),1,6), 1, 1, 1)); mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 1), 2, 8, 25)); - mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 10), 1, 3, 10)); - mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 11), 1, 3, 10)); - mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 12), 1, 3, 10)); - mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 13), 1, 3, 10)); - mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 14), 1, 3, 10)); - mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 15), 1, 3, 10)); mineshaft.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.plants.get(),1,5), 4, 6, 15)); strongholdCorridor.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.flowers.get(),1,3), 1, 4, 25)); strongholdCorridor.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.flowers.get(),1,2), 1, 4, 25)); - strongholdCorridor.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 15)); - strongholdCorridor.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 10)); strongholdCrossing.addItem(new WeightedRandomChestContent(new ItemStack(Items.bopDisc.get()), 1, 1, 4)); strongholdCrossing.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.flowers.get(),1,3), 1, 4, 25)); strongholdCrossing.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.flowers.get(),1,2), 1, 4, 25)); - strongholdCrossing.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 15)); - strongholdCrossing.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 10)); - desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 20)); - desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 15)); desertTemple.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.colorizedSaplings.get(),1,6), 1, 1, 1)); - jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(),1,0), 1, 1, 20)); - jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(),1,0), 1, 1, 15)); jungleTemple.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.colorizedSaplings.get(),1,6), 1, 1, 1)); village.addItem(new WeightedRandomChestContent(new ItemStack(Blocks.plants.get(),1,5), 2, 6, 25)); village.addItem(new WeightedRandomChestContent(new ItemStack(Items.miscItems.get(), 1, 1), 2, 8, 25)); - village.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(), 1, 0), 1, 1, 10)); + village.addItem(new WeightedRandomChestContent(new ItemStack(Items.wadingBoots.get(), 1, 0), 1, 1, 5)); village.addItem(new WeightedRandomChestContent(new ItemStack(Items.flippers.get(), 1, 0), 1, 1, 5)); } } diff --git a/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java b/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java index 1a0b04692..369d3674a 100644 --- a/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java +++ b/common/biomesoplenty/configuration/configfile/BOPConfigurationIDs.java @@ -150,6 +150,7 @@ public class BOPConfigurationIDs public static int flowerBandID; public static int wadingBootsID; public static int flippersID; + public static int gemsID; //Liquid IDs public static int springWaterStillID; @@ -463,6 +464,7 @@ public class BOPConfigurationIDs wadingBootsID = config.getItem("Wading Boots ID", 21088).getInt(); flippersID = config.getItem("Flippers ID", 21089).getInt(); + gemsID = config.getItem("Gems ID", 21090).getInt(); //Mob IDs jungleSpiderID = config.get("Mob IDs", "Jungle Spider ID", 101, null).getInt(); diff --git a/common/biomesoplenty/entities/EntityPhantom.java b/common/biomesoplenty/entities/EntityPhantom.java index 42fc96229..e816525ac 100644 --- a/common/biomesoplenty/entities/EntityPhantom.java +++ b/common/biomesoplenty/entities/EntityPhantom.java @@ -93,7 +93,7 @@ public class EntityPhantom extends EntityMob if (par1 && (this.rand.nextInt(3) == 0 || this.rand.nextInt(1 + par2) > 0)) { - this.entityDropItem(new ItemStack(Items.miscItems.get().itemID, 1, 16), 1); + this.entityDropItem(new ItemStack(Items.miscItems.get().itemID, 1, 10), 1); } } diff --git a/common/biomesoplenty/handlers/BOPPickupHandler.java b/common/biomesoplenty/handlers/BOPPickupHandler.java index 961a8ac7f..a8e3a97f1 100644 --- a/common/biomesoplenty/handlers/BOPPickupHandler.java +++ b/common/biomesoplenty/handlers/BOPPickupHandler.java @@ -46,7 +46,7 @@ public class BOPPickupHandler implements IPickupNotifier } //Bittersweet - if (item.getEntityItem().itemID == Blocks.honeyBlock.get().blockID) + if (item.getEntityItem().itemID == Items.food.get().itemID && (item.getEntityItem().getItemDamage() == 9)) { player.addStat(BOPAchievements.achHoney, 1); } diff --git a/common/biomesoplenty/items/ItemBOP.java b/common/biomesoplenty/items/ItemBOP.java index 69c703f38..b53bd77ee 100644 --- a/common/biomesoplenty/items/ItemBOP.java +++ b/common/biomesoplenty/items/ItemBOP.java @@ -13,7 +13,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class ItemBOP extends Item { - private static String[] items = {"mudbrick", "ash", "amethyst", "poison", "crystalshard", "bluedye", "browndye", "greendye", "whitedye", "blackdye", "ruby", "peridot", "topaz", "tanzanite", "malachite", "sapphire", "ghastlysoul"}; + private static String[] items = {"mudbrick", "ash", "emptyhoneycomb", "poison", "crystalshard", "bluedye", "browndye", "greendye", "whitedye", "blackdye", "ghastlysoul"}; @SideOnly(Side.CLIENT) private Icon[] textures; diff --git a/common/biomesoplenty/items/ItemGems.java b/common/biomesoplenty/items/ItemGems.java new file mode 100644 index 000000000..56d63dcc2 --- /dev/null +++ b/common/biomesoplenty/items/ItemGems.java @@ -0,0 +1,67 @@ +package biomesoplenty.items; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; +import biomesoplenty.BiomesOPlenty; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemGems extends Item +{ + private static String[] gems = {"amethyst", "ruby", "peridot", "topaz", "tanzanite", "malachite", "sapphire"}; + @SideOnly(Side.CLIENT) + private Icon[] textures; + + public ItemGems(int id) + { + super(id); + setMaxDamage(0); + setHasSubtypes(true); + setCreativeTab(BiomesOPlenty.tabBiomesOPlenty); + } + + @Override + public void registerIcons(IconRegister iconRegister) + { + textures = new Icon[gems.length]; + + for (int i = 0; i < gems.length; ++i) { + textures[i] = iconRegister.registerIcon("biomesoplenty:"+gems[i]); + } + } + + @Override + public String getUnlocalizedName(ItemStack itemStack) + { + int meta = itemStack.getItemDamage(); + if (meta < 0 || meta >= gems.length) { + meta = 0; + } + + return super.getUnlocalizedName() + "." + gems[meta]; + } + + @Override + public Icon getIconFromDamage(int meta) + { + if (meta < 0 || meta >= textures.length) { + meta = 0; + } + + return textures[meta]; + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Override + public void getSubItems(int itemId, CreativeTabs creativeTab, List subTypes) + { + for(int meta = 0; meta < gems.length; ++meta) { + subTypes.add(new ItemStack(itemId, 1, meta)); + } + } +} diff --git a/resources/assets/biomesoplenty/lang/en_US.lang b/resources/assets/biomesoplenty/lang/en_US.lang index 77dd95703..bc0a66e68 100644 --- a/resources/assets/biomesoplenty/lang/en_US.lang +++ b/resources/assets/biomesoplenty/lang/en_US.lang @@ -295,7 +295,7 @@ item.bop.food.saladfruit.name=Fruit Salad item.bop.food.saladveggie.name=Veggie Salad item.bop.food.saladshroom.name=Shroom Salad item.bop.food.persimmon.name=Persimmon -item.bop.food.filledhoneycomb.name=Honeycomb +item.bop.food.filledhoneycomb.name=Filled Honeycomb item.bop.dartblower.name=Dart Blower item.bop.dart.dart.name=Dart @@ -305,22 +305,25 @@ item.bop.mudball.name=Mud Ball item.bop.miscItems.mudbrick.name=Mud Brick item.bop.miscItems.ash.name=Pile of Ashes -item.bop.miscItems.amethyst.name=Amethyst + item.bop.miscItems.poison.name=Poison +item.bop.miscItems.emptyhoneycomb.name=Empty Honeycomb item.bop.miscItems.crystalshard.name=Celestial Crystal Shard item.bop.miscItems.bluedye.name=Blue Dye item.bop.miscItems.browndye.name=Brown Dye item.bop.miscItems.greendye.name=Green Dye item.bop.miscItems.whitedye.name=White Dye item.bop.miscItems.blackdye.name=Black Dye -item.bop.miscItems.ruby.name=Ruby -item.bop.miscItems.peridot.name=Peridot -item.bop.miscItems.topaz.name=Topaz -item.bop.miscItems.tanzanite.name=Tanzanite -item.bop.miscItems.malachite.name=Malachite -item.bop.miscItems.sapphire.name=Sapphire item.bop.miscItems.ghastlysoul.name=Ghastly Soul +item.bop.gems.amethyst.name=Amethyst +item.bop.gems.ruby.name=Ruby +item.bop.gems.peridot.name=Peridot +item.bop.gems.topaz.name=Topaz +item.bop.gems.tanzanite.name=Tanzanite +item.bop.gems.malachite.name=Malachite +item.bop.gems.sapphire.name=Sapphire + item.bop.pickaxeMud.name=Muddy Pickaxe item.bop.hatchetMud.name=Muddy Axe item.bop.shovelMud.name=Muddy Shovel diff --git a/resources/assets/biomesoplenty/textures/blocks/altarframe.png b/resources/assets/biomesoplenty/textures/blocks/altarframe.png deleted file mode 100644 index 3164a685b6005c62d5fb0096a6059556692485b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590 zcmV-U0Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005KNkl95&xcDT9v=-j|9m zvk8sbQZNqom-PUK2D(Ou?g3{fdBMo4+*qGWjOIKUe=s)E4SYQ>O^o#p58f3SAMG(g zP(%x0vpkhi}@EO)TP6hvw+B8f2Rq6m1L!SHT|%$ z&{ip}>wyF~&S-$y*hzqtg@LugbXH(cFe;m`Fle>DHd8Lm!j!RhWYuRA2pnD6>2c1| zT$?zCou3uq$STgQOx>#F#83%oduuTmKfYDIoE8B0*cr$QE`L^^PWEBDTbUseL_`7< zgv3D*Njxo{5R%-*_iCsfx_OqM3Zk`DO85LcqS7vNg9KTS`X6e_84!ek_j_lFPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0004ZNkl@16ovc$|A|J8xIMc7 zrL>eS8Yzu!DZ4%z30)Y!@t7tjH}{@7cbgf2@;d^RKnk7%mMSH#Ml6fkl-NviSNaU%SlZgiPz`wQ~@V4vTD(`TNh_ubh z#R`y|s@y2Nb&Sb4hSJ&R&d0(?k!LSTqbGJUx+fv2iWz}K4QL37g_jS;!#kURr>THO zQh5!gp5%b(_`zXIwL^`91eHXz-}Y4-Mx^gu{a-6AK*Z3>Pd^^DfYu`c$L_$zYbuVZ zftoZd3ME6T17myc1v})b4JC)6Rgwf%(GhC5bMEkj1VH1;k%ID!K}Z!G>|Y07zKq05 z%JirS!Ph>3M6HD3;KnIS`;myL$CRoK7^cw?;$XEy%5OnOC4mDi-Go>%_Al|(G)x$@ zuv{E{v4n^Kk3|mX_b%9)@(#+_gRBmzo=LF*SJ%#d}G1kz;y0000< KMNUMnLSTa20pBVB diff --git a/resources/assets/biomesoplenty/textures/blocks/celestiallens.png b/resources/assets/biomesoplenty/textures/blocks/celestiallens.png deleted file mode 100644 index 5b93b04c753c5fb6c1873b7113c19c3a447a2086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 477 zcmV<30V4j1P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0003@NklTU}8$&RuF{y{)eeBG#yKf$= zx5uby9+cq>OYiQoG6*0$z+ea{#snsB60L2$zZjYUs;HY?ilQnTG-W#$yqpPg+m}=ASk?o6Cf?p=%eOItj;DZ?ATiOrY10~pAP|Qoet-Y>N zg1(*3`XB6A0hmDFSdc%k-vmzXfulB1r8Opr5>W0&XMti|)5G4Kk1cfy-kjkJtM0=N T#2{o300000NkvXXu0mjf_%OzP diff --git a/resources/assets/biomesoplenty/textures/blocks/framemalachite.png b/resources/assets/biomesoplenty/textures/blocks/framemalachite.png deleted file mode 100644 index ffdab84b9396376798e7eacdf145780a7b145a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP?e*n zi(`m|f3gJY;sl2So!h_vyB>e{m;5PJ-UgG;x$FL(-@V|UeR`hB%eICbw#;X9gMQ9G ndwZHqcteg_^ydT?9v+4obD7z`m)_a}4P)?h^>bP0l+XkKVdp>z diff --git a/resources/assets/biomesoplenty/textures/blocks/frameperidot.png b/resources/assets/biomesoplenty/textures/blocks/frameperidot.png deleted file mode 100644 index db600d8105584b248bafb2abaef7b3d431d0b1d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvUQY_AqRcTqfCKC^DgIBiE!R+*qjpzcB;D Y)OX)3PkTJP40Hm6r>mdKI;Vst0O4?20RR91 diff --git a/resources/assets/biomesoplenty/textures/blocks/frameruby.png b/resources/assets/biomesoplenty/textures/blocks/frameruby.png deleted file mode 100644 index fc82f455a6db71637ca75784d4cebe93c26e911b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvUnyG3&{yA=^7*~bvW|}Z2_+ct%(u^7mDZOg|7TsC@zZ*3V83_GE=AROhc$MsdAjPq r>&-2iA7zgDOrJlEbushf>cBfYZhc>OBO^=}=n4i;S3j3^P6!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP?e*n zi(`m|f3gJY;)YcZ-fdj}-#m2B5B{f<*c@h^mR$FDee#X(_OljtmN+|@HJgMRtofgR nTEKIjwu9N^wUrvoY-|h*qGhE+&quBT8ph!1>gTe~DWM4f2!A~& diff --git a/resources/assets/biomesoplenty/textures/blocks/frametopaz.png b/resources/assets/biomesoplenty/textures/blocks/frametopaz.png deleted file mode 100644 index 4dda023bb26bf8e17d2c3439c1d1f3986d625b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvQS8T^vI!{Fk0x$lDSi;Ck_8mt6)!vw~y52{9+(j$8(R-Uyjzy8aLH z%=ReweJcL%vrJ`glVRh>vb=cN&jq$W?;FgT{(avTzoq`Kj}%LsoxXQZ&(d{;k1Tu4 kzopr0F0(qA^-pY diff --git a/resources/assets/biomesoplenty/textures/blocks/log_dead_heart.png b/resources/assets/biomesoplenty/textures/blocks/log_dead_heart.png index 4d7124266dc3c8f4f65a17142b1d881b55feea4f..6eaa85386ea1c3db44f2035dcc57fcd3e72d9710 100644 GIT binary patch delta 826 zcmV-A1I7HS3F!uq87%?;005AYXf^-<00d`2O+f$vv5yPj!I$ZmN|BOnt1qmwX zn46tpf}R-bcdpC@x7LE|i#~9fMK*zL#FLX?RYD{ds^_MXuVZFJ}Hg#t--6H=W%0tbAe09V4=@vun-;V0CFuiwBEo z)uhZRspC@`3>}84WeypWO z>q>}1SK3CjR;G;{G1*UkM0#CIVX;U6n0+y=h+8d<>6H@oBDo!Mem%-cr0d&7Rbtkv zvj6@}?^XFulQ+_#w>B&A((-6f*@ z)KSf9>b9>N8M>8c{@(2EaNeS{`TcXTSs<_5a$658G4H6Y#26odK;ZR3s-;E-27h~2 z?$)G#f{25!pSSBA0lzgh_NulsY-CHjXhsO&zK?*zZaJ$Z83z0@$lsXB(YdTep`Ia} zR-_Z1uS#SsLsOomw!!PWIDt3;>yxPj2_2RB`%7cOQi4ySQ;U1R`dnQPKasu8jaqTJ_-dZ|uW);cbP{SD(w%e`1 zg5y;(2Ftv^D4-dmz_r*Nk~Xu#)FVR z1`ruRi`3S(cGvD<_uhNhYVG{3r>FW4^qzC?=a>7_J@?|uQ>){f;ZguVMb&!xRV-H! z+6e%hiLL!dyaIqy(0RO@xNB<}Zf99#`L>#hvhwon)s@?8cJIJf?x?}-uB|G^SL5(_ z+<_WgU2R1@zOsIQWkdbm20}e~-yYH-TvG$S>1ZA4a1D`A*Va_mLTuoXYT2zvgp`AP z`T+s`FpUg1(%YI@ltyMNkx3Bq58yXA(tBGP|oq zz-r}i+C^N7P(&3o$UV$93A3YzOBA!))VxMDo75*FX$2&eh$`iG%7mRtHq9g=8w3=s zxJ4nRDJ0zrDMKsgLn^9ML4{p1s#Dw1FYh#~=^h!wuIh5Am`*+2t?G2?SWY#^q2YNf zET@a-)e466Jg>RiZ)Oad_=r)2SouDK&}S6+A+Fyn^qWO~r@#k`!e(9&;tpFyAsaj7 za_JnNWkX;&biNi1~3Ats%9y#g~N8G)rOM<$jQI9%qlO$kC z!XuBn`{J+?^XNz2$|S5#d(^0xA4Ga1UI{uNiy_hoB8v{nBYt@VQAP**P_I5ZsEY

P^A#%*Z{0e29!ykW^71<4J$@M%F&=U z8PuhsnzT7n%88(6Jg6Oys3%a}L{v8!*5@PoY)qFL=ue?g-q)WE^yh|56G2lZ zY#2w48Pq%(G~~jD+^{hhgmPghhZ-j%=1c<0Bn?^2IGMEM6Sk>{b{f^eCqkA&1S-U! z>6mpc3QeK5Ld;%_K~tFiMBG%sOj8N#3A|c2{~ysd%C0q5_qT9N0IWNI%_Zj&>dOgI1zfU)(oE>CpqFeYx$-Z- zH>|4Oe{{`_HykA1ws*_6I&k3acT>9AOWBb==Mz7D{l!MG@|0vTey=&8JvL75e)gp! zfIQ_NebI6M8}jIdi;snV+zf7g{mh?VecwB2eeh$=E26;~0G{jT7cAmE!!lv-h0*s( zVD){bAEfo~9KO=Tg?~w6UtSMZJfQsJS5?dHH&Z-sot!>V4(|FrHS;9>&^>oNy|we1 z7rxmGYTt}~BryDayzNu74 suYIr^?AUo-Wd&|c0>>}f3x=8=>Px# diff --git a/resources/assets/biomesoplenty/textures/blocks/sacrificialfocus_active.png b/resources/assets/biomesoplenty/textures/blocks/sacrificialfocus_active.png deleted file mode 100644 index 73708a33173d1dfa8a62a76def04e99bf0f2ec8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3433 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 literal 0 HcmV?d00001 diff --git a/resources/assets/biomesoplenty/textures/items/filledhoneycomb.png b/resources/assets/biomesoplenty/textures/items/filledhoneycomb.png index 0e43a9ab2037e7898245435a1e6befe11b10cf85..cde2d8e16617b2e7cdc7834bc40b468d1445109b 100644 GIT binary patch delta 440 zcmV;p0Z0D31CIodJPN=701m(bYSxJfkwz(hi%CR5R5(w~lG`i8VHn5vk0_;>JBQ?0 zBWH$kSO}4F3e7?jMK0VB5#`iqksI7f&TMSh%#0jb9^m{-Iw?2cO%=H8~N6I z@w~my=Y784_m%u_*_UcyomD_Af2XslBJhVQxOSUyGEopX?S9Mx27)UH5CH1*s is7wh8toe^6k$eKElOQ3D>~*>T0000 z|Cigc{y$uogx|2OeSZHRZ%Fz7db#8OrwgsYF8F<-=Kq@&PXFJna{2#kkF4&L{dkg>nIa&Mv-Yk><|IY{g|9{fw|MvsVV1q&4geu1bAaC5AX$-dQ@qEkw zZ+7N_>G!K$!QT70ujv1bTpjENfcy$l{QHPI*hWwofSms2VCnz=m)pVNu)M|^x9!`f zg@FU=(L9U)ua-Idzd2R^|IKAl|5w#c+x_1*G2s9F5@Y=S2Z8B1+W((yO#OdjY2^PG zTQmRnrzjKFgbrrq>;3ObR{B4$*obt^Lk%!6005MF(v~}P>9zm>002ovPDHLkV1myd B&g1|9