summaryrefslogtreecommitdiff
path: root/src/api/java/exterminatorJeff/undergroundBiomes
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/java/exterminatorJeff/undergroundBiomes')
-rw-r--r--src/api/java/exterminatorJeff/undergroundBiomes/api/UBAPIHook.java11
-rw-r--r--src/api/java/exterminatorJeff/undergroundBiomes/api/UBOreTexturizer.java70
2 files changed, 81 insertions, 0 deletions
diff --git a/src/api/java/exterminatorJeff/undergroundBiomes/api/UBAPIHook.java b/src/api/java/exterminatorJeff/undergroundBiomes/api/UBAPIHook.java
new file mode 100644
index 0000000..13279ef
--- /dev/null
+++ b/src/api/java/exterminatorJeff/undergroundBiomes/api/UBAPIHook.java
@@ -0,0 +1,11 @@
+package exterminatorJeff.undergroundBiomes.api;
+
+/**
+ * Striped down version, get the full API from here: https://github.com/Zeno410/UndergroundBiomes1.7API
+ * @author Zeno410
+ */
+public class UBAPIHook {
+ public static final UBAPIHook ubAPIHook = new UBAPIHook();
+ //public UBDimensionalStrataColumnProvider dimensionalStrataColumnProvider; // set in the main Underground Biomes
+ public UBOreTexturizer ubOreTexturizer;
+}
diff --git a/src/api/java/exterminatorJeff/undergroundBiomes/api/UBOreTexturizer.java b/src/api/java/exterminatorJeff/undergroundBiomes/api/UBOreTexturizer.java
new file mode 100644
index 0000000..947b156
--- /dev/null
+++ b/src/api/java/exterminatorJeff/undergroundBiomes/api/UBOreTexturizer.java
@@ -0,0 +1,70 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package exterminatorJeff.undergroundBiomes.api;
+
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import net.minecraft.block.Block;
+import net.minecraft.world.World;
+
+/**
+ * Striped down version, get the full API from here: https://github.com/Zeno410/UndergroundBiomes1.7API
+ * This is an interface for the class that can create Underground Biomes versions of arbitary ores
+ * It creates three new blocks for each texturized ore.
+ * @author Zeno410
+ */
+public interface UBOreTexturizer {
+ // usage: Block is the ore block.
+ // Overlay name is the fully qualified name, e.g. modname:overlayName
+ // that static vars are fully qualified names for all the textures in the UB pack, just pass as is
+ // the event isn't needed per se, but if this is called anytime else, the blocks will not "stick"
+ public void setupUBOre(Block oreBlock, String overlayName, FMLPreInitializationEvent event);
+ public void setupUBOre(Block oreBlock, int metadata, String overlayName, FMLPreInitializationEvent event);
+ public void setupUBOre(Block oreBlock, int metadata, String overlayName, String blockName, FMLPreInitializationEvent event);
+
+ public void requestUBOreSetup(Block oreBlock, String overlayName) throws BlocksAreAlreadySet;
+ public void requestUBOreSetup(Block oreBlock, int metadata, String overlayName) throws BlocksAreAlreadySet;
+ public void requestUBOreSetup(Block oreBlock, int metadata, String overlayName, String blockName) throws BlocksAreAlreadySet;
+ public void redoOres(int xInBlockCoordinates, int zInBlockCoordinates, World serverSideWorld) ;
+
+ public static String amber_overlay = "undergroundbiomes:amber_overlay";
+ public static String cinnabar_overlay = "undergroundbiomes:cinnabar_overlay";
+ public static String coal_overlay = "undergroundbiomes:coal_overlay";
+ public static String copper_overlay = "undergroundbiomes:copper_overlay";
+ public static String diamond_overlay = "undergroundbiomes:diamond_overlay";
+ public static String emerald_overlay = "undergroundbiomes:emerald_overlay";
+ public static String gold_overlay = "undergroundbiomes:gold_overlay";
+ public static String iron_overlay = "undergroundbiomes:iron_overlay";
+ public static String lapis_overlay = "undergroundbiomes:lapis_overlay";
+ public static String lead_overlay = "undergroundbiomes:lead_overlay";
+ public static String olivine_peridot_overlay = "undergroundbiomes:olivine-peridot_overlay";
+ public static String redstone_overlay = "undergroundbiomes:redstone_overlay";
+ public static String ruby_overlay = "undergroundbiomes:ruby_overlay";
+ public static String sapphire_overlay = "undergroundbiomes:sapphire_overlay";
+ public static String tin_overlay = "undergroundbiomes:tin_overlay";
+ public static String uranium_overlay = "undergroundbiomes:uranium_overlay";
+
+ public class BlocksAreAlreadySet extends RuntimeException {
+ // this is thrown if UB has already run its pre-initialization step and can no longer register blocks
+ public final Block oreBlock;
+ public final String overlayName;
+
+ public BlocksAreAlreadySet(Block oreBlock, String overlayName) {
+ this.oreBlock = oreBlock;
+ this.overlayName = overlayName;
+ }
+
+ @Override
+ public String toString() {
+ String blockDescription = "undefined block";
+ String overlayDescription = "undefined overlay";
+ if (oreBlock != null) blockDescription = oreBlock.getUnlocalizedName();
+ if (overlayName != null) overlayDescription = overlayName;
+ return "Attempt to create Underground Biomes ore for "+blockDescription+" with "+overlayDescription +
+ " after blocks have already been defined";
+ }
+
+ }
+}