Program: 10548
Project: 10548
Buggy source:
public void execute(Player thePlayer,String theStep){
  plugin=(Denizen)Bukkit.getPluginManager().getPlugin("String_Node_Str");
  String[] executeArgs=theStep.split("String_Node_Str");
  NPC theDenizen=CitizensAPI.getNPCRegistry().getNPC(Integer.valueOf(executeArgs[0]));
  String theScript=executeArgs[1];
  String currentStep=executeArgs[2];
  String[] commandArgs=new String[25];
  String[] argumentPopulator=executeArgs[4].split("String_Node_Str");
  for (int count=0; count < 25; count++) {
    if (argumentPopulator.length > count)     commandArgs[count]=argumentPopulator[count];
 else     commandArgs[count]=null;
  }
  if (commandArgs[0].startsWith("String_Node_Str"))   commandArgs[0]=commandArgs[0].substring(1);
switch (Command.valueOf(commandArgs[0].toUpperCase())) {
case ZAP:
    Denizen.getScript.zap(thePlayer,theScript,currentStep,commandArgs[1]);
  break;
case ENGAGE:
Denizen.engagedNPC.add(theDenizen);
break;
case DISENGAGE:
if (Denizen.engagedNPC.contains(theDenizen)) Denizen.engagedNPC.remove(theDenizen);
break;
case SPAWNMOB:
case SPAWN:
Denizen.getWorld.spawnMob(commandArgs[1],commandArgs[2],commandArgs[3],theDenizen);
break;
case SWITCH:
Location switchLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
if (switchLoc.getBlock().getType() == Material.LEVER) {
World theWorld=switchLoc.getWorld();
net.minecraft.server.Block.LEVER.interact(((CraftWorld)theWorld).getHandle(),switchLoc.getBlockX(),switchLoc.getBlockY(),switchLoc.getBlockZ(),null);
}
break;
case PRESS:
Location pressLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
if (pressLoc.getBlock().getType() == Material.STONE_BUTTON) {
World theWorld=pressLoc.getWorld();
net.minecraft.server.Block.STONE_BUTTON.interact(((CraftWorld)theWorld).getHandle(),pressLoc.getBlockX(),pressLoc.getBlockY(),pressLoc.getBlockZ(),null);
}
break;
case WEATHER:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.getWorld().setStorm(false);
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.getWorld().setThundering(true);
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.getWorld().setStorm(true);
}
break;
case CAST:
thePlayer.addPotionEffect(new PotionEffect(PotionEffectType.getByName(commandArgs[1].toUpperCase()),Integer.valueOf(commandArgs[2]) * 20,Integer.valueOf(commandArgs[3])));
break;
case EFFECT:
break;
case LOOK:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
if (!theDenizen.getTrait(LookClose.class).toggle()) theDenizen.getTrait(LookClose.class).toggle();
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
if (theDenizen.getTrait(LookClose.class).toggle()) theDenizen.getTrait(LookClose.class).toggle();
}
 else if (!commandArgs[1].equalsIgnoreCase("String_Node_Str") && !commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
NPC denizenLooking=theDenizen;
Location lookLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
denizenLooking.getBukkitEntity().getLocation().setPitch(lookLoc.getPitch());
denizenLooking.getBukkitEntity().getLocation().setYaw(lookLoc.getYaw());
}
break;
case GIVE:
String[] theItem=Denizen.getRequirements.splitItem(commandArgs[1]);
ItemStack giveItem=new ItemStack(Material.AIR);
if (Character.isDigit(theItem[0].charAt(0))) {
giveItem.setTypeId(Integer.valueOf(theItem[0]));
giveItem.getData().setData(Byte.valueOf(theItem[1]));
}
 else giveItem.setType(Material.getMaterial(commandArgs[1].toUpperCase()));
if (commandArgs[2] != null) giveItem.setAmount(Integer.valueOf(commandArgs[2]));
 else giveItem.setAmount(1);
theDenizen.getBukkitEntity().getWorld().dropItem(theDenizen.getBukkitEntity().getLocation(),giveItem);
break;
case TAKE:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
double playerMoneyAmt=Denizen.denizenEcon.getBalance(thePlayer.getName());
double amtToTake=Double.valueOf(commandArgs[2]);
if (amtToTake > playerMoneyAmt) amtToTake=playerMoneyAmt;
Denizen.denizenEcon.withdrawPlayer(thePlayer.getName(),amtToTake);
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.setItemInHand(new ItemStack(Material.AIR));
}
 else {
String[] theTakeItem=Denizen.getRequirements.splitItem(commandArgs[1]);
ItemStack itemToTake=new ItemStack(Material.AIR);
if (Character.isDigit(theTakeItem[0].charAt(0))) {
itemToTake.setTypeId(Integer.valueOf(theTakeItem[0]));
itemToTake.getData().setData(Byte.valueOf(theTakeItem[1]));
}
 else itemToTake.setType(Material.getMaterial(commandArgs[1].toUpperCase()));
if (commandArgs[2] != null) itemToTake.setAmount(Integer.valueOf(commandArgs[2]));
 else itemToTake.setAmount(1);
thePlayer.getInventory().removeItem(itemToTake);
}
break;
case HEAL:
int health=1;
if (commandArgs[1] != null) health=Integer.valueOf(commandArgs[1]);
((LivingEntity)thePlayer).setHealth(thePlayer.getHealth() + health);
break;
case HURT:
int damage=1;
if (commandArgs[1] != null) damage=Integer.valueOf(commandArgs[1]);
thePlayer.damage(damage,theDenizen.getBukkitEntity());
break;
case TELEPORT:
thePlayer.teleport(Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str"));
case STRIKE:
thePlayer.getWorld().strikeLightning(thePlayer.getLocation());
break;
case WALK:
Denizen.previousNPCLoc.put(theDenizen,theDenizen.getBukkitEntity().getLocation());
if (!commandArgs[1].isEmpty()) theDenizen.getAI().setDestination(theDenizen.getBukkitEntity().getLocation().add(Double.parseDouble(commandArgs[2]),Double.parseDouble(commandArgs[3]),Double.parseDouble(commandArgs[1])));
break;
case WALKTO:
Location walkLoc=Denizen.getDenizen.getBookmark(CitizensAPI.getNPCRegistry().getNPC(Integer.valueOf(executeArgs[0])),commandArgs[1],"String_Node_Str");
Denizen.previousNPCLoc.put(theDenizen,theDenizen.getBukkitEntity().getLocation());
theDenizen.getAI().setDestination(walkLoc);
break;
case RETURN:
if (Denizen.previousNPCLoc.containsKey(theDenizen)) theDenizen.getAI().setDestination(Denizen.previousNPCLoc.get(theDenizen));
break;
case FINISH:
int finishes=plugin.getAssignments().getInt("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeArgs[1]+ "String_Node_Str"+ "String_Node_Str",0);
finishes++;
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeArgs[1]+ "String_Node_Str"+ "String_Node_Str",finishes);
plugin.saveSaves();
break;
case FAIL:
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeArgs[1]+ "String_Node_Str"+ "String_Node_Str",true);
plugin.saveSaves();
break;
case REMEMBER:
break;
case FOLLOW:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().setTarget(thePlayer,false);
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().cancelDestination();
}
break;
case ATTACK:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().setTarget(thePlayer,true);
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().cancelDestination();
}
break;
case RESPAWN:
Location respawnLoc=Denizen.getDenizen.getBookmark(CitizensAPI.getNPCRegistry().getNPC(Integer.valueOf(executeArgs[0])),commandArgs[1],"String_Node_Str");
Denizen.previousNPCLoc.put(theDenizen,theDenizen.getBukkitEntity().getLocation());
theDenizen.getBukkitEntity().getWorld().playEffect(theDenizen.getBukkitEntity().getLocation(),Effect.STEP_SOUND,2);
theDenizen.despawn();
theDenizen.spawn(respawnLoc);
theDenizen.getBukkitEntity().getWorld().playEffect(theDenizen.getBukkitEntity().getLocation(),Effect.STEP_SOUND,2);
break;
case PERMISS:
Denizen.denizenPerms.playerAdd(thePlayer,commandArgs[1]);
break;
case REFUSE:
Denizen.denizenPerms.playerRemove(thePlayer,commandArgs[1]);
break;
case EXECUTE:
String[] executeCommand=executeArgs[4].split("String_Node_Str",3);
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.performCommand(executeCommand[2].replace("String_Node_Str",thePlayer.getName().replace("String_Node_Str",thePlayer.getWorld().getName())));
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
((Player)theDenizen.getBukkitEntity()).setOp(true);
((Player)theDenizen.getBukkitEntity()).performCommand(executeCommand[2].replace("String_Node_Str",thePlayer.getName().replace("String_Node_Str",thePlayer.getWorld().getName())));
((Player)theDenizen.getBukkitEntity()).setOp(false);
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(),executeCommand[2].replace("String_Node_Str",thePlayer.getName().replace("String_Node_Str",thePlayer.getWorld().getName())));
}
break;
case ANNOUNCE:
break;
case NARRATE:
case WHISPER:
case EMOTE:
case SHOUT:
case CHAT:
String[] formattedText=Denizen.scriptEngine.formatChatText(executeArgs[4].split("String_Node_Str",2)[1],commandArgs[0],thePlayer,theDenizen);
List<String> playerText=Denizen.scriptEngine.getMultilineText(formattedText[0]);
List<String> bystanderText=Denizen.scriptEngine.getMultilineText(formattedText[1]);
if (!playerText.isEmpty()) {
for (String text : playerText) {
Denizen.getDenizen.talkToPlayer(theDenizen,thePlayer,text,null,commandArgs[0]);
}
}
for (String text : bystanderText) {
Denizen.getDenizen.talkToPlayer(theDenizen,thePlayer,null,text,commandArgs[0]);
}
break;
case RESET:
String executeScript;
if (commandArgs.length == 2) executeScript=theScript;
 else executeScript=executeArgs[4].split("String_Node_Str",3)[2];
if (commandArgs[1].equalsIgnoreCase("String_Node_Str") || commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeScript+ "String_Node_Str"+ "String_Node_Str",0);
plugin.saveSaves();
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str") || commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeScript+ "String_Node_Str"+ "String_Node_Str",false);
plugin.saveSaves();
}
break;
case CHANGE:
Location blockLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
String[] theChangeItem=Denizen.getRequirements.splitItem(commandArgs[2]);
if (Character.isDigit(theChangeItem[0].charAt(0))) {
blockLoc.getBlock().setTypeId(Integer.valueOf(theChangeItem[0]));
blockLoc.getBlock().setData(Byte.valueOf(theChangeItem[1]));
}
 else blockLoc.getBlock().setType(Material.getMaterial(commandArgs[2].toUpperCase()));
break;
case WAIT:
List<String> CurrentPlayerQue=new ArrayList<String>();
if (Denizen.playerQue.get(thePlayer) != null) CurrentPlayerQue=Denizen.playerQue.get(thePlayer);
Denizen.playerQue.remove(thePlayer);
Long timeDelay=Long.parseLong(commandArgs[1]) * 1000;
String timeWithDelay=String.valueOf(System.currentTimeMillis() + timeDelay);
CurrentPlayerQue.add(1,"String_Node_Str" + timeWithDelay + "String_Node_Str");
Denizen.playerQue.put(thePlayer,CurrentPlayerQue);
break;
case WAITING:
break;
default :
break;
}
return;
}

Fixed version (ground truth):
public void execute(Player thePlayer,String theStep){
  plugin=(Denizen)Bukkit.getPluginManager().getPlugin("String_Node_Str");
  String[] executeArgs=theStep.split("String_Node_Str");
  NPC theDenizen=CitizensAPI.getNPCRegistry().getNPC(Integer.valueOf(executeArgs[0]));
  String theScript=executeArgs[1];
  String currentStep=executeArgs[2];
  String[] commandArgs=new String[25];
  String[] argumentPopulator=executeArgs[4].split("String_Node_Str");
  for (int count=0; count < 25; count++) {
    if (argumentPopulator.length > count)     commandArgs[count]=argumentPopulator[count];
 else     commandArgs[count]=null;
  }
  if (commandArgs[0].startsWith("String_Node_Str"))   commandArgs[0]=commandArgs[0].substring(1);
switch (Command.valueOf(commandArgs[0].toUpperCase())) {
case ZAP:
    Denizen.getScript.zap(thePlayer,theScript,currentStep,commandArgs[1]);
  break;
case ENGAGE:
Denizen.engagedNPC.add(theDenizen);
break;
case DISENGAGE:
if (Denizen.engagedNPC.contains(theDenizen)) Denizen.engagedNPC.remove(theDenizen);
break;
case SPAWNMOB:
case SPAWN:
Denizen.getWorld.spawnMob(commandArgs[1],commandArgs[2],commandArgs[3],theDenizen);
break;
case SWITCH:
Location switchLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
if (switchLoc.getBlock().getType() == Material.LEVER) {
World theWorld=switchLoc.getWorld();
net.minecraft.server.Block.LEVER.interact(((CraftWorld)theWorld).getHandle(),switchLoc.getBlockX(),switchLoc.getBlockY(),switchLoc.getBlockZ(),null);
}
break;
case PRESS:
Location pressLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
if (pressLoc.getBlock().getType() == Material.STONE_BUTTON) {
World theWorld=pressLoc.getWorld();
net.minecraft.server.Block.STONE_BUTTON.interact(((CraftWorld)theWorld).getHandle(),pressLoc.getBlockX(),pressLoc.getBlockY(),pressLoc.getBlockZ(),null);
}
break;
case WEATHER:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.getWorld().setStorm(false);
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.getWorld().setThundering(true);
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.getWorld().setStorm(true);
}
break;
case CAST:
thePlayer.addPotionEffect(new PotionEffect(PotionEffectType.getByName(commandArgs[1].toUpperCase()),Integer.valueOf(commandArgs[2]) * 20,Integer.valueOf(commandArgs[3])));
break;
case EFFECT:
break;
case LOOK:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
if (!theDenizen.getTrait(LookClose.class).toggle()) theDenizen.getTrait(LookClose.class).toggle();
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
if (theDenizen.getTrait(LookClose.class).toggle()) theDenizen.getTrait(LookClose.class).toggle();
}
 else if (!commandArgs[1].equalsIgnoreCase("String_Node_Str") && !commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
NPC denizenLooking=theDenizen;
Location lookLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
denizenLooking.getBukkitEntity().getLocation().setPitch(lookLoc.getPitch());
denizenLooking.getBukkitEntity().getLocation().setYaw(lookLoc.getYaw());
}
break;
case GIVE:
String[] theItem=Denizen.getRequirements.splitItem(commandArgs[1]);
ItemStack giveItem=new ItemStack(Material.AIR);
if (Character.isDigit(theItem[0].charAt(0))) {
giveItem.setTypeId(Integer.valueOf(theItem[0]));
giveItem.getData().setData(Byte.valueOf(theItem[1]));
}
 else giveItem.setType(Material.getMaterial(commandArgs[1].toUpperCase()));
if (commandArgs[2] != null) giveItem.setAmount(Integer.valueOf(commandArgs[2]));
 else giveItem.setAmount(1);
theDenizen.getBukkitEntity().getWorld().dropItem(theDenizen.getBukkitEntity().getLocation(),giveItem);
break;
case TAKE:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
double playerMoneyAmt=Denizen.denizenEcon.getBalance(thePlayer.getName());
double amtToTake=Double.valueOf(commandArgs[2]);
if (amtToTake > playerMoneyAmt) amtToTake=playerMoneyAmt;
Denizen.denizenEcon.withdrawPlayer(thePlayer.getName(),amtToTake);
}
 else if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.setItemInHand(new ItemStack(Material.AIR));
}
 else {
String[] theTakeItem=Denizen.getRequirements.splitItem(commandArgs[1]);
ItemStack itemToTake=new ItemStack(Material.AIR);
if (Character.isDigit(theTakeItem[0].charAt(0))) {
itemToTake.setTypeId(Integer.valueOf(theTakeItem[0]));
itemToTake.getData().setData(Byte.valueOf(theTakeItem[1]));
}
 else itemToTake.setType(Material.getMaterial(commandArgs[1].toUpperCase()));
if (commandArgs[2] != null) itemToTake.setAmount(Integer.valueOf(commandArgs[2]));
 else itemToTake.setAmount(1);
thePlayer.getInventory().removeItem(itemToTake);
}
break;
case HEAL:
int health=1;
if (commandArgs[1] != null) health=Integer.valueOf(commandArgs[1]);
((LivingEntity)thePlayer).setHealth(thePlayer.getHealth() + health);
break;
case HURT:
int damage=1;
if (commandArgs[1] != null) damage=Integer.valueOf(commandArgs[1]);
thePlayer.damage(damage,theDenizen.getBukkitEntity());
break;
case TELEPORT:
thePlayer.teleport(Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str"));
case STRIKE:
thePlayer.getWorld().strikeLightning(thePlayer.getLocation());
break;
case WALK:
Denizen.previousNPCLoc.put(theDenizen,theDenizen.getBukkitEntity().getLocation());
if (!commandArgs[1].isEmpty()) theDenizen.getAI().setDestination(theDenizen.getBukkitEntity().getLocation().add(Double.parseDouble(commandArgs[2]),Double.parseDouble(commandArgs[3]),Double.parseDouble(commandArgs[1])));
break;
case WALKTO:
Location walkLoc=Denizen.getDenizen.getBookmark(CitizensAPI.getNPCRegistry().getNPC(Integer.valueOf(executeArgs[0])),commandArgs[1],"String_Node_Str");
Denizen.previousNPCLoc.put(theDenizen,theDenizen.getBukkitEntity().getLocation());
theDenizen.getAI().setDestination(walkLoc);
break;
case RETURN:
if (Denizen.previousNPCLoc.containsKey(theDenizen)) theDenizen.getAI().setDestination(Denizen.previousNPCLoc.get(theDenizen));
break;
case FINISH:
int finishes=plugin.getAssignments().getInt("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeArgs[1]+ "String_Node_Str"+ "String_Node_Str",0);
finishes++;
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeArgs[1]+ "String_Node_Str"+ "String_Node_Str",finishes);
plugin.saveSaves();
break;
case FAIL:
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeArgs[1]+ "String_Node_Str"+ "String_Node_Str",true);
plugin.saveSaves();
break;
case REMEMBER:
break;
case FOLLOW:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().setTarget(thePlayer,false);
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().cancelDestination();
}
break;
case ATTACK:
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().setTarget(thePlayer,true);
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
theDenizen.getAI().cancelDestination();
}
break;
case RESPAWN:
Location respawnLoc=Denizen.getDenizen.getBookmark(CitizensAPI.getNPCRegistry().getNPC(Integer.valueOf(executeArgs[0])),commandArgs[1],"String_Node_Str");
Denizen.previousNPCLoc.put(theDenizen,theDenizen.getBukkitEntity().getLocation());
theDenizen.getBukkitEntity().getWorld().playEffect(theDenizen.getBukkitEntity().getLocation(),Effect.STEP_SOUND,2);
theDenizen.despawn();
theDenizen.spawn(respawnLoc);
theDenizen.getBukkitEntity().getWorld().playEffect(theDenizen.getBukkitEntity().getLocation(),Effect.STEP_SOUND,2);
break;
case PERMISS:
Denizen.denizenPerms.playerAdd(thePlayer,commandArgs[1]);
break;
case REFUSE:
Denizen.denizenPerms.playerRemove(thePlayer,commandArgs[1]);
break;
case EXECUTE:
String[] executeCommand=executeArgs[4].split("String_Node_Str",3);
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
thePlayer.performCommand(executeCommand[2].replace("String_Node_Str",thePlayer.getName().replace("String_Node_Str",thePlayer.getWorld().getName())));
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
((Player)theDenizen.getBukkitEntity()).setOp(true);
((Player)theDenizen.getBukkitEntity()).performCommand(executeCommand[2].replace("String_Node_Str",thePlayer.getName().replace("String_Node_Str",thePlayer.getWorld().getName())));
((Player)theDenizen.getBukkitEntity()).setOp(false);
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(),executeCommand[2].replace("String_Node_Str",thePlayer.getName().replace("String_Node_Str",thePlayer.getWorld().getName())));
}
break;
case ANNOUNCE:
break;
case NARRATE:
case WHISPER:
case EMOTE:
case SHOUT:
case CHAT:
String[] formattedText=Denizen.scriptEngine.formatChatText(executeArgs[4].split("String_Node_Str",2)[1],commandArgs[0],thePlayer,theDenizen);
List<String> playerText=Denizen.scriptEngine.getMultilineText(formattedText[0]);
List<String> bystanderText=Denizen.scriptEngine.getMultilineText(formattedText[1]);
if (!playerText.isEmpty()) {
for (String text : playerText) {
Denizen.getDenizen.talkToPlayer(theDenizen,thePlayer,text,null,commandArgs[0]);
}
}
if (!bystanderText.isEmpty()) {
for (String text : bystanderText) {
Denizen.getDenizen.talkToPlayer(theDenizen,thePlayer,null,text,commandArgs[0]);
}
}
break;
case RESET:
String executeScript;
if (commandArgs.length == 2) executeScript=theScript;
 else executeScript=executeArgs[4].split("String_Node_Str",3)[2];
if (commandArgs[1].equalsIgnoreCase("String_Node_Str") || commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeScript+ "String_Node_Str"+ "String_Node_Str",0);
plugin.saveSaves();
}
if (commandArgs[1].equalsIgnoreCase("String_Node_Str") || commandArgs[1].equalsIgnoreCase("String_Node_Str")) {
plugin.getSaves().set("String_Node_Str" + thePlayer.getName() + "String_Node_Str"+ executeScript+ "String_Node_Str"+ "String_Node_Str",false);
plugin.saveSaves();
}
break;
case CHANGE:
Location blockLoc=Denizen.getDenizen.getBookmark(theDenizen,commandArgs[1],"String_Node_Str");
String[] theChangeItem=Denizen.getRequirements.splitItem(commandArgs[2]);
if (Character.isDigit(theChangeItem[0].charAt(0))) {
blockLoc.getBlock().setTypeId(Integer.valueOf(theChangeItem[0]));
blockLoc.getBlock().setData(Byte.valueOf(theChangeItem[1]));
}
 else blockLoc.getBlock().setType(Material.getMaterial(commandArgs[2].toUpperCase()));
break;
case WAIT:
List<String> CurrentPlayerQue=new ArrayList<String>();
if (Denizen.playerQue.get(thePlayer) != null) CurrentPlayerQue=Denizen.playerQue.get(thePlayer);
Denizen.playerQue.remove(thePlayer);
Long timeDelay=Long.parseLong(commandArgs[1]) * 1000;
String timeWithDelay=String.valueOf(System.currentTimeMillis() + timeDelay);
CurrentPlayerQue.add(1,"String_Node_Str" + timeWithDelay + "String_Node_Str");
Denizen.playerQue.put(thePlayer,CurrentPlayerQue);
break;
case WAITING:
break;
default :
break;
}
return;
}