mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
Fix reload command not executing the config event.
Also lazy loading of config guis.
This commit is contained in:
parent
e39bee5952
commit
03ae19e8a7
10 changed files with 109 additions and 32 deletions
|
|
@ -9,7 +9,9 @@ import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
|||
import xyz.alexcrea.cuanvil.group.EnchantConflictGroup;
|
||||
import xyz.alexcrea.cuanvil.gui.config.global.EnchantConflictGui;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Custom Anvil api for conflict registry.
|
||||
|
|
@ -56,7 +58,8 @@ public class ConflictAPI {
|
|||
ConfigHolder.CONFLICT_HOLDER.getConflictManager().addConflict(conflict);
|
||||
|
||||
// Add conflict to gui
|
||||
EnchantConflictGui.INSTANCE.updateValueForGeneric(conflict, true);
|
||||
EnchantConflictGui conflictGui = EnchantConflictGui.getCurrentInstance();
|
||||
if(conflictGui != null) conflictGui.updateValueForGeneric(conflict, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -137,7 +140,9 @@ public class ConflictAPI {
|
|||
prepareSaveTask();
|
||||
|
||||
// Remove from gui
|
||||
EnchantConflictGui.INSTANCE.removeGeneric(conflict);
|
||||
EnchantConflictGui conflictGui = EnchantConflictGui.getCurrentInstance();
|
||||
if(conflictGui != null) conflictGui.removeGeneric(conflict);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -162,14 +167,16 @@ public class ConflictAPI {
|
|||
|
||||
reloadChangeTask = Bukkit.getScheduler().scheduleSyncDelayedTask(CustomAnvil.instance, ()->{
|
||||
ConfigHolder.CONFLICT_HOLDER.reload();
|
||||
EnchantConflictGui.INSTANCE.reloadValues();
|
||||
EnchantConflictGui conflictGui = EnchantConflictGui.getCurrentInstance();
|
||||
if(conflictGui != null) conflictGui.reloadValues();
|
||||
|
||||
reloadChangeTask = -1;
|
||||
}, 0L);
|
||||
|
||||
}
|
||||
|
||||
static void logConflictOrigin(@NotNull ConflictBuilder builder){
|
||||
CustomAnvil.instance.getLogger().warning("Conflict " + builder.getName() +" came from " + builder.getSourceName() + ".");
|
||||
CustomAnvil.instance.getLogger().warning("Conflict " + builder.getName() + " came from " + builder.getSourceName() + ".");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -72,7 +72,8 @@ public class CustomAnvilRecipeApi {
|
|||
prepareSaveTask();
|
||||
|
||||
// Add from gui
|
||||
CustomRecipeConfigGui.INSTANCE.updateValueForGeneric(recipe, true);
|
||||
CustomRecipeConfigGui recipeConfigGui = CustomRecipeConfigGui.getCurrentInstance();
|
||||
if(recipeConfigGui != null) recipeConfigGui.updateValueForGeneric(recipe, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -92,7 +93,8 @@ public class CustomAnvilRecipeApi {
|
|||
prepareSaveTask();
|
||||
|
||||
// Remove from gui
|
||||
CustomRecipeConfigGui.INSTANCE.removeGeneric(recipe);
|
||||
CustomRecipeConfigGui recipeConfigGui = CustomRecipeConfigGui.getCurrentInstance();
|
||||
if(recipeConfigGui != null) recipeConfigGui.removeGeneric(recipe);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,8 @@ public class MaterialGroupApi {
|
|||
if(!writeMaterialGroup(group, false)) return false;
|
||||
|
||||
if(group instanceof IncludeGroup includeGroup){
|
||||
GroupConfigGui.INSTANCE.updateValueForGeneric(includeGroup, true);
|
||||
GroupConfigGui configGui = GroupConfigGui.getCurrentInstance();
|
||||
if(configGui != null) configGui.updateValueForGeneric(includeGroup, true);
|
||||
}
|
||||
|
||||
if(ConfigOptions.INSTANCE.getVerboseDebugLog()){
|
||||
|
|
@ -168,7 +169,8 @@ public class MaterialGroupApi {
|
|||
|
||||
// Remove from gui
|
||||
if(group instanceof IncludeGroup includeGroup){
|
||||
GroupConfigGui.INSTANCE.removeGeneric(includeGroup);
|
||||
GroupConfigGui configGui = GroupConfigGui.getCurrentInstance();
|
||||
if(configGui != null) configGui.removeGeneric(includeGroup);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -194,7 +196,10 @@ public class MaterialGroupApi {
|
|||
|
||||
reloadChangeTask = Bukkit.getScheduler().scheduleSyncDelayedTask(CustomAnvil.instance, ()->{
|
||||
ConfigHolder.ITEM_GROUP_HOLDER.reload();
|
||||
GroupConfigGui.INSTANCE.reloadValues();
|
||||
|
||||
GroupConfigGui configGui = GroupConfigGui.getCurrentInstance();
|
||||
if(configGui != null) configGui.reloadValues();
|
||||
|
||||
reloadChangeTask = -1;
|
||||
}, 0L);
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public class MainConfigGui extends ChestGui {
|
|||
enchantConflictMeta.setLore(Collections.singletonList("\u00A77Click here to open enchantment conflict menu"));
|
||||
enchantConflictItemstack.setItemMeta(enchantConflictMeta);
|
||||
|
||||
GuiItem enchantConflictItem = GuiGlobalItems.goToGuiItem(enchantConflictItemstack, EnchantConflictGui.INSTANCE);
|
||||
GuiItem enchantConflictItem = GuiGlobalItems.goToGuiItem(enchantConflictItemstack, EnchantConflictGui.getInstance());
|
||||
pane.bindItem('4', enchantConflictItem);
|
||||
|
||||
// Group config items
|
||||
|
|
@ -94,7 +94,7 @@ public class MainConfigGui extends ChestGui {
|
|||
groupMeta.setLore(Collections.singletonList("\u00A77Click here to open material group menu"));
|
||||
groupItemstack.setItemMeta(groupMeta);
|
||||
|
||||
GuiItem groupConfigItem = GuiGlobalItems.goToGuiItem(groupItemstack, GroupConfigGui.INSTANCE);
|
||||
GuiItem groupConfigItem = GuiGlobalItems.goToGuiItem(groupItemstack, GroupConfigGui.getInstance());
|
||||
|
||||
pane.bindItem('5', groupConfigItem);
|
||||
|
||||
|
|
@ -107,7 +107,7 @@ public class MainConfigGui extends ChestGui {
|
|||
unitRepairMeta.setLore(Collections.singletonList("\u00A77Click here to open anvil unit repair menu"));
|
||||
unirRepairItemstack.setItemMeta(unitRepairMeta);
|
||||
|
||||
GuiItem unitRepairItem = GuiGlobalItems.goToGuiItem(unirRepairItemstack, UnitRepairConfigGui.INSTANCE);
|
||||
GuiItem unitRepairItem = GuiGlobalItems.goToGuiItem(unirRepairItemstack, UnitRepairConfigGui.getInstance());
|
||||
pane.bindItem('6', unitRepairItem);
|
||||
|
||||
// Custom recipe item
|
||||
|
|
@ -119,7 +119,7 @@ public class MainConfigGui extends ChestGui {
|
|||
customRecipeMeta.setLore(Collections.singletonList("\u00A77Click here to open anvil custom recipe menu"));
|
||||
customRecipeItemstack.setItemMeta(customRecipeMeta);
|
||||
|
||||
GuiItem customRecipeItem = GuiGlobalItems.goToGuiItem(customRecipeItemstack, CustomRecipeConfigGui.INSTANCE);
|
||||
GuiItem customRecipeItem = GuiGlobalItems.goToGuiItem(customRecipeItemstack, CustomRecipeConfigGui.getInstance());
|
||||
pane.bindItem('7', customRecipeItem);
|
||||
|
||||
// quit item
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import org.bukkit.Material;
|
|||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.gui.config.list.MappedGuiListConfigGui;
|
||||
import xyz.alexcrea.cuanvil.gui.config.list.elements.CustomRecipeSubSettingGui;
|
||||
|
|
@ -17,10 +19,18 @@ import java.util.Collection;
|
|||
public class CustomRecipeConfigGui extends MappedGuiListConfigGui<AnvilCustomRecipe, CustomRecipeSubSettingGui> {
|
||||
|
||||
|
||||
public final static CustomRecipeConfigGui INSTANCE = new CustomRecipeConfigGui();
|
||||
private static CustomRecipeConfigGui INSTANCE = new CustomRecipeConfigGui();
|
||||
|
||||
static {
|
||||
INSTANCE.init();
|
||||
@Nullable
|
||||
public static CustomRecipeConfigGui getCurrentInstance(){
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static CustomRecipeConfigGui getInstance(){
|
||||
if(INSTANCE == null) INSTANCE = new CustomRecipeConfigGui();
|
||||
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
private CustomRecipeConfigGui() {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import org.bukkit.configuration.file.FileConfiguration;
|
|||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.group.EnchantConflictGroup;
|
||||
import xyz.alexcrea.cuanvil.group.IncludeGroup;
|
||||
|
|
@ -18,14 +20,25 @@ import java.util.Collection;
|
|||
|
||||
public class EnchantConflictGui extends MappedGuiListConfigGui<EnchantConflictGroup, EnchantConflictSubSettingGui> {
|
||||
|
||||
public static final EnchantConflictGui INSTANCE = new EnchantConflictGui();
|
||||
private static EnchantConflictGui INSTANCE;
|
||||
|
||||
static {
|
||||
INSTANCE.init();
|
||||
@Nullable
|
||||
public static EnchantConflictGui getCurrentInstance(){
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static EnchantConflictGui getInstance(){
|
||||
if(INSTANCE == null) INSTANCE = new EnchantConflictGui();
|
||||
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
|
||||
private EnchantConflictGui() {
|
||||
super( "Conflict Config");
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import org.bukkit.configuration.ConfigurationSection;
|
|||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.group.AbstractMaterialGroup;
|
||||
import xyz.alexcrea.cuanvil.group.GroupType;
|
||||
|
|
@ -20,14 +22,24 @@ import java.util.Collection;
|
|||
|
||||
public class GroupConfigGui extends MappedGuiListConfigGui<IncludeGroup, GroupConfigSubSettingGui> {
|
||||
|
||||
public final static GroupConfigGui INSTANCE = new GroupConfigGui();
|
||||
private static GroupConfigGui INSTANCE;
|
||||
|
||||
static {
|
||||
INSTANCE.init();
|
||||
@Nullable
|
||||
public static GroupConfigGui getCurrentInstance(){
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static GroupConfigGui getInstance(){
|
||||
if(INSTANCE == null) INSTANCE = new GroupConfigGui();
|
||||
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
public GroupConfigGui() {
|
||||
super("Group Config");
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ import org.bukkit.Material;
|
|||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.gui.config.ask.SelectItemTypeGui;
|
||||
import xyz.alexcrea.cuanvil.gui.config.list.MappedGuiListConfigGui;
|
||||
|
|
@ -18,14 +20,24 @@ import java.util.Collection;
|
|||
|
||||
public class UnitRepairConfigGui extends MappedGuiListConfigGui<Material, UnitRepairElementListGui> {
|
||||
|
||||
public static final UnitRepairConfigGui INSTANCE = new UnitRepairConfigGui();
|
||||
private static UnitRepairConfigGui INSTANCE;
|
||||
|
||||
static {
|
||||
INSTANCE.init();
|
||||
@Nullable
|
||||
public static UnitRepairConfigGui getCurrentInstance(){
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static UnitRepairConfigGui getInstance(){
|
||||
if(INSTANCE == null) INSTANCE = new UnitRepairConfigGui();
|
||||
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
private UnitRepairConfigGui() {
|
||||
super("Unit Repair Config");
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue