diff --git a/java/src/game/Game.java b/java/src/game/Game.java index 61ed363..8ba1a38 100755 --- a/java/src/game/Game.java +++ b/java/src/game/Game.java @@ -80,6 +80,7 @@ import game.init.BlockRegistry; import game.init.Config; import game.init.EntityRegistry; import game.init.ItemRegistry; +import game.init.Items; import game.init.Registry; import game.init.SoundEvent; import game.inventory.InventoryPlayer; @@ -87,7 +88,6 @@ import game.item.Item; import game.item.ItemBlock; import game.item.ItemControl; import game.item.ItemStack; -import game.log.ConsolePos; import game.log.Log; import game.log.LogLevel; import game.log.Message; @@ -96,8 +96,8 @@ import game.model.ModelManager; import game.network.IThreadListener; import game.network.NetConnection; import game.network.NetHandler.ThreadQuickExitException; -import game.network.NetHandlerLoginClient; -import game.network.NetHandlerPlayClient; +import game.network.ClientLoginHandler; +import game.network.ClientPlayer; import game.network.PlayerController; import game.packet.CPacketAction; import game.packet.CPacketAction.Action; @@ -201,9 +201,27 @@ public class Game implements IThreadListener { } } - public static class ConFunction implements IntFunction { + public static class ConsoleFunction implements IntFunction { public void apply(IntVar cv, int value) { - Game.getGame().resize(value); + Game.getGame().resizeConsole(); + } + } + + public static class ChatFunction implements IntFunction { + public void apply(IntVar cv, int value) { + Game.getGame().resizeChat(); + } + } + + public static class FeedFunction implements IntFunction { + public void apply(IntVar cv, int value) { + Game.getGame().resizeFeed(); + } + } + + public static class HotbarFunction implements IntFunction { + public void apply(IntVar cv, int value) { + Game.getGame().resizeHotbar(); } } @@ -236,13 +254,17 @@ public class Game implements IThreadListener { private final Thread clThread = Thread.currentThread(); private final Map cvars = Maps.newTreeMap(); private final Map debug = Maps.newTreeMap(); - private final List log = Lists.newArrayList(); + private final List console = Lists.newArrayList(); + private final List chat = Lists.newArrayList(); + private final List feed = Lists.newArrayList(); + private final List hotbar = Lists.newArrayList(); private final File config = new File(System.getProperty("config.file", "game.cfg")); private boolean primary; private boolean secondary; private boolean tertiary; private boolean quarternary; + private boolean cameraUsed; public boolean jump; public boolean sneak; public boolean debugCamEnable; @@ -343,15 +365,21 @@ public class Game implements IThreadListener { public DisplayMode vidMode; @Variable(name = "gui_dclick_delay", category = CVarCategory.INPUT, min = 150, max = 750, display = "Doppelklick bei", unit = "ms") public int dclickDelay = 250; - @Variable(name = "con_size", category = CVarCategory.CONSOLE, min = 0, max = 128, callback = ConFunction.class, display = "Nachrichten im Overlay") - public int hudSize = 32; - @Variable(name = "con_fadeout", category = CVarCategory.CONSOLE, min = 100, max = 60000, display = "Dauer bis zum Ausblenden", unit = "ms") - public int hudFadeout = 5000; - @Variable(name = "con_overlay", category = CVarCategory.CONSOLE, display = "Konsolen-Overlay") + @Variable(name = "console_size", category = CVarCategory.CONSOLE, min = 0, max = 128, callback = ConsoleFunction.class, display = "Nachrichten in der Konsole") + public int consoleSize = 32; + @Variable(name = "chat_size", category = CVarCategory.CONSOLE, min = 0, max = 128, callback = ChatFunction.class, display = "Nachrichten im Chat") + public int chatSize = 32; + @Variable(name = "feed_size", category = CVarCategory.CONSOLE, min = 0, max = 128, callback = FeedFunction.class, display = "Nachrichten im Feed") + public int feedSize = 8; + @Variable(name = "hotbar_size", category = CVarCategory.CONSOLE, min = 0, max = 16, callback = HotbarFunction.class, display = "Nachrichten in der Hotbar") + public int hotbarSize = 2; + @Variable(name = "overlay_fadeout", category = CVarCategory.CONSOLE, min = 1, max = 60, display = "Dauer bis zum Ausblenden", unit = "s") + public int hudFadeout = 8; + @Variable(name = "overlay_enabled", category = CVarCategory.CONSOLE, display = "Nachrichten-Overlay") public boolean hudOverlay = true; - @Variable(name = "con_position", category = CVarCategory.CONSOLE, display = "Position des Overlays") - public ConsolePos hudPos = ConsolePos.BOTTOM; - @Variable(name = "con_opacity", category = CVarCategory.CONSOLE, min = 0x00, max = 0xff, display = "Deckkraft Hintergrund") + @Variable(name = "chat_permanent", category = CVarCategory.CONSOLE, display = "Nachrichten im Chat immer einblenden") + public boolean chatPermanent = false; + @Variable(name = "overlay_opacity", category = CVarCategory.CONSOLE, min = 0x00, max = 0xff, display = "Deckkraft Hintergrund") public int hudOpacity = 0x40; public boolean syncLimited; public boolean vsync; @@ -426,7 +454,7 @@ public class Game implements IThreadListener { try { connection = NetConnection.createNetworkManagerAndConnect(InetAddress.getByName(IDN.toASCII(address)), port); - connection.setNetHandler(new NetHandlerLoginClient(connection, this)); + connection.setNetHandler(new ClientLoginHandler(connection, this)); connection.sendPacket(new HPacketHandshake(Config.PROTOCOL)); connection.sendPacket(new LPacketPasswordResponse(user, access, pass)); } @@ -450,14 +478,14 @@ public class Game implements IThreadListener { // this.displayGuiScreen(null); SocketAddress socket = server.setLocalEndpoint(); NetConnection connection = NetConnection.provideLocalClient(socket); - connection.setNetHandler(new NetHandlerLoginClient(connection, this)); + connection.setNetHandler(new ClientLoginHandler(connection, this)); connection.sendPacket(new HPacketHandshake(Config.PROTOCOL)); connection.sendPacket(new LPacketPasswordResponse(user, "", "")); this.connection = connection; } public void unloadWorld() { - NetHandlerPlayClient netHandler = this.getNetHandler(); + ClientPlayer netHandler = this.getNetHandler(); if(netHandler != null) netHandler.cleanup(); this.debugWorld = false; @@ -958,8 +986,12 @@ public class Game implements IThreadListener { Drawing.drawScaled(this, Gui.DIRT_BACKGROUND); if(Bind.INFO.isDown() && (this.open == null || !(this.open.selected instanceof Textbox))) this.drawInfo(); - if(this.hudOverlay && !(this.open instanceof GuiConsole)) - this.drawOverlay(); + if(this.hudOverlay && !(this.open instanceof GuiConsole)) { + this.drawOverlay(this.feed, this.feedSize, false, 1, 0, 0); + this.drawOverlay(this.console, this.consoleSize, true, 1, 0, this.fb_y); + this.drawOverlay(this.hotbar, this.hotbarSize, true, 0, this.fb_x / 2, this.fb_y - 120); + this.drawOverlay(this.chat, this.chatSize, true, -1, this.fb_x, this.fb_y); + } if(this.drawFps) { // && !(this.open instanceof GuiConsole) if(this.drawDebug && this.open == null) { this.renderStats(); @@ -1047,6 +1079,11 @@ public class Game implements IThreadListener { this.screenshot = false; screenshot(); } + if(this.cameraUsed) { + this.cameraUsed = false; + if(this.theWorld != null) + this.theWorld.setLastLightning(1, 0xffffff); + } if(this.isDirty()) this.save(); Thread.yield(); @@ -1239,10 +1276,10 @@ public class Game implements IThreadListener { boolean flag = true; ItemStack itemstack = this.thePlayer.inventory.getCurrentItem(); -// if (itemstack != null && itemstack.getItem() == Items.camera) -// { -// this.makeScreenshot(); -// } + if (itemstack != null && itemstack.getItem() == Items.camera && !this.saving) + { + this.screenshot = this.cameraUsed = true; + } if (this.pointed == null) { @@ -1449,7 +1486,7 @@ public class Game implements IThreadListener { // } } - public NetHandlerPlayClient getNetHandler() + public ClientPlayer getNetHandler() { return this.thePlayer != null ? this.thePlayer.sendQueue : null; } @@ -1809,6 +1846,10 @@ public class Game implements IThreadListener { return null; } + public boolean canRenderHud() { + return (this.showHud || this.open != null) && !this.cameraUsed; + } + public boolean shift() { return Bind.isWindowActive() && (Keysym.LEFT_SHIFT.read() || Keysym.RIGHT_SHIFT.read()); } @@ -2109,7 +2150,8 @@ public class Game implements IThreadListener { PerfSection.RENDER.enter(); this.render(); PerfSection.GUI.enter(); - this.renderHud(); + if(this.canRenderHud()) + this.renderHud(); PerfSection.REST.enter(); this.finish(); PerfSection.SWAP.enter(); @@ -2259,7 +2301,7 @@ public class Game implements IThreadListener { Game.this.schedule(new Runnable() { public void run() { Game.this.saving = false; - Log.SYSTEM.user("Bildschirmfoto als '%s' gespeichert", saved.getName()); + Game.this.logFeed("Bildschirmfoto als '%s' gespeichert", saved.getName()); } }); } @@ -2372,12 +2414,12 @@ public class Game implements IThreadListener { } public void restartSound(boolean load) { - Log.CONSOLE.user("Lade Sound-System neu"); + Game.this.logFeed("Lade Sound-System neu"); this.soundManager.unload(); if(audio.end()) Log.SOUND.info("Audiogerät geschlossen"); this.startSound(load); - Log.CONSOLE.user("Das Sound-System wurde neu geladen"); + Game.this.logFeed("Das Sound-System wurde neu geladen"); } public AudioInterface getAudioInterface() { @@ -2444,74 +2486,74 @@ public class Game implements IThreadListener { }); this.registerDebug(Keysym.E, "Gegenstands-Cheat-Menü umschalten", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Cheat-Menü: %s", (Game.this.itemCheat ^= true) ? "an" : "aus"); + Game.this.logFeed("Cheat-Menü: %s", (Game.this.itemCheat ^= true) ? "an" : "aus"); if(Game.this.open instanceof GuiContainer) Game.this.open.init(); } }); this.registerDebug(Keysym.L, "Maximale Helligkeit umschalten", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Maximale Helligkeit: %s", (Game.this.setGamma ^= true) ? "an" : "aus"); + Game.this.logFeed("Maximale Helligkeit: %s", (Game.this.setGamma ^= true) ? "an" : "aus"); } }); this.registerDebug(Keysym.J, "JVM GC ausführen", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Führe JVM GC aus"); + Game.this.logFeed("Führe JVM GC aus"); long mem = Runtime.getRuntime().freeMemory(); System.gc(); System.gc(); mem = Runtime.getRuntime().freeMemory() - mem; mem = mem < 0L ? 0L : mem; - Log.CONSOLE.user("JVM GC ausgeführt: %d MB freigegeben", (int)(mem / 1024L / 1024L)); + Game.this.logFeed("JVM GC ausgeführt: %d MB freigegeben", (int)(mem / 1024L / 1024L)); } }); this.registerDebug(Keysym.B, "Hitbox-Overlay umschalten", new DebugRunner() { public void execute(Keysym key) { Game.this.getRenderManager().setDebugBoundingBox(!Game.this.getRenderManager().isDebugBoundingBox()); - Log.CONSOLE.user("Objekt-Grenzen: %s", Game.this.getRenderManager().isDebugBoundingBox() ? "an" : "aus"); + Game.this.logFeed("Objekt-Grenzen: %s", Game.this.getRenderManager().isDebugBoundingBox() ? "an" : "aus"); } }); this.registerDebug(Keysym.K, "Debug-Kamera in 3. Person umschalten", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Debug-Kamera 3. Person: %s", (Game.this.debugCamEnable ^= true) ? "an" : "aus"); + Game.this.logFeed("Debug-Kamera 3. Person: %s", (Game.this.debugCamEnable ^= true) ? "an" : "aus"); } }); this.registerDebug(Keysym.X, "Röntgenblick umschalten", new DebugRunner() { public void execute(Keysym key) { Game.this.xrayActive ^= true; Game.this.renderGlobal.loadRenderers(); - Log.CONSOLE.user("Röntgenblick: %s", Game.this.xrayActive ? "an" : "aus"); + Game.this.logFeed("Röntgenblick: %s", Game.this.xrayActive ? "an" : "aus"); } }); this.registerDebug(Keysym.O, "Objekt-Overlay umschalten", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Objekt-Umrahmung: %s", (Game.this.renderOutlines ^= true) ? "an" : "aus"); + Game.this.logFeed("Objekt-Umrahmung: %s", (Game.this.renderOutlines ^= true) ? "an" : "aus"); } }); this.registerDebug(Keysym.I, "Block-Objekt-Overlay umschalten", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Block-Objekte anzeigen: %s", (Game.this.tileOverlay ^= true) ? "an" : "aus"); + Game.this.logFeed("Block-Objekte anzeigen: %s", (Game.this.tileOverlay ^= true) ? "an" : "aus"); } }); this.registerDebug(Keysym.Y, "Alle Chunks neu kompilieren", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Kompiliere alle Chunks neu"); + Game.this.logFeed("Kompiliere alle Chunks neu"); Game.this.renderGlobal.loadRenderers(); - Log.CONSOLE.user("Alle Chunks wurden neu kompiliert"); + Game.this.logFeed("Alle Chunks wurden neu kompiliert"); } }); this.registerDebug(Keysym.T, "Alle Texturen neu laden", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Lade Texturen neu"); + Game.this.logFeed("Lade Texturen neu"); Game.this.refreshResources(); - Log.CONSOLE.user("Texturen wurden neu geladen"); + Game.this.logFeed("Texturen wurden neu geladen"); } }); this.registerDebug(Keysym.S, "Alle Sounds neu laden", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Lade Sounds neu"); + Game.this.logFeed("Lade Sounds neu"); Game.this.restartSound(true); - Log.CONSOLE.user("Sounds wurden neu geladen"); + Game.this.logFeed("Sounds wurden neu geladen"); } }); this.registerDebug(Keysym.W, "Server-Tick-Limit umschalten (Welt beschleunigen / Warpmodus)", new DebugRunner() { @@ -2549,7 +2591,7 @@ public class Game implements IThreadListener { } else { this.lastUsed = System.currentTimeMillis(); - Log.CONSOLE.warn("VORSICHT: Debug-Absturz nach mehrmaligem Drücken innerhalb einer Sekunde"); + Game.this.logFeed(TextColor.RED + "VORSICHT: Debug-Absturz nach mehrmaligem Drücken innerhalb einer Sekunde"); } } }); @@ -2583,7 +2625,7 @@ public class Game implements IThreadListener { }); this.registerDebug(Keysym.UE, "Spieler in Overlay umschalten", new DebugRunner() { public void execute(Keysym key) { - Log.CONSOLE.user("Spieler-Info in Overlay: %s", (Game.this.debugPlayer ^= true) ? "an" : "aus"); + Game.this.logFeed("Spieler-Info in Overlay: %s", (Game.this.debugPlayer ^= true) ? "an" : "aus"); } }); } @@ -2938,7 +2980,7 @@ public class Game implements IThreadListener { private void printVar(CVar cv) { String values = cv.getValues(); - Log.CONSOLE.user("%s " + TextColor.NEON + "%s " + TextColor.DGRAY + "[%s" + TextColor.DGRAY + "]" + TextColor.GRAY + " = " + TextColor.WHITE + "%s " + TextColor.DGRAY + + this.logConsole("%s " + TextColor.NEON + "%s " + TextColor.DGRAY + "[%s" + TextColor.DGRAY + "]" + TextColor.GRAY + " = " + TextColor.WHITE + "%s " + TextColor.DGRAY + "[" + TextColor.GRAY + "D " + TextColor.CRIMSON + "%s" + TextColor.DGRAY + "]%s", cv.getType(), cv.getCVarName(), cv.getCategory(), cv.format(), cv.getDefault(), values != null ? " [" + TextColor.LGRAY + values + TextColor.DGRAY + "]" : ""); } @@ -2948,7 +2990,7 @@ public class Game implements IThreadListener { for(CVar cv : cvars.values()) { printVar(cv); } - Log.CONSOLE.user(TextColor.GREEN + "CVARs insgesamt registriert: %d", cvars.size()); + this.logConsole(TextColor.GREEN + "CVARs insgesamt registriert: %d", cvars.size()); // this.command(line); return; } @@ -2958,16 +3000,16 @@ public class Game implements IThreadListener { CVar cv = getVar(space >= 0 ? tok.substring(0, space) : tok); if(cv != null) { if(space < 0 || space >= tok.trim().length()) { - Log.CONSOLE.user("%s = %s", cv.getCVarName(), cv.format()); + this.logConsole("%s = %s", cv.getCVarName(), cv.format()); return; } String value = tok.substring(space + 1).trim(); if(cv.parse(value)) { cfgDirty = true; - Log.CONSOLE.user("%s -> %s", cv.getCVarName(), cv.format()); + this.logConsole("%s -> %s", cv.getCVarName(), cv.format()); } else { - Log.CONSOLE.error("Kann CVAR '%s' nicht auf '%s' setzen", cv.getCVarName(), value); + this.logConsole(TextColor.RED + "Kann CVAR '%s' nicht auf '%s' setzen", cv.getCVarName(), value); } return; } @@ -2979,16 +3021,35 @@ public class Game implements IThreadListener { } public void reset() { - buffer = TextColor.NEON + "*** " + Config.VERSION + " ***"; - log.clear(); + this.buffer = TextColor.NEON + "*** " + Config.VERSION + " ***"; + this.console.clear(); + this.chat.clear(); + this.feed.clear(); + this.hotbar.clear(); } - public void resize(int size) { - while(log.size() > this.hudSize) { + private void resize(List log, int size) { + while(log.size() > size) { log.remove(log.size() - 1); } } + public void resizeConsole() { + this.resize(this.console, this.consoleSize); + } + + public void resizeChat() { + this.resize(this.chat, this.chatSize); + } + + public void resizeFeed() { + this.resize(this.feed, this.feedSize); + } + + public void resizeHotbar() { + this.resize(this.hotbar, this.hotbarSize); + } + public void log(String prefixed, String line) { String msg = this.conTimestamps ? prefixed : line; // this.addMessage(msg); @@ -3001,24 +3062,68 @@ public class Game implements IThreadListener { if(this.open instanceof GuiConsole) { ((GuiConsole)this.open).setLog(buffer); } - if(this.hudSize > 0) { - Message lmsg = new Message(line, Timing.tmr_current); - while(log.size() >= this.hudSize) { - log.remove(log.size() - 1); + } + + private void addMessage(List log, int size, String msg) { + Log.CONSOLE.user(msg); + if(size > 0) { + for(String line : msg.split("\n")) { + Message lmsg = new Message(line, Timing.tmr_current); + while(log.size() >= size) { + log.remove(log.size() - 1); + } + log.add(0, lmsg); } - log.add(0, lmsg); } } + + public void logConsole(String line) { + this.addMessage(this.console, this.consoleSize, line); + } + + public void logConsole(String fmt, Object ... args) { + this.logConsole(String.format(fmt, args)); + } + + public void logChat(String line) { + this.addMessage(this.chat, this.chatSize, line); + } + + public void logChat(String fmt, Object ... args) { + this.logChat(String.format(fmt, args)); + } + + public void logFeed(String line) { + this.addMessage(this.feed, this.feedSize, line); + } + + public void logFeed(String fmt, Object ... args) { + this.logFeed(String.format(fmt, args)); + } + + public void logHotbar(String line) { + this.addMessage(this.hotbar, this.hotbarSize, line); + } + + public void logHotbar(String fmt, Object ... args) { + this.logHotbar(String.format(fmt, args)); + } - public void drawOverlay() { - if(this.hudSize > 0) { - long fade = 1000L * (long)this.hudFadeout; - int y = this.hudPos == ConsolePos.BOTTOM ? this.fb_y - Font.YGLYPH : 0; + private void drawOverlay(List log, int size, boolean up, int align, int x, int y) { + if(size > 0) { + long fade = 1000000L * (long)this.hudFadeout; + int bg = (this.hudOpacity << 24) | 0x000000; + y = up ? y - Font.YGLYPH : y; for(Iterator iter = log.iterator(); iter.hasNext();) { Message msg = iter.next(); - if((Timing.tmr_current - msg.time) <= fade) { - Drawing.drawTextbox(msg.message, 0, y, (this.hudOpacity << 24) | 0x000000); - y += this.hudPos == ConsolePos.BOTTOM ? -(Font.YGLYPH) : Font.YGLYPH; + if((Timing.tmr_current - msg.time) <= fade || (log == this.chat && this.chatPermanent)) { + if(align > 0) + Drawing.drawTextbox(msg.message, x, y, bg); + else if(align < 0) + Drawing.drawTextboxRight(msg.message, x, y, bg); + else + Drawing.drawTextboxCentered(msg.message, x, y, bg); + y += up ? -(Font.YGLYPH) : Font.YGLYPH; } else { iter.remove(); @@ -3088,7 +3193,7 @@ public class Game implements IThreadListener { */ public void drawInfo() { - NetHandlerPlayClient netHandler = this.getNetHandler(); + ClientPlayer netHandler = this.getNetHandler(); if(netHandler != null) { Set> list = netHandler.getPlayerList(); int size = list.size(); diff --git a/java/src/game/Server.java b/java/src/game/Server.java index bbf8fe4..239cbb0 100755 --- a/java/src/game/Server.java +++ b/java/src/game/Server.java @@ -41,9 +41,9 @@ import game.network.IThreadListener; import game.network.LazyLoadBase; import game.network.NetConnection; import game.network.NetHandler.ThreadQuickExitException; -import game.network.NetHandlerHandshakeMemory; -import game.network.NetHandlerHandshakeTCP; -import game.network.NetHandlerPlayServer; +import game.network.HandshakeHandlerMemory; +import game.network.HandshakeHandlerTCP; +import game.network.Player; import game.network.Packet; import game.network.PacketDecoder; import game.network.PacketEncoder; @@ -99,8 +99,8 @@ public final class Server implements Runnable, IThreadListener { private final Thread serverThread; private final List clients = Collections.synchronizedList(Lists.newArrayList()); - private final List players = Lists.newArrayList(); - private final Map usermap = Maps.newHashMap(); + private final List players = Lists.newArrayList(); + private final Map usermap = Maps.newHashMap(); private final Queue> queue = new ArrayDeque>(); private final long[] tickTimes = new long[100]; private final Map dimensions = Maps.newTreeMap(); @@ -168,7 +168,7 @@ public final class Server implements Runnable, IThreadListener { for(int i = 0; i < list.length; ++i) { if(list[i].endsWith(".nbt")) { list[i] = list[i].substring(0, list[i].length() - 4); - NetHandlerPlayServer player = this.getPlayer(list[i]); + Player player = this.getPlayer(list[i]); if(player != null) list[i] = player.getUser(); } @@ -188,7 +188,7 @@ public final class Server implements Runnable, IThreadListener { } public Position getOfflinePosition(String user) { - if(this.debug || !NetHandlerPlayServer.isValidUser(user)) + if(this.debug || !Player.isValidUser(user)) return null; NBTTagCompound tag = null; try { @@ -532,11 +532,11 @@ public final class Server implements Runnable, IThreadListener { return list; } - public List getPlayers() { + public List getPlayers() { return this.players; } - public NetHandlerPlayServer getPlayer(String user) { + public Player getPlayer(String user) { return this.usermap.get(user.toLowerCase()); } @@ -632,7 +632,7 @@ public final class Server implements Runnable, IThreadListener { public String addPlayer(NetConnection connection, String loginUser, String loginPass) { NBTTagCompound tag = this.readPlayer(loginUser); - NetHandlerPlayServer conn = new NetHandlerPlayServer(this, connection, loginUser); + Player conn = new Player(this, connection, loginUser); if(tag != null) conn.readFromNBT(tag); if(!connection.isLocalChannel()) { @@ -699,7 +699,7 @@ public final class Server implements Runnable, IThreadListener { this.preparePlayer(player, null); for(int i = 0; i < this.players.size(); ++i) { - NetHandlerPlayServer other = this.players.get(i); + Player other = this.players.get(i); conn.sendPacket(new S38PacketPlayerListItem(false, other)); } conn.sendPacket(new SPacketSkin(player.getId(), player.getSkin())); // , player.getModel())); @@ -714,7 +714,7 @@ public final class Server implements Runnable, IThreadListener { return null; } - public void removePlayer(NetHandlerPlayServer conn) { + public void removePlayer(Player conn) { EntityNPC player = conn.getEntity(); player.unmount(); this.writePlayer(conn); @@ -752,7 +752,7 @@ public final class Server implements Runnable, IThreadListener { return tag; } - private void writePlayer(NetHandlerPlayServer conn) { + private void writePlayer(Player conn) { if(this.debug) return; try { @@ -775,7 +775,7 @@ public final class Server implements Runnable, IThreadListener { } } - public void recreatePlayer(NetHandlerPlayServer conn) { + public void recreatePlayer(Player conn) { EntityNPC old = conn.getEntity(); BlockPos pos = old.getPosition(); old.getServerWorld().removePlayerFromTrackers(old); @@ -830,12 +830,12 @@ public final class Server implements Runnable, IThreadListener { nplayer.setHealth(nplayer.getHealth()); conn.sendPlayerAbilities(); if(message != null) - conn.addFeed(TextColor.DRED + message); + conn.addHotbar(TextColor.DRED + message); conn.addFeed(TextColor.RED + "* Bei %d, %d, %d in Dimension %s gestorben", pos.getX(), pos.getY(), pos.getZ(), old.worldObj.dimension.getFormattedName(false)); } - public void swapPlayer(NetHandlerPlayServer conn, NBTTagCompound tag) { + public void swapPlayer(Player conn, NBTTagCompound tag) { EntityNPC old = conn.getEntity(); old.unmount(); NBTTagCompound oldTag = conn.getSelectedCharacter(true); @@ -939,13 +939,13 @@ public final class Server implements Runnable, IThreadListener { } public void sendPacket(Packet packet) { - for(NetHandlerPlayServer conn : this.players) { + for(Player conn : this.players) { conn.sendPacket(packet); } } public void sendPacket(Packet packet, int dimension) { - for(NetHandlerPlayServer conn : this.players) { + for(Player conn : this.players) { if(conn.getEntity() != null && conn.getEntity().worldObj.dimension.getDimensionId() == dimension) { conn.sendPacket(packet); } @@ -957,7 +957,7 @@ public final class Server implements Runnable, IThreadListener { } public void sendNearExcept(EntityNPC except, double x, double y, double z, double radius, int dimension, Packet packet) { - for(NetHandlerPlayServer conn : this.players) { + for(Player conn : this.players) { EntityNPC player = conn.getEntity(); if(player != null && player != except && player.worldObj.dimension.getDimensionId() == dimension) { double dx = x - player.posX; @@ -976,13 +976,13 @@ public final class Server implements Runnable, IThreadListener { if(message) { Log.JNI.info("Speichere Spielerdaten"); } - for(NetHandlerPlayServer conn : this.players) { + for(Player conn : this.players) { this.writePlayer(conn); } // this.saveUsers(); } - private void updateTimeAndWeatherForPlayer(NetHandlerPlayServer conn, WorldServer world) { + private void updateTimeAndWeatherForPlayer(Player conn, WorldServer world) { conn.sendPacket(new SPacketTimeUpdate(world.getDayTime())); conn.sendPacket(new S2BPacketChangeGameState(S2BPacketChangeGameState.Action.SET_WEATHER, world.getWeather().getID())); conn.sendPacket(new S2BPacketChangeGameState(S2BPacketChangeGameState.Action.RAIN_STRENGTH, world.getRainStrength())); @@ -1018,7 +1018,7 @@ public final class Server implements Runnable, IThreadListener { NetConnection manager = new NetConnection(); Server.this.clients.add(manager); channel.pipeline().addLast((String)"packet_handler", (ChannelHandler)manager); - manager.setNetHandler(new NetHandlerHandshakeTCP(Server.this, manager)); + manager.setNetHandler(new HandshakeHandlerTCP(Server.this, manager)); } }).group(SERVER_NIO_EVENTLOOP.getValue()).localAddress((InetAddress)null, port)).bind().syncUninterruptibly(); } @@ -1033,7 +1033,7 @@ public final class Server implements Runnable, IThreadListener { this.localEndpoint = ((ServerBootstrap)((ServerBootstrap)(new ServerBootstrap()).channel(LocalServerChannel.class)).childHandler(new ChannelInitializer() { protected void initChannel(Channel channel) throws Exception { NetConnection manager = new NetConnection(); - manager.setNetHandler(new NetHandlerHandshakeMemory(Server.this, manager)); + manager.setNetHandler(new HandshakeHandlerMemory(Server.this, manager)); Server.this.clients.add(manager); channel.pipeline().addLast((String)"packet_handler", (ChannelHandler)manager); } @@ -1045,7 +1045,7 @@ public final class Server implements Runnable, IThreadListener { } private void unsetLanEndpoint() { - for(NetHandlerPlayServer conn : Lists.newArrayList(this.players)) { + for(Player conn : Lists.newArrayList(this.players)) { if(!conn.isLocal()) conn.disconnect(); } @@ -1122,7 +1122,7 @@ public final class Server implements Runnable, IThreadListener { this.setMessage("Stoppe server"); Log.JNI.info("Beende Server"); if(this.started) - for(NetHandlerPlayServer conn : Lists.newArrayList(this.players)) { + for(Player conn : Lists.newArrayList(this.players)) { conn.disconnect(); } this.terminateEndpoints(true); @@ -1157,7 +1157,7 @@ public final class Server implements Runnable, IThreadListener { public void shutdown() { Futures.getUnchecked(this.schedule(new Runnable() { public void run() { - for(NetHandlerPlayServer conn : Lists.newArrayList(Server.this.players)) { // = Server.this.getPlayer(Server.this.owner); + for(Player conn : Lists.newArrayList(Server.this.players)) { // = Server.this.getPlayer(Server.this.owner); // if(conn != null) if(conn.isLocal()) Server.this.removePlayer(conn); diff --git a/java/src/game/block/BlockBed.java b/java/src/game/block/BlockBed.java index 5ba7fc6..bfb2ac0 100755 --- a/java/src/game/block/BlockBed.java +++ b/java/src/game/block/BlockBed.java @@ -67,7 +67,7 @@ public class BlockBed extends BlockDirectional { if(player.isEntityAlive() && Math.abs(player.posX - (double)pos.getX()) <= 3.0D && Math.abs(player.posY - (double)pos.getY()) <= 2.0D && Math.abs(player.posZ - (double)pos.getZ()) <= 3.0D) { player.setSpawnPoint(new WorldPos(pos, player.worldObj.dimension.getDimensionId())); - player.connection.addFeed(TextColor.DGREEN + "Dein Einstiegspunkt wurde auf %s bei [%s, %s, %s] gesetzt", + player.connection.addHotbar(TextColor.DGREEN + "Dein Einstiegspunkt wurde auf %s bei [%s, %s, %s] gesetzt", player.worldObj.dimension.getFormattedName(false), player.getSpawnPoint().getX(), player.getSpawnPoint().getY(), player.getSpawnPoint().getZ()); } diff --git a/java/src/game/block/BlockChest.java b/java/src/game/block/BlockChest.java index 2f3bd5e..bcb3356 100755 --- a/java/src/game/block/BlockChest.java +++ b/java/src/game/block/BlockChest.java @@ -447,7 +447,7 @@ public class BlockChest extends BlockContainer if(stack.hasDisplayName() && stack.getDisplayName().equals(ilockablecontainer.getLockCode().getLock())) { ilockablecontainer.setLockCode(LockCode.EMPTY_CODE); // playerIn.triggerAchievement(StatRegistry.chestUnlockedStat); - playerIn.connection.addFeed(TextColor.BLUE + "%s wurde entriegelt", ilockablecontainer.getCommandName()); + playerIn.connection.addHotbar(TextColor.BLUE + "%s wurde entriegelt", ilockablecontainer.getCommandName()); playerIn.connection.sendPacket(new S29PacketSoundEffect(SoundEvent.DOOR, playerIn.posX, playerIn.posY, playerIn.posZ, 1.0F)); return true; } @@ -455,7 +455,7 @@ public class BlockChest extends BlockContainer else if(stack.hasDisplayName()) { ilockablecontainer.setLockCode(new LockCode(stack.getDisplayName())); // playerIn.triggerAchievement(StatRegistry.chestLockedStat); - playerIn.connection.addFeed(TextColor.ORANGE + "%s wurde verriegelt", ilockablecontainer.getCommandName()); + playerIn.connection.addHotbar(TextColor.ORANGE + "%s wurde verriegelt", ilockablecontainer.getCommandName()); playerIn.connection.sendPacket(new S29PacketSoundEffect(SoundEvent.DOOR, playerIn.posX, playerIn.posY, playerIn.posZ, 1.0F)); return true; } diff --git a/java/src/game/command/CommandEnvironment.java b/java/src/game/command/CommandEnvironment.java index a86ab82..7e1b555 100644 --- a/java/src/game/command/CommandEnvironment.java +++ b/java/src/game/command/CommandEnvironment.java @@ -214,7 +214,7 @@ public class CommandEnvironment { } catch(Throwable t) { list.clear(); - Log.CONSOLE.error(t, "Konnte Befehl nicht vervollständigen"); + Log.CONSOLE.error(t, "Konnte Befehl '%s' nicht vervollständigen", cmd); } finally { this.currentExecutor = null; @@ -250,6 +250,7 @@ public class CommandEnvironment { this.registerExecutable(new CommandOfflinetp()); this.registerExecutable(new CommandWarp()); this.registerExecutable(new CommandTime()); + this.registerExecutable(new CommandRemove()); this.registerExecutable(new CommandHelp(this)); } diff --git a/java/src/game/command/EntityListParser.java b/java/src/game/command/EntityListParser.java index f4fbd1e..9666024 100644 --- a/java/src/game/command/EntityListParser.java +++ b/java/src/game/command/EntityListParser.java @@ -8,7 +8,7 @@ import game.collect.Sets; import game.entity.Entity; import game.entity.types.EntityLiving; import game.init.EntityRegistry; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.world.WorldServer; public class EntityListParser extends EntityParser { @@ -36,7 +36,7 @@ public class EntityListParser extends EntityParser { } else if(input.equals("*")) { List list = Lists.newArrayList(); - for(NetHandlerPlayServer plr : env.getServer().getPlayers()) { + for(Player plr : env.getServer().getPlayers()) { if(plr.getEntity() != null) list.add(plr.getEntity()); } diff --git a/java/src/game/command/PlayerEntityListParser.java b/java/src/game/command/PlayerEntityListParser.java new file mode 100644 index 0000000..0d768ee --- /dev/null +++ b/java/src/game/command/PlayerEntityListParser.java @@ -0,0 +1,42 @@ +package game.command; + +import java.util.List; +import game.collect.Lists; +import game.entity.Entity; +import game.entity.npc.EntityNPC; +import game.network.Player; + +public class PlayerEntityListParser extends PlayerEntityParser { + public PlayerEntityListParser(String name, boolean useSender) { + super(name, useSender); + } + + public Object parse(CommandEnvironment env, String input) { + if(input.equals("*")) { + List list = Lists.newArrayList(); + for(Player plr : env.getServer().getPlayers()) { + if(plr.getEntity() != null) + list.add(plr.getEntity()); + } + if(list.isEmpty()) + throw new RunException("Keine Spieler gefunden"); + return list; + } + return Lists.newArrayList((EntityNPC)super.parse(env, input)); + } + + public Object getDefault(CommandEnvironment env) { + EntityNPC entity = (EntityNPC)super.getDefault(env); + return entity == null ? null : Lists.newArrayList(entity); + } + + public String[] getCompletions(CommandEnvironment env) { + List comp = Lists.newArrayList(env.getServer().getAllUsernames()); + comp.add("*"); + return comp.toArray(new String[comp.size()]); + } + + public Class getTypeClass() { + return List.class; + } +} diff --git a/java/src/game/command/PlayerEntityParser.java b/java/src/game/command/PlayerEntityParser.java index 1c9b51d..f740047 100644 --- a/java/src/game/command/PlayerEntityParser.java +++ b/java/src/game/command/PlayerEntityParser.java @@ -1,7 +1,7 @@ package game.command; import game.entity.npc.EntityNPC; -import game.network.NetHandlerPlayServer; +import game.network.Player; public class PlayerEntityParser extends PlayerParser { public PlayerEntityParser(String name, boolean useSender) { @@ -9,7 +9,7 @@ public class PlayerEntityParser extends PlayerParser { } public Object parse(CommandEnvironment env, String input) { - NetHandlerPlayServer net = (NetHandlerPlayServer)super.parse(env, input); + Player net = (Player)super.parse(env, input); EntityNPC entity = net.getEntity(); if(entity == null) throw new RunException("Spieler-Objekt von '%s' wurde nicht gefunden", input); @@ -17,7 +17,7 @@ public class PlayerEntityParser extends PlayerParser { } public Object getDefault(CommandEnvironment env) { - NetHandlerPlayServer net = (NetHandlerPlayServer)super.getDefault(env); + Player net = (Player)super.getDefault(env); return net == null ? null : net.getEntity(); } diff --git a/java/src/game/command/PlayerListParser.java b/java/src/game/command/PlayerListParser.java new file mode 100644 index 0000000..a142010 --- /dev/null +++ b/java/src/game/command/PlayerListParser.java @@ -0,0 +1,35 @@ +package game.command; + +import java.util.List; +import game.collect.Lists; +import game.network.Player; + +public class PlayerListParser extends PlayerParser { + public PlayerListParser(String name, boolean useSender) { + super(name, useSender); + } + + public Object parse(CommandEnvironment env, String input) { + if(input.equals("*")) { + if(env.getServer().getPlayers().isEmpty()) + throw new RunException("Keine Spieler gefunden"); + return Lists.newArrayList(env.getServer().getPlayers()); + } + return Lists.newArrayList((Player)super.parse(env, input)); + } + + public Object getDefault(CommandEnvironment env) { + Player net = (Player)super.getDefault(env); + return net == null ? null : Lists.newArrayList(net); + } + + public String[] getCompletions(CommandEnvironment env) { + List comp = Lists.newArrayList(env.getServer().getAllUsernames()); + comp.add("*"); + return comp.toArray(new String[comp.size()]); + } + + public Class getTypeClass() { + return List.class; + } +} diff --git a/java/src/game/command/PlayerParser.java b/java/src/game/command/PlayerParser.java index a976ac6..c057bd1 100644 --- a/java/src/game/command/PlayerParser.java +++ b/java/src/game/command/PlayerParser.java @@ -2,7 +2,7 @@ package game.command; import java.util.List; -import game.network.NetHandlerPlayServer; +import game.network.Player; public class PlayerParser extends CompletingParser { protected final boolean useSender; @@ -13,14 +13,14 @@ public class PlayerParser extends CompletingParser { } public Object parse(CommandEnvironment env, String input) { - NetHandlerPlayServer net = env.getServer().getPlayer(input); + Player net = env.getServer().getPlayer(input); if(net == null) throw new RunException("Spieler '%s' wurde nicht gefunden", input); return net; } public Object getDefault(CommandEnvironment env) { - return this.useSender && env.getExecutor() instanceof NetHandlerPlayServer ? (NetHandlerPlayServer)env.getExecutor() : null; + return this.useSender && env.getExecutor() instanceof Player ? (Player)env.getExecutor() : null; } public String[] getCompletions(CommandEnvironment env) { @@ -29,6 +29,6 @@ public class PlayerParser extends CompletingParser { } public Class getTypeClass() { - return NetHandlerPlayServer.class; + return Player.class; } } diff --git a/java/src/game/command/commands/CommandAdmin.java b/java/src/game/command/commands/CommandAdmin.java index 5201c51..e903a70 100644 --- a/java/src/game/command/commands/CommandAdmin.java +++ b/java/src/game/command/commands/CommandAdmin.java @@ -4,7 +4,7 @@ import game.command.CommandEnvironment; import game.command.RunException; import game.command.Command; import game.command.Executor; -import game.network.NetHandlerPlayServer; +import game.network.Player; public class CommandAdmin extends Command { public CommandAdmin() { @@ -13,8 +13,8 @@ public class CommandAdmin extends Command { this.addPlayer("player", false); } - public void exec(CommandEnvironment env, Executor exec, NetHandlerPlayServer player) { - if(!(exec instanceof NetHandlerPlayServer)) + public void exec(CommandEnvironment env, Executor exec, Player player) { + if(!(exec instanceof Player)) throw new RunException("Dieser Befehl kann nur von Spielern ausgeführt werden"); else if(player == exec) throw new RunException("Du kannst nicht deinen eigenen Admin-Status erneut setzen"); diff --git a/java/src/game/command/commands/CommandOfflinetp.java b/java/src/game/command/commands/CommandOfflinetp.java index cfb47a9..f638dec 100644 --- a/java/src/game/command/commands/CommandOfflinetp.java +++ b/java/src/game/command/commands/CommandOfflinetp.java @@ -8,7 +8,7 @@ import game.command.RunException; import game.command.StringCompleter; import game.entity.Entity; import game.init.UniverseRegistry; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.world.Position; public class CommandOfflinetp extends Command { @@ -25,7 +25,7 @@ public class CommandOfflinetp extends Command { } public Object exec(CommandEnvironment env, Executor exec, String user, List entities) { - NetHandlerPlayServer player = env.getServer().getPlayer(user); + Player player = env.getServer().getPlayer(user); Position pos = player != null ? player.getEntity().getPos() : env.getServer().getOfflinePosition(user); if(pos == null) throw new RunException("Spieler '%s' konnte nicht gefunden werden", user); diff --git a/java/src/game/command/commands/CommandRemove.java b/java/src/game/command/commands/CommandRemove.java new file mode 100644 index 0000000..314dcc6 --- /dev/null +++ b/java/src/game/command/commands/CommandRemove.java @@ -0,0 +1,34 @@ +package game.command.commands; + +import java.util.List; +import game.command.CommandEnvironment; +import game.command.Command; +import game.command.Executor; +import game.entity.Entity; + +public class CommandRemove extends Command { + public CommandRemove() { + super("remove"); + + this.addEntityList("entities", true); + + this.addFlag("kill", 'k'); + } + + public Object exec(CommandEnvironment env, Executor exec, List entities, boolean kill) { + int done = 0; + for(Entity entity : entities) { + if(entity.isEntityAlive()) { + if(kill || entity.isPlayer()) + entity.kill(); + else + entity.setDead(); + exec.logConsole(kill ? "%s getötet" : "%s entfernt", entity.getCommandName()); + done++; + } + } + if(done > 1) + exec.logConsole(kill ? "%d Objekte getötet" : "%d Objekte entfernt", done); + return done; + } +} diff --git a/java/src/game/command/commands/CommandRevoke.java b/java/src/game/command/commands/CommandRevoke.java index 62452df..09cd53f 100644 --- a/java/src/game/command/commands/CommandRevoke.java +++ b/java/src/game/command/commands/CommandRevoke.java @@ -4,7 +4,7 @@ import game.command.CommandEnvironment; import game.command.RunException; import game.command.Command; import game.command.Executor; -import game.network.NetHandlerPlayServer; +import game.network.Player; public class CommandRevoke extends Command { public CommandRevoke() { @@ -13,8 +13,8 @@ public class CommandRevoke extends Command { this.addPlayer("player", false); } - public void exec(CommandEnvironment env, Executor exec, NetHandlerPlayServer player) { - if(!(exec instanceof NetHandlerPlayServer) || !((NetHandlerPlayServer)exec).isLocal()) + public void exec(CommandEnvironment env, Executor exec, Player player) { + if(!(exec instanceof Player) || !((Player)exec).isLocal()) throw new RunException("Dieser Befehl kann nur vom Host-Spieler ausgeführt werden"); else if(player == exec) throw new RunException("Du kannst nicht deinen eigenen Admin-Status entfernen"); diff --git a/java/src/game/entity/Entity.java b/java/src/game/entity/Entity.java index 922070f..71fed35 100755 --- a/java/src/game/entity/Entity.java +++ b/java/src/game/entity/Entity.java @@ -449,7 +449,7 @@ public abstract class Entity this.fire = 0; } - protected void kill() + public void kill() { this.setDead(); } diff --git a/java/src/game/entity/npc/EntityNPC.java b/java/src/game/entity/npc/EntityNPC.java index dac0ea0..5c293b6 100755 --- a/java/src/game/entity/npc/EntityNPC.java +++ b/java/src/game/entity/npc/EntityNPC.java @@ -80,8 +80,8 @@ import game.item.ItemSword; import game.item.ItemTool; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.network.NetHandlerPlayClient; -import game.network.NetHandlerPlayServer; +import game.network.ClientPlayer; +import game.network.Player; import game.packet.CPacketAction; import game.packet.CPacketBreak; import game.packet.CPacketInput; @@ -197,8 +197,8 @@ public abstract class EntityNPC extends EntityLiving private int healTimer; private byte[] skin; - public NetHandlerPlayServer connection; - public NetHandlerPlayClient sendQueue; + public Player connection; + public ClientPlayer sendQueue; protected Game gm; public InventoryPlayer inventory; @@ -397,13 +397,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(NetHandlerPlayServer connection) { + public final void setServerPlayer(Player connection) { this.initPlayer(); this.connection = connection; this.stepHeight = 0.0F; } - public final void setClientPlayer(Game gm, NetHandlerPlayClient connection) { + public final void setClientPlayer(Game gm, ClientPlayer 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 779ac36..d48ee48 100755 --- a/java/src/game/entity/types/EntityLiving.java +++ b/java/src/game/entity/types/EntityLiving.java @@ -50,7 +50,7 @@ import game.item.ItemStack; import game.material.Material; import game.nbt.NBTTagCompound; import game.nbt.NBTTagList; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.packet.S1BPacketEntityAttach; import game.packet.SPacketAnimation; import game.packet.SPacketCollectItem; @@ -1467,7 +1467,7 @@ public abstract class EntityLiving extends Entity } } - protected void kill() + public void kill() { if(this.worldObj.client || Config.damageVoid) this.attackEntityFrom(DamageSource.outOfWorld, Integer.MAX_VALUE); @@ -2447,7 +2447,7 @@ public abstract class EntityLiving extends Entity return; String msg; String kill; - NetHandlerPlayServer receiver = null; + Player receiver = null; if(this.combat.size() == 0) { msg = kill = natural ? String.format("%s starb", this.getColoredName(TextColor.LGRAY)) : null; } @@ -2536,7 +2536,7 @@ public abstract class EntityLiving extends Entity if(receiver != null) receiver.addFeed(kill); if(forAll) - for(NetHandlerPlayServer player : ((WorldServer)this.worldObj).getServer().getPlayers()) { + for(Player player : ((WorldServer)this.worldObj).getServer().getPlayers()) { if(player != receiver) player.addFeed(msg); } diff --git a/java/src/game/gui/GuiConfirm.java b/java/src/game/gui/GuiConfirm.java index 35576b7..ab1f276 100755 --- a/java/src/game/gui/GuiConfirm.java +++ b/java/src/game/gui/GuiConfirm.java @@ -29,8 +29,8 @@ public class GuiConfirm extends Gui implements ActButton.Callback { public void init(int width, int height) { this.add(new Label(0, 0, 500, 24, this.messageLine1, true)); this.add(new TransparentBox(0, 80, 500, 300, this.messageLine2)); - this.confirmBtn = this.add(new ActButton(48, 500, 200, 24, (ActButton.Callback)this, this.confirmButtonText)); - this.cancelBtn = this.add(new ActButton(252, 500, 200, 24, (ActButton.Callback)this, this.cancelButtonText)); + this.confirmBtn = this.add(new ActButton(48, 500, 200, 24, this, this.confirmButtonText)); + this.cancelBtn = this.add(new ActButton(252, 500, 200, 24, this, this.cancelButtonText)); this.shift(); } diff --git a/java/src/game/gui/GuiConnect.java b/java/src/game/gui/GuiConnect.java index bd67683..c04a01c 100644 --- a/java/src/game/gui/GuiConnect.java +++ b/java/src/game/gui/GuiConnect.java @@ -6,7 +6,7 @@ import game.gui.element.Label; import game.gui.element.Textbox; import game.gui.element.Textbox.Action; import game.init.Config; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.vars.CVarCategory; import game.vars.Variable; @@ -31,19 +31,19 @@ public class GuiConnect 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 = NetHandlerPlayServer.MAX_USER_LENGTH, display = "Letzter Server-Nutzer", validator = NetHandlerPlayServer.UserValidator.class) + @Variable(name = "srv_last_user", category = CVarCategory.SYSTEM, max = Player.MAX_USER_LENGTH, display = "Letzter Server-Nutzer", validator = Player.UserValidator.class) private String lastUser = ""; - @Variable(name = "srv_last_password", category = CVarCategory.SYSTEM, max = NetHandlerPlayServer.MAX_PASS_LENGTH, display = "Letztes Server-Passwort") + @Variable(name = "srv_last_password", category = CVarCategory.SYSTEM, max = Player.MAX_PASS_LENGTH, display = "Letztes Server-Passwort") private String lastPass = ""; - @Variable(name = "srv_last_access", category = CVarCategory.SYSTEM, max = NetHandlerPlayServer.MAX_PASS_LENGTH, display = "Letzter Server-Zugang") + @Variable(name = "srv_last_access", category = CVarCategory.SYSTEM, max = Player.MAX_PASS_LENGTH, display = "Letzter Server-Zugang") private String lastAcc = ""; public void init(int width, int height) { this.addrBox = this.add(new Textbox(0, 20, 400, 24, 128, true, this, this.lastAddr)); this.portBox = this.add(new Textbox(404, 20, 76, 24, 5, true, this, "" + this.lastPort)); - this.userBox = this.add(new Textbox(0, 70, 220, 24, NetHandlerPlayServer.MAX_USER_LENGTH, true, this, NetHandlerPlayServer.VALID_USER, this.lastUser)); - this.passBox = this.add(new Textbox(0, 120, 480, 24, NetHandlerPlayServer.MAX_PASS_LENGTH, true, this, this.lastPass)); - this.accBox = this.add(new Textbox(0, 170, 480, 24, NetHandlerPlayServer.MAX_PASS_LENGTH, true, this, this.lastAcc)); + this.userBox = this.add(new Textbox(0, 70, 220, 24, Player.MAX_USER_LENGTH, true, this, Player.VALID_USER, this.lastUser)); + this.passBox = this.add(new Textbox(0, 120, 480, 24, Player.MAX_PASS_LENGTH, true, this, this.lastPass)); + this.accBox = this.add(new Textbox(0, 170, 480, 24, Player.MAX_PASS_LENGTH, true, this, this.lastAcc)); this.add(new ActButton(0, 220, 480, 24, new ActButton.Callback() { public void use(ActButton elem, ActButton.Mode action) { GuiConnect.this.connect(); diff --git a/java/src/game/gui/GuiConsole.java b/java/src/game/gui/GuiConsole.java index 8e8165a..5574fc1 100644 --- a/java/src/game/gui/GuiConsole.java +++ b/java/src/game/gui/GuiConsole.java @@ -11,7 +11,7 @@ import game.gui.element.Fill; import game.gui.element.Textbox; import game.gui.element.Textbox.Action; import game.gui.element.TransparentBox; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.packet.CPacketComplete; import game.util.ExtMath; import game.vars.BoolVar; @@ -58,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())); if(this.full) this.add(new Fill(640, 0, width - 640, 24)); - this.inputField = this.add(new Textbox(0, height - 24, width, 24, NetHandlerPlayServer.MAX_CMD_LENGTH, true, this, "")); + this.inputField = this.add(new Textbox(0, height - 24, width, 24, Player.MAX_CMD_LENGTH, true, this, "")); this.inputField.setSelected(); this.sentHistoryCursor = this.sentMessages.size(); } diff --git a/java/src/game/gui/GuiInfo.java b/java/src/game/gui/GuiInfo.java index 224de16..bb2531d 100644 --- a/java/src/game/gui/GuiInfo.java +++ b/java/src/game/gui/GuiInfo.java @@ -1,7 +1,7 @@ package game.gui; import game.color.TextColor; -import game.gui.element.ActButton; +import game.gui.element.NavButton; import game.gui.element.TransparentBox; import game.init.Config; import game.log.Log; @@ -126,7 +126,7 @@ public class GuiInfo extends Gui { public void init(int width, int height) { this.add(new TransparentBox(10, 10, width - 20, height - 44, this.info)); - this.add(new ActButton(0, height - 24, width, 24, GuiMenu.INSTANCE, "Zurück")); + this.add(new NavButton(0, height - 24, width, 24, GuiMenu.INSTANCE, "Zurück")); } public String getTitle() { diff --git a/java/src/game/gui/GuiMenu.java b/java/src/game/gui/GuiMenu.java index 3a16edd..538aa24 100644 --- a/java/src/game/gui/GuiMenu.java +++ b/java/src/game/gui/GuiMenu.java @@ -4,8 +4,10 @@ import game.color.TextColor; import game.gui.element.ActButton; import game.gui.element.ActButton.Mode; import game.gui.element.Label; +import game.gui.element.NavButton; import game.gui.element.Textbox; import game.gui.element.Textbox.Action; +import game.gui.options.GuiOptions; import game.gui.world.GuiWorlds; import game.init.Config; import game.renderer.Drawing; @@ -93,7 +95,7 @@ public class GuiMenu extends Gui { } } }); - this.add(new ActButton(0, 102, 196, 24, GuiOptions.getPage(), "Einstellungen")); + this.add(new NavButton(0, 102, 196, 24, GuiOptions.getPage(), "Einstellungen")); this.add(new ActButton(204, 102, 196, 24, new ActButton.Callback() { public void use(ActButton elem, ActButton.Mode action) { GuiMenu.this.gm.interrupted = true; @@ -105,9 +107,9 @@ public class GuiMenu extends Gui { this.pickSplash(); } else { - this.add(new ActButton(0, 0, 400, 24, (Gui)null, "Zurück zum Spiel")); - this.add(new ActButton(0, 28, 198, 24, GuiOptions.getPage(), "Einstellungen")); - this.add(new ActButton(202, 28, 198, 24, GuiSkin.INSTANCE, "Charakter")); + this.add(new NavButton(0, 0, 400, 24, null, "Zurück zum Spiel")); + this.add(new NavButton(0, 28, 198, 24, GuiOptions.getPage(), "Einstellungen")); + this.add(new NavButton(202, 28, 198, 24, GuiSkin.INSTANCE, "Charakter")); if(!this.gm.isRemote() && !this.gm.debugWorld) { this.add(new Textbox(0, 56, 96, 24, 5, true, new Textbox.Callback() { public void use(Textbox elem, Action value) { diff --git a/java/src/game/gui/GuiSign.java b/java/src/game/gui/GuiSign.java index 43eb536..53891c0 100644 --- a/java/src/game/gui/GuiSign.java +++ b/java/src/game/gui/GuiSign.java @@ -1,9 +1,9 @@ package game.gui; -import game.gui.element.ActButton; +import game.gui.element.NavButton; import game.gui.element.Textbox; import game.gui.element.Textbox.Action; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.packet.CPacketSign; import game.world.BlockPos; @@ -17,7 +17,7 @@ public class GuiSign extends Gui implements Textbox.Callback { for(int z = 0; z < this.lines.length; z++) { this.lines[z] = this.add(new Textbox(0, 40 * z, 300, 24, 50, true, this, this.tempLines[z] == null ? "" : this.tempLines[z])); } - this.add(new ActButton(0, 40 * (this.lines.length + 1), 300, 24, (Gui)null, "Fertig")); + this.add(new NavButton(0, 40 * (this.lines.length + 1), 300, 24, null, "Fertig")); this.shift(); } @@ -27,7 +27,7 @@ public class GuiSign extends Gui implements Textbox.Callback { public void onGuiClosed() { - NetHandlerPlayClient nethandler = this.gm.getNetHandler(); + ClientPlayer nethandler = this.gm.getNetHandler(); if(nethandler != null) { for(int z = 0; z < this.lines.length; z++) { this.tempLines[z] = this.lines[z].getText(); diff --git a/java/src/game/gui/GuiSkin.java b/java/src/game/gui/GuiSkin.java index 43ace37..67ee483 100755 --- a/java/src/game/gui/GuiSkin.java +++ b/java/src/game/gui/GuiSkin.java @@ -25,6 +25,7 @@ import game.gui.element.Element; import game.gui.element.GuiList; import game.gui.element.Label; import game.gui.element.ListEntry; +import game.gui.element.NavButton; import game.gui.element.Slider; import game.gui.element.Textbox; import game.gui.element.Textbox.Action; @@ -32,14 +33,13 @@ import game.init.EntityRegistry; import game.init.SpeciesRegistry; import game.init.SpeciesRegistry.ModelType; import game.log.Log; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.packet.CPacketAction; import game.packet.CPacketMessage; import game.packet.CPacketSkin; import game.renderer.Drawing; import game.renderer.GlState; import game.renderer.ItemRenderer; -import game.renderer.entity.Render; import game.renderer.entity.RenderManager; import game.renderer.texture.EntityTexManager; import game.renderer.texture.TextureUtil; @@ -148,13 +148,14 @@ public class GuiSkin extends GuiList // GuiSkin.this.gm.getTextureManager().bindTexture(tex); GlState.enableBlend(); GlState.enableDepth(); - Render.drawNames = false; + boolean flag = GuiSkin.this.gm.showHud; + GuiSkin.this.gm.showHud = false; EntityTexManager.altTexture = tex; EntityTexManager.altLayer = this.dynId; EntityTexManager.altNpcLayer = this.dynId == -1 && this.charinfo != null ? this.charinfo.skin : null; drawEntity(x + 32, y + 60, 28.0f / GuiSkin.this.gm.thePlayer.getHeight(), -45.0f, -20.0f, GuiSkin.this.gm.thePlayer); - Render.drawNames = true; + GuiSkin.this.gm.showHud = flag; EntityTexManager.altTexture = null; EntityTexManager.altLayer = -1; EntityTexManager.altNpcLayer = null; @@ -390,8 +391,8 @@ public class GuiSkin extends GuiList } }, "Spieler-Größe", "cm")); this.add(new Label(width - 400, height + 2 - 28 - 24 - 30, 390, 20, "Anzeigename", true)); - this.add(new ActButton(width - 274 + 154, height - 24, 264 - 154, 20, GuiMenu.INSTANCE, "Fertig")); - Textbox nameField = this.add(new Textbox(width - 400, height + 2 - 28 - 34, 390, 20, NetHandlerPlayServer.MAX_NICK_LENGTH, true, new Textbox.Callback() { + this.add(new NavButton(width - 274 + 154, height - 24, 264 - 154, 20, GuiMenu.INSTANCE, "Fertig")); + Textbox nameField = this.add(new Textbox(width - 400, height + 2 - 28 - 34, 390, 20, Player.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(); @@ -401,7 +402,7 @@ public class GuiSkin extends GuiList GuiSkin.this.gm.thePlayer.sendQueue.addToSendQueue(new CPacketMessage(CPacketMessage.Type.DISPLAY, name)); } } - }, NetHandlerPlayServer.VALID_NICK, this.gm.thePlayer == null ? "" : this.gm.thePlayer.getCustomNameTag())); + }, Player.VALID_NICK, this.gm.thePlayer == null ? "" : this.gm.thePlayer.getCustomNameTag())); this.convertButton1.enabled = false; this.convertButton2.enabled = false; this.templateButton.enabled = false; diff --git a/java/src/game/gui/GuiSound.java b/java/src/game/gui/GuiSound.java deleted file mode 100644 index 515142c..0000000 --- a/java/src/game/gui/GuiSound.java +++ /dev/null @@ -1,75 +0,0 @@ -package game.gui; - -import game.audio.Volume; -import game.gui.element.ActButton; -import game.gui.element.ActButton.Mode; - -public class GuiSound extends GuiOptions { - protected GuiSound() { - } - - public void init(int width, int height) { - // this.addSelector("mid_visualizer", 30, 80, 440, 24); // "Visualisation" -// this.addSelector("mid_opl_bank", 490, 80, 440, 24); -// this.addSelector("mid_play_unknown", 30, 120, 440, 24); -// this.addSelector("mid_keep_notes", 490, 120, 440, 24); -// this.addSelector("mid_dont_fade", 30, 160, 440, 24); -// this.addSelector("mid_debug_events", 490, 160, 440, 24); -// this.addSelector("mid_velocity_func", 30, 200, 440, 24); -// this.addSelector("mid_opl_voices", 490, 200, 440, 24); - -// gui_add_custom(win, 30, 240, 128, 128, gui_render_velocity); - - this.addSelector("snd_enabled", 30, 380, 440, 24); - -// this.addSelector("snd_sample_rate", 30, 380, 440, 24); -// this.addSelector("snd_sample_format", 490, 380, 440, 24); - - this.addSelector("snd_buffer_size", 30, 420, 440, 24); - this.addSelector("snd_frame_size", 490, 420, 440, 24); - - this.add(new ActButton(30, 480, 900, 24, new ActButton.Callback() { - public void use(ActButton elem, Mode action) { - GuiSound.this.gm.restartSound(false); - } - }, "Übernehmen und Audio-Thread neu starten")); - - int x = 30; - int y = 220; - for(Volume volume : Volume.values()) { - this.addSelector(volume.getCVarName(), x, y, 440, 24); - x = (x == 30) ? 490 : 30; - if(x == 30) - y += 40; - } - super.init(width, height); - } - - public String getTitle() { - return "Audio und Ton"; - } - -// void gui_fmt_velofunc(gui_t *elem, int value) { -// snprintf(elem->text, elem->capacity, "%s %d: %s", elem->format_text, value, (value ? (value == -128 ? "Vollklang [1]" : (value < 0 ? "Log. Gedämpft [nlog(x)]" : "Log.+Minimum [m+nlog(x)]")) : "Linear [x]")); -// } - -// int gui_rect(gui_t *elem, int x, int y, int w, int h, uint color) { -// gfx_draw_rect(elem->pos_x + x, elem->pos_y + y, w, h, 0, 0, 0xff000000 | color, 0xff000000 | color, 0, 0); -// return h; -// } -// -// // uint bank_getlevel(char function, byte velocity, byte volume, char pan); -// -// void gui_render_velocity(gui_t *elem, int value) { -// elem->r_dirty = 1; -// if(!value) -// gui_rect(elem, 0, 0, elem->size_x, elem->size_y, 0x202020); -// else -// return; -// int y; -// for(int x = 0; x < 128; x++) { -// y = x; // bank_getlevel(snd.mid_velo, x, 127, 0) / 512; -// gui_rect(elem, x, 128 - 1 - y, 1, y, 0x2fbf2f); -// } -// } -} diff --git a/java/src/game/gui/element/ActButton.java b/java/src/game/gui/element/ActButton.java index 12c98ec..91eb00f 100644 --- a/java/src/game/gui/element/ActButton.java +++ b/java/src/game/gui/element/ActButton.java @@ -1,7 +1,5 @@ package game.gui.element; -import game.Game; -import game.gui.Gui; import game.util.Formatter; import game.window.Button; @@ -28,15 +26,6 @@ public class ActButton extends Element { this.setText(text); } - public ActButton(int x, int y, int w, int h, Gui gui, String text) { - this(x, y, w, h, new Callback() { - public void use(ActButton elem, Mode action) { - Game.getGame().displayGuiScreen(gui); - } - }, text); - } - - public void mouse(Button btn, int x, int y, boolean ctrl, boolean shift) { this.func.use(this, (ctrl || (btn == Button.MOUSE_MIDDLE)) ? Mode.TERTIARY : ((shift || (btn == Button.MOUSE_RIGHT)) ? Mode.SECONDARY : Mode.PRIMARY)); this.formatText(); diff --git a/java/src/game/gui/element/NavButton.java b/java/src/game/gui/element/NavButton.java new file mode 100644 index 0000000..1dd411a --- /dev/null +++ b/java/src/game/gui/element/NavButton.java @@ -0,0 +1,25 @@ +package game.gui.element; + +import game.Game; +import game.gui.Gui; +import game.renderer.Drawing; + +public class NavButton extends ActButton { + private final Gui navGui; + + public NavButton(int x, int y, int w, int h, Gui gui, String text) { + super(x, y, w, h, new Callback() { + public void use(ActButton elem, Mode action) { + Game.getGame().displayGuiScreen(gui); + } + }, text); + this.navGui = gui; + } + + protected void drawBackground() { + if(this.gm.open == this.navGui) + Drawing.drawGradientBorder(this.pos_x, this.pos_y, this.size_x, this.size_y, this.gm.style.fill_btm, this.gm.style.fill_top, 0xff000000, this.gm.style.brdr_top, this.gm.style.brdr_btm); + else + super.drawBackground(); + } +} diff --git a/java/src/game/gui/element/SelectableButton.java b/java/src/game/gui/element/SelectableButton.java new file mode 100644 index 0000000..f6a6c92 --- /dev/null +++ b/java/src/game/gui/element/SelectableButton.java @@ -0,0 +1,23 @@ +package game.gui.element; + +import game.renderer.Drawing; + +public class SelectableButton extends ActButton { + private boolean selected; + + public SelectableButton(int x, int y, int w, int h, Callback callback, String text, boolean selected) { + super(x, y, w, h, callback, text); + this.selected = selected; + } + + protected void drawBackground() { + if(this.selected) + Drawing.drawGradientBorder(this.pos_x, this.pos_y, this.size_x, this.size_y, this.gm.style.fill_btm, this.gm.style.fill_top, 0xff000000, this.gm.style.brdr_top, this.gm.style.brdr_btm); + else + super.drawBackground(); + } + + public void setSelected(boolean selected) { + this.selected = selected; + } +} diff --git a/java/src/game/gui/element/SelectedButton.java b/java/src/game/gui/element/SelectedButton.java deleted file mode 100644 index 2c25a52..0000000 --- a/java/src/game/gui/element/SelectedButton.java +++ /dev/null @@ -1,18 +0,0 @@ -package game.gui.element; - -import game.gui.Gui; -import game.renderer.Drawing; - -public class SelectedButton extends ActButton { - public SelectedButton(int x, int y, int w, int h, Callback callback, String text) { - super(x, y, w, h, callback, text); - } - - public SelectedButton(int x, int y, int w, int h, Gui gui, String text) { - super(x, y, w, h, gui, text); - } - - protected void drawBackground() { - Drawing.drawGradientBorder(this.pos_x, this.pos_y, this.size_x, this.size_y, this.gm.style.fill_btm, this.gm.style.fill_top, 0xff000000, this.gm.style.brdr_top, this.gm.style.brdr_btm); - } -} diff --git a/java/src/game/gui/GuiBinds.java b/java/src/game/gui/options/GuiBinds.java similarity index 98% rename from java/src/game/gui/GuiBinds.java rename to java/src/game/gui/options/GuiBinds.java index e9cb075..5f0b7d4 100644 --- a/java/src/game/gui/GuiBinds.java +++ b/java/src/game/gui/options/GuiBinds.java @@ -1,4 +1,4 @@ -package game.gui; +package game.gui.options; import game.color.TextColor; import game.gui.element.ActButton; diff --git a/java/src/game/gui/GuiDisplay.java b/java/src/game/gui/options/GuiDisplay.java similarity index 83% rename from java/src/game/gui/GuiDisplay.java rename to java/src/game/gui/options/GuiDisplay.java index 87f0d9c..cfda61a 100644 --- a/java/src/game/gui/GuiDisplay.java +++ b/java/src/game/gui/options/GuiDisplay.java @@ -1,4 +1,4 @@ -package game.gui; +package game.gui.options; import game.color.TextColor; import game.gui.element.Dropdown; @@ -65,15 +65,21 @@ public class GuiDisplay extends GuiOptions { })); this.addSelector("gl_vsync_flush", 490, 120, 440, 24); - this.addSelector("con_overlay", 30, 200, 440, 24); - this.addSelector("con_opacity", 490, 200, 440, 24); - this.addSelector("con_size", 30, 240, 440, 24); - this.addSelector("con_fadeout", 490, 240, 440, 24); - this.addSelector("con_position", 30, 280, 440, 24); + this.addSelector("overlay_enabled", 30, 200, 440, 24); + this.addSelector("overlay_opacity", 490, 200, 440, 24); - this.addSelector("gl_fov", 30, 360, 440, 24); - this.distanceSlider = this.addSelector("chunk_view_distance", 30, 400, 440, 24); - this.addSelector("chunk_build_time", 490, 400, 440, 24); + this.addSelector("overlay_fadeout", 30, 240, 440, 24); + this.addSelector("chat_permanent", 490, 240, 440, 24); + + this.addSelector("console_size", 30, 280, 440, 24); + this.addSelector("chat_size", 490, 280, 440, 24); + + this.addSelector("feed_size", 30, 320, 440, 24); + this.addSelector("hotbar_size", 490, 320, 440, 24); + + this.addSelector("gl_fov", 30, 400, 440, 24); + this.distanceSlider = this.addSelector("chunk_view_distance", 30, 440, 440, 24); + this.addSelector("chunk_build_time", 490, 440, 440, 24); super.init(width, height); } diff --git a/java/src/game/gui/GuiOptions.java b/java/src/game/gui/options/GuiOptions.java similarity index 59% rename from java/src/game/gui/GuiOptions.java rename to java/src/game/gui/options/GuiOptions.java index 3b8890c..e50ed60 100644 --- a/java/src/game/gui/GuiOptions.java +++ b/java/src/game/gui/options/GuiOptions.java @@ -1,7 +1,8 @@ -package game.gui; +package game.gui.options; -import game.gui.element.ActButton; -import game.gui.element.SelectedButton; +import game.gui.Gui; +import game.gui.GuiMenu; +import game.gui.element.NavButton; public abstract class GuiOptions extends Gui { private static final GuiOptions[] PAGES = {lastPage = new GuiBinds(), new GuiStyle(), new GuiDisplay(), new GuiSound()}; @@ -18,13 +19,13 @@ public abstract class GuiOptions extends Gui { int x = 0; int y = 0; for(GuiOptions gui : PAGES) { - this.add(gui == this ? new SelectedButton(240 * x, 24 * y, 240, 24, gui, gui.getTitle()) : - new ActButton(240 * x, 24 * y, 240, 24, gui, gui.getTitle())); + this.add( // gui == this ? new SelectedButton(240 * x, 24 * y, 240, 24, gui, gui.getTitle()) : + new NavButton(240 * x, 24 * y, 240, 24, gui, gui.getTitle())); if(++x == 4) { x = 0; ++y; } } - this.add(new ActButton(width - 240, 0, 240, 24, GuiMenu.INSTANCE, "Zurück")); + this.add(new NavButton(width - 240, 0, 240, 24, GuiMenu.INSTANCE, "Zurück")); } } diff --git a/java/src/game/gui/options/GuiSound.java b/java/src/game/gui/options/GuiSound.java new file mode 100644 index 0000000..4fb64210 --- /dev/null +++ b/java/src/game/gui/options/GuiSound.java @@ -0,0 +1,37 @@ +package game.gui.options; + +import game.audio.Volume; +import game.gui.element.ActButton; +import game.gui.element.ActButton.Mode; + +public class GuiSound extends GuiOptions { + protected GuiSound() { + } + + public void init(int width, int height) { + this.addSelector("snd_enabled", 30, 380, 440, 24); + + this.addSelector("snd_buffer_size", 30, 420, 440, 24); + this.addSelector("snd_frame_size", 490, 420, 440, 24); + + this.add(new ActButton(30, 480, 900, 24, new ActButton.Callback() { + public void use(ActButton elem, Mode action) { + GuiSound.this.gm.restartSound(false); + } + }, "Übernehmen und Audio-Thread neu starten")); + + int x = 30; + int y = 220; + for(Volume volume : Volume.values()) { + this.addSelector(volume.getCVarName(), x, y, 440, 24); + x = (x == 30) ? 490 : 30; + if(x == 30) + y += 40; + } + super.init(width, height); + } + + public String getTitle() { + return "Audio und Ton"; + } +} diff --git a/java/src/game/gui/GuiStyle.java b/java/src/game/gui/options/GuiStyle.java similarity index 90% rename from java/src/game/gui/GuiStyle.java rename to java/src/game/gui/options/GuiStyle.java index d0ec6b4..ecba7e0 100644 --- a/java/src/game/gui/GuiStyle.java +++ b/java/src/game/gui/options/GuiStyle.java @@ -1,10 +1,11 @@ -package game.gui; +package game.gui.options; +import game.gui.Style; import game.gui.element.ActButton; import game.gui.element.ActButton.Mode; import game.gui.element.Dropdown; import game.gui.element.Element; -import game.gui.element.SelectedButton; +import game.gui.element.SelectableButton; import game.gui.element.Slider; import game.gui.element.Switch; import game.gui.element.Textbox; @@ -61,14 +62,14 @@ public class GuiStyle extends GuiOptions implements Dropdown.Callback, A } } }; - this.add(theme == this.gm.style ? new SelectedButton(10 + (z % 3) * 320, 360 + (z / 3) * 40, 300, 24, callback, theme.name) : - new ActButton(10 + (z % 3) * 320, 360 + (z / 3) * 40, 300, 24, callback, theme.name)); + this.add( // theme == this.gm.style ? new SelectedButton(10 + (z % 3) * 320, 360 + (z / 3) * 40, 300, 24, callback, theme.name) : + new SelectableButton(10 + (z % 3) * 320, 360 + (z / 3) * 40, 300, 24, callback, theme.name, theme == this.gm.style)); z++; } String[] values = new String[] {"VALUE 1", "VALUE 2"}; this.add(new Dropdown(10, height - 74, 300, 24, false, values, values[1], values[0], this, "DROPDOWN")); - this.add(new ActButton(330, height - 74, 300, 24, (ActButton.Callback)this, "BUTTON")); + this.add(new ActButton(330, height - 74, 300, 24, this, "BUTTON")); this.add(new Toggle(650, height - 74, 140, 24, false, true, this, "TOGGLE")); this.add(new Toggle(810, height - 74, 140, 24, true, false, this, "TOGGLE")); values = new String[] {"VALUE 1", "VALUE 2", "VALUE 3", "VALUE 4"}; diff --git a/java/src/game/gui/world/GuiCreate.java b/java/src/game/gui/world/GuiCreate.java index d4ca102..7dbebf0 100755 --- a/java/src/game/gui/world/GuiCreate.java +++ b/java/src/game/gui/world/GuiCreate.java @@ -10,6 +10,7 @@ import game.gui.Gui; import game.gui.element.ActButton; import game.gui.element.ActButton.Mode; import game.gui.element.Label; +import game.gui.element.NavButton; import game.gui.element.Textbox; import game.gui.element.Textbox.Action; import game.gui.element.TransparentBox; @@ -18,7 +19,7 @@ import game.init.UniverseRegistry; import game.log.Log; import game.nbt.NBTLoader; import game.nbt.NBTTagCompound; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.rng.Random; import game.util.Util; import game.world.Region; @@ -210,13 +211,13 @@ public class GuiCreate extends Gui implements ActButton.Callback, Textbox.Callba UniverseRegistry.clear(); this.alreadyGenerated = false; this.dimension = Integer.MAX_VALUE; - this.createButton = this.add(new ActButton(0, 340, 160, 24, (ActButton.Callback)this, "Welt erstellen")); - this.add(new ActButton(164, 340, 160, 24, (Gui)GuiWorlds.INSTANCE, "Abbrechen")); - this.dimButton = this.add(new ActButton(0, 220, 324, 24, (ActButton.Callback)this, "")); + this.createButton = this.add(new ActButton(0, 340, 160, 24, this, "Welt erstellen")); + this.add(new NavButton(164, 340, 160, 24, GuiWorlds.INSTANCE, "Abbrechen")); + this.dimButton = this.add(new ActButton(0, 220, 324, 24, this, "")); this.worldNameField = this.add(new Textbox(20, 40, 284, 24, 256, true, this, GuiWorlds.VALID_FILE, "")); this.worldNameField.setSelected(); this.worldSeedField = this.add(new Textbox(20, 140, 284, 24, 256, true, this, "")); - this.worldUserField = this.add(new Textbox(20, 90, 284, 24, NetHandlerPlayServer.MAX_USER_LENGTH, true, this, NetHandlerPlayServer.VALID_USER, "")); + this.worldUserField = this.add(new Textbox(20, 90, 284, 24, Player.MAX_USER_LENGTH, true, this, Player.VALID_USER, "")); this.createButton.enabled = false; this.actionLabel = this.add(new Label(20, 20, 284, 20, this.getFolderDesc(), true)); this.userLabel = this.add(new Label(20, 70, 284, 20, this.getUserDesc(), true)); diff --git a/java/src/game/gui/world/GuiEdit.java b/java/src/game/gui/world/GuiEdit.java index 0e1a0b8..e1b25b2 100755 --- a/java/src/game/gui/world/GuiEdit.java +++ b/java/src/game/gui/world/GuiEdit.java @@ -9,7 +9,7 @@ import game.gui.element.ActButton.Mode; import game.gui.element.Label; import game.gui.element.Textbox; import game.gui.element.Textbox.Action; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.world.Region; public class GuiEdit extends Gui implements ActButton.Callback, Textbox.Callback { @@ -73,9 +73,9 @@ public class GuiEdit extends Gui implements ActButton.Callback, Textbox.Callback } public void init(int width, int height) { - this.actionButton = this.add(new ActButton(width / 2 - 100, height / 4 + 96 + 12, 200, 20, (ActButton.Callback)this, this.action)); - this.cancelButton = this.add(new ActButton(width / 2 - 100, height / 4 + 120 + 12, 200, 20, (ActButton.Callback)this, "Abbrechen")); - this.nameField = this.add(new Textbox(width / 2 - 200, 60, 400, 20, this.player ? NetHandlerPlayServer.MAX_USER_LENGTH : 256, true, this, this.player ? NetHandlerPlayServer.VALID_USER : GuiWorlds.VALID_FILE, this.original == null ? "" : this.original)); + this.actionButton = this.add(new ActButton(width / 2 - 100, height / 4 + 96 + 12, 200, 20, this, this.action)); + this.cancelButton = this.add(new ActButton(width / 2 - 100, height / 4 + 120 + 12, 200, 20, this, "Abbrechen")); + this.nameField = this.add(new Textbox(width / 2 - 200, 60, 400, 20, this.player ? Player.MAX_USER_LENGTH : 256, true, this, this.player ? Player.VALID_USER : GuiWorlds.VALID_FILE, this.original == null ? "" : this.original)); this.nameField.setSelected(); // if(this.player) { // this.nameField.setMaxStringLength(16); diff --git a/java/src/game/gui/world/GuiWorlds.java b/java/src/game/gui/world/GuiWorlds.java index 164f98c..24229d5 100755 --- a/java/src/game/gui/world/GuiWorlds.java +++ b/java/src/game/gui/world/GuiWorlds.java @@ -21,6 +21,7 @@ import game.gui.element.ActButton; import game.gui.element.ActButton.Mode; import game.gui.element.GuiList; import game.gui.element.ListEntry; +import game.gui.element.NavButton; import game.gui.world.GuiEdit.Callback; import game.init.Config; import game.init.UniverseRegistry; @@ -204,17 +205,17 @@ public class GuiWorlds extends GuiList implements ActButton. this.warningMessage = "Welten-Ordner nicht lesbar!"; } - this.add(this.selectButton = new ActButton(width / 2 - 383, height - 52, 150, 20, (ActButton.Callback)this, "Welt spielen")); - this.add(this.createButton = new ActButton(width / 2 + 233, height - 52, 150, 20, (ActButton.Callback)this, + this.add(this.selectButton = new ActButton(width / 2 - 383, height - 52, 150, 20, this, "Welt spielen")); + this.add(this.createButton = new ActButton(width / 2 + 233, height - 52, 150, 20, this, (create ? "" : "" + TextColor.DRED) + (create ? "Neue Welt ..." : "Fehler!"))); - this.add(this.deleteButton = new ActButton(width / 2 - 229, height - 28, 150, 20, (ActButton.Callback)this, "Löschen")); - this.add(this.pruneButton = new ActButton(width / 2 - 75, height - 28, 150, 20, (ActButton.Callback)this, "Leeren")); - this.add(this.copyButton = new ActButton(width / 2 - 383, height - 28, 150, 20, (ActButton.Callback)this, "Kopieren")); - this.add(this.moveButton = new ActButton(width / 2 + 79, height - 28, 150, 20, (ActButton.Callback)this, "Verschieben")); - this.add(this.seedButton = new ActButton(width / 2 - 75, height - 52, 150, 20, (ActButton.Callback)this, "Startwert")); - this.add(this.userButton = new ActButton(width / 2 - 229, height - 52, 150, 20, (ActButton.Callback)this, "Spieler")); - this.add(this.dupeButton = new ActButton(width / 2 + 79, height - 52, 150, 20, (ActButton.Callback)this, "Duplizieren")); - this.add(new ActButton(width / 2 + 233, height - 28, 150, 20, GuiMenu.INSTANCE, "Abbrechen")); + this.add(this.deleteButton = new ActButton(width / 2 - 229, height - 28, 150, 20, this, "Löschen")); + this.add(this.pruneButton = new ActButton(width / 2 - 75, height - 28, 150, 20, this, "Leeren")); + this.add(this.copyButton = new ActButton(width / 2 - 383, height - 28, 150, 20, this, "Kopieren")); + this.add(this.moveButton = new ActButton(width / 2 + 79, height - 28, 150, 20, this, "Verschieben")); + this.add(this.seedButton = new ActButton(width / 2 - 75, height - 52, 150, 20, this, "Startwert")); + this.add(this.userButton = new ActButton(width / 2 - 229, height - 52, 150, 20, this, "Spieler")); + this.add(this.dupeButton = new ActButton(width / 2 + 79, height - 52, 150, 20, this, "Duplizieren")); + this.add(new NavButton(width / 2 + 233, height - 28, 150, 20, GuiMenu.INSTANCE, "Abbrechen")); this.add(new ActButton(20, 20, 200, 20, new ActButton.Callback() { public void use(ActButton elem, ActButton.Mode action) { diff --git a/java/src/game/item/ItemExterminator.java b/java/src/game/item/ItemExterminator.java index 4b1d5e9..002554b 100755 --- a/java/src/game/item/ItemExterminator.java +++ b/java/src/game/item/ItemExterminator.java @@ -21,11 +21,11 @@ public class ItemExterminator extends ItemMagnetic { if(!world.client) { world.playSoundAtEntity(player, SoundEvent.CLICK, 1.0F); if(world.dimension == Space.INSTANCE) - player.connection.addFeed(TextColor.RED + "Der Weltraum kann nicht zerstört werden (lol)"); + player.connection.addHotbar(TextColor.RED + "Der Weltraum kann nicht zerstört werden (lol)"); else if(!((WorldServer)world).exterminate()) - player.connection.addFeed(TextColor.YELLOW + "Die Welt %s ist bereits zerstört", world.dimension.getFormattedName(false)); + player.connection.addHotbar(TextColor.YELLOW + "Die Welt %s ist bereits zerstört", world.dimension.getFormattedName(false)); else - player.connection.addFeed(TextColor.CRIMSON + "Die Welt %s wurde vernichtet >:)-", world.dimension.getFormattedName(false)); + player.connection.addHotbar(TextColor.CRIMSON + "Die Welt %s wurde vernichtet >:)-", world.dimension.getFormattedName(false)); // if (!playerIn.capabilities.isCreativeMode) // { diff --git a/java/src/game/item/ItemInfoWand.java b/java/src/game/item/ItemInfoWand.java index 29f4d82..c203564 100755 --- a/java/src/game/item/ItemInfoWand.java +++ b/java/src/game/item/ItemInfoWand.java @@ -15,7 +15,7 @@ public class ItemInfoWand extends ItemWand { public void onUse(ItemStack stack, EntityNPC player, WorldServer world, Vec3 vec) { Biome biome = world.getBiomeGenForCoords(new BlockPos(vec.xCoord, 0, vec.zCoord)); - player.connection.addFeed(TextColor.NEON + "* Position bei Level %d: %.3f %.3f %.3f, %s [%d], %.2f °C", world.dimension.getDimensionId(), + player.connection.addHotbar(TextColor.NEON + "* Position bei Level %d: %.3f %.3f %.3f, %s [%d], %.2f °C", world.dimension.getDimensionId(), vec.xCoord, vec.yCoord, vec.zCoord, biome.display, biome.id, world.getTemperatureC(new BlockPos(vec))); } diff --git a/java/src/game/log/ConsolePos.java b/java/src/game/log/ConsolePos.java deleted file mode 100644 index a7836fc..0000000 --- a/java/src/game/log/ConsolePos.java +++ /dev/null @@ -1,25 +0,0 @@ -package game.log; - -import game.properties.IStringSerializable; -import game.util.Displayable; - -public enum ConsolePos implements Displayable, IStringSerializable { - TOP("top", "Am oberen Bildschirmrand"), - BOTTOM("bottom", "Am unteren Bildschirmrand"); - - public final String id; - public final String name; - - private ConsolePos(String id, String name) { - this.id = id; - this.name = name; - } - - public String getName() { - return this.id; - } - - public String getDisplay() { - return this.name; - } -} diff --git a/java/src/game/network/NetHandlerLoginClient.java b/java/src/game/network/ClientLoginHandler.java similarity index 88% rename from java/src/game/network/NetHandlerLoginClient.java rename to java/src/game/network/ClientLoginHandler.java index b56bf4e..ef4dd53 100755 --- a/java/src/game/network/NetHandlerLoginClient.java +++ b/java/src/game/network/ClientLoginHandler.java @@ -5,11 +5,11 @@ import game.packet.RPacketDisconnect; import game.packet.RPacketEnableCompression; import game.packet.RPacketLoginSuccess; -public class NetHandlerLoginClient extends NetHandler { +public class ClientLoginHandler extends NetHandler { private final Game gm; private final NetConnection networkManager; - public NetHandlerLoginClient(NetConnection conn, Game gmIn) { + public ClientLoginHandler(NetConnection conn, Game gmIn) { this.networkManager = conn; this.gm = gmIn; } @@ -27,7 +27,7 @@ public class NetHandlerLoginClient extends NetHandler { public void handleLoginSuccess(RPacketLoginSuccess packetIn) { this.networkManager.setConnectionState(PacketRegistry.PLAY); - this.networkManager.setNetHandler(new NetHandlerPlayClient(this.gm, this.networkManager)); + this.networkManager.setNetHandler(new ClientPlayer(this.gm, this.networkManager)); } public final void handleEnableCompression(RPacketEnableCompression packetIn) diff --git a/java/src/game/network/NetHandlerPlayClient.java b/java/src/game/network/ClientPlayer.java similarity index 99% rename from java/src/game/network/NetHandlerPlayClient.java rename to java/src/game/network/ClientPlayer.java index dfa740d..f28fda2 100755 --- a/java/src/game/network/NetHandlerPlayClient.java +++ b/java/src/game/network/ClientPlayer.java @@ -112,7 +112,7 @@ import game.world.Explosion; import game.world.Weather; import game.world.WorldClient; -public class NetHandlerPlayClient extends NetHandler +public class ClientPlayer extends NetHandler { /** * The NetworkManager instance used to communicate with the server (used only by handlePlayerPosLook to update @@ -146,7 +146,7 @@ public class NetHandlerPlayClient extends NetHandler */ private final Random avRandomizer = new Random(); - public NetHandlerPlayClient(Game gmIn, NetConnection p_i46300_3_) + public ClientPlayer(Game gmIn, NetConnection p_i46300_3_) { this.gameController = gmIn; this.netManager = p_i46300_3_; @@ -766,17 +766,20 @@ public class NetHandlerPlayClient extends NetHandler // if(this.gameController.chatVisibility == EnumChatVisibility.FULL || // (this.gameController.chatVisibility == EnumChatVisibility.SYSTEM && packetIn.isSystem())) // { -// switch(packetIn.getType()) { -// case CONSOLE: -// SKC.console(packetIn.getMessage()); -// break; -// case FEED: - Log.CONSOLE.user(packetIn.getMessage()); -// break; -// case HOTBAR: -// SKC.overlay(packetIn.getMessage()); -// break; -// } + switch(packetIn.getType()) { + case CONSOLE: + this.gameController.logConsole(packetIn.getMessage()); + break; + case CHAT: + this.gameController.logChat(packetIn.getMessage()); + break; + case FEED: + this.gameController.logFeed(packetIn.getMessage()); + break; + case HOTBAR: + this.gameController.logHotbar(packetIn.getMessage()); + break; + } // } } diff --git a/java/src/game/network/NetHandlerHandshakeServer.java b/java/src/game/network/HandshakeHandler.java similarity index 74% rename from java/src/game/network/NetHandlerHandshakeServer.java rename to java/src/game/network/HandshakeHandler.java index c5e593d..4d0a76f 100755 --- a/java/src/game/network/NetHandlerHandshakeServer.java +++ b/java/src/game/network/HandshakeHandler.java @@ -2,7 +2,7 @@ package game.network; import game.packet.HPacketHandshake; -public abstract class NetHandlerHandshakeServer extends NetHandler +public abstract class HandshakeHandler extends NetHandler { public abstract void processHandshake(HPacketHandshake packetIn); diff --git a/java/src/game/network/NetHandlerHandshakeMemory.java b/java/src/game/network/HandshakeHandlerMemory.java similarity index 60% rename from java/src/game/network/NetHandlerHandshakeMemory.java rename to java/src/game/network/HandshakeHandlerMemory.java index 1c77c55..2ae8da6 100755 --- a/java/src/game/network/NetHandlerHandshakeMemory.java +++ b/java/src/game/network/HandshakeHandlerMemory.java @@ -3,12 +3,12 @@ package game.network; import game.Server; import game.packet.HPacketHandshake; -public class NetHandlerHandshakeMemory extends NetHandlerHandshakeServer +public class HandshakeHandlerMemory extends HandshakeHandler { private final Server gmServer; private final NetConnection networkManager; - public NetHandlerHandshakeMemory(Server gmServerIn, NetConnection networkManagerIn) + public HandshakeHandlerMemory(Server gmServerIn, NetConnection networkManagerIn) { this.gmServer = gmServerIn; this.networkManager = networkManagerIn; @@ -17,6 +17,6 @@ public class NetHandlerHandshakeMemory extends NetHandlerHandshakeServer public void processHandshake(HPacketHandshake packetIn) { this.networkManager.setConnectionState(PacketRegistry.LOGIN); - this.networkManager.setNetHandler(new NetHandlerLoginServer(this.gmServer, this.networkManager)); + this.networkManager.setNetHandler(new LoginHandler(this.gmServer, this.networkManager)); } } diff --git a/java/src/game/network/NetHandlerHandshakeTCP.java b/java/src/game/network/HandshakeHandlerTCP.java similarity index 80% rename from java/src/game/network/NetHandlerHandshakeTCP.java rename to java/src/game/network/HandshakeHandlerTCP.java index 8f84443..c0e1405 100755 --- a/java/src/game/network/NetHandlerHandshakeTCP.java +++ b/java/src/game/network/HandshakeHandlerTCP.java @@ -5,12 +5,12 @@ import game.init.Config; import game.packet.HPacketHandshake; import game.packet.RPacketDisconnect; -public class NetHandlerHandshakeTCP extends NetHandlerHandshakeServer +public class HandshakeHandlerTCP extends HandshakeHandler { private final Server server; private final NetConnection networkManager; - public NetHandlerHandshakeTCP(Server serverIn, NetConnection netManager) + public HandshakeHandlerTCP(Server serverIn, NetConnection netManager) { this.server = serverIn; this.networkManager = netManager; @@ -35,7 +35,7 @@ public class NetHandlerHandshakeTCP extends NetHandlerHandshakeServer } else { - this.networkManager.setNetHandler(new NetHandlerLoginServer(this.server, this.networkManager)); + this.networkManager.setNetHandler(new LoginHandler(this.server, this.networkManager)); } } } diff --git a/java/src/game/network/NetHandlerLoginServer.java b/java/src/game/network/LoginHandler.java similarity index 89% rename from java/src/game/network/NetHandlerLoginServer.java rename to java/src/game/network/LoginHandler.java index 51269f6..5f12f47 100755 --- a/java/src/game/network/NetHandlerLoginServer.java +++ b/java/src/game/network/LoginHandler.java @@ -9,7 +9,7 @@ import game.packet.LPacketPasswordResponse; import game.packet.RPacketDisconnect; import game.rng.Random; -public class NetHandlerLoginServer extends NetHandler +public class LoginHandler extends NetHandler { private static enum LoginState { PASSWORD, READY_TO_ACCEPT, ACCEPTED; @@ -23,7 +23,7 @@ public class NetHandlerLoginServer extends NetHandler private String loginUser; private String loginPass; - public NetHandlerLoginServer(Server server, NetConnection netManager) + public LoginHandler(Server server, NetConnection netManager) { this.netManager = netManager; this.server = server; @@ -121,19 +121,19 @@ public class NetHandlerLoginServer extends NetHandler if(this.netManager.isLocalChannel()) { this.loginPass = ""; // this.loginUser = Config.localUser; - if(this.loginUser.length() > NetHandlerPlayServer.MAX_USER_LENGTH || (!this.loginUser.isEmpty() && !NetHandlerPlayServer.isValidUser(this.loginUser))) { + if(this.loginUser.length() > Player.MAX_USER_LENGTH || (!this.loginUser.isEmpty() && !Player.isValidUser(this.loginUser))) { Random rand = new Random(); do { this.loginUser = NameRegistry.FANTASY.generate(rand, rand.range(2, 4)).toLowerCase(); } - while(this.loginUser.length() > NetHandlerPlayServer.MAX_USER_LENGTH || !NetHandlerPlayServer.isValidUser(this.loginUser)); // || this.server.getPlayer(this.loginUser) != null); + while(this.loginUser.length() > Player.MAX_USER_LENGTH || !Player.isValidUser(this.loginUser)); // || this.server.getPlayer(this.loginUser) != null); // this.server.setVar("local_user", this.loginUser); } this.server.setLocalUser(this.loginUser); } else { this.loginPass = packetIn.getPassword(); - if(this.loginUser.isEmpty() || !NetHandlerPlayServer.isValidUser(this.loginUser)) + if(this.loginUser.isEmpty() || !Player.isValidUser(this.loginUser)) throw new IllegalStateException("Ungültiger Nutzername!"); // if(!this.checkConnect(packetIn.getAccess())) // return; diff --git a/java/src/game/network/NetHandlerPlayServer.java b/java/src/game/network/Player.java similarity index 97% rename from java/src/game/network/NetHandlerPlayServer.java rename to java/src/game/network/Player.java index 304c0a6..62a2b59 100755 --- a/java/src/game/network/NetHandlerPlayServer.java +++ b/java/src/game/network/Player.java @@ -94,6 +94,7 @@ import game.packet.SPacketDisconnect; import game.packet.SPacketKeepAlive; import game.packet.SPacketMapChunkBulk; import game.packet.SPacketMessage; +import game.packet.SPacketMessage.Type; import game.packet.SPacketPlayerPosLook; import game.packet.SPacketSetExperience; import game.packet.SPacketSkin; @@ -125,7 +126,7 @@ import game.world.WorldServer; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; -public class NetHandlerPlayServer extends NetHandler implements ICrafting, Executor +public class Player extends NetHandler implements ICrafting, Executor { private static enum EditAction { SELECT("Auswahlmodus"), COPYPASTE("Kopiermodus"), TRANSFORM("Drehmodus"); @@ -226,7 +227,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu return VALID_NICK.valid(user); } - public NetHandlerPlayServer(Server server, NetConnection connection, String user) + public Player(Server server, NetConnection connection, String user) { this.user = user; this.server = server; @@ -543,12 +544,36 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu } } + public void addConsole(String msg) { + this.sendPacket(new SPacketMessage(msg, Type.CONSOLE)); + } + + public void addConsole(String format, Object... args) { + this.sendPacket(new SPacketMessage(String.format(format, args), Type.CONSOLE)); + } + + public void addChat(String msg) { + this.sendPacket(new SPacketMessage(msg, Type.CHAT)); + } + + public void addChat(String format, Object... args) { + this.sendPacket(new SPacketMessage(String.format(format, args), Type.CHAT)); + } + public void addFeed(String msg) { - this.sendPacket(new SPacketMessage(msg)); + this.sendPacket(new SPacketMessage(msg, Type.FEED)); } public void addFeed(String format, Object... args) { - this.sendPacket(new SPacketMessage(String.format(format, args))); + this.sendPacket(new SPacketMessage(String.format(format, args), Type.FEED)); + } + + public void addHotbar(String msg) { + this.sendPacket(new SPacketMessage(msg, Type.HOTBAR)); + } + + public void addHotbar(String format, Object... args) { + this.sendPacket(new SPacketMessage(String.format(format, args), Type.HOTBAR)); } public void sendPickupMessage(Entity entity, int amount) { @@ -695,7 +720,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu if (ilockablecontainer.isLocked() && !this.entity.canOpen(ilockablecontainer.getLockCode())) // && !this.isSpectator()) { - this.addFeed(TextColor.RED + "%s ist verschlossen!", chestInventory.getCommandName()); + this.addHotbar(TextColor.RED + "%s ist verschlossen!", chestInventory.getCommandName()); this.sendPacket(new S29PacketSoundEffect(SoundEvent.DOOR, this.entity.posX, this.entity.posY, this.entity.posZ, 1.0F)); return; } @@ -1266,14 +1291,14 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu BlockPos point = pos == null ? this.entity.getPosition() : pos; String msg = this.selectPoint(point, false); if(msg != null) - this.addFeed(TextColor.DRED + msg); + this.addHotbar(TextColor.DRED + msg); } private void selectPos2(BlockPos pos) { BlockPos point = pos == null ? this.entity.getPosition() : pos; String msg = this.selectPoint(point, true); if(msg != null) - this.addFeed(TextColor.MIDNIGHT + msg); + this.addHotbar(TextColor.MIDNIGHT + msg); } private String selectPoint(BlockPos position, boolean second) { @@ -1315,7 +1340,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu } if(this.edit == EditAction.TRANSFORM && (this.rotation != 0 || this.flipX || this.flipZ)) msg += "; " + this.getRotationInfo(); - this.addFeed(TextColor.YELLOW + msg); + this.addHotbar(TextColor.YELLOW + msg); } private int getSelectionArea() { @@ -1364,7 +1389,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu to = to.add(tf.getBlockX(), tf.getBlockY(), tf.getBlockZ()); } placer.commit(); - this.addFeed(TextColor.YELLOW + "Zwischenablage wurde bei %d, %d, %d eingefügt", to.getX(), to.getY(), to.getZ()); + this.addHotbar(TextColor.YELLOW + "Zwischenablage wurde bei %d, %d, %d eingefügt", to.getX(), to.getY(), to.getZ()); return true; } @@ -1437,7 +1462,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu this.flipX = this.flipZ = false; BlockPos pos = this.entity.getPosition(); this.selOffset = new Vec3i(mx - pos.getX(), my - pos.getY(), mz - pos.getZ()); - this.addFeed(TextColor.YELLOW + "Auswahl wurde in die Zwischenablage kopiert"); + this.addHotbar(TextColor.YELLOW + "Auswahl wurde in die Zwischenablage kopiert"); return true; } @@ -1466,7 +1491,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu else return; String info = this.getRotationInfo(); - this.addFeed(TextColor.YELLOW + (info.isEmpty() ? "Keine Drehung" : info)); + this.addHotbar(TextColor.YELLOW + (info.isEmpty() ? "Keine Drehung" : info)); } private void rotateClipboard() { @@ -1474,7 +1499,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu return; this.rotation = (this.rotation + 90) % 360; String info = this.getRotationInfo(); - this.addFeed(TextColor.YELLOW + (info.isEmpty() ? "Keine Drehung" : info)); + this.addHotbar(TextColor.YELLOW + (info.isEmpty() ? "Keine Drehung" : info)); } @@ -1517,7 +1542,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu { public void operationComplete(Future p_operationComplete_1_) throws Exception { - NetHandlerPlayServer.this.connection.closeChannel("Getrennt"); + Player.this.connection.closeChannel("Getrennt"); } }); this.connection.disableAutoRead(); @@ -1525,7 +1550,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu { public void run() { - NetHandlerPlayServer.this.connection.checkDisconnected(); + Player.this.connection.checkDisconnected(); } })); } @@ -1534,13 +1559,13 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu { Log.JNI.info(this.user + " wurde getrennt: " + TextColor.stripCodes(reason)); if(!this.local) - this.server.sendPacket(new SPacketMessage(String.format("%s hat das Spiel verlassen", this.user))); + this.server.sendPacket(new SPacketMessage(String.format("%s hat das Spiel verlassen", this.user), Type.FEED)); this.server.removePlayer(this); } public void onConnect() { if(!this.local) - this.server.sendPacket(new SPacketMessage(String.format("%s hat das Spiel betreten", this.user))); + this.server.sendPacket(new SPacketMessage(String.format("%s hat das Spiel betreten", this.user), Type.FEED)); } public void sendPacket(final Packet packet) @@ -1625,13 +1650,13 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu int space = line.indexOf(' '); // if(space < 0) // return false; - NetHandlerPlayServer target = this.server.getPlayer(space < 0 ? line.substring(1) : line.substring(1, space)); + Player target = this.server.getPlayer(space < 0 ? line.substring(1) : line.substring(1, space)); if(target == null) return false; - target.addFeed(this.entity.getColoredName(TextColor.LGRAY) + " -> " + target.entity.getColoredName(TextColor.LGRAY) + " " + + target.addChat(this.entity.getColoredName(TextColor.LGRAY) + " -> " + target.entity.getColoredName(TextColor.LGRAY) + " " + line); if(target != this) - this.addFeed(target.entity.getColoredName(TextColor.LGRAY) + " -> " + this.entity.getColoredName(TextColor.LGRAY) + " " + + this.addChat(target.entity.getColoredName(TextColor.LGRAY) + " -> " + this.entity.getColoredName(TextColor.LGRAY) + " " + line); return true; } @@ -1653,9 +1678,9 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu if(!cvar.def.equals(v)) { comp += TextColor.GRAY + " (" + TextColor.BROWN + cvar.def + TextColor.GRAY + ")"; } - this.addFeed(comp); + this.addConsole(comp); } - this.addFeed(TextColor.GREEN + "SVARs insgesamt registriert: %d", Config.VARS.size()); + this.addConsole(TextColor.GREEN + "SVARs insgesamt registriert: %d", Config.VARS.size()); return true; } line = line.trim(); @@ -1675,7 +1700,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu comp += ((cfg.type == ValueType.BOOLEAN ? (v.equals("true") ? TextColor.GREEN : TextColor.RED) : TextColor.BLUE)) + v; if(!cfg.def.equals(v)) comp += TextColor.GRAY + " (" + TextColor.BROWN + cfg.def + TextColor.GRAY + ")"; - this.addFeed(comp); + this.addConsole(comp); // break; // default: } @@ -1693,7 +1718,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu // else if(cv.type == ValueType.BOOLEAN && !"true".equals(value) && !"false".equals(value)) { if(!value.equalsIgnoreCase("true") && !value.equalsIgnoreCase("false")) { - this.addFeed(TextColor.DRED + "'%s' ist nicht 'true' oder 'false'", value); + this.addConsole(TextColor.DRED + "'%s' ist nicht 'true' oder 'false'", value); return true; } value = value.toLowerCase(); @@ -1703,7 +1728,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu Integer.parseInt(value); } catch(NumberFormatException e) { - this.addFeed(TextColor.DRED + "'%s' ist keine gültige Zahl", value); + this.addConsole(TextColor.DRED + "'%s' ist keine gültige Zahl", value); return true; } } @@ -1712,12 +1737,12 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu Float.parseFloat(value); } catch(NumberFormatException e) { - this.addFeed(TextColor.DRED + "'%s' ist keine gültige Zahl", value); + this.addConsole(TextColor.DRED + "'%s' ist keine gültige Zahl", value); return true; } } Config.set(args[0], value, this.server); - this.addFeed(TextColor.YELLOW + "%s" + TextColor.GRAY + " -> " + ((cv.type == ValueType.BOOLEAN ? (cv.getValue().equals("true") ? TextColor.GREEN : TextColor.RED) : (cv.type == ValueType.STRING ? TextColor.NEON : TextColor.BLUE))) + "%s", args[0], cv.type == ValueType.STRING ? ("'" + cv.getValue() + "'") : cv.getValue()); + this.addConsole(TextColor.YELLOW + "%s" + TextColor.GRAY + " -> " + ((cv.type == ValueType.BOOLEAN ? (cv.getValue().equals("true") ? TextColor.GREEN : TextColor.RED) : (cv.type == ValueType.STRING ? TextColor.NEON : TextColor.BLUE))) + "%s", args[0], cv.type == ValueType.STRING ? ("'" + cv.getValue() + "'") : cv.getValue()); } return true; } @@ -1887,7 +1912,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu if(this.isAdmin()) this.server.getScriptEnvironment().execute(command, this); else - this.addFeed(TextColor.DRED + "Nur Admins können Befehle ausführen"); + this.addConsole(TextColor.DRED + "Nur Admins können Befehle ausführen"); } private List completeCommand(String command) { @@ -1896,7 +1921,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu } public void logConsole(String msg) { - this.addFeed(msg); + this.addConsole(msg); } public String getExecId() { @@ -1929,7 +1954,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu case CHAT: if(!this.sendPlayer(msg)) - this.server.sendPacket(new SPacketMessage(String.format("%s %s", this.entity.getColoredName(TextColor.LGRAY), msg))); + this.server.sendPacket(new SPacketMessage(String.format("%s %s", this.entity.getColoredName(TextColor.LGRAY), msg), Type.CHAT)); break; case DISPLAY: diff --git a/java/src/game/network/PlayerController.java b/java/src/game/network/PlayerController.java index ba94c0a..1646602 100755 --- a/java/src/game/network/PlayerController.java +++ b/java/src/game/network/PlayerController.java @@ -25,7 +25,7 @@ import game.world.WorldClient; public class PlayerController { private final Game gm; - private final NetHandlerPlayClient netClientHandler; + private final ClientPlayer netClientHandler; private BlockPos currentBlock = new BlockPos(-1, -1, -1); private ItemStack currentItemHittingBlock; private float curBlockDamageMP; @@ -36,7 +36,7 @@ public class PlayerController private int currentPlayerItem; private boolean interacting; - public PlayerController(Game gmIn, NetHandlerPlayClient netHandler) + public PlayerController(Game gmIn, ClientPlayer netHandler) { this.gm = gmIn; this.netClientHandler = netHandler; diff --git a/java/src/game/packet/CPacketAction.java b/java/src/game/packet/CPacketAction.java index 9cf7671..42f2aae 100755 --- a/java/src/game/packet/CPacketAction.java +++ b/java/src/game/packet/CPacketAction.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processAction(this); } diff --git a/java/src/game/packet/CPacketBook.java b/java/src/game/packet/CPacketBook.java index 3817d0c..271924e 100755 --- a/java/src/game/packet/CPacketBook.java +++ b/java/src/game/packet/CPacketBook.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processBook(this); } diff --git a/java/src/game/packet/CPacketBreak.java b/java/src/game/packet/CPacketBreak.java index 47b8cb6..07e67d8 100755 --- a/java/src/game/packet/CPacketBreak.java +++ b/java/src/game/packet/CPacketBreak.java @@ -2,13 +2,13 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; 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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processBreak(this); } diff --git a/java/src/game/packet/CPacketCheat.java b/java/src/game/packet/CPacketCheat.java index 682fe04..a9a0827 100755 --- a/java/src/game/packet/CPacketCheat.java +++ b/java/src/game/packet/CPacketCheat.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -public class CPacketCheat implements Packet +public class CPacketCheat implements Packet { private ItemStack stack; private int slot; @@ -24,7 +24,7 @@ public class CPacketCheat implements Packet this.stack.stackSize = this.stack.getMaxStackSize(); } - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processCheat(this); } diff --git a/java/src/game/packet/CPacketClick.java b/java/src/game/packet/CPacketClick.java index 65b0152..ae6078d 100755 --- a/java/src/game/packet/CPacketClick.java +++ b/java/src/game/packet/CPacketClick.java @@ -3,11 +3,11 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processClick(this); } diff --git a/java/src/game/packet/CPacketComplete.java b/java/src/game/packet/CPacketComplete.java index 18e44d4..d160d13 100755 --- a/java/src/game/packet/CPacketComplete.java +++ b/java/src/game/packet/CPacketComplete.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; 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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processComplete(this); } diff --git a/java/src/game/packet/CPacketInput.java b/java/src/game/packet/CPacketInput.java index 6b341a0..975a66a 100755 --- a/java/src/game/packet/CPacketInput.java +++ b/java/src/game/packet/CPacketInput.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processInput(this); } diff --git a/java/src/game/packet/CPacketKeepAlive.java b/java/src/game/packet/CPacketKeepAlive.java index 406d783..096f558 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.NetHandlerPlayServer; +import game.network.Player; -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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processKeepAlive(this); } diff --git a/java/src/game/packet/CPacketMessage.java b/java/src/game/packet/CPacketMessage.java index 85640c4..112ca24 100755 --- a/java/src/game/packet/CPacketMessage.java +++ b/java/src/game/packet/CPacketMessage.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processMessage(this); } @@ -49,7 +49,7 @@ public class CPacketMessage implements Packet } public static enum Type { - COMMAND(NetHandlerPlayServer.MAX_CMD_LENGTH), CHAT(NetHandlerPlayServer.MAX_CMD_LENGTH), DISPLAY(NetHandlerPlayServer.MAX_NICK_LENGTH); // , ITEM(30); + COMMAND(Player.MAX_CMD_LENGTH), CHAT(Player.MAX_CMD_LENGTH), DISPLAY(Player.MAX_NICK_LENGTH); // , ITEM(30); private final int length; diff --git a/java/src/game/packet/CPacketPlace.java b/java/src/game/packet/CPacketPlace.java index a8b00dd..4b5aeaf 100755 --- a/java/src/game/packet/CPacketPlace.java +++ b/java/src/game/packet/CPacketPlace.java @@ -3,12 +3,12 @@ package game.packet; import java.io.IOException; import game.item.ItemStack; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; 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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processPlace(this); } diff --git a/java/src/game/packet/CPacketPlayer.java b/java/src/game/packet/CPacketPlayer.java index 4489220..11fc2f0 100755 --- a/java/src/game/packet/CPacketPlayer.java +++ b/java/src/game/packet/CPacketPlayer.java @@ -2,11 +2,11 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processPlayer(this); } diff --git a/java/src/game/packet/CPacketSign.java b/java/src/game/packet/CPacketSign.java index 0e2340d..c8df819 100755 --- a/java/src/game/packet/CPacketSign.java +++ b/java/src/game/packet/CPacketSign.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; 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(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processSign(this); } diff --git a/java/src/game/packet/CPacketSkin.java b/java/src/game/packet/CPacketSkin.java index 12667cc..8e61710 100755 --- a/java/src/game/packet/CPacketSkin.java +++ b/java/src/game/packet/CPacketSkin.java @@ -4,12 +4,12 @@ import java.awt.image.BufferedImage; import java.io.IOException; import game.init.SpeciesRegistry.ModelType; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; import game.renderer.texture.EntityTexManager; -public class CPacketSkin implements Packet +public class CPacketSkin implements Packet { // private ModelType model; private byte[] comp; @@ -56,7 +56,7 @@ public class CPacketSkin implements Packet buf.writeByteArray(this.comp == null ? new byte[0] : this.comp); } - public void processPacket(NetHandlerPlayServer handler) + public void processPacket(Player handler) { handler.processSkin(this); } diff --git a/java/src/game/packet/HPacketHandshake.java b/java/src/game/packet/HPacketHandshake.java index 082cff3..1d4fb5b 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.NetHandlerHandshakeServer; +import game.network.HandshakeHandler; 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(NetHandlerHandshakeServer handler) { + public void processPacket(HandshakeHandler handler) { handler.processHandshake(this); } diff --git a/java/src/game/packet/LPacketPasswordResponse.java b/java/src/game/packet/LPacketPasswordResponse.java index 0790598..4d445df 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.NetHandlerLoginServer; -import game.network.NetHandlerPlayServer; +import game.network.LoginHandler; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -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(NetHandlerPlayServer.MAX_USER_LENGTH); - this.access = buf.readStringFromBuffer(NetHandlerPlayServer.MAX_PASS_LENGTH); - this.password = buf.readStringFromBuffer(NetHandlerPlayServer.MAX_PASS_LENGTH); + this.user = buf.readStringFromBuffer(Player.MAX_USER_LENGTH); + this.access = buf.readStringFromBuffer(Player.MAX_PASS_LENGTH); + this.password = buf.readStringFromBuffer(Player.MAX_PASS_LENGTH); } /** @@ -47,7 +47,7 @@ public class LPacketPasswordResponse implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerLoginServer handler) + public void processPacket(LoginHandler handler) { handler.processPasswordResponse(this); } diff --git a/java/src/game/packet/RPacketDisconnect.java b/java/src/game/packet/RPacketDisconnect.java index fdf9a77..1aee0bd 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.NetHandlerLoginClient; +import game.network.ClientLoginHandler; 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(NetHandlerLoginClient handler) + public void processPacket(ClientLoginHandler handler) { handler.handleDisconnect(this); } diff --git a/java/src/game/packet/RPacketEnableCompression.java b/java/src/game/packet/RPacketEnableCompression.java index d9b1ac7..f338992 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.NetHandlerLoginClient; +import game.network.ClientLoginHandler; -public class RPacketEnableCompression extends APacketVarInt +public class RPacketEnableCompression extends APacketVarInt { public RPacketEnableCompression() { @@ -13,7 +13,7 @@ public class RPacketEnableCompression extends APacketVarInt +public class RPacketLoginSuccess extends APacketEmpty { - public void processPacket(NetHandlerLoginClient handler) + public void processPacket(ClientLoginHandler handler) { handler.handleLoginSuccess(this); } diff --git a/java/src/game/packet/S14PacketEntity.java b/java/src/game/packet/S14PacketEntity.java index fccdfb6..9c42bc2 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityMovement(this); } diff --git a/java/src/game/packet/S18PacketEntityTeleport.java b/java/src/game/packet/S18PacketEntityTeleport.java index 9fc6ef1..d5e26f0 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityTeleport(this); } diff --git a/java/src/game/packet/S19PacketEntityHeadLook.java b/java/src/game/packet/S19PacketEntityHeadLook.java index 2d8b1b8..d4c012e 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityHeadLook(this); } diff --git a/java/src/game/packet/S1APacketEntityStatus.java b/java/src/game/packet/S1APacketEntityStatus.java index 5411c33..2771749 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityStatus(this); } diff --git a/java/src/game/packet/S1BPacketEntityAttach.java b/java/src/game/packet/S1BPacketEntityAttach.java index c705e36..7b30497 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityAttach(this); } diff --git a/java/src/game/packet/S1CPacketEntityMetadata.java b/java/src/game/packet/S1CPacketEntityMetadata.java index 3eaa43f..9662fca 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityMetadata(this); } diff --git a/java/src/game/packet/S1DPacketEntityEffect.java b/java/src/game/packet/S1DPacketEntityEffect.java index 4eb256f..285d661 100755 --- a/java/src/game/packet/S1DPacketEntityEffect.java +++ b/java/src/game/packet/S1DPacketEntityEffect.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.potion.PotionEffect; -public class S1DPacketEntityEffect implements Packet +public class S1DPacketEntityEffect implements Packet { private int entityId; private byte effectId; @@ -69,7 +69,7 @@ public class S1DPacketEntityEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityEffect(this); } diff --git a/java/src/game/packet/S1EPacketRemoveEntityEffect.java b/java/src/game/packet/S1EPacketRemoveEntityEffect.java index e4b1dd3..09585f5 100755 --- a/java/src/game/packet/S1EPacketRemoveEntityEffect.java +++ b/java/src/game/packet/S1EPacketRemoveEntityEffect.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.potion.PotionEffect; -public class S1EPacketRemoveEntityEffect implements Packet +public class S1EPacketRemoveEntityEffect implements Packet { private int entityId; private int effectId; @@ -43,7 +43,7 @@ public class S1EPacketRemoveEntityEffect implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleRemoveEntityEffect(this); } diff --git a/java/src/game/packet/S20PacketEntityProperties.java b/java/src/game/packet/S20PacketEntityProperties.java index 60c86b3..ad22227 100755 --- a/java/src/game/packet/S20PacketEntityProperties.java +++ b/java/src/game/packet/S20PacketEntityProperties.java @@ -8,11 +8,11 @@ import game.collect.Lists; import game.entity.attributes.AttributeInstance; import game.entity.attributes.AttributeModifier; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(); @@ -82,7 +82,7 @@ public class S20PacketEntityProperties implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityProperties(this); } diff --git a/java/src/game/packet/S27PacketExplosion.java b/java/src/game/packet/S27PacketExplosion.java index 6711a79..1124ab6 100755 --- a/java/src/game/packet/S27PacketExplosion.java +++ b/java/src/game/packet/S27PacketExplosion.java @@ -6,13 +6,13 @@ import java.util.List; import game.collect.Lists; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; 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; @@ -107,7 +107,7 @@ public class S27PacketExplosion implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleExplosion(this); } diff --git a/java/src/game/packet/S28PacketEffect.java b/java/src/game/packet/S28PacketEffect.java index 6fd3d7c..263e148 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleEffect(this); } diff --git a/java/src/game/packet/S29PacketSoundEffect.java b/java/src/game/packet/S29PacketSoundEffect.java index f076919..e80a9af 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSoundEffect(this); } diff --git a/java/src/game/packet/S2APacketParticles.java b/java/src/game/packet/S2APacketParticles.java index 415b36a..d1bb616 100755 --- a/java/src/game/packet/S2APacketParticles.java +++ b/java/src/game/packet/S2APacketParticles.java @@ -2,12 +2,12 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.renderer.particle.ParticleType; -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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleParticles(this); } diff --git a/java/src/game/packet/S2BPacketChangeGameState.java b/java/src/game/packet/S2BPacketChangeGameState.java index d3c3314..3a29de1 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleChangeGameState(this); } diff --git a/java/src/game/packet/S2CPacketSpawnGlobalEntity.java b/java/src/game/packet/S2CPacketSpawnGlobalEntity.java index 07862ee..74bdb84 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSpawnGlobalEntity(this); } diff --git a/java/src/game/packet/S2DPacketOpenWindow.java b/java/src/game/packet/S2DPacketOpenWindow.java index 4662879..7ac73fc 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleOpenWindow(this); } diff --git a/java/src/game/packet/S2EPacketCloseWindow.java b/java/src/game/packet/S2EPacketCloseWindow.java index eee7db1..fedeedd 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleCloseWindow(this); } diff --git a/java/src/game/packet/S2FPacketSetSlot.java b/java/src/game/packet/S2FPacketSetSlot.java index 29193e9..ca30800 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSetSlot(this); } diff --git a/java/src/game/packet/S30PacketWindowItems.java b/java/src/game/packet/S30PacketWindowItems.java index 63f7bf0..a0aca09 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleWindowItems(this); } diff --git a/java/src/game/packet/S31PacketWindowProperty.java b/java/src/game/packet/S31PacketWindowProperty.java index 38f9f03..5d0d0a1 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleWindowProperty(this); } diff --git a/java/src/game/packet/S32PacketConfirmTransaction.java b/java/src/game/packet/S32PacketConfirmTransaction.java index b49ed15..a639e29 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleConfirmTransaction(this); } diff --git a/java/src/game/packet/S33PacketUpdateSign.java b/java/src/game/packet/S33PacketUpdateSign.java index b2e27d2..cd49fb9 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleUpdateSign(this); } diff --git a/java/src/game/packet/S35PacketUpdateTileEntity.java b/java/src/game/packet/S35PacketUpdateTileEntity.java index 6d57904..f0237ad 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleUpdateTileEntity(this); } diff --git a/java/src/game/packet/S36PacketSignEditorOpen.java b/java/src/game/packet/S36PacketSignEditorOpen.java index 7f7329a..70d0560 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSignEditorOpen(this); } diff --git a/java/src/game/packet/S38PacketPlayerListItem.java b/java/src/game/packet/S38PacketPlayerListItem.java index 0007ec3..b3309d2 100755 --- a/java/src/game/packet/S38PacketPlayerListItem.java +++ b/java/src/game/packet/S38PacketPlayerListItem.java @@ -7,25 +7,25 @@ import java.util.Map.Entry; import game.collect.Maps; -import game.network.NetHandlerPlayClient; -import game.network.NetHandlerPlayServer; +import game.network.ClientPlayer; +import game.network.Player; import game.network.Packet; import game.network.PacketBuffer; -public class S38PacketPlayerListItem implements Packet { +public class S38PacketPlayerListItem implements Packet { private final Map players = Maps.newHashMap(); public S38PacketPlayerListItem() { } - public S38PacketPlayerListItem(boolean remove, NetHandlerPlayServer... conns) { - for(NetHandlerPlayServer conn : conns) { + public S38PacketPlayerListItem(boolean remove, Player... conns) { + for(Player conn : conns) { this.players.put(conn.getUser(), remove ? -1 : conn.getLatency()); } } - public S38PacketPlayerListItem(Iterable conns) { - for(NetHandlerPlayServer conn : conns) { + public S38PacketPlayerListItem(Iterable conns) { + for(Player conn : conns) { this.players.put(conn.getUser(), conn.getLatency()); } } @@ -45,7 +45,7 @@ public class S38PacketPlayerListItem implements Packet { } } - public void processPacket(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handlePlayerListItem(this); } diff --git a/java/src/game/packet/S39PacketPlayerAbilities.java b/java/src/game/packet/S39PacketPlayerAbilities.java index 14a5d31..1dae15f 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handlePlayerAbilities(this); } diff --git a/java/src/game/packet/S3APacketTabComplete.java b/java/src/game/packet/S3APacketTabComplete.java index 533b5dc..09a7ebc 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleTabComplete(this); } diff --git a/java/src/game/packet/S43PacketUpdateEntityNBT.java b/java/src/game/packet/S43PacketUpdateEntityNBT.java index 17c18f5..d069803 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityNBT(this); } diff --git a/java/src/game/packet/SPacketAnimation.java b/java/src/game/packet/SPacketAnimation.java index 8680eeb..0593b16 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleAnimation(this); } diff --git a/java/src/game/packet/SPacketBiomes.java b/java/src/game/packet/SPacketBiomes.java index adf8658..5edc5d6 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleBiomes(this); } diff --git a/java/src/game/packet/SPacketBlockAction.java b/java/src/game/packet/SPacketBlockAction.java index dac7d53..3a5bfb8 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleBlockAction(this); } diff --git a/java/src/game/packet/SPacketBlockBreakAnim.java b/java/src/game/packet/SPacketBlockBreakAnim.java index 619125d..13c487f 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleBlockBreakAnim(this); } diff --git a/java/src/game/packet/SPacketBlockChange.java b/java/src/game/packet/SPacketBlockChange.java index 5da0a52..3924844 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleBlockChange(this); } diff --git a/java/src/game/packet/SPacketCamera.java b/java/src/game/packet/SPacketCamera.java index 1fd9d6f..8b8c932 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleCamera(this); } diff --git a/java/src/game/packet/SPacketChunkData.java b/java/src/game/packet/SPacketChunkData.java index 4b10e77..7e62e3a 100755 --- a/java/src/game/packet/SPacketChunkData.java +++ b/java/src/game/packet/SPacketChunkData.java @@ -5,13 +5,13 @@ import java.util.List; import game.collect.Lists; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; 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; @@ -58,7 +58,7 @@ public class SPacketChunkData implements Packet /** * Passes this Packet on to the NetHandler for processing. */ - public void processPacket(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleChunkData(this); } diff --git a/java/src/game/packet/SPacketCollectItem.java b/java/src/game/packet/SPacketCollectItem.java index fab156c..b6103e9 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleCollectItem(this); } diff --git a/java/src/game/packet/SPacketDestroyEntities.java b/java/src/game/packet/SPacketDestroyEntities.java index 61ee471..2124150 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleDestroyEntities(this); } diff --git a/java/src/game/packet/SPacketDimensionName.java b/java/src/game/packet/SPacketDimensionName.java index fad500a..6f9110b 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleDimName(this); } diff --git a/java/src/game/packet/SPacketDisconnect.java b/java/src/game/packet/SPacketDisconnect.java index 5129d51..640a002 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleDisconnect(this); } diff --git a/java/src/game/packet/SPacketEntityEquipment.java b/java/src/game/packet/SPacketEntityEquipment.java index 5c80553..07425c7 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityEquipment(this); } diff --git a/java/src/game/packet/SPacketEntityVelocity.java b/java/src/game/packet/SPacketEntityVelocity.java index 39f9ef0..5cb59bb 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleEntityVelocity(this); } diff --git a/java/src/game/packet/SPacketHeldItemChange.java b/java/src/game/packet/SPacketHeldItemChange.java index 6c1c5fd..b0b8e37 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleHeldItemChange(this); } diff --git a/java/src/game/packet/SPacketJoinGame.java b/java/src/game/packet/SPacketJoinGame.java index d1a6387..3bb18b5 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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; @@ -34,7 +34,7 @@ public class SPacketJoinGame implements Packet { buf.writeShort(this.type & 65535); } - public void processPacket(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleJoinGame(this); } diff --git a/java/src/game/packet/SPacketKeepAlive.java b/java/src/game/packet/SPacketKeepAlive.java index 6a26c4c..9fb15cd 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.NetHandlerPlayClient; +import game.network.ClientPlayer; -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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleKeepAlive(this); } diff --git a/java/src/game/packet/SPacketMapChunkBulk.java b/java/src/game/packet/SPacketMapChunkBulk.java index 6686330..e8948ab 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleMapChunkBulk(this); } diff --git a/java/src/game/packet/SPacketMessage.java b/java/src/game/packet/SPacketMessage.java index 06055ab..52bfa0f 100755 --- a/java/src/game/packet/SPacketMessage.java +++ b/java/src/game/packet/SPacketMessage.java @@ -2,33 +2,45 @@ package game.packet; import java.io.IOException; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; 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; + } + private String message; + private Type type; public SPacketMessage() { } - public SPacketMessage(String message) { + public SPacketMessage(String message, Type type) { this.message = message; + this.type = type; } public void readPacketData(PacketBuffer buf) throws IOException { this.message = buf.readStringFromBuffer(32767); + this.type = buf.readEnumValue(Type.class); } public void writePacketData(PacketBuffer buf) throws IOException { buf.writeString(this.message); + buf.writeEnumValue(this.type); } - public void processPacket(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleMessage(this); } public String getMessage() { return this.message; } + + public Type getType() { + return this.type; + } } diff --git a/java/src/game/packet/SPacketMultiBlockChange.java b/java/src/game/packet/SPacketMultiBlockChange.java index f25d2ce..47f8622 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleMultiBlockChange(this); } diff --git a/java/src/game/packet/SPacketPlayerPosLook.java b/java/src/game/packet/SPacketPlayerPosLook.java index 5a41698..1458e9d 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handlePlayerPosLook(this); } diff --git a/java/src/game/packet/SPacketRespawn.java b/java/src/game/packet/SPacketRespawn.java index f0a3012..c94d4bb 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.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketRespawn implements Packet +public class SPacketRespawn implements Packet { private NBTTagCompound dimension; private int type; @@ -23,7 +23,7 @@ public class SPacketRespawn implements Packet this.type = type; } - public void processPacket(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleRespawn(this); } diff --git a/java/src/game/packet/SPacketSetExperience.java b/java/src/game/packet/SPacketSetExperience.java index ad528bb..de31d5f 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSetExperience(this); } diff --git a/java/src/game/packet/SPacketSkin.java b/java/src/game/packet/SPacketSkin.java index 895ed0e..546b913 100755 --- a/java/src/game/packet/SPacketSkin.java +++ b/java/src/game/packet/SPacketSkin.java @@ -3,13 +3,13 @@ package game.packet; import java.io.IOException; import game.entity.Entity; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.renderer.texture.EntityTexManager; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSkin(this); } diff --git a/java/src/game/packet/SPacketSpawnMob.java b/java/src/game/packet/SPacketSpawnMob.java index 36350f1..2fa62b3 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSpawnMob(this); } diff --git a/java/src/game/packet/SPacketSpawnObject.java b/java/src/game/packet/SPacketSpawnObject.java index ae9f5a0..aa697dd 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSpawnObject(this); } diff --git a/java/src/game/packet/SPacketSpawnPlayer.java b/java/src/game/packet/SPacketSpawnPlayer.java index 2471577..2f989f3 100755 --- a/java/src/game/packet/SPacketSpawnPlayer.java +++ b/java/src/game/packet/SPacketSpawnPlayer.java @@ -8,13 +8,13 @@ import game.entity.npc.EntityNPC; import game.init.EntityRegistry; import game.init.ItemRegistry; import game.item.ItemStack; -import game.network.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.renderer.texture.EntityTexManager; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleSpawnPlayer(this); } diff --git a/java/src/game/packet/SPacketTimeUpdate.java b/java/src/game/packet/SPacketTimeUpdate.java index 91c1af2..06e5ec1 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.NetHandlerPlayClient; +import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; -public class SPacketTimeUpdate implements Packet { +public class SPacketTimeUpdate implements Packet { // private long totalWorldTime; private long worldTime; @@ -28,7 +28,7 @@ public class SPacketTimeUpdate implements Packet { buf.writeLong(this.worldTime); } - public void processPacket(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleTimeUpdate(this); } diff --git a/java/src/game/packet/SPacketTrades.java b/java/src/game/packet/SPacketTrades.java index 98c93e8..98ea171 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) + public void processPacket(ClientPlayer handler) { handler.handleTrades(this); } diff --git a/java/src/game/packet/SPacketUpdateHealth.java b/java/src/game/packet/SPacketUpdateHealth.java index 1cb8742..059c8a1 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleUpdateHealth(this); } diff --git a/java/src/game/packet/SPacketWorld.java b/java/src/game/packet/SPacketWorld.java index e319d73..0f8ff25 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.NetHandlerPlayClient; +import game.network.ClientPlayer; 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(NetHandlerPlayClient handler) { + public void processPacket(ClientPlayer handler) { handler.handleWorld(this); } diff --git a/java/src/game/renderer/entity/Render.java b/java/src/game/renderer/entity/Render.java index 026b50d..2d523f0 100755 --- a/java/src/game/renderer/entity/Render.java +++ b/java/src/game/renderer/entity/Render.java @@ -19,7 +19,7 @@ import game.world.World; public abstract class Render { - public static boolean drawNames = true; +// public static boolean drawNames = true; // private static final String shadowTextures = "textures/world/shadow.png"; protected final RenderManager renderManager; @@ -310,7 +310,7 @@ public abstract class Render protected void renderLivingLabel(T entityIn, String str, double x, double y, double z, int maxDistance) { double d0 = entityIn.getDistanceSqToEntity(this.renderManager.livingPlayer); - if (d0 <= (double)(maxDistance * maxDistance) && drawNames) { + if (d0 <= (double)(maxDistance * maxDistance) && this.renderManager.gm.canRenderHud()) { // WCF.glPushMatrix(); // WCF.glTranslatef((float)x, (float)y + entityIn.height + 0.5f, (float)z); // float f = 1.0f / 64.0f; diff --git a/java/src/game/world/WorldServer.java b/java/src/game/world/WorldServer.java index 67dc997..b94763e 100755 --- a/java/src/game/world/WorldServer.java +++ b/java/src/game/world/WorldServer.java @@ -44,7 +44,7 @@ import game.nbt.NBTLoader; import game.nbt.NBTTagCompound; import game.nbt.NBTTagInt; import game.nbt.NBTTagList; -import game.network.NetHandlerPlayServer; +import game.network.Player; import game.network.Packet; import game.packet.S1APacketEntityStatus; import game.packet.S27PacketExplosion; @@ -1691,7 +1691,7 @@ public final class WorldServer extends World { public void sendBlockBreakProgress(int breakerId, BlockPos pos, int progress) { - for (NetHandlerPlayServer conn : this.server.getPlayers()) + for (Player conn : this.server.getPlayers()) { EntityNPC player = conn.getEntity(); if (player != null && player.worldObj == this && player.getId() != breakerId)