From c41d9f70faaaba17b42b2e9af9a2ee37aa5edda7 Mon Sep 17 00:00:00 2001 From: Progwml6 Date: Sun, 8 Sep 2013 16:56:43 -0400 Subject: [PATCH] adding BOP api with Amnet's permission in order to allow for adding TiC compatibility --- src/biomesoplenty/api/Biomes.java | 136 +++++++++++++ src/biomesoplenty/api/BlockReferences.java | 225 +++++++++++++++++++++ src/biomesoplenty/api/Blocks.java | 103 ++++++++++ src/biomesoplenty/api/Entities.java | 24 +++ src/biomesoplenty/api/Fluids.java | 18 ++ src/biomesoplenty/api/Items.java | 51 +++++ src/biomesoplenty/api/Potions.java | 10 + 7 files changed, 567 insertions(+) create mode 100644 src/biomesoplenty/api/Biomes.java create mode 100644 src/biomesoplenty/api/BlockReferences.java create mode 100644 src/biomesoplenty/api/Blocks.java create mode 100644 src/biomesoplenty/api/Entities.java create mode 100644 src/biomesoplenty/api/Fluids.java create mode 100644 src/biomesoplenty/api/Items.java create mode 100644 src/biomesoplenty/api/Potions.java diff --git a/src/biomesoplenty/api/Biomes.java b/src/biomesoplenty/api/Biomes.java new file mode 100644 index 00000000000..c63143b080b --- /dev/null +++ b/src/biomesoplenty/api/Biomes.java @@ -0,0 +1,136 @@ +package biomesoplenty.api; + +import java.util.ArrayList; + +import net.minecraft.world.biome.BiomeGenBase; + +import com.google.common.base.Optional; + +public class Biomes +{ + public static Optional alps = Optional.absent(); + public static Optional alpsForest = Optional.absent(); + public static Optional alpsBase = Optional.absent(); + public static Optional arctic = Optional.absent(); + public static Optional badlands = Optional.absent(); + public static Optional bambooForest = Optional.absent(); + public static Optional bayou = Optional.absent(); + + public static Optional beachGravel = Optional.absent(); + public static Optional beachOvergrown = Optional.absent(); + + public static Optional birchForest = Optional.absent(); + public static Optional bog = Optional.absent(); + public static Optional borealForest = Optional.absent(); + public static Optional brushland = Optional.absent(); + public static Optional canyon = Optional.absent(); + public static Optional canyonRavine = Optional.absent(); + public static Optional chaparral = Optional.absent(); + public static Optional cherryBlossomGrove = Optional.absent(); + public static Optional coniferousForest = Optional.absent(); + public static Optional coniferousForestSnow = Optional.absent(); + public static Optional crag = Optional.absent(); + public static Optional deadForest = Optional.absent(); + public static Optional deadForestSnow = Optional.absent(); + public static Optional deadSwamp = Optional.absent(); + public static Optional deadlands = Optional.absent(); + public static Optional deciduousForest = Optional.absent(); + public static Optional dunes = Optional.absent(); + public static Optional fen = Optional.absent(); + public static Optional field = Optional.absent(); + public static Optional fieldForest = Optional.absent(); + public static Optional frostForest = Optional.absent(); + public static Optional fungiForest = Optional.absent(); + public static Optional garden = Optional.absent(); + public static Optional glacier = Optional.absent(); + public static Optional grassland = Optional.absent(); + public static Optional grove = Optional.absent(); + public static Optional heathland = Optional.absent(); + public static Optional highland = Optional.absent(); + public static Optional hotSprings = Optional.absent(); + public static Optional icyHills = Optional.absent(); + public static Optional jadeCliffs = Optional.absent(); + public static Optional lushDesert = Optional.absent(); + public static Optional lushSwamp = Optional.absent(); + public static Optional mangrove = Optional.absent(); + public static Optional mapleWoods = Optional.absent(); + public static Optional marsh = Optional.absent(); + public static Optional meadow = Optional.absent(); + public static Optional meadowForest = Optional.absent(); + public static Optional mesa = Optional.absent(); + public static Optional moor = Optional.absent(); + public static Optional mountain = Optional.absent(); + public static Optional mysticGrove = Optional.absent(); + + public static Optional netherBase = Optional.absent(); + public static Optional netherGarden = Optional.absent(); + public static Optional netherDesert = Optional.absent(); + public static Optional netherLava = Optional.absent(); + public static Optional netherBone = Optional.absent(); + + public static Optional oasis = Optional.absent(); + + public static Optional oceanCoral = Optional.absent(); + public static Optional oceanKelp = Optional.absent(); + + public static Optional ominousWoods = Optional.absent(); + public static Optional ominousWoodsThick = Optional.absent(); + public static Optional orchard = Optional.absent(); + public static Optional originValley = Optional.absent(); + public static Optional outback = Optional.absent(); + public static Optional overgrownGreens = Optional.absent(); + public static Optional pasture = Optional.absent(); + public static Optional pastureMeadow = Optional.absent(); + public static Optional pastureThin = Optional.absent(); + public static Optional polar = Optional.absent(); + public static Optional prairie = Optional.absent(); + + public static Optional promisedLandForest = Optional.absent(); + public static Optional promisedLandPlains = Optional.absent(); + public static Optional promisedLandSwamp = Optional.absent(); + + public static Optional quagmire = Optional.absent(); + public static Optional rainforest = Optional.absent(); + public static Optional redwoodForest = Optional.absent(); + public static Optional sacredSprings = Optional.absent(); + public static Optional savanna = Optional.absent(); + public static Optional savannaPlateau = Optional.absent(); + public static Optional scrubland = Optional.absent(); + public static Optional seasonalForest = Optional.absent(); + public static Optional seasonalSpruceForest = Optional.absent(); + public static Optional shield = Optional.absent(); + public static Optional shore = Optional.absent(); + public static Optional shrubland = Optional.absent(); + public static Optional shrublandForest = Optional.absent(); + public static Optional silkglades = Optional.absent(); + public static Optional sludgepit = Optional.absent(); + public static Optional spruceWoods = Optional.absent(); + public static Optional steppe = Optional.absent(); + public static Optional temperateRainforest = Optional.absent(); + public static Optional thicket = Optional.absent(); + public static Optional timber = Optional.absent(); + public static Optional timberThin = Optional.absent(); + public static Optional tropicalRainforest = Optional.absent(); + public static Optional tropics = Optional.absent(); + public static Optional tundra = Optional.absent(); + public static Optional volcano = Optional.absent(); + public static Optional wasteland = Optional.absent(); + public static Optional wetland = Optional.absent(); + public static Optional woodland = Optional.absent(); + + public static Optional plainsNew = Optional.absent(); + public static Optional desertNew = Optional.absent(); + public static Optional extremeHillsNew = Optional.absent(); + public static Optional forestNew = Optional.absent(); + public static Optional forestHillsNew = Optional.absent(); + public static Optional taigaNew = Optional.absent(); + public static Optional taigaHillsNew = Optional.absent(); + public static Optional swamplandNew = Optional.absent(); + public static Optional jungleNew = Optional.absent(); + public static Optional jungleHillsNew = Optional.absent(); + + /** + * Add any biomes you wish to spawn in the Nether + */ + public static ArrayList netherBiomes = new ArrayList(); +} diff --git a/src/biomesoplenty/api/BlockReferences.java b/src/biomesoplenty/api/BlockReferences.java new file mode 100644 index 00000000000..c9461c98273 --- /dev/null +++ b/src/biomesoplenty/api/BlockReferences.java @@ -0,0 +1,225 @@ +package biomesoplenty.api; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; + +import com.google.common.base.Optional; + +public class BlockReferences { + + public static enum EnumBlocks + { + acaciaLog (Blocks.logs1, 0), + cherryLog (Blocks.logs1, 1), + darkLog (Blocks.logs1, 2), + firLog (Blocks.logs1, 3), + holyLog (Blocks.logs2, 0), + magicLog (Blocks.logs2, 1), + mangroveLog (Blocks.logs2, 2), + palmLog (Blocks.logs2, 3), + redwoodLog (Blocks.logs3, 0), + willowLog (Blocks.logs3, 1), + deadLog (Blocks.logs3, 2), + bigFlowerStem (Blocks.logs3, 3), + pineLog (Blocks.logs4, 0), + hellBarkLog (Blocks.logs4, 1), + jacarandaLog (Blocks.logs4, 2), + + acaciaPlank (Blocks.planks, 0), + cherryPlank (Blocks.planks, 1), + darkPlank (Blocks.planks, 2), + firPlank (Blocks.planks, 3), + holyPlank (Blocks.planks, 4), + magicPlank (Blocks.planks, 5), + mangrovePlank (Blocks.planks, 6), + palmPlank (Blocks.planks, 7), + redwoodPlank (Blocks.planks, 8), + willowPlank (Blocks.planks, 9), + bambooThatching (Blocks.planks, 10), + pinePlank (Blocks.planks, 11), + hellBarkPlank (Blocks.planks, 12), + jacarandaPlank (Blocks.planks, 13), + + acaciaLeaves (Blocks.leavesColorized, 0), + mangroveLeaves (Blocks.leavesColorized, 1), + palmLeaves (Blocks.leavesColorized, 2), + redwoodLeaves (Blocks.leavesColorized, 3), + willowLeaves (Blocks.leavesColorized, 4), + pineLeaves (Blocks.leavesColorized, 5), + + yellowAutumnLeaves (Blocks.leaves1, 0), + bambooLeaves (Blocks.leaves1, 1), + magicLeaves (Blocks.leaves1, 2), + darkLeaves (Blocks.leaves1, 3), + deadLeaves (Blocks.leaves1, 4), + firLeaves (Blocks.leaves1, 5), + holyLeaves (Blocks.leaves1, 6), + orangeAutumnLeaves (Blocks.leaves1, 7), + originLeaves (Blocks.leaves2, 0), + pinkCherryLeaves (Blocks.leaves2, 1), + mapleLeaves (Blocks.leaves2, 2), + whiteCherryLeaves (Blocks.leaves2, 3), + hellBarkLeaves (Blocks.leaves2, 4), + jacarandaLeaves (Blocks.leaves2, 5), + + appleLeaves (Blocks.leavesFruit, 3), + appleLeavesFruitless (Blocks.leavesFruit, 0), + + bamboo (Blocks.bamboo, 0), + + poisonIvyItem (Blocks.foliage, 7), + sproutItem (Blocks.foliage, 5), + bushItem (Blocks.foliage, 4), + highGrassItem (Blocks.foliage, 3), + mediumGrassItem (Blocks.foliage, 2), + shortGrassItem (Blocks.foliage, 1), + algae (Blocks.foliage, 0), + + holySapling (Blocks.saplings, 7), + magicSapling (Blocks.saplings, 3), + darkSapling (Blocks.saplings, 4), + deadSapling (Blocks.saplings, 5), + acaciaSapling (Blocks.colorizedSaplings, 0), + firSapling (Blocks.saplings, 6), + mangroveSapling (Blocks.colorizedSaplings, 1), + palmSapling (Blocks.colorizedSaplings, 2), + redwoodSapling (Blocks.colorizedSaplings, 3), + willowSapling (Blocks.colorizedSaplings, 4), + pineSapling (Blocks.colorizedSaplings, 5), + mapleSapling (Blocks.saplings, 11), + orangeAutumnSapling (Blocks.saplings, 8), + pinkCherrySapling (Blocks.saplings, 10), + whiteCherrySapling (Blocks.saplings, 12), + hellBarkSapling (Blocks.saplings, 13), + jacarandaSapling (Blocks.saplings, 14), + appleSapling (Blocks.saplings, 0), + originSapling (Blocks.saplings, 9), + yellowAutumnSapling (Blocks.saplings, 1), + bambooSapling (Blocks.saplings, 2), + + mud (Blocks.mud, 0), + driedDirt (Blocks.driedDirt, 0), + redRock (Blocks.redRock, 0), + ash (Blocks.ash, 0), + ashStone (Blocks.ashStone, 0), + hardIce (Blocks.hardIce, 0), + originGrass (Blocks.originGrass, 0), + longGrass (Blocks.longGrass, 0), + hardSand (Blocks.hardSand, 0), + hardDirt (Blocks.hardDirt, 0), + holyGrass (Blocks.holyGrass, 0), + holyDirt (Blocks.holyDirt, 0), + holyStone (Blocks.holyStone, 0), + holyStoneCobble (Blocks.holyStone, 1), + crystal (Blocks.crystal, 0), + cragRock (Blocks.cragRock, 0), + quicksand (Blocks.mud, 1), + cloud (Blocks.cloud, 0), + smolderingGrass (Blocks.holyGrass, 1), + redRockCobble (Blocks.redRock, 1), + giantFlowerRed (Blocks.petals, 0), + giantFlowerYellow (Blocks.petals, 1), + + amethystOre (Blocks.amethystOre, 0), + amethystBlock (Blocks.amethystOre, 1), + rubyOre (Blocks.amethystOre, 2), + rubyBlock (Blocks.amethystOre, 3), + peridotOre (Blocks.amethystOre, 4), + peridotBlock (Blocks.amethystOre, 5), + topazOre (Blocks.amethystOre, 6), + topazBlock (Blocks.amethystOre, 7), + tanzaniteOre (Blocks.amethystOre, 8), + tanzaniteBlock (Blocks.amethystOre, 9), + apatiteOre (Blocks.amethystOre, 10), + apatiteBlock (Blocks.amethystOre, 11), + sapphireOre (Blocks.amethystOre, 12), + sapphireBlock (Blocks.amethystOre, 13), + + smallBoneSegment (Blocks.bones, 0), + mediumBoneSegment (Blocks.bones, 1), + largeBoneSegment (Blocks.bones, 2), + + kelp (Blocks.coral, 0), + + toadstool (Blocks.mushrooms, 0), + portobello (Blocks.mushrooms, 1), + bluemilk (Blocks.mushrooms, 2), + glowshroom (Blocks.mushrooms, 3), + + deadGrass (Blocks.plants, 0), + desertGrass (Blocks.plants, 1), + desertSprouts (Blocks.plants, 2), + duneGrass (Blocks.plants, 3), + holyTallGrass (Blocks.plants, 4), + thorn (Blocks.plants, 5), + barley (Blocks.plants, 6), + cattail (Blocks.plants, 7), + reed (Blocks.plants, 8), + tinyCactus (Blocks.plants, 12), + + treeMoss (Blocks.treeMoss, 0), + moss (Blocks.moss, 0), + willow (Blocks.willow, 0), + ivy (Blocks.ivy, 0), + + clover (Blocks.flowers, 0), + swampFlower (Blocks.flowers, 1), + deathbloom (Blocks.flowers, 2), + glowFlower (Blocks.flowers, 3), + hydrangea (Blocks.flowers, 4), + daisy (Blocks.flowers, 5), + tulip (Blocks.flowers, 6), + wildFlower (Blocks.flowers, 7), + violet (Blocks.flowers, 8), + anenome (Blocks.flowers, 9), + lilyflower (Blocks.flowers, 10), + rainbowflower (Blocks.flowers, 11), + aloe (Blocks.flowers, 12), + sunflower (Blocks.flowers, 13), + dandelion (Blocks.flowers, 15), + ; + + public Optional block; + public int meta; + + private EnumBlocks(Optional block, int meta) { + this.block = block; + this.meta = meta; + } + + public Optional getBlock() { + return block; + } + + public int getMeta() { + return meta; + } + } + + public static ItemStack getBlockItemStack(String string) + { + Optional stackblock = EnumBlocks.valueOf(string).block; + int stackmeta = EnumBlocks.valueOf(string).meta; + + if (stackmeta != 0) + { + return new ItemStack(stackblock.get(), 1, stackmeta); + } + + return new ItemStack(stackblock.get(), 1); + } + + public static int getBlockID(String string) + { + Optional stackblock = EnumBlocks.valueOf(string).block; + + return stackblock.get().blockID; + } + + public static int getBlockMeta(String string) + { + int stackmeta = EnumBlocks.valueOf(string).meta; + + return stackmeta; + } +} diff --git a/src/biomesoplenty/api/Blocks.java b/src/biomesoplenty/api/Blocks.java new file mode 100644 index 00000000000..db6ca30ac65 --- /dev/null +++ b/src/biomesoplenty/api/Blocks.java @@ -0,0 +1,103 @@ +package biomesoplenty.api; + +import java.util.HashMap; +import java.util.Map; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockHalfSlab; + +import com.google.common.base.Optional; + +public class Blocks +{ + // Worldgen Blocks + public static Optional ash = Optional.absent(); + public static Optional ashStone = Optional.absent(); + public static Optional cragRock = Optional.absent(); + public static Optional driedDirt = Optional.absent(); + public static Optional hardDirt = Optional.absent(); + public static Optional hardIce = Optional.absent(); + public static Optional hardSand = Optional.absent(); + public static Optional holyGrass = Optional.absent(); + public static Optional holyDirt = Optional.absent(); + public static Optional holyStone = Optional.absent(); + public static Optional mud = Optional.absent(); + public static Optional originGrass = Optional.absent(); + public static Optional longGrass = Optional.absent(); + public static Optional redRock = Optional.absent(); + public static Optional crystal = Optional.absent(); + + // Planks and logs + public static Optional planks = Optional.absent(); + public static Optional logs1 = Optional.absent(); + public static Optional logs2 = Optional.absent(); + public static Optional logs3 = Optional.absent(); + public static Optional logs4 = Optional.absent(); + + // Stairs + public static Optional acaciaStairs = Optional.absent(); + public static Optional cherryStairs = Optional.absent(); + public static Optional darkStairs = Optional.absent(); + public static Optional firStairs = Optional.absent(); + public static Optional holyStairs = Optional.absent(); + public static Optional magicStairs = Optional.absent(); + public static Optional mangroveStairs = Optional.absent(); + public static Optional palmStairs = Optional.absent(); + public static Optional redwoodStairs = Optional.absent(); + public static Optional willowStairs = Optional.absent(); + public static Optional redCobbleStairs = Optional.absent(); + public static Optional redBricksStairs = Optional.absent(); + public static Optional mudBricksStairs = Optional.absent(); + public static Optional holyCobbleStairs = Optional.absent(); + public static Optional holyBricksStairs = Optional.absent(); + public static Optional pineStairs = Optional.absent(); + public static Optional hellBarkStairs = Optional.absent(); + public static Optional jacarandaStairs = Optional.absent(); + + // Slabs + public static Optional woodenSingleSlab1 = Optional.absent(); + public static Optional woodenDoubleSlab1 = Optional.absent(); + public static Optional woodenSingleSlab2 = Optional.absent(); + public static Optional woodenDoubleSlab2 = Optional.absent(); + public static Optional stoneSingleSlab = Optional.absent(); + public static Optional stoneDoubleSlab = Optional.absent(); + + // Plants + public static Optional flowers = Optional.absent(); + public static Optional mushrooms = Optional.absent(); + public static Optional coral = Optional.absent(); + public static Optional leaves1 = Optional.absent(); + public static Optional leaves2 = Optional.absent(); + public static Optional leavesColorized = Optional.absent(); + public static Optional leavesFruit = Optional.absent(); + public static Optional foliage = Optional.absent(); + public static Optional plants = Optional.absent(); + public static Optional flatPlants = Optional.absent(); + public static Optional saplings = Optional.absent(); + public static Optional colorizedSaplings = Optional.absent(); + public static Optional willow = Optional.absent(); + public static Optional ivy = Optional.absent(); + public static Optional treeMoss = Optional.absent(); + public static Optional moss = Optional.absent(); + public static Optional petals = Optional.absent(); + public static Optional bamboo = Optional.absent(); + public static Optional cloud = Optional.absent(); + + //Nether + public static Optional bones = Optional.absent(); + + public static Optional amethystOre = Optional.absent(); + + public static Optional mudBrick = Optional.absent(); + + public static Optional promisedPortal = Optional.absent(); + public static Optional glass = Optional.absent(); + public static Optional altar = Optional.absent(); + public static Optional puddle = Optional.absent(); + public static Optional grave = Optional.absent(); + + /** + * Populated by Biomes O Plenty with default Biomes O Plenty leaves. Add additional leaves here (E.g. "Blocks.shearBlockIds.put(acaciaLeaves.blockID, 15.0F);") + */ + public static Map shearBlockIds = new HashMap(); +} diff --git a/src/biomesoplenty/api/Entities.java b/src/biomesoplenty/api/Entities.java new file mode 100644 index 00000000000..dd4eb49104f --- /dev/null +++ b/src/biomesoplenty/api/Entities.java @@ -0,0 +1,24 @@ +package biomesoplenty.api; + +public class Entities { + + public static Class Mudball = getClass("biomesoplenty.entities.projectiles.EntityMudball"); + public static Class Dart = getClass("biomesoplenty.entities.projectiles.EntityDart"); + public static Class JungleSpider = getClass("biomesoplenty.entities.EntityJungleSpider"); + public static Class Rosester = getClass("biomesoplenty.entities.EntityRosester"); + public static Class Glob = getClass("biomesoplenty.entities.EntityGlob"); + + public static Class getClass(String inputstring) + { + Class foundclass = null; + try + { + foundclass = Class.forName(inputstring); + } + catch (ClassNotFoundException e) + { + e.printStackTrace(); + } + return foundclass; + } +} diff --git a/src/biomesoplenty/api/Fluids.java b/src/biomesoplenty/api/Fluids.java new file mode 100644 index 00000000000..016f4011c12 --- /dev/null +++ b/src/biomesoplenty/api/Fluids.java @@ -0,0 +1,18 @@ +package biomesoplenty.api; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraftforge.fluids.Fluid; + +import com.google.common.base.Optional; + +public class Fluids +{ + public static Optional bopBucket = Optional.absent(); + + public static Optional springWater = Optional.absent(); + public static Optional liquidPoison = Optional.absent(); + + public static Optional springWaterFluid = Optional.absent(); + public static Optional liquidPoisonFluid = Optional.absent(); +} diff --git a/src/biomesoplenty/api/Items.java b/src/biomesoplenty/api/Items.java new file mode 100644 index 00000000000..839f0e8f1c5 --- /dev/null +++ b/src/biomesoplenty/api/Items.java @@ -0,0 +1,51 @@ +package biomesoplenty.api; + +import net.minecraft.item.Item; + +import com.google.common.base.Optional; + +public class Items +{ + public static Optional bopDisc = Optional.absent(); + public static Optional bopDiscMud = Optional.absent(); + + public static Optional swordMud = Optional.absent(); + public static Optional shovelMud = Optional.absent(); + public static Optional pickaxeMud = Optional.absent(); + public static Optional axeMud = Optional.absent(); + public static Optional hoeMud = Optional.absent(); + public static Optional helmetMud = Optional.absent(); + public static Optional chestplateMud = Optional.absent(); + public static Optional leggingsMud = Optional.absent(); + public static Optional bootsMud = Optional.absent(); + + public static Optional swordAmethyst = Optional.absent(); + public static Optional shovelAmethyst = Optional.absent(); + public static Optional pickaxeAmethyst = Optional.absent(); + public static Optional axeAmethyst = Optional.absent(); + public static Optional hoeAmethyst = Optional.absent(); + public static Optional helmetAmethyst = Optional.absent(); + public static Optional chestplateAmethyst = Optional.absent(); + public static Optional leggingsAmethyst = Optional.absent(); + public static Optional bootsAmethyst = Optional.absent(); + + public static Optional scytheWood = Optional.absent(); + public static Optional scytheStone = Optional.absent(); + public static Optional scytheIron = Optional.absent(); + public static Optional scytheGold = Optional.absent(); + public static Optional scytheDiamond = Optional.absent(); + public static Optional scytheMud = Optional.absent(); + public static Optional scytheAmethyst = Optional.absent(); + + public static Optional ancientStaff = Optional.absent(); + public static Optional enderporter = Optional.absent(); + public static Optional food = Optional.absent(); + public static Optional miscItems = Optional.absent(); + public static Optional mudball = Optional.absent(); + public static Optional poison = Optional.absent(); + public static Optional dartBlower = Optional.absent(); + public static Optional dart = Optional.absent(); + public static Optional soulManipulator = Optional.absent(); + + public static Optional flowerBand = Optional.absent(); +} diff --git a/src/biomesoplenty/api/Potions.java b/src/biomesoplenty/api/Potions.java new file mode 100644 index 00000000000..0fab7a0cdf6 --- /dev/null +++ b/src/biomesoplenty/api/Potions.java @@ -0,0 +1,10 @@ +package biomesoplenty.api; + +import net.minecraft.potion.Potion; + +import com.google.common.base.Optional; + +public class Potions +{ + public static Optional paralysis = Optional.absent(); +}