| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package me.lethunderhawk.custom.recipes;
- import me.lethunderhawk.custom.recipes.command.RecipeEditorCommand;
- import me.lethunderhawk.custom.recipes.enchantedVariant.EnchantedVariantRecipeManager;
- import me.lethunderhawk.fluxapi.FluxService;
- import me.lethunderhawk.fluxapi.util.config.ConfigLoader;
- import me.lethunderhawk.fluxapi.util.interfaces.FluxAPIModule;
- import org.bukkit.Material;
- import org.bukkit.NamespacedKey;
- import org.bukkit.configuration.serialization.ConfigurationSerialization;
- import org.bukkit.event.HandlerList;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.java.JavaPlugin;
- public class CustomRecipeModule extends FluxAPIModule {
- private EnchantedVariantRecipeManager enchantedVariantRecipeManager;
- private RecipeManager recipeManager;
- public CustomRecipeModule(JavaPlugin plugin) {
- super(plugin);
- }
- @Override
- public String getPrefix() {
- return "[Custom Recipe]";
- }
- @Override
- public void onEnable() {
- ConfigurationSerialization.registerClass(CraftingTableRecipe.class);
- this.recipeManager = new RecipeManager(plugin);
- FluxService.register(RecipeManager.class, recipeManager);
- recipeManager.loadRecipes(FluxService.get(ConfigLoader.class));
- //addTestRecipes();
- //registerEnchantedVariantCrafts();
- plugin.getServer().getPluginManager().registerEvents(recipeManager, plugin);
- RecipeEditorCommand command = new RecipeEditorCommand(this);
- plugin.getCommand("customrecipe").setExecutor(command);
- plugin.getCommand("customrecipe").setExecutor(command);
- }
- private void registerEnchantedVariantCrafts() {
- ItemStack[] matrix = new ItemStack[9];
- ItemStack baseMaterial = new ItemStack(Material.COBBLESTONE);
- baseMaterial.setAmount(32);
- matrix[0] = baseMaterial;
- matrix[1] = baseMaterial;
- matrix[2] = baseMaterial;
- matrix[3] = baseMaterial;
- matrix[4] = baseMaterial;
- recipeManager.registerRecipe(
- new CraftingTableRecipe(new NamespacedKey(plugin, "enchanted_cobblestone"),
- matrix, new ItemStack(Material.RED_CONCRETE))
- );
- }
- private void addTestRecipes() {
- ItemStack[] matrix = new ItemStack[9];
- matrix[0] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[1] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[2] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[3] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[4] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[5] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[6] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[7] = new ItemStack(Material.WHITE_CONCRETE);
- matrix[8] = new ItemStack(Material.WHITE_CONCRETE);
- recipeManager.registerRecipe(
- new CraftingTableRecipe(new NamespacedKey(plugin, "test_recipe"),
- matrix, new ItemStack(Material.GREEN_CONCRETE))
- );
- }
- @Override
- public void onDisable() {
- if(recipeManager != null) {
- recipeManager.saveRecipes(FluxService.get(ConfigLoader.class));
- HandlerList.unregisterAll(recipeManager);
- }
- }
- }
|