diff options
Diffstat (limited to 'src/main/java/bloodasp/galacticgreg/api/AsteroidBlockComb.java')
-rw-r--r-- | src/main/java/bloodasp/galacticgreg/api/AsteroidBlockComb.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/main/java/bloodasp/galacticgreg/api/AsteroidBlockComb.java b/src/main/java/bloodasp/galacticgreg/api/AsteroidBlockComb.java new file mode 100644 index 0000000000..901a94e270 --- /dev/null +++ b/src/main/java/bloodasp/galacticgreg/api/AsteroidBlockComb.java @@ -0,0 +1,74 @@ +package bloodasp.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.equals(thisName)) + tFlag = false; + + if (!(otherObj.getMeta() == this.getMeta())) + tFlag = false; + + if (!(otherObj.getOreMaterial() == this.getOreMaterial())) + tFlag = false; + + return tFlag; + } +} |