mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2025-01-21 09:21:21 +01:00
Recipe cleanup
This commit is contained in:
parent
1471923a2c
commit
bb7ac9307a
@ -85,7 +85,7 @@ public class ReloadCommandTreeNode extends CommandTreeNode {
|
||||
MMOItems.plugin.getRecipes().reload();
|
||||
sender.sendMessage(MMOItems.plugin.getPrefix() + "Successfully reloaded recipes.");
|
||||
sender.sendMessage(MMOItems.plugin.getPrefix() + "- " + ChatColor.RED
|
||||
+ (MMOItems.plugin.getRecipes().getLoadedLegacyRecipes().size()
|
||||
+ (MMOItems.plugin.getRecipes().getBukkitRecipes().size()
|
||||
+ MMOItems.plugin.getRecipes().getBooklessRecipes().size()
|
||||
+ MMOItems.plugin.getRecipes().getCustomRecipes().size())
|
||||
+ ChatColor.GRAY + " Recipes");
|
||||
|
@ -2,11 +2,10 @@ package net.Indyuce.mmoitems.gui.edition.recipe;
|
||||
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.RecipeRegistry;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.recipes;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.gui;
|
||||
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_BurningLegacy;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_BurningLegacy;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_CookingTime;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_Experience;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
@ -1,9 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.recipes;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.gui;
|
||||
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_MegaShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_MegaShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_InputOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.RecipeRegistry;
|
||||
import org.bukkit.entity.Player;
|
@ -1,8 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.recipes;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.gui;
|
||||
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_Shaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_Shaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_InputOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.RecipeRegistry;
|
@ -1,8 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.recipes;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.gui;
|
||||
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_Shapeless;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_Shapeless;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_InputOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.RecipeRegistry;
|
@ -1,8 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.recipes;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.gui;
|
||||
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_Smithing;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_Smithing;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_DropGems;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_InputOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_SmithingEnchantments;
|
@ -1,9 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.recipes;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.gui;
|
||||
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_SuperShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_SuperShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_InputOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.RecipeRegistry;
|
||||
import org.bukkit.entity.Player;
|
@ -1,4 +1,4 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.recipes;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.gui;
|
||||
|
||||
import io.lumine.mythic.lib.MythicLib;
|
||||
import io.lumine.mythic.lib.api.crafting.uifilters.VanillaUIFilter;
|
||||
@ -15,9 +15,8 @@ import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_AmountOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_InputOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RecipeButtonAction;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.RecipeRegistry;
|
||||
import org.bukkit.Bukkit;
|
@ -1,7 +1,7 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreters;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreter;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
@ -1,8 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreters;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreter;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
@ -1,10 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreters;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreter;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
@ -1,7 +1,7 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreters;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreter;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
@ -1,7 +1,7 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreters;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreter;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
@ -1,9 +1,8 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreters;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreter;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import net.Indyuce.mmoitems.api.crafting.recipe.Recipe;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
@ -1,8 +1,6 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreters;
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.interpreter;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
@ -8,7 +8,7 @@ import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import net.Indyuce.mmoitems.ItemStats;
|
||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
@ -4,7 +4,7 @@ import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.type.RBA_DoubleButton;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.gui.edition.recipe.rba;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.type.RBA_BooleanButton;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -4,7 +4,7 @@ import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.type.RBA_DoubleButton;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -5,7 +5,7 @@ import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.type.RBA_BooleanButton;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
|
@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.gui.edition.recipe.rba;
|
||||
import io.lumine.mythic.lib.api.util.AltChar;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
@ -4,7 +4,7 @@ import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.api.crafting.recipe.SmithingCombinationType;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.type.RBA_ChooseableButton;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -4,7 +4,7 @@ import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import io.lumine.mythic.lib.api.util.ItemFactory;
|
||||
import net.Indyuce.mmoitems.api.crafting.recipe.SmithingCombinationType;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.type.RBA_ChooseableButton;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -2,7 +2,7 @@ package net.Indyuce.mmoitems.gui.edition.recipe.rba;
|
||||
|
||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.gui.edition.recipe.rba.type;
|
||||
import io.lumine.mythic.lib.api.util.AltChar;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RecipeButtonAction;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.gui.edition.recipe.rba.type;
|
||||
import io.lumine.mythic.lib.api.util.AltChar;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RecipeButtonAction;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -8,7 +8,7 @@ import net.Indyuce.mmoitems.ItemStats;
|
||||
import net.Indyuce.mmoitems.api.edition.StatEdition;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RecipeButtonAction;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -14,8 +14,8 @@ import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_AmountOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_CookingTime;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_Experience;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RMG_BurningLegacy;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RMG_BurningLegacy;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.burninglegacy.BurningRecipeInformation;
|
||||
import net.Indyuce.mmoitems.manager.RecipeManager;
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
@ -13,11 +13,10 @@ import net.Indyuce.mmoitems.api.crafting.MMOItemUIFilter;
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_MegaShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_MegaShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_AmountOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RMG_MegaShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RMG_MegaShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
@ -14,11 +14,11 @@ import net.Indyuce.mmoitems.api.crafting.MMOItemUIFilter;
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_Shaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_Shaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_AmountOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RMG_Shaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RMG_Shaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.stat.data.StringData;
|
||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||
import org.bukkit.Material;
|
||||
|
@ -17,8 +17,8 @@ import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_AmountOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RMG_Shapeless;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RMG_Shapeless;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.stat.data.StringData;
|
||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||
import org.bukkit.Material;
|
||||
|
@ -1,7 +1,6 @@
|
||||
package net.Indyuce.mmoitems.gui.edition.recipe.registry;
|
||||
|
||||
import io.lumine.mythic.lib.api.crafting.ingredients.MythicRecipeIngredient;
|
||||
import io.lumine.mythic.lib.api.crafting.outputs.MythicRecipeOutput;
|
||||
import io.lumine.mythic.lib.api.crafting.recipes.MythicRecipeBlueprint;
|
||||
import io.lumine.mythic.lib.api.crafting.recipes.MythicRecipeStation;
|
||||
import io.lumine.mythic.lib.api.crafting.recipes.ShapedRecipe;
|
||||
@ -9,16 +8,15 @@ import io.lumine.mythic.lib.api.crafting.recipes.ShapelessRecipe;
|
||||
import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import io.lumine.mythic.lib.api.util.Ref;
|
||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.crafting.recipe.CustomSmithingRecipe;
|
||||
import net.Indyuce.mmoitems.api.crafting.recipe.SmithingCombinationType;
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_Smithing;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_Smithing;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.*;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RMG_Smithing;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RMG_Smithing;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
@ -10,19 +10,16 @@ import io.lumine.mythic.lib.api.crafting.uimanager.ProvidedUIFilter;
|
||||
import io.lumine.mythic.lib.api.util.Ref;
|
||||
import io.lumine.mythic.lib.api.util.ui.FriendlyFeedbackProvider;
|
||||
import net.Indyuce.mmoitems.ItemStats;
|
||||
import net.Indyuce.mmoitems.MMOItems;
|
||||
import net.Indyuce.mmoitems.api.crafting.MMOItemUIFilter;
|
||||
import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMGRI_SuperShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMGRI_SuperShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_AmountOutput;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RBA_HideFromBook;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RMG_SuperShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RMG_SuperShaped;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.stat.data.StringData;
|
||||
import net.Indyuce.mmoitems.stat.data.random.RandomStatData;
|
||||
import net.Indyuce.mmoitems.stat.data.type.StatData;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
@ -9,7 +9,6 @@ import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* With information on displaying and creating Recipes.
|
||||
@ -51,7 +50,7 @@ public interface RecipeRegistry {
|
||||
*
|
||||
* @param inv Edition Inventory by which the player is opening this
|
||||
* @param recipeName Name of the recipe
|
||||
* @param otherParams Whatever else required by the constructor of the {@link net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI}
|
||||
* @param otherParams Whatever else required by the constructor of the {@link net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI}
|
||||
*/
|
||||
void openForPlayer(@NotNull EditionInventory inv, @NotNull String recipeName, Object... otherParams);
|
||||
|
||||
|
@ -10,7 +10,7 @@ import net.Indyuce.mmoitems.gui.edition.EditionInventory;
|
||||
import net.Indyuce.mmoitems.gui.edition.ItemEdition;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.RecipeBrowserGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.RecipeListGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
@ -20,7 +20,7 @@ import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.VanillaIngredient;
|
||||
import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.WorkbenchIngredient;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.RecipeBrowserGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.RecipeRegistry;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.registry.burninglegacy.BurningRecipeInformation;
|
||||
import org.bukkit.Bukkit;
|
||||
@ -35,10 +35,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Manages the custom crafting of MMOItem components and stuff.
|
||||
@ -51,19 +48,22 @@ public class RecipeManager implements Reloadable {
|
||||
* Recipes which are handled by the vanilla spigot API.
|
||||
* All recipes registered here are Keyed
|
||||
*/
|
||||
final HashSet<Recipe> loadedLegacyRecipes = new HashSet<>();
|
||||
private final ArrayList<Recipe> loadedLegacyRecipes = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* All the custom recipes loaded by MMOItems.
|
||||
* <p></p>
|
||||
* <b>Except that for the time being, only Workbench recipes are supported
|
||||
* by mythic lib so for any other kind use the legacy array.</b>
|
||||
* Recipes handled by MMOItems and MythicLib.
|
||||
* They do support the knowledge book.
|
||||
*/
|
||||
final HashMap<NamespacedKey, MythicRecipeBlueprint> customRecipes = new HashMap<>();
|
||||
final ArrayList<MythicRecipeBlueprint> booklessRecipes = new ArrayList<>();
|
||||
private final ArrayList<MythicRecipeBlueprint> customRecipes = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Recipes handled by MMOItems but not MythicLib.
|
||||
* They do not support the knowledge book.
|
||||
*/
|
||||
private final ArrayList<MythicRecipeBlueprint> booklessRecipes = new ArrayList<>();
|
||||
|
||||
@NotNull
|
||||
ArrayList<NamespacedKey> blacklistedFromAutomaticDiscovery = new ArrayList<>();
|
||||
private final ArrayList<NamespacedKey> blacklistedFromAutomaticDiscovery = new ArrayList<>();
|
||||
|
||||
private boolean book;
|
||||
|
||||
@ -119,16 +119,7 @@ public class RecipeManager implements Reloadable {
|
||||
|
||||
// The result of sending to MythicLib
|
||||
MythicRecipeBlueprint blueprint = rr.sendToMythicLib(template, typeSection, recipeName, nkRef, ffpMinor);
|
||||
|
||||
// Was it registered in the book, then?
|
||||
if (nkRef.getValue() != null) {
|
||||
customRecipes.put(nkRef.getValue(), blueprint);
|
||||
|
||||
// Bookless, include in the other list.
|
||||
} else {
|
||||
booklessRecipes.add(blueprint);
|
||||
}
|
||||
|
||||
(nkRef.getValue() != null ? customRecipes : booklessRecipes).add(blueprint);
|
||||
|
||||
// Well something went wrong...
|
||||
} catch (IllegalArgumentException error) {
|
||||
@ -156,7 +147,7 @@ public class RecipeManager implements Reloadable {
|
||||
ffp.sendTo(FriendlyFeedbackCategory.FAILURE, MMOItems.getConsole());
|
||||
|
||||
// Load legacy recipes onto Bukkit System
|
||||
Bukkit.getScheduler().runTask(MMOItems.plugin, () -> getLoadedLegacyRecipes().forEach(Bukkit::addRecipe));
|
||||
Bukkit.getScheduler().runTask(MMOItems.plugin, () -> getBukkitRecipes().forEach(Bukkit::addRecipe));
|
||||
}
|
||||
|
||||
public void registerBurningRecipe(@NotNull BurningRecipeType recipeType, @NotNull MMOItem mmo, @NotNull BurningRecipeInformation info, int amount, @NotNull NamespacedKey key, boolean hidden) {
|
||||
@ -176,38 +167,34 @@ public class RecipeManager implements Reloadable {
|
||||
}
|
||||
}
|
||||
|
||||
public Set<Recipe> getLoadedLegacyRecipes() {
|
||||
@NotNull
|
||||
public ArrayList<Recipe> getBukkitRecipes() {
|
||||
return loadedLegacyRecipes;
|
||||
}
|
||||
|
||||
public HashMap<NamespacedKey, MythicRecipeBlueprint> getCustomRecipes() {
|
||||
@NotNull
|
||||
public ArrayList<MythicRecipeBlueprint> getCustomRecipes() {
|
||||
return customRecipes;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ArrayList<MythicRecipeBlueprint> getBooklessRecipes() {
|
||||
return booklessRecipes;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
ArrayList<NamespacedKey> generatedNKs;
|
||||
private ArrayList<NamespacedKey> generatedNamespacedKeys;
|
||||
|
||||
public ArrayList<NamespacedKey> getNamespacedKeys() {
|
||||
if (generatedNamespacedKeys != null)
|
||||
return generatedNamespacedKeys;
|
||||
|
||||
if (generatedNKs != null) {
|
||||
return generatedNKs;
|
||||
}
|
||||
// Collect all name-spaced keys
|
||||
generatedNamespacedKeys = new ArrayList<>();
|
||||
customRecipes.forEach(blueprint -> generatedNamespacedKeys.add(blueprint.getNk()));
|
||||
loadedLegacyRecipes.forEach(recipe -> generatedNamespacedKeys.add(((Keyed) recipe).getKey()));
|
||||
|
||||
// Collect all Namespaces
|
||||
ArrayList<NamespacedKey> nkMythic = new ArrayList<>(customRecipes.keySet());
|
||||
ArrayList<NamespacedKey> nkLegacy = loadedLegacyRecipes.stream().map(recipe -> ((Keyed) recipe).getKey()).distinct().collect(Collectors.toCollection(ArrayList::new));
|
||||
nkMythic.addAll(nkLegacy);
|
||||
generatedNKs = new ArrayList<>();
|
||||
for (NamespacedKey nk : nkMythic) {
|
||||
if (nk != null) {
|
||||
generatedNKs.add(nk);
|
||||
}
|
||||
}
|
||||
return generatedNKs;
|
||||
return generatedNamespacedKeys;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@ -238,79 +225,62 @@ public class RecipeManager implements Reloadable {
|
||||
blacklistedFromAutomaticDiscovery.clear();
|
||||
|
||||
// Disable and forget all blueprints
|
||||
for (NamespacedKey b : customRecipes.keySet()) {
|
||||
if (b == null) {
|
||||
continue;
|
||||
}
|
||||
customRecipes.get(b).disable();
|
||||
customRecipes.forEach(blueprint -> {
|
||||
try {
|
||||
Bukkit.removeRecipe(b);
|
||||
} catch (Throwable e) {
|
||||
MMOItems.print(null, "Could not register crafting book recipe for $r{0}$b:$f {1}", "MMOItems Custom Crafting", b.getKey(), e.getMessage());
|
||||
blueprint.disable();
|
||||
Bukkit.removeRecipe(blueprint.getNk());
|
||||
} catch (Throwable throwable) {
|
||||
MMOItems.plugin.getLogger().log(Level.INFO, "Could not unregister knowledge book recipe '" + blueprint.getNk() + "': " + throwable.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
customRecipes.clear();
|
||||
|
||||
for (MythicRecipeBlueprint b : booklessRecipes) {
|
||||
for (MythicRecipeBlueprint b : booklessRecipes)
|
||||
b.disable();
|
||||
}
|
||||
booklessRecipes.clear();
|
||||
|
||||
// Load all recipes
|
||||
generatedNKs = null;
|
||||
generatedNamespacedKeys = null;
|
||||
loadRecipes();
|
||||
|
||||
// Refresh the book I suppose
|
||||
if (book) {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
// Refresh book for online players
|
||||
if (book)
|
||||
for (Player player : Bukkit.getOnlinePlayers())
|
||||
refreshRecipeBook(player);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO For some reason, we have to refresh the book every time
|
||||
* the player joins the server or something; the thing is
|
||||
* that recipes that are hidden from the book are lost when
|
||||
* doing this (if they had unlocked them somehow).
|
||||
* -
|
||||
* Kind of need to somehow remember what recipes have been
|
||||
* unlocked by who so that they don't get lost...
|
||||
*/
|
||||
public void refreshRecipeBook(Player player) {
|
||||
|
||||
/*
|
||||
* todo For some reason, we have to refresh the book every time
|
||||
* the player joins the server or something; the thing is
|
||||
* that recipes that are hidden from the book are lost when
|
||||
* doing this (if they had unlocked them somehow).
|
||||
* -
|
||||
* Kind of need to somehow remember what recipes have been
|
||||
* unlocked by who so that they don't get lost...
|
||||
*/
|
||||
|
||||
// Book disabled?
|
||||
// Book disabled? Hide all recipes
|
||||
if (!book) {
|
||||
|
||||
// Hide all recipes
|
||||
for (NamespacedKey key : player.getDiscoveredRecipes()) {
|
||||
if ("mmoitems".equals(key.getNamespace())) {
|
||||
for (NamespacedKey key : player.getDiscoveredRecipes())
|
||||
if ("mmoitems".equals(key.getNamespace()))
|
||||
player.undiscoverRecipe(key);
|
||||
}
|
||||
}
|
||||
|
||||
// Done woah
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (MythicLib.plugin.getVersion().isStrictlyHigher(1, 16)) {
|
||||
|
||||
// Undiscovers the recipes apparently
|
||||
for (NamespacedKey key : player.getDiscoveredRecipes()) {
|
||||
if ("mmoitems".equals(key.getNamespace()) && !getNamespacedKeys().contains(key)) {
|
||||
for (NamespacedKey key : player.getDiscoveredRecipes())
|
||||
if ("mmoitems".equals(key.getNamespace()) && !getNamespacedKeys().contains(key))
|
||||
player.undiscoverRecipe(key);
|
||||
}
|
||||
}
|
||||
|
||||
// And discovers them again
|
||||
for (NamespacedKey recipe : getNamespacedKeys()) {
|
||||
if (recipe == null) {
|
||||
if (recipe == null)
|
||||
continue;
|
||||
}
|
||||
|
||||
// Not blacklisted right
|
||||
boolean blacklisted = false;
|
||||
|
@ -7,7 +7,7 @@ import net.Indyuce.mmoitems.api.ConfigFile;
|
||||
import net.Indyuce.mmoitems.api.ItemTier;
|
||||
import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem;
|
||||
import net.Indyuce.mmoitems.api.util.message.FFPMMOItems;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
@ -10,8 +10,8 @@ import io.lumine.mythic.lib.api.item.ItemTag;
|
||||
import io.lumine.mythic.lib.api.util.ui.QuickNumberRange;
|
||||
import io.lumine.mythic.lib.api.util.ui.SilentNumbers;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.RecipeBrowserGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.recipes.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreters.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.gui.RecipeMakerGUI;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.interpreter.RMG_RecipeInterpreter;
|
||||
import net.Indyuce.mmoitems.gui.edition.recipe.rba.RecipeButtonAction;
|
||||
import net.Indyuce.mmoitems.stat.data.StringData;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -30,7 +30,6 @@ import io.lumine.mythic.lib.api.util.AltChar;
|
||||
import io.lumine.mythic.lib.version.VersionMaterial;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.skills.types.Stat;
|
||||
|
||||
public class Crafting extends ItemStat<RandomStatData<StatData>, StatData> {
|
||||
public Crafting() {
|
||||
|
Loading…
Reference in New Issue
Block a user