Refactor all the tab APIs

This commit is contained in:
md_5
2013-06-08 14:06:09 +10:00
parent 9b9addfccd
commit b4220e9229
11 changed files with 67 additions and 52 deletions

View File

@@ -3,7 +3,7 @@ package net.md_5.bungee.api.config;
import java.net.InetSocketAddress;
import java.util.Map;
import lombok.Data;
import net.md_5.bungee.api.TabListHandler;
import net.md_5.bungee.api.tab.TabListHandler;
/**
* Class representing the configuration of a server listener. Used for allowing

View File

@@ -1,9 +1,9 @@
package net.md_5.bungee.api;
package net.md_5.bungee.api.tab;
/**
* Represents a custom tab list, which may have slots manipulated.
*/
public interface TabAPI
public interface TabAPI extends TabListHandler
{
/**

View File

@@ -0,0 +1,40 @@
package net.md_5.bungee.api.tab;
import lombok.Getter;
import lombok.NoArgsConstructor;
import net.md_5.bungee.api.tab.TabListHandler;
import net.md_5.bungee.api.connection.ProxiedPlayer;
@NoArgsConstructor
public abstract class TabListAdapter implements TabListHandler
{
@Getter
private ProxiedPlayer player;
@Override
public void init(ProxiedPlayer player)
{
this.player = player;
}
@Override
public void onConnect()
{
}
@Override
public void onDisconnect()
{
}
@Override
public void onServerChange()
{
}
@Override
public void onPingChange(int ping)
{
}
}

View File

@@ -1,29 +1,30 @@
package net.md_5.bungee.api;
package net.md_5.bungee.api.tab;
import lombok.Data;
import net.md_5.bungee.api.connection.ProxiedPlayer;
@Data
public abstract class TabListHandler
public interface TabListHandler
{
private final ProxiedPlayer player;
/**
* Called so that this class may set member fields to keep track of its
* internal state. You should not do any packet sending or manipulation of
* the passed player, other than storing it.
*
* @param player the player to be associated with this list
*/
void init(ProxiedPlayer player);
/**
* Called when this player first connects to the proxy.
*/
public void onConnect()
{
}
void onConnect();
/**
* Called when a player first connects to the proxy.
*
* @param player the connecting player
*/
public void onServerChange()
{
}
void onServerChange();
/**
* Called when a players ping changes. The new ping will have not updated in
@@ -32,18 +33,14 @@ public abstract class TabListHandler
* @param player the player who's ping changed
* @param ping the player's new ping.
*/
public void onPingChange(int ping)
{
}
void onPingChange(int ping);
/**
* Called when a player disconnects.
*
* @param player the disconnected player
*/
public void onDisconnect()
{
}
void onDisconnect();
/**
* Called when a list update packet is sent from server to client.
@@ -54,5 +51,5 @@ public abstract class TabListHandler
* @param ping ping of the subject player
* @return whether to send the packet to the client
*/
public abstract boolean onListUpdate(String name, boolean online, int ping);
boolean onListUpdate(String name, boolean online, int ping);
}