From fc273b382873e1490a66903b174bdd451281e1c8 Mon Sep 17 00:00:00 2001 From: wireser Date: Wed, 12 Nov 2025 23:07:25 +0100 Subject: [PATCH 1/2] Updated for 1.21.4 & removed bstats --- pom.xml | 19 ++-- .../itemslotmachine/design/DesignManager.java | 4 - .../nameable/NameableComparator.java | 4 - .../itemslotmachine/plugin/PluginBase.java | 93 ------------------- .../itemslotmachine/util/ItemUtils.java | 27 ++++++ src/main/resources/plugin.yml | 4 +- src/main/resources/template.yml | 4 +- 7 files changed, 38 insertions(+), 117 deletions(-) diff --git a/pom.xml b/pom.xml index c4437c4..3ed2ca1 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.darkblade12 ItemSlotMachine - 1.4.3 + 1.5.0 @@ -25,7 +25,7 @@ org.spigotmc spigot-api - 1.16.1-R0.1-SNAPSHOT + 1.21.4-R0.1-SNAPSHOT provided @@ -34,12 +34,6 @@ 1.7 provided - - org.bstats - bstats-bukkit - 1.7 - compile - @@ -53,16 +47,16 @@ maven-compiler-plugin - 3.8.0 + 3.13.0 - 1.8 - 1.8 + 21 + 21 org.apache.maven.plugins maven-shade-plugin - 3.1.0 + 3.5.1 false @@ -86,5 +80,6 @@ UTF-8 + 21 \ No newline at end of file diff --git a/src/main/java/com/darkblade12/itemslotmachine/design/DesignManager.java b/src/main/java/com/darkblade12/itemslotmachine/design/DesignManager.java index 3a94559..499a918 100644 --- a/src/main/java/com/darkblade12/itemslotmachine/design/DesignManager.java +++ b/src/main/java/com/darkblade12/itemslotmachine/design/DesignManager.java @@ -165,10 +165,6 @@ public List getFileNames(boolean stripExtension) { return FileUtils.getFileNames(dataDirectory, stripExtension, Design.FILE_EXTENSION); } - public List getFileNames() { - return getFileNames(false); - } - public List getNames() { return designs.stream().sorted(comparator).map(Design::getName).collect(Collectors.toList()); } diff --git a/src/main/java/com/darkblade12/itemslotmachine/nameable/NameableComparator.java b/src/main/java/com/darkblade12/itemslotmachine/nameable/NameableComparator.java index be66ba5..ab8d48f 100644 --- a/src/main/java/com/darkblade12/itemslotmachine/nameable/NameableComparator.java +++ b/src/main/java/com/darkblade12/itemslotmachine/nameable/NameableComparator.java @@ -12,10 +12,6 @@ public NameableComparator(String namePattern) { this.namePattern = namePattern; } - public NameableComparator() { - this(null); - } - @Override public int compare(T e1, T e2) { String name1 = e1.getName(); diff --git a/src/main/java/com/darkblade12/itemslotmachine/plugin/PluginBase.java b/src/main/java/com/darkblade12/itemslotmachine/plugin/PluginBase.java index 8069aae..b62c3ac 100644 --- a/src/main/java/com/darkblade12/itemslotmachine/plugin/PluginBase.java +++ b/src/main/java/com/darkblade12/itemslotmachine/plugin/PluginBase.java @@ -4,12 +4,6 @@ import com.darkblade12.itemslotmachine.plugin.command.CommandRegistrationException; import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.MutableClassToInstanceMap; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.google.gson.JsonSyntaxException; -import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; @@ -17,25 +11,15 @@ import org.bukkit.command.ConsoleCommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.plugin.java.JavaPlugin; -import org.bukkit.scheduler.BukkitRunnable; - -import java.io.BufferedReader; import java.io.File; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.net.URLConnection; import java.util.Comparator; import java.util.Locale; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; public abstract class PluginBase extends JavaPlugin { - private static final Pattern VERSION_PATTERN = Pattern.compile("\\d+(\\.\\d+){2}"); private static final Comparator> MANAGER_COMPARATOR = Comparator.comparingInt(Manager::getLoadIndex); protected final int projectId; protected final int pluginId; @@ -106,16 +90,8 @@ public void onEnable() { return; } - enableMetrics(); long duration = System.currentTimeMillis() - startTime; logInfo("Plugin version %s enabled! (%d ms)", getVersion(), duration); - - new BukkitRunnable() { - @Override - public void run() { - checkForUpdates(); - } - }.runTaskAsynchronously(this); } @Override @@ -216,75 +192,6 @@ protected void registerCommandHandler(CommandHandler commandHandler) { commandHandlers.putInstance((Class>) commandHandler.getClass(), commandHandler); } - private void enableMetrics() { - try { - Metrics metrics = new Metrics(this, pluginId); - if (!metrics.isEnabled()) { - logInfo("Metrics is disabled."); - } else { - logInfo("This plugin is using Metrics by BtoBastian."); - } - } catch (Exception e) { - logException(e, "Failed to enable Metrics!"); - } - } - - private void checkForUpdates() { - JsonArray files; - try { - URL url = new URL("https://api.curseforge.com/servermods/files?projectIds=" + projectId); - URLConnection conn = url.openConnection(); - conn.addRequestProperty("User-Agent", getName() + " Update Checker"); - conn.setReadTimeout(5000); - conn.setDoOutput(true); - BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); - String response = reader.readLine(); - reader.close(); - JsonElement element = new JsonParser().parse(response); - files = element.getAsJsonArray(); - if (files.size() == 0) { - logWarning("Failed to find any files for project id %d!", projectId); - return; - } - } catch (IOException | JsonSyntaxException e) { - logException(e, "Failed to retrieve update information!"); - return; - } - - JsonObject latestFile = (JsonObject) files.get(files.size() - 1); - String fileName = latestFile.get("name").getAsString(); - Matcher matcher = VERSION_PATTERN.matcher(fileName); - if (!matcher.find()) { - logWarning("Failed to compare versions!"); - return; - } - - String latestVersion = matcher.group(); - int[] currentNumbers = splitVersion(getVersion()); - int[] latestNumbers = splitVersion(latestVersion); - if (currentNumbers == null || latestNumbers == null || currentNumbers.length != latestNumbers.length) { - logWarning("Failed to compare versions!"); - return; - } - - boolean updateAvailable = false; - for (int i = 0; i < currentNumbers.length; i++) { - if (latestNumbers[i] > currentNumbers[i]) { - updateAvailable = true; - break; - } - } - - if (!updateAvailable) { - logInfo("There is no update available."); - return; - } - - String fileUrl = latestFile.get("fileUrl").getAsString(); - logInfo("Version %s is available for download at:", latestVersion); - logInfo(fileUrl); - } - protected String getPrefix() { MessageManager manager = getManager(MessageManager.class); if (!manager.hasMessage(Message.MESSAGE_PREFIX)) { diff --git a/src/main/java/com/darkblade12/itemslotmachine/util/ItemUtils.java b/src/main/java/com/darkblade12/itemslotmachine/util/ItemUtils.java index fc3502a..00694f9 100644 --- a/src/main/java/com/darkblade12/itemslotmachine/util/ItemUtils.java +++ b/src/main/java/com/darkblade12/itemslotmachine/util/ItemUtils.java @@ -9,6 +9,7 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; +import org.bukkit.inventory.meta.ItemMeta; import java.util.ArrayList; import java.util.Arrays; @@ -54,6 +55,32 @@ public static ItemStack fromString(String text, Map customIte } } + if (data.length >= 3) { + try { + String t_name = data[2]; + ItemMeta data_ = item.getItemMeta(); + data_.setDisplayName(t_name); + item.setItemMeta(data_); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Invalid name value."); + } + } + + if (data.length >= 4) { + try { + String lore = data[3]; + ItemMeta data_ = item.getItemMeta(); + List lores = new ArrayList(); + for(String s : lore.split("\n")) { + lores.add(s); + } + data_.setLore(lores); + item.setItemMeta(data_); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Invalid lore value."); + } + } + return item; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index a96eb3d..ec0f567 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,9 +1,9 @@ name: ItemSlotMachine version: ${project.version} -author: DarkBlade12 +authors: [DarkBlade12, wireser] website: http://dev.bukkit.org/profiles/DarkBladee12 main: com.darkblade12.itemslotmachine.ItemSlotMachine -api-version: 1.16 +api-version: 1.21 softdepend: [Vault, Multiverse-Core, Multiworld, PlotMe, MyWorlds, Essentials] commands: diff --git a/src/main/resources/template.yml b/src/main/resources/template.yml index d5c22c5..38ab109 100644 --- a/src/main/resources/template.yml +++ b/src/main/resources/template.yml @@ -78,12 +78,12 @@ item-pot: enabled: true # The default content of the item pot, which will be set after a player has won the pot - # Item format: [-] + # Item format: [-][-][-] # The item name 'coin' can be used for a coin item default: ['feather-5', 'diamond-1', 'iron_ingot-1'] # The items which are added to the pot by every spin - # Item format: [-] + # Item format: [-][-][-] # The item name 'coin' can be used for a coin item raise: ['glowstone_dust-2', 'lapis_lazuli-2'] From 7cdd608f1f55d23bb6afa1caaa66ff2285d51256 Mon Sep 17 00:00:00 2001 From: wireser Date: Wed, 12 Nov 2025 23:28:51 +0100 Subject: [PATCH 2/2] Removed Update check. --- src/main/resources/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index ec0f567..7aa482b 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: ItemSlotMachine version: ${project.version} -authors: [DarkBlade12, wireser] +author: DarkBlade12 website: http://dev.bukkit.org/profiles/DarkBladee12 main: com.darkblade12.itemslotmachine.ItemSlotMachine api-version: 1.21