summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/NetServerHandler.java
diff options
context:
space:
mode:
authorErik Broes <erikbroes@grum.nl>2012-01-12 23:10:13 +0100
committerErik Broes <erikbroes@grum.nl>2012-01-12 23:10:13 +0100
commit7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee (patch)
treea1ca024b03aadf4b687f442b33bf713aecd511f7 /src/main/java/net/minecraft/server/NetServerHandler.java
parentdd5ef8725c699e0b2946dc0f6d523ca482404043 (diff)
downloadcraftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar
craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.gz
craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.lz
craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.xz
craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.zip
Updated to Minecraft 1.1
Diffstat (limited to 'src/main/java/net/minecraft/server/NetServerHandler.java')
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java88
1 files changed, 48 insertions, 40 deletions
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index 4f0a22c2..3329e219 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -46,11 +46,12 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
private long j;
private static Random k = new Random();
private long l;
+ private int m = 0;
private double x;
private double y;
private double z;
private boolean checkMovement = true;
- private IntHashMap q = new IntHashMap();
+ private IntHashMap r = new IntHashMap();
public NetServerHandler(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) {
this.minecraftServer = minecraftserver;
@@ -97,40 +98,42 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
this.i = k.nextInt();
this.sendPacket(new Packet0KeepAlive(this.i));
}
+
+ if (this.m > 0) {
+ --this.m;
+ }
}
public void disconnect(String s) {
- // CraftBukkit start
- String leaveMessage = "\u00A7e" + this.player.name + " left the game.";
-
- PlayerKickEvent event = new PlayerKickEvent(this.server.getPlayer(this.player), s, leaveMessage);
- this.server.getPluginManager().callEvent(event);
+ if (!this.disconnected) {
+ // CraftBukkit start
+ String leaveMessage = "\u00A7e" + this.player.name + " left the game.";
- if (event.isCancelled()) {
- // Do not kick the player
- return;
- }
- // Send the possibly modified leave message
- s = event.getReason();
- // CraftBukkit end
+ PlayerKickEvent event = new PlayerKickEvent(this.server.getPlayer(this.player), s, leaveMessage);
+ this.server.getPluginManager().callEvent(event);
- this.player.E();
- this.sendPacket(new Packet255KickDisconnect(s));
- this.networkManager.d();
+ if (event.isCancelled()) {
+ // Do not kick the player
+ return;
+ }
+ // Send the possibly modified leave message
+ s = event.getReason();
+ // CraftBukkit end
- // CraftBukkit start
- leaveMessage = event.getLeaveMessage();
- if (leaveMessage != null) {
- this.minecraftServer.serverConfigurationManager.sendAll(new Packet3Chat(leaveMessage));
- }
- // CraftBukkit end
+ this.player.F();
+ this.sendPacket(new Packet255KickDisconnect(s));
+ this.networkManager.d();
- this.minecraftServer.serverConfigurationManager.disconnect(this.player);
- this.disconnected = true;
- }
+ // CraftBukkit start
+ leaveMessage = event.getLeaveMessage();
+ if (leaveMessage != null) {
+ this.minecraftServer.serverConfigurationManager.sendAll(new Packet3Chat(leaveMessage));
+ }
+ // CraftBukkit end
- public void a(Packet27PlayerInput packet27playerinput) {
- this.player.a(packet27playerinput.c(), packet27playerinput.e(), packet27playerinput.g(), packet27playerinput.h(), packet27playerinput.d(), packet27playerinput.f());
+ this.minecraftServer.serverConfigurationManager.disconnect(this.player);
+ this.disconnected = true;
+ }
}
public void a(Packet10Flying packet10flying) {
@@ -305,7 +308,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
}
this.player.a(true);
- this.player.bL = 0.0F;
+ this.player.bO = 0.0F;
this.player.setLocation(this.x, this.y, this.z, f2, f3);
if (!this.checkMovement) {
return;
@@ -452,9 +455,9 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
}
}
// CraftBukkit end
- this.player.N();
+ this.player.O();
} else if (packet14blockdig.e == 5) {
- this.player.I();
+ this.player.J();
} else {
boolean flag = worldserver.weirdIsOpCache = worldserver.dimension != 0 || this.minecraftServer.serverConfigurationManager.isOp(this.player.name); // CraftBukkit
boolean flag1 = false;
@@ -635,7 +638,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
this.player.activeContainer.a();
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.equals(this.player.inventory.getItemInHand(), packet15place.itemstack) || always) {
+ if (!ItemStack.matches(this.player.inventory.getItemInHand(), packet15place.itemstack) || always) {
this.sendPacket(new Packet103SetSlot(this.player.activeContainer.windowId, slot.c, this.player.inventory.getItemInHand()));
}
}
@@ -706,7 +709,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
s = s.trim();
for (int i = 0; i < s.length(); ++i) {
- if (SharedConstants.allowedCharacters.indexOf(s.charAt(i)) < 0) {
+ if (SharedConstants.allowedCharacters.indexOf(s.charAt(i)) < 0 && s.charAt(i) < 32) {
this.disconnect("Illegal characters in chat");
return;
}
@@ -736,11 +739,16 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
for (Player recipient : event.getRecipients()) {
recipient.sendMessage(s);
}
+ // CraftBukkit end
+ }
+
+ this.m += 20;
+ if (this.m > 200) {
+ this.disconnect("disconnect.spam");
}
}
- return false;
- // CraftBukkit end
+ return false; // CraftBukkit
}
private void handleCommand(String s) {
@@ -833,7 +841,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
if (event.isCancelled()) return;
// CraftBukkit end
- this.player.r_();
+ this.player.s_();
}
}
@@ -948,7 +956,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
public void a(Packet101CloseWindow packet101closewindow) {
if (this.player.dead) return; // CraftBukkit
- this.player.D();
+ this.player.E();
}
public void a(Packet102WindowClick packet102windowclick) {
@@ -957,14 +965,14 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
if (this.player.activeContainer.windowId == packet102windowclick.a && this.player.activeContainer.c(this.player)) {
ItemStack itemstack = this.player.activeContainer.a(packet102windowclick.b, packet102windowclick.c, packet102windowclick.f, this.player);
- if (ItemStack.equals(packet102windowclick.e, itemstack)) {
+ if (ItemStack.matches(packet102windowclick.e, itemstack)) {
this.player.netServerHandler.sendPacket(new Packet106Transaction(packet102windowclick.a, packet102windowclick.d, true));
this.player.h = true;
this.player.activeContainer.a();
- this.player.C();
+ this.player.D();
this.player.h = false;
} else {
- this.q.a(this.player.activeContainer.windowId, Short.valueOf(packet102windowclick.d));
+ this.r.a(this.player.activeContainer.windowId, Short.valueOf(packet102windowclick.d));
this.player.netServerHandler.sendPacket(new Packet106Transaction(packet102windowclick.a, packet102windowclick.d, false));
this.player.activeContainer.a(this.player, false);
ArrayList arraylist = new ArrayList();
@@ -1009,7 +1017,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
public void a(Packet106Transaction packet106transaction) {
if (this.player.dead) return; // CraftBukkit
- Short oshort = (Short) this.q.a(this.player.activeContainer.windowId);
+ Short oshort = (Short) this.r.a(this.player.activeContainer.windowId);
if (oshort != null && packet106transaction.b == oshort.shortValue() && this.player.activeContainer.windowId == packet106transaction.a && !this.player.activeContainer.c(this.player)) {
this.player.activeContainer.a(this.player, true);