use of net.william278.huskchat.channel.Channel in project HuskChat by WiIIiam278.
the class HuskChatBungee method onEnable.
@Override
public void onEnable() {
// Load config
reloadSettings();
// Load messages
reloadMessages();
// Setup player data getter
Plugin luckPerms = ProxyServer.getInstance().getPluginManager().getPlugin("LuckPerms");
if (luckPerms != null) {
playerDataGetter = new LuckPermsDataGetter();
} else {
Plugin bungeePerms = ProxyServer.getInstance().getPluginManager().getPlugin("BungeePerms");
if (bungeePerms != null) {
playerDataGetter = new BungeePermsDataGetter();
} else {
playerDataGetter = new DefaultDataGetter();
}
}
// Register events
getProxy().getPluginManager().registerListener(this, new BungeeListener());
// Register commands
new BungeeCommand(new HuskChatCommand(this));
new BungeeCommand(new ChannelCommand(this));
if (Settings.doMessageCommand) {
new BungeeCommand(new MsgCommand(this));
new BungeeCommand(new ReplyCommand(this));
}
if (Settings.doBroadcastCommand) {
new BungeeCommand(new BroadcastCommand(this));
}
if (Settings.doSocialSpyCommand) {
new BungeeCommand(new SocialSpyCommand(this));
}
if (Settings.doLocalSpyCommand) {
new BungeeCommand(new LocalSpyCommand(this));
}
// Register shortcut commands
for (Channel channel : Settings.channels) {
for (String command : channel.shortcutCommands) {
new BungeeCommand(new ShortcutCommand(command, channel.id, this));
}
}
// Initialise metrics
new Metrics(this, METRICS_ID);
// Plugin startup logic
getLogger().info("Enabled HuskChat version " + getDescription().getVersion());
}
use of net.william278.huskchat.channel.Channel in project HuskChat by WiIIiam278.
the class HuskChatVelocity method onProxyInitialization.
@Subscribe
public void onProxyInitialization(ProxyInitializeEvent event) {
instance = this;
// Load config
reloadSettings();
// Load messages
reloadMessages();
// Setup player data getter
Optional<PluginContainer> luckPerms = getProxyServer().getPluginManager().getPlugin("luckperms");
if (luckPerms.isPresent()) {
playerDataGetter = new LuckPermsDataGetter();
} else {
playerDataGetter = new DefaultDataGetter();
}
// Register events
getProxyServer().getEventManager().register(this, new VelocityListener());
// Register commands
new VelocityCommand(new HuskChatCommand(this));
new VelocityCommand(new ChannelCommand(this));
if (Settings.doMessageCommand) {
new VelocityCommand(new MsgCommand(this));
new VelocityCommand(new ReplyCommand(this));
}
if (Settings.doBroadcastCommand) {
new VelocityCommand(new BroadcastCommand(this));
}
if (Settings.doSocialSpyCommand) {
new VelocityCommand(new SocialSpyCommand(this));
}
if (Settings.doLocalSpyCommand) {
new VelocityCommand(new LocalSpyCommand(this));
}
// Register shortcut commands
for (Channel channel : Settings.channels) {
for (String command : channel.shortcutCommands) {
new VelocityCommand(new ShortcutCommand(command, channel.id, this));
}
}
// Initialise metrics
metricsFactory.make(this, METRICS_ID);
// Plugin startup logic
getLoggingAdapter().info("Enabled HuskChat version " + getMetaVersion());
}
use of net.william278.huskchat.channel.Channel in project HuskChat by WiIIiam278.
the class PlayerCache method switchPlayerChannel.
/**
* Switch the {@link Player}'s channel
*
* @param player {@link Player} to switch the channel of
* @param channelID ID of the channel to switch to
* @param messageManager Instance of the {@link MessageManager} to display switch information via
*/
public static void switchPlayerChannel(Player player, String channelID, MessageManager messageManager) {
for (Channel channel : Settings.channels) {
if (channel.id.equalsIgnoreCase(channelID)) {
if (channel.sendPermission != null) {
if (!player.hasPermission(channel.sendPermission)) {
messageManager.sendMessage(player, "error_no_permission_send", channel.id);
return;
}
}
setPlayerChannel(player.getUuid(), channel.id);
messageManager.sendMessage(player, "channel_switched", channel.id);
return;
}
}
messageManager.sendMessage(player, "error_invalid_channel");
}
Aggregations