summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
diff options
context:
space:
mode:
authormbax <matt@phozop.net>2013-11-04 07:07:38 -0600
committerWesley Wolfe <weswolf@aol.com>2013-11-30 19:26:12 -0600
commit2726696652179a5ead7dc07dd39edf7dfda687f7 (patch)
treeff78e22fdd4fc01889a5f6cc482b599f965cd93a /src/main/java/org/bukkit/craftbukkit/CraftChunk.java
parentff8b70fbb7a96b9d2ff078afcf3b3ff90f200981 (diff)
downloadcraftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar
craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar.gz
craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar.lz
craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar.xz
craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.zip
Update CraftBukkit to Minecraft 1.7.2
Diffstat (limited to 'src/main/java/org/bukkit/craftbukkit/CraftChunk.java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftChunk.java27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
index 1a215160..b2c6ef45 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -33,8 +33,8 @@ public class CraftChunk implements Chunk {
}
worldServer = (WorldServer) getHandle().world;
- x = getHandle().x;
- z = getHandle().z;
+ x = getHandle().locX;
+ z = getHandle().locZ;
}
public World getWorld() {
@@ -114,7 +114,7 @@ public class CraftChunk implements Chunk {
}
ChunkPosition position = (ChunkPosition) obj;
- entities[index++] = worldServer.getWorld().getBlockAt(position.x + (chunk.x << 4), position.y, position.z + (chunk.z << 4)).getState();
+ entities[index++] = worldServer.getWorld().getBlockAt(position.x + (chunk.locX << 4), position.y, position.z + (chunk.locZ << 4)).getState();
}
return entities;
}
@@ -228,7 +228,7 @@ public class CraftChunk implements Chunk {
if (includeBiomeTempRain) {
biomeTemp = new double[256];
biomeRain = new double[256];
- float[] dat = wcm.getTemperatures(null, getX() << 4, getZ() << 4, 16, 16);
+ float[] dat = getTemperatures(wcm, getX() << 4, getZ() << 4);
for (int i = 0; i < 256; i++) {
biomeTemp[i] = dat[i];
@@ -264,7 +264,7 @@ public class CraftChunk implements Chunk {
if (includeBiomeTempRain) {
biomeTemp = new double[256];
biomeRain = new double[256];
- float[] dat = wcm.getTemperatures(null, x << 4, z << 4, 16, 16);
+ float[] dat = getTemperatures(wcm, x << 4, z << 4);
for (int i = 0; i < 256; i++) {
biomeTemp[i] = dat[i];
@@ -297,6 +297,23 @@ public class CraftChunk implements Chunk {
return new CraftChunkSnapshot(x, z, world.getName(), world.getFullTime(), blockIDs, blockData, skyLight, emitLight, empty, new int[256], biome, biomeTemp, biomeRain);
}
+ private static float[] getTemperatures(WorldChunkManager chunkmanager, int chunkX, int chunkZ) {
+ BiomeBase[] biomes = chunkmanager.getBiomes(null, chunkX, chunkZ, 16, 16);
+ float[] temps = new float[biomes.length];
+
+ for (int i = 0; i < biomes.length; i++) {
+ float temp = biomes[i].temperature; // Vanilla of olde: ((int) biomes[i].temperature * 65536.0F) / 65536.0F
+
+ if (temp > 1F) {
+ temp = 1F;
+ }
+
+ temps[i] = temp;
+ }
+
+ return temps;
+ }
+
static {
Arrays.fill(emptySkyLight, (byte) 0xFF);
}