summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftBlock.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/CraftBlock.java
index 1650e972..92b3ea2e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftBlock.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit;
+import net.minecraft.server.MobSpawnerBase;
import org.bukkit.*;
import org.bukkit.block.BlockState;
import org.bukkit.craftbukkit.block.CraftBlockState;
@@ -265,4 +266,37 @@ public class CraftBlock implements Block {
return new CraftBlockState(this);
}
}
+
+ public Biome getBiome() {
+ // TODO: This may not be 100% accurate; investigate into getting per-block instead of per-chunk
+ MobSpawnerBase base = world.getHandle().a().a(chunk.getX(), chunk.getZ());
+
+ if (base == MobSpawnerBase.a) {
+ return Biome.RAINFOREST;
+ } else if (base == MobSpawnerBase.b) {
+ return Biome.SWAMPLAND;
+ } else if (base == MobSpawnerBase.c) {
+ return Biome.SEASONAL_FOREST;
+ } else if (base == MobSpawnerBase.d) {
+ return Biome.FOREST;
+ } else if (base == MobSpawnerBase.e) {
+ return Biome.SAVANNA;
+ } else if (base == MobSpawnerBase.f) {
+ return Biome.SHRUBLAND;
+ } else if (base == MobSpawnerBase.g) {
+ return Biome.TAIGA;
+ } else if (base == MobSpawnerBase.h) {
+ return Biome.DESERT;
+ } else if (base == MobSpawnerBase.i) {
+ return Biome.PLAINS;
+ } else if (base == MobSpawnerBase.j) {
+ return Biome.ICE_DESERT;
+ } else if (base == MobSpawnerBase.k) {
+ return Biome.TUNDRA;
+ } else if (base == MobSpawnerBase.l) {
+ return Biome.HELL;
+ }
+
+ return null;
+ }
}