Chat Channels - Hempfest/Clans GitHub Wiki
Below is a small example of creating and using a custom chat channel. Only those currently active within the channel can see its messages.
@EventHandler
public void onTabInstert(TabInsertEvent e) {
List<String> tab2 = new ArrayList<>(Arrays.asList("secret"));
String[] args = e.getCommandArgs();
if (args[0].equalsIgnoreCase("chat")) {
for (String t : tab2) {
if (!e.getArgs(2).contains(t)) {
e.add(2, t);
}
}
}
}
@EventHandler
public void onChannelSwitch(SubCommandEvent e) {
String[] args = e.getArgs();
if (args.length == 2) {
if (args[0].equalsIgnoreCase("chat")) {
if (args[1].equalsIgnoreCase("secret")) {
if (HempfestClans.chatMode.get(e.getSender()).equals("SECRET")) {
HempfestClans.chatMode.put(e.getSender(), "GLOBAL");
e.stringLibrary().sendMessage(e.getSender(), "Now in &fGLOBAL&7 chat");
} else {
HempfestClans.chatMode.put(e.getSender(), "SECRET");
e.stringLibrary().sendMessage(e.getSender(), "Now in &6SECRET&7 chat");
}
e.setReturn(true);
}
}
}
}
@EventHandler
public void onSecretChannel(CustomChatEvent e) {
if (e.getChannel().equals("SECRET")) {
e.setPrefix("&2(&aSecret&2) &7" + e.getChatting().getName() + " &r");
e.setDivider("&7&o: &r");
e.setHighlight("&f&o[&b" + HempfestClans.clanManager(e.getChatting()).getClanTag() + "&f&o]");
e.setHoverMeta("&b&oI have &7&o" + HempfestClans.clanManager(e.getChatting()).getPower() + " &b&oclan power.");
e.setPingSound(Sound.ENTITY_CHICKEN_EGG);
}
}