Excessive swearing was becoming a problem in my server, so...
In Maplecharacter.java
After this line
Code:
private boolean hidden;
Add this
Code:
private boolean censor;
After this
Code:
setPosition(new Point(0, 0));
Add this
[Can change this to false if you just want to censor a temporarily, note: Censor will turn off after you chage channels if you change it to false]
Add this
Code:
public boolean getCensor() {
return censor;
}
public void setCensor(boolean setTo) {
censor = setTo;
}
After
Code:
public void setMap(int PmapId) {
this.mapid = PmapId;
}
In GeneralChathandler
Add
Code:
if(c.getPlayer().getCensor()) {
String[] badWords = {"fuck", "cunt", "fag", "nigger"};
if (c.getPlayer().getCensor()) {
for (int i = 0; i < 3; i++) {
if (text.toLowerCase().contains(badWords[i])) {
text = "I have a potty mouth.";
}
}
}
}
}
After
Code:
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
String text = slea.readMapleAsciiString();
And Finally in
GMCommands.java [commandprocessor.java, depends which source you're using]
Add
Code:
} else if (splitted[0].equals("!censoron"))
{
MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(splitted[1]);
victim.setCensor(false);
mc.dropMessage(victim.getName() + " is now censored.");
victim.dropMessage("You are now censored.");
} else if (splitted[0].equals("!censoroff")) {
MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(splitted[1]);
victim.setCensor(true);
mc.dropMessage("You have censored " + victim.getName());
mc.dropMessage(victim.getName() + " is no longer censored.");
victim.dropMessage("You are no longer censored.");
If anyone could help me make this case insensitive, it would be very helpful.