summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/SpawnerCreature.java
diff options
context:
space:
mode:
authorTahg <tahgtahv@gmail.com>2011-12-06 19:21:10 -0500
committerTahg <tahgtahv@gmail.com>2011-12-06 19:21:10 -0500
commite4a839cbbc057fce7ed614b01abdb5d59382f0f8 (patch)
tree2a5960b2a4c5ad1f505e0aa7be4bab4c114670f5 /src/main/java/net/minecraft/server/SpawnerCreature.java
parentbc8f02788f37af0f03c9672903595b2f2f57d161 (diff)
downloadcraftbukkit-e4a839cbbc057fce7ed614b01abdb5d59382f0f8.tar
craftbukkit-e4a839cbbc057fce7ed614b01abdb5d59382f0f8.tar.gz
craftbukkit-e4a839cbbc057fce7ed614b01abdb5d59382f0f8.tar.lz
craftbukkit-e4a839cbbc057fce7ed614b01abdb5d59382f0f8.tar.xz
craftbukkit-e4a839cbbc057fce7ed614b01abdb5d59382f0f8.zip
Fix for entity spawning and some code cleanup
Diffstat (limited to 'src/main/java/net/minecraft/server/SpawnerCreature.java')
-rw-r--r--src/main/java/net/minecraft/server/SpawnerCreature.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index bbb64f05..c32783cf 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -1,6 +1,5 @@
package net.minecraft.server;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
@@ -8,7 +7,8 @@ import java.util.List;
import java.util.Random;
// CraftBukkit
-import org.bukkit.craftbukkit.util.LongAbstractHashtable;
+import java.util.ArrayList;
+import org.bukkit.craftbukkit.util.LongBaseHashtable;
import org.bukkit.craftbukkit.util.EntryBase;
import org.bukkit.craftbukkit.util.LongHash;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -47,8 +47,7 @@ public final class SpawnerCreature {
return 0;
} else {
// b.clear(); // CraftBukkit
- LongAbstractHashtable chunkCoords; // CraftBukkit
- chunkCoords = new LongAbstractHashtable() {};
+ LongBaseHashtable chunkCoords = new LongBaseHashtable(); // CraftBukkit
int i;
int j;
@@ -78,7 +77,7 @@ public final class SpawnerCreature {
i = 0;
ChunkCoordinates chunkcoordinates = world.getSpawn();
- ArrayList<EntryBase> entries = chunkCoords.entries(); // CraftBukkit
+ ArrayList<EntryBase> b = chunkCoords.entries(); // CraftBukkit
EnumCreatureType[] aenumcreaturetype = EnumCreatureType.values();
j = aenumcreaturetype.length;
@@ -86,14 +85,15 @@ public final class SpawnerCreature {
for (int j1 = 0; j1 < j; ++j1) {
EnumCreatureType enumcreaturetype = aenumcreaturetype[j1];
+ if ((!enumcreaturetype.d() || flag1) && (enumcreaturetype.d() || flag) && world.a(enumcreaturetype.a()) <= enumcreaturetype.b() * b.size() / 256) {
- if ((!enumcreaturetype.d() || flag1) && (enumcreaturetype.d() || flag) && world.a(enumcreaturetype.a()) <= enumcreaturetype.b() * entries.size() / 256) {
-
+ // CraftBukkit start
label108:
- for (EntryBase base : entries) {
+ for (EntryBase base : b) {
ChunkEntry entry = (SpawnerCreature.ChunkEntry) base;
if (!entry.spawn) {
- ChunkPosition chunkposition = a(world, LongHash.msw(entry.getX()) * 16, entry.getZ() * 16);
+ ChunkPosition chunkposition = a(world, entry.getX() * 16, entry.getZ() * 16);
+ // CraftBukkit end
int k1 = chunkposition.x;
int l1 = chunkposition.y;
int i2 = chunkposition.z;