package net.sf.l2j.gameserver.handler.voicedcommandhandlers;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.base.ClassRace;
import net.sf.l2j.gameserver.network.clientpackets.Say2;
import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;
public class RaceCommand implements IVoicedCommandHandler {
private static final Map<String,ClassRace> raceCom= new HashMap<>();
@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar,
String params) {
ClassRace charRace = activeChar.getRace();
String commandTo = null;
for(String comm : raceCom.keySet())
if(charRace == raceCom.get(comm))
commandTo = comm;
if(params==null) return false;
if(pureEquals(command,commandTo))
{
for(L2PcInstance p : L2World.getInstance().getPlayers())
{
if(p.getRace() == charRace)
p.sendPacket(new CreatureSay(activeChar.getObjectId(),Say2.ALLIANCE,activeChar.getName(),params));
}
}
return true;
}
private static boolean pureEquals(String command,String wat)
{
return new StringTokenizer(command).nextToken().equals(wat)? true :false;
}
@Override
public final String[] getVoicedCommandList() {
raceCom.put("d", ClassRace.DWARF);
raceCom.put("de", ClassRace.DARK_ELF);
raceCom.put("e", ClassRace.ELF);
raceCom.put("h", ClassRace.HUMAN);
raceCom.put("o", ClassRace.ORC);
return raceCom.keySet().toArray(new String[raceCom.size()]);
}
}
Dont forget to register the command