@Override
  public void jobStateChanged(BlockPlacerJobEntry arg0) {
    int id = arg0.getJobId();
    String n = arg0.getName();
    String s = arg0.getStatusString();
    Log.debug("Job State Changed : ID : " + id + " -- Name : " + n + " -- Status String : " + s);
    InstanceData i = fpRegistry.get(id);

    switch (arg0.getStatus()) {
      case Done:
        Log.debug("Job for dungeon '" + i.name + "' is FINISHED!");
        DungeonManager.notifyPasteDone(i);
        break;
      case Initializing:
        Log.debug("Job for dungeon '" + i.name + "' is INITIALIZING!");
        break;
      case PlacingBlocks:
        Log.debug("Job for dungeon '" + i.name + "' is PLACINGBLOCKS!");
        break;
      case Preparing:
        Log.debug("Job for dungeon '" + i.name + "' is PREPARING!");
        break;
      case Waiting:
        Log.debug("Job for dungeon '" + i.name + "' is WAITING!");
        break;
    }
  }
  private RetVal subEntrance(ArrayList<String> arg, String pName) {
    Log.debug("CommandDungeon.subEntrance");
    RetVal r = new RetVal();

    if (arg.isEmpty()) {
      r.Err(
          Config.ecol
              + "Error - Invalid number of arguments! Command is /"
              + Config.command
              + " dungeon entrance <dungeon name> (while standing at the warp-in point)!");
      return r;
    }

    DungeonData d = DungeonManager.getDungeon(arg.get(0));
    if (d == null) {
      r.Err(Config.ecol + "Error - Invalid argument! '" + arg.get(0) + "' not a valid Dungeon!");
      return r;
    }

    InstanceData i = InstanceManager.getEditInstanceForDungeon(d.name);

    if (i == null) {
      r.Err(
          Config.ecol
              + "Error - Invalid argument! '"
              + arg.get(0)
              + "' does not have an edit Instance!");
      return r;
    }

    Location l = bridge.getPlayerLoc(pName);
    Vector v = l.getPosition();
    Vector vOff = v.subtract(i.getBounds().getMinimumPoint());

    d.setSpawn(vOff.getBlockX(), vOff.getBlockY(), vOff.getBlockZ(), l.getYaw(), l.getPitch());

    r.add("Successfully added spawn in location to Dungeon '" + arg.get(0) + "'");

    r.tru();

    return r;
  }