summaryrefslogtreecommitdiff
path: root/ihl/worldgen/WorldGeneratorVein.java
diff options
context:
space:
mode:
Diffstat (limited to 'ihl/worldgen/WorldGeneratorVein.java')
-rw-r--r--ihl/worldgen/WorldGeneratorVein.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/ihl/worldgen/WorldGeneratorVein.java b/ihl/worldgen/WorldGeneratorVein.java
new file mode 100644
index 0000000..3be74e0
--- /dev/null
+++ b/ihl/worldgen/WorldGeneratorVein.java
@@ -0,0 +1,26 @@
+package ihl.worldgen;
+
+import ihl.utils.IHLMathUtils;
+import net.minecraft.block.Block;
+import net.minecraft.world.World;
+
+public class WorldGeneratorVein extends WorldGeneratorBase {
+
+ public WorldGeneratorVein(Block oreIn, Block[] replaceableBlocksIn) {
+ super(oreIn, replaceableBlocksIn);
+ }
+
+ @Override
+ protected void replaceBlocks(World world, int[] centralPOI, int[] surroundPOI, int startX, int startZ) {
+ int x = centralPOI[0], y = centralPOI[1], z = centralPOI[2];
+ while (x < 16 && x >= 0 && y >= 0 && y < world.getActualHeight() && z >= 0 && z < 16) {
+ this.replace(world, x + startX, y, z + startZ, ore);
+ x += IHLMathUtils.sign(surroundPOI[0] - x);
+ y += IHLMathUtils.sign(surroundPOI[1] - y);
+ z += IHLMathUtils.sign(surroundPOI[2] - z);
+ if (IHLMathUtils.sign(surroundPOI[0] - x) == 0 && IHLMathUtils.sign(surroundPOI[1] - y) == 0
+ && IHLMathUtils.sign(surroundPOI[2] - z) == 0)
+ break;
+ }
+ }
+}