summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/NetServerHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/NetServerHandler.java')
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java832
1 files changed, 435 insertions, 397 deletions
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index 1d53f57f..111276f6 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -1,7 +1,8 @@
package net.minecraft.server;
-import java.io.PrintStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
import java.util.logging.Logger;
// CraftBukkit start
@@ -28,66 +29,71 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
public static Logger a = Logger.getLogger("Minecraft");
public NetworkManager b;
- public boolean c;
+ public boolean c = false;
private MinecraftServer d;
- private EntityPlayerMP e;
- private int f;
+ private EntityPlayer e;
+ private int f = 0;
private double g;
private double h;
private double i;
- private boolean j;
- private Map k;
+ private boolean j = true;
+ private Map k = new HashMap();
- // CraftBukkit start - next 2 lines
+ public NetServerHandler(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) {
+ this.d = minecraftserver;
+ this.b = networkmanager;
+ networkmanager.a((NetHandler) this);
+ this.e = entityplayer;
+ entityplayer.a = this;
+
+ // CraftBukkit start
+ server = minecraftserver.server;
+ }
private final CraftServer server;
+ // Get position of last block hit for BlockDamageLevel.STOPPED
+ private int lastX;
+ private int lastY;
+ private int lastZ;
+
+ // Store the last block right clicked and what type it was
+ private CraftBlock lastRightClicked;
+ private int lastMaterial;
+
public CraftPlayer getPlayer() {
- return (e == null)?null:(CraftPlayer)e.getBukkitEntity();
+ return (e == null) ? null : (CraftPlayer) e.getBukkitEntity();
}
// CraftBukkit end
- public NetServerHandler(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayerMP entityplayermp) {
- c = false;
- f = 0;
- j = true;
- k = ((Map) (new HashMap()));
- d = minecraftserver;
- b = networkmanager;
- networkmanager.a(((NetHandler) (this)));
- e = entityplayermp;
- entityplayermp.a = this;
-
- // CraftBukkit - next 2 lines
- server = minecraftserver.server;
- }
public void a() {
- b.a();
- if (f++ % 20 == 0) {
- b.a(((Packet) (new Packet0KeepAlive())));
+ this.b.a();
+ if (this.f++ % 20 == 0) {
+ this.b.a((Packet) (new Packet0KeepAlive()));
}
}
public void a(String s) {
- b.a(((Packet) (new Packet255KickDisconnect(s))));
- b.c();
- d.f.a(((Packet) (new Packet3Chat((new StringBuilder()).append("\247e").append(e.aw).append(" left the game.").toString()))));
- d.f.c(e);
- c = true;
+ this.b.a((Packet) (new Packet255KickDisconnect(s)));
+ this.b.c();
+ this.d.f.a((Packet) (new Packet3Chat("§e" + this.e.name + " left the game.")));
+ this.d.f.c(this.e);
+ this.c = true;
}
public void a(Packet10Flying packet10flying) {
- if (!j) {
- double d1 = packet10flying.b - h;
+ double d0;
- if (packet10flying.a == g && d1 * d1 < 0.01D && packet10flying.c == i) {
- j = true;
+ if (!this.j) {
+ d0 = packet10flying.b - this.h;
+ if (packet10flying.a == this.g && d0 * d0 < 0.01D && packet10flying.c == this.i) {
+ this.j = true;
}
}
// CraftBukkit start
Player player = getPlayer();
- Location from = new Location(player.getWorld(), g, h, i, e.v, e.w);
+ Location from = new Location(player.getWorld(), g, h, i, this.e.yaw, this.e.pitch);
Location to = player.getLocation();
if (!from.equals(to)) {
PlayerMoveEvent event = new PlayerMoveEvent(Type.PLAYER_MOVE, player, from, to);
@@ -96,276 +102,287 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
from = event.getFrom();
to = event.isCancelled() ? from : event.getTo();
- e.p = to.getX();
- e.q = to.getY();
- e.r = to.getZ();
- e.v = to.getYaw();
- e.w = to.getPitch();
+ this.e.locX = to.getX();
+ this.e.locY = to.getY();
+ this.e.locZ = to.getZ();
+ this.e.yaw = to.getYaw();
+ this.e.pitch = to.getPitch();
}
// CraftBukkit end
- if (j) {
- if (e.k != null) {
- float f1 = e.v;
- float f2 = e.w;
+ if (this.j) {
+ double d1;
+ double d2;
+ double d3;
+ double d4;
- e.k.E();
- double d3 = e.p;
- double d5 = e.q;
- double d7 = e.r;
- double d9 = 0.0D;
- double d10 = 0.0D;
+ if (this.e.vehicle != null) {
+ float f = this.e.yaw;
+ float f1 = this.e.pitch;
+ this.e.vehicle.E();
+ d1 = this.e.locX;
+ d2 = this.e.locY;
+ d3 = this.e.locZ;
+ double d5 = 0.0D;
+
+ d4 = 0.0D;
if (packet10flying.i) {
- f1 = packet10flying.e;
- f2 = packet10flying.f;
+ f = packet10flying.e;
+ f1 = packet10flying.f;
}
- if (packet10flying.h && packet10flying.b == -999D && packet10flying.d == -999D) {
- d9 = packet10flying.a;
- d10 = packet10flying.c;
+
+ if (packet10flying.h && packet10flying.b == -999.0D && packet10flying.d == -999.0D) {
+ d5 = packet10flying.a;
+ d4 = packet10flying.c;
}
- e.A = packet10flying.g;
- e.n();
- e.c(d9, 0.0D, d10);
- e.b(d3, d5, d7, f1, f2);
- e.s = d9;
- e.u = d10;
- if (e.k != null) {
- d.e.b(e.k, true);
+
+ this.e.onGround = packet10flying.g;
+ this.e.n();
+ this.e.c(d5, 0.0D, d4);
+ this.e.b(d1, d2, d3, f, f1);
+ this.e.motX = d5;
+ this.e.motZ = d4;
+ if (this.e.vehicle != null) {
+ this.d.e.b(this.e.vehicle, true);
}
- if (e.k != null) {
- e.k.E();
+
+ if (this.e.vehicle != null) {
+ this.e.vehicle.E();
}
- d.f.b(e);
- g = e.p;
- h = e.q;
- i = e.r;
- d.e.f(((Entity) (e)));
+
+ this.d.f.b(this.e);
+ this.g = this.e.locX;
+ this.h = this.e.locY;
+ this.i = this.e.locZ;
+ this.d.e.f(this.e);
return;
}
- double d2 = e.q;
-
- g = e.p;
- h = e.q;
- i = e.r;
- double d4 = e.p;
- double d6 = e.q;
- double d8 = e.r;
- float f3 = e.v;
- float f4 = e.w;
- if (packet10flying.h && packet10flying.b == -999D && packet10flying.d == -999D) {
+ d0 = this.e.locY;
+ this.g = this.e.locX;
+ this.h = this.e.locY;
+ this.i = this.e.locZ;
+ d1 = this.e.locX;
+ d2 = this.e.locY;
+ d3 = this.e.locZ;
+ float f2 = this.e.yaw;
+ float f3 = this.e.pitch;
+
+ if (packet10flying.h && packet10flying.b == -999.0D && packet10flying.d == -999.0D) {
packet10flying.h = false;
}
+
if (packet10flying.h) {
- d4 = packet10flying.a;
- d6 = packet10flying.b;
- d8 = packet10flying.c;
- double d11 = packet10flying.d - packet10flying.b;
-
- if (d11 > 1.6499999999999999D || d11 < 0.10000000000000001D) {
- a("Illegal stance");
- a.warning((new StringBuilder()).append(e.aw).append(" had an illegal stance: ").append(d11).toString());
+ d1 = packet10flying.a;
+ d2 = packet10flying.b;
+ d3 = packet10flying.c;
+ d4 = packet10flying.d - packet10flying.b;
+ if (d4 > 1.65D || d4 < 0.1D) {
+ this.a("Illegal stance");
+ a.warning(this.e.name + " had an illegal stance: " + d4);
}
- e.al = packet10flying.d;
+
+ this.e.al = packet10flying.d;
}
+
if (packet10flying.i) {
- f3 = packet10flying.e;
- f4 = packet10flying.f;
- }
- e.n();
- e.R = 0.0F;
- e.b(g, h, i, f3, f4);
- double d12 = d4 - e.p;
- double d13 = d6 - e.q;
- double d14 = d8 - e.r;
- float f5 = 0.0625F;
- boolean flag = d.e.a(((Entity) (e)), e.z.b().e(f5, f5, f5)).size() == 0;
-
- e.c(d12, d13, d14);
- d12 = d4 - e.p;
- d13 = d6 - e.q;
- if (d13 > -0.5D || d13 < 0.5D) {
- d13 = 0.0D;
- }
- d14 = d8 - e.r;
- double d15 = d12 * d12 + d13 * d13 + d14 * d14;
+ f2 = packet10flying.e;
+ f3 = packet10flying.f;
+ }
+
+ this.e.n();
+ this.e.R = 0.0F;
+ this.e.b(this.g, this.h, this.i, f2, f3);
+ d4 = d1 - this.e.locX;
+ double d6 = d2 - this.e.locY;
+ double d7 = d3 - this.e.locZ;
+ float f4 = 0.0625F;
+ boolean flag = this.d.e.a(this.e, this.e.boundingBox.b().e((double) f4, (double) f4, (double) f4)).size() == 0;
+
+ this.e.c(d4, d6, d7);
+ d4 = d1 - this.e.locX;
+ d6 = d2 - this.e.locY;
+ if (d6 > -0.5D || d6 < 0.5D) {
+ d6 = 0.0D;
+ }
+
+ d7 = d3 - this.e.locZ;
+ double d8 = d4 * d4 + d6 * d6 + d7 * d7;
boolean flag1 = false;
- if (d15 > 0.0625D) {
+ if (d8 > 0.0625D) {
flag1 = true;
- a.warning((new StringBuilder()).append(e.aw).append(" moved wrongly!").toString());
- System.out.println((new StringBuilder()).append("Got position ").append(d4).append(", ").append(d6).append(", ").append(d8).toString());
- System.out.println((new StringBuilder()).append("Expected ").append(e.p).append(", ").append(e.q).append(", ").append(e.r).toString());
+ a.warning(this.e.name + " moved wrongly!");
+ System.out.println("Got position " + d1 + ", " + d2 + ", " + d3);
+ System.out.println("Expected " + this.e.locX + ", " + this.e.locY + ", " + this.e.locZ);
}
- e.b(d4, d6, d8, f3, f4);
- boolean flag2 = d.e.a(((Entity) (e)), e.z.b().e(f5, f5, f5)).size() == 0;
+
+ this.e.b(d1, d2, d3, f2, f3);
+ boolean flag2 = this.d.e.a(this.e, this.e.boundingBox.b().e((double) f4, (double) f4, (double) f4)).size() == 0;
if (flag && (flag1 || !flag2)) {
- a(g, h, i, f3, f4);
+ this.a(this.g, this.h, this.i, f2, f3);
return;
}
- e.A = packet10flying.g;
- d.f.b(e);
- e.b(e.q - d2, packet10flying.g);
+
+ this.e.onGround = packet10flying.g;
+ this.d.f.b(this.e);
+ this.e.b(this.e.locY - d0, packet10flying.g);
}
}
- public void a(double d1, double d2, double d3, float f1, float f2) {
+ public void a(double d0, double d1, double d2, float f, float f1) {
// CraftBukkit start
Player player = getPlayer();
Location from = player.getLocation();
- Location to = new Location(player.getWorld(), d1, d2, d3, f1, f2);
+ Location to = new Location(player.getWorld(), d0, d1, d2, f, f1);
PlayerMoveEvent event = new PlayerMoveEvent(Type.PLAYER_TELEPORT, player, from, to);
server.getPluginManager().callEvent(event);
from = event.getFrom();
to = event.isCancelled() ? from : event.getTo();
- d1 = to.getX();
- d2 = to.getY();
- d3 = to.getZ();
- f1 = to.getYaw();
- f2 = to.getPitch();
+ d0 = to.getX();
+ d1 = to.getY();
+ d2 = to.getZ();
+ f = to.getYaw();
+ f1 = to.getPitch();
// CraftBukkit end
- j = false;
- g = d1;
- h = d2;
- i = d3;
- e.b(d1, d2, d3, f1, f2);
- e.a.b(((Packet) (new Packet13PlayerLookMove(d1, d2 + 1.6200000047683716D, d2, d3, f1, f2, false))));
+ this.j = false;
+ this.g = d0;
+ this.h = d1;
+ this.i = d2;
+ this.e.b(d0, d1, d2, f, f1);
+ this.e.a.b((Packet) (new Packet13PlayerLookMove(d0, d1 + 1.6200000047683716D, d1, d2, f, f1, false)));
}
- // CraftBukkit start
- // Get position of last block hit for BlockDamageLevel.STOPPED
- private int lastX;
- private int lastY;
- private int lastZ;
- // CraftBukkit end
-
public void a(Packet14BlockDig packet14blockdig) {
if (packet14blockdig.e == 4) {
- e.O();
- return;
- }
- boolean flag = d.e.B = d.f.g(e.aw);
- boolean flag1 = false;
+ this.e.O();
+ } else {
+ boolean flag = this.d.e.B = this.d.f.g(this.e.name);
+ boolean flag1 = false;
- if (packet14blockdig.e == 0) {
- flag1 = true;
- }
- if (packet14blockdig.e == 1) {
- flag1 = true;
- }
- int l = packet14blockdig.a;
- int i1 = packet14blockdig.b;
- int j1 = packet14blockdig.c;
+ if (packet14blockdig.e == 0) {
+ flag1 = true;
+ }
- if (flag1) {
- double d1 = e.p - ((double) l + 0.5D);
- double d2 = e.q - ((double) i1 + 0.5D);
- double d3 = e.r - ((double) j1 + 0.5D);
- double d4 = d1 * d1 + d2 * d2 + d3 * d3;
+ if (packet14blockdig.e == 1) {
+ flag1 = true;
+ }
- if (d4 > 36D) {
- return;
+ int i = packet14blockdig.a;
+ int j = packet14blockdig.b;
+ int k = packet14blockdig.c;
+
+ if (flag1) {
+ double d0 = this.e.locX - ((double) i + 0.5D);
+ double d1 = this.e.locY - ((double) j + 0.5D);
+ double d2 = this.e.locZ - ((double) k + 0.5D);
+ double d3 = d0 * d0 + d1 * d1 + d2 * d2;
+
+ if (d3 > 36.0D) {
+ return;
+ }
+
+ double d4 = this.e.locY;
+
+ this.e.locY = this.e.al;
+ this.e.locY = d4;
}
- double d5 = e.q;
- e.q = e.al;
- e.q = d5;
- }
- int k1 = packet14blockdig.d;
- int l1 = (int) MathHelper.e(l - d.e.m);
- int i2 = (int) MathHelper.e(j1 - d.e.o);
+ int l = packet14blockdig.d;
+ int i1 = (int) MathHelper.e((float) (i - this.d.e.spawnX));
+ int j1 = (int) MathHelper.e((float) (k - this.d.e.spawnZ));
- if (l1 > i2) {
- i2 = l1;
- }
+ if (i1 > j1) {
+ j1 = i1;
+ }
- // CraftBukkit start
- CraftPlayer player = getPlayer();
- CraftBlock block = (CraftBlock) player.getWorld().getBlockAt(l, i1, j1);
- int blockId = block.getTypeId();
- float damage = 0;
- if(Block.m[blockId] != null) {
- damage = Block.m[blockId].a(player.getHandle()); //Get amount of damage going to block
- }
+ // CraftBukkit start
+ CraftPlayer player = getPlayer();
+ CraftBlock block = (CraftBlock) player.getWorld().getBlockAt(l, i1, j1);
+ int blockId = block.getTypeId();
+ float damage = 0;
+ if(Block.byId[blockId] != null) {
+ damage = Block.byId[blockId].a(player.getHandle()); //Get amount of damage going to block
+ }
+ // CraftBukkit end
- if (packet14blockdig.e == 0) {
- if (i2 > 16 || flag) {
- if(blockId > 0) {
+ if (packet14blockdig.e == 0) {
+ if (j1 > 16 || flag) {
+ // CraftBukkit start
+ if(blockId > 0) {
+ BlockDamageEvent event;
+ // If the amount of damage that the player is going to do to the block
+ // is >= 1, then the block is going to break (eg, flowers, torches)
+ if (damage >= 1.0F) {
+ event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.BROKEN, player);
+ } else {
+ event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.STARTED, player);
+ }
+ server.getPluginManager().callEvent(event);
+ if (!event.isCancelled()) {
+ this.e.c.a(i, j, k);
+ }
+ }
+ // CraftBukkit end
+ }
+ } else if (packet14blockdig.e == 2) {
+ // CraftBukkit start - Get last block that the player hit
+ // Otherwise the block is a Bedrock @(0,0,0)
+ block = (CraftBlock) player.getWorld().getBlockAt(lastX, lastY, lastZ);
+ BlockDamageEvent event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.STOPPED, player);
+ server.getPluginManager().callEvent(event);
+ if (!event.isCancelled()) {
+ this.e.c.a();
+ }
+ // CraftBukkit end
+ } else if (packet14blockdig.e == 1) {
+ if (j1 > 16 || flag) {
+ // CraftBukkit start
BlockDamageEvent event;
- // If the amount of damage that the player is going to do to the block
- // is >= 1, then the block is going to break (eg, flowers, torches)
- if (damage >= 1.0F) {
+ // If the amount of damage going to the block plus the current amount
+ // of damage is greater than 1, the block is going to break.
+ if (e.c.d + damage >= 1.0F) {
event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.BROKEN, player);
} else {
- event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.STARTED, player);
+ event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.DIGGING, player);
}
server.getPluginManager().callEvent(event);
if (!event.isCancelled()) {
- e.c.a(l, i1, j1);
+ this.e.c.a(i, j, k, l);
+ } else {
+ e.c.d = 0; // Reset the amount of damage if stopping break.
}
+ // CraftBukkit end
}
- }
- } else if (packet14blockdig.e == 2) {
- // CraftBukkit start - Get last block that the player hit
- // Otherwise the block is a Bedrock @(0,0,0)
- block = (CraftBlock) player.getWorld().getBlockAt(lastX, lastY, lastZ);
- BlockDamageEvent event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.STOPPED, player);
- server.getPluginManager().callEvent(event);
- if (!event.isCancelled()) {
- e.c.a();
- }
- // CraftBukkit end
- } else if (packet14blockdig.e == 1) {
- if (i2 > 16 || flag) {
- // CraftBukkit start
- BlockDamageEvent event;
- // If the amount of damage going to the block plus the current amount
- // of damage is greater than 1, the block is going to break.
- if (e.c.d + damage >= 1.0F) {
- event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.BROKEN, player);
- } else {
- event = new BlockDamageEvent(Type.BLOCK_DAMAGED, block, BlockDamageLevel.DIGGING, player);
- }
- server.getPluginManager().callEvent(event);
- if (!event.isCancelled()) {
- e.c.a(l, i1, j1, k1);
- } else {
- e.c.d = 0; // Reset the amount of damage if stopping break.
+ } else if (packet14blockdig.e == 3) {
+ double d5 = this.e.locX - ((double) i + 0.5D);
+ double d6 = this.e.locY - ((double) j + 0.5D);
+ double d7 = this.e.locZ - ((double) k + 0.5D);
+ double d8 = d5 * d5 + d6 * d6 + d7 * d7;
+
+ if (d8 < 256.0D) {
+ this.e.a.b((Packet) (new Packet53BlockChange(i, j, k, this.d.e)));
}
- // CraftBukkit end
}
- } else if (packet14blockdig.e == 3) {
- double d6 = e.p - ((double) l + 0.5D);
- double d7 = e.q - ((double) i1 + 0.5D);
- double d8 = e.r - ((double) j1 + 0.5D);
- double d9 = d6 * d6 + d7 * d7 + d8 * d8;
- if (d9 < 256D) {
- e.a.b(((Packet) (new Packet53BlockChange(l, i1, j1, ((World) (d.e))))));
- }
- }
-
- // CraftBukkit start
- lastX = l;
- lastY = i1;
- lastZ = j1;
- // CraftBukkit end
+ // CraftBukkit start
+ lastX = i;
+ lastY = j;
+ lastZ = k;
+ // CraftBukkit end
- d.e.B = false;
+ this.d.e.B = false;
+ }
}
- // CraftBukkit start - store the last block right clicked and what type it was
- CraftBlock lastRightClicked;
- int lastMaterial;
-
public void a(Packet15Place packet15place) {
- ItemStack itemstack = e.an.e();
- boolean flag = d.e.B = d.f.g(e.aw);
+ ItemStack itemstack = this.e.inventory.e();
+ boolean flag = this.d.e.B = this.d.f.g(this.e.name);
// CraftBukkit start
CraftBlock blockClicked = null;
@@ -373,7 +390,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
if (packet15place.d == 255) {
// CraftBukkit ITEM_USE -- if we have a lastRightClicked then it could be a usable location
- if (packet15place.e != null && packet15place.e.c == lastMaterial) {
+ if (packet15place.e != null && packet15place.e.id == lastMaterial) {
blockClicked = lastRightClicked;
} else if (lastMaterial == 0) {
blockClicked = lastRightClicked;
@@ -384,7 +401,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
// CraftBukkit RIGHTCLICK or BLOCK_PLACE .. or nothing
blockClicked = (CraftBlock) d.e.getWorld().getBlockAt(packet15place.a, packet15place.b, packet15place.c);
lastRightClicked = blockClicked;
- lastMaterial = (packet15place.e == null) ? 0 : packet15place.e.c;
+ lastMaterial = (packet15place.e == null) ? 0 : packet15place.e.id;
}
if (blockClicked != null && itemstack != null) {
@@ -406,10 +423,10 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
// CraftBukkit start
Type eventType = Type.PLAYER_ITEM;
- Player who = (e == null)?null:(Player)e.getBukkitEntity();
+ Player who = (this.e == null) ? null : (Player) this.e.getBukkitEntity();
org.bukkit.inventory.ItemStack itemInHand = new CraftItemStack(itemstack);
-
- PlayerItemEvent pie = new PlayerItemEvent(eventType, who, itemInHand, blockClicked, blockFace);
+
+ PlayerItemEvent event = new PlayerItemEvent(eventType, who, itemInHand, blockClicked, blockFace);
// CraftBukkit We still call this event even in spawn protection.
// Don't call this event if using Buckets / signs
@@ -420,136 +437,149 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
case LAVA_BUCKET:
break;
default:
- server.getPluginManager().callEvent(pie);
+ server.getPluginManager().callEvent(event);
}
- if (!pie.isCancelled()) {
- int itemstackAmount = itemstack.a;
- e.c.a(((EntityPlayer) (e)), ((World) (d.e)), itemstack);
+ if (!event.isCancelled()) {
+ int itemstackAmount = itemstack.count;
+ this.e.c.a(this.e, this.d.e, itemstack);
+
// CraftBukkit notch decrements the counter by 1 in the above method with food,
// snowballs and so forth, but he does it in a place that doesnt cause the
// inventory update packet to get sent
- always = (itemstack.a != itemstackAmount);
+ always = (itemstack.count != itemstackAmount);
}
// CraftBukkit end
} else {
- int l = packet15place.a;
- int i1 = packet15place.b;
- int j1 = packet15place.c;
- int k1 = packet15place.d;
- int l1 = (int) MathHelper.e(l - d.e.m);
- int i2 = (int) MathHelper.e(j1 - d.e.o);
-
- if (l1 > i2) {
- i2 = l1;
+ int i = packet15place.a;
+ int j = packet15place.b;
+ int k = packet15place.c;
+ int l = packet15place.d;
+ int i1 = (int) MathHelper.e((float) (i - this.d.e.spawnX));
+ int j1 = (int) MathHelper.e((float) (k - this.d.e.spawnZ));
+
+ if (i1 > j1) {
+ j1 = i1;
}
- // CraftBukkit start - spawn proection moved to ItemBlock!!!
+
+ // CraftBukkit start - spawn protection moved to ItemBlock!!!
CraftItemStack craftItem = new CraftItemStack(itemstack);
Player player = getPlayer();
- BlockRightClickEvent brce = new BlockRightClickEvent(Type.BLOCK_RIGHTCLICKED, blockClicked, blockFace, craftItem, player);
- server.getPluginManager().callEvent(brce);
+ BlockRightClickEvent event = new BlockRightClickEvent(Type.BLOCK_RIGHTCLICKED, blockClicked, blockFace, craftItem, player);
+ server.getPluginManager().callEvent(event);
- e.c.a(((EntityPlayer) (e)), ((World) (d.e)), itemstack, l, i1, j1, k1);
+ this.e.c.a(this.e, this.d.e, itemstack, i, j, k, l);
// CraftBukkit end
- e.a.b(((Packet) (new Packet53BlockChange(l, i1, j1, ((World) (d.e))))));
- if (k1 == 0) {
- i1--;
+ this.e.a.b((Packet) (new Packet53BlockChange(i, j, k, this.d.e)));
+ if (l == 0) {
+ --j;
}
- if (k1 == 1) {
- i1++;
+
+ if (l == 1) {
+ ++j;
}
- if (k1 == 2) {
- j1--;
+
+ if (l == 2) {
+ --k;
}
- if (k1 == 3) {
- j1++;
+
+ if (l == 3) {
+ ++k;
}
- if (k1 == 4) {
- l--;
+
+ if (l == 4) {
+ --i;
}
- if (k1 == 5) {
- l++;
+
+ if (l == 5) {
+ ++i;
}
- e.a.b(((Packet) (new Packet53BlockChange(l, i1, j1, ((World) (d.e))))));
+
+ this.e.a.b((Packet) (new Packet53BlockChange(i, j, k, this.d.e)));
}
- if (itemstack != null && itemstack.a == 0) {
- e.an.a[e.an.c] = null;
+
+ if (itemstack != null && itemstack.count == 0) {
+ this.e.inventory.a[this.e.inventory.c] = null;
}
- e.am = true;
- e.an.a[e.an.c] = ItemStack.b(e.an.a[e.an.c]);
- Slot slot = e.ap.a(((IInventory) (e.an)), e.an.c);
- e.ap.a();
- e.am = false;
+ this.e.am = true;
+ this.e.inventory.a[this.e.inventory.c] = ItemStack.b(this.e.inventory.a[this.e.inventory.c]);
+ Slot slot = this.e.activeContainer.a(this.e.inventory, this.e.inventory.c);
+
+ this.e.activeContainer.a();
+ this.e.am = false;
+
// CraftBukkit - Boolean flag
- if (!ItemStack.a(e.an.e(), packet15place.e) || always) {
- b(((Packet) (new Packet103(e.ap.f, slot.c, e.an.e()))));
+ if (!ItemStack.a(this.e.inventory.e(), packet15place.e) || always) {
+ this.b((Packet) (new Packet103SetSlot(this.e.activeContainer.f, slot.c, this.e.inventory.e())));
}
- d.e.B = false;
+
+ this.d.e.B = false;
}
- public void a(String s, Object aobj[]) {
- a.info((new StringBuilder()).append(e.aw).append(" lost connection: ").append(s).toString());
- d.f.a(((Packet) (new Packet3Chat((new StringBuilder()).append("\247e").append(e.aw).append(" left the game.").toString()))));
- d.f.c(e);
- c = true;
+ public void a(String s, Object[] aobject) {
+ a.info(this.e.name + " lost connection: " + s);
+ this.d.f.a((Packet) (new Packet3Chat("§e" + this.e.name + " left the game.")));
+ this.d.f.c(this.e);
+ this.c = true;
}
public void a(Packet packet) {
- a.warning((new StringBuilder()).append((((this).getClass()))).append(" wasn't prepared to deal with a ").append(((((packet)).getClass()))).toString());
- a("Protocol error, unexpected packet");
+ a.warning(this.getClass() + " wasn\'t prepared to deal with a " + packet.getClass());
+ this.a("Protocol error, unexpected packet");
}
public void b(Packet packet) {
- b.a(packet);
+ this.b.a(packet);
}
public void a(Packet16BlockItemSwitch packet16blockitemswitch) {
- e.an.c = packet16blockitemswitch.a;
+ this.e.inventory.c = packet16blockitemswitch.a;
}
public void a(Packet3Chat packet3chat) {
String s = packet3chat.a;
if (s.length() > 100) {
- a("Chat message too long");
- return;
- }
- s = s.trim();
- for (int l = 0; l < s.length(); l++) {
- if (FontAllowedCharacters.a.indexOf(((int) (s.charAt(l)))) < 0) {
- a("Illegal characters in chat");
- return;
- }
- }
-
- if (s.startsWith("/")) {
- c(s);
+ this.a("Chat message too long");
} else {
- // CraftBukkit start
- Player player = getPlayer();
- PlayerChatEvent event = new PlayerChatEvent(Type.PLAYER_CHAT, player, s);
- server.getPluginManager().callEvent(event);
- s = String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage());
- if (event.isCancelled()) {
- return;
+ s = s.trim();
+
+ for (int i = 0; i < s.length(); ++i) {
+ if (FontAllowedCharacters.a.indexOf(s.charAt(i)) < 0) {
+ this.a("Illegal characters in chat");
+ return;
+ }
}
- // CraftBukkit end
- a.info(s);
- d.f.a(((Packet) (new Packet3Chat(s))));
+ if (s.startsWith("/")) {
+ this.c(s);
+ } else {
+ // CraftBukkit start
+ Player player = getPlayer();
+ PlayerChatEvent event = new PlayerChatEvent(Type.PLAYER_CHAT, player, s);
+ server.getPluginManager().callEvent(event);
+ s = String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage());
+ if (event.isCancelled()) {
+ return;
+ }
+ // CraftBukkit end
+
+ a.info(s);
+ this.d.f.a((Packet) (new Packet3Chat(s)));
+ }
}
}
private void c(String s) {
// CraftBukkit start
CraftPlayer player = getPlayer();
- boolean targetPluginFound = server.dispatchCommand(player , s);
+ boolean targetPluginFound = server.dispatchCommand(player, s);
if (targetPluginFound) {
return;
}
-
+
PlayerChatEvent event = new PlayerChatEvent(Type.PLAYER_COMMAND, player, s);
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -557,167 +587,175 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
}
s = event.getMessage();
player = (CraftPlayer) event.getPlayer();
- EntityPlayerMP e = player.getHandle();
+ EntityPlayer e = player.getHandle();
// CraftBukkit stop
if (s.toLowerCase().startsWith("/me ")) {
- s = (new StringBuilder()).append("* ").append(e.aw).append(" ").append(s.substring(s.indexOf(" ")).trim()).toString();
+ s = "* " + this.e.name + " " + s.substring(s.indexOf(" ")).trim();
a.info(s);
- d.f.a(((Packet) (new Packet3Chat(s))));
+ this.d.f.a((Packet) (new Packet3Chat(s)));
} else if (s.toLowerCase().startsWith("/kill")) {
- e.a(((Entity) (null)), 1000);
+ this.e.a((Entity) null, 1000);
} else if (s.toLowerCase().startsWith("/tell ")) {
- String as[] = s.split(" ");
+ String[] astring = s.split(" ");
- if (as.length >= 3) {
+ if (astring.length >= 3) {
s = s.substring(s.indexOf(" ")).trim();
s = s.substring(s.indexOf(" ")).trim();
- s = (new StringBuilder()).append("\2477").append(e.aw).append(" whispers ").append(s).toString();
- a.info((new StringBuilder()).append(s).append(" to ").append(as[1]).toString());
- if (!d.f.a(as[1], ((Packet) (new Packet3Chat(s))))) {
- b(((Packet) (new Packet3Chat("\247cThere's no player by that name online."))));
+ s = "§7" + this.e.name + " whispers " + s;
+ a.info(s + " to " + astring[1]);
+ if (!this.d.f.a(astring[1], (Packet) (new Packet3Chat(s)))) {
+ this.b((Packet) (new Packet3Chat("§cThere\'s no player by that name online.")));
}
}
- } else if (d.f.g(e.aw)) {
- String s1 = s.substring(1);
-
- a.info((new StringBuilder()).append(e.aw).append(" issued server command: ").append(s1).toString());
- d.a(s1, ((ICommandListener) (this)));
} else {
- String s2 = s.substring(1);
+ String s1;
- a.info((new StringBuilder()).append(e.aw).append(" tried command: ").append(s2).toString());
+ if (this.d.f.g(this.e.name)) {
+ s1 = s.substring(1);
+ a.info(this.e.name + " issued server command: " + s1);
+ this.d.a(s1, (ICommandListener) this);
+ } else {
+ s1 = s.substring(1);
+ a.info(this.e.name + " tried command: " + s1);
+ }
}
}
public void a(Packet18ArmAnimation packet18armanimation) {
if (packet18armanimation.b == 1) {
+ // CraftBukkit start - Arm swing animation
Player player = getPlayer();
- // CraftBukkit: Arm swing animation
PlayerAnimationEvent event = new PlayerAnimationEvent(Type.PLAYER_ANIMATION, player);
server.getPluginManager().callEvent(event);
-
- e.K();
+ // CraftBukkit end
+
+ this.e.K();
}
}
- public void a(Packet19 packet19) {
- if (packet19.b == 1) {
- e.b(true);
- } else if (packet19.b == 2) {
- e.b(false);
+ public void a(Packet19EntityAction packet19entityaction) {
+ if (packet19entityaction.b == 1) {
+ this.e.b(true);
+ } else if (packet19entityaction.b == 2) {
+ this.e.b(false);
}
}
public void a(Packet255KickDisconnect packet255kickdisconnect) {
- b.a("disconnect.quitting", new Object[0]);
+ this.b.a("disconnect.quitting", new Object[0]);
}
public int b() {
- return b.d();
+ return this.b.d();
}
public void b(String s) {
- b(((Packet) (new Packet3Chat((new StringBuilder()).append("\2477").append(s).toString()))));
+ this.b((Packet) (new Packet3Chat("§7" + s)));
}
public String c() {
- return e.aw;
+ return this.e.name;
}
- public void a(Packet7 packet7) {
- Entity entity = d.e.a(packet7.b);
+ public void a(Packet7UseEntity packet7useentity) {
+ Entity entity = this.d.e.a(packet7useentity.b);
- if (entity != null && e.i(entity)) {
- if (packet7.c == 0) {
- e.g(entity);
- } else if (packet7.c == 1) {
- e.h(entity);
+ if (entity != null && this.e.i(entity)) {
+ if (packet7useentity.c == 0) {
+ this.e.g(entity);
+ } else if (packet7useentity.c == 1) {
+ this.e.h(entity);
}
}
}
- public void a(Packet9 packet9) {
- if (e.aZ > 0) {
- return;
- } else {
- e = d.f.d(e);
+ public void a(Packet9Respawn packet9respawn) {
+ if (this.e.health <= 0) {
+ this.e = this.d.f.d(this.e);
+
+ // CraftBukkit start
CraftPlayer player = getPlayer();
- player.setHandle(e); // CraftBukkit
- return;
+ player.setHandle(e);
+ // CraftBukkit end
}
}
- public void a(Packet101 packet101) {
- e.N();
+ public void a(Packet101CloseWindow packet101closewindow) {
+ this.e.N();
}
- public void a(Packet102 packet102) {
- if (e.ap.f == packet102.a && e.ap.c(((EntityPlayer) (e)))) {
- ItemStack itemstack = e.ap.a(packet102.b, packet102.c, ((EntityPlayer) (e)));
+ public void a(Packet102WindowClick packet102windowclick) {
+ if (this.e.activeContainer.f == packet102windowclick.a && this.e.activeContainer.c(this.e)) {
+ ItemStack itemstack = this.e.activeContainer.a(packet102windowclick.b, packet102windowclick.c, this.e);
- if (ItemStack.a(packet102.e, itemstack)) {
- e.a.b(((Packet) (new Packet106(packet102.a, packet102.d, true))));
- e.am = true;
- e.ap.a();
- e.M();
- e.am = false;
+ if (ItemStack.a(packet102windowclick.e, itemstack)) {
+ this.e.a.b((Packet) (new Packet106Transaction(packet102windowclick.a, packet102windowclick.d, true)));
+ this.e.am = true;
+ this.e.activeContainer.a();
+ this.e.M();
+ this.e.am = false;
} else {
- k.put(((Integer.valueOf(e.ap.f))), ((Short.valueOf(packet102.d))));
- e.a.b(((Packet) (new Packet106(packet102.a, packet102.d, false))));
- e.ap.a(((EntityPlayer) (e)), false);
+ this.k.put(Integer.valueOf(this.e.activeContainer.f), Short.valueOf(packet102windowclick.d));
+ this.e.a.b((Packet) (new Packet106Transaction(packet102windowclick.a, packet102windowclick.d, false)));
+ this.e.activeContainer.a(this.e, false);
ArrayList arraylist = new ArrayList();
- for (int l = 0; l < e.ap.e.size(); l++) {
- ((List) (arraylist)).add(((((Slot) e.ap.e.get(l)).c())));
+ for (int i = 0; i < this.e.activeContainer.e.size(); ++i) {
+ arraylist.add(((Slot) this.e.activeContainer.e.get(i)).c());
}
- e.a(e.ap, ((List) (arraylist)));
+ this.e.a(this.e.activeContainer, arraylist);
}
}
}
- public void a(Packet106 packet106) {
- Short short1 = (Short) k.get(((Integer.valueOf(e.ap.f))));
+ public void a(Packet106Transaction packet106transaction) {
+ Short oshort = (Short) this.k.get(Integer.valueOf(this.e.activeContainer.f));
- if (short1 != null && packet106.b == short1.shortValue() && e.ap.f == packet106.a && !e.ap.c(((EntityPlayer) (e)))) {
- e.ap.a(((EntityPlayer) (e)), true);
+ if (oshort != null && packet106transaction.b == oshort.shortValue() && this.e.activeContainer.f == packet106transaction.a && !this.e.activeContainer.c(this.e)) {
+ this.e.activeContainer.a(this.e, true);
}
}
- public void a(Packet130 packet130) {
- if (d.e.f(packet130.a, packet130.b, packet130.c)) {
- TileEntity tileentity = d.e.m(packet130.a, packet130.b, packet130.c);
+ public void a(Packet130UpdateSign packet130updatesign) {
+ if (this.d.e.f(packet130updatesign.a, packet130updatesign.b, packet130updatesign.c)) {
+ TileEntity tileentity = this.d.e.getTileEntity(packet130updatesign.a, packet130updatesign.b, packet130updatesign.c);
+
+ int i;
+ int j;
- for (int l = 0; l < 4; l++) {
+ for (i = 0; i < 4; ++i) {
boolean flag = true;
- if (packet130.d[l].length() > 15) {
+ if (packet130updatesign.d[i].length() > 15) {
flag = false;
} else {
- for (int k1 = 0; k1 < packet130.d[l].length(); k1++) {
- if (FontAllowedCharacters.a.indexOf(((int) (packet130.d[l].charAt(k1)))) < 0) {
+ for (j = 0; j < packet130updatesign.d[i].length(); ++j) {
+ if (FontAllowedCharacters.a.indexOf(packet130updatesign.d[i].charAt(j)) < 0) {
flag = false;
}
}
}
+
if (!flag) {
- packet130.d[l] = "!?";
+ packet130updatesign.d[i] = "!?";
}
}
if (tileentity instanceof TileEntitySign) {
- int i1 = packet130.a;
- int j1 = packet130.b;
- int l1 = packet130.c;
+ i = packet130updatesign.a;
+ int k = packet130updatesign.b;
+
+ j = packet130updatesign.c;
TileEntitySign tileentitysign = (TileEntitySign) tileentity;
- for (int i2 = 0; i2 < 4; i2++) {
- tileentitysign.e[i2] = packet130.d[i2];
+ for (int l = 0; l < 4; ++l) {
+ tileentitysign.e[l] = packet130updatesign.d[l];
}
tileentitysign.d();
- d.e.g(i1, j1, l1);
+ this.d.e.g(i, k, j);
}
}
}