mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-09-30 00:27:26 +02:00
add update for global presence handler
This commit is contained in:
parent
59b501b2b1
commit
12bf4e9dcf
@ -16,130 +16,137 @@ import org.bukkit.plugin.java.JavaPlugin;
|
|||||||
|
|
||||||
public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
|
public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
|
||||||
{
|
{
|
||||||
private static final Logger LOGGER = Logger.getLogger("Minecraft");
|
private static final Logger LOGGER = Logger.getLogger("Minecraft");
|
||||||
private static EssentialsXMPP instance = null;
|
private static EssentialsXMPP instance = null;
|
||||||
private transient UserManager users;
|
private transient UserManager users;
|
||||||
private transient XMPPManager xmpp;
|
private transient XMPPManager xmpp;
|
||||||
private transient IEssentials ess;
|
private transient IEssentials ess;
|
||||||
|
|
||||||
public static IEssentialsXMPP getInstance()
|
public static IEssentialsXMPP getInstance()
|
||||||
{
|
{
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable()
|
public void onEnable()
|
||||||
{
|
{
|
||||||
instance = this;
|
instance = this;
|
||||||
|
|
||||||
final PluginManager pluginManager = getServer().getPluginManager();
|
final PluginManager pluginManager = getServer().getPluginManager();
|
||||||
ess = (IEssentials)pluginManager.getPlugin("Essentials");
|
ess = (IEssentials)pluginManager.getPlugin("Essentials");
|
||||||
if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
|
if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
|
||||||
{
|
{
|
||||||
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
|
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
|
||||||
}
|
}
|
||||||
if (!ess.isEnabled())
|
if (!ess.isEnabled())
|
||||||
{
|
{
|
||||||
this.setEnabled(false);
|
this.setEnabled(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final EssentialsXMPPPlayerListener playerListener = new EssentialsXMPPPlayerListener(ess);
|
final EssentialsXMPPPlayerListener playerListener = new EssentialsXMPPPlayerListener(ess);
|
||||||
pluginManager.registerEvents(playerListener, this);
|
pluginManager.registerEvents(playerListener, this);
|
||||||
|
|
||||||
users = new UserManager(this.getDataFolder());
|
users = new UserManager(this.getDataFolder());
|
||||||
xmpp = new XMPPManager(this);
|
xmpp = new XMPPManager(this);
|
||||||
|
|
||||||
ess.addReloadListener(users);
|
ess.addReloadListener(users);
|
||||||
ess.addReloadListener(xmpp);
|
ess.addReloadListener(xmpp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable()
|
public void onDisable()
|
||||||
{
|
{
|
||||||
if (xmpp != null)
|
if (xmpp != null)
|
||||||
{
|
{
|
||||||
xmpp.disconnect();
|
xmpp.disconnect();
|
||||||
}
|
}
|
||||||
instance = null;
|
instance = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String commandLabel, final String[] args)
|
public boolean onCommand(final CommandSender sender, final Command command, final String commandLabel, final String[] args)
|
||||||
{
|
{
|
||||||
return ess.onCommandEssentials(sender, command, commandLabel, args, EssentialsXMPP.class.getClassLoader(), "com.earth2me.essentials.xmpp.Command", "essentials.", null);
|
return ess.onCommandEssentials(sender, command, commandLabel, args, EssentialsXMPP.class.getClassLoader(), "com.earth2me.essentials.xmpp.Command", "essentials.", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAddress(final Player user, final String address)
|
public void setAddress(final Player user, final String address)
|
||||||
{
|
{
|
||||||
final String username = user.getName().toLowerCase(Locale.ENGLISH);
|
final String username = user.getName().toLowerCase(Locale.ENGLISH);
|
||||||
instance.users.setAddress(username, address);
|
instance.users.setAddress(username, address);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getAddress(final String name)
|
public String getAddress(final String name)
|
||||||
{
|
{
|
||||||
return instance.users.getAddress(name);
|
return instance.users.getAddress(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IUser getUserByAddress(final String address)
|
public IUser getUserByAddress(final String address)
|
||||||
{
|
{
|
||||||
String username = instance.users.getUserByAddress(address);
|
String username = instance.users.getUserByAddress(address);
|
||||||
return username == null ? null : ess.getUser(username);
|
return username == null ? null : ess.getUser(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean toggleSpy(final Player user)
|
public boolean toggleSpy(final Player user)
|
||||||
{
|
{
|
||||||
final String username = user.getName().toLowerCase(Locale.ENGLISH);
|
final String username = user.getName().toLowerCase(Locale.ENGLISH);
|
||||||
final boolean spy = !instance.users.isSpy(username);
|
final boolean spy = !instance.users.isSpy(username);
|
||||||
instance.users.setSpy(username, spy);
|
instance.users.setSpy(username, spy);
|
||||||
return spy;
|
return spy;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getAddress(final Player user)
|
public String getAddress(final Player user)
|
||||||
{
|
{
|
||||||
return instance.users.getAddress(user.getName());
|
return instance.users.getAddress(user.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean sendMessage(final Player user, final String message)
|
public boolean sendMessage(final Player user, final String message)
|
||||||
{
|
{
|
||||||
return instance.xmpp.sendMessage(instance.users.getAddress(user.getName()), message);
|
return instance.xmpp.sendMessage(instance.users.getAddress(user.getName()), message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean sendMessage(final String address, final String message)
|
public boolean sendMessage(final String address, final String message)
|
||||||
{
|
{
|
||||||
return instance.xmpp.sendMessage(address, message);
|
return instance.xmpp.sendMessage(address, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
// @Override
|
||||||
public List<String> getSpyUsers()
|
public static boolean updatePresence()
|
||||||
{
|
{
|
||||||
return instance.users.getSpyUsers();
|
instance.xmpp.updatePresence();
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void broadcastMessage(final IUser sender, final String message, final String xmppAddress)
|
public List<String> getSpyUsers()
|
||||||
{
|
{
|
||||||
ess.broadcastMessage(sender, message);
|
return instance.users.getSpyUsers();
|
||||||
try
|
}
|
||||||
{
|
|
||||||
for (String address : getSpyUsers())
|
@Override
|
||||||
{
|
public void broadcastMessage(final IUser sender, final String message, final String xmppAddress)
|
||||||
if (!address.equalsIgnoreCase(xmppAddress))
|
{
|
||||||
{
|
ess.broadcastMessage(sender, message);
|
||||||
sendMessage(address, message);
|
try
|
||||||
}
|
{
|
||||||
}
|
for (String address : getSpyUsers())
|
||||||
}
|
{
|
||||||
catch (Exception ex)
|
if (!address.equalsIgnoreCase(xmppAddress))
|
||||||
{
|
{
|
||||||
// Ignore exceptions
|
sendMessage(address, message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Ignore exceptions
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user