From ce98c7d14a06d5a76109f56a26daee0acb5aebb7 Mon Sep 17 00:00:00 2001
From: Ryan Barlow <7389646+ryanbarlow97@users.noreply.github.com>
Date: Tue, 22 Sep 2026 23:55:32 +0000
Subject: [PATCH] fix: resolve Paper API build warnings
---
pom.xml | 1 +
.../advancedcrafting/AdvancedCrafting.java | 2 ++
.../advancedcrafting/database/AlloyDatabase.java | 2 ++
.../advancedcrafting/database/Database.java | 2 ++
.../advancedcrafting/managers/AlloyManager.java | 6 ++++++
.../advancedcrafting/managers/CraftingManager.java | 4 ++++
.../advancedcrafting/managers/InventoryManager.java | 12 ++++++++++++
.../objects/crafting/CraftingStation.java | 8 ++++++++
.../objects/ingredients/Ingredient.java | 2 ++
.../advancedcrafting/utils/AcItemLoreRefresher.java | 2 ++
.../advancedcrafting/utils/CraftTierLore.java | 4 ++++
11 files changed, 45 insertions(+)
diff --git a/pom.xml b/pom.xml
index a05d062..313a84d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,6 +11,7 @@
21
UTF-8
+ full
2026-09-22T00:00:00Z
2.0.0
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/AdvancedCrafting.java b/src/main/java/net/tfminecraft/advancedcrafting/AdvancedCrafting.java
index bc8298c..b209ae6 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/AdvancedCrafting.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/AdvancedCrafting.java
@@ -191,6 +191,8 @@ public void reload() {
loadConfigs();
revisionTracker.flush();
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public void reloadMessage(Player p) {
p.sendMessage(ChatColor.GREEN + "[AdvancedCrafting]" + ChatColor.YELLOW + " Reloading plugin...");
reload();
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/database/AlloyDatabase.java b/src/main/java/net/tfminecraft/advancedcrafting/database/AlloyDatabase.java
index 2f70a4e..8c35d19 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/database/AlloyDatabase.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/database/AlloyDatabase.java
@@ -281,6 +281,8 @@ public String getRawData(String key, HashMap defaults) {
: (defaults.containsKey(key) ? defaults.get(key).toString() : key);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public String getString(String key, HashMap defaults) {
return ChatColor.translateAlternateColorCodes('&', getRawData(key, defaults));
}
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/database/Database.java b/src/main/java/net/tfminecraft/advancedcrafting/database/Database.java
index e2272b1..bc5af0e 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/database/Database.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/database/Database.java
@@ -155,6 +155,8 @@ public String getRawData(String key, HashMap defaults) {
: (defaults.containsKey(key) ? defaults.get(key).toString() : key);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public String getString(String key, HashMap defaults) {
return ChatColor.translateAlternateColorCodes('&', getRawData(key, defaults));
}
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/managers/AlloyManager.java b/src/main/java/net/tfminecraft/advancedcrafting/managers/AlloyManager.java
index a4eeb5b..13850f6 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/managers/AlloyManager.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/managers/AlloyManager.java
@@ -100,6 +100,8 @@ public void run() {
}.runTaskTimer(AdvancedCrafting.plugin, 0, 20L);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
@EventHandler
public void addIngredient(PlayerInteractEvent e) {
if(!e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) return;
@@ -158,6 +160,8 @@ public void addIngredient(PlayerInteractEvent e) {
p.sendTitle("§aAdded "+i.getItemMeta().getDisplayName(), station.getStatus(), 5, 30, 5);
i.setAmount(i.getAmount()-1);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons. This path mutates the existing ItemStack; replacing it would change aliases held by callers.
+ @SuppressWarnings("deprecation")
public void forgeAlloy(PlayerInteractEvent e) {
Block b = e.getClickedBlock();
Player p = e.getPlayer();
@@ -187,6 +191,8 @@ public void forgeAlloy(PlayerInteractEvent e) {
}
}
+ // This path mutates the existing ItemStack; replacing it would change aliases held by callers.
+ @SuppressWarnings("deprecation")
public void nameAlloy(Player p, String s) {
if(!naming.containsKey(p)) {
p.sendMessage("§cYou have no alloy to name");
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/managers/CraftingManager.java b/src/main/java/net/tfminecraft/advancedcrafting/managers/CraftingManager.java
index 72f4514..5cf4fc0 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/managers/CraftingManager.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/managers/CraftingManager.java
@@ -278,6 +278,8 @@ public void onIaFurnitureBreak(FurnitureBreakEvent e) {
discardBrokenStation(loc);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
private void discardBrokenStation(Location loc) {
if (!hasStation(loc)) {
return;
@@ -383,6 +385,8 @@ public void applyHit(PlayerInteractEvent e) {
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
@EventHandler
public void invenClick(InventoryClickEvent e) {
Player p = (Player) e.getWhoClicked();
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/managers/InventoryManager.java b/src/main/java/net/tfminecraft/advancedcrafting/managers/InventoryManager.java
index 17e7e86..9f38157 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/managers/InventoryManager.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/managers/InventoryManager.java
@@ -31,6 +31,8 @@
public class InventoryManager {
public static final String STAT_PREVIEW_TITLE = "§7Stat Preview";
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public void categoryView(Player p) {
Inventory i = AdvancedCrafting.plugin.getServer().createInventory(null, 27, "§7Select Category");
int x = 0;
@@ -51,6 +53,8 @@ public void categoryView(Player p) {
}
p.openInventory(i);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public void recipeView(Player p, RecipeCategory c) {
Inventory i = AdvancedCrafting.plugin.getServer().createInventory(null, 27, "§7Select Recipe");
int x = 0;
@@ -72,6 +76,8 @@ public void recipeView(Player p, RecipeCategory c) {
p.openInventory(i);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public void templatePreviewView(Player p, StatData source) {
int count = 0;
for (StatTemplate template : StatTemplateLoader.getAll()) {
@@ -107,6 +113,8 @@ public void templatePreviewView(Player p, StatData source) {
p.openInventory(i);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
private ItemStack getTemplatePreviewItem(StatData source, StatTemplate template) {
ItemStack icon = template.getIcon();
ItemStack item = icon != null ? icon.clone() : new ItemStack(Material.BARRIER, 1);
@@ -119,6 +127,8 @@ private ItemStack getTemplatePreviewItem(StatData source, StatTemplate template)
return item;
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons. This path mutates the existing ItemStack; replacing it would change aliases held by callers.
+ @SuppressWarnings("deprecation")
private ItemStack getCategoryItem(RecipeCategory c) {
ItemStack i = new ItemStack(Material.BARRIER, 1);
if(c.getRecipes().size() == 0) {
@@ -149,6 +159,8 @@ private ItemStack getCategoryItem(RecipeCategory c) {
return i;
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
private ItemStack getRecipeItem(CraftingRecipe r) {
ItemStack fallback = new ItemStack(Material.BARRIER, 1);
ItemAPI api = TLibs.getItemAPI();
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/objects/crafting/CraftingStation.java b/src/main/java/net/tfminecraft/advancedcrafting/objects/crafting/CraftingStation.java
index 236a99c..428145c 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/objects/crafting/CraftingStation.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/objects/crafting/CraftingStation.java
@@ -174,6 +174,8 @@ public HashMap getTypes() {
return types;
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public StationFeedback addMaterial(Player p, ItemStack i) {
CraftStack c = new CraftStack(i);
if(!c.isAlloy() && !c.isIngredient()) {
@@ -380,6 +382,8 @@ private void warnOvershootHits(Player p) {
}
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
private StationFeedback createItem(Player p, Double forcedQualityPercent) {
if (!checkItems(p)) {
return StationFeedback.LACKING_ITEMS;
@@ -498,6 +502,8 @@ private StationFeedback createItem(Player p, Double forcedQualityPercent) {
return StationFeedback.SUCCESS;
}
+ // This path mutates the existing ItemStack; replacing it would change aliases held by callers.
+ @SuppressWarnings("deprecation")
private ItemStack applyModel(ItemStack i, ModelScheme scheme) {
String path = scheme.getModel(recipe.getType());
if(path == null) {
@@ -530,6 +536,8 @@ public StationFeedback hit(Player p, ItemStack i) {
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
private void addHit(Player p, CraftingHit hit) {
if(hits.containsKey(hit)) {
hits.get(hit).increaseCurrent(1);
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/objects/ingredients/Ingredient.java b/src/main/java/net/tfminecraft/advancedcrafting/objects/ingredients/Ingredient.java
index 77ee6dc..7288e3e 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/objects/ingredients/Ingredient.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/objects/ingredients/Ingredient.java
@@ -61,6 +61,8 @@ public IngredientData getIngredientData() {
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public void buildTo(ItemStack i) {
ItemMeta m = i.getItemMeta();
m.getPersistentDataContainer().set(PDCKeys.ingredientId(), PersistentDataType.STRING, id);
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/utils/AcItemLoreRefresher.java b/src/main/java/net/tfminecraft/advancedcrafting/utils/AcItemLoreRefresher.java
index 50d7c79..3ce376f 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/utils/AcItemLoreRefresher.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/utils/AcItemLoreRefresher.java
@@ -42,6 +42,8 @@ public static boolean isOutdated(ItemStack item) {
return getLiveRevision(item) > AcItemTags.getStoredRevision(item);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public static RefreshResult refresh(ItemStack item) {
if (item == null || item.getType().isAir() || !item.hasItemMeta()) {
return RefreshResult.unchanged();
diff --git a/src/main/java/net/tfminecraft/advancedcrafting/utils/CraftTierLore.java b/src/main/java/net/tfminecraft/advancedcrafting/utils/CraftTierLore.java
index d92c79d..14df9f0 100644
--- a/src/main/java/net/tfminecraft/advancedcrafting/utils/CraftTierLore.java
+++ b/src/main/java/net/tfminecraft/advancedcrafting/utils/CraftTierLore.java
@@ -45,6 +45,8 @@ public static void applyPdc(ItemStack item, int loreIndex, int tier) {
item.setItemMeta(meta);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public static void applyTierLine(ItemStack item, int tier) {
if (item == null || !item.hasItemMeta() || tier <= 0) {
return;
@@ -57,6 +59,8 @@ public static void applyTierLine(ItemStack item, int tier) {
applyPdc(item, tierIndex, tier);
}
+ // Keep the existing legacy text representation, formatting, and exact-string comparisons.
+ @SuppressWarnings("deprecation")
public static void refreshTierLine(ItemStack item, int tier) {
if (item == null || !item.hasItemMeta() || tier <= 0) {
return;