aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/galacticgreg/api/AsteroidBlockComb.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/galacticgreg/api/AsteroidBlockComb.java')
-rw-r--r--src/main/java/galacticgreg/api/AsteroidBlockComb.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/main/java/galacticgreg/api/AsteroidBlockComb.java b/src/main/java/galacticgreg/api/AsteroidBlockComb.java
new file mode 100644
index 0000000000..208d8faed3
--- /dev/null
+++ b/src/main/java/galacticgreg/api/AsteroidBlockComb.java
@@ -0,0 +1,77 @@
+package galacticgreg.api;
+
+import net.minecraft.block.Block;
+
+/**
+ * Class for a bit more advanced combinations for Asteroids, which supports Custom Blocks as base material and Values
+ * required to generate Gregtech ores
+ */
+public class AsteroidBlockComb extends BlockMetaComb {
+
+ private final GTOreTypes _mGTOreMaterial;
+
+ /**
+ * Create an advanced definition which uses the GregTech-OreType values for ores, and your own definition of Block
+ * for the asteroid material
+ *
+ * @param pOreType The GregTech oreType
+ * @param pBlock Your block
+ */
+ public AsteroidBlockComb(GTOreTypes pOreType, Block pBlock) {
+ super(pBlock, 0);
+ _mGTOreMaterial = pOreType;
+ }
+
+ /**
+ * Create an advanced definition which uses the GregTech-OreType values for ores, and your own definition of Block
+ * for the asteroid material
+ *
+ * @param pOreType The GregTech oreType
+ * @param pBlock Your block
+ * @param pMeta The metavalue for your block (If required)
+ */
+ public AsteroidBlockComb(GTOreTypes pOreType, Block pBlock, int pMeta) {
+ super(pBlock, pMeta);
+ _mGTOreMaterial = pOreType;
+ }
+
+ /**
+ * Create a simple definition which uses the GregTech-OreType values for both asteroidStone and ores
+ *
+ * @param pOreType The GregTech oreType
+ */
+ public AsteroidBlockComb(GTOreTypes pOreType) {
+ super(pOreType.getBlock(), pOreType.getMeta());
+ _mGTOreMaterial = pOreType;
+ }
+
+ /**
+ * Internal function
+ *
+ * @return The GT Material for the oregen
+ */
+ public GTOreTypes getOreMaterial() {
+ return _mGTOreMaterial;
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null) return false;
+ if (other == this) return true;
+ if (!(other instanceof AsteroidBlockComb)) return false;
+ AsteroidBlockComb otherObj = (AsteroidBlockComb) other;
+
+ boolean tFlag = true;
+ String otherName = Block.blockRegistry.getNameForObject(otherObj.getBlock());
+ String thisName = Block.blockRegistry.getNameForObject(this.getBlock());
+ if (otherName != null && thisName != null) {
+ if (!otherName.equals(thisName)) tFlag = false;
+
+ if (!(otherObj.getMeta() == this.getMeta())) tFlag = false;
+
+ if (!(otherObj.getOreMaterial() == this.getOreMaterial())) tFlag = false;
+ } else tFlag = false;
+
+ return tFlag;
+ }
+}