Fix custom tab API to allow using as soon as constructed

This commit is contained in:
md_5 2013-06-16 15:40:31 +10:00
parent fbf2d8969e
commit 92c3ef1989
4 changed files with 10 additions and 4 deletions

View File

@ -245,7 +245,8 @@ public abstract class ProxyServer
/** /**
* Gets a new instance of this proxies custom tab list. * Gets a new instance of this proxies custom tab list.
* *
* @param player the player to generate this list in the context of
* @return a new {@link CustomTabList} instance * @return a new {@link CustomTabList} instance
*/ */
public abstract CustomTabList customTabList(); public abstract CustomTabList customTabList(ProxiedPlayer player);
} }

View File

@ -2,7 +2,6 @@ package net.md_5.bungee.api.tab;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import net.md_5.bungee.api.tab.TabListHandler;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
@NoArgsConstructor @NoArgsConstructor

View File

@ -516,8 +516,8 @@ public class BungeeCord extends ProxyServer
} }
@Override @Override
public CustomTabList customTabList() public CustomTabList customTabList(ProxiedPlayer player)
{ {
return new Custom(); return new Custom( player );
} }
} }

View File

@ -4,6 +4,7 @@ import com.google.common.base.Preconditions;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.tab.CustomTabList; import net.md_5.bungee.api.tab.CustomTabList;
import net.md_5.bungee.api.tab.TabListAdapter; import net.md_5.bungee.api.tab.TabListAdapter;
import net.md_5.bungee.protocol.packet.PacketC9PlayerListItem; import net.md_5.bungee.protocol.packet.PacketC9PlayerListItem;
@ -26,6 +27,11 @@ public class Custom extends TabListAdapter implements CustomTabList
private int rowLim; private int rowLim;
private int colLim; private int colLim;
public Custom(ProxiedPlayer player)
{
this.init( player );
}
@Override @Override
public synchronized String setSlot(int row, int column, String text) public synchronized String setSlot(int row, int column, String text)
{ {