From 5c717f8732c3f9b30ec7d029ef3774d6d412ee05 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Thu, 1 Mar 2012 10:49:23 +0000 Subject: [PATCH] Updated CraftBukkit to 1.2 By: Nathan Adams --- paper-server/pom.xml | 6 +++--- .../java/org/bukkit/craftbukkit/CraftChunk.java | 5 ++++- .../java/org/bukkit/craftbukkit/CraftWorld.java | 4 ++-- .../org/bukkit/craftbukkit/PortalTravelAgent.java | 14 +++++++------- .../org/bukkit/craftbukkit/block/CraftBlock.java | 2 ++ .../bukkit/craftbukkit/entity/CraftCreature.java | 2 +- .../org/bukkit/craftbukkit/entity/CraftPlayer.java | 7 ++++++- .../generator/CustomChunkGenerator.java | 10 ++-------- .../inventory/CraftInventoryCustom.java | 14 ++++++++++++++ 9 files changed, 41 insertions(+), 23 deletions(-) diff --git a/paper-server/pom.xml b/paper-server/pom.xml index 1c0d6b3d5..7e48649b9 100644 --- a/paper-server/pom.xml +++ b/paper-server/pom.xml @@ -4,7 +4,7 @@ org.bukkit craftbukkit jar - 1.1-R6-SNAPSHOT + 1.2.2-R0-SNAPSHOT CraftBukkit http://www.bukkit.org @@ -51,14 +51,14 @@ org.bukkit bukkit - 1.1-R6 + 1.2.2-R0-SNAPSHOT jar compile org.bukkit minecraft-server - 1.1_02 + 1.2.2 jar compile diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunk.java index 36cc3a379..0cfd5fe00 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftChunk.java @@ -15,6 +15,7 @@ import org.bukkit.entity.Entity; import org.bukkit.ChunkSnapshot; import net.minecraft.server.BiomeBase; import net.minecraft.server.WorldChunkManager; +import org.apache.commons.lang.NotImplementedException; public class CraftChunk implements Chunk { private WeakReference weakChunk; @@ -135,9 +136,11 @@ public class CraftChunk implements Chunk { public ChunkSnapshot getChunkSnapshot(boolean includeMaxblocky, boolean includeBiome, boolean includeBiomeTempRain) { net.minecraft.server.Chunk chunk = getHandle(); byte[] buf = new byte[32768 + 16384 + 16384 + 16384]; // Get big enough buffer for whole chunk - chunk.getData(buf, 0, 0, 0, 16, 128, 16, 0); // Get whole chunk + //chunk.getData(buf, 0, 0, 0, 16, 128, 16, 0); // Get whole chunk byte[] hmap = null; + if (true) throw new NotImplementedException("Chunk snapshots do not yet work"); // TODO: Snapshots. + if (includeMaxblocky) { hmap = new byte[256]; // Get copy of height map System.arraycopy(chunk.heightMap, 0, hmap, 0, 256); diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index aaf1e1f6e..7fd2ff2f8 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -939,11 +939,11 @@ public class CraftWorld implements World { } public int getMaxHeight() { - return world.height; + return world.getHeight(); } public int getSeaLevel() { - return world.seaLevel; + return 64; } public boolean getKeepSpawnInMemory() { diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/PortalTravelAgent.java b/paper-server/src/main/java/org/bukkit/craftbukkit/PortalTravelAgent.java index 8abe81e14..495c586a0 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/PortalTravelAgent.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/PortalTravelAgent.java @@ -87,7 +87,7 @@ public class PortalTravelAgent implements TravelAgent { for (int k1 = i1 - this.searchRadius; k1 <= i1 + this.searchRadius; ++k1) { double d3 = (double) k1 + 0.5D - location.getZ(); - for (int l1 = world.height - 1; l1 >= 0; --l1) { + for (int l1 = 127; l1 >= 0; --l1) { if (world.getTypeId(j1, l1, k1) == Block.PORTAL.id) { while (world.getTypeId(j1, l1 - 1, k1) == Block.PORTAL.id) { --l1; @@ -194,7 +194,7 @@ public class PortalTravelAgent implements TravelAgent { d2 = (double) j2 + 0.5D - location.getZ(); label271: - for (l2 = world.height - 1; l2 >= 0; --l2) { + for (l2 = 127; l2 >= 0; --l2) { if (world.isEmpty(i2, l2, j2)) { while (l2 > 0 && world.isEmpty(i2, l2 - 1, j2)) { --l2; @@ -245,7 +245,7 @@ public class PortalTravelAgent implements TravelAgent { d2 = (double) j2 + 0.5D - location.getZ(); label219: - for (l2 = world.height - 1; l2 >= 0; --l2) { + for (l2 = 127; l2 >= 0; --l2) { if (world.isEmpty(i2, l2, j2)) { while (l2 > 0 && world.isEmpty(i2, l2 - 1, j2)) { --l2; @@ -306,8 +306,8 @@ public class PortalTravelAgent implements TravelAgent { i1 = 70; } - if (i1 > world.height - 10) { - i1 = world.height - 10; + if (i1 > 118) { + i1 = 118; } j5 = i1; @@ -353,8 +353,8 @@ public class PortalTravelAgent implements TravelAgent { i1 = 70; } - if (i1 > world.height - 10) { - i1 = world.height - 10; + if (i1 > 118) { + i1 = 118; } j5 = i1; diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index 02debb1c9..89ffd25ff 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -399,6 +399,8 @@ public class CraftBlock implements Block { BIOME_MAPPING[BiomeBase.FOREST_HILLS.id] = Biome.FOREST_HILLS; BIOME_MAPPING[BiomeBase.TAIGA_HILLS.id] = Biome.TAIGA_HILLS; BIOME_MAPPING[BiomeBase.SMALL_MOUNTAINS.id] = Biome.SMALL_MOUNTAINS; + BIOME_MAPPING[BiomeBase.JUNGLE.id] = Biome.JUNGLE; + BIOME_MAPPING[BiomeBase.JUNGLE_HILLS.id] = Biome.JUNGLE_HILLS; /* Sanity check - we should have a record for each record in the BiomeBase.a table */ /* Helps avoid missed biomes when we upgrade bukkit to new code with new biomes */ for (int i = 0; i < BIOME_MAPPING.length; i++) { diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java index aa8bdb3b0..3fe70b4ee 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftCreature.java @@ -18,7 +18,7 @@ public class CraftCreature extends CraftLivingEntity implements Creature { } else if (target instanceof CraftLivingEntity) { EntityLiving victim = ((CraftLivingEntity) target).getHandle(); entity.target = victim; - entity.pathEntity = entity.world.findPath(entity, entity.target, 16.0F); + entity.pathEntity = entity.world.findPath(entity, entity.target, 16.0F, true, false, false, true); } } diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 039cf9b57..3f8a02d92 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -31,6 +31,7 @@ import net.minecraft.server.Packet61WorldEvent; import net.minecraft.server.Packet6SpawnPosition; import net.minecraft.server.Packet70Bed; import net.minecraft.server.WorldServer; +import org.apache.commons.lang.NotImplementedException; import org.bukkit.Achievement; import org.bukkit.Material; import org.bukkit.Statistic; @@ -286,6 +287,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean sendChunkChange(Location loc, int sx, int sy, int sz, byte[] data) { if (getHandle().netServerHandler == null) return false; + /* int x = loc.getBlockX(); int y = loc.getBlockY(); int z = loc.getBlockZ(); @@ -310,6 +312,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { getHandle().netServerHandler.sendPacket(packet); return true; + */ + + throw new NotImplementedException("Chunk changes do not yet work"); // TODO: Chunk changes. } public void sendMap(MapView map) { @@ -798,4 +803,4 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void disconnect(String reason) { conversationTracker.abandonAllConversations(); } -} \ No newline at end of file +} diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/paper-server/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java index 8a2360d07..a22415389 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java @@ -81,15 +81,9 @@ public class CustomChunkGenerator extends InternalChunkGenerator { } public List getMobsFor(EnumCreatureType type, int x, int y, int z) { - WorldChunkManager worldchunkmanager = world.getWorldChunkManager(); + BiomeBase biomebase = world.getBiome(x, z); - if (worldchunkmanager == null) { - return null; - } else { - BiomeBase biomebase = worldchunkmanager.getBiome(new ChunkCoordIntPair(x >> 4, z >> 4)); - - return biomebase == null ? null : biomebase.getMobs(type); - } + return biomebase == null ? null : biomebase.getMobs(type); } public ChunkPosition findNearestMapFeature(World world, String type, int x, int y, int z) { diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java index 0aba33fa3..7db0689fa 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java @@ -73,6 +73,20 @@ public class CraftInventoryCustom extends CraftInventory { return result; } + public ItemStack splitWithoutUpdate(int i) { + ItemStack stack = this.getItem(i); + ItemStack result; + if (stack == null) return null; + if (stack.count <= 1) { + this.setItem(i, null); + result = stack; + } else { + result = new ItemStack(stack.id, 1, stack.getData()); + stack.count -= 1; + } + return result; + } + public void setItem(int i, ItemStack itemstack) { items[i] = itemstack; }