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..7aa482b 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -3,7 +3,7 @@ version: ${project.version}
author: DarkBlade12
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']