mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
Finish global gui for group config.
This commit is contained in:
parent
2c6349735b
commit
d5b7e5dbfd
7 changed files with 56 additions and 27 deletions
|
|
@ -6,6 +6,7 @@ import com.github.stefvanschie.inventoryframework.pane.PatternPane;
|
|||
import com.github.stefvanschie.inventoryframework.pane.util.Pattern;
|
||||
import io.delilaheve.CustomAnvil;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import xyz.alexcrea.cuanvil.gui.config.global.*;
|
||||
|
|
@ -83,12 +84,14 @@ public class MainConfigGui extends ChestGui {
|
|||
pane.bindItem('4', enchantConflictItem);
|
||||
|
||||
// Group config items
|
||||
ItemStack wipItemstack = new ItemStack(Material.BARRIER);
|
||||
ItemMeta wipMeta = wipItemstack.getItemMeta();
|
||||
wipMeta.setDisplayName("\u00A7cWIP");
|
||||
wipItemstack.setItemMeta(wipMeta);
|
||||
ItemStack groupItemstack = new ItemStack(Material.CHEST);
|
||||
|
||||
GuiItem groupConfigItem = GuiGlobalItems.goToGuiItem(wipItemstack, GroupConfigGui.INSTANCE);
|
||||
ItemMeta groupMeta = groupItemstack.getItemMeta();
|
||||
groupMeta.setDisplayName("\u00A7aMaterial Groups");
|
||||
groupMeta.setLore(Collections.singletonList("\u00A77Click here to open material group menu"));
|
||||
groupItemstack.setItemMeta(groupMeta);
|
||||
|
||||
GuiItem groupConfigItem = GuiGlobalItems.goToGuiItem(groupItemstack, GroupConfigGui.INSTANCE);
|
||||
|
||||
pane.bindItem('5', groupConfigItem);
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package xyz.alexcrea.cuanvil.gui.config.global;
|
|||
|
||||
import com.github.stefvanschie.inventoryframework.gui.GuiItem;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
|
|
@ -58,6 +59,7 @@ public class EnchantConflictGui extends MappedGuiListConfigGui<EnchantConflictGr
|
|||
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
|
||||
meta.addItemFlags(ItemFlag.values());
|
||||
meta.setDisplayName("\u00A7e" + CasedStringUtil.snakeToUpperSpacedCase(conflict.toString()) + " \u00A7fConflict");
|
||||
meta.setLore(Arrays.asList(
|
||||
"\u00A77Enchantment count: \u00A7e" + conflict.getEnchants().size(),
|
||||
|
|
|
|||
|
|
@ -1,19 +1,24 @@
|
|||
package xyz.alexcrea.cuanvil.gui.config.global;
|
||||
|
||||
import com.github.stefvanschie.inventoryframework.gui.GuiItem;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder;
|
||||
import xyz.alexcrea.cuanvil.group.AbstractMaterialGroup;
|
||||
import xyz.alexcrea.cuanvil.group.GroupType;
|
||||
import xyz.alexcrea.cuanvil.group.IncludeGroup;
|
||||
import xyz.alexcrea.cuanvil.group.ItemGroupManager;
|
||||
import xyz.alexcrea.cuanvil.gui.config.list.MappedGuiListConfigGui;
|
||||
import xyz.alexcrea.cuanvil.gui.config.list.elements.ConflictSubSettingGui;
|
||||
import xyz.alexcrea.cuanvil.gui.config.list.elements.GroupConfigSubSettingGui;
|
||||
import xyz.alexcrea.cuanvil.util.CasedStringUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class GroupConfigGui extends MappedGuiListConfigGui<AbstractMaterialGroup, ConflictSubSettingGui> {
|
||||
public class GroupConfigGui extends MappedGuiListConfigGui<AbstractMaterialGroup, GroupConfigSubSettingGui> {
|
||||
|
||||
public final static GroupConfigGui INSTANCE = new GroupConfigGui();
|
||||
|
||||
|
|
@ -30,7 +35,13 @@ public class GroupConfigGui extends MappedGuiListConfigGui<AbstractMaterialGroup
|
|||
ItemStack item = new ItemStack(group.getRepresentativeMaterial());
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
|
||||
meta.setDisplayName(group.getName());
|
||||
meta.addItemFlags(ItemFlag.values());
|
||||
meta.setDisplayName("\u00A7e" + CasedStringUtil.snakeToUpperSpacedCase(group.getName())+ " \u00A7rGroup");
|
||||
meta.setLore(Arrays.asList(
|
||||
"\u00A77Number of selected groups : " + group.getGroups().size(),
|
||||
"\u00A77Number of selected material: " + group.getNonGroupInheritedMaterials().size(),
|
||||
"",
|
||||
"\u00A77Total number of included material "+group.getMaterials().size()));
|
||||
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
|
|
@ -49,8 +60,8 @@ public class GroupConfigGui extends MappedGuiListConfigGui<AbstractMaterialGroup
|
|||
}
|
||||
|
||||
@Override
|
||||
protected ConflictSubSettingGui newInstanceOfGui(AbstractMaterialGroup group, GuiItem item) {
|
||||
return new ConflictSubSettingGui(this, group, item);
|
||||
protected GroupConfigSubSettingGui newInstanceOfGui(AbstractMaterialGroup group, GuiItem item) {
|
||||
return new GroupConfigSubSettingGui(this, group, item);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -60,8 +71,13 @@ public class GroupConfigGui extends MappedGuiListConfigGui<AbstractMaterialGroup
|
|||
|
||||
@Override
|
||||
protected AbstractMaterialGroup createAndSaveNewEmptyGeneric(String name) {
|
||||
ItemGroupManager manager = ConfigHolder.ITEM_GROUP_HOLDER.getItemGroupsManager();
|
||||
if(manager.getGroupMap().containsKey(name)) return null;
|
||||
|
||||
return null;
|
||||
ConfigurationSection config = ConfigHolder.ITEM_GROUP_HOLDER.getConfig();
|
||||
config.set(name+"."+ItemGroupManager.GROUP_TYPE_PATH, GroupType.INCLUDE.getGroupID());
|
||||
|
||||
return manager.createGroup(config, name);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,7 +81,10 @@ public abstract class MappedGuiListConfigGui< T, S extends ElementMappedToListGu
|
|||
}
|
||||
|
||||
T generic = createAndSaveNewEmptyGeneric(message);
|
||||
if(generic == null) return;// we don't know what to do
|
||||
if(generic == null) {// we don't know what to do. so we back up by opening this gui.
|
||||
this.show(player);
|
||||
return;
|
||||
}
|
||||
|
||||
updateValueForGeneric(generic, true);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package xyz.alexcrea.cuanvil.gui.config.list.elements;
|
||||
|
||||
import com.github.stefvanschie.inventoryframework.gui.GuiItem;
|
||||
import com.github.stefvanschie.inventoryframework.gui.type.util.Gui;
|
||||
import com.github.stefvanschie.inventoryframework.pane.PatternPane;
|
||||
import com.github.stefvanschie.inventoryframework.pane.util.Pattern;
|
||||
import io.delilaheve.CustomAnvil;
|
||||
|
|
@ -20,20 +19,19 @@ import xyz.alexcrea.cuanvil.gui.config.global.GroupConfigGui;
|
|||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions;
|
||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalItems;
|
||||
import xyz.alexcrea.cuanvil.gui.util.GuiSharedConstant;
|
||||
import xyz.alexcrea.cuanvil.recipe.CustomAnvilRecipeManager;
|
||||
import xyz.alexcrea.cuanvil.util.CasedStringUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class ConflictSubSettingGui extends MappedToListSubSettingGui {
|
||||
public class GroupConfigSubSettingGui extends MappedToListSubSettingGui {
|
||||
|
||||
private final GroupConfigGui parent;
|
||||
private final AbstractMaterialGroup group;
|
||||
private final PatternPane pane;
|
||||
|
||||
public ConflictSubSettingGui(
|
||||
public GroupConfigSubSettingGui(
|
||||
@NotNull GroupConfigGui parent,
|
||||
@NotNull AbstractMaterialGroup group,
|
||||
@NotNull GuiItem item) {
|
||||
Loading…
Add table
Add a link
Reference in a new issue