1 20 21 package freecs.commands; 22 import freecs.Server; 23 import freecs.interfaces.ICommand; 24 import freecs.interfaces.IGroupState; 25 import freecs.content.MessageState; 26 27 32 public class CmdChangeColor extends AbstractCommand { 33 public final String cmd= "/col"; 34 private static final ICommand selve= new CmdChangeColor(); 35 36 private CmdChangeColor () { } 37 38 public static ICommand getInstance () { 39 return selve; 40 } 41 42 public boolean execute (MessageState msgState, String param) { 43 if (isPunished (msgState)) return false; 44 msgState.param = param; 45 msgState.targetGroup=msgState.sender.getGroup(); 46 if (msgState.targetGroup == null) return false; 47 if (msgState.targetGroup.hasState(IGroupState.ENTRANCE)) { 48 msgState.msgTemplate = "error.col.startingGroup"; 49 msgState.sender.sendMessage(msgState.mp); 50 return false; 51 } 52 if (msgState.sender.getGroup().hasState(IGroupState.MODERATED)) { 53 msgState.msgTemplate = "error.col.noRight"; 54 msgState.sender.sendMessage (msgState.mp); 55 return false; 56 } 57 if (!isColorCodeValid(msgState)) { 58 msgState.sender.sendMessage(msgState.mp); 59 return false; 60 } 61 if (!msgState.sender.changeColCode (param)) { 62 msgState.msgTemplate = "error.col.tooOften"; 63 msgState.param = String.valueOf(Server.srv.COLOR_CHANGE_INTERVAL/1000); 64 msgState.sender.sendMessage (msgState.mp); 65 return false; 66 } 67 msgState.msgTemplate = "message.col"; 68 msgState.targetGroup.sendModeratedMessage (msgState.mp); 69 return true; 70 } 71 } 72 | Popular Tags |