Update from Git Manager GUI
This commit is contained in:
@@ -26,7 +26,9 @@ public class Elevator extends JavaPlugin implements Listener {
|
|||||||
private DatabaseManager databaseManager;
|
private DatabaseManager databaseManager;
|
||||||
private HologramManager hologramManager;
|
private HologramManager hologramManager;
|
||||||
private String latestVersionFound;
|
private String latestVersionFound;
|
||||||
private final String releaseUrl = "https://git.viper.ipv64.net/M_Viper/Elevator/releases";
|
|
||||||
|
private final int RESOURCE_ID = 132220;
|
||||||
|
private final String releaseUrl = "https://www.spigotmc.org/resources/" + RESOURCE_ID;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
@@ -45,20 +47,22 @@ public class Elevator extends JavaPlugin implements Listener {
|
|||||||
// Rezept laden
|
// Rezept laden
|
||||||
registerElevatorRecipe();
|
registerElevatorRecipe();
|
||||||
|
|
||||||
// Update Check starten
|
// Update Check starten (Offizielle Spigot API)
|
||||||
checkForUpdates();
|
checkForUpdates();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkForUpdates() {
|
private void checkForUpdates() {
|
||||||
new UpdateChecker(this).getLatestVersion(version -> {
|
new UpdateChecker(this, RESOURCE_ID).getLatestVersion(version -> {
|
||||||
this.latestVersionFound = version;
|
this.latestVersionFound = version;
|
||||||
String currentVersion = this.getDescription().getVersion();
|
String currentVersion = this.getDescription().getVersion();
|
||||||
|
|
||||||
if (!currentVersion.equalsIgnoreCase(version)) {
|
if (!currentVersion.equalsIgnoreCase(version)) {
|
||||||
getLogger().info("====================================================");
|
getLogger().info("====================================================");
|
||||||
getLogger().info("NEUES UPDATE VERFÜGBAR: " + version);
|
getLogger().info("NEUES UPDATE VERFÜGBAR: v" + version);
|
||||||
getLogger().info("Download: " + releaseUrl);
|
getLogger().info("Download: " + releaseUrl);
|
||||||
getLogger().info("====================================================");
|
getLogger().info("====================================================");
|
||||||
|
} else {
|
||||||
|
getLogger().info("Plugin ist auf dem neuesten Stand (v" + currentVersion + ").");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -75,7 +79,7 @@ public class Elevator extends JavaPlugin implements Listener {
|
|||||||
TextComponent message = new TextComponent("§eDownload: ");
|
TextComponent message = new TextComponent("§eDownload: ");
|
||||||
TextComponent link = new TextComponent("§6§l[KLICK HIER FÜR UPDATE]");
|
TextComponent link = new TextComponent("§6§l[KLICK HIER FÜR UPDATE]");
|
||||||
link.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, releaseUrl));
|
link.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, releaseUrl));
|
||||||
link.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("§7Öffnet die Release-Seite")));
|
link.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("§7Öffnet die SpigotMC-Seite")));
|
||||||
|
|
||||||
message.addExtra(link);
|
message.addExtra(link);
|
||||||
player.spigot().sendMessage(message);
|
player.spigot().sendMessage(message);
|
||||||
@@ -85,7 +89,6 @@ public class Elevator extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void registerElevatorRecipe() {
|
private void registerElevatorRecipe() {
|
||||||
// Das Resultat-Item (Aufzug-Modul)
|
|
||||||
ItemStack item = new ItemStack(Material.DAYLIGHT_DETECTOR);
|
ItemStack item = new ItemStack(Material.DAYLIGHT_DETECTOR);
|
||||||
ItemMeta meta = item.getItemMeta();
|
ItemMeta meta = item.getItemMeta();
|
||||||
if (meta != null) {
|
if (meta != null) {
|
||||||
@@ -103,7 +106,6 @@ public class Elevator extends JavaPlugin implements Listener {
|
|||||||
NamespacedKey key = new NamespacedKey(this, "elevator_module");
|
NamespacedKey key = new NamespacedKey(this, "elevator_module");
|
||||||
ShapedRecipe recipe = new ShapedRecipe(key, item);
|
ShapedRecipe recipe = new ShapedRecipe(key, item);
|
||||||
|
|
||||||
// Shape laden und bereinigen (verhindert den "Length 5" Fehler)
|
|
||||||
List<String> shapeLines = getConfig().getStringList("recipe.shape");
|
List<String> shapeLines = getConfig().getStringList("recipe.shape");
|
||||||
if (shapeLines.size() != 3) {
|
if (shapeLines.size() != 3) {
|
||||||
getLogger().severe("Rezept konnte nicht geladen werden: 'shape' benötigt genau 3 Zeilen!");
|
getLogger().severe("Rezept konnte nicht geladen werden: 'shape' benötigt genau 3 Zeilen!");
|
||||||
@@ -112,14 +114,10 @@ public class Elevator extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
String[] cleanedRows = new String[3];
|
String[] cleanedRows = new String[3];
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
// Entferne alle Leerzeichen für die interne Verarbeitung
|
|
||||||
String line = shapeLines.get(i).replace(" ", "");
|
String line = shapeLines.get(i).replace(" ", "");
|
||||||
|
|
||||||
// Mit Leerzeichen auffüllen, falls die Zeile kürzer als 3 ist
|
|
||||||
while (line.length() < 3) {
|
while (line.length() < 3) {
|
||||||
line += " ";
|
line += " ";
|
||||||
}
|
}
|
||||||
// Kürzen, falls sie länger als 3 ist
|
|
||||||
if (line.length() > 3) {
|
if (line.length() > 3) {
|
||||||
line = line.substring(0, 3);
|
line = line.substring(0, 3);
|
||||||
}
|
}
|
||||||
@@ -128,7 +126,6 @@ public class Elevator extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
recipe.shape(cleanedRows[0], cleanedRows[1], cleanedRows[2]);
|
recipe.shape(cleanedRows[0], cleanedRows[1], cleanedRows[2]);
|
||||||
|
|
||||||
// Zutaten zuweisen
|
|
||||||
ConfigurationSection section = getConfig().getConfigurationSection("recipe.ingredients");
|
ConfigurationSection section = getConfig().getConfigurationSection("recipe.ingredients");
|
||||||
if (section == null) {
|
if (section == null) {
|
||||||
getLogger().severe("Keine 'recipe.ingredients' in der Config gefunden!");
|
getLogger().severe("Keine 'recipe.ingredients' in der Config gefunden!");
|
||||||
|
|||||||
@@ -1,42 +1,31 @@
|
|||||||
package de.mviper.elevator;
|
package de.mviper.elevator;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.google.gson.JsonParser;
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStream;
|
||||||
import java.net.HttpURLConnection;
|
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.util.Scanner;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class UpdateChecker {
|
public class UpdateChecker {
|
||||||
|
|
||||||
private final Elevator plugin;
|
private final Elevator plugin;
|
||||||
private final String versionUrl = "https://git.viper.ipv64.net/api/v1/repos/M_Viper/Elevator/releases/latest";
|
private final int resourceId;
|
||||||
|
|
||||||
public UpdateChecker(Elevator plugin) {
|
public UpdateChecker(Elevator plugin, int resourceId) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
this.resourceId = resourceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getLatestVersion(Consumer<String> consumer) {
|
public void getLatestVersion(final Consumer<String> consumer) {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> {
|
Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> {
|
||||||
try {
|
try (InputStream inputStream = new URL("https://api.spigotmc.org/legacy/update.php?resource=" + this.resourceId).openStream();
|
||||||
HttpURLConnection connection = (HttpURLConnection) new URL(versionUrl).openConnection();
|
Scanner scanner = new Scanner(inputStream)) {
|
||||||
connection.setRequestMethod("GET");
|
if (scanner.hasNext()) {
|
||||||
connection.setConnectTimeout(5000);
|
consumer.accept(scanner.next());
|
||||||
connection.setReadTimeout(5000);
|
|
||||||
|
|
||||||
if (connection.getResponseCode() == 200) {
|
|
||||||
InputStreamReader reader = new InputStreamReader(connection.getInputStream());
|
|
||||||
JsonObject jsonResponse = JsonParser.parseReader(reader).getAsJsonObject();
|
|
||||||
// Holt den Tag-Namen (z.B. v1.1) aus der Gitea API
|
|
||||||
if (jsonResponse.has("tag_name")) {
|
|
||||||
String latestVersion = jsonResponse.get("tag_name").getAsString();
|
|
||||||
consumer.accept(latestVersion);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (IOException exception) {
|
||||||
plugin.getLogger().warning("Update-Check fehlgeschlagen: " + e.getMessage());
|
plugin.getLogger().info("Update-Check fehlgeschlagen: " + exception.getMessage());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: Elevator
|
name: Elevator
|
||||||
version: 1.2
|
version: 1.3
|
||||||
main: de.mviper.elevator.Elevator
|
main: de.mviper.elevator.Elevator
|
||||||
api-version: 1.20
|
api-version: 1.20
|
||||||
author: mviper
|
author: mviper
|
||||||
|
|||||||
Reference in New Issue
Block a user