Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Стартап Авто проверка на обновления через spigotmc

SashaBrine

Активный участник
Пользователь
Баллы
76
Добрый день, хочу вам показать как сделать авто проверку на обновления.

План:
1) Получение resourceId плагина
2) Пишем код


1) Как получить resourceId?
Например у меня есть страница плагина на spigotmc.
Через точку в ссылке разделяют имя и resourceId
upload_2022-4-20_9-24-36.png
У меня он: 101507
2) Пишем код
Создаем пакет с утилитами в проекте вашего плагина - <домен сайта>.<имя сайта>.<название плагина>.utils, вот пример: me.FortiBrine.JustSkins.utils.
Теперь в этом пакете создаем класс: UpdateUtil.java
И вставляем туда такой код:
Код:
// ваш пакет
package ru.FortiBrine.JustSkins.utils;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Scanner;

public class UpdateUtil {
    // ваш resourceId
    private static int resourceId = 101507;
    // версия плагина
    private static String version = "1.2";
    
    public static boolean checkUpdate() throws IOException {
        URL url = new URL("https://api.spigotmc.org/legacy/update.php?resource="+resourceId);
        InputStream inputStream = url.openStream();
        
        Scanner scanner = new Scanner(inputStream);

        String pluginVersion = scanner.next();
        scanner.close();
        
        return !pluginVersion.equals(version);
    }
}
Незабудьте поменять пакет, версию плагина, resourceId.

Теперь в основном классе добавьте
Код:
@Override
public void onEnable() {
    try {
        if (UpdateUtil.checkUpdate()) {
            this.getLogger().info("Найдено обновление");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Теперь компилируем и выкладываем на spigotmc.
 

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

Назад
Верх