mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
Add secondary background item & put some constant on a util class.
This commit is contained in:
parent
7129aed585
commit
ce96fefc79
8 changed files with 49 additions and 21 deletions
|
|
@ -14,6 +14,7 @@ import xyz.alexcrea.cuanvil.gui.MainConfigGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.config.settings.AbstractSettingGui;
|
import xyz.alexcrea.cuanvil.gui.config.settings.AbstractSettingGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
||||||
|
import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
@ -26,14 +27,6 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractEnchantConfigGui<T extends AbstractSettingGui.SettingGuiFactory> extends ValueUpdatableGui {
|
public abstract class AbstractEnchantConfigGui<T extends AbstractSettingGui.SettingGuiFactory> extends ValueUpdatableGui {
|
||||||
|
|
||||||
public static final List<Enchantment> SORTED_ENCHANTMENT_LIST;
|
|
||||||
static {
|
|
||||||
SORTED_ENCHANTMENT_LIST = Arrays.asList(Enchantment.values());
|
|
||||||
SORTED_ENCHANTMENT_LIST.sort(Comparator.comparing(ench -> ench.getKey().getKey()));
|
|
||||||
}
|
|
||||||
|
|
||||||
private final static Material SECONDARY_BACKGROUND_MATERIAL = Material.BLACK_STAINED_GLASS_PANE;
|
|
||||||
|
|
||||||
private final Gui backGui;
|
private final Gui backGui;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -76,7 +69,7 @@ public abstract class AbstractEnchantConfigGui<T extends AbstractSettingGui.Sett
|
||||||
GuiGlobalItems.addBackItem(this.backgroundItems, this.backGui);
|
GuiGlobalItems.addBackItem(this.backgroundItems, this.backGui);
|
||||||
|
|
||||||
GuiGlobalItems.addBackgroundItem(this.backgroundItems);
|
GuiGlobalItems.addBackgroundItem(this.backgroundItems);
|
||||||
this.backgroundItems.bindItem('1', GuiGlobalItems.backgroundItem(SECONDARY_BACKGROUND_MATERIAL));
|
this.backgroundItems.bindItem('1', GuiSharedConstant.SECONDARY_BACKGROUND_ITEM);
|
||||||
|
|
||||||
// enchant item panel
|
// enchant item panel
|
||||||
this.filledEnchant = new OutlinePane(0, 0, 9, 5);
|
this.filledEnchant = new OutlinePane(0, 0, 9, 5);
|
||||||
|
|
@ -96,7 +89,7 @@ public abstract class AbstractEnchantConfigGui<T extends AbstractSettingGui.Sett
|
||||||
protected void prepareValues(){
|
protected void prepareValues(){
|
||||||
bookItemFactoryList = new ArrayList<>();
|
bookItemFactoryList = new ArrayList<>();
|
||||||
|
|
||||||
for (Enchantment enchant : SORTED_ENCHANTMENT_LIST) {
|
for (Enchantment enchant : GuiSharedConstant.SORTED_ENCHANTMENT_LIST) {
|
||||||
T factory = getFactoryFromEnchant(enchant);
|
T factory = getFactoryFromEnchant(enchant);
|
||||||
|
|
||||||
bookItemFactoryList.add(factory);
|
bookItemFactoryList.add(factory);
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,6 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractSettingGui extends ChestGui {
|
public abstract class AbstractSettingGui extends ChestGui {
|
||||||
|
|
||||||
// Temporary values, until I get something better.
|
|
||||||
public static final boolean TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE = true;
|
|
||||||
public static final boolean TEMPORARY_DO_BACKUP_EVERY_SAVE = true;
|
|
||||||
|
|
||||||
protected final static List<String> CLICK_LORE = Collections.singletonList("\u00A77Click Here to change the value");
|
protected final static List<String> CLICK_LORE = Collections.singletonList("\u00A77Click Here to change the value");
|
||||||
|
|
||||||
private PatternPane pane;
|
private PatternPane pane;
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import org.jetbrains.annotations.NotNull;
|
||||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
||||||
|
import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant;
|
||||||
import xyz.alexcrea.cuanvil.util.MetricsUtil;
|
import xyz.alexcrea.cuanvil.util.MetricsUtil;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
@ -125,8 +126,8 @@ public class BoolSettingsGui extends AbstractSettingGui{
|
||||||
holder.config.getConfig().set(holder.configPath, now);
|
holder.config.getConfig().set(holder.configPath, now);
|
||||||
|
|
||||||
MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath);
|
MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath);
|
||||||
if(TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){
|
if(GuiSharedConstant.TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){
|
||||||
return holder.config.saveToDisk(TEMPORARY_DO_BACKUP_EVERY_SAVE);
|
return holder.config.saveToDisk(GuiSharedConstant.TEMPORARY_DO_BACKUP_EVERY_SAVE);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions;
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions;
|
||||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
||||||
|
import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant;
|
||||||
import xyz.alexcrea.cuanvil.util.MetricsUtil;
|
import xyz.alexcrea.cuanvil.util.MetricsUtil;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
@ -207,8 +208,8 @@ public class EnchantCostSettingsGui extends IntSettingsGui {
|
||||||
holder.config.getConfig().set(holder.configPath+BOOK_PATH, nowBook);
|
holder.config.getConfig().set(holder.configPath+BOOK_PATH, nowBook);
|
||||||
|
|
||||||
MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath);
|
MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath);
|
||||||
if(TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){
|
if(GuiSharedConstant.TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){
|
||||||
return holder.config.saveToDisk(TEMPORARY_DO_BACKUP_EVERY_SAVE);
|
return holder.config.saveToDisk(GuiSharedConstant.TEMPORARY_DO_BACKUP_EVERY_SAVE);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ import xyz.alexcrea.cuanvil.group.AbstractMaterialGroup;
|
||||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.config.AbstractEnchantConfigGui;
|
import xyz.alexcrea.cuanvil.gui.config.AbstractEnchantConfigGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.config.SelectEnchantmentContainer;
|
import xyz.alexcrea.cuanvil.gui.config.SelectEnchantmentContainer;
|
||||||
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
||||||
|
import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant;
|
||||||
import xyz.alexcrea.cuanvil.util.CasedStringUtil;
|
import xyz.alexcrea.cuanvil.util.CasedStringUtil;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
@ -40,6 +42,9 @@ public class EnchantSelectSettingGui extends AbstractSettingGui{
|
||||||
|
|
||||||
this.selectedEnchant = new HashSet<>(enchantContainer.getSelectedEnchantments());
|
this.selectedEnchant = new HashSet<>(enchantContainer.getSelectedEnchantments());
|
||||||
|
|
||||||
|
// Add secondary background item
|
||||||
|
this.getPane().bindItem('1', GuiSharedConstant.SECONDARY_BACKGROUND_ITEM);
|
||||||
|
|
||||||
initGroups();
|
initGroups();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -63,7 +68,7 @@ public class EnchantSelectSettingGui extends AbstractSettingGui{
|
||||||
filledEnchant.setOrientation(Orientable.Orientation.HORIZONTAL);
|
filledEnchant.setOrientation(Orientable.Orientation.HORIZONTAL);
|
||||||
|
|
||||||
Set<Enchantment> illegalEnchant = this.enchantContainer.illegalEnchantments();
|
Set<Enchantment> illegalEnchant = this.enchantContainer.illegalEnchantments();
|
||||||
for (Enchantment enchant : AbstractEnchantConfigGui.SORTED_ENCHANTMENT_LIST) {
|
for (Enchantment enchant : GuiSharedConstant.SORTED_ENCHANTMENT_LIST) {
|
||||||
if(illegalEnchant.contains(enchant)) {
|
if(illegalEnchant.contains(enchant)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||||
import xyz.alexcrea.cuanvil.group.AbstractMaterialGroup;
|
import xyz.alexcrea.cuanvil.group.AbstractMaterialGroup;
|
||||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.config.SelectGroupContainer;
|
import xyz.alexcrea.cuanvil.gui.config.SelectGroupContainer;
|
||||||
|
import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant;
|
||||||
import xyz.alexcrea.cuanvil.util.CasedStringUtil;
|
import xyz.alexcrea.cuanvil.util.CasedStringUtil;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -37,6 +38,9 @@ public class GroupSelectSettingGui extends AbstractSettingGui{
|
||||||
|
|
||||||
this.selectedGroups = new HashSet<>(groupContainer.getSelectedGroups());
|
this.selectedGroups = new HashSet<>(groupContainer.getSelectedGroups());
|
||||||
|
|
||||||
|
// Add secondary background item
|
||||||
|
this.getPane().bindItem('1', GuiSharedConstant.SECONDARY_BACKGROUND_ITEM);
|
||||||
|
|
||||||
initGroups();
|
initGroups();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||||
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
import xyz.alexcrea.cuanvil.gui.ValueUpdatableGui;
|
||||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions;
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions;
|
||||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
||||||
|
import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant;
|
||||||
import xyz.alexcrea.cuanvil.util.MetricsUtil;
|
import xyz.alexcrea.cuanvil.util.MetricsUtil;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
@ -247,8 +248,8 @@ public class IntSettingsGui extends AbstractSettingGui{
|
||||||
holder.config.getConfig().set(holder.configPath, now);
|
holder.config.getConfig().set(holder.configPath, now);
|
||||||
|
|
||||||
MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath);
|
MetricsUtil.INSTANCE.notifyChange(this.holder.config, this.holder.configPath);
|
||||||
if(TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){
|
if(GuiSharedConstant.TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE){
|
||||||
return holder.config.saveToDisk(TEMPORARY_DO_BACKUP_EVERY_SAVE);
|
return holder.config.saveToDisk(GuiSharedConstant.TEMPORARY_DO_BACKUP_EVERY_SAVE);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package xyz.alexcrea.cuanvil.gui.util;
|
||||||
|
|
||||||
|
import com.github.stefvanschie.inventoryframework.gui.GuiItem;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class GuiSharedConstant {
|
||||||
|
|
||||||
|
public static final List<Enchantment> SORTED_ENCHANTMENT_LIST;
|
||||||
|
static {
|
||||||
|
SORTED_ENCHANTMENT_LIST = Arrays.asList(Enchantment.values());
|
||||||
|
SORTED_ENCHANTMENT_LIST.sort(Comparator.comparing(ench -> ench.getKey().getKey()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Material SECONDARY_BACKGROUND_MATERIAL = Material.BLACK_STAINED_GLASS_PANE;
|
||||||
|
public static final GuiItem SECONDARY_BACKGROUND_ITEM = GuiGlobalItems.backgroundItem(GuiSharedConstant.SECONDARY_BACKGROUND_MATERIAL);
|
||||||
|
|
||||||
|
|
||||||
|
// Temporary values, until I get something better.
|
||||||
|
public static final boolean TEMPORARY_DO_SAVE_TO_DISK_EVERY_CHANGE = true;
|
||||||
|
public static final boolean TEMPORARY_DO_BACKUP_EVERY_SAVE = true;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue