diff options
author | Travis Watkins <amaranth@ubuntu.com> | 2012-10-24 22:53:23 -0500 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2012-10-27 22:19:03 -0400 |
commit | 60819c6693daf19dde68b04af38a4fee8c7da988 (patch) | |
tree | e7bd96a07f0e9d9f1f6b2721ddd1bb5dd71eaf48 /src/main/java/net/minecraft/server/NetServerHandler.java | |
parent | b9a72531b6e2ccc84bd021bca421255a957d96f7 (diff) | |
download | craftbukkit-60819c6693daf19dde68b04af38a4fee8c7da988.tar craftbukkit-60819c6693daf19dde68b04af38a4fee8c7da988.tar.gz craftbukkit-60819c6693daf19dde68b04af38a4fee8c7da988.tar.lz craftbukkit-60819c6693daf19dde68b04af38a4fee8c7da988.tar.xz craftbukkit-60819c6693daf19dde68b04af38a4fee8c7da988.zip |
Update CraftBukkit to Minecraft 1.4(.2).
Diffstat (limited to 'src/main/java/net/minecraft/server/NetServerHandler.java')
-rw-r--r-- | src/main/java/net/minecraft/server/NetServerHandler.java | 130 |
1 files changed, 95 insertions, 35 deletions
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index 6b33ae53..02a3aaea 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -152,7 +152,7 @@ public class NetServerHandler extends NetHandler { s = event.getReason(); // CraftBukkit end - this.player.m(); + this.player.l(); this.sendPacket(new Packet255KickDisconnect(s)); this.networkManager.d(); @@ -347,7 +347,7 @@ public class NetServerHandler extends NetHandler { } this.player.g(); - this.player.V = 0.0F; + this.player.W = 0.0F; this.player.setLocation(this.y, this.z, this.q, f2, f3); if (!this.checkMovement) { return; @@ -363,7 +363,7 @@ public class NetServerHandler extends NetHandler { // CraftBukkit end double d11 = d8 * d8 + d9 * d9 + d10 * d10; - if (d11 > 100.0D && this.checkMovement && (!this.minecraftServer.H() || !this.minecraftServer.G().equals(this.player.name))) { // CraftBukkit - Added this.checkMovement condition to solve this check being triggered by teleports + if (d11 > 100.0D && this.checkMovement && (!this.minecraftServer.I() || !this.minecraftServer.H().equals(this.player.name))) { // CraftBukkit - Added this.checkMovement condition to solve this check being triggered by teleports logger.warning(this.player.name + " moved too quickly! " + d4 + "," + d6 + "," + d7 + " (" + d8 + ", " + d9 + ", " + d10 + ")"); this.a(this.y, this.z, this.q, this.player.yaw, this.player.pitch); return; @@ -497,11 +497,11 @@ public class NetServerHandler extends NetHandler { } } // CraftBukkit end - this.player.bB(); + this.player.bN(); } else if (packet14blockdig.e == 5) { - this.player.by(); + this.player.bK(); } else { - boolean flag = worldserver.weirdIsOpCache = worldserver.dimension != 0 || this.minecraftServer.getServerConfigurationManager().isOp(this.player.name) || this.minecraftServer.H(); // CraftBukkit + boolean flag = worldserver.worldProvider.dimension != 0 || this.minecraftServer.getServerConfigurationManager().getOPs().isEmpty() || this.minecraftServer.getServerConfigurationManager().isOp(this.player.name) || this.minecraftServer.I(); boolean flag1 = false; if (packet14blockdig.e == 0) { @@ -568,8 +568,6 @@ public class NetServerHandler extends NetHandler { this.player.netServerHandler.sendPacket(new Packet53BlockChange(i, j, k, worldserver)); } } - - worldserver.weirdIsOpCache = false; } } @@ -610,7 +608,7 @@ public class NetServerHandler extends NetHandler { int j = packet15place.f(); int k = packet15place.g(); int l = packet15place.getFace(); - boolean flag1 = worldserver.weirdIsOpCache = worldserver.worldProvider.dimension != 0 || this.minecraftServer.getServerConfigurationManager().isOp(this.player.name) || this.minecraftServer.H(); + boolean flag1 = worldserver.worldProvider.dimension != 0 || this.minecraftServer.getServerConfigurationManager().getOPs().isEmpty() || this.minecraftServer.getServerConfigurationManager().isOp(this.player.name) || this.minecraftServer.I(); if (packet15place.getFace() == 255) { if (itemstack == null) { @@ -647,7 +645,7 @@ public class NetServerHandler extends NetHandler { return; } flag1 = true; // spawn protection moved to ItemBlock!!! - if (j1 > 16 || flag1) { + if (j1 > this.minecraftServer.getSpawnProtection() || flag1) { // CraftBukkit end this.player.itemInWorldManager.interact(this.player, worldserver, itemstack, i, j, k, l, packet15place.j(), packet15place.l(), packet15place.m()); } @@ -699,11 +697,9 @@ public class NetServerHandler extends NetHandler { this.player.h = false; // CraftBukkit - TODO CHECK IF NEEDED -- new if structure might not need 'always'. Kept it in for now, but may be able to remove in future if (!ItemStack.matches(this.player.inventory.getItemInHand(), packet15place.getItemStack()) || always) { - this.sendPacket(new Packet103SetSlot(this.player.activeContainer.windowId, slot.d, this.player.inventory.getItemInHand())); + this.sendPacket(new Packet103SetSlot(this.player.activeContainer.windowId, slot.g, this.player.inventory.getItemInHand())); } } - - worldserver.weirdIsOpCache = false; } public void a(String s, Object[] aobject) { @@ -717,7 +713,7 @@ public class NetServerHandler extends NetHandler { } // CraftBukkit end this.disconnected = true; - if (this.minecraftServer.H() && this.player.name.equals(this.minecraftServer.G())) { + if (this.minecraftServer.I() && this.player.name.equals(this.minecraftServer.H())) { logger.info("Stopping singleplayer server as player logged out"); this.minecraftServer.safeShutdown(); } @@ -938,7 +934,7 @@ public class NetServerHandler extends NetHandler { double d0 = this.player.lastX + (this.player.locX - this.player.lastX) * (double) f; double d1 = this.player.lastY + (this.player.locY - this.player.lastY) * (double) f + 1.62D - (double) this.player.height; double d2 = this.player.lastZ + (this.player.locZ - this.player.lastZ) * (double) f; - Vec3D vec3d = Vec3D.a().create(d0, d1, d2); + Vec3D vec3d = this.player.world.getVec3DPool().create(d0, d1, d2); float f3 = MathHelper.cos(-f2 * 0.017453292F - 3.1415927F); float f4 = MathHelper.sin(-f2 * 0.017453292F - 3.1415927F); @@ -961,7 +957,7 @@ public class NetServerHandler extends NetHandler { if (event.isCancelled()) return; // CraftBukkit end - this.player.i(); + this.player.bE(); } } @@ -1020,7 +1016,7 @@ public class NetServerHandler extends NetHandler { Entity entity = worldserver.getEntity(packet7useentity.target); if (entity != null) { - boolean flag = this.player.l(entity); + boolean flag = this.player.m(entity); double d0 = 36.0D; if (!flag) { @@ -1038,7 +1034,7 @@ public class NetServerHandler extends NetHandler { return; } // CraftBukkit end - this.player.m(entity); + this.player.o(entity); // CraftBukkit start - update the client if the item is an infinite one if (itemInHand != null && itemInHand.count <= -1) { this.player.updateInventory(this.player.activeContainer); @@ -1085,10 +1081,10 @@ public class NetServerHandler extends NetHandler { Bukkit.getServer().getPluginManager().callEvent(event); this.player = this.minecraftServer.getServerConfigurationManager().moveToWorld(this.player, 0, true, event.getTo()); // CraftBukkit end - } else if (this.player.q().getWorldData().isHardcore()) { - if (this.minecraftServer.H() && this.player.name.equals(this.minecraftServer.G())) { + } else if (this.player.p().getWorldData().isHardcore()) { + if (this.minecraftServer.I() && this.player.name.equals(this.minecraftServer.H())) { this.player.netServerHandler.disconnect("You have died. Game over, man, it\'s game over!"); - this.minecraftServer.O(); + this.minecraftServer.P(); } else { BanEntry banentry = new BanEntry(this.player.name); @@ -1121,7 +1117,7 @@ public class NetServerHandler extends NetHandler { this.player.activeContainer.transferTo(this.player.defaultContainer, getPlayer()); // CraftBukkit end - this.player.l(); + this.player.k(); } public void a(Packet102WindowClick packet102windowclick) { @@ -1132,12 +1128,12 @@ public class NetServerHandler extends NetHandler { InventoryView inventory = this.player.activeContainer.getBukkitView(); SlotType type = CraftInventoryView.getSlotType(inventory, packet102windowclick.slot); - InventoryClickEvent event = new InventoryClickEvent(inventory, type, packet102windowclick.slot, packet102windowclick.button != 0, packet102windowclick.shift); + InventoryClickEvent event = new InventoryClickEvent(inventory, type, packet102windowclick.slot, packet102windowclick.button != 0, packet102windowclick.shift == 1); org.bukkit.inventory.Inventory top = inventory.getTopInventory(); if (packet102windowclick.slot == 0 && top instanceof CraftingInventory) { org.bukkit.inventory.Recipe recipe = ((CraftingInventory) top).getRecipe(); if (recipe != null) { - event = new CraftItemEvent(recipe, inventory, type, packet102windowclick.slot, packet102windowclick.button != 0, packet102windowclick.shift); + event = new CraftItemEvent(recipe, inventory, type, packet102windowclick.slot, packet102windowclick.button != 0, packet102windowclick.shift == 1); } } server.getPluginManager().callEvent(event); @@ -1267,7 +1263,7 @@ public class NetServerHandler extends NetHandler { EntityItem entityitem = this.player.drop(itemstack); if (entityitem != null) { - entityitem.d(); + entityitem.c(); } } } @@ -1438,22 +1434,86 @@ public class NetServerHandler extends NetHandler { // exception1.printStackTrace(); // CraftBukkit end } - } else if ("MC|TrSel".equals(packet250custompayload.tag)) { - try { - datainputstream = new DataInputStream(new ByteArrayInputStream(packet250custompayload.data)); - int i = datainputstream.readInt(); - Container container = this.player.activeContainer; + } else { + int i; + + if ("MC|TrSel".equals(packet250custompayload.tag)) { + try { + datainputstream = new DataInputStream(new ByteArrayInputStream(packet250custompayload.data)); + i = datainputstream.readInt(); + Container container = this.player.activeContainer; + + if (container instanceof ContainerMerchant) { + ((ContainerMerchant) container).b(i); + } + } catch (Exception exception2) { + exception2.printStackTrace(); + } + } else { + int j; + + if ("MC|AdvCdm".equals(packet250custompayload.tag)) { + if (!this.minecraftServer.getEnableCommandBlock()) { + this.player.sendMessage(this.player.a("advMode.notEnabled", new Object[0])); + } else if (this.player.a(2, "") && this.player.abilities.canInstantlyBuild) { + try { + datainputstream = new DataInputStream(new ByteArrayInputStream(packet250custompayload.data)); + i = datainputstream.readInt(); + j = datainputstream.readInt(); + int k = datainputstream.readInt(); + String s = Packet.a(datainputstream, 256); + TileEntity tileentity = this.player.world.getTileEntity(i, j, k); + + if (tileentity != null && tileentity instanceof TileEntityCommand) { + ((TileEntityCommand) tileentity).b(s); + this.player.world.notify(i, j, k); + this.player.sendMessage("Command set: " + s); + } + } catch (Exception exception3) { + exception3.printStackTrace(); + } + } else { + this.player.sendMessage(this.player.a("advMode.notAllowed", new Object[0])); + } + } else if ("MC|Beacon".equals(packet250custompayload.tag)) { + if (this.player.activeContainer instanceof ContainerBeacon) { + try { + datainputstream = new DataInputStream(new ByteArrayInputStream(packet250custompayload.data)); + i = datainputstream.readInt(); + j = datainputstream.readInt(); + ContainerBeacon containerbeacon = (ContainerBeacon) this.player.activeContainer; + Slot slot = containerbeacon.getSlot(0); + + if (slot.d()) { + slot.a(1); + TileEntityBeacon tileentitybeacon = containerbeacon.d(); + + tileentitybeacon.d(i); + tileentitybeacon.e(j); + tileentitybeacon.update(); + } + } catch (Exception exception4) { + exception4.printStackTrace(); + } + } + } else if ("MC|ItemName".equals(packet250custompayload.tag) && this.player.activeContainer instanceof ContainerAnvil) { + ContainerAnvil containeranvil = (ContainerAnvil) this.player.activeContainer; + + if (packet250custompayload.data != null && packet250custompayload.data.length >= 1) { + String s1 = SharedConstants.a(new String(packet250custompayload.data)); - if (container instanceof ContainerMerchant) { - ((ContainerMerchant) container).c(i); + if (s1.length() <= 30) { + containeranvil.a(s1); + } + } else { + containeranvil.a(""); + } } - } catch (Exception exception2) { - exception2.printStackTrace(); } } // CraftBukkit start - else if (packet250custompayload.tag.equals("REGISTER")) { + if (packet250custompayload.tag.equals("REGISTER")) { try { String channels = new String(packet250custompayload.data, "UTF8"); for (String channel : channels.split("\0")) { |