public static void CreateMap(Player player) {
    ItemStack is = new ItemStack(Material.MAP);

    int mapNumber;
    try {
      mapNumber = IOManager.getPlayerMap(player.getName());
    } catch (NullPointerException e) {
      mapNumber = Main.server.createMap(player.getWorld()).getId();
      IOManager.setPlayerMap(player.getName(), mapNumber);
    }

    is.setDurability((short) mapNumber);
    player.setItemInHand(is);

    TownMapRenderer.drawToMap(Main.server.getMap((short) mapNumber));
  }
Ejemplo n.º 2
0
 public LevelEditor(Binge game, String lvlfile) {
   //		this.game = game;
   try {
     // Level blank = new Level(1,1);
     IOManager.writeLvl(game.getLvl(), lvlfile);
   } catch (Exception e) {
     e.printStackTrace();
   }
   game.load();
 }
  @Override
  public void render(MapView map, MapCanvas canvas, Player p) {

    Byte lastWildernessColor = MapPalette.BROWN;
    Boolean firstCycle = true;

    renderIndex++;
    if (((renderIndex % MAP_SECOND_DELAY) * 20) != 0) return;
    renderIndex = 0;

    // if (p.getItemInHand().getType() != Material.MAP)
    // return;

    this.canvas = canvas;

    TownChunk[][] chunkArray = new TownChunk[7][5];
    TownChunk[][] oldChunkArray = new TownChunk[7][5];
    Chunk playerChunk = p.getLocation().getChunk();

    int playerX = playerChunk.getX();
    int playerZ = playerChunk.getZ();

    ArrayList<TownChunk> chunks = IOManager.getChunks();
    if (chunks != null) {
      for (TownChunk tc : chunks)
        if ((tc.getX() <= (playerX + 3))
            && (tc.getX() >= (playerX - 3))
            && (tc.getZ() <= (playerZ + 2))
            && (tc.getZ() >= (playerZ - 2))) {
          chunkArray[(playerX - tc.getX()) + 3][(playerZ - tc.getZ()) + 2] = tc;
        }
    }

    canvas.drawText(1, 9, MinecraftFont.Font, "Wilderness is gray");
    canvas.drawText(1, 19, MinecraftFont.Font, "Your town is green");
    canvas.drawText(1, 29, MinecraftFont.Font, "Other towns are blue");

    for (int x = 0; x < 7; x++) {
      for (int y = 0; y < 5; y++) {

        Byte color = null;
        TownChunk tc = chunkArray[x][y];
        TownChunk otc = oldChunkArray[x][y];
        Town t = null;

        if ((tc == otc) && (firstCycle == false)) return;

        if (tc == null) // No townchunk, aka wilderness
        {
          if (lastWildernessColor == MapPalette.DARK_GRAY) {
            color = MapPalette.GRAY_1;
            lastWildernessColor = MapPalette.GRAY_1;
          } else {
            color = MapPalette.DARK_GRAY;
            lastWildernessColor = MapPalette.DARK_GRAY;
          }
        } else {
          Town playerTown = IOManager.getPlayerTown(p);
          t = IOManager.getTown(tc.getTown());
          if ((playerTown != null) && (t == playerTown)) {
            color = MapPalette.LIGHT_GREEN; // TownChunk belongs to players town
          } else {
            color = MapPalette.BLUE; // Other Town
          }
          if (lastWildernessColor == MapPalette.DARK_GRAY) {
            lastWildernessColor = MapPalette.GRAY_1;
          } else {
            lastWildernessColor = MapPalette.DARK_GRAY;
          }
        }

        setCanvasSquare(color, (x * 18) + 1, 109 - (y * 18), 18);
        MapCursorCollection cursors = canvas.getCursors();
        for (int i = 0; i < cursors.size(); i++) {
          cursors.removeCursor(cursors.getCursor(i));
        }

        // MapCursor mc = new MapCursor((byte) 0, (byte) 36, (byte) 15, (byte) 0, true);
        // cursors.addCursor(mc);
        oldChunkArray[x][y] = chunkArray[x][y];
      }
    }
    firstCycle = false;
    // oldChunkArray = chunkArray;
  }