Commands:
Code:
if(command.startsWith("joinclan")) {
String clan = command.substring(9);
sendMessage("Joining "+clan+"'s clanchat!");
server.clanChat.joinClan(playerId, clan);
}
if(command.equalsIgnoreCase("leaveclan")) {
server.clanChat.leaveClan(playerId);
sendMessage("Leaving clan!");
}
if(command.startsWith("kickfromclan")) {
String name = command.substring(13);
sendMessage("Kicking "+name+" from clan!");
server.clanChat.kickUserFromClan(playerId, name);
}
if(command.startsWith("banfromclan")) {
String name = command.substring(12);
sendMessage("Banning "+name+" from clan!");
server.clanChat.banUserFromClan(playerId, name);
}
if(command.startsWith("sendccmessage")) {
String message = command.substring(14);
sendMessage("Sending message "+message+" to clan!");
server.clanChat.sendClanMessage(playerId, message);
}
if(command.equalsIgnoreCase("createclan")) {
sendMessage("Creating clan!");
server.clanChat.createClan(playerId);
}
if(command.startsWith("setmotd")) {
String[] lines = command.split("==");
motd = lines;
sendMessage("Motd was set!");
}
if(command.equals("clearmotd")) {
for(int i = 0; i < motd.length; i++) {
motd[i] = null;
}
}
if(command.startsWith("addadmin")) {
String name = command.substring(9);
clanAdmins.add(name);
sendMessage(name+" was added to clan admins!");
}
if(command.startsWith("removeadmin")) {
String name = command.substring(12);
clanAdmins.remove(name);
sendMessage(name+" was removed from clan admins!");
}
Player.java
Code:
public boolean inClanChat;
public boolean madeClan;
public String clanChatJoined;
public String[] motd;
public ArrayList<String> clanAdmins = new ArrayList<String>();
public ArrayList<String> peopleInClan = new ArrayList<String>();
public ArrayList<String> bannedUsers = new ArrayList<String>();
New class, ClanChat
Code:
import java.util.ArrayList;
import java.util.HashMap;
public class ClanChat {
@SuppressWarnings("unchecked")
public static HashMap<String, ArrayList> clans = new HashMap<String, ArrayList>();
public boolean joinClan(int playerId, String joinWho) {
client player = (client) PlayerHandler.players[playerId];
client clanOwner;
try {
clanOwner = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(joinWho.toString())];
} catch (java.lang.ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
clanOwner = (client) PlayerHandler.players[playerId];
}
if (!clanOwner.madeClan) {
player.sendMessage(joinWho + " has not made a clan!");
return false;
} else if (clanOwner.bannedUsers.contains(player.playerName)) {
player
.sendMessage("Sorry you are currently banned from this channel!");
return false;
} else if (player.inClanChat) {
player.sendMessage("You are already in a clan chat!");
return false;
} else {
player.clanChatJoined = joinWho;
player.inClanChat = true;
player.sendMessage("You have joined " + joinWho + "'s clan!");
clanOwner.peopleInClan.add(player.playerName);
clans.put(joinWho, clanOwner.peopleInClan);
sendMotd(playerId);
clanSystemMessage(joinWho, player.playerName + " has joined "
+ joinWho);
}
return true;
}
public void leaveClan(int playerId) {
client player = (client) PlayerHandler.players[playerId];
client clanOwner = null;
try {
clanOwner = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(player.clanChatJoined)];
} catch (java.lang.ArrayIndexOutOfBoundsException e) {
player = (client) PlayerHandler.players[playerId];
}
if(player.clanChatJoined == "null" || !player.inClanChat) {
player.sendMessage("You are not in a clan chat!");
return;
}
clanOwner.peopleInClan.remove(player.playerName);
clans.put(player.clanChatJoined, clanOwner.peopleInClan);
clanSystemMessage(player.clanChatJoined, player.playerName+" has left "+player.clanChatJoined);
player.clanChatJoined = "null";
player.inClanChat = false;
player.sendMessage("You left the clan chat!");
}
public void sendMotd(int playerId) {
client player = (client) PlayerHandler.players[playerId];
client clanOwner = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(player.clanChatJoined.toString())];
player.sendMessage("[Clan] Welcome to " + clanOwner.playerName
+ "'s clan chat, enjoy!");
try {
for (int i = 0; i < clanOwner.motd.length; i++) {
player.sendMessage("[Motd] " + clanOwner.motd[i]);
}
} catch (java.lang.NullPointerException e) {
// no motd
}
}
public void kickUserFromClan(int playerId, String victimName) {
client player = (client) PlayerHandler.players[playerId];
client clanOwner = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(player.clanChatJoined.toString())];
client victim = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(victimName.toString())];
if (victim.clanChatJoined != player.playerName || !victim.inClanChat) {
player.sendMessage("That player is not in this clan!");
return;
}
if (!clanOwner.clanAdmins.contains(player.playerName)
|| !player.playerName.equals(player.clanChatJoined)) {
player
.sendMessage("You need the correct rights to do this command!");
return;
}
victim.sendMessage("You were kicked from " + player.playerName);
leaveClan(PlayerHandler.getPlayerID(victimName));
player.sendMessage(victimName + " was kicked from your clan chat!");
}
public void banUserFromClan(int playerId, String victimName) {
client player = (client) PlayerHandler.players[playerId];
client victim = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(victimName.toString())];
client clanOwner = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(player.clanChatJoined.toString())];
if (!clanOwner.clanAdmins.contains(player.playerName)
|| !player.playerName.equals(player.clanChatJoined)) {
player
.sendMessage("You need the correct rights to do this command!");
return;
}
player.bannedUsers.add(victimName);
victim.sendMessage("You have been banned from " + player.playerName);
kickUserFromClan(playerId, victimName);
player.sendMessage("You have banned " + victimName
+ " from you clan chat!");
}
public boolean createClan(int playerId) {
client player = (client) PlayerHandler.players[playerId];
if (player.madeClan) {
player.sendMessage("You have already created a clanchat!");
return false;
}
player.madeClan = true;
joinClan(playerId, player.playerName);
player.sendMessage("Your clan has been sucsessfully created!");
return true;
}
@SuppressWarnings("unchecked")
public void clanSystemMessage(String clanOwner, String message) {
client player = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(clanOwner)];
ArrayList<String> users = clans.get(player.clanChatJoined);
for (String s : users) {
client user = null;
try {
user = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(s.toString())];
user.sendMessage("[Clan System] " + message);
} catch (java.lang.ArrayIndexOutOfBoundsException e) {
//null
}
}
}
@SuppressWarnings("unchecked")
public void sendClanMessage(int playerId, String message) {
client player = (client) PlayerHandler.players[playerId];
ArrayList<String> users = clans.get(player.clanChatJoined);
if(!player.inClanChat || player.clanChatJoined == "null") {
player.sendMessage("You have not joined a clan chat!");
return;
}
for (String s : users) {
client user = null;
try {
user = (client) PlayerHandler.players[PlayerHandler
.getPlayerID(s.toString())];
user.sendMessage("[" + user.clanChatJoined + "] "
+ player.playerName + ": " + message);
} catch (java.lang.ArrayIndexOutOfBoundsException e) {
//null
}
}
}
}
Ill be updating it and stuff, this is just the basic one atm.