diff --git a/src/main/java/lol/hyper/toolstats/tools/TokenData.java b/src/main/java/lol/hyper/toolstats/tools/TokenData.java index deb20f7..03e3874 100644 --- a/src/main/java/lol/hyper/toolstats/tools/TokenData.java +++ b/src/main/java/lol/hyper/toolstats/tools/TokenData.java @@ -176,6 +176,10 @@ public class TokenData { tokenMeta.displayName(title); tokenMeta.lore(lore); + // set the PDC + tokenData.set(toolStats.tokenType, PersistentDataType.STRING, tokenType); + token.setItemMeta(tokenMeta); + // set the custom model data if (tokenConfig.getBoolean("custom-model-data.enabled")) { String type = tokenConfig.getString("custom-model-data.type"); @@ -194,36 +198,26 @@ public class TokenData { } } - // set the PDC - tokenData.set(toolStats.tokenType, PersistentDataType.STRING, tokenType); - token.setItemMeta(tokenMeta); return token; } private CustomModelData setData(String type, Object data) { switch (type.toLowerCase(Locale.ROOT)) { case "float": { - Float f; - if (data instanceof Float) { - f = (Float) data; - } else { - toolStats.logger.info(type + " is not a valid float!"); + float f; + try { + f = Float.parseFloat(data.toString()); + } catch (NumberFormatException e) { + toolStats.logger.info(data + " is not a valid float!"); return null; } return CustomModelData.customModelData().addFloat(f).build(); } case "string": { - String s; - if (data instanceof String) { - s = (String) data; - } else { - toolStats.logger.info(type + " is not a valid string!"); - return null; - } - return CustomModelData.customModelData().addString(s).build(); + return CustomModelData.customModelData().addString(data.toString()).build(); } default: { - toolStats.logger.info(type + " is not a valid data type!"); + toolStats.logger.info(data + " is not a valid data type!"); return null; } } diff --git a/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java b/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java index df526da..9b9e0ea 100644 --- a/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java +++ b/src/main/java/lol/hyper/toolstats/tools/config/ConfigTools.java @@ -245,7 +245,7 @@ public class ConfigTools { List finalLore = new ArrayList<>(); for (String line : raw) { if (line.contains("{levels}")) { - Integer levels = toolStats.config.getInt("tokes.data." + tokenType + ".levels"); + Integer levels = toolStats.config.getInt("tokens.data." + tokenType + ".levels"); // will return 0 if it doesn't exist if (levels != 0) { line = line.replace("{levels}", String.valueOf(levels));