1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Нужен сайт с головами скинов!

Тема в разделе "Оффтопик", создана пользователем BeLkA, 17 сен 2014.

  1. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну да еще вариант распарсить в плагине перед отправкой игрокам. Парси скин в буфер и передавай.
     
  2. fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
  3. Автор темы
    BeLkA

    BeLkA Старожил Пользователь

    Баллы:
    153
    Skype:
    FayStaff
    Ну, разъясню задачу. При ServerListPingEvent в картинку сервера мне нужно ставить картинку головы игрока. Вашими методами я уже пользовался, но ругается, что размер картинки головы маленький.
     
  4. fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну тогда надо пойти чуть дальше и посмотреть как можно масштабировать картинку, гугл помогает обычно в таких случаях.

    Image resizedFace = face.getScaledInstance(64, 64, 1);
     
  5. Masterchan

    Masterchan Активный участник

    Баллы:
    61
    Не благодари.

    Код:
        private static final String skinsURL = "http://s3.amazonaws.com/MinecraftSkins/";
        private String playerName = "Master_chan";
    
        public void run()
        {
            InputStream inStream = null;
            try
            {
                URLConnection connection = (new URL(skinsURL + this.playerName + ".png")).openConnection();
                connection.setReadTimeout(8000);
                inStream = connection.getInputStream();
                BufferedImage skin = ImageIO.read(inStream);
    
                int cropSize = skin.getHeight() / 4;
                BufferedImage face = skin.getSubimage(cropSize, cropSize, cropSize, cropSize);
                BufferedImage mask = skin.getSubimage(cropSize * 5, cropSize, cropSize, cropSize);
           
                BufferedImage result = new BufferedImage(64, 64, BufferedImage.TYPE_INT_ARGB);
                Graphics2D g = result.createGraphics();
                try
                {
                    g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
                    g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
                    g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
                    g.drawImage(face, 0, 0, 64, 64, null);
                    g.drawImage(mask, 0, 0, 64, 64, null);
                }
                finally
                {
                    g.dispose();
                }
            }
            catch (ConnectException e)
            {
                System.out.println("Connection exception, probably timeout");
                e.printStackTrace();
            }
            catch (FileNotFoundException e)
            {
                System.out.println("File not found exception.");
                e.printStackTrace();
            }
            finally
            {
                if(inStream != null)
                {
                    inStream.close();
                }
            }
        }
     

Поделиться этой страницей