Add ping event, change group management and other stuff.
This commit is contained in:
parent
4ce799ac9b
commit
ded4d52151
@ -5,17 +5,54 @@ import java.util.Collection;
|
|||||||
public interface CommandSender
|
public interface CommandSender
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the unique name of this command sender.
|
||||||
|
*
|
||||||
|
* @return the senders username
|
||||||
|
*/
|
||||||
public String getName();
|
public String getName();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send a message to this sender.
|
||||||
|
*
|
||||||
|
* @param message the message to send
|
||||||
|
*/
|
||||||
public void sendMessage(String message);
|
public void sendMessage(String message);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all groups this user is part of.
|
||||||
|
*
|
||||||
|
* @return the users groups
|
||||||
|
*/
|
||||||
public Collection<String> getGroups();
|
public Collection<String> getGroups();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds groups to a this user for the current session only.
|
||||||
|
*
|
||||||
|
* @param groups the groups to add
|
||||||
|
*/
|
||||||
public void addGroups(String... groups);
|
public void addGroups(String... groups);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove groups from this user for the current session only.
|
||||||
|
*
|
||||||
|
* @param groups the groups to remove
|
||||||
|
*/
|
||||||
public void removeGroups(String... groups);
|
public void removeGroups(String... groups);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if this user has the specified permission node.
|
||||||
|
*
|
||||||
|
* @param permission the node to check
|
||||||
|
* @return whether they have this node
|
||||||
|
*/
|
||||||
public boolean hasPermission(String permission);
|
public boolean hasPermission(String permission);
|
||||||
|
|
||||||
public boolean setPermission(String permission, boolean value);
|
/**
|
||||||
|
* Set a permission node for this user.
|
||||||
|
*
|
||||||
|
* @param permission the node to set
|
||||||
|
* @param value the value of the node
|
||||||
|
*/
|
||||||
|
public void setPermission(String permission, boolean value);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package net.md_5.bungee.api.config;
|
package net.md_5.bungee.api.config;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import net.md_5.bungee.api.CommandSender;
|
import net.md_5.bungee.api.CommandSender;
|
||||||
|
|
||||||
@ -32,26 +33,36 @@ public interface ConfigurationAdapter
|
|||||||
* @param path the path to retrieve the list from.
|
* @param path the path to retrieve the list from.
|
||||||
* @return the retrieved list.
|
* @return the retrieved list.
|
||||||
*/
|
*/
|
||||||
public List<String> getStringList(String path);
|
public Collection<String> getStrings(String path);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the configuration all servers which may be accessible via the proxy.
|
* Get the configuration all servers which may be accessible via the proxy.
|
||||||
*
|
*
|
||||||
* @return all accessible servers
|
* @return all accessible servers
|
||||||
*/
|
*/
|
||||||
public List<ServerInfo> getServers();
|
public Collection<ServerInfo> getServers();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get information about all hosts to bind the proxy to.
|
* Get information about all hosts to bind the proxy to.
|
||||||
*
|
*
|
||||||
* @return a list of all hosts to bind to
|
* @return a list of all hosts to bind to
|
||||||
*/
|
*/
|
||||||
public List<ListenerInfo> getListeners();
|
public Collection<ListenerInfo> getListeners();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the permissions of the specified {@link CommandSender}
|
* Get all groups this user is in.
|
||||||
*
|
*
|
||||||
* @param sender the sender to set permissions on.
|
* @param user the user to check
|
||||||
|
* @return all the user's groups.
|
||||||
*/
|
*/
|
||||||
public void setPermissions(CommandSender sender);
|
public Collection<String> getGroups(String user);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all permission corresponding to the specified group. The result of
|
||||||
|
* this method may or may not be cached, depending on the implementation.
|
||||||
|
*
|
||||||
|
* @param group the group to check
|
||||||
|
* @return all true permissions for this group
|
||||||
|
*/
|
||||||
|
public Collection<String> getPermissions(String group);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,6 @@ package net.md_5.bungee.api.connection;
|
|||||||
/**
|
/**
|
||||||
* Represents a player physically connected to the world hosted on this server.
|
* Represents a player physically connected to the world hosted on this server.
|
||||||
*/
|
*/
|
||||||
public interface ConnectedPlayer extends ProxiedPlayer
|
public abstract class ConnectedPlayer extends ProxiedPlayer
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
package net.md_5.bungee.api.event;
|
package net.md_5.bungee.api.event;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
import net.md_5.bungee.api.connection.PendingConnection;
|
import net.md_5.bungee.api.connection.PendingConnection;
|
||||||
import net.md_5.bungee.api.plugin.Cancellable;
|
import net.md_5.bungee.api.plugin.Cancellable;
|
||||||
|
import net.md_5.bungee.api.plugin.Event;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event called to represent a player logging in.
|
* Event called to represent a player logging in.
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class LoginEvent implements Cancellable
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class LoginEvent extends Event implements Cancellable
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package net.md_5.bungee.api.event;
|
||||||
|
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
|
import net.md_5.bungee.api.ServerPing;
|
||||||
|
import net.md_5.bungee.api.config.ListenerInfo;
|
||||||
|
import net.md_5.bungee.api.plugin.Event;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the proxy is pinged with packet 0xFE from the server list.
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class ProxyPingEvent extends Event
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The address of the user pinging.
|
||||||
|
*/
|
||||||
|
private final InetSocketAddress remoteAddress;
|
||||||
|
/**
|
||||||
|
* The data corresponding to the server which received this ping.
|
||||||
|
*/
|
||||||
|
private final ListenerInfo server;
|
||||||
|
/**
|
||||||
|
* The data to respond with.
|
||||||
|
*/
|
||||||
|
private ServerPing response;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user