From b17efb5b07a87b81c2c71bf2826dd1f6642abf84 Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 5 May 2025 18:27:06 +0200 Subject: [PATCH] split client and server 2 --- java/src/client/Game.java | 6 +- java/src/client/PlayerController.java | 2 +- java/src/client/gui/GuiConnect.java | 4 +- java/src/client/gui/GuiConsole.java | 7 +- java/src/client/gui/GuiServer.java | 14 +- java/src/client/gui/character/GuiChar.java | 8 +- java/src/client/gui/ingame/GuiSign.java | 2 +- .../network/ClientLoginHandler.java | 8 +- .../network/ClientPlayer.java | 8 +- java/src/game/IServer.java | 33 ++ java/src/game/entity/npc/EntityNPC.java | 12 +- java/src/game/entity/types/EntityLiving.java | 6 +- .../src/game/network/IClientLoginHandler.java | 15 + java/src/game/network/IClientPlayer.java | 315 ++++++++++++++++++ java/src/game/network/IHandshakeHandler.java | 9 + java/src/game/network/ILoginHandler.java | 9 + java/src/game/network/IPlayer.java | 173 ++++++++++ java/src/game/network/NetConnection.java | 1 + java/src/game/network/NetHandler.java | 4 +- java/src/game/network/Packet.java | 2 +- java/src/game/packet/APacketEmpty.java | 3 +- java/src/game/packet/APacketVarInt.java | 3 +- java/src/game/packet/CPacketAction.java | 6 +- java/src/game/packet/CPacketBook.java | 6 +- java/src/game/packet/CPacketBreak.java | 6 +- java/src/game/packet/CPacketCheat.java | 6 +- java/src/game/packet/CPacketClick.java | 6 +- java/src/game/packet/CPacketComplete.java | 6 +- java/src/game/packet/CPacketInput.java | 6 +- java/src/game/packet/CPacketKeepAlive.java | 6 +- java/src/game/packet/CPacketMessage.java | 14 +- java/src/game/packet/CPacketPlace.java | 6 +- java/src/game/packet/CPacketPlayer.java | 6 +- java/src/game/packet/CPacketSign.java | 6 +- java/src/game/packet/CPacketSkin.java | 6 +- java/src/game/packet/HPacketHandshake.java | 6 +- .../game/packet/LPacketPasswordResponse.java | 14 +- java/src/game/packet/RPacketDisconnect.java | 6 +- .../game/packet/RPacketEnableCompression.java | 6 +- java/src/game/packet/RPacketLoginSuccess.java | 6 +- java/src/game/packet/S14PacketEntity.java | 6 +- .../game/packet/S18PacketEntityTeleport.java | 6 +- .../game/packet/S19PacketEntityHeadLook.java | 6 +- .../game/packet/S1APacketEntityStatus.java | 6 +- .../game/packet/S1BPacketEntityAttach.java | 6 +- .../game/packet/S1CPacketEntityMetadata.java | 6 +- .../game/packet/S1DPacketEntityEffect.java | 6 +- .../packet/S1EPacketRemoveEntityEffect.java | 6 +- .../packet/S20PacketEntityProperties.java | 6 +- java/src/game/packet/S27PacketExplosion.java | 6 +- java/src/game/packet/S28PacketEffect.java | 6 +- .../src/game/packet/S29PacketSoundEffect.java | 6 +- java/src/game/packet/S2APacketParticles.java | 6 +- .../game/packet/S2BPacketChangeGameState.java | 6 +- .../packet/S2CPacketSpawnGlobalEntity.java | 6 +- java/src/game/packet/S2DPacketOpenWindow.java | 6 +- .../src/game/packet/S2EPacketCloseWindow.java | 6 +- java/src/game/packet/S2FPacketSetSlot.java | 6 +- .../src/game/packet/S30PacketWindowItems.java | 6 +- .../game/packet/S31PacketWindowProperty.java | 6 +- .../packet/S32PacketConfirmTransaction.java | 6 +- java/src/game/packet/S33PacketUpdateSign.java | 6 +- .../packet/S35PacketUpdateTileEntity.java | 6 +- .../game/packet/S36PacketSignEditorOpen.java | 6 +- .../game/packet/S38PacketPlayerListItem.java | 18 +- .../game/packet/S39PacketPlayerAbilities.java | 6 +- .../src/game/packet/S3APacketTabComplete.java | 6 +- .../game/packet/S43PacketUpdateEntityNBT.java | 6 +- java/src/game/packet/SPacketAnimation.java | 6 +- java/src/game/packet/SPacketBiomes.java | 6 +- java/src/game/packet/SPacketBlockAction.java | 6 +- .../game/packet/SPacketBlockBreakAnim.java | 6 +- java/src/game/packet/SPacketBlockChange.java | 6 +- java/src/game/packet/SPacketCamera.java | 6 +- .../src/game/packet/SPacketCharacterList.java | 12 +- java/src/game/packet/SPacketChunkData.java | 6 +- java/src/game/packet/SPacketCollectItem.java | 6 +- .../game/packet/SPacketDestroyEntities.java | 6 +- .../src/game/packet/SPacketDimensionName.java | 6 +- java/src/game/packet/SPacketDisconnect.java | 6 +- .../game/packet/SPacketEntityEquipment.java | 6 +- .../game/packet/SPacketEntityVelocity.java | 6 +- .../game/packet/SPacketHeldItemChange.java | 6 +- java/src/game/packet/SPacketJoinGame.java | 6 +- java/src/game/packet/SPacketKeepAlive.java | 6 +- java/src/game/packet/SPacketLoading.java | 6 +- java/src/game/packet/SPacketMapChunkBulk.java | 6 +- java/src/game/packet/SPacketMessage.java | 6 +- .../game/packet/SPacketMultiBlockChange.java | 6 +- .../src/game/packet/SPacketPlayerPosLook.java | 6 +- java/src/game/packet/SPacketRespawn.java | 6 +- java/src/game/packet/SPacketServerTick.java | 6 +- .../src/game/packet/SPacketSetExperience.java | 6 +- java/src/game/packet/SPacketSkin.java | 6 +- java/src/game/packet/SPacketSpawnMob.java | 6 +- java/src/game/packet/SPacketSpawnObject.java | 6 +- java/src/game/packet/SPacketSpawnPlayer.java | 6 +- java/src/game/packet/SPacketTimeUpdate.java | 6 +- java/src/game/packet/SPacketTrades.java | 6 +- java/src/game/packet/SPacketUpdateHealth.java | 6 +- java/src/game/packet/SPacketWorld.java | 6 +- .../game/{network => util}/LazyLoadBase.java | 2 +- java/src/game/world/WorldServer.java | 50 ++- java/src/server/Server.java | 24 +- .../{game => server}/command/ArgCombiner.java | 2 +- .../{game => server}/command/Argument.java | 2 +- .../command/ArgumentParser.java | 2 +- .../command/ArgumentSplitter.java | 2 +- .../command/BooleanParser.java | 2 +- .../command/CachedExecutable.java | 2 +- .../{game => server}/command/ColorParser.java | 2 +- .../src/{game => server}/command/Command.java | 4 +- .../command/CommandEnvironment.java | 34 +- .../{game => server}/command/Completer.java | 2 +- .../command/CompletingParser.java | 2 +- .../command/DefaultingParser.java | 2 +- .../command/DimensionParser.java | 2 +- .../command/DoubleParser.java | 2 +- .../command/EntityListParser.java | 4 +- .../command/EntityParser.java | 2 +- .../{game => server}/command/EnumParser.java | 2 +- .../{game => server}/command/Executable.java | 2 +- .../{game => server}/command/Executor.java | 2 +- .../command/FixedExecutor.java | 2 +- .../{game => server}/command/IntParser.java | 2 +- .../{game => server}/command/LongParser.java | 2 +- .../command/NonDefaultingParser.java | 2 +- .../{game => server}/command/Parameter.java | 2 +- .../command/PatternReplacer.java | 2 +- .../command/PlayerEntityListParser.java | 4 +- .../command/PlayerEntityParser.java | 4 +- .../command/PlayerListParser.java | 4 +- .../command/PlayerParser.java | 4 +- .../command/RunException.java | 2 +- .../command/StringCompleter.java | 2 +- .../command/StringParser.java | 2 +- .../{game => server}/command/TagParser.java | 2 +- .../{game => server}/command/Variable.java | 2 +- .../{game => server}/command/WorldParser.java | 2 +- .../command/commands/CommandAdmin.java | 12 +- .../command/commands/CommandHelp.java | 14 +- .../command/commands/CommandKick.java | 12 +- .../command/commands/CommandMessage.java | 8 +- .../command/commands/CommandMilk.java | 8 +- .../command/commands/CommandOfflinetp.java | 14 +- .../command/commands/CommandPotion.java | 8 +- .../command/commands/CommandRemove.java | 8 +- .../command/commands/CommandRevoke.java | 12 +- .../command/commands/CommandSpawn.java | 12 +- .../command/commands/CommandTele.java | 8 +- .../command/commands/CommandTime.java | 10 +- .../command/commands/CommandTp.java | 8 +- .../command/commands/CommandWarp.java | 12 +- .../command/commands/CommandWeather.java | 10 +- .../command/commands/CommandWorld.java | 8 +- .../network/HandshakeHandler.java | 8 +- .../network/LoginHandler.java | 10 +- java/src/{game => server}/network/Player.java | 71 ++-- 158 files changed, 1080 insertions(+), 515 deletions(-) rename java/src/{game => client}/network/ClientLoginHandler.java (87%) rename java/src/{game => client}/network/ClientPlayer.java (99%) create mode 100644 java/src/game/IServer.java create mode 100644 java/src/game/network/IClientLoginHandler.java create mode 100644 java/src/game/network/IClientPlayer.java create mode 100644 java/src/game/network/IHandshakeHandler.java create mode 100644 java/src/game/network/ILoginHandler.java create mode 100644 java/src/game/network/IPlayer.java rename java/src/game/{network => util}/LazyLoadBase.java (93%) rename java/src/{game => server}/command/ArgCombiner.java (83%) rename java/src/{game => server}/command/Argument.java (96%) rename java/src/{game => server}/command/ArgumentParser.java (98%) rename java/src/{game => server}/command/ArgumentSplitter.java (99%) rename java/src/{game => server}/command/BooleanParser.java (91%) rename java/src/{game => server}/command/CachedExecutable.java (99%) rename java/src/{game => server}/command/ColorParser.java (96%) rename java/src/{game => server}/command/Command.java (99%) rename java/src/{game => server}/command/CommandEnvironment.java (91%) rename java/src/{game => server}/command/Completer.java (86%) rename java/src/{game => server}/command/CompletingParser.java (95%) rename java/src/{game => server}/command/DefaultingParser.java (93%) rename java/src/{game => server}/command/DimensionParser.java (98%) rename java/src/{game => server}/command/DoubleParser.java (99%) rename java/src/{game => server}/command/EntityListParser.java (98%) rename java/src/{game => server}/command/EntityParser.java (98%) rename java/src/{game => server}/command/EnumParser.java (98%) rename java/src/{game => server}/command/Executable.java (90%) rename java/src/{game => server}/command/Executor.java (94%) rename java/src/{game => server}/command/FixedExecutor.java (97%) rename java/src/{game => server}/command/IntParser.java (98%) rename java/src/{game => server}/command/LongParser.java (97%) rename java/src/{game => server}/command/NonDefaultingParser.java (90%) rename java/src/{game => server}/command/Parameter.java (97%) rename java/src/{game => server}/command/PatternReplacer.java (98%) rename java/src/{game => server}/command/PlayerEntityListParser.java (96%) rename java/src/{game => server}/command/PlayerEntityParser.java (92%) rename java/src/{game => server}/command/PlayerListParser.java (95%) rename java/src/{game => server}/command/PlayerParser.java (93%) rename java/src/{game => server}/command/RunException.java (96%) rename java/src/{game => server}/command/StringCompleter.java (83%) rename java/src/{game => server}/command/StringParser.java (99%) rename java/src/{game => server}/command/TagParser.java (96%) rename java/src/{game => server}/command/Variable.java (68%) rename java/src/{game => server}/command/WorldParser.java (98%) rename java/src/{game => server}/command/commands/CommandAdmin.java (74%) rename java/src/{game => server}/command/commands/CommandHelp.java (88%) rename java/src/{game => server}/command/commands/CommandKick.java (75%) rename java/src/{game => server}/command/commands/CommandMessage.java (76%) rename java/src/{game => server}/command/commands/CommandMilk.java (89%) rename java/src/{game => server}/command/commands/CommandOfflinetp.java (83%) rename java/src/{game => server}/command/commands/CommandPotion.java (91%) rename java/src/{game => server}/command/commands/CommandRemove.java (83%) rename java/src/{game => server}/command/commands/CommandRevoke.java (77%) rename java/src/{game => server}/command/commands/CommandSpawn.java (93%) rename java/src/{game => server}/command/commands/CommandTele.java (88%) rename java/src/{game => server}/command/commands/CommandTime.java (93%) rename java/src/{game => server}/command/commands/CommandTp.java (83%) rename java/src/{game => server}/command/commands/CommandWarp.java (89%) rename java/src/{game => server}/command/commands/CommandWeather.java (83%) rename java/src/{game => server}/command/commands/CommandWorld.java (90%) rename java/src/{game => server}/network/HandshakeHandler.java (84%) rename java/src/{game => server}/network/LoginHandler.java (92%) rename java/src/{game => server}/network/Player.java (98%) diff --git a/java/src/client/Game.java b/java/src/client/Game.java index be13f94..2dc5fe7 100755 --- a/java/src/client/Game.java +++ b/java/src/client/Game.java @@ -51,6 +51,8 @@ import client.gui.container.GuiContainer; import client.gui.container.GuiInventory; import client.gui.element.Textbox; import client.gui.ingame.GuiGameOver; +import client.network.ClientLoginHandler; +import client.network.ClientPlayer; import client.renderer.BlockRenderer; import client.renderer.Drawing; import client.renderer.EntityRenderer; @@ -104,8 +106,6 @@ import game.log.Log; import game.log.LogLevel; import game.log.Message; import game.material.Material; -import game.network.ClientLoginHandler; -import game.network.ClientPlayer; import game.network.IThreadListener; import game.network.NetConnection; import game.network.NetHandler.ThreadQuickExitException; @@ -1476,7 +1476,7 @@ public class Game implements IThreadListener { public ClientPlayer getNetHandler() { - return this.thePlayer != null ? this.thePlayer.sendQueue : null; + return this.thePlayer != null ? (ClientPlayer)this.thePlayer.sendQueue : null; } // public void setSkin(BufferedImage skin, String id, ModelType model, boolean slim) diff --git a/java/src/client/PlayerController.java b/java/src/client/PlayerController.java index 1b6d07b..d12dd90 100755 --- a/java/src/client/PlayerController.java +++ b/java/src/client/PlayerController.java @@ -1,5 +1,6 @@ package client; +import client.network.ClientPlayer; import game.block.Block; import game.entity.Entity; import game.entity.npc.EntityNPC; @@ -9,7 +10,6 @@ import game.item.ItemBlock; import game.item.ItemControl; import game.item.ItemStack; import game.material.Material; -import game.network.ClientPlayer; import game.packet.CPacketAction; import game.packet.CPacketBreak; import game.packet.CPacketClick; diff --git a/java/src/client/gui/GuiConnect.java b/java/src/client/gui/GuiConnect.java index 05ae015..568343f 100644 --- a/java/src/client/gui/GuiConnect.java +++ b/java/src/client/gui/GuiConnect.java @@ -14,7 +14,7 @@ import client.renderer.Drawing; import game.color.TextColor; import game.init.Config; import game.log.Log; -import game.network.Player; +import game.network.IPlayer; import game.util.FileUtils; import game.util.Tuple; import game.util.Util; @@ -132,7 +132,7 @@ public class GuiConnect extends GuiList implements ActBut for(int z = 0; z <= lines.length; z++) { String line = z == lines.length ? null : lines[z]; if(line == null || (line.startsWith("[") && line.endsWith("]"))) { - if(!name.isEmpty() && !address.isEmpty() && !user.isEmpty() && user.length() < Player.MAX_USER_LENGTH && Player.isValidUser(user) && password.length() < Player.MAX_PASS_LENGTH && access.length() < Player.MAX_PASS_LENGTH && address.length() < 128 && name.length() < 128 && port >= 0 && port < 65536) + if(!name.isEmpty() && !address.isEmpty() && !user.isEmpty() && user.length() < IPlayer.MAX_USER_LENGTH && IPlayer.isValidUser(user) && password.length() < IPlayer.MAX_PASS_LENGTH && access.length() < IPlayer.MAX_PASS_LENGTH && address.length() < 128 && name.length() < 128 && port >= 0 && port < 65536) this.elements.add(new ServerInfo(name, address, port, user, password, access, time)); if(line != null) { address = ""; diff --git a/java/src/client/gui/GuiConsole.java b/java/src/client/gui/GuiConsole.java index a625119..d4023e7 100644 --- a/java/src/client/gui/GuiConsole.java +++ b/java/src/client/gui/GuiConsole.java @@ -7,11 +7,12 @@ import client.gui.element.ActButton; import client.gui.element.Fill; import client.gui.element.Textbox; import client.gui.element.Textbox.Action; +import client.network.ClientPlayer; import client.gui.element.TransparentBox; import client.window.Keysym; import game.collect.Lists; import game.color.TextColor; -import game.network.Player; +import game.network.IPlayer; import game.packet.CPacketComplete; import game.util.ExtMath; import game.vars.BoolVar; @@ -57,7 +58,7 @@ public class GuiConsole extends Gui implements Textbox.Callback { this.logBox = this.add(new TransparentBox(0, this.full ? 24 : 0, width, height - (this.full ? 48 : 24), this.gm.getBuffer(), this.gm.theWorld != null && !this.gm.charEditor)); if(this.full) this.add(new Fill(640, 0, width - 640, 24)); - this.inputField = this.add(new Textbox(0, height - 24, width, 24, Player.MAX_CMD_LENGTH, true, this, "")); + this.inputField = this.add(new Textbox(0, height - 24, width, 24, IPlayer.MAX_CMD_LENGTH, true, this, "")); this.inputField.setSelected(); this.sentHistoryCursor = this.sentMessages.size(); } @@ -214,7 +215,7 @@ public class GuiConsole extends Gui implements Textbox.Callback { s = argv[argv.length - 1]; Iterable res = pre.startsWith("#") ? (argv.length == 1 ? this.gm.getVars() : (argv.length == 2 ? getVarCompletion(argv[0].substring(1)) : Lists.newArrayList())) : - (this.gm.thePlayer == null ? Lists.newArrayList() : this.gm.thePlayer.sendQueue.getPlayerNames()); + (this.gm.thePlayer == null ? Lists.newArrayList() : ((ClientPlayer)this.gm.thePlayer.sendQueue).getPlayerNames()); if(argv.length == 1 && pre.startsWith("#")) s = s.substring(1); for(String s1 : res) { diff --git a/java/src/client/gui/GuiServer.java b/java/src/client/gui/GuiServer.java index c6d256c..45833a1 100644 --- a/java/src/client/gui/GuiServer.java +++ b/java/src/client/gui/GuiServer.java @@ -8,7 +8,7 @@ import client.gui.element.Textbox; import client.gui.element.Textbox.Action; import game.color.TextColor; import game.init.Config; -import game.network.Player; +import game.network.IPlayer; import game.vars.CVarCategory; import game.vars.Variable; @@ -38,11 +38,11 @@ public class GuiServer extends Gui implements Textbox.Callback { private String lastAddr = ""; @Variable(name = "srv_last_port", category = CVarCategory.SYSTEM, min = 0, max = 65535, display = "Letzter Server-Port") private int lastPort = Config.PORT; - @Variable(name = "srv_last_user", category = CVarCategory.SYSTEM, max = Player.MAX_USER_LENGTH, display = "Letzter Server-Nutzer", validator = Player.UserValidator.class) + @Variable(name = "srv_last_user", category = CVarCategory.SYSTEM, max = IPlayer.MAX_USER_LENGTH, display = "Letzter Server-Nutzer", validator = IPlayer.UserValidator.class) private String lastUser = ""; - @Variable(name = "srv_last_password", category = CVarCategory.SYSTEM, max = Player.MAX_PASS_LENGTH, display = "Letztes Server-Passwort") + @Variable(name = "srv_last_password", category = CVarCategory.SYSTEM, max = IPlayer.MAX_PASS_LENGTH, display = "Letztes Server-Passwort") private String lastPass = ""; - @Variable(name = "srv_last_access", category = CVarCategory.SYSTEM, max = Player.MAX_PASS_LENGTH, display = "Letzter Server-Zugang") + @Variable(name = "srv_last_access", category = CVarCategory.SYSTEM, max = IPlayer.MAX_PASS_LENGTH, display = "Letzter Server-Zugang") private String lastAcc = ""; public void init(int width, int height) { @@ -50,9 +50,9 @@ public class GuiServer extends Gui implements Textbox.Callback { this.nameBox = this.add(new Textbox(0, -50, 400, 24, 128, true, this, this.server.getName())); this.addrBox = this.add(new Textbox(0, 20, 400, 24, 128, true, this, this.server == null ? this.lastAddr : this.server.getAddress())); this.portBox = this.add(new Textbox(404, 20, 76, 24, 5, true, this, "" + (this.server == null ? this.lastPort : this.server.getPort()))); - this.userBox = this.add(new Textbox(0, 70, 220, 24, Player.MAX_USER_LENGTH, true, this, Player.VALID_USER, this.server == null ? this.lastUser : this.server.getUser())); - this.passBox = this.add(new Textbox(0, 120, 480, 24, Player.MAX_PASS_LENGTH, true, this, this.server == null ? this.lastPass : this.server.getPassword())); - this.accBox = this.add(new Textbox(0, 170, 480, 24, Player.MAX_PASS_LENGTH, true, this, this.server == null ? this.lastAcc : this.server.getAccess())); + this.userBox = this.add(new Textbox(0, 70, 220, 24, IPlayer.MAX_USER_LENGTH, true, this, IPlayer.VALID_USER, this.server == null ? this.lastUser : this.server.getUser())); + this.passBox = this.add(new Textbox(0, 120, 480, 24, IPlayer.MAX_PASS_LENGTH, true, this, this.server == null ? this.lastPass : this.server.getPassword())); + this.accBox = this.add(new Textbox(0, 170, 480, 24, IPlayer.MAX_PASS_LENGTH, true, this, this.server == null ? this.lastAcc : this.server.getAccess())); this.add(new ActButton(0, 220, 480, 24, new ActButton.Callback() { public void use(ActButton elem, ActButton.Mode action) { GuiServer.this.connect(); diff --git a/java/src/client/gui/character/GuiChar.java b/java/src/client/gui/character/GuiChar.java index 4def730..4ffc119 100755 --- a/java/src/client/gui/character/GuiChar.java +++ b/java/src/client/gui/character/GuiChar.java @@ -51,7 +51,7 @@ import game.init.SpeciesRegistry; import game.init.SpeciesRegistry.ModelType; import game.init.UniverseRegistry; import game.log.Log; -import game.network.Player; +import game.network.IPlayer; import game.packet.CPacketAction; import game.packet.CPacketMessage; import game.packet.CPacketSkin; @@ -361,7 +361,7 @@ public class GuiChar extends GuiList }, "Spieler-Größe", "cm")).enabled = this.gm.thePlayer == null || this.gm.thePlayer.getMinSize() != this.gm.thePlayer.getMaxSize(); this.add(new Label(width / 2 - 200, 36, 400, 20, "Name", true)); this.add(new Label(width - 396, height - 384, 392, 20, "Beschreibung", true)); - final Textbox descField = this.add(new Textbox(width - 396, height - 364, 392, 130, Player.MAX_INFO_LENGTH, new Textbox.Callback() { + final Textbox descField = this.add(new Textbox(width - 396, height - 364, 392, 130, IPlayer.MAX_INFO_LENGTH, new Textbox.Callback() { public void use(Textbox elem, Action value) { } }, "")); @@ -375,7 +375,7 @@ public class GuiChar extends GuiList } } }, "Charakter erstellen")); - this.add(new Textbox(width / 2 - 200, 36 + 20, 400, 24, Player.MAX_NICK_LENGTH, true, new Textbox.Callback() { + this.add(new Textbox(width / 2 - 200, 36 + 20, 400, 24, IPlayer.MAX_NICK_LENGTH, true, new Textbox.Callback() { public void use(Textbox elem, Action value) { if(value == Action.SEND || value == Action.UNFOCUS) { String name = elem.getText(); @@ -387,7 +387,7 @@ public class GuiChar extends GuiList } } } - }, Player.VALID_NICK, this.gm.thePlayer == null ? "" : this.gm.thePlayer.getCustomNameTag())); + }, IPlayer.VALID_NICK, this.gm.thePlayer == null ? "" : this.gm.thePlayer.getCustomNameTag())); this.templateButton.enabled = false; this.dimension = new Random().zrange(UniverseRegistry.getBaseDimensions().size()); EntityEggInfo egg = EntityRegistry.SPAWN_EGGS.get(this.gm.thePlayer == null ? EntityRegistry.getEntityString(EntityHuman.class) : EntityRegistry.getEntityString(this.gm.thePlayer)); diff --git a/java/src/client/gui/ingame/GuiSign.java b/java/src/client/gui/ingame/GuiSign.java index 925ae91..4678e86 100644 --- a/java/src/client/gui/ingame/GuiSign.java +++ b/java/src/client/gui/ingame/GuiSign.java @@ -4,7 +4,7 @@ import client.gui.Gui; import client.gui.element.NavButton; import client.gui.element.Textbox; import client.gui.element.Textbox.Action; -import game.network.ClientPlayer; +import client.network.ClientPlayer; import game.packet.CPacketSign; import game.world.BlockPos; diff --git a/java/src/game/network/ClientLoginHandler.java b/java/src/client/network/ClientLoginHandler.java similarity index 87% rename from java/src/game/network/ClientLoginHandler.java rename to java/src/client/network/ClientLoginHandler.java index 6620101..b699978 100755 --- a/java/src/game/network/ClientLoginHandler.java +++ b/java/src/client/network/ClientLoginHandler.java @@ -1,11 +1,15 @@ -package game.network; +package client.network; import client.Game; +import game.network.IClientLoginHandler; +import game.network.NetConnection; +import game.network.NetHandler; +import game.network.PacketRegistry; import game.packet.RPacketDisconnect; import game.packet.RPacketEnableCompression; import game.packet.RPacketLoginSuccess; -public class ClientLoginHandler extends NetHandler { +public class ClientLoginHandler extends NetHandler implements IClientLoginHandler { private final Game gm; private final NetConnection networkManager; diff --git a/java/src/game/network/ClientPlayer.java b/java/src/client/network/ClientPlayer.java similarity index 99% rename from java/src/game/network/ClientPlayer.java rename to java/src/client/network/ClientPlayer.java index 8cd036e..a94a2b3 100755 --- a/java/src/game/network/ClientPlayer.java +++ b/java/src/client/network/ClientPlayer.java @@ -1,4 +1,4 @@ -package game.network; +package client.network; import java.util.Collection; import java.util.List; @@ -45,6 +45,10 @@ import game.inventory.InventoryPlayer; import game.item.ItemStack; import game.log.Log; import game.model.ParticleType; +import game.network.IClientPlayer; +import game.network.NetConnection; +import game.network.NetHandler; +import game.network.Packet; import game.packet.CPacketAction; import game.packet.CPacketKeepAlive; import game.packet.CPacketPlayer; @@ -121,7 +125,7 @@ import game.world.Explosion; import game.world.Weather; import game.world.WorldClient; -public class ClientPlayer extends NetHandler +public class ClientPlayer extends NetHandler implements IClientPlayer { /** * The NetworkManager instance used to communicate with the server (used only by handlePlayerPosLook to update diff --git a/java/src/game/IServer.java b/java/src/game/IServer.java new file mode 100644 index 0000000..27dd5dd --- /dev/null +++ b/java/src/game/IServer.java @@ -0,0 +1,33 @@ +package game; + +import java.util.List; +import java.util.Map; + +import game.entity.Entity; +import game.entity.npc.EntityNPC; +import game.network.IPlayer; +import game.network.Packet; +import game.world.BlockPos; +import game.world.PortalType; +import game.world.Position; +import game.world.WorldServer; + +public interface IServer { + List getIPlayers(); + + void sendPacket(Packet packet); + + void sendPacket(Packet packet, int dimension); + + void sendNear(double x, double y, double z, double radius, int dimension, Packet packet); + + void sendNearExcept(EntityNPC except, double x, double y, double z, double radius, int dimension, Packet packet); + + Map getWarps(); + + List getWorlds(); + + WorldServer getWorld(int dimension); + + void placeInDimension(Entity entity, WorldServer oldWorld, WorldServer world, BlockPos pos, PortalType portal); +} \ No newline at end of file diff --git a/java/src/game/entity/npc/EntityNPC.java b/java/src/game/entity/npc/EntityNPC.java index dc4aa1a..8ec1d52 100755 --- a/java/src/game/entity/npc/EntityNPC.java +++ b/java/src/game/entity/npc/EntityNPC.java @@ -83,8 +83,8 @@ import game.item.ItemTool; import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.network.ClientPlayer; -import game.network.Player; +import game.network.IClientPlayer; +import game.network.IPlayer; import game.packet.CPacketAction; import game.packet.CPacketBreak; import game.packet.CPacketInput; @@ -198,8 +198,8 @@ public abstract class EntityNPC extends EntityLiving private int healTimer; private byte[] skin; - public Player connection; - public ClientPlayer sendQueue; + public IPlayer connection; + public IClientPlayer sendQueue; protected Game gm; public InventoryPlayer inventory; @@ -399,13 +399,13 @@ public abstract class EntityNPC extends EntityLiving this.getEntityAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.getEntityAttribute(Attributes.MOVEMENT_SPEED).getBaseValue() / 3.0); // 0.10000000149011612D); } - public final void setServerPlayer(Player connection) { + public final void setServerPlayer(IPlayer connection) { this.initPlayer(); this.connection = connection; this.stepHeight = 0.0F; } - public final void setClientPlayer(Game gm, ClientPlayer connection) { + public final void setClientPlayer(Game gm, IClientPlayer connection) { this.initPlayer(); this.gm = gm; this.sendQueue = connection; diff --git a/java/src/game/entity/types/EntityLiving.java b/java/src/game/entity/types/EntityLiving.java index 7089c2b..baa92d7 100755 --- a/java/src/game/entity/types/EntityLiving.java +++ b/java/src/game/entity/types/EntityLiving.java @@ -50,7 +50,7 @@ import game.material.Material; import game.model.ParticleType; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.network.Player; +import game.network.IPlayer; import game.packet.S1BPacketEntityAttach; import game.packet.SPacketAnimation; import game.packet.SPacketCollectItem; @@ -2462,7 +2462,7 @@ public abstract class EntityLiving extends Entity return; String msg; String kill; - Player receiver = null; + IPlayer receiver = null; if(this.combat.size() == 0) { msg = kill = natural ? String.format("%s starb", this.getColoredName(TextColor.LGRAY)) : null; } @@ -2551,7 +2551,7 @@ public abstract class EntityLiving extends Entity if(receiver != null) receiver.addFeed(kill); if(forAll) - for(Player player : ((WorldServer)this.worldObj).getServer().getPlayers()) { + for(IPlayer player : ((WorldServer)this.worldObj).getServer().getIPlayers()) { if(player != receiver) player.addFeed(msg); } diff --git a/java/src/game/network/IClientLoginHandler.java b/java/src/game/network/IClientLoginHandler.java new file mode 100644 index 0000000..b06b99e --- /dev/null +++ b/java/src/game/network/IClientLoginHandler.java @@ -0,0 +1,15 @@ +package game.network; + +import game.packet.RPacketDisconnect; +import game.packet.RPacketEnableCompression; +import game.packet.RPacketLoginSuccess; + +public interface IClientLoginHandler { + + void handleDisconnect(RPacketDisconnect packetIn); + + void handleLoginSuccess(RPacketLoginSuccess packetIn); + + void handleEnableCompression(RPacketEnableCompression packetIn); + +} \ No newline at end of file diff --git a/java/src/game/network/IClientPlayer.java b/java/src/game/network/IClientPlayer.java new file mode 100644 index 0000000..4ac9f51 --- /dev/null +++ b/java/src/game/network/IClientPlayer.java @@ -0,0 +1,315 @@ +package game.network; + +import game.packet.S14PacketEntity; +import game.packet.S18PacketEntityTeleport; +import game.packet.S19PacketEntityHeadLook; +import game.packet.S1APacketEntityStatus; +import game.packet.S1BPacketEntityAttach; +import game.packet.S1CPacketEntityMetadata; +import game.packet.S1DPacketEntityEffect; +import game.packet.S1EPacketRemoveEntityEffect; +import game.packet.S20PacketEntityProperties; +import game.packet.S27PacketExplosion; +import game.packet.S28PacketEffect; +import game.packet.S29PacketSoundEffect; +import game.packet.S2APacketParticles; +import game.packet.S2BPacketChangeGameState; +import game.packet.S2CPacketSpawnGlobalEntity; +import game.packet.S2DPacketOpenWindow; +import game.packet.S2EPacketCloseWindow; +import game.packet.S2FPacketSetSlot; +import game.packet.S30PacketWindowItems; +import game.packet.S31PacketWindowProperty; +import game.packet.S32PacketConfirmTransaction; +import game.packet.S33PacketUpdateSign; +import game.packet.S35PacketUpdateTileEntity; +import game.packet.S36PacketSignEditorOpen; +import game.packet.S38PacketPlayerListItem; +import game.packet.S39PacketPlayerAbilities; +import game.packet.S3APacketTabComplete; +import game.packet.S43PacketUpdateEntityNBT; +import game.packet.SPacketAnimation; +import game.packet.SPacketBiomes; +import game.packet.SPacketBlockAction; +import game.packet.SPacketBlockBreakAnim; +import game.packet.SPacketBlockChange; +import game.packet.SPacketCamera; +import game.packet.SPacketCharacterList; +import game.packet.SPacketChunkData; +import game.packet.SPacketCollectItem; +import game.packet.SPacketDestroyEntities; +import game.packet.SPacketDimensionName; +import game.packet.SPacketDisconnect; +import game.packet.SPacketEntityEquipment; +import game.packet.SPacketEntityVelocity; +import game.packet.SPacketHeldItemChange; +import game.packet.SPacketJoinGame; +import game.packet.SPacketKeepAlive; +import game.packet.SPacketLoading; +import game.packet.SPacketMapChunkBulk; +import game.packet.SPacketMessage; +import game.packet.SPacketMultiBlockChange; +import game.packet.SPacketPlayerPosLook; +import game.packet.SPacketRespawn; +import game.packet.SPacketServerTick; +import game.packet.SPacketSetExperience; +import game.packet.SPacketSkin; +import game.packet.SPacketSpawnMob; +import game.packet.SPacketSpawnObject; +import game.packet.SPacketSpawnPlayer; +import game.packet.SPacketTimeUpdate; +import game.packet.SPacketTrades; +import game.packet.SPacketUpdateHealth; +import game.packet.SPacketWorld; + +public interface IClientPlayer { + void addToSendQueue(Packet packet); + + void handleJoinGame(SPacketJoinGame packetIn); + + /** + * Spawns an instance of the objecttype indicated by the packet and sets its position and momentum + */ + void handleSpawnObject(SPacketSpawnObject packetIn); + + /** + * Handles globally visible entities. Used in vanilla for lightning bolts + */ + void handleSpawnGlobalEntity(S2CPacketSpawnGlobalEntity packetIn); + + /** + * Sets the velocity of the specified entity to the specified value + */ + void handleEntityVelocity(SPacketEntityVelocity packetIn); + + /** + * Invoked when the server registers new proximate objects in your watchlist or when objects in your watchlist have + * changed -> Registers any changes locally + */ + void handleEntityMetadata(S1CPacketEntityMetadata packetIn); + + /** + * Handles the creation of a nearby player entity, sets the position and held item + */ + void handleSpawnPlayer(SPacketSpawnPlayer packetIn); + + /** + * Updates an entity's position and rotation as specified by the packet + */ + void handleEntityTeleport(S18PacketEntityTeleport packetIn); + + /** + * Updates which hotbar slot of the player is currently selected + */ + void handleHeldItemChange(SPacketHeldItemChange packetIn); + + /** + * Updates the specified entity's position by the specified relative moment and absolute rotation. Note that + * subclassing of the packet allows for the specification of a subset of this data (e.g. only rel. position, abs. + * rotation or both). + */ + void handleEntityMovement(S14PacketEntity packetIn); + + /** + * Updates the direction in which the specified entity is looking, normally this head rotation is independent of the + * rotation of the entity itself + */ + void handleEntityHeadLook(S19PacketEntityHeadLook packetIn); + + /** + * Locally eliminates the entities. Invoked by the server when the items are in fact destroyed, or the player is no + * longer registered as required to monitor them. The latter happens when distance between the player and item + * increases beyond a certain treshold (typically the viewing distance) + */ + void handleDestroyEntities(SPacketDestroyEntities packetIn); + + /** + * Handles changes in player positioning and rotation such as when travelling to a new dimension, (re)spawning, + * mounting horses etc. Seems to immediately reply to the server with the clients post-processing perspective on the + * player positioning + */ + void handlePlayerPosLook(SPacketPlayerPosLook packetIn); + + /** + * Received from the servers PlayerManager if between 1 and 64 blocks in a chunk are changed. If only one block + * requires an update, the server sends S23PacketBlockChange and if 64 or more blocks are changed, the server sends + * S21PacketChunkData + */ + void handleMultiBlockChange(SPacketMultiBlockChange packetIn); + + /** + * Updates the specified chunk with the supplied data, marks it for re-rendering and lighting recalculation + */ + void handleChunkData(SPacketChunkData packetIn); + + void handleBiomes(SPacketBiomes packetIn); + + /** + * Updates the block and metadata and generates a blockupdate (and notify the clients) + */ + void handleBlockChange(SPacketBlockChange packetIn); + + /** + * Closes the network channel + */ + void handleDisconnect(SPacketDisconnect packetIn); + + void handleCollectItem(SPacketCollectItem packetIn); + + /** + * Prints a chatmessage in the chat GUI + */ + void handleMessage(SPacketMessage packetIn); + + void handleLoading(SPacketLoading packet); + + /** + * Renders a specified animation: Waking up a player, a living entity swinging its currently held item, being hurt + * or receiving a critical hit by normal or magical means + */ + void handleAnimation(SPacketAnimation packetIn); + + /** + * Spawns the mob entity at the specified location, with the specified rotation, momentum and type. Updates the + * entities Datawatchers with the entity metadata specified in the packet + */ + void handleSpawnMob(SPacketSpawnMob packetIn); + + void handleTimeUpdate(SPacketTimeUpdate packetIn); + + void handleServerTick(SPacketServerTick packet); + + void handleEntityAttach(S1BPacketEntityAttach packetIn); + + /** + * Invokes the entities' handleUpdateHealth method which is implemented in LivingBase (hurt/death), + * MinecartMobSpawner (spawn delay), FireworkRocket & MinecartTNT (explosion), IronGolem (throwing,...), Witch + * (spawn particles), Zombie (villager transformation), Animal (breeding mode particles), Horse (breeding/smoke + * particles), Sheep (...), Tameable (...), Villager (particles for breeding mode, angry and happy), Wolf (...) + */ + void handleEntityStatus(S1APacketEntityStatus packetIn); + + void handleUpdateHealth(SPacketUpdateHealth packetIn); + + void handleSetExperience(SPacketSetExperience packetIn); + + void handleRespawn(SPacketRespawn packetIn); + + /** + * Initiates a new explosion (sound, particles, drop spawn) for the affected blocks indicated by the packet. + */ + void handleExplosion(S27PacketExplosion packetIn); + + /** + * Displays a GUI by ID. In order starting from id 0: Chest, Workbench, Furnace, Dispenser, Enchanting table, + * Brewing stand, Villager merchant, Beacon, Anvil, Hopper, Dropper, Horse + */ + void handleOpenWindow(S2DPacketOpenWindow packetIn); + + /** + * Handles pickin up an ItemStack or dropping one in your inventory or an open container + */ + void handleSetSlot(S2FPacketSetSlot packetIn); + + /** + * Verifies that the server and client are synchronized with respect to the inventory/container opened by the player + * and confirms if it is the case. + */ + void handleConfirmTransaction(S32PacketConfirmTransaction packetIn); + + /** + * Handles the placement of a specified ItemStack in a specified container/inventory slot + */ + void handleWindowItems(S30PacketWindowItems packetIn); + + /** + * Creates a sign in the specified location if it didn't exist and opens the GUI to edit its text + */ + void handleSignEditorOpen(S36PacketSignEditorOpen packetIn); + + /** + * Updates a specified sign with the specified text lines + */ + void handleUpdateSign(S33PacketUpdateSign packetIn); + + /** + * Updates the NBTTagCompound metadata of instances of the following entitytypes: Mob spawners, command blocks, + * beacons, skulls, flowerpot + */ + void handleUpdateTileEntity(S35PacketUpdateTileEntity packetIn); + + /** + * Sets the progressbar of the opened window to the specified value + */ + void handleWindowProperty(S31PacketWindowProperty packetIn); + + void handleEntityEquipment(SPacketEntityEquipment packetIn); + + /** + * Resets the ItemStack held in hand and closes the window that is opened + */ + void handleCloseWindow(S2EPacketCloseWindow packetIn); + + /** + * Triggers Block.onBlockEventReceived, which is implemented in BlockPistonBase for extension/retraction, BlockNote + * for setting the instrument (including audiovisual feedback) and in BlockContainer to set the number of players + * accessing a (Ender)Chest + */ + void handleBlockAction(SPacketBlockAction packetIn); + + /** + * Updates all registered IWorldAccess instances with destroyBlockInWorldPartially + */ + void handleBlockBreakAnim(SPacketBlockBreakAnim packetIn); + + void handleMapChunkBulk(SPacketMapChunkBulk packetIn); + + void handleChangeGameState(S2BPacketChangeGameState packetIn); + + void handleEffect(S28PacketEffect packetIn); + + void handleEntityEffect(S1DPacketEntityEffect packetIn); + + void handleCamera(SPacketCamera packetIn); + + void handleRemoveEntityEffect(S1EPacketRemoveEntityEffect packetIn); + + void handlePlayerListItem(S38PacketPlayerListItem packetIn); + + void handleCharacterList(SPacketCharacterList packet); + + void handleKeepAlive(SPacketKeepAlive packetIn); + + void handlePlayerAbilities(S39PacketPlayerAbilities packetIn); + + /** + * Displays the available command-completion options the server knows of + */ + void handleTabComplete(S3APacketTabComplete packetIn); + + void handleSoundEffect(S29PacketSoundEffect packetIn); + + void handleEntityNBT(S43PacketUpdateEntityNBT packetIn); + + /** + * Spawns a specified number of particles at the specified location with a randomized displacement according to + * specified bounds + */ + void handleParticles(S2APacketParticles packetIn); + + /** + * Updates en entity's attributes and their respective modifiers, which are used for speed bonusses (player + * sprinting, animals fleeing, baby speed), weapon/tool attackDamage, hostiles followRange randomization, zombie + * maxHealth and knockback resistance as well as reinforcement spawning chance. + */ + void handleEntityProperties(S20PacketEntityProperties packetIn); + + void handleSkin(SPacketSkin packetIn); + + void handleTrades(SPacketTrades packetIn); + + void handleWorld(SPacketWorld packetIn); + + void handleDimName(SPacketDimensionName packetIn); + +} \ No newline at end of file diff --git a/java/src/game/network/IHandshakeHandler.java b/java/src/game/network/IHandshakeHandler.java new file mode 100644 index 0000000..73af36d --- /dev/null +++ b/java/src/game/network/IHandshakeHandler.java @@ -0,0 +1,9 @@ +package game.network; + +import game.packet.HPacketHandshake; + +public interface IHandshakeHandler { + + void processHandshake(HPacketHandshake packetIn); + +} \ No newline at end of file diff --git a/java/src/game/network/ILoginHandler.java b/java/src/game/network/ILoginHandler.java new file mode 100644 index 0000000..45f6ff3 --- /dev/null +++ b/java/src/game/network/ILoginHandler.java @@ -0,0 +1,9 @@ +package game.network; + +import game.packet.LPacketPasswordResponse; + +public interface ILoginHandler { + + void processPasswordResponse(LPacketPasswordResponse packetIn); + +} \ No newline at end of file diff --git a/java/src/game/network/IPlayer.java b/java/src/game/network/IPlayer.java new file mode 100644 index 0000000..6d06d57 --- /dev/null +++ b/java/src/game/network/IPlayer.java @@ -0,0 +1,173 @@ +package game.network; + +import java.util.List; + +import game.entity.Entity; +import game.entity.animal.EntityHorse; +import game.entity.npc.EntityNPC; +import game.entity.types.EntityLiving; +import game.init.SoundEvent; +import game.inventory.Container; +import game.inventory.IInventory; +import game.item.ItemStack; +import game.packet.CPacketAction; +import game.packet.CPacketBook; +import game.packet.CPacketBreak; +import game.packet.CPacketCheat; +import game.packet.CPacketClick; +import game.packet.CPacketComplete; +import game.packet.CPacketInput; +import game.packet.CPacketKeepAlive; +import game.packet.CPacketMessage; +import game.packet.CPacketPlace; +import game.packet.CPacketPlayer; +import game.packet.CPacketSign; +import game.packet.CPacketSkin; +import game.potion.PotionEffect; +import game.tileentity.IInteractionObject; +import game.tileentity.TileEntitySign; +import game.util.CharValidator; +import game.world.BlockPos; +import game.world.ChunkPos; +import game.world.PortalType; + +public interface IPlayer { + public static class UserValidator implements CharValidator { + public boolean valid(char ch) { + return (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' || ch == '-'; + } + } + + public static class NickValidator implements CharValidator { + public boolean valid(char ch) { + return (ch <= 0xff && Character.isLetterOrDigit(ch)) || (ch >= 32 && ch < 126); + } + } + + public static int MAX_USER_LENGTH = 16; + public static int MAX_NICK_LENGTH = 32; + public static int MAX_PASS_LENGTH = 64; + public static int MAX_CMD_LENGTH = 1024; + public static int MAX_INFO_LENGTH = 4096; + public static CharValidator VALID_USER = new IPlayer.UserValidator(); + public static CharValidator VALID_NICK = new IPlayer.NickValidator(); + + public static boolean isValidNick(String user) { + return VALID_NICK.valid(user); + } + + public static boolean isValidUser(String user) { + return VALID_USER.valid(user); + } + + void onEntityDeath(); + + boolean isInEditor(); + + EntityNPC getPresentEntity(); + + String getUser(); + + int getLatency(); + + boolean isAdmin(); + + void addToPlayerScore(EntityLiving entity); + + void displayTradeGui(EntityNPC npc); + + void setPlayerHealthUpdated(); + + void removeEntity(Entity p_152339_1_); + + void sendPlayerAbilities(); + + void addFeed(String msg); + + void addHotbar(String msg); + + void addHotbar(String format, Object... args); + + void sendThrowMessage(ItemStack stack); + + void resetLastExperience(); + + void travelToDimension(int dimensionId, BlockPos pos, float yaw, float pitch, PortalType portal); + + void teleport(double x, double y, double z, float yaw, float pitch, int dimension); + + void onItemPickup(Entity entity, int amount); + + void mountEntity(Entity entityIn); + + void openEditSign(TileEntitySign signTile); + + void displayGui(IInteractionObject guiOwner); + + void displayGUIChest(IInventory chestInventory); + + void displayGUIHorse(EntityHorse horse, IInventory horseInventory); + + void closeScreen(); + + void onItemUseFinish(); + + void onNewEffect(PotionEffect id); + + void onChangedEffect(PotionEffect id, boolean added); + + void onFinishedEffect(PotionEffect effect); + + void setPositionAndUpdate(double x, double y, double z); + + void onCriticalHit(Entity entityHit); + + void onEnchantmentCritical(Entity entityHit); + + void updateEffectMeta(); + + void playSound(SoundEvent name, float volume); + + void sendContainerToPlayer(Container container); + + void updateEntity(); + + void setSelection(boolean primary, BlockPos pos); + + void setSelectMode(); + + void sendPacket(Packet packet); + + void setPlayerLocation(double x, double y, double z, float yaw, float pitch); + + void processKeepAlive(CPacketKeepAlive packetIn); + + void processMessage(CPacketMessage packetIn); + + void processComplete(CPacketComplete packetIn); + + void processPlayer(CPacketPlayer packetIn); + + void processBreak(CPacketBreak packetIn); + + void processPlace(CPacketPlace packetIn); + + void processAction(CPacketAction packetIn); + + void processInput(CPacketInput packetIn); + + void processClick(CPacketClick packetIn); + + void processCheat(CPacketCheat packetIn); + + void processSign(CPacketSign packetIn); + + void processSkin(CPacketSkin packetIn); + + void processBook(CPacketBook packetIn); + + List getLoadedChunkList(); + double getManagedX(); + double getManagedZ(); + void setManagedPos(double x, double z); +} \ No newline at end of file diff --git a/java/src/game/network/NetConnection.java b/java/src/game/network/NetConnection.java index 2ce2493..3941f3f 100755 --- a/java/src/game/network/NetConnection.java +++ b/java/src/game/network/NetConnection.java @@ -10,6 +10,7 @@ import java.util.regex.Pattern; import game.future.ThreadFactoryBuilder; import game.log.Log; import game.network.NetHandler.ThreadQuickExitException; +import game.util.LazyLoadBase; import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelException; diff --git a/java/src/game/network/NetHandler.java b/java/src/game/network/NetHandler.java index db1d6c2..0d47cb4 100755 --- a/java/src/game/network/NetHandler.java +++ b/java/src/game/network/NetHandler.java @@ -19,7 +19,7 @@ public abstract class NetHandler { public void update() { } - public static void checkThread(final Packet packet, final T handler, IThreadListener listener) + public static void checkThread(final Packet packet, final T handler, IThreadListener listener) throws ThreadQuickExitException { if(!listener.isMainThread()) { listener.schedule(new Runnable() { @@ -31,7 +31,7 @@ public abstract class NetHandler { } } - public static void checkThread(final Packet packet, final T handler, IThreadListener listener, Object check) + public static void checkThread(final Packet packet, final T handler, IThreadListener listener, Object check) throws ThreadQuickExitException { if(check == null && listener.isMainThread()) { throw EXIT; diff --git a/java/src/game/network/Packet.java b/java/src/game/network/Packet.java index 2adea92..ced4621 100755 --- a/java/src/game/network/Packet.java +++ b/java/src/game/network/Packet.java @@ -2,7 +2,7 @@ package game.network; import java.io.IOException; -public interface Packet +public interface Packet { void readPacketData(PacketBuffer buf) throws IOException; void writePacketData(PacketBuffer buf) throws IOException; diff --git a/java/src/game/packet/APacketEmpty.java b/java/src/game/packet/APacketEmpty.java index f6dbe4c..8fede40 100755 --- a/java/src/game/packet/APacketEmpty.java +++ b/java/src/game/packet/APacketEmpty.java @@ -2,11 +2,10 @@ package game.packet; import java.io.IOException; -import game.network.NetHandler; import game.network.Packet; import game.network.PacketBuffer; -public abstract class APacketEmpty implements Packet { +public abstract class APacketEmpty implements Packet { public final void readPacketData(PacketBuffer buf) throws IOException { } diff --git a/java/src/game/packet/APacketVarInt.java b/java/src/game/packet/APacketVarInt.java index 44f58a2..87d9b79 100755 --- a/java/src/game/packet/APacketVarInt.java +++ b/java/src/game/packet/APacketVarInt.java @@ -2,11 +2,10 @@ package game.packet; import java.io.IOException; -import game.network.NetHandler; import game.network.Packet; import game.network.PacketBuffer; -public abstract class APacketVarInt implements Packet { +public abstract class APacketVarInt implements Packet { private int value; public APacketVarInt() { diff --git a/java/src/game/packet/CPacketAction.java b/java/src/game/packet/CPacketAction.java index 171e7b1..34b6229 100755 --- a/java/src/game/packet/CPacketAction.java +++ b/java/src/game/packet/CPacketAction.java @@ -4,9 +4,9 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketAction implements Packet +public class CPacketAction implements Packet { private Action action; private int auxData; @@ -38,7 +38,7 @@ public class CPacketAction implements Packet buf.writeVarIntToBuffer(this.auxData); } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processAction(this); } diff --git a/java/src/game/packet/CPacketBook.java b/java/src/game/packet/CPacketBook.java index 3dd0e62..1bd02f4 100755 --- a/java/src/game/packet/CPacketBook.java +++ b/java/src/game/packet/CPacketBook.java @@ -4,9 +4,9 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketBook implements Packet +public class CPacketBook implements Packet { private String[] pages; @@ -40,7 +40,7 @@ public class CPacketBook implements Packet } } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processBook(this); } diff --git a/java/src/game/packet/CPacketBreak.java b/java/src/game/packet/CPacketBreak.java index 18c95fb..bb4b869 100755 --- a/java/src/game/packet/CPacketBreak.java +++ b/java/src/game/packet/CPacketBreak.java @@ -4,11 +4,11 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; import game.world.BlockPos; import game.world.Facing; -public class CPacketBreak implements Packet +public class CPacketBreak implements Packet { private BlockPos position; private Facing facing; @@ -39,7 +39,7 @@ public class CPacketBreak implements Packet buf.writeByte(this.facing.getIndex()); } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processBreak(this); } diff --git a/java/src/game/packet/CPacketCheat.java b/java/src/game/packet/CPacketCheat.java index 136f332..3ce4a6e 100755 --- a/java/src/game/packet/CPacketCheat.java +++ b/java/src/game/packet/CPacketCheat.java @@ -5,9 +5,9 @@ import java.io.IOException; import game.item.ItemStack; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketCheat implements Packet +public class CPacketCheat implements Packet { private ItemStack stack; private int slot; @@ -23,7 +23,7 @@ public class CPacketCheat implements Packet this.stack.stackSize = full ? this.stack.getMaxStackSize() : 1; } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processCheat(this); } diff --git a/java/src/game/packet/CPacketClick.java b/java/src/game/packet/CPacketClick.java index e622458..8d03eb6 100755 --- a/java/src/game/packet/CPacketClick.java +++ b/java/src/game/packet/CPacketClick.java @@ -5,9 +5,9 @@ import java.io.IOException; import game.item.ItemStack; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketClick implements Packet +public class CPacketClick implements Packet { /** The id of the window which was clicked. 0 for player inventory. */ private int windowId; @@ -41,7 +41,7 @@ public class CPacketClick implements Packet this.mode = mode; } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processClick(this); } diff --git a/java/src/game/packet/CPacketComplete.java b/java/src/game/packet/CPacketComplete.java index 4b110ae..f4bcd82 100755 --- a/java/src/game/packet/CPacketComplete.java +++ b/java/src/game/packet/CPacketComplete.java @@ -4,10 +4,10 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; import game.world.BlockPos; -public class CPacketComplete implements Packet +public class CPacketComplete implements Packet { private String message; private int entityId; @@ -41,7 +41,7 @@ public class CPacketComplete implements Packet buf.writeBlockPos(this.position); } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processComplete(this); } diff --git a/java/src/game/packet/CPacketInput.java b/java/src/game/packet/CPacketInput.java index 413a311..5618427 100755 --- a/java/src/game/packet/CPacketInput.java +++ b/java/src/game/packet/CPacketInput.java @@ -4,9 +4,9 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketInput implements Packet +public class CPacketInput implements Packet { private float strafeSpeed; private float forwardSpeed; @@ -53,7 +53,7 @@ public class CPacketInput implements Packet buf.writeByte(b0); } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processInput(this); } diff --git a/java/src/game/packet/CPacketKeepAlive.java b/java/src/game/packet/CPacketKeepAlive.java index 096f558..6cbf08d 100755 --- a/java/src/game/packet/CPacketKeepAlive.java +++ b/java/src/game/packet/CPacketKeepAlive.java @@ -1,8 +1,8 @@ package game.packet; -import game.network.Player; +import game.network.IPlayer; -public class CPacketKeepAlive extends APacketVarInt +public class CPacketKeepAlive extends APacketVarInt { public CPacketKeepAlive() { @@ -13,7 +13,7 @@ public class CPacketKeepAlive extends APacketVarInt super(key); } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processKeepAlive(this); } diff --git a/java/src/game/packet/CPacketMessage.java b/java/src/game/packet/CPacketMessage.java index 0bbcd8a..427b22e 100755 --- a/java/src/game/packet/CPacketMessage.java +++ b/java/src/game/packet/CPacketMessage.java @@ -4,9 +4,9 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketMessage implements Packet +public class CPacketMessage implements Packet { private Type type; private String message; @@ -33,7 +33,7 @@ public class CPacketMessage implements Packet buf.writeString(this.message); } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processMessage(this); } @@ -49,10 +49,10 @@ public class CPacketMessage implements Packet } public static enum Type { - COMMAND(Player.MAX_CMD_LENGTH), - CHAT(Player.MAX_CMD_LENGTH), - DISPLAY(Player.MAX_NICK_LENGTH), - INFO(Player.MAX_INFO_LENGTH); + COMMAND(IPlayer.MAX_CMD_LENGTH), + CHAT(IPlayer.MAX_CMD_LENGTH), + DISPLAY(IPlayer.MAX_NICK_LENGTH), + INFO(IPlayer.MAX_INFO_LENGTH); // , ITEM(30); private final int length; diff --git a/java/src/game/packet/CPacketPlace.java b/java/src/game/packet/CPacketPlace.java index a17a8f1..8dd4e11 100755 --- a/java/src/game/packet/CPacketPlace.java +++ b/java/src/game/packet/CPacketPlace.java @@ -5,10 +5,10 @@ import java.io.IOException; import game.item.ItemStack; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; import game.world.BlockPos; -public class CPacketPlace implements Packet +public class CPacketPlace implements Packet { private static final BlockPos DUMMY_POS = new BlockPos(-1, -1, -1); @@ -58,7 +58,7 @@ public class CPacketPlace implements Packet buf.writeByte((int)(this.facingZ * 16.0F)); } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processPlace(this); } diff --git a/java/src/game/packet/CPacketPlayer.java b/java/src/game/packet/CPacketPlayer.java index dfa6fd7..6298845 100755 --- a/java/src/game/packet/CPacketPlayer.java +++ b/java/src/game/packet/CPacketPlayer.java @@ -4,9 +4,9 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketPlayer implements Packet +public class CPacketPlayer implements Packet { protected double x; protected double y; @@ -26,7 +26,7 @@ public class CPacketPlayer implements Packet this.onGround = isOnGround; } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processPlayer(this); } diff --git a/java/src/game/packet/CPacketSign.java b/java/src/game/packet/CPacketSign.java index e905fba..dd60ed6 100755 --- a/java/src/game/packet/CPacketSign.java +++ b/java/src/game/packet/CPacketSign.java @@ -4,10 +4,10 @@ import java.io.IOException; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; import game.world.BlockPos; -public class CPacketSign implements Packet +public class CPacketSign implements Packet { private BlockPos pos; private String[] lines; @@ -48,7 +48,7 @@ public class CPacketSign implements Packet } } - public void processPacket(Player handler) + public void processPacket(IPlayer handler) { handler.processSign(this); } diff --git a/java/src/game/packet/CPacketSkin.java b/java/src/game/packet/CPacketSkin.java index 25f69c5..b20c00e 100755 --- a/java/src/game/packet/CPacketSkin.java +++ b/java/src/game/packet/CPacketSkin.java @@ -7,9 +7,9 @@ import client.renderer.texture.EntityTexManager; import game.init.SpeciesRegistry.ModelType; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class CPacketSkin implements Packet { +public class CPacketSkin implements Packet { private byte[] texture; private String character; @@ -58,7 +58,7 @@ public class CPacketSkin implements Packet { buf.writeByteArray(this.texture); } - public void processPacket(Player handler) { + public void processPacket(IPlayer handler) { handler.processSkin(this); } } diff --git a/java/src/game/packet/HPacketHandshake.java b/java/src/game/packet/HPacketHandshake.java index 1d4fb5b..36a3994 100755 --- a/java/src/game/packet/HPacketHandshake.java +++ b/java/src/game/packet/HPacketHandshake.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.HandshakeHandler; +import game.network.IHandshakeHandler; import game.network.Packet; import game.network.PacketBuffer; -public class HPacketHandshake implements Packet { +public class HPacketHandshake implements Packet { private int protocol; public HPacketHandshake() { @@ -30,7 +30,7 @@ public class HPacketHandshake implements Packet { buf.writeVarIntToBuffer(this.protocol); } - public void processPacket(HandshakeHandler handler) { + public void processPacket(IHandshakeHandler handler) { handler.processHandshake(this); } diff --git a/java/src/game/packet/LPacketPasswordResponse.java b/java/src/game/packet/LPacketPasswordResponse.java index be6eaae..f2735b4 100755 --- a/java/src/game/packet/LPacketPasswordResponse.java +++ b/java/src/game/packet/LPacketPasswordResponse.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.LoginHandler; +import game.network.IPlayer; +import game.network.ILoginHandler; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; -public class LPacketPasswordResponse implements Packet +public class LPacketPasswordResponse implements Packet { private String user; private String access; @@ -29,9 +29,9 @@ public class LPacketPasswordResponse implements Packet */ public void readPacketData(PacketBuffer buf) throws IOException { - this.user = buf.readStringFromBuffer(Player.MAX_USER_LENGTH); - this.access = buf.readStringFromBuffer(Player.MAX_PASS_LENGTH); - this.password = buf.readStringFromBuffer(Player.MAX_PASS_LENGTH); + this.user = buf.readStringFromBuffer(IPlayer.MAX_USER_LENGTH); + this.access = buf.readStringFromBuffer(IPlayer.MAX_PASS_LENGTH); + this.password = buf.readStringFromBuffer(IPlayer.MAX_PASS_LENGTH); } /** @@ -47,7 +47,7 @@ public class LPacketPasswordResponse implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(LoginHandler handler) + public void processPacket(ILoginHandler handler) { handler.processPasswordResponse(this); } diff --git a/java/src/game/packet/RPacketDisconnect.java b/java/src/game/packet/RPacketDisconnect.java index 1aee0bd..a81019b 100755 --- a/java/src/game/packet/RPacketDisconnect.java +++ b/java/src/game/packet/RPacketDisconnect.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientLoginHandler; +import game.network.IClientLoginHandler; import game.network.Packet; import game.network.PacketBuffer; -public class RPacketDisconnect implements Packet +public class RPacketDisconnect implements Packet { private String reason; @@ -38,7 +38,7 @@ public class RPacketDisconnect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientLoginHandler handler) + public void processPacket(IClientLoginHandler handler) { handler.handleDisconnect(this); } diff --git a/java/src/game/packet/RPacketEnableCompression.java b/java/src/game/packet/RPacketEnableCompression.java index f338992..4fed689 100755 --- a/java/src/game/packet/RPacketEnableCompression.java +++ b/java/src/game/packet/RPacketEnableCompression.java @@ -1,8 +1,8 @@ package game.packet; -import game.network.ClientLoginHandler; +import game.network.IClientLoginHandler; -public class RPacketEnableCompression extends APacketVarInt +public class RPacketEnableCompression extends APacketVarInt { public RPacketEnableCompression() { @@ -13,7 +13,7 @@ public class RPacketEnableCompression extends APacketVarInt super(comp); } - public void processPacket(ClientLoginHandler handler) + public void processPacket(IClientLoginHandler handler) { handler.handleEnableCompression(this); } diff --git a/java/src/game/packet/RPacketLoginSuccess.java b/java/src/game/packet/RPacketLoginSuccess.java index 047cffc..4bff216 100755 --- a/java/src/game/packet/RPacketLoginSuccess.java +++ b/java/src/game/packet/RPacketLoginSuccess.java @@ -1,10 +1,10 @@ package game.packet; -import game.network.ClientLoginHandler; +import game.network.IClientLoginHandler; -public class RPacketLoginSuccess extends APacketEmpty +public class RPacketLoginSuccess extends APacketEmpty { - public void processPacket(ClientLoginHandler handler) + public void processPacket(IClientLoginHandler handler) { handler.handleLoginSuccess(this); } diff --git a/java/src/game/packet/S14PacketEntity.java b/java/src/game/packet/S14PacketEntity.java index 9c42bc2..e720185 100755 --- a/java/src/game/packet/S14PacketEntity.java +++ b/java/src/game/packet/S14PacketEntity.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.World; -public class S14PacketEntity implements Packet +public class S14PacketEntity implements Packet { protected int entityId; protected byte posX; @@ -47,7 +47,7 @@ public class S14PacketEntity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityMovement(this); } diff --git a/java/src/game/packet/S18PacketEntityTeleport.java b/java/src/game/packet/S18PacketEntityTeleport.java index d5e26f0..955fd66 100755 --- a/java/src/game/packet/S18PacketEntityTeleport.java +++ b/java/src/game/packet/S18PacketEntityTeleport.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.util.ExtMath; -public class S18PacketEntityTeleport implements Packet +public class S18PacketEntityTeleport implements Packet { private int entityId; private int posX; @@ -75,7 +75,7 @@ public class S18PacketEntityTeleport implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityTeleport(this); } diff --git a/java/src/game/packet/S19PacketEntityHeadLook.java b/java/src/game/packet/S19PacketEntityHeadLook.java index d4c012e..97f4853 100755 --- a/java/src/game/packet/S19PacketEntityHeadLook.java +++ b/java/src/game/packet/S19PacketEntityHeadLook.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.World; -public class S19PacketEntityHeadLook implements Packet +public class S19PacketEntityHeadLook implements Packet { private int entityId; private byte yaw; @@ -44,7 +44,7 @@ public class S19PacketEntityHeadLook implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityHeadLook(this); } diff --git a/java/src/game/packet/S1APacketEntityStatus.java b/java/src/game/packet/S1APacketEntityStatus.java index 2771749..4fd3017 100755 --- a/java/src/game/packet/S1APacketEntityStatus.java +++ b/java/src/game/packet/S1APacketEntityStatus.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.World; -public class S1APacketEntityStatus implements Packet +public class S1APacketEntityStatus implements Packet { private int entityId; private byte logicOpcode; @@ -44,7 +44,7 @@ public class S1APacketEntityStatus implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityStatus(this); } diff --git a/java/src/game/packet/S1BPacketEntityAttach.java b/java/src/game/packet/S1BPacketEntityAttach.java index 7b30497..a0e6c6b 100755 --- a/java/src/game/packet/S1BPacketEntityAttach.java +++ b/java/src/game/packet/S1BPacketEntityAttach.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S1BPacketEntityAttach implements Packet +public class S1BPacketEntityAttach implements Packet { private int leash; private int entityId; @@ -47,7 +47,7 @@ public class S1BPacketEntityAttach implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityAttach(this); } diff --git a/java/src/game/packet/S1CPacketEntityMetadata.java b/java/src/game/packet/S1CPacketEntityMetadata.java index 9662fca..3eda517 100755 --- a/java/src/game/packet/S1CPacketEntityMetadata.java +++ b/java/src/game/packet/S1CPacketEntityMetadata.java @@ -4,11 +4,11 @@ import java.io.IOException; import java.util.List; import game.entity.DataWatcher; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S1CPacketEntityMetadata implements Packet +public class S1CPacketEntityMetadata implements Packet { private int entityId; private List field_149378_b; @@ -52,7 +52,7 @@ public class S1CPacketEntityMetadata implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityMetadata(this); } diff --git a/java/src/game/packet/S1DPacketEntityEffect.java b/java/src/game/packet/S1DPacketEntityEffect.java index 418d84b..661aa94 100755 --- a/java/src/game/packet/S1DPacketEntityEffect.java +++ b/java/src/game/packet/S1DPacketEntityEffect.java @@ -2,13 +2,13 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.potion.Potion; import game.potion.PotionEffect; -public class S1DPacketEntityEffect implements Packet +public class S1DPacketEntityEffect implements Packet { private int entityId; private Potion effectId; @@ -69,7 +69,7 @@ public class S1DPacketEntityEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityEffect(this); } diff --git a/java/src/game/packet/S1EPacketRemoveEntityEffect.java b/java/src/game/packet/S1EPacketRemoveEntityEffect.java index 76af411..a7872cf 100755 --- a/java/src/game/packet/S1EPacketRemoveEntityEffect.java +++ b/java/src/game/packet/S1EPacketRemoveEntityEffect.java @@ -2,13 +2,13 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.potion.Potion; import game.potion.PotionEffect; -public class S1EPacketRemoveEntityEffect implements Packet +public class S1EPacketRemoveEntityEffect implements Packet { private int entityId; private Potion effectId; @@ -44,7 +44,7 @@ public class S1EPacketRemoveEntityEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleRemoveEntityEffect(this); } diff --git a/java/src/game/packet/S20PacketEntityProperties.java b/java/src/game/packet/S20PacketEntityProperties.java index 5d6e690..6fa51f3 100755 --- a/java/src/game/packet/S20PacketEntityProperties.java +++ b/java/src/game/packet/S20PacketEntityProperties.java @@ -7,11 +7,11 @@ import java.util.List; import game.collect.Lists; import game.entity.attributes.AttributeInstance; import game.entity.attributes.AttributeModifier; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S20PacketEntityProperties implements Packet +public class S20PacketEntityProperties implements Packet { private int entityId; private final List field_149444_b = Lists.newArrayList(); @@ -81,7 +81,7 @@ public class S20PacketEntityProperties implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityProperties(this); } diff --git a/java/src/game/packet/S27PacketExplosion.java b/java/src/game/packet/S27PacketExplosion.java index 740400a..24aa5ee 100755 --- a/java/src/game/packet/S27PacketExplosion.java +++ b/java/src/game/packet/S27PacketExplosion.java @@ -5,13 +5,13 @@ import java.util.ArrayList; import java.util.List; import game.collect.Lists; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; import game.world.Vec3; -public class S27PacketExplosion implements Packet +public class S27PacketExplosion implements Packet { private double posX; private double posY; @@ -106,7 +106,7 @@ public class S27PacketExplosion implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleExplosion(this); } diff --git a/java/src/game/packet/S28PacketEffect.java b/java/src/game/packet/S28PacketEffect.java index 263e148..a64be06 100755 --- a/java/src/game/packet/S28PacketEffect.java +++ b/java/src/game/packet/S28PacketEffect.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; -public class S28PacketEffect implements Packet { +public class S28PacketEffect implements Packet { private int soundType; private BlockPos soundPos; private int soundData; @@ -33,7 +33,7 @@ public class S28PacketEffect implements Packet { buf.writeInt(this.soundData); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleEffect(this); } diff --git a/java/src/game/packet/S29PacketSoundEffect.java b/java/src/game/packet/S29PacketSoundEffect.java index e80a9af..e0581b6 100755 --- a/java/src/game/packet/S29PacketSoundEffect.java +++ b/java/src/game/packet/S29PacketSoundEffect.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.init.SoundEvent; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S29PacketSoundEffect implements Packet +public class S29PacketSoundEffect implements Packet { private SoundEvent sound; private int posX; @@ -86,7 +86,7 @@ public class S29PacketSoundEffect implements Packet return this.soundVolume; } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSoundEffect(this); } diff --git a/java/src/game/packet/S2APacketParticles.java b/java/src/game/packet/S2APacketParticles.java index b2692fd..198ecf8 100755 --- a/java/src/game/packet/S2APacketParticles.java +++ b/java/src/game/packet/S2APacketParticles.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.model.ParticleType; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S2APacketParticles implements Packet +public class S2APacketParticles implements Packet { private ParticleType particleType; private float xCoord; @@ -183,7 +183,7 @@ public class S2APacketParticles implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleParticles(this); } diff --git a/java/src/game/packet/S2BPacketChangeGameState.java b/java/src/game/packet/S2BPacketChangeGameState.java index 3a29de1..4c9272c 100755 --- a/java/src/game/packet/S2BPacketChangeGameState.java +++ b/java/src/game/packet/S2BPacketChangeGameState.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.util.ExtMath; -public class S2BPacketChangeGameState implements Packet +public class S2BPacketChangeGameState implements Packet { private Action action; private int param; @@ -44,7 +44,7 @@ public class S2BPacketChangeGameState implements Packet buf.writeVarIntToBuffer(this.param); } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleChangeGameState(this); } diff --git a/java/src/game/packet/S2CPacketSpawnGlobalEntity.java b/java/src/game/packet/S2CPacketSpawnGlobalEntity.java index 74bdb84..df86f15 100755 --- a/java/src/game/packet/S2CPacketSpawnGlobalEntity.java +++ b/java/src/game/packet/S2CPacketSpawnGlobalEntity.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.util.ExtMath; -public class S2CPacketSpawnGlobalEntity implements Packet +public class S2CPacketSpawnGlobalEntity implements Packet { private int entityId; private int x; @@ -60,7 +60,7 @@ public class S2CPacketSpawnGlobalEntity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSpawnGlobalEntity(this); } diff --git a/java/src/game/packet/S2DPacketOpenWindow.java b/java/src/game/packet/S2DPacketOpenWindow.java index 7ac73fc..c1f7c70 100755 --- a/java/src/game/packet/S2DPacketOpenWindow.java +++ b/java/src/game/packet/S2DPacketOpenWindow.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; -public class S2DPacketOpenWindow implements Packet +public class S2DPacketOpenWindow implements Packet { private int windowId; private String inventoryType; @@ -48,7 +48,7 @@ public class S2DPacketOpenWindow implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleOpenWindow(this); } diff --git a/java/src/game/packet/S2EPacketCloseWindow.java b/java/src/game/packet/S2EPacketCloseWindow.java index fedeedd..a6652cc 100755 --- a/java/src/game/packet/S2EPacketCloseWindow.java +++ b/java/src/game/packet/S2EPacketCloseWindow.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S2EPacketCloseWindow implements Packet +public class S2EPacketCloseWindow implements Packet { private int windowId; @@ -22,7 +22,7 @@ public class S2EPacketCloseWindow implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleCloseWindow(this); } diff --git a/java/src/game/packet/S2FPacketSetSlot.java b/java/src/game/packet/S2FPacketSetSlot.java index ca30800..6b307f1 100755 --- a/java/src/game/packet/S2FPacketSetSlot.java +++ b/java/src/game/packet/S2FPacketSetSlot.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S2FPacketSetSlot implements Packet +public class S2FPacketSetSlot implements Packet { private int windowId; private int slot; @@ -27,7 +27,7 @@ public class S2FPacketSetSlot implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSetSlot(this); } diff --git a/java/src/game/packet/S30PacketWindowItems.java b/java/src/game/packet/S30PacketWindowItems.java index a0aca09..a7dc2c1 100755 --- a/java/src/game/packet/S30PacketWindowItems.java +++ b/java/src/game/packet/S30PacketWindowItems.java @@ -4,11 +4,11 @@ import java.io.IOException; import java.util.List; import game.item.ItemStack; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S30PacketWindowItems implements Packet +public class S30PacketWindowItems implements Packet { private int windowId; private ItemStack[] itemStacks; @@ -61,7 +61,7 @@ public class S30PacketWindowItems implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleWindowItems(this); } diff --git a/java/src/game/packet/S31PacketWindowProperty.java b/java/src/game/packet/S31PacketWindowProperty.java index 5d0d0a1..50b5ed1 100755 --- a/java/src/game/packet/S31PacketWindowProperty.java +++ b/java/src/game/packet/S31PacketWindowProperty.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S31PacketWindowProperty implements Packet +public class S31PacketWindowProperty implements Packet { private int windowId; private int varIndex; @@ -26,7 +26,7 @@ public class S31PacketWindowProperty implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleWindowProperty(this); } diff --git a/java/src/game/packet/S32PacketConfirmTransaction.java b/java/src/game/packet/S32PacketConfirmTransaction.java index a639e29..f323a67 100755 --- a/java/src/game/packet/S32PacketConfirmTransaction.java +++ b/java/src/game/packet/S32PacketConfirmTransaction.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S32PacketConfirmTransaction implements Packet +public class S32PacketConfirmTransaction implements Packet { private int windowId; private short actionNumber; @@ -26,7 +26,7 @@ public class S32PacketConfirmTransaction implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleConfirmTransaction(this); } diff --git a/java/src/game/packet/S33PacketUpdateSign.java b/java/src/game/packet/S33PacketUpdateSign.java index cd49fb9..798140b 100755 --- a/java/src/game/packet/S33PacketUpdateSign.java +++ b/java/src/game/packet/S33PacketUpdateSign.java @@ -2,13 +2,13 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; import game.world.World; -public class S33PacketUpdateSign implements Packet +public class S33PacketUpdateSign implements Packet { private World world; private BlockPos blockPos; @@ -62,7 +62,7 @@ public class S33PacketUpdateSign implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleUpdateSign(this); } diff --git a/java/src/game/packet/S35PacketUpdateTileEntity.java b/java/src/game/packet/S35PacketUpdateTileEntity.java index f0237ad..eb8e079 100755 --- a/java/src/game/packet/S35PacketUpdateTileEntity.java +++ b/java/src/game/packet/S35PacketUpdateTileEntity.java @@ -4,13 +4,13 @@ import java.io.IOException; import game.init.TileRegistry; import game.nbt.NBTTagCompound; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.tileentity.TileEntity; import game.world.BlockPos; -public class S35PacketUpdateTileEntity implements Packet +public class S35PacketUpdateTileEntity implements Packet { private BlockPos blockPos; private int type; @@ -50,7 +50,7 @@ public class S35PacketUpdateTileEntity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleUpdateTileEntity(this); } diff --git a/java/src/game/packet/S36PacketSignEditorOpen.java b/java/src/game/packet/S36PacketSignEditorOpen.java index 70d0560..6d5b2d4 100755 --- a/java/src/game/packet/S36PacketSignEditorOpen.java +++ b/java/src/game/packet/S36PacketSignEditorOpen.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; -public class S36PacketSignEditorOpen implements Packet +public class S36PacketSignEditorOpen implements Packet { private BlockPos signPosition; @@ -23,7 +23,7 @@ public class S36PacketSignEditorOpen implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSignEditorOpen(this); } diff --git a/java/src/game/packet/S38PacketPlayerListItem.java b/java/src/game/packet/S38PacketPlayerListItem.java index f05f4ba..afcde9f 100755 --- a/java/src/game/packet/S38PacketPlayerListItem.java +++ b/java/src/game/packet/S38PacketPlayerListItem.java @@ -6,26 +6,26 @@ import java.util.Map; import java.util.Map.Entry; import game.collect.Maps; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; +import game.network.IPlayer; -public class S38PacketPlayerListItem implements Packet { +public class S38PacketPlayerListItem implements Packet { private final Map players = Maps.newHashMap(); public S38PacketPlayerListItem() { } - public S38PacketPlayerListItem(boolean remove, Player... conns) { - for(Player conn : conns) { + public S38PacketPlayerListItem(boolean remove, IPlayer... conns) { + for(IPlayer conn : conns) { this.players.put(conn.getUser(), remove ? -1 : conn.getLatency()); } } - public S38PacketPlayerListItem(Iterable conns) { - for(Player conn : conns) { - this.players.put(conn.getUser(), conn.getLatency()); + public S38PacketPlayerListItem(Iterable conns) { + for(IPlayer conn : conns) { + this.players.put(((IPlayer)conn).getUser(), ((IPlayer)conn).getLatency()); } } @@ -44,7 +44,7 @@ public class S38PacketPlayerListItem implements Packet { } } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handlePlayerListItem(this); } diff --git a/java/src/game/packet/S39PacketPlayerAbilities.java b/java/src/game/packet/S39PacketPlayerAbilities.java index 1dae15f..740aa08 100755 --- a/java/src/game/packet/S39PacketPlayerAbilities.java +++ b/java/src/game/packet/S39PacketPlayerAbilities.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.entity.npc.EntityNPC; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S39PacketPlayerAbilities implements Packet { +public class S39PacketPlayerAbilities implements Packet { private boolean flying; private boolean noClip; @@ -39,7 +39,7 @@ public class S39PacketPlayerAbilities implements Packet { buf.writeByte(bt); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handlePlayerAbilities(this); } diff --git a/java/src/game/packet/S3APacketTabComplete.java b/java/src/game/packet/S3APacketTabComplete.java index 09a7ebc..680df6a 100755 --- a/java/src/game/packet/S3APacketTabComplete.java +++ b/java/src/game/packet/S3APacketTabComplete.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class S3APacketTabComplete implements Packet +public class S3APacketTabComplete implements Packet { private String[] matches; @@ -48,7 +48,7 @@ public class S3APacketTabComplete implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleTabComplete(this); } diff --git a/java/src/game/packet/S43PacketUpdateEntityNBT.java b/java/src/game/packet/S43PacketUpdateEntityNBT.java index d069803..1982acc 100755 --- a/java/src/game/packet/S43PacketUpdateEntityNBT.java +++ b/java/src/game/packet/S43PacketUpdateEntityNBT.java @@ -4,12 +4,12 @@ import java.io.IOException; import game.entity.Entity; import game.nbt.NBTTagCompound; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.World; -public class S43PacketUpdateEntityNBT implements Packet +public class S43PacketUpdateEntityNBT implements Packet { private int entityId; private NBTTagCompound tagCompound; @@ -45,7 +45,7 @@ public class S43PacketUpdateEntityNBT implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityNBT(this); } diff --git a/java/src/game/packet/SPacketAnimation.java b/java/src/game/packet/SPacketAnimation.java index 0593b16..f04fa3f 100755 --- a/java/src/game/packet/SPacketAnimation.java +++ b/java/src/game/packet/SPacketAnimation.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketAnimation implements Packet +public class SPacketAnimation implements Packet { private int entityId; private int type; @@ -45,7 +45,7 @@ public class SPacketAnimation implements Packet // buf.writeVarIntToBuffer(this.par); } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleAnimation(this); } diff --git a/java/src/game/packet/SPacketBiomes.java b/java/src/game/packet/SPacketBiomes.java index 5edc5d6..9af8bdf 100755 --- a/java/src/game/packet/SPacketBiomes.java +++ b/java/src/game/packet/SPacketBiomes.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketBiomes implements Packet { +public class SPacketBiomes implements Packet { private int chunkX; private int chunkZ; private byte[] biomes; @@ -32,7 +32,7 @@ public class SPacketBiomes implements Packet { buf.writeBytes(this.biomes); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleBiomes(this); } diff --git a/java/src/game/packet/SPacketBlockAction.java b/java/src/game/packet/SPacketBlockAction.java index 3a5bfb8..b20f782 100755 --- a/java/src/game/packet/SPacketBlockAction.java +++ b/java/src/game/packet/SPacketBlockAction.java @@ -4,12 +4,12 @@ import java.io.IOException; import game.block.Block; import game.init.BlockRegistry; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; -public class SPacketBlockAction implements Packet +public class SPacketBlockAction implements Packet { private BlockPos blockPosition; private int instrument; @@ -53,7 +53,7 @@ public class SPacketBlockAction implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleBlockAction(this); } diff --git a/java/src/game/packet/SPacketBlockBreakAnim.java b/java/src/game/packet/SPacketBlockBreakAnim.java index 13c487f..8621320 100755 --- a/java/src/game/packet/SPacketBlockBreakAnim.java +++ b/java/src/game/packet/SPacketBlockBreakAnim.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; -public class SPacketBlockBreakAnim implements Packet +public class SPacketBlockBreakAnim implements Packet { private int breakerId; private BlockPos position; @@ -47,7 +47,7 @@ public class SPacketBlockBreakAnim implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleBlockBreakAnim(this); } diff --git a/java/src/game/packet/SPacketBlockChange.java b/java/src/game/packet/SPacketBlockChange.java index 3924844..801050a 100755 --- a/java/src/game/packet/SPacketBlockChange.java +++ b/java/src/game/packet/SPacketBlockChange.java @@ -3,14 +3,14 @@ package game.packet; import java.io.IOException; import game.init.BlockRegistry; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; import game.world.State; import game.world.World; -public class SPacketBlockChange implements Packet +public class SPacketBlockChange implements Packet { private BlockPos blockPosition; private State blockState; @@ -46,7 +46,7 @@ public class SPacketBlockChange implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleBlockChange(this); } diff --git a/java/src/game/packet/SPacketCamera.java b/java/src/game/packet/SPacketCamera.java index 8b8c932..a22f016 100755 --- a/java/src/game/packet/SPacketCamera.java +++ b/java/src/game/packet/SPacketCamera.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.World; -public class SPacketCamera implements Packet +public class SPacketCamera implements Packet { public int entityId; @@ -31,7 +31,7 @@ public class SPacketCamera implements Packet buf.writeVarIntToBuffer(this.entityId); } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleCamera(this); } diff --git a/java/src/game/packet/SPacketCharacterList.java b/java/src/game/packet/SPacketCharacterList.java index 58fb869..e9f3c74 100644 --- a/java/src/game/packet/SPacketCharacterList.java +++ b/java/src/game/packet/SPacketCharacterList.java @@ -8,13 +8,13 @@ import java.util.Map.Entry; import game.collect.Maps; import game.entity.npc.Alignment; import game.entity.npc.PlayerCharacter; -import game.network.ClientPlayer; +import game.network.IClientPlayer; +import game.network.IPlayer; import game.network.Packet; import game.network.PacketBuffer; -import game.network.Player; import game.world.BlockPos; -public class SPacketCharacterList implements Packet { +public class SPacketCharacterList implements Packet { private final Map players = Maps.newHashMap(); private int selected; @@ -43,12 +43,12 @@ public class SPacketCharacterList implements Packet { int n = buf.readVarIntFromBuffer(); for(int z = 0; z < n; z++) { int id = buf.readVarIntFromBuffer(); - String name = buf.readStringFromBuffer(Player.MAX_NICK_LENGTH); + String name = buf.readStringFromBuffer(IPlayer.MAX_NICK_LENGTH); if(name.isEmpty()) { this.players.put(id, null); continue; } - String info = buf.readStringFromBuffer(Player.MAX_INFO_LENGTH); + String info = buf.readStringFromBuffer(IPlayer.MAX_INFO_LENGTH); info = info.isEmpty() ? null : info; Alignment align = buf.readEnumValue(Alignment.class); String dim = buf.readStringFromBuffer(256); @@ -80,7 +80,7 @@ public class SPacketCharacterList implements Packet { buf.writeVarIntToBuffer(this.selected); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleCharacterList(this); } diff --git a/java/src/game/packet/SPacketChunkData.java b/java/src/game/packet/SPacketChunkData.java index 6f45ac3..c0122d8 100755 --- a/java/src/game/packet/SPacketChunkData.java +++ b/java/src/game/packet/SPacketChunkData.java @@ -4,13 +4,13 @@ import java.io.IOException; import java.util.List; import game.collect.Lists; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockArray; import game.world.Chunk; -public class SPacketChunkData implements Packet +public class SPacketChunkData implements Packet { private int chunkX; private int chunkZ; @@ -57,7 +57,7 @@ public class SPacketChunkData implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleChunkData(this); } diff --git a/java/src/game/packet/SPacketCollectItem.java b/java/src/game/packet/SPacketCollectItem.java index b6103e9..3763c56 100755 --- a/java/src/game/packet/SPacketCollectItem.java +++ b/java/src/game/packet/SPacketCollectItem.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketCollectItem implements Packet +public class SPacketCollectItem implements Packet { private int collectedItemEntityId; private int entityId; @@ -42,7 +42,7 @@ public class SPacketCollectItem implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleCollectItem(this); } diff --git a/java/src/game/packet/SPacketDestroyEntities.java b/java/src/game/packet/SPacketDestroyEntities.java index 2124150..4afc384 100755 --- a/java/src/game/packet/SPacketDestroyEntities.java +++ b/java/src/game/packet/SPacketDestroyEntities.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketDestroyEntities implements Packet +public class SPacketDestroyEntities implements Packet { private int[] entityIDs; @@ -48,7 +48,7 @@ public class SPacketDestroyEntities implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleDestroyEntities(this); } diff --git a/java/src/game/packet/SPacketDimensionName.java b/java/src/game/packet/SPacketDimensionName.java index 6f9110b..e0160a2 100755 --- a/java/src/game/packet/SPacketDimensionName.java +++ b/java/src/game/packet/SPacketDimensionName.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.dimension.Dimension; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketDimensionName implements Packet { +public class SPacketDimensionName implements Packet { private String fullName; private String customName; @@ -20,7 +20,7 @@ public class SPacketDimensionName implements Packet { dim.getCustomName(); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleDimName(this); } diff --git a/java/src/game/packet/SPacketDisconnect.java b/java/src/game/packet/SPacketDisconnect.java index 640a002..1ff1234 100755 --- a/java/src/game/packet/SPacketDisconnect.java +++ b/java/src/game/packet/SPacketDisconnect.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketDisconnect implements Packet +public class SPacketDisconnect implements Packet { public SPacketDisconnect() { @@ -20,7 +20,7 @@ public class SPacketDisconnect implements Packet { } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleDisconnect(this); } diff --git a/java/src/game/packet/SPacketEntityEquipment.java b/java/src/game/packet/SPacketEntityEquipment.java index 07425c7..d90e86d 100755 --- a/java/src/game/packet/SPacketEntityEquipment.java +++ b/java/src/game/packet/SPacketEntityEquipment.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketEntityEquipment implements Packet +public class SPacketEntityEquipment implements Packet { private int entityID; private int equipmentSlot; @@ -47,7 +47,7 @@ public class SPacketEntityEquipment implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityEquipment(this); } diff --git a/java/src/game/packet/SPacketEntityVelocity.java b/java/src/game/packet/SPacketEntityVelocity.java index 5cb59bb..ccca607 100755 --- a/java/src/game/packet/SPacketEntityVelocity.java +++ b/java/src/game/packet/SPacketEntityVelocity.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketEntityVelocity implements Packet +public class SPacketEntityVelocity implements Packet { private int entityID; private int motionX; @@ -88,7 +88,7 @@ public class SPacketEntityVelocity implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleEntityVelocity(this); } diff --git a/java/src/game/packet/SPacketHeldItemChange.java b/java/src/game/packet/SPacketHeldItemChange.java index b0b8e37..8c36e08 100755 --- a/java/src/game/packet/SPacketHeldItemChange.java +++ b/java/src/game/packet/SPacketHeldItemChange.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketHeldItemChange implements Packet +public class SPacketHeldItemChange implements Packet { private int heldItemHotbarIndex; @@ -38,7 +38,7 @@ public class SPacketHeldItemChange implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleHeldItemChange(this); } diff --git a/java/src/game/packet/SPacketJoinGame.java b/java/src/game/packet/SPacketJoinGame.java index 59568d8..6c9e0ac 100755 --- a/java/src/game/packet/SPacketJoinGame.java +++ b/java/src/game/packet/SPacketJoinGame.java @@ -4,11 +4,11 @@ import java.io.IOException; import game.dimension.Dimension; import game.nbt.NBTTagCompound; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketJoinGame implements Packet { +public class SPacketJoinGame implements Packet { private int entityId; private NBTTagCompound dimension; private int type; @@ -38,7 +38,7 @@ public class SPacketJoinGame implements Packet { buf.writeBoolean(this.editor); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleJoinGame(this); } diff --git a/java/src/game/packet/SPacketKeepAlive.java b/java/src/game/packet/SPacketKeepAlive.java index 9fb15cd..9c5cbb9 100755 --- a/java/src/game/packet/SPacketKeepAlive.java +++ b/java/src/game/packet/SPacketKeepAlive.java @@ -1,8 +1,8 @@ package game.packet; -import game.network.ClientPlayer; +import game.network.IClientPlayer; -public class SPacketKeepAlive extends APacketVarInt +public class SPacketKeepAlive extends APacketVarInt { public SPacketKeepAlive() { @@ -13,7 +13,7 @@ public class SPacketKeepAlive extends APacketVarInt super(key); } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleKeepAlive(this); } diff --git a/java/src/game/packet/SPacketLoading.java b/java/src/game/packet/SPacketLoading.java index 827c67e..ae2214c 100644 --- a/java/src/game/packet/SPacketLoading.java +++ b/java/src/game/packet/SPacketLoading.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketLoading implements Packet { +public class SPacketLoading implements Packet { private String message; private String task; private int total = -1; @@ -48,7 +48,7 @@ public class SPacketLoading implements Packet { } } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleLoading(this); } diff --git a/java/src/game/packet/SPacketMapChunkBulk.java b/java/src/game/packet/SPacketMapChunkBulk.java index e8948ab..4b119fe 100755 --- a/java/src/game/packet/SPacketMapChunkBulk.java +++ b/java/src/game/packet/SPacketMapChunkBulk.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import java.util.List; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.Chunk; -public class SPacketMapChunkBulk implements Packet +public class SPacketMapChunkBulk implements Packet { private int[] xPositions; private int[] zPositions; @@ -87,7 +87,7 @@ public class SPacketMapChunkBulk implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleMapChunkBulk(this); } diff --git a/java/src/game/packet/SPacketMessage.java b/java/src/game/packet/SPacketMessage.java index 52bfa0f..d73032e 100755 --- a/java/src/game/packet/SPacketMessage.java +++ b/java/src/game/packet/SPacketMessage.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketMessage implements Packet { +public class SPacketMessage implements Packet { public static enum Type { CONSOLE, CHAT, FEED, HOTBAR; } @@ -32,7 +32,7 @@ public class SPacketMessage implements Packet { buf.writeEnumValue(this.type); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleMessage(this); } diff --git a/java/src/game/packet/SPacketMultiBlockChange.java b/java/src/game/packet/SPacketMultiBlockChange.java index 47f8622..1fcf7fd 100755 --- a/java/src/game/packet/SPacketMultiBlockChange.java +++ b/java/src/game/packet/SPacketMultiBlockChange.java @@ -3,7 +3,7 @@ package game.packet; import java.io.IOException; import game.init.BlockRegistry; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; @@ -11,7 +11,7 @@ import game.world.Chunk; import game.world.ChunkPos; import game.world.State; -public class SPacketMultiBlockChange implements Packet +public class SPacketMultiBlockChange implements Packet { private ChunkPos chunkPosCoord; private SPacketMultiBlockChange.BlockUpdateData[] changedBlocks; @@ -64,7 +64,7 @@ public class SPacketMultiBlockChange implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleMultiBlockChange(this); } diff --git a/java/src/game/packet/SPacketPlayerPosLook.java b/java/src/game/packet/SPacketPlayerPosLook.java index 1458e9d..74b4b2d 100755 --- a/java/src/game/packet/SPacketPlayerPosLook.java +++ b/java/src/game/packet/SPacketPlayerPosLook.java @@ -4,11 +4,11 @@ import java.io.IOException; import java.util.EnumSet; import java.util.Set; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketPlayerPosLook implements Packet +public class SPacketPlayerPosLook implements Packet { private double x; private double y; @@ -60,7 +60,7 @@ public class SPacketPlayerPosLook implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handlePlayerPosLook(this); } diff --git a/java/src/game/packet/SPacketRespawn.java b/java/src/game/packet/SPacketRespawn.java index 4366f0f..d577276 100755 --- a/java/src/game/packet/SPacketRespawn.java +++ b/java/src/game/packet/SPacketRespawn.java @@ -4,11 +4,11 @@ import java.io.IOException; import game.dimension.Dimension; import game.nbt.NBTTagCompound; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketRespawn implements Packet +public class SPacketRespawn implements Packet { private NBTTagCompound dimension; private int type; @@ -25,7 +25,7 @@ public class SPacketRespawn implements Packet this.editor = editor; } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleRespawn(this); } diff --git a/java/src/game/packet/SPacketServerTick.java b/java/src/game/packet/SPacketServerTick.java index 14dcaea..03ad7ec 100644 --- a/java/src/game/packet/SPacketServerTick.java +++ b/java/src/game/packet/SPacketServerTick.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketServerTick implements Packet { +public class SPacketServerTick implements Packet { private int time; public SPacketServerTick() { @@ -24,7 +24,7 @@ public class SPacketServerTick implements Packet { buf.writeInt(this.time); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleServerTick(this); } diff --git a/java/src/game/packet/SPacketSetExperience.java b/java/src/game/packet/SPacketSetExperience.java index de31d5f..b317b66 100755 --- a/java/src/game/packet/SPacketSetExperience.java +++ b/java/src/game/packet/SPacketSetExperience.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketSetExperience implements Packet +public class SPacketSetExperience implements Packet { private float progress; private int totalExperience; @@ -46,7 +46,7 @@ public class SPacketSetExperience implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSetExperience(this); } diff --git a/java/src/game/packet/SPacketSkin.java b/java/src/game/packet/SPacketSkin.java index 429bc0f..512d09b 100755 --- a/java/src/game/packet/SPacketSkin.java +++ b/java/src/game/packet/SPacketSkin.java @@ -4,12 +4,12 @@ import java.io.IOException; import client.renderer.texture.EntityTexManager; import game.entity.Entity; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.World; -public class SPacketSkin implements Packet +public class SPacketSkin implements Packet { private int id; // private ModelType model; @@ -58,7 +58,7 @@ public class SPacketSkin implements Packet buf.writeByteArray(this.texture == null ? new byte[0] : this.texture); } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSkin(this); } diff --git a/java/src/game/packet/SPacketSpawnMob.java b/java/src/game/packet/SPacketSpawnMob.java index 2fa62b3..2bd5afe 100755 --- a/java/src/game/packet/SPacketSpawnMob.java +++ b/java/src/game/packet/SPacketSpawnMob.java @@ -6,12 +6,12 @@ import java.util.List; import game.entity.DataWatcher; import game.entity.types.EntityLiving; import game.init.EntityRegistry; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.util.ExtMath; -public class SPacketSpawnMob implements Packet +public class SPacketSpawnMob implements Packet { private int entityId; private int type; @@ -114,7 +114,7 @@ public class SPacketSpawnMob implements Packet this.writeWatcher.writeTo(buf); } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSpawnMob(this); } diff --git a/java/src/game/packet/SPacketSpawnObject.java b/java/src/game/packet/SPacketSpawnObject.java index aa697dd..238e1ef 100755 --- a/java/src/game/packet/SPacketSpawnObject.java +++ b/java/src/game/packet/SPacketSpawnObject.java @@ -7,14 +7,14 @@ import game.entity.item.EntityLeashKnot; import game.entity.projectile.EntityProjectile; import game.entity.types.IObjectData; import game.init.EntityRegistry; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.util.ExtMath; import game.world.BlockPos; import game.world.Vec3; -public class SPacketSpawnObject implements Packet +public class SPacketSpawnObject implements Packet { private int entityId; private int x; @@ -139,7 +139,7 @@ public class SPacketSpawnObject implements Packet } } - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSpawnObject(this); } diff --git a/java/src/game/packet/SPacketSpawnPlayer.java b/java/src/game/packet/SPacketSpawnPlayer.java index 9f9dec5..c0a9f3b 100755 --- a/java/src/game/packet/SPacketSpawnPlayer.java +++ b/java/src/game/packet/SPacketSpawnPlayer.java @@ -9,12 +9,12 @@ import game.entity.npc.EntityNPC; import game.init.EntityRegistry; import game.init.ItemRegistry; import game.item.ItemStack; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.util.ExtMath; -public class SPacketSpawnPlayer implements Packet +public class SPacketSpawnPlayer implements Packet { private int entityId; private int type; @@ -90,7 +90,7 @@ public class SPacketSpawnPlayer implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleSpawnPlayer(this); } diff --git a/java/src/game/packet/SPacketTimeUpdate.java b/java/src/game/packet/SPacketTimeUpdate.java index 47ec0ae..f8b28fa 100755 --- a/java/src/game/packet/SPacketTimeUpdate.java +++ b/java/src/game/packet/SPacketTimeUpdate.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketTimeUpdate implements Packet { +public class SPacketTimeUpdate implements Packet { private long worldTime; private String serverInfo; @@ -28,7 +28,7 @@ public class SPacketTimeUpdate implements Packet { buf.writeString(this.serverInfo); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleTimeUpdate(this); } diff --git a/java/src/game/packet/SPacketTrades.java b/java/src/game/packet/SPacketTrades.java index 98ea171..4c64a65 100755 --- a/java/src/game/packet/SPacketTrades.java +++ b/java/src/game/packet/SPacketTrades.java @@ -3,13 +3,13 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.village.MerchantRecipe; import game.village.MerchantRecipeList; -public class SPacketTrades implements Packet +public class SPacketTrades implements Packet { private MerchantRecipeList recipes; private int windowId; @@ -88,7 +88,7 @@ public class SPacketTrades implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(ClientPlayer handler) + public void processPacket(IClientPlayer handler) { handler.handleTrades(this); } diff --git a/java/src/game/packet/SPacketUpdateHealth.java b/java/src/game/packet/SPacketUpdateHealth.java index 059c8a1..cda549b 100755 --- a/java/src/game/packet/SPacketUpdateHealth.java +++ b/java/src/game/packet/SPacketUpdateHealth.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketUpdateHealth implements Packet { +public class SPacketUpdateHealth implements Packet { private int health; public SPacketUpdateHealth() { @@ -24,7 +24,7 @@ public class SPacketUpdateHealth implements Packet { buf.writeInt(this.health); } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleUpdateHealth(this); } diff --git a/java/src/game/packet/SPacketWorld.java b/java/src/game/packet/SPacketWorld.java index 0f8ff25..3c68f29 100755 --- a/java/src/game/packet/SPacketWorld.java +++ b/java/src/game/packet/SPacketWorld.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.ClientPlayer; +import game.network.IClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketWorld implements Packet { +public class SPacketWorld implements Packet { private float gravity; private int timeFactor; private boolean dayCycle; @@ -20,7 +20,7 @@ public class SPacketWorld implements Packet { this.dayCycle = dayCycle; } - public void processPacket(ClientPlayer handler) { + public void processPacket(IClientPlayer handler) { handler.handleWorld(this); } diff --git a/java/src/game/network/LazyLoadBase.java b/java/src/game/util/LazyLoadBase.java similarity index 93% rename from java/src/game/network/LazyLoadBase.java rename to java/src/game/util/LazyLoadBase.java index 05d41b0..d40c4e7 100755 --- a/java/src/game/network/LazyLoadBase.java +++ b/java/src/game/util/LazyLoadBase.java @@ -1,4 +1,4 @@ -package game.network; +package game.util; public abstract class LazyLoadBase { diff --git a/java/src/game/world/WorldServer.java b/java/src/game/world/WorldServer.java index 9b97b07..69fa871 100755 --- a/java/src/game/world/WorldServer.java +++ b/java/src/game/world/WorldServer.java @@ -13,6 +13,7 @@ import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Predicate; +import game.IServer; import game.biome.Biome; import game.biome.RngSpawn; import game.block.Block; @@ -44,8 +45,8 @@ import game.nbt.NBTLoader; import game.nbt.NBTTagCompound; import game.nbt.NBTTagInt; import game.nbt.NBTTagList; +import game.network.IPlayer; import game.network.Packet; -import game.network.Player; import game.packet.S1APacketEntityStatus; import game.packet.S27PacketExplosion; import game.packet.S28PacketEffect; @@ -86,12 +87,11 @@ import game.worldgen.structure.MapGenMineshaft; import game.worldgen.structure.MapGenScatteredFeature; import game.worldgen.structure.MapGenStronghold; import game.worldgen.structure.MapGenVillage; -import server.Server; public final class WorldServer extends World { private static final int[][] XZ_DIRS = new int[][] {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; - private final Server server; + private final IServer server; private final File chunkDir; private final Random grng; private final Set ticks = Sets.newHashSet(); @@ -154,7 +154,7 @@ public final class WorldServer extends World { private long prevUpdate; private long time; - public WorldServer(Server server, long dtime, Dimension dim, boolean debug) { + public WorldServer(IServer server, long dtime, Dimension dim, boolean debug) { super(dim, false, debug); this.server = server; // this.time = time; @@ -361,7 +361,7 @@ public final class WorldServer extends World { return ExtMath.clampf(Config.gravity, -10.0f, 10.0f); } - public Server getServer() { + public IServer getServer() { return this.server; } @@ -1623,7 +1623,7 @@ public final class WorldServer extends World { this.dungeons = null; } - public static String getLoadedInfo(Server server) { + public static String getLoadedInfo(IServer server) { int chunks = 0; int entities = 0; int tiles = 0; @@ -1689,7 +1689,7 @@ public final class WorldServer extends World { public void sendBlockBreakProgress(int breakerId, BlockPos pos, int progress) { - for (Player conn : this.server.getPlayers()) + for (IPlayer conn : this.server.getIPlayers()) { EntityNPC player = conn.getPresentEntity(); if (player != null && player.worldObj == this && player.getId() != breakerId) @@ -1774,8 +1774,7 @@ public final class WorldServer extends World { public void addPlayer(EntityNPC player) { int x = (int)player.posX >> 4; int z = (int)player.posZ >> 4; - player.connection.managedPosX = player.posX; - player.connection.managedPosZ = player.posZ; + player.connection.setManagedPos(player.posX, player.posZ); for(int cx = x - this.viewRadius; cx <= x + this.viewRadius; ++cx) { for(int cz = z - this.viewRadius; cz <= z + this.viewRadius; ++cz) { @@ -1788,7 +1787,7 @@ public final class WorldServer extends World { } private void filterChunkLoadQueue(EntityNPC player) { - List list = Lists.newArrayList(player.connection.loadedChunks); + List list = Lists.newArrayList(player.connection.getLoadedChunkList()); int p = 0; int r = this.viewRadius; int x = (int)player.posX >> 4; @@ -1796,10 +1795,10 @@ public final class WorldServer extends World { int cx = 0; int cz = 0; ChunkPos pos = this.getPlayerInstance(x, z, true).position; - player.connection.loadedChunks.clear(); + player.connection.getLoadedChunkList().clear(); if(list.contains(pos)) { - player.connection.loadedChunks.add(pos); + player.connection.getLoadedChunkList().add(pos); } for(int n = 1; n <= r * 2; ++n) { @@ -1812,7 +1811,7 @@ public final class WorldServer extends World { pos = this.getPlayerInstance(x + cx, z + cz, true).position; if(list.contains(pos)) { - player.connection.loadedChunks.add(pos); + player.connection.getLoadedChunkList().add(pos); } } } @@ -1826,14 +1825,14 @@ public final class WorldServer extends World { pos = this.getPlayerInstance(x + cx, z + cz, true).position; if(list.contains(pos)) { - player.connection.loadedChunks.add(pos); + player.connection.getLoadedChunkList().add(pos); } } } public void removePlayer(EntityNPC player) { - int x = (int)player.connection.managedPosX >> 4; - int z = (int)player.connection.managedPosZ >> 4; + int x = (int)player.connection.getManagedX() >> 4; + int z = (int)player.connection.getManagedZ() >> 4; for(int cx = x - this.viewRadius; cx <= x + this.viewRadius; ++cx) { for(int cz = z - this.viewRadius; cz <= z + this.viewRadius; ++cz) { @@ -1857,13 +1856,13 @@ public final class WorldServer extends World { public void updateMountedMovingPlayer(EntityNPC player) { int x = (int)player.posX >> 4; int z = (int)player.posZ >> 4; - double dx = player.connection.managedPosX - player.posX; - double dz = player.connection.managedPosZ - player.posZ; + double dx = player.connection.getManagedX() - player.posX; + double dz = player.connection.getManagedZ() - player.posZ; double dist = dx * dx + dz * dz; if(dist >= 64.0D) { - int px = (int)player.connection.managedPosX >> 4; - int pz = (int)player.connection.managedPosZ >> 4; + int px = (int)player.connection.getManagedX() >> 4; + int pz = (int)player.connection.getManagedZ() >> 4; int r = this.viewRadius; int mx = x - px; int mz = z - pz; @@ -1886,15 +1885,14 @@ public final class WorldServer extends World { } this.filterChunkLoadQueue(player); - player.connection.managedPosX = player.posX; - player.connection.managedPosZ = player.posZ; + player.connection.setManagedPos(player.posX, player.posZ); } } } public boolean isPlayerWatchingChunk(EntityNPC player, int chunkX, int chunkZ) { PlayerInstance inst = this.getPlayerInstance(chunkX, chunkZ, false); - return inst != null && inst.watching.contains(player) && !player.connection.loadedChunks.contains(inst.position); + return inst != null && inst.watching.contains(player) && !player.connection.getLoadedChunkList().contains(inst.position); } public void updateViewRadius() { @@ -2678,7 +2676,7 @@ public final class WorldServer extends World { } this.watching.add(player); - player.connection.loadedChunks.add(this.position); + player.connection.getLoadedChunkList().add(this.position); } } @@ -2691,7 +2689,7 @@ public final class WorldServer extends World { } this.watching.remove(player); - player.connection.loadedChunks.remove(this.position); + player.connection.getLoadedChunkList().remove(this.position); if(this.watching.isEmpty()) { long v = (long)this.position.x + 2147483647L | (long)this.position.z + 2147483647L << 32; @@ -2749,7 +2747,7 @@ public final class WorldServer extends World { for(int z = 0; z < this.watching.size(); ++z) { EntityNPC player = this.watching.get(z); - if(!player.connection.loadedChunks.contains(this.position)) { + if(!player.connection.getLoadedChunkList().contains(this.position)) { player.connection.sendPacket(packet); } } diff --git a/java/src/server/Server.java b/java/src/server/Server.java index 03e23ba..1419a7d 100755 --- a/java/src/server/Server.java +++ b/java/src/server/Server.java @@ -18,11 +18,10 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Executors; import java.util.concurrent.FutureTask; +import game.IServer; import game.collect.Lists; import game.collect.Maps; import game.color.TextColor; -import game.command.CommandEnvironment; -import game.command.FixedExecutor; import game.dimension.Dimension; import game.dimension.Space; import game.entity.Entity; @@ -40,9 +39,8 @@ import game.log.Log; import game.nbt.NBTLoader; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.network.HandshakeHandler; +import game.network.IPlayer; import game.network.IThreadListener; -import game.network.LazyLoadBase; import game.network.NetConnection; import game.network.NetHandler.ThreadQuickExitException; import game.network.Packet; @@ -50,7 +48,6 @@ import game.network.PacketDecoder; import game.network.PacketEncoder; import game.network.PacketPrepender; import game.network.PacketSplitter; -import game.network.Player; import game.packet.RPacketEnableCompression; import game.packet.RPacketLoginSuccess; import game.packet.S1DPacketEntityEffect; @@ -67,6 +64,7 @@ import game.packet.SPacketTimeUpdate; import game.packet.SPacketWorld; import game.potion.PotionEffect; import game.util.ExtMath; +import game.util.LazyLoadBase; import game.util.Tuple; import game.util.Util; import game.world.BlockPos; @@ -90,8 +88,12 @@ import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.handler.timeout.ReadTimeoutHandler; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; +import server.command.CommandEnvironment; +import server.command.FixedExecutor; +import server.network.HandshakeHandler; +import server.network.Player; -public final class Server implements IThreadListener { +public final class Server implements IThreadListener, IServer { private static final LazyLoadBase SERVER_NIO_EVENTLOOP = new LazyLoadBase() { protected NioEventLoopGroup load() { return new NioEventLoopGroup(0, (new ThreadFactoryBuilder()).setNameFormat("Netty Server IO #%d").setDaemon(true).build()); @@ -186,7 +188,7 @@ public final class Server implements IThreadListener { } public Position getOfflinePosition(String user) { - if(this.debug || !Player.isValidUser(user)) + if(this.debug || !IPlayer.isValidUser(user)) return null; NBTTagCompound tag = null; try { @@ -503,7 +505,7 @@ public final class Server implements IThreadListener { } this.networkTick(); if(++this.pingTimer > 600) { - this.sendPacket(new S38PacketPlayerListItem(this.players)); + this.sendPacket(new S38PacketPlayerListItem(this.getIPlayers())); this.pingTimer = 0; } if(Config.saveInterval > 0 && ++this.saveTimer >= Config.saveInterval) { @@ -591,6 +593,10 @@ public final class Server implements IThreadListener { return this.players; } + public List getIPlayers() { + return (List)this.players; + } + public Player getPlayer(String user) { return this.usermap.get(user); } @@ -951,7 +957,7 @@ public final class Server implements IThreadListener { if(pos != null) player.setRotationYawHead(yaw); // player.interactManager.setWorld(newWorld); - this.updateTimeAndWeatherForPlayer(player.connection, newWorld); + this.updateTimeAndWeatherForPlayer((Player)player.connection, newWorld); this.syncPlayerInventory(player); for(PotionEffect effect : player.getEffects()) { player.connection.sendPacket(new S1DPacketEntityEffect(player.getId(), effect)); diff --git a/java/src/game/command/ArgCombiner.java b/java/src/server/command/ArgCombiner.java similarity index 83% rename from java/src/game/command/ArgCombiner.java rename to java/src/server/command/ArgCombiner.java index b893697..166c11b 100644 --- a/java/src/game/command/ArgCombiner.java +++ b/java/src/server/command/ArgCombiner.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public interface ArgCombiner { Object combine(T[] values); diff --git a/java/src/game/command/Argument.java b/java/src/server/command/Argument.java similarity index 96% rename from java/src/game/command/Argument.java rename to java/src/server/command/Argument.java index fb1307e..9863e7c 100644 --- a/java/src/game/command/Argument.java +++ b/java/src/server/command/Argument.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Map; diff --git a/java/src/game/command/ArgumentParser.java b/java/src/server/command/ArgumentParser.java similarity index 98% rename from java/src/game/command/ArgumentParser.java rename to java/src/server/command/ArgumentParser.java index d961f69..e6a90d7 100644 --- a/java/src/game/command/ArgumentParser.java +++ b/java/src/server/command/ArgumentParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; import java.util.List; diff --git a/java/src/game/command/ArgumentSplitter.java b/java/src/server/command/ArgumentSplitter.java similarity index 99% rename from java/src/game/command/ArgumentSplitter.java rename to java/src/server/command/ArgumentSplitter.java index 6d229e5..6e746a9 100644 --- a/java/src/game/command/ArgumentSplitter.java +++ b/java/src/server/command/ArgumentSplitter.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.List; import java.util.Map; diff --git a/java/src/game/command/BooleanParser.java b/java/src/server/command/BooleanParser.java similarity index 91% rename from java/src/game/command/BooleanParser.java rename to java/src/server/command/BooleanParser.java index 600435c..e821832 100644 --- a/java/src/game/command/BooleanParser.java +++ b/java/src/server/command/BooleanParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public class BooleanParser extends EnumParser { public BooleanParser(String name, Boolean def) { diff --git a/java/src/game/command/CachedExecutable.java b/java/src/server/command/CachedExecutable.java similarity index 99% rename from java/src/game/command/CachedExecutable.java rename to java/src/server/command/CachedExecutable.java index af728d2..d3e97c4 100644 --- a/java/src/game/command/CachedExecutable.java +++ b/java/src/server/command/CachedExecutable.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.lang.reflect.Method; import java.util.List; diff --git a/java/src/game/command/ColorParser.java b/java/src/server/command/ColorParser.java similarity index 96% rename from java/src/game/command/ColorParser.java rename to java/src/server/command/ColorParser.java index d8db5ff..191568b 100644 --- a/java/src/game/command/ColorParser.java +++ b/java/src/server/command/ColorParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import game.color.DyeColor; diff --git a/java/src/game/command/Command.java b/java/src/server/command/Command.java similarity index 99% rename from java/src/game/command/Command.java rename to java/src/server/command/Command.java index 42f8e5e..1a7074f 100644 --- a/java/src/game/command/Command.java +++ b/java/src/server/command/Command.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.lang.reflect.Array; import java.util.Collection; @@ -7,9 +7,9 @@ import java.util.Map; import game.collect.Lists; import game.collect.Maps; -import game.command.DoubleParser.DefType; import game.world.Vec3; import game.world.World; +import server.command.DoubleParser.DefType; public abstract class Command implements Executable { private final String name; diff --git a/java/src/game/command/CommandEnvironment.java b/java/src/server/command/CommandEnvironment.java similarity index 91% rename from java/src/game/command/CommandEnvironment.java rename to java/src/server/command/CommandEnvironment.java index 5b4b243..d416d93 100644 --- a/java/src/game/command/CommandEnvironment.java +++ b/java/src/server/command/CommandEnvironment.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; @@ -11,24 +11,24 @@ import game.collect.Lists; import game.collect.Maps; import game.collect.Sets; import game.color.TextColor; -import game.command.commands.CommandAdmin; -import game.command.commands.CommandHelp; -import game.command.commands.CommandKick; -import game.command.commands.CommandMessage; -import game.command.commands.CommandMilk; -import game.command.commands.CommandOfflinetp; -import game.command.commands.CommandPotion; -import game.command.commands.CommandRemove; -import game.command.commands.CommandRevoke; -import game.command.commands.CommandSpawn; -import game.command.commands.CommandTele; -import game.command.commands.CommandTime; -import game.command.commands.CommandTp; -import game.command.commands.CommandWarp; -import game.command.commands.CommandWeather; -import game.command.commands.CommandWorld; import game.log.Log; import server.Server; +import server.command.commands.CommandAdmin; +import server.command.commands.CommandHelp; +import server.command.commands.CommandKick; +import server.command.commands.CommandMessage; +import server.command.commands.CommandMilk; +import server.command.commands.CommandOfflinetp; +import server.command.commands.CommandPotion; +import server.command.commands.CommandRemove; +import server.command.commands.CommandRevoke; +import server.command.commands.CommandSpawn; +import server.command.commands.CommandTele; +import server.command.commands.CommandTime; +import server.command.commands.CommandTp; +import server.command.commands.CommandWarp; +import server.command.commands.CommandWeather; +import server.command.commands.CommandWorld; public class CommandEnvironment { private final Server server; diff --git a/java/src/game/command/Completer.java b/java/src/server/command/Completer.java similarity index 86% rename from java/src/game/command/Completer.java rename to java/src/server/command/Completer.java index e09a484..3ec7b5c 100644 --- a/java/src/game/command/Completer.java +++ b/java/src/server/command/Completer.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.List; diff --git a/java/src/game/command/CompletingParser.java b/java/src/server/command/CompletingParser.java similarity index 95% rename from java/src/game/command/CompletingParser.java rename to java/src/server/command/CompletingParser.java index 247c740..21c7de1 100644 --- a/java/src/game/command/CompletingParser.java +++ b/java/src/server/command/CompletingParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.ArrayList; import java.util.Collection; diff --git a/java/src/game/command/DefaultingParser.java b/java/src/server/command/DefaultingParser.java similarity index 93% rename from java/src/game/command/DefaultingParser.java rename to java/src/server/command/DefaultingParser.java index 9accdaf..0b392c1 100644 --- a/java/src/game/command/DefaultingParser.java +++ b/java/src/server/command/DefaultingParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public abstract class DefaultingParser extends CompletingParser { private final Object def; diff --git a/java/src/game/command/DimensionParser.java b/java/src/server/command/DimensionParser.java similarity index 98% rename from java/src/game/command/DimensionParser.java rename to java/src/server/command/DimensionParser.java index f66ebf3..268702f 100644 --- a/java/src/game/command/DimensionParser.java +++ b/java/src/server/command/DimensionParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; diff --git a/java/src/game/command/DoubleParser.java b/java/src/server/command/DoubleParser.java similarity index 99% rename from java/src/game/command/DoubleParser.java rename to java/src/server/command/DoubleParser.java index a629fa9..9401ae5 100644 --- a/java/src/game/command/DoubleParser.java +++ b/java/src/server/command/DoubleParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; diff --git a/java/src/game/command/EntityListParser.java b/java/src/server/command/EntityListParser.java similarity index 98% rename from java/src/game/command/EntityListParser.java rename to java/src/server/command/EntityListParser.java index b21f17b..c221a28 100644 --- a/java/src/game/command/EntityListParser.java +++ b/java/src/server/command/EntityListParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; import java.util.Collections; @@ -11,8 +11,8 @@ import game.entity.Entity; import game.entity.EntityType; import game.entity.types.EntityLiving; import game.init.EntityRegistry; -import game.network.Player; import game.world.WorldServer; +import server.network.Player; public class EntityListParser extends EntityParser { public EntityListParser(String name, boolean useSender, boolean livingOnly) { diff --git a/java/src/game/command/EntityParser.java b/java/src/server/command/EntityParser.java similarity index 98% rename from java/src/game/command/EntityParser.java rename to java/src/server/command/EntityParser.java index ef53831..93a1934 100644 --- a/java/src/game/command/EntityParser.java +++ b/java/src/server/command/EntityParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; import java.util.List; diff --git a/java/src/game/command/EnumParser.java b/java/src/server/command/EnumParser.java similarity index 98% rename from java/src/game/command/EnumParser.java rename to java/src/server/command/EnumParser.java index 356348d..b39653b 100644 --- a/java/src/game/command/EnumParser.java +++ b/java/src/server/command/EnumParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Map; diff --git a/java/src/game/command/Executable.java b/java/src/server/command/Executable.java similarity index 90% rename from java/src/game/command/Executable.java rename to java/src/server/command/Executable.java index 8761873..1912915 100644 --- a/java/src/game/command/Executable.java +++ b/java/src/server/command/Executable.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.List; import java.util.Map; diff --git a/java/src/game/command/Executor.java b/java/src/server/command/Executor.java similarity index 94% rename from java/src/game/command/Executor.java rename to java/src/server/command/Executor.java index 85f7b93..cde825c 100644 --- a/java/src/game/command/Executor.java +++ b/java/src/server/command/Executor.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import game.entity.Entity; import game.world.BlockPos; diff --git a/java/src/game/command/FixedExecutor.java b/java/src/server/command/FixedExecutor.java similarity index 97% rename from java/src/game/command/FixedExecutor.java rename to java/src/server/command/FixedExecutor.java index 465b298..c609f8c 100644 --- a/java/src/game/command/FixedExecutor.java +++ b/java/src/server/command/FixedExecutor.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import game.entity.Entity; import game.world.BlockPos; diff --git a/java/src/game/command/IntParser.java b/java/src/server/command/IntParser.java similarity index 98% rename from java/src/game/command/IntParser.java rename to java/src/server/command/IntParser.java index 56dc52d..a1673b0 100644 --- a/java/src/game/command/IntParser.java +++ b/java/src/server/command/IntParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public class IntParser extends DefaultingParser { private final Integer min; diff --git a/java/src/game/command/LongParser.java b/java/src/server/command/LongParser.java similarity index 97% rename from java/src/game/command/LongParser.java rename to java/src/server/command/LongParser.java index e2452f2..c072ac2 100644 --- a/java/src/game/command/LongParser.java +++ b/java/src/server/command/LongParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public class LongParser extends DefaultingParser { private final Long min; diff --git a/java/src/game/command/NonDefaultingParser.java b/java/src/server/command/NonDefaultingParser.java similarity index 90% rename from java/src/game/command/NonDefaultingParser.java rename to java/src/server/command/NonDefaultingParser.java index af97377..c06b105 100644 --- a/java/src/game/command/NonDefaultingParser.java +++ b/java/src/server/command/NonDefaultingParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public abstract class NonDefaultingParser extends CompletingParser { public NonDefaultingParser(String name, Object ... completions) { diff --git a/java/src/game/command/Parameter.java b/java/src/server/command/Parameter.java similarity index 97% rename from java/src/game/command/Parameter.java rename to java/src/server/command/Parameter.java index 8aef298..a61a828 100644 --- a/java/src/game/command/Parameter.java +++ b/java/src/server/command/Parameter.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.List; diff --git a/java/src/game/command/PatternReplacer.java b/java/src/server/command/PatternReplacer.java similarity index 98% rename from java/src/game/command/PatternReplacer.java rename to java/src/server/command/PatternReplacer.java index 0f064b8..685c94f 100644 --- a/java/src/game/command/PatternReplacer.java +++ b/java/src/server/command/PatternReplacer.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.function.Function; import java.util.regex.Matcher; diff --git a/java/src/game/command/PlayerEntityListParser.java b/java/src/server/command/PlayerEntityListParser.java similarity index 96% rename from java/src/game/command/PlayerEntityListParser.java rename to java/src/server/command/PlayerEntityListParser.java index 06335f6..45adab1 100644 --- a/java/src/game/command/PlayerEntityListParser.java +++ b/java/src/server/command/PlayerEntityListParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; import java.util.List; @@ -8,7 +8,7 @@ import game.collect.Lists; import game.collect.Sets; import game.entity.Entity; import game.entity.npc.EntityNPC; -import game.network.Player; +import server.network.Player; public class PlayerEntityListParser extends PlayerEntityParser { public PlayerEntityListParser(String name, boolean useSender) { diff --git a/java/src/game/command/PlayerEntityParser.java b/java/src/server/command/PlayerEntityParser.java similarity index 92% rename from java/src/game/command/PlayerEntityParser.java rename to java/src/server/command/PlayerEntityParser.java index 1239f06..f202478 100644 --- a/java/src/game/command/PlayerEntityParser.java +++ b/java/src/server/command/PlayerEntityParser.java @@ -1,7 +1,7 @@ -package game.command; +package server.command; import game.entity.npc.EntityNPC; -import game.network.Player; +import server.network.Player; public class PlayerEntityParser extends PlayerParser { public PlayerEntityParser(String name, boolean useSender) { diff --git a/java/src/game/command/PlayerListParser.java b/java/src/server/command/PlayerListParser.java similarity index 95% rename from java/src/game/command/PlayerListParser.java rename to java/src/server/command/PlayerListParser.java index a9a888f..3bc9d57 100644 --- a/java/src/game/command/PlayerListParser.java +++ b/java/src/server/command/PlayerListParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; import java.util.List; @@ -6,7 +6,7 @@ import java.util.Set; import game.collect.Lists; import game.collect.Sets; -import game.network.Player; +import server.network.Player; public class PlayerListParser extends PlayerParser { public PlayerListParser(String name, boolean useSender) { diff --git a/java/src/game/command/PlayerParser.java b/java/src/server/command/PlayerParser.java similarity index 93% rename from java/src/game/command/PlayerParser.java rename to java/src/server/command/PlayerParser.java index b9fc191..6e2cc07 100644 --- a/java/src/game/command/PlayerParser.java +++ b/java/src/server/command/PlayerParser.java @@ -1,8 +1,8 @@ -package game.command; +package server.command; import java.util.Collection; -import game.network.Player; +import server.network.Player; public class PlayerParser extends CompletingParser { protected final boolean useSender; diff --git a/java/src/game/command/RunException.java b/java/src/server/command/RunException.java similarity index 96% rename from java/src/game/command/RunException.java rename to java/src/server/command/RunException.java index ca97655..212af1c 100644 --- a/java/src/game/command/RunException.java +++ b/java/src/server/command/RunException.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public class RunException extends RuntimeException { public RunException(String desc) { diff --git a/java/src/game/command/StringCompleter.java b/java/src/server/command/StringCompleter.java similarity index 83% rename from java/src/game/command/StringCompleter.java rename to java/src/server/command/StringCompleter.java index 374bbb1..71cf5ce 100644 --- a/java/src/game/command/StringCompleter.java +++ b/java/src/server/command/StringCompleter.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; diff --git a/java/src/game/command/StringParser.java b/java/src/server/command/StringParser.java similarity index 99% rename from java/src/game/command/StringParser.java rename to java/src/server/command/StringParser.java index 1b3d636..b676e21 100644 --- a/java/src/game/command/StringParser.java +++ b/java/src/server/command/StringParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; diff --git a/java/src/game/command/TagParser.java b/java/src/server/command/TagParser.java similarity index 96% rename from java/src/game/command/TagParser.java rename to java/src/server/command/TagParser.java index 44327ff..ffef156 100644 --- a/java/src/game/command/TagParser.java +++ b/java/src/server/command/TagParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import game.nbt.NBTException; import game.nbt.NBTParser; diff --git a/java/src/game/command/Variable.java b/java/src/server/command/Variable.java similarity index 68% rename from java/src/game/command/Variable.java rename to java/src/server/command/Variable.java index 625aa39..46362ca 100644 --- a/java/src/game/command/Variable.java +++ b/java/src/server/command/Variable.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; public interface Variable { public String get(); diff --git a/java/src/game/command/WorldParser.java b/java/src/server/command/WorldParser.java similarity index 98% rename from java/src/game/command/WorldParser.java rename to java/src/server/command/WorldParser.java index 2c32352..8659362 100644 --- a/java/src/game/command/WorldParser.java +++ b/java/src/server/command/WorldParser.java @@ -1,4 +1,4 @@ -package game.command; +package server.command; import java.util.Collection; import java.util.List; diff --git a/java/src/game/command/commands/CommandAdmin.java b/java/src/server/command/commands/CommandAdmin.java similarity index 74% rename from java/src/game/command/commands/CommandAdmin.java rename to java/src/server/command/commands/CommandAdmin.java index 813948b..49c155e 100644 --- a/java/src/game/command/commands/CommandAdmin.java +++ b/java/src/server/command/commands/CommandAdmin.java @@ -1,10 +1,10 @@ -package game.command.commands; +package server.command.commands; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; -import game.network.Player; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; +import server.network.Player; public class CommandAdmin extends Command { public CommandAdmin() { diff --git a/java/src/game/command/commands/CommandHelp.java b/java/src/server/command/commands/CommandHelp.java similarity index 88% rename from java/src/game/command/commands/CommandHelp.java rename to java/src/server/command/commands/CommandHelp.java index 5803721..2ec6e9d 100644 --- a/java/src/game/command/commands/CommandHelp.java +++ b/java/src/server/command/commands/CommandHelp.java @@ -1,17 +1,17 @@ -package game.command.commands; +package server.command.commands; import java.util.List; import java.util.Map.Entry; import java.util.function.Function; import game.collect.Lists; -import game.command.ArgumentParser; -import game.command.CachedExecutable; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.Parameter; import game.util.Util; +import server.command.ArgumentParser; +import server.command.CachedExecutable; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.Parameter; public class CommandHelp extends Command { public CommandHelp(CommandEnvironment env) { diff --git a/java/src/game/command/commands/CommandKick.java b/java/src/server/command/commands/CommandKick.java similarity index 75% rename from java/src/game/command/commands/CommandKick.java rename to java/src/server/command/commands/CommandKick.java index 26f054a..6785b09 100644 --- a/java/src/game/command/commands/CommandKick.java +++ b/java/src/server/command/commands/CommandKick.java @@ -1,10 +1,10 @@ -package game.command.commands; +package server.command.commands; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; -import game.network.Player; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; +import server.network.Player; public class CommandKick extends Command { public CommandKick() { diff --git a/java/src/game/command/commands/CommandMessage.java b/java/src/server/command/commands/CommandMessage.java similarity index 76% rename from java/src/game/command/commands/CommandMessage.java rename to java/src/server/command/commands/CommandMessage.java index 997258f..ba0fd94 100644 --- a/java/src/game/command/commands/CommandMessage.java +++ b/java/src/server/command/commands/CommandMessage.java @@ -1,9 +1,9 @@ -package game.command.commands; +package server.command.commands; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; import game.packet.SPacketMessage; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; public class CommandMessage extends Command { public CommandMessage() { diff --git a/java/src/game/command/commands/CommandMilk.java b/java/src/server/command/commands/CommandMilk.java similarity index 89% rename from java/src/game/command/commands/CommandMilk.java rename to java/src/server/command/commands/CommandMilk.java index a016afa..c858882 100644 --- a/java/src/game/command/commands/CommandMilk.java +++ b/java/src/server/command/commands/CommandMilk.java @@ -1,13 +1,13 @@ -package game.command.commands; +package server.command.commands; import java.util.List; import game.collect.Lists; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; import game.entity.types.EntityLiving; import game.potion.Potion; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; public class CommandMilk extends Command { public CommandMilk() { diff --git a/java/src/game/command/commands/CommandOfflinetp.java b/java/src/server/command/commands/CommandOfflinetp.java similarity index 83% rename from java/src/game/command/commands/CommandOfflinetp.java rename to java/src/server/command/commands/CommandOfflinetp.java index f4b7591..892bbb9 100644 --- a/java/src/game/command/commands/CommandOfflinetp.java +++ b/java/src/server/command/commands/CommandOfflinetp.java @@ -1,18 +1,18 @@ -package game.command.commands; +package server.command.commands; import java.util.Collection; import java.util.List; import game.collect.Lists; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; -import game.command.StringCompleter; import game.entity.Entity; import game.init.UniverseRegistry; -import game.network.Player; import game.world.Position; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; +import server.command.StringCompleter; +import server.network.Player; public class CommandOfflinetp extends Command { public CommandOfflinetp() { diff --git a/java/src/game/command/commands/CommandPotion.java b/java/src/server/command/commands/CommandPotion.java similarity index 91% rename from java/src/game/command/commands/CommandPotion.java rename to java/src/server/command/commands/CommandPotion.java index e5500e9..d3262ec 100644 --- a/java/src/game/command/commands/CommandPotion.java +++ b/java/src/server/command/commands/CommandPotion.java @@ -1,13 +1,13 @@ -package game.command.commands; +package server.command.commands; import java.util.List; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; import game.entity.types.EntityLiving; import game.potion.Potion; import game.potion.PotionEffect; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; public class CommandPotion extends Command { public CommandPotion() { diff --git a/java/src/game/command/commands/CommandRemove.java b/java/src/server/command/commands/CommandRemove.java similarity index 83% rename from java/src/game/command/commands/CommandRemove.java rename to java/src/server/command/commands/CommandRemove.java index fa43608..e3265f4 100644 --- a/java/src/game/command/commands/CommandRemove.java +++ b/java/src/server/command/commands/CommandRemove.java @@ -1,11 +1,11 @@ -package game.command.commands; +package server.command.commands; import java.util.List; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; import game.entity.Entity; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; public class CommandRemove extends Command { public CommandRemove() { diff --git a/java/src/game/command/commands/CommandRevoke.java b/java/src/server/command/commands/CommandRevoke.java similarity index 77% rename from java/src/game/command/commands/CommandRevoke.java rename to java/src/server/command/commands/CommandRevoke.java index 5269241..10c88d2 100644 --- a/java/src/game/command/commands/CommandRevoke.java +++ b/java/src/server/command/commands/CommandRevoke.java @@ -1,10 +1,10 @@ -package game.command.commands; +package server.command.commands; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; -import game.network.Player; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; +import server.network.Player; public class CommandRevoke extends Command { public CommandRevoke() { diff --git a/java/src/game/command/commands/CommandSpawn.java b/java/src/server/command/commands/CommandSpawn.java similarity index 93% rename from java/src/game/command/commands/CommandSpawn.java rename to java/src/server/command/commands/CommandSpawn.java index 0236021..74f3ffb 100644 --- a/java/src/game/command/commands/CommandSpawn.java +++ b/java/src/server/command/commands/CommandSpawn.java @@ -1,22 +1,22 @@ -package game.command.commands; +package server.command.commands; import java.util.List; import java.util.Set; import game.collect.Lists; import game.collect.Sets; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; import game.entity.Entity; import game.entity.types.EntityLiving; import game.init.EntityRegistry; import game.nbt.NBTTagCompound; -import game.network.Player; import game.util.Util; import game.world.Vec3; import game.world.WorldServer; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; +import server.network.Player; public class CommandSpawn extends Command { public CommandSpawn() { diff --git a/java/src/game/command/commands/CommandTele.java b/java/src/server/command/commands/CommandTele.java similarity index 88% rename from java/src/game/command/commands/CommandTele.java rename to java/src/server/command/commands/CommandTele.java index 82dbace..427111f 100644 --- a/java/src/game/command/commands/CommandTele.java +++ b/java/src/server/command/commands/CommandTele.java @@ -1,13 +1,13 @@ -package game.command.commands; +package server.command.commands; import java.util.List; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; import game.dimension.Dimension; import game.entity.Entity; import game.world.Vec3; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; public class CommandTele extends Command { public CommandTele() { diff --git a/java/src/game/command/commands/CommandTime.java b/java/src/server/command/commands/CommandTime.java similarity index 93% rename from java/src/game/command/commands/CommandTime.java rename to java/src/server/command/commands/CommandTime.java index 2df30de..2cedd0a 100644 --- a/java/src/game/command/commands/CommandTime.java +++ b/java/src/server/command/commands/CommandTime.java @@ -1,13 +1,13 @@ -package game.command.commands; +package server.command.commands; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; import game.dimension.Dimension; import game.item.ItemSpaceNavigator; import game.world.Position; import game.world.WorldServer; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; public class CommandTime extends Command { public CommandTime() { diff --git a/java/src/game/command/commands/CommandTp.java b/java/src/server/command/commands/CommandTp.java similarity index 83% rename from java/src/game/command/commands/CommandTp.java rename to java/src/server/command/commands/CommandTp.java index 0fbf23e..9011787 100644 --- a/java/src/game/command/commands/CommandTp.java +++ b/java/src/server/command/commands/CommandTp.java @@ -1,13 +1,13 @@ -package game.command.commands; +package server.command.commands; import java.util.List; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; import game.entity.Entity; import game.init.UniverseRegistry; import game.world.Position; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; public class CommandTp extends Command { public CommandTp() { diff --git a/java/src/game/command/commands/CommandWarp.java b/java/src/server/command/commands/CommandWarp.java similarity index 89% rename from java/src/game/command/commands/CommandWarp.java rename to java/src/server/command/commands/CommandWarp.java index 4cd5897..0e4802e 100644 --- a/java/src/game/command/commands/CommandWarp.java +++ b/java/src/server/command/commands/CommandWarp.java @@ -1,16 +1,16 @@ -package game.command.commands; +package server.command.commands; import java.util.Collection; import java.util.List; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; -import game.command.StringCompleter; import game.entity.Entity; import game.init.UniverseRegistry; import game.world.Position; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; +import server.command.StringCompleter; public class CommandWarp extends Command { public CommandWarp() { diff --git a/java/src/game/command/commands/CommandWeather.java b/java/src/server/command/commands/CommandWeather.java similarity index 83% rename from java/src/game/command/commands/CommandWeather.java rename to java/src/server/command/commands/CommandWeather.java index b8c1e45..2e8b8bd 100644 --- a/java/src/game/command/commands/CommandWeather.java +++ b/java/src/server/command/commands/CommandWeather.java @@ -1,11 +1,11 @@ -package game.command.commands; +package server.command.commands; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; -import game.command.RunException; import game.world.Weather; import game.world.WorldServer; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; +import server.command.RunException; public class CommandWeather extends Command { public CommandWeather() { diff --git a/java/src/game/command/commands/CommandWorld.java b/java/src/server/command/commands/CommandWorld.java similarity index 90% rename from java/src/game/command/commands/CommandWorld.java rename to java/src/server/command/commands/CommandWorld.java index 325c5f9..0fba0c4 100644 --- a/java/src/game/command/commands/CommandWorld.java +++ b/java/src/server/command/commands/CommandWorld.java @@ -1,13 +1,13 @@ -package game.command.commands; +package server.command.commands; import java.util.List; -import game.command.Command; -import game.command.CommandEnvironment; -import game.command.Executor; import game.entity.Entity; import game.world.BlockPos; import game.world.WorldServer; +import server.command.Command; +import server.command.CommandEnvironment; +import server.command.Executor; public class CommandWorld extends Command { public CommandWorld() { diff --git a/java/src/game/network/HandshakeHandler.java b/java/src/server/network/HandshakeHandler.java similarity index 84% rename from java/src/game/network/HandshakeHandler.java rename to java/src/server/network/HandshakeHandler.java index 51dd361..4d79d09 100755 --- a/java/src/game/network/HandshakeHandler.java +++ b/java/src/server/network/HandshakeHandler.java @@ -1,11 +1,15 @@ -package game.network; +package server.network; import game.init.Config; +import game.network.IHandshakeHandler; +import game.network.NetConnection; +import game.network.NetHandler; +import game.network.PacketRegistry; import game.packet.HPacketHandshake; import game.packet.RPacketDisconnect; import server.Server; -public class HandshakeHandler extends NetHandler +public class HandshakeHandler extends NetHandler implements IHandshakeHandler { private final Server server; private final NetConnection networkManager; diff --git a/java/src/game/network/LoginHandler.java b/java/src/server/network/LoginHandler.java similarity index 92% rename from java/src/game/network/LoginHandler.java rename to java/src/server/network/LoginHandler.java index 9aa117d..51d9e22 100755 --- a/java/src/game/network/LoginHandler.java +++ b/java/src/server/network/LoginHandler.java @@ -1,13 +1,17 @@ -package game.network; +package server.network; import game.color.TextColor; import game.init.Config; import game.log.Log; +import game.network.ILoginHandler; +import game.network.IPlayer; +import game.network.NetConnection; +import game.network.NetHandler; import game.packet.LPacketPasswordResponse; import game.packet.RPacketDisconnect; import server.Server; -public class LoginHandler extends NetHandler +public class LoginHandler extends NetHandler implements ILoginHandler { private static enum LoginState { PASSWORD, READY_TO_ACCEPT, ACCEPTED; @@ -104,7 +108,7 @@ public class LoginHandler extends NetHandler throw new IllegalStateException("Unerwartetes Passwort-Paket"); this.loginUser = packetIn.getUser(); this.loginPass = packetIn.getPassword(); - if(this.loginUser.isEmpty() || !Player.isValidUser(this.loginUser)) + if(this.loginUser.isEmpty() || !IPlayer.isValidUser(this.loginUser)) throw new IllegalStateException("Ungültiger Nutzername!"); // if(!this.checkConnect(packetIn.getAccess())) // return; diff --git a/java/src/game/network/Player.java b/java/src/server/network/Player.java similarity index 98% rename from java/src/game/network/Player.java rename to java/src/server/network/Player.java index eca1b80..97fab53 100755 --- a/java/src/game/network/Player.java +++ b/java/src/server/network/Player.java @@ -1,4 +1,4 @@ -package game.network; +package server.network; import java.util.Collections; import java.util.Iterator; @@ -20,7 +20,6 @@ import game.clipboard.RotationValue; import game.clipboard.Vector; import game.collect.Lists; import game.color.TextColor; -import game.command.Executor; import game.dimension.Dimension; import game.entity.Entity; import game.entity.animal.EntityHorse; @@ -58,6 +57,10 @@ import game.material.Material; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; import game.nbt.NBTTagString; +import game.network.IPlayer; +import game.network.NetConnection; +import game.network.NetHandler; +import game.network.Packet; import game.packet.CPacketAction; import game.packet.CPacketAction.Action; import game.packet.CPacketBook; @@ -111,7 +114,6 @@ import game.tileentity.ILockableContainer; import game.tileentity.TileEntity; import game.tileentity.TileEntityMachine; import game.tileentity.TileEntitySign; -import game.util.CharValidator; import game.util.ExtMath; import game.village.MerchantRecipeList; import game.world.BlockPos; @@ -131,8 +133,9 @@ import game.world.WorldServer; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; import server.Server; +import server.command.Executor; -public class Player extends NetHandler implements ICrafting, Executor +public class Player extends NetHandler implements ICrafting, Executor, IPlayer { private static enum EditAction { SELECT("Auswahlmodus"), COPYPASTE("Kopiermodus"), TRANSFORM("Drehmodus"); @@ -144,27 +147,6 @@ public class Player extends NetHandler implements ICrafting, Executor } } - public static class UserValidator implements CharValidator { - public boolean valid(char ch) { - return (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' || ch == '-'; - } - } - - public static class NickValidator implements CharValidator { - public boolean valid(char ch) { - return (ch <= 0xff && Character.isLetterOrDigit(ch)) || (ch >= 32 && ch < 126); - } - } - - public static final int MAX_USER_LENGTH = 16; - public static final int MAX_NICK_LENGTH = 32; - public static final int MAX_PASS_LENGTH = 64; - public static final int MAX_CMD_LENGTH = 1024; - public static final int MAX_INFO_LENGTH = 4096; - - public static final CharValidator VALID_USER = new UserValidator(); - public static final CharValidator VALID_NICK = new NickValidator(); - private final NetConnection connection; private final Server server; private final String user; @@ -209,11 +191,11 @@ public class Player extends NetHandler implements ICrafting, Executor private int initialBlockDamage; private int durabilityRemainingOnBlock = -1; - public boolean isChangingQuantityOnly; + private boolean isChangingQuantityOnly; private int respawnTimer; - public double managedPosX; - public double managedPosZ; + private double managedPosX; + private double managedPosZ; private float combinedHealth = Float.MIN_VALUE; private float lastHealth = -1.0E8F; private int lastExperience = -99999999; @@ -222,20 +204,12 @@ public class Player extends NetHandler implements ICrafting, Executor private int pointedEntity; private BlockPos pointedPosition; - public final List loadedChunks = new LinkedList(); + private final List loadedChunks = new LinkedList(); private final List destroyedItemsNetCache = new LinkedList(); // private final Set statsQueue = Sets.newHashSet(); // private final Map stats = Maps.newConcurrentMap(); - public static boolean isValidUser(String user) { - return VALID_USER.valid(user); - } - - public static boolean isValidNick(String user) { - return VALID_NICK.valid(user); - } - - public Player(Server server, NetConnection connection, String user) + public Player(Server server, NetConnection connection, String user) { this.user = user; this.server = server; @@ -1997,13 +1971,13 @@ public class Player extends NetHandler implements ICrafting, Executor break; case DISPLAY: - if(msg.isEmpty() || !isValidNick(msg) || msg.length() > MAX_NICK_LENGTH) + if(msg.isEmpty() || !IPlayer.isValidNick(msg) || msg.length() > IPlayer.MAX_NICK_LENGTH) throw new IllegalArgumentException("Ungültiger Anzeigename"); this.entity.setCustomNameTag(msg); break; case INFO: - if(msg.length() > MAX_INFO_LENGTH) + if(msg.length() > IPlayer.MAX_INFO_LENGTH) throw new IllegalArgumentException("Ungültige Beschreibung"); this.entity.setDescription(msg.isEmpty() ? null : msg); break; @@ -3177,6 +3151,23 @@ public class Player extends NetHandler implements ICrafting, Executor public BlockPos getPointedPosition() { return this.pointedPosition; } + + public List getLoadedChunkList() { + return this.loadedChunks; + } + + public double getManagedX() { + return this.managedPosX; + } + + public double getManagedZ() { + return this.managedPosZ; + } + + public void setManagedPos(double x, double z) { + this.managedPosX = x; + this.managedPosZ = z; + } // public void processCmdBlock(CPacketCmdBlock packetIn) { // NetHandler.checkThread(packetIn, this, this.serverController);