String[] commandSplit = command.split(" ");
if (commandSplit.length < 4)
return;
StatsSet newNpcData = new StatsSet();
try
{
newNpcData.set("npcId", commandSplit[1]);
String statToSet = commandSplit[2];
String value = commandSplit[3];
if (commandSplit.length > 4)
{
for (int i=0;i<commandSplit.length-3;i++)
value += " " + commandSplit[i+4];
}
if (statToSet.equals("templateId"))
newNpcData.set("idTemplate", Integer.valueOf(value));
else if (statToSet.equals("name"))
newNpcData.set("name", value);
else if (statToSet.equals("serverSideName"))
newNpcData.set("serverSideName", Integer.valueOf(value));
else if (statToSet.equals("title"))
newNpcData.set("title", value);
else if (statToSet.equals("serverSideTitle"))
newNpcData.set("serverSideTitle", Integer.valueOf(value) == 1 ? 1 : 0);
else if (statToSet.equals("collisionRadius"))
newNpcData.set("collision_radius", Integer.valueOf(value));
else if (statToSet.equals("collisionHeight"))
newNpcData.set("collision_height", Integer.valueOf(value));
else if (statToSet.equals("level"))
newNpcData.set("level", Integer.valueOf(value));
else if (statToSet.equals("sex"))
{
int intValue = Integer.valueOf(value);
newNpcData.set("sex", intValue == 0 ? "male" : intValue == 1 ? "female" : "etc");
}
else if (statToSet.equals("type"))
{
Class.forName("net.sf.l2j.gameserver.model.actor.instance." + value + "Instance");
newNpcData.set("type", value);
}
else if (statToSet.equals("attackRange"))
newNpcData.set("attackrange", Integer.valueOf(value));
else if (statToSet.equals("hp"))
newNpcData.set("hp", Integer.valueOf(value));
else if (statToSet.equals("mp"))
newNpcData.set("mp", Integer.valueOf(value));
else if (statToSet.equals("hpRegen"))
newNpcData.set("hpreg", Integer.valueOf(value));
else if (statToSet.equals("mpRegen"))
newNpcData.set("mpreg", Integer.valueOf(value));
else if (statToSet.equals("str"))
newNpcData.set("str", Integer.valueOf(value));
else if (statToSet.equals("con"))
newNpcData.set("con", Integer.valueOf(value));
else if (statToSet.equals("dex"))
newNpcData.set("dex", Integer.valueOf(value));
else if (statToSet.equals("int"))
newNpcData.set("int", Integer.valueOf(value));
else if (statToSet.equals("wit"))
newNpcData.set("wit", Integer.valueOf(value));
else if (statToSet.equals("men"))
newNpcData.set("men", Integer.valueOf(value));
else if (statToSet.equals("exp"))
newNpcData.set("exp", Integer.valueOf(value));
else if (statToSet.equals("sp"))
newNpcData.set("sp", Integer.valueOf(value));
else if (statToSet.equals("pAtk"))
newNpcData.set("patk", Integer.valueOf(value));
else if (statToSet.equals("pDef"))
newNpcData.set("pdef", Integer.valueOf(value));
else if (statToSet.equals("mAtk"))
newNpcData.set("matk", Integer.valueOf(value));
else if (statToSet.equals("mDef"))
newNpcData.set("mdef", Integer.valueOf(value));
else if (statToSet.equals("pAtkSpd"))
newNpcData.set("atkspd", Integer.valueOf(value));
else if (statToSet.equals("aggro"))
newNpcData.set("aggro", Integer.valueOf(value));
else if (statToSet.equals("mAtkSpd"))
newNpcData.set("matkspd", Integer.valueOf(value));
else if (statToSet.equals("rHand"))
newNpcData.set("rhand", Integer.valueOf(value));
else if (statToSet.equals("lHand"))
newNpcData.set("lhand", Integer.valueOf(value));
else if (statToSet.equals("armor"))
newNpcData.set("armor", Integer.valueOf(value));
else if (statToSet.equals("runSpd"))
newNpcData.set("runspd", Integer.valueOf(value));
else if (statToSet.equals("factionId"))
newNpcData.set("faction_id", value);
else if (statToSet.equals("factionRange"))
newNpcData.set("faction_range", Integer.valueOf(value));
else if (statToSet.equals("isUndead"))
newNpcData.set("isUndead", Integer.valueOf(value) == 1 ? 1 : 0);
else if (statToSet.equals("absorbLevel"))
{
int intVal = Integer.valueOf(value);
newNpcData.set("absorb_level", intVal < 0 ? 0 : intVal > 12 ? 0 : intVal);
}
}
catch (Exception e)
{
_log.warning("Error saving new npc value: " + e);
}
NpcTable.getInstance().saveNpc(newNpcData);
int npcId = newNpcData.getInteger("npcId");
NpcTable.getInstance().reloadNpc(npcId);
Show_Npc_Property(activeChar, NpcTable.getInstance().getTemplate(npcId));
}