commands, camera, messages, overlay, ..

This commit is contained in:
Sen 2025-03-26 12:22:32 +01:00
parent 75f91dbf4c
commit d45cd7ec2c
126 changed files with 854 additions and 628 deletions

View file

@ -80,6 +80,7 @@ import game.init.BlockRegistry;
import game.init.Config; import game.init.Config;
import game.init.EntityRegistry; import game.init.EntityRegistry;
import game.init.ItemRegistry; import game.init.ItemRegistry;
import game.init.Items;
import game.init.Registry; import game.init.Registry;
import game.init.SoundEvent; import game.init.SoundEvent;
import game.inventory.InventoryPlayer; import game.inventory.InventoryPlayer;
@ -87,7 +88,6 @@ import game.item.Item;
import game.item.ItemBlock; import game.item.ItemBlock;
import game.item.ItemControl; import game.item.ItemControl;
import game.item.ItemStack; import game.item.ItemStack;
import game.log.ConsolePos;
import game.log.Log; import game.log.Log;
import game.log.LogLevel; import game.log.LogLevel;
import game.log.Message; import game.log.Message;
@ -96,8 +96,8 @@ import game.model.ModelManager;
import game.network.IThreadListener; import game.network.IThreadListener;
import game.network.NetConnection; import game.network.NetConnection;
import game.network.NetHandler.ThreadQuickExitException; import game.network.NetHandler.ThreadQuickExitException;
import game.network.NetHandlerLoginClient; import game.network.ClientLoginHandler;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.PlayerController; import game.network.PlayerController;
import game.packet.CPacketAction; import game.packet.CPacketAction;
import game.packet.CPacketAction.Action; 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) { 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 Thread clThread = Thread.currentThread();
private final Map<String, CVar> cvars = Maps.newTreeMap(); private final Map<String, CVar> cvars = Maps.newTreeMap();
private final Map<Keysym, DebugFunction> debug = Maps.newTreeMap(); private final Map<Keysym, DebugFunction> debug = Maps.newTreeMap();
private final List<Message> log = Lists.newArrayList(); private final List<Message> console = Lists.newArrayList();
private final List<Message> chat = Lists.newArrayList();
private final List<Message> feed = Lists.newArrayList();
private final List<Message> hotbar = Lists.newArrayList();
private final File config = new File(System.getProperty("config.file", "game.cfg")); private final File config = new File(System.getProperty("config.file", "game.cfg"));
private boolean primary; private boolean primary;
private boolean secondary; private boolean secondary;
private boolean tertiary; private boolean tertiary;
private boolean quarternary; private boolean quarternary;
private boolean cameraUsed;
public boolean jump; public boolean jump;
public boolean sneak; public boolean sneak;
public boolean debugCamEnable; public boolean debugCamEnable;
@ -343,15 +365,21 @@ public class Game implements IThreadListener {
public DisplayMode vidMode; public DisplayMode vidMode;
@Variable(name = "gui_dclick_delay", category = CVarCategory.INPUT, min = 150, max = 750, display = "Doppelklick bei", unit = "ms") @Variable(name = "gui_dclick_delay", category = CVarCategory.INPUT, min = 150, max = 750, display = "Doppelklick bei", unit = "ms")
public int dclickDelay = 250; public int dclickDelay = 250;
@Variable(name = "con_size", category = CVarCategory.CONSOLE, min = 0, max = 128, callback = ConFunction.class, display = "Nachrichten im Overlay") @Variable(name = "console_size", category = CVarCategory.CONSOLE, min = 0, max = 128, callback = ConsoleFunction.class, display = "Nachrichten in der Konsole")
public int hudSize = 32; public int consoleSize = 32;
@Variable(name = "con_fadeout", category = CVarCategory.CONSOLE, min = 100, max = 60000, display = "Dauer bis zum Ausblenden", unit = "ms") @Variable(name = "chat_size", category = CVarCategory.CONSOLE, min = 0, max = 128, callback = ChatFunction.class, display = "Nachrichten im Chat")
public int hudFadeout = 5000; public int chatSize = 32;
@Variable(name = "con_overlay", category = CVarCategory.CONSOLE, display = "Konsolen-Overlay") @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; public boolean hudOverlay = true;
@Variable(name = "con_position", category = CVarCategory.CONSOLE, display = "Position des Overlays") @Variable(name = "chat_permanent", category = CVarCategory.CONSOLE, display = "Nachrichten im Chat immer einblenden")
public ConsolePos hudPos = ConsolePos.BOTTOM; public boolean chatPermanent = false;
@Variable(name = "con_opacity", category = CVarCategory.CONSOLE, min = 0x00, max = 0xff, display = "Deckkraft Hintergrund") @Variable(name = "overlay_opacity", category = CVarCategory.CONSOLE, min = 0x00, max = 0xff, display = "Deckkraft Hintergrund")
public int hudOpacity = 0x40; public int hudOpacity = 0x40;
public boolean syncLimited; public boolean syncLimited;
public boolean vsync; public boolean vsync;
@ -426,7 +454,7 @@ public class Game implements IThreadListener {
try try
{ {
connection = NetConnection.createNetworkManagerAndConnect(InetAddress.getByName(IDN.toASCII(address)), port); 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 HPacketHandshake(Config.PROTOCOL));
connection.sendPacket(new LPacketPasswordResponse(user, access, pass)); connection.sendPacket(new LPacketPasswordResponse(user, access, pass));
} }
@ -450,14 +478,14 @@ public class Game implements IThreadListener {
// this.displayGuiScreen(null); // this.displayGuiScreen(null);
SocketAddress socket = server.setLocalEndpoint(); SocketAddress socket = server.setLocalEndpoint();
NetConnection connection = NetConnection.provideLocalClient(socket); 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 HPacketHandshake(Config.PROTOCOL));
connection.sendPacket(new LPacketPasswordResponse(user, "", "")); connection.sendPacket(new LPacketPasswordResponse(user, "", ""));
this.connection = connection; this.connection = connection;
} }
public void unloadWorld() { public void unloadWorld() {
NetHandlerPlayClient netHandler = this.getNetHandler(); ClientPlayer netHandler = this.getNetHandler();
if(netHandler != null) if(netHandler != null)
netHandler.cleanup(); netHandler.cleanup();
this.debugWorld = false; this.debugWorld = false;
@ -958,8 +986,12 @@ public class Game implements IThreadListener {
Drawing.drawScaled(this, Gui.DIRT_BACKGROUND); Drawing.drawScaled(this, Gui.DIRT_BACKGROUND);
if(Bind.INFO.isDown() && (this.open == null || !(this.open.selected instanceof Textbox))) if(Bind.INFO.isDown() && (this.open == null || !(this.open.selected instanceof Textbox)))
this.drawInfo(); this.drawInfo();
if(this.hudOverlay && !(this.open instanceof GuiConsole)) if(this.hudOverlay && !(this.open instanceof GuiConsole)) {
this.drawOverlay(); 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.drawFps) { // && !(this.open instanceof GuiConsole)
if(this.drawDebug && this.open == null) { if(this.drawDebug && this.open == null) {
this.renderStats(); this.renderStats();
@ -1047,6 +1079,11 @@ public class Game implements IThreadListener {
this.screenshot = false; this.screenshot = false;
screenshot(); screenshot();
} }
if(this.cameraUsed) {
this.cameraUsed = false;
if(this.theWorld != null)
this.theWorld.setLastLightning(1, 0xffffff);
}
if(this.isDirty()) if(this.isDirty())
this.save(); this.save();
Thread.yield(); Thread.yield();
@ -1239,10 +1276,10 @@ public class Game implements IThreadListener {
boolean flag = true; boolean flag = true;
ItemStack itemstack = this.thePlayer.inventory.getCurrentItem(); ItemStack itemstack = this.thePlayer.inventory.getCurrentItem();
// if (itemstack != null && itemstack.getItem() == Items.camera) if (itemstack != null && itemstack.getItem() == Items.camera && !this.saving)
// { {
// this.makeScreenshot(); this.screenshot = this.cameraUsed = true;
// } }
if (this.pointed == null) 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; return this.thePlayer != null ? this.thePlayer.sendQueue : null;
} }
@ -1809,6 +1846,10 @@ public class Game implements IThreadListener {
return null; return null;
} }
public boolean canRenderHud() {
return (this.showHud || this.open != null) && !this.cameraUsed;
}
public boolean shift() { public boolean shift() {
return Bind.isWindowActive() && (Keysym.LEFT_SHIFT.read() || Keysym.RIGHT_SHIFT.read()); return Bind.isWindowActive() && (Keysym.LEFT_SHIFT.read() || Keysym.RIGHT_SHIFT.read());
} }
@ -2109,7 +2150,8 @@ public class Game implements IThreadListener {
PerfSection.RENDER.enter(); PerfSection.RENDER.enter();
this.render(); this.render();
PerfSection.GUI.enter(); PerfSection.GUI.enter();
this.renderHud(); if(this.canRenderHud())
this.renderHud();
PerfSection.REST.enter(); PerfSection.REST.enter();
this.finish(); this.finish();
PerfSection.SWAP.enter(); PerfSection.SWAP.enter();
@ -2259,7 +2301,7 @@ public class Game implements IThreadListener {
Game.this.schedule(new Runnable() { Game.this.schedule(new Runnable() {
public void run() { public void run() {
Game.this.saving = false; 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) { public void restartSound(boolean load) {
Log.CONSOLE.user("Lade Sound-System neu"); Game.this.logFeed("Lade Sound-System neu");
this.soundManager.unload(); this.soundManager.unload();
if(audio.end()) if(audio.end())
Log.SOUND.info("Audiogerät geschlossen"); Log.SOUND.info("Audiogerät geschlossen");
this.startSound(load); this.startSound(load);
Log.CONSOLE.user("Das Sound-System wurde neu geladen"); Game.this.logFeed("Das Sound-System wurde neu geladen");
} }
public AudioInterface getAudioInterface() { public AudioInterface getAudioInterface() {
@ -2444,74 +2486,74 @@ public class Game implements IThreadListener {
}); });
this.registerDebug(Keysym.E, "Gegenstands-Cheat-Menü umschalten", new DebugRunner() { this.registerDebug(Keysym.E, "Gegenstands-Cheat-Menü umschalten", new DebugRunner() {
public void execute(Keysym key) { 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) if(Game.this.open instanceof GuiContainer)
Game.this.open.init(); Game.this.open.init();
} }
}); });
this.registerDebug(Keysym.L, "Maximale Helligkeit umschalten", new DebugRunner() { this.registerDebug(Keysym.L, "Maximale Helligkeit umschalten", new DebugRunner() {
public void execute(Keysym key) { 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() { this.registerDebug(Keysym.J, "JVM GC ausführen", new DebugRunner() {
public void execute(Keysym key) { 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(); long mem = Runtime.getRuntime().freeMemory();
System.gc(); System.gc();
System.gc(); System.gc();
mem = Runtime.getRuntime().freeMemory() - mem; mem = Runtime.getRuntime().freeMemory() - mem;
mem = mem < 0L ? 0L : 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() { this.registerDebug(Keysym.B, "Hitbox-Overlay umschalten", new DebugRunner() {
public void execute(Keysym key) { public void execute(Keysym key) {
Game.this.getRenderManager().setDebugBoundingBox(!Game.this.getRenderManager().isDebugBoundingBox()); 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() { this.registerDebug(Keysym.K, "Debug-Kamera in 3. Person umschalten", new DebugRunner() {
public void execute(Keysym key) { 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() { this.registerDebug(Keysym.X, "Röntgenblick umschalten", new DebugRunner() {
public void execute(Keysym key) { public void execute(Keysym key) {
Game.this.xrayActive ^= true; Game.this.xrayActive ^= true;
Game.this.renderGlobal.loadRenderers(); 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() { this.registerDebug(Keysym.O, "Objekt-Overlay umschalten", new DebugRunner() {
public void execute(Keysym key) { 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() { this.registerDebug(Keysym.I, "Block-Objekt-Overlay umschalten", new DebugRunner() {
public void execute(Keysym key) { 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() { this.registerDebug(Keysym.Y, "Alle Chunks neu kompilieren", new DebugRunner() {
public void execute(Keysym key) { public void execute(Keysym key) {
Log.CONSOLE.user("Kompiliere alle Chunks neu"); Game.this.logFeed("Kompiliere alle Chunks neu");
Game.this.renderGlobal.loadRenderers(); 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() { this.registerDebug(Keysym.T, "Alle Texturen neu laden", new DebugRunner() {
public void execute(Keysym key) { public void execute(Keysym key) {
Log.CONSOLE.user("Lade Texturen neu"); Game.this.logFeed("Lade Texturen neu");
Game.this.refreshResources(); 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() { this.registerDebug(Keysym.S, "Alle Sounds neu laden", new DebugRunner() {
public void execute(Keysym key) { public void execute(Keysym key) {
Log.CONSOLE.user("Lade Sounds neu"); Game.this.logFeed("Lade Sounds neu");
Game.this.restartSound(true); 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() { this.registerDebug(Keysym.W, "Server-Tick-Limit umschalten (Welt beschleunigen / Warpmodus)", new DebugRunner() {
@ -2549,7 +2591,7 @@ public class Game implements IThreadListener {
} }
else { else {
this.lastUsed = System.currentTimeMillis(); 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() { this.registerDebug(Keysym.UE, "Spieler in Overlay umschalten", new DebugRunner() {
public void execute(Keysym key) { 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) { private void printVar(CVar cv) {
String values = cv.getValues(); 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(), "[" + 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 + "]" : ""); values != null ? " [" + TextColor.LGRAY + values + TextColor.DGRAY + "]" : "");
} }
@ -2948,7 +2990,7 @@ public class Game implements IThreadListener {
for(CVar cv : cvars.values()) { for(CVar cv : cvars.values()) {
printVar(cv); 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); // this.command(line);
return; return;
} }
@ -2958,16 +3000,16 @@ public class Game implements IThreadListener {
CVar cv = getVar(space >= 0 ? tok.substring(0, space) : tok); CVar cv = getVar(space >= 0 ? tok.substring(0, space) : tok);
if(cv != null) { if(cv != null) {
if(space < 0 || space >= tok.trim().length()) { 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; return;
} }
String value = tok.substring(space + 1).trim(); String value = tok.substring(space + 1).trim();
if(cv.parse(value)) { if(cv.parse(value)) {
cfgDirty = true; cfgDirty = true;
Log.CONSOLE.user("%s -> %s", cv.getCVarName(), cv.format()); this.logConsole("%s -> %s", cv.getCVarName(), cv.format());
} }
else { 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; return;
} }
@ -2979,16 +3021,35 @@ public class Game implements IThreadListener {
} }
public void reset() { public void reset() {
buffer = TextColor.NEON + "*** " + Config.VERSION + " ***"; this.buffer = TextColor.NEON + "*** " + Config.VERSION + " ***";
log.clear(); this.console.clear();
this.chat.clear();
this.feed.clear();
this.hotbar.clear();
} }
public void resize(int size) { private void resize(List<Message> log, int size) {
while(log.size() > this.hudSize) { while(log.size() > size) {
log.remove(log.size() - 1); 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) { public void log(String prefixed, String line) {
String msg = this.conTimestamps ? prefixed : line; String msg = this.conTimestamps ? prefixed : line;
// this.addMessage(msg); // this.addMessage(msg);
@ -3001,24 +3062,68 @@ public class Game implements IThreadListener {
if(this.open instanceof GuiConsole) { if(this.open instanceof GuiConsole) {
((GuiConsole)this.open).setLog(buffer); ((GuiConsole)this.open).setLog(buffer);
} }
if(this.hudSize > 0) { }
Message lmsg = new Message(line, Timing.tmr_current);
while(log.size() >= this.hudSize) { private void addMessage(List<Message> log, int size, String msg) {
log.remove(log.size() - 1); 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() { private void drawOverlay(List<Message> log, int size, boolean up, int align, int x, int y) {
if(this.hudSize > 0) { if(size > 0) {
long fade = 1000L * (long)this.hudFadeout; long fade = 1000000L * (long)this.hudFadeout;
int y = this.hudPos == ConsolePos.BOTTOM ? this.fb_y - Font.YGLYPH : 0; int bg = (this.hudOpacity << 24) | 0x000000;
y = up ? y - Font.YGLYPH : y;
for(Iterator<Message> iter = log.iterator(); iter.hasNext();) { for(Iterator<Message> iter = log.iterator(); iter.hasNext();) {
Message msg = iter.next(); Message msg = iter.next();
if((Timing.tmr_current - msg.time) <= fade) { if((Timing.tmr_current - msg.time) <= fade || (log == this.chat && this.chatPermanent)) {
Drawing.drawTextbox(msg.message, 0, y, (this.hudOpacity << 24) | 0x000000); if(align > 0)
y += this.hudPos == ConsolePos.BOTTOM ? -(Font.YGLYPH) : Font.YGLYPH; 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 { else {
iter.remove(); iter.remove();
@ -3088,7 +3193,7 @@ public class Game implements IThreadListener {
*/ */
public void drawInfo() { public void drawInfo() {
NetHandlerPlayClient netHandler = this.getNetHandler(); ClientPlayer netHandler = this.getNetHandler();
if(netHandler != null) { if(netHandler != null) {
Set<Entry<String, Integer>> list = netHandler.getPlayerList(); Set<Entry<String, Integer>> list = netHandler.getPlayerList();
int size = list.size(); int size = list.size();

View file

@ -41,9 +41,9 @@ import game.network.IThreadListener;
import game.network.LazyLoadBase; import game.network.LazyLoadBase;
import game.network.NetConnection; import game.network.NetConnection;
import game.network.NetHandler.ThreadQuickExitException; import game.network.NetHandler.ThreadQuickExitException;
import game.network.NetHandlerHandshakeMemory; import game.network.HandshakeHandlerMemory;
import game.network.NetHandlerHandshakeTCP; import game.network.HandshakeHandlerTCP;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketDecoder; import game.network.PacketDecoder;
import game.network.PacketEncoder; import game.network.PacketEncoder;
@ -99,8 +99,8 @@ public final class Server implements Runnable, IThreadListener {
private final Thread serverThread; private final Thread serverThread;
private final List<NetConnection> clients = Collections.<NetConnection>synchronizedList(Lists.<NetConnection>newArrayList()); private final List<NetConnection> clients = Collections.<NetConnection>synchronizedList(Lists.<NetConnection>newArrayList());
private final List<NetHandlerPlayServer> players = Lists.<NetHandlerPlayServer>newArrayList(); private final List<Player> players = Lists.<Player>newArrayList();
private final Map<String, NetHandlerPlayServer> usermap = Maps.<String, NetHandlerPlayServer>newHashMap(); private final Map<String, Player> usermap = Maps.<String, Player>newHashMap();
private final Queue<FutureTask<?>> queue = new ArrayDeque<FutureTask<?>>(); private final Queue<FutureTask<?>> queue = new ArrayDeque<FutureTask<?>>();
private final long[] tickTimes = new long[100]; private final long[] tickTimes = new long[100];
private final Map<Integer, WorldServer> dimensions = Maps.newTreeMap(); private final Map<Integer, WorldServer> dimensions = Maps.newTreeMap();
@ -168,7 +168,7 @@ public final class Server implements Runnable, IThreadListener {
for(int i = 0; i < list.length; ++i) { for(int i = 0; i < list.length; ++i) {
if(list[i].endsWith(".nbt")) { if(list[i].endsWith(".nbt")) {
list[i] = list[i].substring(0, list[i].length() - 4); 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) if(player != null)
list[i] = player.getUser(); list[i] = player.getUser();
} }
@ -188,7 +188,7 @@ public final class Server implements Runnable, IThreadListener {
} }
public Position getOfflinePosition(String user) { public Position getOfflinePosition(String user) {
if(this.debug || !NetHandlerPlayServer.isValidUser(user)) if(this.debug || !Player.isValidUser(user))
return null; return null;
NBTTagCompound tag = null; NBTTagCompound tag = null;
try { try {
@ -532,11 +532,11 @@ public final class Server implements Runnable, IThreadListener {
return list; return list;
} }
public List<NetHandlerPlayServer> getPlayers() { public List<Player> getPlayers() {
return this.players; return this.players;
} }
public NetHandlerPlayServer getPlayer(String user) { public Player getPlayer(String user) {
return this.usermap.get(user.toLowerCase()); 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) { public String addPlayer(NetConnection connection, String loginUser, String loginPass) {
NBTTagCompound tag = this.readPlayer(loginUser); NBTTagCompound tag = this.readPlayer(loginUser);
NetHandlerPlayServer conn = new NetHandlerPlayServer(this, connection, loginUser); Player conn = new Player(this, connection, loginUser);
if(tag != null) if(tag != null)
conn.readFromNBT(tag); conn.readFromNBT(tag);
if(!connection.isLocalChannel()) { if(!connection.isLocalChannel()) {
@ -699,7 +699,7 @@ public final class Server implements Runnable, IThreadListener {
this.preparePlayer(player, null); this.preparePlayer(player, null);
for(int i = 0; i < this.players.size(); ++i) { 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 S38PacketPlayerListItem(false, other));
} }
conn.sendPacket(new SPacketSkin(player.getId(), player.getSkin())); // , player.getModel())); conn.sendPacket(new SPacketSkin(player.getId(), player.getSkin())); // , player.getModel()));
@ -714,7 +714,7 @@ public final class Server implements Runnable, IThreadListener {
return null; return null;
} }
public void removePlayer(NetHandlerPlayServer conn) { public void removePlayer(Player conn) {
EntityNPC player = conn.getEntity(); EntityNPC player = conn.getEntity();
player.unmount(); player.unmount();
this.writePlayer(conn); this.writePlayer(conn);
@ -752,7 +752,7 @@ public final class Server implements Runnable, IThreadListener {
return tag; return tag;
} }
private void writePlayer(NetHandlerPlayServer conn) { private void writePlayer(Player conn) {
if(this.debug) if(this.debug)
return; return;
try { 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(); EntityNPC old = conn.getEntity();
BlockPos pos = old.getPosition(); BlockPos pos = old.getPosition();
old.getServerWorld().removePlayerFromTrackers(old); old.getServerWorld().removePlayerFromTrackers(old);
@ -830,12 +830,12 @@ public final class Server implements Runnable, IThreadListener {
nplayer.setHealth(nplayer.getHealth()); nplayer.setHealth(nplayer.getHealth());
conn.sendPlayerAbilities(); conn.sendPlayerAbilities();
if(message != null) 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(), conn.addFeed(TextColor.RED + "* Bei %d, %d, %d in Dimension %s gestorben", pos.getX(), pos.getY(), pos.getZ(),
old.worldObj.dimension.getFormattedName(false)); old.worldObj.dimension.getFormattedName(false));
} }
public void swapPlayer(NetHandlerPlayServer conn, NBTTagCompound tag) { public void swapPlayer(Player conn, NBTTagCompound tag) {
EntityNPC old = conn.getEntity(); EntityNPC old = conn.getEntity();
old.unmount(); old.unmount();
NBTTagCompound oldTag = conn.getSelectedCharacter(true); NBTTagCompound oldTag = conn.getSelectedCharacter(true);
@ -939,13 +939,13 @@ public final class Server implements Runnable, IThreadListener {
} }
public void sendPacket(Packet packet) { public void sendPacket(Packet packet) {
for(NetHandlerPlayServer conn : this.players) { for(Player conn : this.players) {
conn.sendPacket(packet); conn.sendPacket(packet);
} }
} }
public void sendPacket(Packet packet, int dimension) { 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) { if(conn.getEntity() != null && conn.getEntity().worldObj.dimension.getDimensionId() == dimension) {
conn.sendPacket(packet); 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) { 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(); EntityNPC player = conn.getEntity();
if(player != null && player != except && player.worldObj.dimension.getDimensionId() == dimension) { if(player != null && player != except && player.worldObj.dimension.getDimensionId() == dimension) {
double dx = x - player.posX; double dx = x - player.posX;
@ -976,13 +976,13 @@ public final class Server implements Runnable, IThreadListener {
if(message) { if(message) {
Log.JNI.info("Speichere Spielerdaten"); Log.JNI.info("Speichere Spielerdaten");
} }
for(NetHandlerPlayServer conn : this.players) { for(Player conn : this.players) {
this.writePlayer(conn); this.writePlayer(conn);
} }
// this.saveUsers(); // 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 SPacketTimeUpdate(world.getDayTime()));
conn.sendPacket(new S2BPacketChangeGameState(S2BPacketChangeGameState.Action.SET_WEATHER, world.getWeather().getID())); conn.sendPacket(new S2BPacketChangeGameState(S2BPacketChangeGameState.Action.SET_WEATHER, world.getWeather().getID()));
conn.sendPacket(new S2BPacketChangeGameState(S2BPacketChangeGameState.Action.RAIN_STRENGTH, world.getRainStrength())); 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(); NetConnection manager = new NetConnection();
Server.this.clients.add(manager); Server.this.clients.add(manager);
channel.pipeline().addLast((String)"packet_handler", (ChannelHandler)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(); }).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<Channel>() { this.localEndpoint = ((ServerBootstrap)((ServerBootstrap)(new ServerBootstrap()).channel(LocalServerChannel.class)).childHandler(new ChannelInitializer<Channel>() {
protected void initChannel(Channel channel) throws Exception { protected void initChannel(Channel channel) throws Exception {
NetConnection manager = new NetConnection(); NetConnection manager = new NetConnection();
manager.setNetHandler(new NetHandlerHandshakeMemory(Server.this, manager)); manager.setNetHandler(new HandshakeHandlerMemory(Server.this, manager));
Server.this.clients.add(manager); Server.this.clients.add(manager);
channel.pipeline().addLast((String)"packet_handler", (ChannelHandler)manager); channel.pipeline().addLast((String)"packet_handler", (ChannelHandler)manager);
} }
@ -1045,7 +1045,7 @@ public final class Server implements Runnable, IThreadListener {
} }
private void unsetLanEndpoint() { private void unsetLanEndpoint() {
for(NetHandlerPlayServer conn : Lists.newArrayList(this.players)) { for(Player conn : Lists.newArrayList(this.players)) {
if(!conn.isLocal()) if(!conn.isLocal())
conn.disconnect(); conn.disconnect();
} }
@ -1122,7 +1122,7 @@ public final class Server implements Runnable, IThreadListener {
this.setMessage("Stoppe server"); this.setMessage("Stoppe server");
Log.JNI.info("Beende Server"); Log.JNI.info("Beende Server");
if(this.started) if(this.started)
for(NetHandlerPlayServer conn : Lists.newArrayList(this.players)) { for(Player conn : Lists.newArrayList(this.players)) {
conn.disconnect(); conn.disconnect();
} }
this.terminateEndpoints(true); this.terminateEndpoints(true);
@ -1157,7 +1157,7 @@ public final class Server implements Runnable, IThreadListener {
public void shutdown() { public void shutdown() {
Futures.getUnchecked(this.schedule(new Runnable() { Futures.getUnchecked(this.schedule(new Runnable() {
public void run() { 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 != null)
if(conn.isLocal()) if(conn.isLocal())
Server.this.removePlayer(conn); Server.this.removePlayer(conn);

View file

@ -67,7 +67,7 @@ public class BlockBed extends BlockDirectional {
if(player.isEntityAlive() && Math.abs(player.posX - (double)pos.getX()) <= 3.0D 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) { && 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.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.worldObj.dimension.getFormattedName(false), player.getSpawnPoint().getX(),
player.getSpawnPoint().getY(), player.getSpawnPoint().getZ()); player.getSpawnPoint().getY(), player.getSpawnPoint().getZ());
} }

View file

@ -447,7 +447,7 @@ public class BlockChest extends BlockContainer
if(stack.hasDisplayName() && stack.getDisplayName().equals(ilockablecontainer.getLockCode().getLock())) { if(stack.hasDisplayName() && stack.getDisplayName().equals(ilockablecontainer.getLockCode().getLock())) {
ilockablecontainer.setLockCode(LockCode.EMPTY_CODE); ilockablecontainer.setLockCode(LockCode.EMPTY_CODE);
// playerIn.triggerAchievement(StatRegistry.chestUnlockedStat); // 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)); playerIn.connection.sendPacket(new S29PacketSoundEffect(SoundEvent.DOOR, playerIn.posX, playerIn.posY, playerIn.posZ, 1.0F));
return true; return true;
} }
@ -455,7 +455,7 @@ public class BlockChest extends BlockContainer
else if(stack.hasDisplayName()) { else if(stack.hasDisplayName()) {
ilockablecontainer.setLockCode(new LockCode(stack.getDisplayName())); ilockablecontainer.setLockCode(new LockCode(stack.getDisplayName()));
// playerIn.triggerAchievement(StatRegistry.chestLockedStat); // 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)); playerIn.connection.sendPacket(new S29PacketSoundEffect(SoundEvent.DOOR, playerIn.posX, playerIn.posY, playerIn.posZ, 1.0F));
return true; return true;
} }

View file

@ -214,7 +214,7 @@ public class CommandEnvironment {
} }
catch(Throwable t) { catch(Throwable t) {
list.clear(); list.clear();
Log.CONSOLE.error(t, "Konnte Befehl nicht vervollständigen"); Log.CONSOLE.error(t, "Konnte Befehl '%s' nicht vervollständigen", cmd);
} }
finally { finally {
this.currentExecutor = null; this.currentExecutor = null;
@ -250,6 +250,7 @@ public class CommandEnvironment {
this.registerExecutable(new CommandOfflinetp()); this.registerExecutable(new CommandOfflinetp());
this.registerExecutable(new CommandWarp()); this.registerExecutable(new CommandWarp());
this.registerExecutable(new CommandTime()); this.registerExecutable(new CommandTime());
this.registerExecutable(new CommandRemove());
this.registerExecutable(new CommandHelp(this)); this.registerExecutable(new CommandHelp(this));
} }

View file

@ -8,7 +8,7 @@ import game.collect.Sets;
import game.entity.Entity; import game.entity.Entity;
import game.entity.types.EntityLiving; import game.entity.types.EntityLiving;
import game.init.EntityRegistry; import game.init.EntityRegistry;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.world.WorldServer; import game.world.WorldServer;
public class EntityListParser extends EntityParser { public class EntityListParser extends EntityParser {
@ -36,7 +36,7 @@ public class EntityListParser extends EntityParser {
} }
else if(input.equals("*")) { else if(input.equals("*")) {
List<Entity> list = Lists.newArrayList(); List<Entity> list = Lists.newArrayList();
for(NetHandlerPlayServer plr : env.getServer().getPlayers()) { for(Player plr : env.getServer().getPlayers()) {
if(plr.getEntity() != null) if(plr.getEntity() != null)
list.add(plr.getEntity()); list.add(plr.getEntity());
} }

View file

@ -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<Entity> 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<String> comp = Lists.newArrayList(env.getServer().getAllUsernames());
comp.add("*");
return comp.toArray(new String[comp.size()]);
}
public Class<?> getTypeClass() {
return List.class;
}
}

View file

@ -1,7 +1,7 @@
package game.command; package game.command;
import game.entity.npc.EntityNPC; import game.entity.npc.EntityNPC;
import game.network.NetHandlerPlayServer; import game.network.Player;
public class PlayerEntityParser extends PlayerParser { public class PlayerEntityParser extends PlayerParser {
public PlayerEntityParser(String name, boolean useSender) { public PlayerEntityParser(String name, boolean useSender) {
@ -9,7 +9,7 @@ public class PlayerEntityParser extends PlayerParser {
} }
public Object parse(CommandEnvironment env, String input) { 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(); EntityNPC entity = net.getEntity();
if(entity == null) if(entity == null)
throw new RunException("Spieler-Objekt von '%s' wurde nicht gefunden", input); 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) { public Object getDefault(CommandEnvironment env) {
NetHandlerPlayServer net = (NetHandlerPlayServer)super.getDefault(env); Player net = (Player)super.getDefault(env);
return net == null ? null : net.getEntity(); return net == null ? null : net.getEntity();
} }

View file

@ -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<String> comp = Lists.newArrayList(env.getServer().getAllUsernames());
comp.add("*");
return comp.toArray(new String[comp.size()]);
}
public Class<?> getTypeClass() {
return List.class;
}
}

View file

@ -2,7 +2,7 @@ package game.command;
import java.util.List; import java.util.List;
import game.network.NetHandlerPlayServer; import game.network.Player;
public class PlayerParser extends CompletingParser { public class PlayerParser extends CompletingParser {
protected final boolean useSender; protected final boolean useSender;
@ -13,14 +13,14 @@ public class PlayerParser extends CompletingParser {
} }
public Object parse(CommandEnvironment env, String input) { public Object parse(CommandEnvironment env, String input) {
NetHandlerPlayServer net = env.getServer().getPlayer(input); Player net = env.getServer().getPlayer(input);
if(net == null) if(net == null)
throw new RunException("Spieler '%s' wurde nicht gefunden", input); throw new RunException("Spieler '%s' wurde nicht gefunden", input);
return net; return net;
} }
public Object getDefault(CommandEnvironment env) { 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) { public String[] getCompletions(CommandEnvironment env) {
@ -29,6 +29,6 @@ public class PlayerParser extends CompletingParser {
} }
public Class<?> getTypeClass() { public Class<?> getTypeClass() {
return NetHandlerPlayServer.class; return Player.class;
} }
} }

View file

@ -4,7 +4,7 @@ import game.command.CommandEnvironment;
import game.command.RunException; import game.command.RunException;
import game.command.Command; import game.command.Command;
import game.command.Executor; import game.command.Executor;
import game.network.NetHandlerPlayServer; import game.network.Player;
public class CommandAdmin extends Command { public class CommandAdmin extends Command {
public CommandAdmin() { public CommandAdmin() {
@ -13,8 +13,8 @@ public class CommandAdmin extends Command {
this.addPlayer("player", false); this.addPlayer("player", false);
} }
public void exec(CommandEnvironment env, Executor exec, NetHandlerPlayServer player) { public void exec(CommandEnvironment env, Executor exec, Player player) {
if(!(exec instanceof NetHandlerPlayServer)) if(!(exec instanceof Player))
throw new RunException("Dieser Befehl kann nur von Spielern ausgeführt werden"); throw new RunException("Dieser Befehl kann nur von Spielern ausgeführt werden");
else if(player == exec) else if(player == exec)
throw new RunException("Du kannst nicht deinen eigenen Admin-Status erneut setzen"); throw new RunException("Du kannst nicht deinen eigenen Admin-Status erneut setzen");

View file

@ -8,7 +8,7 @@ import game.command.RunException;
import game.command.StringCompleter; import game.command.StringCompleter;
import game.entity.Entity; import game.entity.Entity;
import game.init.UniverseRegistry; import game.init.UniverseRegistry;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.world.Position; import game.world.Position;
public class CommandOfflinetp extends Command { public class CommandOfflinetp extends Command {
@ -25,7 +25,7 @@ public class CommandOfflinetp extends Command {
} }
public Object exec(CommandEnvironment env, Executor exec, String user, List<Entity> entities) { public Object exec(CommandEnvironment env, Executor exec, String user, List<Entity> entities) {
NetHandlerPlayServer player = env.getServer().getPlayer(user); Player player = env.getServer().getPlayer(user);
Position pos = player != null ? player.getEntity().getPos() : env.getServer().getOfflinePosition(user); Position pos = player != null ? player.getEntity().getPos() : env.getServer().getOfflinePosition(user);
if(pos == null) if(pos == null)
throw new RunException("Spieler '%s' konnte nicht gefunden werden", user); throw new RunException("Spieler '%s' konnte nicht gefunden werden", user);

View file

@ -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<Entity> 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;
}
}

View file

@ -4,7 +4,7 @@ import game.command.CommandEnvironment;
import game.command.RunException; import game.command.RunException;
import game.command.Command; import game.command.Command;
import game.command.Executor; import game.command.Executor;
import game.network.NetHandlerPlayServer; import game.network.Player;
public class CommandRevoke extends Command { public class CommandRevoke extends Command {
public CommandRevoke() { public CommandRevoke() {
@ -13,8 +13,8 @@ public class CommandRevoke extends Command {
this.addPlayer("player", false); this.addPlayer("player", false);
} }
public void exec(CommandEnvironment env, Executor exec, NetHandlerPlayServer player) { public void exec(CommandEnvironment env, Executor exec, Player player) {
if(!(exec instanceof NetHandlerPlayServer) || !((NetHandlerPlayServer)exec).isLocal()) if(!(exec instanceof Player) || !((Player)exec).isLocal())
throw new RunException("Dieser Befehl kann nur vom Host-Spieler ausgeführt werden"); throw new RunException("Dieser Befehl kann nur vom Host-Spieler ausgeführt werden");
else if(player == exec) else if(player == exec)
throw new RunException("Du kannst nicht deinen eigenen Admin-Status entfernen"); throw new RunException("Du kannst nicht deinen eigenen Admin-Status entfernen");

View file

@ -449,7 +449,7 @@ public abstract class Entity
this.fire = 0; this.fire = 0;
} }
protected void kill() public void kill()
{ {
this.setDead(); this.setDead();
} }

View file

@ -80,8 +80,8 @@ import game.item.ItemSword;
import game.item.ItemTool; import game.item.ItemTool;
import game.nbt.NBTTagCompound; import game.nbt.NBTTagCompound;
import game.nbt.NBTTagList; import game.nbt.NBTTagList;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.packet.CPacketAction; import game.packet.CPacketAction;
import game.packet.CPacketBreak; import game.packet.CPacketBreak;
import game.packet.CPacketInput; import game.packet.CPacketInput;
@ -197,8 +197,8 @@ public abstract class EntityNPC extends EntityLiving
private int healTimer; private int healTimer;
private byte[] skin; private byte[] skin;
public NetHandlerPlayServer connection; public Player connection;
public NetHandlerPlayClient sendQueue; public ClientPlayer sendQueue;
protected Game gm; protected Game gm;
public InventoryPlayer inventory; 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); 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.initPlayer();
this.connection = connection; this.connection = connection;
this.stepHeight = 0.0F; this.stepHeight = 0.0F;
} }
public final void setClientPlayer(Game gm, NetHandlerPlayClient connection) { public final void setClientPlayer(Game gm, ClientPlayer connection) {
this.initPlayer(); this.initPlayer();
this.gm = gm; this.gm = gm;
this.sendQueue = connection; this.sendQueue = connection;

View file

@ -50,7 +50,7 @@ import game.item.ItemStack;
import game.material.Material; import game.material.Material;
import game.nbt.NBTTagCompound; import game.nbt.NBTTagCompound;
import game.nbt.NBTTagList; import game.nbt.NBTTagList;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.packet.S1BPacketEntityAttach; import game.packet.S1BPacketEntityAttach;
import game.packet.SPacketAnimation; import game.packet.SPacketAnimation;
import game.packet.SPacketCollectItem; 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) if(this.worldObj.client || Config.damageVoid)
this.attackEntityFrom(DamageSource.outOfWorld, Integer.MAX_VALUE); this.attackEntityFrom(DamageSource.outOfWorld, Integer.MAX_VALUE);
@ -2447,7 +2447,7 @@ public abstract class EntityLiving extends Entity
return; return;
String msg; String msg;
String kill; String kill;
NetHandlerPlayServer receiver = null; Player receiver = null;
if(this.combat.size() == 0) { if(this.combat.size() == 0) {
msg = kill = natural ? String.format("%s starb", this.getColoredName(TextColor.LGRAY)) : null; 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) if(receiver != null)
receiver.addFeed(kill); receiver.addFeed(kill);
if(forAll) if(forAll)
for(NetHandlerPlayServer player : ((WorldServer)this.worldObj).getServer().getPlayers()) { for(Player player : ((WorldServer)this.worldObj).getServer().getPlayers()) {
if(player != receiver) if(player != receiver)
player.addFeed(msg); player.addFeed(msg);
} }

View file

@ -29,8 +29,8 @@ public class GuiConfirm extends Gui implements ActButton.Callback {
public void init(int width, int height) { public void init(int width, int height) {
this.add(new Label(0, 0, 500, 24, this.messageLine1, true)); this.add(new Label(0, 0, 500, 24, this.messageLine1, true));
this.add(new TransparentBox(0, 80, 500, 300, this.messageLine2)); 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.confirmBtn = this.add(new ActButton(48, 500, 200, 24, this, this.confirmButtonText));
this.cancelBtn = this.add(new ActButton(252, 500, 200, 24, (ActButton.Callback)this, this.cancelButtonText)); this.cancelBtn = this.add(new ActButton(252, 500, 200, 24, this, this.cancelButtonText));
this.shift(); this.shift();
} }

View file

@ -6,7 +6,7 @@ import game.gui.element.Label;
import game.gui.element.Textbox; import game.gui.element.Textbox;
import game.gui.element.Textbox.Action; import game.gui.element.Textbox.Action;
import game.init.Config; import game.init.Config;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.vars.CVarCategory; import game.vars.CVarCategory;
import game.vars.Variable; import game.vars.Variable;
@ -31,19 +31,19 @@ public class GuiConnect extends Gui implements Textbox.Callback {
private String lastAddr = ""; private String lastAddr = "";
@Variable(name = "srv_last_port", category = CVarCategory.SYSTEM, min = 0, max = 65535, display = "Letzter Server-Port") @Variable(name = "srv_last_port", category = CVarCategory.SYSTEM, min = 0, max = 65535, display = "Letzter Server-Port")
private int lastPort = Config.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 = ""; 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 = ""; 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 = ""; private String lastAcc = "";
public void init(int width, int height) { public void init(int width, int height) {
this.addrBox = this.add(new Textbox(0, 20, 400, 24, 128, true, this, this.lastAddr)); 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.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.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, NetHandlerPlayServer.MAX_PASS_LENGTH, true, this, this.lastPass)); 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, NetHandlerPlayServer.MAX_PASS_LENGTH, true, this, this.lastAcc)); 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() { this.add(new ActButton(0, 220, 480, 24, new ActButton.Callback() {
public void use(ActButton elem, ActButton.Mode action) { public void use(ActButton elem, ActButton.Mode action) {
GuiConnect.this.connect(); GuiConnect.this.connect();

View file

@ -11,7 +11,7 @@ import game.gui.element.Fill;
import game.gui.element.Textbox; import game.gui.element.Textbox;
import game.gui.element.Textbox.Action; import game.gui.element.Textbox.Action;
import game.gui.element.TransparentBox; import game.gui.element.TransparentBox;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.packet.CPacketComplete; import game.packet.CPacketComplete;
import game.util.ExtMath; import game.util.ExtMath;
import game.vars.BoolVar; 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())); this.logBox = this.add(new TransparentBox(0, this.full ? 24 : 0, width, height - (this.full ? 48 : 24), this.gm.getBuffer()));
if(this.full) if(this.full)
this.add(new Fill(640, 0, width - 640, 24)); 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.inputField.setSelected();
this.sentHistoryCursor = this.sentMessages.size(); this.sentHistoryCursor = this.sentMessages.size();
} }

View file

@ -1,7 +1,7 @@
package game.gui; package game.gui;
import game.color.TextColor; import game.color.TextColor;
import game.gui.element.ActButton; import game.gui.element.NavButton;
import game.gui.element.TransparentBox; import game.gui.element.TransparentBox;
import game.init.Config; import game.init.Config;
import game.log.Log; import game.log.Log;
@ -126,7 +126,7 @@ public class GuiInfo extends Gui {
public void init(int width, int height) { public void init(int width, int height) {
this.add(new TransparentBox(10, 10, width - 20, height - 44, this.info)); 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() { public String getTitle() {

View file

@ -4,8 +4,10 @@ import game.color.TextColor;
import game.gui.element.ActButton; import game.gui.element.ActButton;
import game.gui.element.ActButton.Mode; import game.gui.element.ActButton.Mode;
import game.gui.element.Label; import game.gui.element.Label;
import game.gui.element.NavButton;
import game.gui.element.Textbox; import game.gui.element.Textbox;
import game.gui.element.Textbox.Action; import game.gui.element.Textbox.Action;
import game.gui.options.GuiOptions;
import game.gui.world.GuiWorlds; import game.gui.world.GuiWorlds;
import game.init.Config; import game.init.Config;
import game.renderer.Drawing; 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() { this.add(new ActButton(204, 102, 196, 24, new ActButton.Callback() {
public void use(ActButton elem, ActButton.Mode action) { public void use(ActButton elem, ActButton.Mode action) {
GuiMenu.this.gm.interrupted = true; GuiMenu.this.gm.interrupted = true;
@ -105,9 +107,9 @@ public class GuiMenu extends Gui {
this.pickSplash(); this.pickSplash();
} }
else { else {
this.add(new ActButton(0, 0, 400, 24, (Gui)null, "Zurück zum Spiel")); this.add(new NavButton(0, 0, 400, 24, null, "Zurück zum Spiel"));
this.add(new ActButton(0, 28, 198, 24, GuiOptions.getPage(), "Einstellungen")); this.add(new NavButton(0, 28, 198, 24, GuiOptions.getPage(), "Einstellungen"));
this.add(new ActButton(202, 28, 198, 24, GuiSkin.INSTANCE, "Charakter")); this.add(new NavButton(202, 28, 198, 24, GuiSkin.INSTANCE, "Charakter"));
if(!this.gm.isRemote() && !this.gm.debugWorld) { if(!this.gm.isRemote() && !this.gm.debugWorld) {
this.add(new Textbox(0, 56, 96, 24, 5, true, new Textbox.Callback() { this.add(new Textbox(0, 56, 96, 24, 5, true, new Textbox.Callback() {
public void use(Textbox elem, Action value) { public void use(Textbox elem, Action value) {

View file

@ -1,9 +1,9 @@
package game.gui; package game.gui;
import game.gui.element.ActButton; import game.gui.element.NavButton;
import game.gui.element.Textbox; import game.gui.element.Textbox;
import game.gui.element.Textbox.Action; import game.gui.element.Textbox.Action;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.packet.CPacketSign; import game.packet.CPacketSign;
import game.world.BlockPos; 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++) { 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.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(); this.shift();
} }
@ -27,7 +27,7 @@ public class GuiSign extends Gui implements Textbox.Callback {
public void onGuiClosed() { public void onGuiClosed() {
NetHandlerPlayClient nethandler = this.gm.getNetHandler(); ClientPlayer nethandler = this.gm.getNetHandler();
if(nethandler != null) { if(nethandler != null) {
for(int z = 0; z < this.lines.length; z++) { for(int z = 0; z < this.lines.length; z++) {
this.tempLines[z] = this.lines[z].getText(); this.tempLines[z] = this.lines[z].getText();

View file

@ -25,6 +25,7 @@ import game.gui.element.Element;
import game.gui.element.GuiList; import game.gui.element.GuiList;
import game.gui.element.Label; import game.gui.element.Label;
import game.gui.element.ListEntry; import game.gui.element.ListEntry;
import game.gui.element.NavButton;
import game.gui.element.Slider; import game.gui.element.Slider;
import game.gui.element.Textbox; import game.gui.element.Textbox;
import game.gui.element.Textbox.Action; import game.gui.element.Textbox.Action;
@ -32,14 +33,13 @@ import game.init.EntityRegistry;
import game.init.SpeciesRegistry; import game.init.SpeciesRegistry;
import game.init.SpeciesRegistry.ModelType; import game.init.SpeciesRegistry.ModelType;
import game.log.Log; import game.log.Log;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.packet.CPacketAction; import game.packet.CPacketAction;
import game.packet.CPacketMessage; import game.packet.CPacketMessage;
import game.packet.CPacketSkin; import game.packet.CPacketSkin;
import game.renderer.Drawing; import game.renderer.Drawing;
import game.renderer.GlState; import game.renderer.GlState;
import game.renderer.ItemRenderer; import game.renderer.ItemRenderer;
import game.renderer.entity.Render;
import game.renderer.entity.RenderManager; import game.renderer.entity.RenderManager;
import game.renderer.texture.EntityTexManager; import game.renderer.texture.EntityTexManager;
import game.renderer.texture.TextureUtil; import game.renderer.texture.TextureUtil;
@ -148,13 +148,14 @@ public class GuiSkin extends GuiList<GuiSkin.SkinEntry>
// GuiSkin.this.gm.getTextureManager().bindTexture(tex); // GuiSkin.this.gm.getTextureManager().bindTexture(tex);
GlState.enableBlend(); GlState.enableBlend();
GlState.enableDepth(); GlState.enableDepth();
Render.drawNames = false; boolean flag = GuiSkin.this.gm.showHud;
GuiSkin.this.gm.showHud = false;
EntityTexManager.altTexture = tex; EntityTexManager.altTexture = tex;
EntityTexManager.altLayer = this.dynId; EntityTexManager.altLayer = this.dynId;
EntityTexManager.altNpcLayer = this.dynId == -1 && this.charinfo != null ? this.charinfo.skin : null; EntityTexManager.altNpcLayer = this.dynId == -1 && this.charinfo != null ? this.charinfo.skin : null;
drawEntity(x + 32, y + 60, 28.0f drawEntity(x + 32, y + 60, 28.0f
/ GuiSkin.this.gm.thePlayer.getHeight(), -45.0f, -20.0f, GuiSkin.this.gm.thePlayer); / 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.altTexture = null;
EntityTexManager.altLayer = -1; EntityTexManager.altLayer = -1;
EntityTexManager.altNpcLayer = null; EntityTexManager.altNpcLayer = null;
@ -390,8 +391,8 @@ public class GuiSkin extends GuiList<GuiSkin.SkinEntry>
} }
}, "Spieler-Größe", "cm")); }, "Spieler-Größe", "cm"));
this.add(new Label(width - 400, height + 2 - 28 - 24 - 30, 390, 20, "Anzeigename", true)); 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")); 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, NetHandlerPlayServer.MAX_NICK_LENGTH, true, new Textbox.Callback() { 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) { public void use(Textbox elem, Action value) {
if(value == Action.SEND || value == Action.UNFOCUS) { if(value == Action.SEND || value == Action.UNFOCUS) {
String name = elem.getText(); String name = elem.getText();
@ -401,7 +402,7 @@ public class GuiSkin extends GuiList<GuiSkin.SkinEntry>
GuiSkin.this.gm.thePlayer.sendQueue.addToSendQueue(new CPacketMessage(CPacketMessage.Type.DISPLAY, name)); 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.convertButton1.enabled = false;
this.convertButton2.enabled = false; this.convertButton2.enabled = false;
this.templateButton.enabled = false; this.templateButton.enabled = false;

View file

@ -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);
// }
// }
}

View file

@ -1,7 +1,5 @@
package game.gui.element; package game.gui.element;
import game.Game;
import game.gui.Gui;
import game.util.Formatter; import game.util.Formatter;
import game.window.Button; import game.window.Button;
@ -28,15 +26,6 @@ public class ActButton extends Element {
this.setText(text); 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) { 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.func.use(this, (ctrl || (btn == Button.MOUSE_MIDDLE)) ? Mode.TERTIARY : ((shift || (btn == Button.MOUSE_RIGHT)) ? Mode.SECONDARY : Mode.PRIMARY));
this.formatText(); this.formatText();

View file

@ -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();
}
}

View file

@ -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;
}
}

View file

@ -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);
}
}

View file

@ -1,4 +1,4 @@
package game.gui; package game.gui.options;
import game.color.TextColor; import game.color.TextColor;
import game.gui.element.ActButton; import game.gui.element.ActButton;

View file

@ -1,4 +1,4 @@
package game.gui; package game.gui.options;
import game.color.TextColor; import game.color.TextColor;
import game.gui.element.Dropdown; 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("gl_vsync_flush", 490, 120, 440, 24);
this.addSelector("con_overlay", 30, 200, 440, 24); this.addSelector("overlay_enabled", 30, 200, 440, 24);
this.addSelector("con_opacity", 490, 200, 440, 24); this.addSelector("overlay_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("gl_fov", 30, 360, 440, 24); this.addSelector("overlay_fadeout", 30, 240, 440, 24);
this.distanceSlider = this.addSelector("chunk_view_distance", 30, 400, 440, 24); this.addSelector("chat_permanent", 490, 240, 440, 24);
this.addSelector("chunk_build_time", 490, 400, 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); super.init(width, height);
} }

View file

@ -1,7 +1,8 @@
package game.gui; package game.gui.options;
import game.gui.element.ActButton; import game.gui.Gui;
import game.gui.element.SelectedButton; import game.gui.GuiMenu;
import game.gui.element.NavButton;
public abstract class GuiOptions extends Gui { public abstract class GuiOptions extends Gui {
private static final GuiOptions[] PAGES = {lastPage = new GuiBinds(), new GuiStyle(), new GuiDisplay(), new GuiSound()}; 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 x = 0;
int y = 0; int y = 0;
for(GuiOptions gui : PAGES) { for(GuiOptions gui : PAGES) {
this.add(gui == this ? new SelectedButton(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 ActButton(240 * x, 24 * y, 240, 24, gui, gui.getTitle())); new NavButton(240 * x, 24 * y, 240, 24, gui, gui.getTitle()));
if(++x == 4) { if(++x == 4) {
x = 0; x = 0;
++y; ++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"));
} }
} }

View file

@ -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";
}
}

View file

@ -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;
import game.gui.element.ActButton.Mode; import game.gui.element.ActButton.Mode;
import game.gui.element.Dropdown; import game.gui.element.Dropdown;
import game.gui.element.Element; import game.gui.element.Element;
import game.gui.element.SelectedButton; import game.gui.element.SelectableButton;
import game.gui.element.Slider; import game.gui.element.Slider;
import game.gui.element.Switch; import game.gui.element.Switch;
import game.gui.element.Textbox; import game.gui.element.Textbox;
@ -61,14 +62,14 @@ public class GuiStyle extends GuiOptions implements Dropdown.Callback<String>, A
} }
} }
}; };
this.add(theme == this.gm.style ? new SelectedButton(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 ActButton(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++; z++;
} }
String[] values = new String[] {"VALUE 1", "VALUE 2"}; 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 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(650, height - 74, 140, 24, false, true, this, "TOGGLE"));
this.add(new Toggle(810, height - 74, 140, 24, true, false, 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"}; values = new String[] {"VALUE 1", "VALUE 2", "VALUE 3", "VALUE 4"};

View file

@ -10,6 +10,7 @@ import game.gui.Gui;
import game.gui.element.ActButton; import game.gui.element.ActButton;
import game.gui.element.ActButton.Mode; import game.gui.element.ActButton.Mode;
import game.gui.element.Label; import game.gui.element.Label;
import game.gui.element.NavButton;
import game.gui.element.Textbox; import game.gui.element.Textbox;
import game.gui.element.Textbox.Action; import game.gui.element.Textbox.Action;
import game.gui.element.TransparentBox; import game.gui.element.TransparentBox;
@ -18,7 +19,7 @@ import game.init.UniverseRegistry;
import game.log.Log; import game.log.Log;
import game.nbt.NBTLoader; import game.nbt.NBTLoader;
import game.nbt.NBTTagCompound; import game.nbt.NBTTagCompound;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.rng.Random; import game.rng.Random;
import game.util.Util; import game.util.Util;
import game.world.Region; import game.world.Region;
@ -210,13 +211,13 @@ public class GuiCreate extends Gui implements ActButton.Callback, Textbox.Callba
UniverseRegistry.clear(); UniverseRegistry.clear();
this.alreadyGenerated = false; this.alreadyGenerated = false;
this.dimension = Integer.MAX_VALUE; this.dimension = Integer.MAX_VALUE;
this.createButton = this.add(new ActButton(0, 340, 160, 24, (ActButton.Callback)this, "Welt erstellen")); this.createButton = this.add(new ActButton(0, 340, 160, 24, this, "Welt erstellen"));
this.add(new ActButton(164, 340, 160, 24, (Gui)GuiWorlds.INSTANCE, "Abbrechen")); this.add(new NavButton(164, 340, 160, 24, GuiWorlds.INSTANCE, "Abbrechen"));
this.dimButton = this.add(new ActButton(0, 220, 324, 24, (ActButton.Callback)this, "")); 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 = this.add(new Textbox(20, 40, 284, 24, 256, true, this, GuiWorlds.VALID_FILE, ""));
this.worldNameField.setSelected(); this.worldNameField.setSelected();
this.worldSeedField = this.add(new Textbox(20, 140, 284, 24, 256, true, this, "")); 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.createButton.enabled = false;
this.actionLabel = this.add(new Label(20, 20, 284, 20, this.getFolderDesc(), true)); 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)); this.userLabel = this.add(new Label(20, 70, 284, 20, this.getUserDesc(), true));

View file

@ -9,7 +9,7 @@ import game.gui.element.ActButton.Mode;
import game.gui.element.Label; import game.gui.element.Label;
import game.gui.element.Textbox; import game.gui.element.Textbox;
import game.gui.element.Textbox.Action; import game.gui.element.Textbox.Action;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.world.Region; import game.world.Region;
public class GuiEdit extends Gui implements ActButton.Callback, Textbox.Callback { 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) { 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.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, (ActButton.Callback)this, "Abbrechen")); 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 ? NetHandlerPlayServer.MAX_USER_LENGTH : 256, true, this, this.player ? NetHandlerPlayServer.VALID_USER : GuiWorlds.VALID_FILE, this.original == null ? "" : this.original)); 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(); this.nameField.setSelected();
// if(this.player) { // if(this.player) {
// this.nameField.setMaxStringLength(16); // this.nameField.setMaxStringLength(16);

View file

@ -21,6 +21,7 @@ import game.gui.element.ActButton;
import game.gui.element.ActButton.Mode; import game.gui.element.ActButton.Mode;
import game.gui.element.GuiList; import game.gui.element.GuiList;
import game.gui.element.ListEntry; import game.gui.element.ListEntry;
import game.gui.element.NavButton;
import game.gui.world.GuiEdit.Callback; import game.gui.world.GuiEdit.Callback;
import game.init.Config; import game.init.Config;
import game.init.UniverseRegistry; import game.init.UniverseRegistry;
@ -204,17 +205,17 @@ public class GuiWorlds extends GuiList<GuiWorlds.SaveInfo> implements ActButton.
this.warningMessage = "Welten-Ordner nicht lesbar!"; 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.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, (ActButton.Callback)this, this.add(this.createButton = new ActButton(width / 2 + 233, height - 52, 150, 20, this,
(create ? "" : "" + TextColor.DRED) + (create ? "Neue Welt ..." : "Fehler!"))); (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.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, (ActButton.Callback)this, "Leeren")); 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, (ActButton.Callback)this, "Kopieren")); 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, (ActButton.Callback)this, "Verschieben")); 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, (ActButton.Callback)this, "Startwert")); 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, (ActButton.Callback)this, "Spieler")); 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, (ActButton.Callback)this, "Duplizieren")); this.add(this.dupeButton = new ActButton(width / 2 + 79, height - 52, 150, 20, this, "Duplizieren"));
this.add(new ActButton(width / 2 + 233, height - 28, 150, 20, GuiMenu.INSTANCE, "Abbrechen")); 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() { this.add(new ActButton(20, 20, 200, 20, new ActButton.Callback() {
public void use(ActButton elem, ActButton.Mode action) { public void use(ActButton elem, ActButton.Mode action) {

View file

@ -21,11 +21,11 @@ public class ItemExterminator extends ItemMagnetic {
if(!world.client) { if(!world.client) {
world.playSoundAtEntity(player, SoundEvent.CLICK, 1.0F); world.playSoundAtEntity(player, SoundEvent.CLICK, 1.0F);
if(world.dimension == Space.INSTANCE) 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()) 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 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) // if (!playerIn.capabilities.isCreativeMode)
// { // {

View file

@ -15,7 +15,7 @@ public class ItemInfoWand extends ItemWand {
public void onUse(ItemStack stack, EntityNPC player, WorldServer world, Vec3 vec) public void onUse(ItemStack stack, EntityNPC player, WorldServer world, Vec3 vec)
{ {
Biome biome = world.getBiomeGenForCoords(new BlockPos(vec.xCoord, 0, vec.zCoord)); 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, vec.xCoord, vec.yCoord, vec.zCoord,
biome.display, biome.id, world.getTemperatureC(new BlockPos(vec))); biome.display, biome.id, world.getTemperatureC(new BlockPos(vec)));
} }

View file

@ -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;
}
}

View file

@ -5,11 +5,11 @@ import game.packet.RPacketDisconnect;
import game.packet.RPacketEnableCompression; import game.packet.RPacketEnableCompression;
import game.packet.RPacketLoginSuccess; import game.packet.RPacketLoginSuccess;
public class NetHandlerLoginClient extends NetHandler { public class ClientLoginHandler extends NetHandler {
private final Game gm; private final Game gm;
private final NetConnection networkManager; private final NetConnection networkManager;
public NetHandlerLoginClient(NetConnection conn, Game gmIn) { public ClientLoginHandler(NetConnection conn, Game gmIn) {
this.networkManager = conn; this.networkManager = conn;
this.gm = gmIn; this.gm = gmIn;
} }
@ -27,7 +27,7 @@ public class NetHandlerLoginClient extends NetHandler {
public void handleLoginSuccess(RPacketLoginSuccess packetIn) public void handleLoginSuccess(RPacketLoginSuccess packetIn)
{ {
this.networkManager.setConnectionState(PacketRegistry.PLAY); 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) public final void handleEnableCompression(RPacketEnableCompression packetIn)

View file

@ -112,7 +112,7 @@ import game.world.Explosion;
import game.world.Weather; import game.world.Weather;
import game.world.WorldClient; 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 * 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(); 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.gameController = gmIn;
this.netManager = p_i46300_3_; this.netManager = p_i46300_3_;
@ -766,17 +766,20 @@ public class NetHandlerPlayClient extends NetHandler
// if(this.gameController.chatVisibility == EnumChatVisibility.FULL || // if(this.gameController.chatVisibility == EnumChatVisibility.FULL ||
// (this.gameController.chatVisibility == EnumChatVisibility.SYSTEM && packetIn.isSystem())) // (this.gameController.chatVisibility == EnumChatVisibility.SYSTEM && packetIn.isSystem()))
// { // {
// switch(packetIn.getType()) { switch(packetIn.getType()) {
// case CONSOLE: case CONSOLE:
// SKC.console(packetIn.getMessage()); this.gameController.logConsole(packetIn.getMessage());
// break; break;
// case FEED: case CHAT:
Log.CONSOLE.user(packetIn.getMessage()); this.gameController.logChat(packetIn.getMessage());
// break; break;
// case HOTBAR: case FEED:
// SKC.overlay(packetIn.getMessage()); this.gameController.logFeed(packetIn.getMessage());
// break; break;
// } case HOTBAR:
this.gameController.logHotbar(packetIn.getMessage());
break;
}
// } // }
} }

View file

@ -2,7 +2,7 @@ package game.network;
import game.packet.HPacketHandshake; import game.packet.HPacketHandshake;
public abstract class NetHandlerHandshakeServer extends NetHandler public abstract class HandshakeHandler extends NetHandler
{ {
public abstract void processHandshake(HPacketHandshake packetIn); public abstract void processHandshake(HPacketHandshake packetIn);

View file

@ -3,12 +3,12 @@ package game.network;
import game.Server; import game.Server;
import game.packet.HPacketHandshake; import game.packet.HPacketHandshake;
public class NetHandlerHandshakeMemory extends NetHandlerHandshakeServer public class HandshakeHandlerMemory extends HandshakeHandler
{ {
private final Server gmServer; private final Server gmServer;
private final NetConnection networkManager; private final NetConnection networkManager;
public NetHandlerHandshakeMemory(Server gmServerIn, NetConnection networkManagerIn) public HandshakeHandlerMemory(Server gmServerIn, NetConnection networkManagerIn)
{ {
this.gmServer = gmServerIn; this.gmServer = gmServerIn;
this.networkManager = networkManagerIn; this.networkManager = networkManagerIn;
@ -17,6 +17,6 @@ public class NetHandlerHandshakeMemory extends NetHandlerHandshakeServer
public void processHandshake(HPacketHandshake packetIn) public void processHandshake(HPacketHandshake packetIn)
{ {
this.networkManager.setConnectionState(PacketRegistry.LOGIN); this.networkManager.setConnectionState(PacketRegistry.LOGIN);
this.networkManager.setNetHandler(new NetHandlerLoginServer(this.gmServer, this.networkManager)); this.networkManager.setNetHandler(new LoginHandler(this.gmServer, this.networkManager));
} }
} }

View file

@ -5,12 +5,12 @@ import game.init.Config;
import game.packet.HPacketHandshake; import game.packet.HPacketHandshake;
import game.packet.RPacketDisconnect; import game.packet.RPacketDisconnect;
public class NetHandlerHandshakeTCP extends NetHandlerHandshakeServer public class HandshakeHandlerTCP extends HandshakeHandler
{ {
private final Server server; private final Server server;
private final NetConnection networkManager; private final NetConnection networkManager;
public NetHandlerHandshakeTCP(Server serverIn, NetConnection netManager) public HandshakeHandlerTCP(Server serverIn, NetConnection netManager)
{ {
this.server = serverIn; this.server = serverIn;
this.networkManager = netManager; this.networkManager = netManager;
@ -35,7 +35,7 @@ public class NetHandlerHandshakeTCP extends NetHandlerHandshakeServer
} }
else else
{ {
this.networkManager.setNetHandler(new NetHandlerLoginServer(this.server, this.networkManager)); this.networkManager.setNetHandler(new LoginHandler(this.server, this.networkManager));
} }
} }
} }

View file

@ -9,7 +9,7 @@ import game.packet.LPacketPasswordResponse;
import game.packet.RPacketDisconnect; import game.packet.RPacketDisconnect;
import game.rng.Random; import game.rng.Random;
public class NetHandlerLoginServer extends NetHandler public class LoginHandler extends NetHandler
{ {
private static enum LoginState { private static enum LoginState {
PASSWORD, READY_TO_ACCEPT, ACCEPTED; PASSWORD, READY_TO_ACCEPT, ACCEPTED;
@ -23,7 +23,7 @@ public class NetHandlerLoginServer extends NetHandler
private String loginUser; private String loginUser;
private String loginPass; private String loginPass;
public NetHandlerLoginServer(Server server, NetConnection netManager) public LoginHandler(Server server, NetConnection netManager)
{ {
this.netManager = netManager; this.netManager = netManager;
this.server = server; this.server = server;
@ -121,19 +121,19 @@ public class NetHandlerLoginServer extends NetHandler
if(this.netManager.isLocalChannel()) { if(this.netManager.isLocalChannel()) {
this.loginPass = ""; this.loginPass = "";
// this.loginUser = Config.localUser; // 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(); Random rand = new Random();
do { do {
this.loginUser = NameRegistry.FANTASY.generate(rand, rand.range(2, 4)).toLowerCase(); 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.setVar("local_user", this.loginUser);
} }
this.server.setLocalUser(this.loginUser); this.server.setLocalUser(this.loginUser);
} }
else { else {
this.loginPass = packetIn.getPassword(); 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!"); throw new IllegalStateException("Ungültiger Nutzername!");
// if(!this.checkConnect(packetIn.getAccess())) // if(!this.checkConnect(packetIn.getAccess()))
// return; // return;

View file

@ -94,6 +94,7 @@ import game.packet.SPacketDisconnect;
import game.packet.SPacketKeepAlive; import game.packet.SPacketKeepAlive;
import game.packet.SPacketMapChunkBulk; import game.packet.SPacketMapChunkBulk;
import game.packet.SPacketMessage; import game.packet.SPacketMessage;
import game.packet.SPacketMessage.Type;
import game.packet.SPacketPlayerPosLook; import game.packet.SPacketPlayerPosLook;
import game.packet.SPacketSetExperience; import game.packet.SPacketSetExperience;
import game.packet.SPacketSkin; import game.packet.SPacketSkin;
@ -125,7 +126,7 @@ import game.world.WorldServer;
import io.netty.util.concurrent.Future; import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.GenericFutureListener; 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 { private static enum EditAction {
SELECT("Auswahlmodus"), COPYPASTE("Kopiermodus"), TRANSFORM("Drehmodus"); SELECT("Auswahlmodus"), COPYPASTE("Kopiermodus"), TRANSFORM("Drehmodus");
@ -226,7 +227,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
return VALID_NICK.valid(user); 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.user = user;
this.server = server; 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) { public void addFeed(String msg) {
this.sendPacket(new SPacketMessage(msg)); this.sendPacket(new SPacketMessage(msg, Type.FEED));
} }
public void addFeed(String format, Object... args) { 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) { 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()) 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)); this.sendPacket(new S29PacketSoundEffect(SoundEvent.DOOR, this.entity.posX, this.entity.posY, this.entity.posZ, 1.0F));
return; return;
} }
@ -1266,14 +1291,14 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
BlockPos point = pos == null ? this.entity.getPosition() : pos; BlockPos point = pos == null ? this.entity.getPosition() : pos;
String msg = this.selectPoint(point, false); String msg = this.selectPoint(point, false);
if(msg != null) if(msg != null)
this.addFeed(TextColor.DRED + msg); this.addHotbar(TextColor.DRED + msg);
} }
private void selectPos2(BlockPos pos) { private void selectPos2(BlockPos pos) {
BlockPos point = pos == null ? this.entity.getPosition() : pos; BlockPos point = pos == null ? this.entity.getPosition() : pos;
String msg = this.selectPoint(point, true); String msg = this.selectPoint(point, true);
if(msg != null) if(msg != null)
this.addFeed(TextColor.MIDNIGHT + msg); this.addHotbar(TextColor.MIDNIGHT + msg);
} }
private String selectPoint(BlockPos position, boolean second) { 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)) if(this.edit == EditAction.TRANSFORM && (this.rotation != 0 || this.flipX || this.flipZ))
msg += "; " + this.getRotationInfo(); msg += "; " + this.getRotationInfo();
this.addFeed(TextColor.YELLOW + msg); this.addHotbar(TextColor.YELLOW + msg);
} }
private int getSelectionArea() { private int getSelectionArea() {
@ -1364,7 +1389,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
to = to.add(tf.getBlockX(), tf.getBlockY(), tf.getBlockZ()); to = to.add(tf.getBlockX(), tf.getBlockY(), tf.getBlockZ());
} }
placer.commit(); 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; return true;
} }
@ -1437,7 +1462,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
this.flipX = this.flipZ = false; this.flipX = this.flipZ = false;
BlockPos pos = this.entity.getPosition(); BlockPos pos = this.entity.getPosition();
this.selOffset = new Vec3i(mx - pos.getX(), my - pos.getY(), mz - pos.getZ()); 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; return true;
} }
@ -1466,7 +1491,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
else else
return; return;
String info = this.getRotationInfo(); 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() { private void rotateClipboard() {
@ -1474,7 +1499,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
return; return;
this.rotation = (this.rotation + 90) % 360; this.rotation = (this.rotation + 90) % 360;
String info = this.getRotationInfo(); 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 <? super Void > p_operationComplete_1_) throws Exception public void operationComplete(Future <? super Void > p_operationComplete_1_) throws Exception
{ {
NetHandlerPlayServer.this.connection.closeChannel("Getrennt"); Player.this.connection.closeChannel("Getrennt");
} }
}); });
this.connection.disableAutoRead(); this.connection.disableAutoRead();
@ -1525,7 +1550,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
{ {
public void run() 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)); Log.JNI.info(this.user + " wurde getrennt: " + TextColor.stripCodes(reason));
if(!this.local) 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); this.server.removePlayer(this);
} }
public void onConnect() { public void onConnect() {
if(!this.local) 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) public void sendPacket(final Packet packet)
@ -1625,13 +1650,13 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
int space = line.indexOf(' '); int space = line.indexOf(' ');
// if(space < 0) // if(space < 0)
// return false; // 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) if(target == null)
return false; 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); line);
if(target != this) 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); line);
return true; return true;
} }
@ -1653,9 +1678,9 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
if(!cvar.def.equals(v)) { if(!cvar.def.equals(v)) {
comp += TextColor.GRAY + " (" + TextColor.BROWN + cvar.def + TextColor.GRAY + ")"; 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; return true;
} }
line = line.trim(); 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; comp += ((cfg.type == ValueType.BOOLEAN ? (v.equals("true") ? TextColor.GREEN : TextColor.RED) : TextColor.BLUE)) + v;
if(!cfg.def.equals(v)) if(!cfg.def.equals(v))
comp += TextColor.GRAY + " (" + TextColor.BROWN + cfg.def + TextColor.GRAY + ")"; comp += TextColor.GRAY + " (" + TextColor.BROWN + cfg.def + TextColor.GRAY + ")";
this.addFeed(comp); this.addConsole(comp);
// break; // break;
// default: // default:
} }
@ -1693,7 +1718,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
// else // else
if(cv.type == ValueType.BOOLEAN && !"true".equals(value) && !"false".equals(value)) { if(cv.type == ValueType.BOOLEAN && !"true".equals(value) && !"false".equals(value)) {
if(!value.equalsIgnoreCase("true") && !value.equalsIgnoreCase("false")) { 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; return true;
} }
value = value.toLowerCase(); value = value.toLowerCase();
@ -1703,7 +1728,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
Integer.parseInt(value); Integer.parseInt(value);
} }
catch(NumberFormatException e) { 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; return true;
} }
} }
@ -1712,12 +1737,12 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
Float.parseFloat(value); Float.parseFloat(value);
} }
catch(NumberFormatException e) { 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; return true;
} }
} }
Config.set(args[0], value, this.server); 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; return true;
} }
@ -1887,7 +1912,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
if(this.isAdmin()) if(this.isAdmin())
this.server.getScriptEnvironment().execute(command, this); this.server.getScriptEnvironment().execute(command, this);
else 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<String> completeCommand(String command) { private List<String> completeCommand(String command) {
@ -1896,7 +1921,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
} }
public void logConsole(String msg) { public void logConsole(String msg) {
this.addFeed(msg); this.addConsole(msg);
} }
public String getExecId() { public String getExecId() {
@ -1929,7 +1954,7 @@ public class NetHandlerPlayServer extends NetHandler implements ICrafting, Execu
case CHAT: case CHAT:
if(!this.sendPlayer(msg)) 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; break;
case DISPLAY: case DISPLAY:

View file

@ -25,7 +25,7 @@ import game.world.WorldClient;
public class PlayerController public class PlayerController
{ {
private final Game gm; private final Game gm;
private final NetHandlerPlayClient netClientHandler; private final ClientPlayer netClientHandler;
private BlockPos currentBlock = new BlockPos(-1, -1, -1); private BlockPos currentBlock = new BlockPos(-1, -1, -1);
private ItemStack currentItemHittingBlock; private ItemStack currentItemHittingBlock;
private float curBlockDamageMP; private float curBlockDamageMP;
@ -36,7 +36,7 @@ public class PlayerController
private int currentPlayerItem; private int currentPlayerItem;
private boolean interacting; private boolean interacting;
public PlayerController(Game gmIn, NetHandlerPlayClient netHandler) public PlayerController(Game gmIn, ClientPlayer netHandler)
{ {
this.gm = gmIn; this.gm = gmIn;
this.netClientHandler = netHandler; this.netClientHandler = netHandler;

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class CPacketAction implements Packet<NetHandlerPlayServer> public class CPacketAction implements Packet<Player>
{ {
private Action action; private Action action;
private int auxData; private int auxData;
@ -38,7 +38,7 @@ public class CPacketAction implements Packet<NetHandlerPlayServer>
buf.writeVarIntToBuffer(this.auxData); buf.writeVarIntToBuffer(this.auxData);
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processAction(this); handler.processAction(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class CPacketBook implements Packet<NetHandlerPlayServer> public class CPacketBook implements Packet<Player>
{ {
private String[] pages; private String[] pages;
@ -40,7 +40,7 @@ public class CPacketBook implements Packet<NetHandlerPlayServer>
} }
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processBook(this); handler.processBook(this);
} }

View file

@ -2,13 +2,13 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
import game.world.Facing; import game.world.Facing;
public class CPacketBreak implements Packet<NetHandlerPlayServer> public class CPacketBreak implements Packet<Player>
{ {
private BlockPos position; private BlockPos position;
private Facing facing; private Facing facing;
@ -39,7 +39,7 @@ public class CPacketBreak implements Packet<NetHandlerPlayServer>
buf.writeByte(this.facing.getIndex()); buf.writeByte(this.facing.getIndex());
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processBreak(this); handler.processBreak(this);
} }

View file

@ -3,11 +3,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.item.ItemStack; import game.item.ItemStack;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class CPacketCheat implements Packet<NetHandlerPlayServer> public class CPacketCheat implements Packet<Player>
{ {
private ItemStack stack; private ItemStack stack;
private int slot; private int slot;
@ -24,7 +24,7 @@ public class CPacketCheat implements Packet<NetHandlerPlayServer>
this.stack.stackSize = this.stack.getMaxStackSize(); this.stack.stackSize = this.stack.getMaxStackSize();
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processCheat(this); handler.processCheat(this);
} }

View file

@ -3,11 +3,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.item.ItemStack; import game.item.ItemStack;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class CPacketClick implements Packet<NetHandlerPlayServer> public class CPacketClick implements Packet<Player>
{ {
/** The id of the window which was clicked. 0 for player inventory. */ /** The id of the window which was clicked. 0 for player inventory. */
private int windowId; private int windowId;
@ -41,7 +41,7 @@ public class CPacketClick implements Packet<NetHandlerPlayServer>
this.mode = mode; this.mode = mode;
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processClick(this); handler.processClick(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class CPacketComplete implements Packet<NetHandlerPlayServer> public class CPacketComplete implements Packet<Player>
{ {
private String message; private String message;
private int entityId; private int entityId;
@ -41,7 +41,7 @@ public class CPacketComplete implements Packet<NetHandlerPlayServer>
buf.writeBlockPos(this.position); buf.writeBlockPos(this.position);
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processComplete(this); handler.processComplete(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class CPacketInput implements Packet<NetHandlerPlayServer> public class CPacketInput implements Packet<Player>
{ {
private float strafeSpeed; private float strafeSpeed;
private float forwardSpeed; private float forwardSpeed;
@ -53,7 +53,7 @@ public class CPacketInput implements Packet<NetHandlerPlayServer>
buf.writeByte(b0); buf.writeByte(b0);
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processInput(this); handler.processInput(this);
} }

View file

@ -1,8 +1,8 @@
package game.packet; package game.packet;
import game.network.NetHandlerPlayServer; import game.network.Player;
public class CPacketKeepAlive extends APacketVarInt<NetHandlerPlayServer> public class CPacketKeepAlive extends APacketVarInt<Player>
{ {
public CPacketKeepAlive() public CPacketKeepAlive()
{ {
@ -13,7 +13,7 @@ public class CPacketKeepAlive extends APacketVarInt<NetHandlerPlayServer>
super(key); super(key);
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processKeepAlive(this); handler.processKeepAlive(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class CPacketMessage implements Packet<NetHandlerPlayServer> public class CPacketMessage implements Packet<Player>
{ {
private Type type; private Type type;
private String message; private String message;
@ -33,7 +33,7 @@ public class CPacketMessage implements Packet<NetHandlerPlayServer>
buf.writeString(this.message); buf.writeString(this.message);
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processMessage(this); handler.processMessage(this);
} }
@ -49,7 +49,7 @@ public class CPacketMessage implements Packet<NetHandlerPlayServer>
} }
public static enum Type { 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; private final int length;

View file

@ -3,12 +3,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.item.ItemStack; import game.item.ItemStack;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class CPacketPlace implements Packet<NetHandlerPlayServer> public class CPacketPlace implements Packet<Player>
{ {
private static final BlockPos DUMMY_POS = new BlockPos(-1, -1, -1); private static final BlockPos DUMMY_POS = new BlockPos(-1, -1, -1);
@ -58,7 +58,7 @@ public class CPacketPlace implements Packet<NetHandlerPlayServer>
buf.writeByte((int)(this.facingZ * 16.0F)); buf.writeByte((int)(this.facingZ * 16.0F));
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processPlace(this); handler.processPlace(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class CPacketPlayer implements Packet<NetHandlerPlayServer> public class CPacketPlayer implements Packet<Player>
{ {
protected double x; protected double x;
protected double y; protected double y;
@ -26,7 +26,7 @@ public class CPacketPlayer implements Packet<NetHandlerPlayServer>
this.onGround = isOnGround; this.onGround = isOnGround;
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processPlayer(this); handler.processPlayer(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class CPacketSign implements Packet<NetHandlerPlayServer> public class CPacketSign implements Packet<Player>
{ {
private BlockPos pos; private BlockPos pos;
private String[] lines; private String[] lines;
@ -48,7 +48,7 @@ public class CPacketSign implements Packet<NetHandlerPlayServer>
} }
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processSign(this); handler.processSign(this);
} }

View file

@ -4,12 +4,12 @@ import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.IOException;
import game.init.SpeciesRegistry.ModelType; import game.init.SpeciesRegistry.ModelType;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.renderer.texture.EntityTexManager; import game.renderer.texture.EntityTexManager;
public class CPacketSkin implements Packet<NetHandlerPlayServer> public class CPacketSkin implements Packet<Player>
{ {
// private ModelType model; // private ModelType model;
private byte[] comp; private byte[] comp;
@ -56,7 +56,7 @@ public class CPacketSkin implements Packet<NetHandlerPlayServer>
buf.writeByteArray(this.comp == null ? new byte[0] : this.comp); buf.writeByteArray(this.comp == null ? new byte[0] : this.comp);
} }
public void processPacket(NetHandlerPlayServer handler) public void processPacket(Player handler)
{ {
handler.processSkin(this); handler.processSkin(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerHandshakeServer; import game.network.HandshakeHandler;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class HPacketHandshake implements Packet<NetHandlerHandshakeServer> { public class HPacketHandshake implements Packet<HandshakeHandler> {
private int protocol; private int protocol;
public HPacketHandshake() { public HPacketHandshake() {
@ -30,7 +30,7 @@ public class HPacketHandshake implements Packet<NetHandlerHandshakeServer> {
buf.writeVarIntToBuffer(this.protocol); buf.writeVarIntToBuffer(this.protocol);
} }
public void processPacket(NetHandlerHandshakeServer handler) { public void processPacket(HandshakeHandler handler) {
handler.processHandshake(this); handler.processHandshake(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerLoginServer; import game.network.LoginHandler;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class LPacketPasswordResponse implements Packet<NetHandlerLoginServer> public class LPacketPasswordResponse implements Packet<LoginHandler>
{ {
private String user; private String user;
private String access; private String access;
@ -29,9 +29,9 @@ public class LPacketPasswordResponse implements Packet<NetHandlerLoginServer>
*/ */
public void readPacketData(PacketBuffer buf) throws IOException public void readPacketData(PacketBuffer buf) throws IOException
{ {
this.user = buf.readStringFromBuffer(NetHandlerPlayServer.MAX_USER_LENGTH); this.user = buf.readStringFromBuffer(Player.MAX_USER_LENGTH);
this.access = buf.readStringFromBuffer(NetHandlerPlayServer.MAX_PASS_LENGTH); this.access = buf.readStringFromBuffer(Player.MAX_PASS_LENGTH);
this.password = buf.readStringFromBuffer(NetHandlerPlayServer.MAX_PASS_LENGTH); this.password = buf.readStringFromBuffer(Player.MAX_PASS_LENGTH);
} }
/** /**
@ -47,7 +47,7 @@ public class LPacketPasswordResponse implements Packet<NetHandlerLoginServer>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerLoginServer handler) public void processPacket(LoginHandler handler)
{ {
handler.processPasswordResponse(this); handler.processPasswordResponse(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerLoginClient; import game.network.ClientLoginHandler;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class RPacketDisconnect implements Packet<NetHandlerLoginClient> public class RPacketDisconnect implements Packet<ClientLoginHandler>
{ {
private String reason; private String reason;
@ -38,7 +38,7 @@ public class RPacketDisconnect implements Packet<NetHandlerLoginClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerLoginClient handler) public void processPacket(ClientLoginHandler handler)
{ {
handler.handleDisconnect(this); handler.handleDisconnect(this);
} }

View file

@ -1,8 +1,8 @@
package game.packet; package game.packet;
import game.network.NetHandlerLoginClient; import game.network.ClientLoginHandler;
public class RPacketEnableCompression extends APacketVarInt<NetHandlerLoginClient> public class RPacketEnableCompression extends APacketVarInt<ClientLoginHandler>
{ {
public RPacketEnableCompression() public RPacketEnableCompression()
{ {
@ -13,7 +13,7 @@ public class RPacketEnableCompression extends APacketVarInt<NetHandlerLoginClien
super(comp); super(comp);
} }
public void processPacket(NetHandlerLoginClient handler) public void processPacket(ClientLoginHandler handler)
{ {
handler.handleEnableCompression(this); handler.handleEnableCompression(this);
} }

View file

@ -1,10 +1,10 @@
package game.packet; package game.packet;
import game.network.NetHandlerLoginClient; import game.network.ClientLoginHandler;
public class RPacketLoginSuccess extends APacketEmpty<NetHandlerLoginClient> public class RPacketLoginSuccess extends APacketEmpty<ClientLoginHandler>
{ {
public void processPacket(NetHandlerLoginClient handler) public void processPacket(ClientLoginHandler handler)
{ {
handler.handleLoginSuccess(this); handler.handleLoginSuccess(this);
} }

View file

@ -3,12 +3,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.World; import game.world.World;
public class S14PacketEntity implements Packet<NetHandlerPlayClient> public class S14PacketEntity implements Packet<ClientPlayer>
{ {
protected int entityId; protected int entityId;
protected byte posX; protected byte posX;
@ -47,7 +47,7 @@ public class S14PacketEntity implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityMovement(this); handler.handleEntityMovement(this);
} }

View file

@ -3,12 +3,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.util.ExtMath; import game.util.ExtMath;
public class S18PacketEntityTeleport implements Packet<NetHandlerPlayClient> public class S18PacketEntityTeleport implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private int posX; private int posX;
@ -75,7 +75,7 @@ public class S18PacketEntityTeleport implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityTeleport(this); handler.handleEntityTeleport(this);
} }

View file

@ -3,12 +3,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.World; import game.world.World;
public class S19PacketEntityHeadLook implements Packet<NetHandlerPlayClient> public class S19PacketEntityHeadLook implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private byte yaw; private byte yaw;
@ -44,7 +44,7 @@ public class S19PacketEntityHeadLook implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityHeadLook(this); handler.handleEntityHeadLook(this);
} }

View file

@ -3,12 +3,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.World; import game.world.World;
public class S1APacketEntityStatus implements Packet<NetHandlerPlayClient> public class S1APacketEntityStatus implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private byte logicOpcode; private byte logicOpcode;
@ -44,7 +44,7 @@ public class S1APacketEntityStatus implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityStatus(this); handler.handleEntityStatus(this);
} }

View file

@ -3,11 +3,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S1BPacketEntityAttach implements Packet<NetHandlerPlayClient> public class S1BPacketEntityAttach implements Packet<ClientPlayer>
{ {
private int leash; private int leash;
private int entityId; private int entityId;
@ -47,7 +47,7 @@ public class S1BPacketEntityAttach implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityAttach(this); handler.handleEntityAttach(this);
} }

View file

@ -4,11 +4,11 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import game.entity.DataWatcher; import game.entity.DataWatcher;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S1CPacketEntityMetadata implements Packet<NetHandlerPlayClient> public class S1CPacketEntityMetadata implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private List<DataWatcher.WatchableObject> field_149378_b; private List<DataWatcher.WatchableObject> field_149378_b;
@ -52,7 +52,7 @@ public class S1CPacketEntityMetadata implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityMetadata(this); handler.handleEntityMetadata(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.potion.PotionEffect; import game.potion.PotionEffect;
public class S1DPacketEntityEffect implements Packet<NetHandlerPlayClient> public class S1DPacketEntityEffect implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private byte effectId; private byte effectId;
@ -69,7 +69,7 @@ public class S1DPacketEntityEffect implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityEffect(this); handler.handleEntityEffect(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.potion.PotionEffect; import game.potion.PotionEffect;
public class S1EPacketRemoveEntityEffect implements Packet<NetHandlerPlayClient> public class S1EPacketRemoveEntityEffect implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private int effectId; private int effectId;
@ -43,7 +43,7 @@ public class S1EPacketRemoveEntityEffect implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleRemoveEntityEffect(this); handler.handleRemoveEntityEffect(this);
} }

View file

@ -8,11 +8,11 @@ import game.collect.Lists;
import game.entity.attributes.AttributeInstance; import game.entity.attributes.AttributeInstance;
import game.entity.attributes.AttributeModifier; import game.entity.attributes.AttributeModifier;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S20PacketEntityProperties implements Packet<NetHandlerPlayClient> public class S20PacketEntityProperties implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private final List<S20PacketEntityProperties.Snapshot> field_149444_b = Lists.<S20PacketEntityProperties.Snapshot>newArrayList(); private final List<S20PacketEntityProperties.Snapshot> field_149444_b = Lists.<S20PacketEntityProperties.Snapshot>newArrayList();
@ -82,7 +82,7 @@ public class S20PacketEntityProperties implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityProperties(this); handler.handleEntityProperties(this);
} }

View file

@ -6,13 +6,13 @@ import java.util.List;
import game.collect.Lists; import game.collect.Lists;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
import game.world.Vec3; import game.world.Vec3;
public class S27PacketExplosion implements Packet<NetHandlerPlayClient> public class S27PacketExplosion implements Packet<ClientPlayer>
{ {
private double posX; private double posX;
private double posY; private double posY;
@ -107,7 +107,7 @@ public class S27PacketExplosion implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleExplosion(this); handler.handleExplosion(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class S28PacketEffect implements Packet<NetHandlerPlayClient> { public class S28PacketEffect implements Packet<ClientPlayer> {
private int soundType; private int soundType;
private BlockPos soundPos; private BlockPos soundPos;
private int soundData; private int soundData;
@ -33,7 +33,7 @@ public class S28PacketEffect implements Packet<NetHandlerPlayClient> {
buf.writeInt(this.soundData); buf.writeInt(this.soundData);
} }
public void processPacket(NetHandlerPlayClient handler) { public void processPacket(ClientPlayer handler) {
handler.handleEffect(this); handler.handleEffect(this);
} }

View file

@ -3,11 +3,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.init.SoundEvent; import game.init.SoundEvent;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S29PacketSoundEffect implements Packet<NetHandlerPlayClient> public class S29PacketSoundEffect implements Packet<ClientPlayer>
{ {
private SoundEvent sound; private SoundEvent sound;
private int posX; private int posX;
@ -86,7 +86,7 @@ public class S29PacketSoundEffect implements Packet<NetHandlerPlayClient>
return this.soundVolume; return this.soundVolume;
} }
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleSoundEffect(this); handler.handleSoundEffect(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.renderer.particle.ParticleType; import game.renderer.particle.ParticleType;
public class S2APacketParticles implements Packet<NetHandlerPlayClient> public class S2APacketParticles implements Packet<ClientPlayer>
{ {
private ParticleType particleType; private ParticleType particleType;
private float xCoord; private float xCoord;
@ -183,7 +183,7 @@ public class S2APacketParticles implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleParticles(this); handler.handleParticles(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.util.ExtMath; import game.util.ExtMath;
public class S2BPacketChangeGameState implements Packet<NetHandlerPlayClient> public class S2BPacketChangeGameState implements Packet<ClientPlayer>
{ {
private Action action; private Action action;
private int param; private int param;
@ -44,7 +44,7 @@ public class S2BPacketChangeGameState implements Packet<NetHandlerPlayClient>
buf.writeVarIntToBuffer(this.param); buf.writeVarIntToBuffer(this.param);
} }
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleChangeGameState(this); handler.handleChangeGameState(this);
} }

View file

@ -3,12 +3,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.util.ExtMath; import game.util.ExtMath;
public class S2CPacketSpawnGlobalEntity implements Packet<NetHandlerPlayClient> public class S2CPacketSpawnGlobalEntity implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private int x; private int x;
@ -60,7 +60,7 @@ public class S2CPacketSpawnGlobalEntity implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleSpawnGlobalEntity(this); handler.handleSpawnGlobalEntity(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class S2DPacketOpenWindow implements Packet<NetHandlerPlayClient> public class S2DPacketOpenWindow implements Packet<ClientPlayer>
{ {
private int windowId; private int windowId;
private String inventoryType; private String inventoryType;
@ -48,7 +48,7 @@ public class S2DPacketOpenWindow implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleOpenWindow(this); handler.handleOpenWindow(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S2EPacketCloseWindow implements Packet<NetHandlerPlayClient> public class S2EPacketCloseWindow implements Packet<ClientPlayer>
{ {
private int windowId; private int windowId;
@ -22,7 +22,7 @@ public class S2EPacketCloseWindow implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleCloseWindow(this); handler.handleCloseWindow(this);
} }

View file

@ -3,11 +3,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.item.ItemStack; import game.item.ItemStack;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S2FPacketSetSlot implements Packet<NetHandlerPlayClient> public class S2FPacketSetSlot implements Packet<ClientPlayer>
{ {
private int windowId; private int windowId;
private int slot; private int slot;
@ -27,7 +27,7 @@ public class S2FPacketSetSlot implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleSetSlot(this); handler.handleSetSlot(this);
} }

View file

@ -4,11 +4,11 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import game.item.ItemStack; import game.item.ItemStack;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S30PacketWindowItems implements Packet<NetHandlerPlayClient> public class S30PacketWindowItems implements Packet<ClientPlayer>
{ {
private int windowId; private int windowId;
private ItemStack[] itemStacks; private ItemStack[] itemStacks;
@ -61,7 +61,7 @@ public class S30PacketWindowItems implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleWindowItems(this); handler.handleWindowItems(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S31PacketWindowProperty implements Packet<NetHandlerPlayClient> public class S31PacketWindowProperty implements Packet<ClientPlayer>
{ {
private int windowId; private int windowId;
private int varIndex; private int varIndex;
@ -26,7 +26,7 @@ public class S31PacketWindowProperty implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleWindowProperty(this); handler.handleWindowProperty(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S32PacketConfirmTransaction implements Packet<NetHandlerPlayClient> public class S32PacketConfirmTransaction implements Packet<ClientPlayer>
{ {
private int windowId; private int windowId;
private short actionNumber; private short actionNumber;
@ -26,7 +26,7 @@ public class S32PacketConfirmTransaction implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleConfirmTransaction(this); handler.handleConfirmTransaction(this);
} }

View file

@ -2,13 +2,13 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
import game.world.World; import game.world.World;
public class S33PacketUpdateSign implements Packet<NetHandlerPlayClient> public class S33PacketUpdateSign implements Packet<ClientPlayer>
{ {
private World world; private World world;
private BlockPos blockPos; private BlockPos blockPos;
@ -62,7 +62,7 @@ public class S33PacketUpdateSign implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleUpdateSign(this); handler.handleUpdateSign(this);
} }

View file

@ -4,13 +4,13 @@ import java.io.IOException;
import game.init.TileRegistry; import game.init.TileRegistry;
import game.nbt.NBTTagCompound; import game.nbt.NBTTagCompound;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.tileentity.TileEntity; import game.tileentity.TileEntity;
import game.world.BlockPos; import game.world.BlockPos;
public class S35PacketUpdateTileEntity implements Packet<NetHandlerPlayClient> public class S35PacketUpdateTileEntity implements Packet<ClientPlayer>
{ {
private BlockPos blockPos; private BlockPos blockPos;
private int type; private int type;
@ -50,7 +50,7 @@ public class S35PacketUpdateTileEntity implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleUpdateTileEntity(this); handler.handleUpdateTileEntity(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class S36PacketSignEditorOpen implements Packet<NetHandlerPlayClient> public class S36PacketSignEditorOpen implements Packet<ClientPlayer>
{ {
private BlockPos signPosition; private BlockPos signPosition;
@ -23,7 +23,7 @@ public class S36PacketSignEditorOpen implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleSignEditorOpen(this); handler.handleSignEditorOpen(this);
} }

View file

@ -7,25 +7,25 @@ import java.util.Map.Entry;
import game.collect.Maps; import game.collect.Maps;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.NetHandlerPlayServer; import game.network.Player;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S38PacketPlayerListItem implements Packet<NetHandlerPlayClient> { public class S38PacketPlayerListItem implements Packet<ClientPlayer> {
private final Map<String, Integer> players = Maps.newHashMap(); private final Map<String, Integer> players = Maps.newHashMap();
public S38PacketPlayerListItem() { public S38PacketPlayerListItem() {
} }
public S38PacketPlayerListItem(boolean remove, NetHandlerPlayServer... conns) { public S38PacketPlayerListItem(boolean remove, Player... conns) {
for(NetHandlerPlayServer conn : conns) { for(Player conn : conns) {
this.players.put(conn.getUser(), remove ? -1 : conn.getLatency()); this.players.put(conn.getUser(), remove ? -1 : conn.getLatency());
} }
} }
public S38PacketPlayerListItem(Iterable<NetHandlerPlayServer> conns) { public S38PacketPlayerListItem(Iterable<Player> conns) {
for(NetHandlerPlayServer conn : conns) { for(Player conn : conns) {
this.players.put(conn.getUser(), conn.getLatency()); this.players.put(conn.getUser(), conn.getLatency());
} }
} }
@ -45,7 +45,7 @@ public class S38PacketPlayerListItem implements Packet<NetHandlerPlayClient> {
} }
} }
public void processPacket(NetHandlerPlayClient handler) { public void processPacket(ClientPlayer handler) {
handler.handlePlayerListItem(this); handler.handlePlayerListItem(this);
} }

View file

@ -3,11 +3,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.npc.EntityNPC; import game.entity.npc.EntityNPC;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S39PacketPlayerAbilities implements Packet<NetHandlerPlayClient> { public class S39PacketPlayerAbilities implements Packet<ClientPlayer> {
private boolean flying; private boolean flying;
private boolean noClip; private boolean noClip;
@ -39,7 +39,7 @@ public class S39PacketPlayerAbilities implements Packet<NetHandlerPlayClient> {
buf.writeByte(bt); buf.writeByte(bt);
} }
public void processPacket(NetHandlerPlayClient handler) { public void processPacket(ClientPlayer handler) {
handler.handlePlayerAbilities(this); handler.handlePlayerAbilities(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class S3APacketTabComplete implements Packet<NetHandlerPlayClient> public class S3APacketTabComplete implements Packet<ClientPlayer>
{ {
private String[] matches; private String[] matches;
@ -48,7 +48,7 @@ public class S3APacketTabComplete implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleTabComplete(this); handler.handleTabComplete(this);
} }

View file

@ -4,12 +4,12 @@ import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.nbt.NBTTagCompound; import game.nbt.NBTTagCompound;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.World; import game.world.World;
public class S43PacketUpdateEntityNBT implements Packet<NetHandlerPlayClient> public class S43PacketUpdateEntityNBT implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private NBTTagCompound tagCompound; private NBTTagCompound tagCompound;
@ -45,7 +45,7 @@ public class S43PacketUpdateEntityNBT implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleEntityNBT(this); handler.handleEntityNBT(this);
} }

View file

@ -3,11 +3,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class SPacketAnimation implements Packet<NetHandlerPlayClient> public class SPacketAnimation implements Packet<ClientPlayer>
{ {
private int entityId; private int entityId;
private int type; private int type;
@ -45,7 +45,7 @@ public class SPacketAnimation implements Packet<NetHandlerPlayClient>
// buf.writeVarIntToBuffer(this.par); // buf.writeVarIntToBuffer(this.par);
} }
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleAnimation(this); handler.handleAnimation(this);
} }

View file

@ -2,11 +2,11 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
public class SPacketBiomes implements Packet<NetHandlerPlayClient> { public class SPacketBiomes implements Packet<ClientPlayer> {
private int chunkX; private int chunkX;
private int chunkZ; private int chunkZ;
private byte[] biomes; private byte[] biomes;
@ -32,7 +32,7 @@ public class SPacketBiomes implements Packet<NetHandlerPlayClient> {
buf.writeBytes(this.biomes); buf.writeBytes(this.biomes);
} }
public void processPacket(NetHandlerPlayClient handler) { public void processPacket(ClientPlayer handler) {
handler.handleBiomes(this); handler.handleBiomes(this);
} }

View file

@ -4,12 +4,12 @@ import java.io.IOException;
import game.block.Block; import game.block.Block;
import game.init.BlockRegistry; import game.init.BlockRegistry;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class SPacketBlockAction implements Packet<NetHandlerPlayClient> public class SPacketBlockAction implements Packet<ClientPlayer>
{ {
private BlockPos blockPosition; private BlockPos blockPosition;
private int instrument; private int instrument;
@ -53,7 +53,7 @@ public class SPacketBlockAction implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleBlockAction(this); handler.handleBlockAction(this);
} }

View file

@ -2,12 +2,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
public class SPacketBlockBreakAnim implements Packet<NetHandlerPlayClient> public class SPacketBlockBreakAnim implements Packet<ClientPlayer>
{ {
private int breakerId; private int breakerId;
private BlockPos position; private BlockPos position;
@ -47,7 +47,7 @@ public class SPacketBlockBreakAnim implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleBlockBreakAnim(this); handler.handleBlockBreakAnim(this);
} }

View file

@ -3,14 +3,14 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.init.BlockRegistry; import game.init.BlockRegistry;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.BlockPos; import game.world.BlockPos;
import game.world.State; import game.world.State;
import game.world.World; import game.world.World;
public class SPacketBlockChange implements Packet<NetHandlerPlayClient> public class SPacketBlockChange implements Packet<ClientPlayer>
{ {
private BlockPos blockPosition; private BlockPos blockPosition;
private State blockState; private State blockState;
@ -46,7 +46,7 @@ public class SPacketBlockChange implements Packet<NetHandlerPlayClient>
/** /**
* Passes this Packet on to the NetHandler for processing. * Passes this Packet on to the NetHandler for processing.
*/ */
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleBlockChange(this); handler.handleBlockChange(this);
} }

View file

@ -3,12 +3,12 @@ package game.packet;
import java.io.IOException; import java.io.IOException;
import game.entity.Entity; import game.entity.Entity;
import game.network.NetHandlerPlayClient; import game.network.ClientPlayer;
import game.network.Packet; import game.network.Packet;
import game.network.PacketBuffer; import game.network.PacketBuffer;
import game.world.World; import game.world.World;
public class SPacketCamera implements Packet<NetHandlerPlayClient> public class SPacketCamera implements Packet<ClientPlayer>
{ {
public int entityId; public int entityId;
@ -31,7 +31,7 @@ public class SPacketCamera implements Packet<NetHandlerPlayClient>
buf.writeVarIntToBuffer(this.entityId); buf.writeVarIntToBuffer(this.entityId);
} }
public void processPacket(NetHandlerPlayClient handler) public void processPacket(ClientPlayer handler)
{ {
handler.handleCamera(this); handler.handleCamera(this);
} }

Some files were not shown because too many files have changed in this diff Show more