Advertisement
LegarsStyler

Untitled

Jul 3rd, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.62 KB | None | 0 0
  1.     public static Map<String, ItemStack> generate(BufferedImage img, int frameWeidth, int frameHeight, boolean resize) throws MalformedURLException, IOException
  2.     {
  3.         int width = resize ? frameWeidth * 128 : frameWeidth * 128 + (img.getWidth() - frameWeidth * 128);
  4.         int height = resize ? frameHeight * 128 : frameHeight * 128 + (img.getHeight() - frameHeight * 128);
  5.         BufferedImage toPrint = toBufferedImage(img.getScaledInstance(width, height, Image.SCALE_SMOOTH));
  6.         HashMap<String, ItemStack> items = new HashMap<>();
  7.         for(int x = 0; x < frameWeidth; x++)
  8.             for(int y = 0; y < frameHeight; y++)
  9.             {
  10.                 BufferedImage part = toPrint.getSubimage(
  11.                         x * 128,
  12.                         y * 128,
  13.                         ((x + 1) * 128) > toPrint.getWidth() ? toPrint.getWidth() - (x * 128) - 1 : 128,
  14.                         ((y + 1) * 128) > toPrint.getHeight() ? toPrint.getHeight() - (y * 128) - 1: 128);
  15.                 ItemStack map = new ItemStack(Material.FILLED_MAP);
  16.                 MapMeta meta = (MapMeta) map.getItemMeta();
  17.                 meta.setColor(Color.FUCHSIA);
  18.                 meta.setLore(Arrays.asList(x + ";" + y));
  19.                 meta.setMapView(Bukkit.createMap(Bukkit.getWorlds().get(0)));
  20.                 meta.getMapView().getRenderers().clear();
  21.                 meta.getMapView().addRenderer(new MapRenderer()
  22.                 {
  23.                     @Override
  24.                     public void render(MapView map, MapCanvas canvas, Player player)
  25.                     {
  26.                         canvas.drawImage(0, 0, part);
  27.                         map.setLocked(true);
  28.                         map.setCenterX(Integer.MAX_VALUE);
  29.                         map.setCenterZ(Integer.MAX_VALUE);
  30.                     }
  31.                 });
  32.                 map.setItemMeta(meta);
  33.                 items.put(x + ";" + y, map);
  34.                 IframePicture.getInstance().saveMap(meta.getMapView().getId(), part);
  35.             }
  36.         return items;
  37.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement