Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Лаунчер [Source] Лаунчер от maximusorg(update 4.0)

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем maximusorg, 13 авг 2012.

  1. Jetty

    Jetty Активный участник Пользователь

    Баллы:
    78
    Skype:
    fenix404notfound
    Имя в Minecraft:
    fenix25
    Кароче поставил лаунчер, всё правильно сделал, потом как только он до конца обновляется, закачивает client.zip, майнкрафт крашится с ошибкой Caused by: java.lang.IllegalArgumentException: MALFORMED
    из-за чего это может быть?
     
  2. Хостинг MineCraft
    <
  3. Mordar

    Mordar Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Mordar
    мммм ну надо код смотреть
     
    Сникерсни нравится это.
  4. Mordar

    Mordar Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Mordar
    а у меня лаунчера нету:trf:
     
  5. Mordar

    Mordar Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Mordar
    у меня влаунчера нету а надо код смотреть
    чтобы решить твою проблемку
     
  6. Автор темы
    maximusorg

    maximusorg Старожил Переводчик Пользователь

    Баллы:
    123
    Skype:
    K.N.A.Z
    Имя в Minecraft:
    maximusorg
    Перезалито.
     
  7. TechnicianBear

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

    Баллы:
    103
    Имя в Minecraft:
    BearTech
    Подниму старый вопрос.
    Когда добавишь кнопку "Назад" в настройках?
    А то толку от выделения мегабайтов нету так как они не сохраняются
     
    QuadX нравится это.
  8. Dark_Coder

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

    Баллы:
    68
    Кому интересно - пожертвовав кнопкой форум, я сделал кнопку Done)
    (кнопка сохраняет настройки ;))
    Код:
    package ru.maximusorg.launcher;
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Cursor;
    import java.awt.Desktop;
    import java.awt.Font;
    import java.awt.FontMetrics;
    import java.awt.Frame;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.io.IOException;
    import java.net.URISyntaxException;
    import java.net.URL;
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JTextField;
    public class OptionsPanel extends JDialog
    {
      private static final long serialVersionUID = 1L;
      public JTextField memoryfield = new JTextField(4);
      public static int memory;
      public static String memorys;
     
      public OptionsPanel(Frame parent)
      {
        super(parent);
     
        setModal(true);
     
        JPanel panel = new JPanel(new BorderLayout());
        JLabel label = new JLabel("Настройки:", 0);
        label.setBorder(new EmptyBorder(0, 0, 16, 0));
        label.setFont(new Font("Default", 1, 16));
        panel.add(label, "North");
     
        JPanel optionsPanel = new JPanel(new BorderLayout());
        JPanel labelPanel = new JPanel(new GridLayout(0, 1));
        JPanel fieldPanel = new JPanel(new GridLayout(0, 1));
        optionsPanel.add(labelPanel, "West");
        optionsPanel.add(fieldPanel, "Center");
     
        final JButton forceButton = new JButton("Обновить клиент!");
        forceButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            GameUpdater.forceUpdate = true;
            forceButton.setText("Сейчас начнётся автоматическая скачка!");
            forceButton.setEnabled(false);
          }
        });
        labelPanel.add(new JLabel("Обновление:", 4));
        fieldPanel.add(forceButton);
     
        labelPanel.add(new JLabel("Расположение клиента на компьютере: ", 4));
        TransparentLabel dirLink = new TransparentLabel(Util.getWorkingDirectory().toString()) { private static final long serialVersionUID = 0L;
     
          public void paint(Graphics g) { super.paint(g);
     
            int x = 0;
            int y = 0;
     
            FontMetrics fm = g.getFontMetrics();
            int width = fm.stringWidth(getText());
            int height = fm.getHeight();
     
            if (getAlignmentX() == 2.0F) x = 0;
            else if (getAlignmentX() == 0.0F) x = getBounds().width / 2 - width / 2;
            else if (getAlignmentX() == 4.0F) x = getBounds().width - width;
            y = getBounds().height / 2 + height / 2 - 1;
     
            g.drawLine(x + 2, y, x + width - 2, y); }
     
          public void update(Graphics g)
          {
            paint(g);
          }
        };
        labelPanel.add(new JLabel("Ip cервера по-умолчанию: ", 4));
     
        labelPanel.add(new JLabel("Выбор памяти, МБ:", 4));
        dirLink.setCursor(Cursor.getPredefinedCursor(12));
        dirLink.addMouseListener(new MouseAdapter() {
          public void mousePressed(MouseEvent arg0) {
            try {
              Util.openLink(new URL("file://" + Util.getWorkingDirectory().getAbsolutePath()).toURI());
            } catch (Exception e) {
              e.printStackTrace();
            }
          }
        });
        dirLink.setForeground(new Color(2105599));
     
        fieldPanel.add(dirLink);
        fieldPanel.add(new JLabel(Config.serverip1, 2));
     
        memory = Util.getMemorySelection();
        if (memory == 1 )
            memory = 1024;
        String memos = Integer.toString(memory);
        memoryfield.setText(memos);
        fieldPanel.add(memoryfield,"mb");
     
        panel.add(optionsPanel, "Center");
     
     
        JPanel skinsystemPanel = new JPanel(new BorderLayout());
        skinsystemPanel.add(new JPanel(), "Center");
        JButton doneButton = new JButton("Cистема скинов");
        doneButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            OptionsPanel.browse("");
            OptionsPanel.this.setVisible(true);
          }
        });
        JButton siteButton = new JButton("Сайт сервера");
        siteButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            OptionsPanel.browse1("");
            OptionsPanel.this.setVisible(true);
          }
        });
        JButton okButton = new JButton("Done.");
        okButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            memorys = memoryfield.getText();
            int memory = Integer.parseInt(memorys);
            if (memory != Util.getMemorySelection()) {
                Util.setMemorySelection(memory);
                String[] args = null;
                try {
                    MinecraftLauncher.main(args);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                }
            setVisible(false);
          }
          });
     
        skinsystemPanel.add(doneButton, "East");
        skinsystemPanel.setBorder(new EmptyBorder(16, 0, 0, 0));
        skinsystemPanel.add(siteButton, "Center");
        skinsystemPanel.add(okButton, "West");
     
        panel.add(skinsystemPanel, "South");
     
        add(panel);
        panel.setBorder(new EmptyBorder(16, 24, 24, 24));
        pack();
        setLocationRelativeTo(parent);
      }
     
      public static void browse(String url) {
        Desktop desktop = null;
        try {
          desktop = Desktop.getDesktop();
        } catch (Exception ex) {
          System.err.println("ОС не поддердивается....");
          return;
        }
        if (!desktop.isSupported(Desktop.Action.BROWSE)) {
          System.err.println("Операция не поддерживается...");
          return;
        }
        try {
          try {
            desktop.browse(new URL(Config.skinsystem).toURI());
          }
          catch (URISyntaxException e) {
            e.printStackTrace();
          }
        } catch (IOException ex) {
          System.err.println("Ошибка в инициализации пути... " + ex.getLocalizedMessage());
          return;
        }
      }
     
      public static void browse1(String url)
      {
        Desktop desktop = null;
        try {
          desktop = Desktop.getDesktop();
        } catch (Exception ex) {
          System.err.println("ОС не поддердивается....");
          return;
        }
        if (!desktop.isSupported(Desktop.Action.BROWSE)) {
          System.err.println("Операция не поддерживается...");
          return;
        }
        try {
          try {
            desktop.browse(new URL(Config.site).toURI());
          }
          catch (URISyntaxException e) {
            e.printStackTrace();
          }
        } catch (IOException ex) {
          System.err.println("Ошибка в инициализации пути..." + ex.getLocalizedMessage());
          return;
        }
      }
     
      public static void browse2(String url)
      {
        Desktop desktop = null;
        try {
          desktop = Desktop.getDesktop();
        } catch (Exception ex) {
          System.err.println("ОС не поддердивается....");
          return;
        }
        if (!desktop.isSupported(Desktop.Action.BROWSE)) {
          System.err.println("Операция не поддерживается...");
          return;
        }
        try {
          try {
            desktop.browse(new URL(Config.forum).toURI());
          }
          catch (URISyntaxException e) {
            e.printStackTrace();
          }
        } catch (IOException ex) {
          System.err.println("Ошибка в инициализации пути..." + ex.getLocalizedMessage());
          return;
        }
      }
    }
    /**
    Лаунчер сделан maximusorg, все вопросы по нему, а также настройка в скайп - K.N.A.Z
    */
     
  9. Dark_Coder

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

    Баллы:
    68
    Подскажите пожалуйсто как сделать мультиклиентность??? Мне нужен для каждого сервера свой minecraft.jar
     
  10. Автор темы
    maximusorg

    maximusorg Старожил Переводчик Пользователь

    Баллы:
    123
    Skype:
    K.N.A.Z
    Имя в Minecraft:
    maximusorg
    Будет на днях. Новая версия - спасибо
    @Dark_Coder, за то что сделал то, что мне так давно было делать в падлу.
     
    ВремяПриключений нравится это.
  11. Dark_Coder

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

    Баллы:
    68
    А что там делать то? Код кнопки Done уже был в исходниках. Просто кнопка как бэ сказать была неактивной. Да и место на форме для нее небыло. Я только панель кнопки удалил, изменил положение, удалил кнопку форум и в панельку вывод кнопки Done добавил.
     
    ВремяПриключений и maximusorg нравится это.
  12. Автор темы
    maximusorg

    maximusorg Старожил Переводчик Пользователь

    Баллы:
    123
    Skype:
    K.N.A.Z
    Имя в Minecraft:
    maximusorg
    хех, я же говорю, просто в падлу...
     
  13. AimFire

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

    Баллы:
    123
    Skype:
    aimfire7777
    Имя в Minecraft:
    AimFire
    Бло, лебят ласскажите пожалусто как настроить етот ланчар а имена меня интересно как настроить виборь серверя и скачивание облявления. спосиба
    :trf:(стиль школьник)
     
  14. Dmitrio

    Dmitrio Активный участник Пользователь

    Баллы:
    88
    ой да ты шутник :\
     
    Mordar нравится это.
  15. AimFire

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

    Баллы:
    123
    Skype:
    aimfire7777
    Имя в Minecraft:
    AimFire
    :trf:
     
  16. AimFire

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

    Баллы:
    123
    Skype:
    aimfire7777
    Имя в Minecraft:
    AimFire
    АХахах, ребят попросил его рассказать про лаунчер как порты для сервера, смотри переписку.
    [​IMG]
    Збс помог:trf:
     
    SuperugroK и Googleman нравится это.
  17. Автор темы
    maximusorg

    maximusorg Старожил Переводчик Пользователь

    Баллы:
    123
    Skype:
    K.N.A.Z
    Имя в Minecraft:
    maximusorg
    Для этого есть туториалы по эклипсу, я не буду рассказывать нубам элементарные азы управления IDE.
     
    QuadX нравится это.
  18. AimFire

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

    Баллы:
    123
    Skype:
    aimfire7777
    Имя в Minecraft:
    AimFire
    Дай сыль на тутор тогда, и добавь в скайп.
    И можно было сказать почитай как делать а не послать.

    Как школьник
     
    slavik123123123 нравится это.
  19. Kseon73

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

    Баллы:
    123
    Есть пару вопросов.
    1) В лаунчере при выборе сервера я жму вход, у меня входит в игру, подключается к серверу и появляется окно(при нажатии Esc например) Как это отключить? Не хочется нажимать вернуться в игру.
    2) Как сделать чтобы лаунчер работал из любой папки?
     
  20. AimFire

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

    Баллы:
    123
    Skype:
    aimfire7777
    Имя в Minecraft:
    AimFire
    @maximusorg, добавь меня пожалуйста обратно в скайп:(
     
    Сникерсни нравится это.
  21. Автор темы
    maximusorg

    maximusorg Старожил Переводчик Пользователь

    Баллы:
    123
    Skype:
    K.N.A.Z
    Имя в Minecraft:
    maximusorg
    К сожалению 1 пункт нельзя изменить, так как код автоподключения написан в самой игре, а не в лаунчере.
    а суть второго вопроса я не совсем понимаю.
     

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