diff --git a/build.gradle.kts b/build.gradle.kts index cf51961e..6570e260 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ import java.text.SimpleDateFormat -version = "1.10.5-dev2" +version = "1.10.5-dev3" plugins { `java-library` diff --git a/src/main/java/com/github/yufiriamazenta/craftorithm/config/PluginConfigs.java b/src/main/java/com/github/yufiriamazenta/craftorithm/config/PluginConfigs.java index 62e760a5..5c4c4c91 100644 --- a/src/main/java/com/github/yufiriamazenta/craftorithm/config/PluginConfigs.java +++ b/src/main/java/com/github/yufiriamazenta/craftorithm/config/PluginConfigs.java @@ -18,5 +18,6 @@ public class PluginConfigs { public final static BooleanConfigEntry BSTATS = new BooleanConfigEntry("bstats", true); public final static BooleanConfigEntry RELEASE_DEFAULT_RECIPES = new BooleanConfigEntry("release_default_recipes", true); public final static BooleanConfigEntry ENABLE_ANVIL_RECIPE = new BooleanConfigEntry("enable_anvil_recipe", true); + public final static BooleanConfigEntry RELOAD_WHEN_IA_RELOAD = new BooleanConfigEntry("reload_when_ia_reload", true); } diff --git a/src/main/java/com/github/yufiriamazenta/craftorithm/listener/ItemsAdderHandler.java b/src/main/java/com/github/yufiriamazenta/craftorithm/listener/ItemsAdderHandler.java index 2168d734..94b1123f 100644 --- a/src/main/java/com/github/yufiriamazenta/craftorithm/listener/ItemsAdderHandler.java +++ b/src/main/java/com/github/yufiriamazenta/craftorithm/listener/ItemsAdderHandler.java @@ -1,5 +1,6 @@ package com.github.yufiriamazenta.craftorithm.listener; +import com.github.yufiriamazenta.craftorithm.config.PluginConfigs; import com.github.yufiriamazenta.craftorithm.recipe.RecipeManager; import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent; import org.bukkit.event.EventHandler; @@ -10,10 +11,15 @@ public enum ItemsAdderHandler implements Listener { INSTANCE; + private boolean isEnable = true; + @EventHandler(priority = EventPriority.MONITOR) public void onItemsAdderLoaded(ItemsAdderLoadDataEvent event) { + if (!PluginConfigs.RELOAD_WHEN_IA_RELOAD.value() && !isEnable) + return; RecipeManager.INSTANCE.reloadRecipeManager(); OtherPluginsListenerProxy.INSTANCE.reloadOtherPluginsListener(); + isEnable = false; } } \ No newline at end of file diff --git a/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeGroupListMenu.java b/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeGroupListMenu.java index d8eb1b87..05effe87 100644 --- a/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeGroupListMenu.java +++ b/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeGroupListMenu.java @@ -66,7 +66,7 @@ public Inventory getInventory() { } public void nextPage() { - setPage(Math.min(page + 1, maxPage - 1)).resetIcons(); + setPage(Math.min(page + 1, Math.max(0, maxPage - 1))).resetIcons(); refreshInventory(); } diff --git a/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeListMenu.java b/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeListMenu.java index c42e4168..f687c21d 100644 --- a/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeListMenu.java +++ b/src/main/java/com/github/yufiriamazenta/craftorithm/menu/display/RecipeListMenu.java @@ -63,7 +63,7 @@ public RecipeListMenu(Player player, Collection recipeKeys, Menu } public void nextPage() { - setPage(Math.min(page + 1, maxPage - 1)).resetIcons(); + setPage(Math.min(page + 1, Math.max(0, maxPage - 1))).resetIcons(); inventoryCache.clear(); for (Integer slot : slotMap.keySet()) { inventoryCache.setItem(slot, slotMap.get(slot).display()); diff --git a/src/main/java/com/github/yufiriamazenta/craftorithm/recipe/CopyNbtProcessor.java b/src/main/java/com/github/yufiriamazenta/craftorithm/recipe/CopyNbtProcessor.java deleted file mode 100644 index 87585796..00000000 --- a/src/main/java/com/github/yufiriamazenta/craftorithm/recipe/CopyNbtProcessor.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.github.yufiriamazenta.craftorithm.recipe; - -import com.github.yufiriamazenta.craftorithm.item.ItemManager; -import org.bukkit.inventory.meta.ItemMeta; - -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; -import java.util.function.Supplier; - -public class CopyNbtProcessor { - - private Map> processors = new HashMap<>(); - - public CopyNbtProcessor() { - - } - - public ItemMeta process(ItemMeta meta) { - - } - -} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 2014a61c..d8cc0cd2 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -12,4 +12,6 @@ enable_anvil_recipe: true #是否启用bstats插件使用数据统计 bstats: true #是否释放默认的配方模板文件 -release_default_recipes: true \ No newline at end of file +release_default_recipes: true +#是否在ItemsAdder重载时也重载Craftorithm +reload_when_ia_reload: true \ No newline at end of file