Renamed 'Element' to 'Menu'

This commit is contained in:
Marcel Konrad
2019-11-12 18:23:57 +01:00
parent dc4e3722c2
commit 12cc7f7079
26 changed files with 120 additions and 120 deletions

View File

@@ -299,7 +299,7 @@
} }
} }
], ],
"elements": [ "menus": [
{ {
"type": "page_list", "type": "page_list",
"dimensions": { "dimensions": {

View File

@@ -3,8 +3,8 @@ package exopandora.worldhandler.gui.container;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import exopandora.worldhandler.gui.element.Element; import exopandora.worldhandler.gui.menu.Menu;
import exopandora.worldhandler.gui.element.IElement; import exopandora.worldhandler.gui.menu.IMenu;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.widget.Widget; import net.minecraft.client.gui.widget.Widget;
@@ -20,7 +20,7 @@ public abstract class Container extends Screen implements IContainer
super(title); super(title);
} }
protected final List<IElement> elements = new ArrayList<IElement>(); protected final List<IMenu> menus = new ArrayList<IMenu>();
@Override @Override
public <T extends Widget> T add(T button) public <T extends Widget> T add(T button)
@@ -41,8 +41,8 @@ public abstract class Container extends Screen implements IContainer
} }
@Override @Override
public void add(Element element) public void add(Menu menu)
{ {
this.elements.add(element); this.menus.add(menu);
} }
} }

View File

@@ -1,7 +1,7 @@
package exopandora.worldhandler.gui.container; package exopandora.worldhandler.gui.container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.element.Element; import exopandora.worldhandler.gui.menu.Menu;
import net.minecraft.client.gui.widget.Widget; import net.minecraft.client.gui.widget.Widget;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@@ -12,7 +12,7 @@ public interface IContainer
<T extends Widget> T add(T button); <T extends Widget> T add(T button);
void initButtons(); void initButtons();
void add(Element element); void add(Menu menu);
String getPlayer(); String getPlayer();

View File

@@ -23,7 +23,7 @@ import exopandora.worldhandler.gui.button.GuiTextFieldTooltip;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.IContent; import exopandora.worldhandler.gui.content.IContent;
import exopandora.worldhandler.gui.element.IElement; import exopandora.worldhandler.gui.menu.IMenu;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.ResourceHelper; import exopandora.worldhandler.helper.ResourceHelper;
import exopandora.worldhandler.util.TextFormatting; import exopandora.worldhandler.util.TextFormatting;
@@ -80,7 +80,7 @@ public class GuiWorldHandler extends Container
ActionHelper.tryRun(() -> ActionHelper.tryRun(() ->
{ {
this.finalButtons.clear(); this.finalButtons.clear();
this.elements.clear(); this.menus.clear();
this.buttons.clear(); this.buttons.clear();
this.children.clear(); this.children.clear();
@@ -90,9 +90,9 @@ public class GuiWorldHandler extends Container
//ELEMENTS //ELEMENTS
for(IElement element : this.elements) for(IMenu menu : this.menus)
{ {
element.initGui(this); menu.initGui(this);
} }
//SHORTCUTS //SHORTCUTS
@@ -184,9 +184,9 @@ public class GuiWorldHandler extends Container
this.add(this.nameField); this.add(this.nameField);
for(IElement element : this.elements) for(IMenu menu : this.menus)
{ {
element.initButtons(this); menu.initButtons(this);
} }
} }
@@ -220,9 +220,9 @@ public class GuiWorldHandler extends Container
{ {
this.content.tick(this); this.content.tick(this);
for(IElement element : this.elements) for(IMenu menu : this.menus)
{ {
element.tick(); menu.tick();
} }
this.updateSyntax(); this.updateSyntax();
@@ -430,9 +430,9 @@ public class GuiWorldHandler extends Container
//CONTAINER ELEMENTS //CONTAINER ELEMENTS
for(IElement element : this.elements) for(IMenu menu : this.menus)
{ {
element.draw(mouseX, mouseY, partialTicks); menu.draw(mouseX, mouseY, partialTicks);
} }
//SYNTAX //SYNTAX

View File

@@ -17,9 +17,9 @@ import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.container.impl.GuiWorldHandler; import exopandora.worldhandler.gui.container.impl.GuiWorldHandler;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicMapped; import exopandora.worldhandler.gui.logic.ILogicMapped;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.AdvancementHelper; import exopandora.worldhandler.helper.AdvancementHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
@@ -50,7 +50,7 @@ public class ContentAdvancements extends Content
.filter(advancement -> advancement.getDisplay() != null) .filter(advancement -> advancement.getDisplay() != null)
.collect(Collectors.toList()); .collect(Collectors.toList());
ElementPageList<Advancement> list = new ElementPageList<Advancement>(x, y, advancements, 114, 20, 3, container, new ILogicPageList<Advancement>() MenuPageList<Advancement> list = new MenuPageList<Advancement>(x, y, advancements, 114, 20, 3, container, new ILogicPageList<Advancement>()
{ {
@Override @Override
public String translate(Advancement item) public String translate(Advancement item)

View File

@@ -7,8 +7,8 @@ import exopandora.worldhandler.config.Config;
import exopandora.worldhandler.gui.button.GuiButtonBase; import exopandora.worldhandler.gui.button.GuiButtonBase;
import exopandora.worldhandler.gui.button.GuiButtonTooltip; import exopandora.worldhandler.gui.button.GuiButtonTooltip;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
@@ -28,7 +28,7 @@ public class ContentButcherSettings extends ContentChild
{ {
List<EntityType<?>> list = ForgeRegistries.ENTITIES.getValues().stream().filter(EntityType::isSummonable).collect(Collectors.toList()); List<EntityType<?>> list = ForgeRegistries.ENTITIES.getValues().stream().filter(EntityType::isSummonable).collect(Collectors.toList());
ElementPageList<EntityType<?>> entities = new ElementPageList<EntityType<?>>(x, y, list, 114, 20, 3, container, new ILogicPageList<EntityType<?>>() MenuPageList<EntityType<?>> entities = new MenuPageList<EntityType<?>>(x, y, list, 114, 20, 3, container, new ILogicPageList<EntityType<?>>()
{ {
@Override @Override
public String translate(EntityType<?> item) public String translate(EntityType<?> item)

View File

@@ -20,11 +20,11 @@ import exopandora.worldhandler.gui.category.Category;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementColorMenu;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.logic.LogicSliderAttribute; import exopandora.worldhandler.gui.logic.LogicSliderAttribute;
import exopandora.worldhandler.gui.logic.LogicSliderSimple; import exopandora.worldhandler.gui.logic.LogicSliderSimple;
import exopandora.worldhandler.gui.menu.impl.MenuColorField;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import exopandora.worldhandler.helper.ResourceHelper; import exopandora.worldhandler.helper.ResourceHelper;
@@ -116,12 +116,12 @@ public class ContentCustomItem extends Content
{ {
if(this.startPage == 1) if(this.startPage == 1)
{ {
container.add(new ElementColorMenu(x, y, "gui.worldhandler.items.custom_item.start.custom_name", this.builderCutomItem.getName())); container.add(new MenuColorField(x, y, "gui.worldhandler.items.custom_item.start.custom_name", this.builderCutomItem.getName()));
} }
} }
else if(Page.ENCHANT.equals(this.page)) else if(Page.ENCHANT.equals(this.page))
{ {
ElementPageList<Enchantment> enchantments = new ElementPageList<Enchantment>(x + 118, y, new ArrayList<Enchantment>(ForgeRegistries.ENCHANTMENTS.getValues()), 114, 20, 3, container, new ILogicPageList<Enchantment>() MenuPageList<Enchantment> enchantments = new MenuPageList<Enchantment>(x + 118, y, new ArrayList<Enchantment>(ForgeRegistries.ENCHANTMENTS.getValues()), 114, 20, 3, container, new ILogicPageList<Enchantment>()
{ {
@Override @Override
public String translate(Enchantment item) public String translate(Enchantment item)
@@ -166,7 +166,7 @@ public class ContentCustomItem extends Content
} }
else if(Page.ATTRIBUTES.equals(this.page)) else if(Page.ATTRIBUTES.equals(this.page))
{ {
ElementPageList<EnumAttributes> attributes = new ElementPageList<EnumAttributes>(x + 118, y, this.attributes, 114, 20, 3, container, new ILogicPageList<EnumAttributes>() MenuPageList<EnumAttributes> attributes = new MenuPageList<EnumAttributes>(x + 118, y, this.attributes, 114, 20, 3, container, new ILogicPageList<EnumAttributes>()
{ {
@Override @Override
public String translate(EnumAttributes item) public String translate(EnumAttributes item)

View File

@@ -12,9 +12,9 @@ import exopandora.worldhandler.gui.category.Category;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.logic.LogicSliderSimple; import exopandora.worldhandler.gui.logic.LogicSliderSimple;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
@@ -38,7 +38,7 @@ public class ContentEnchantment extends Content
@Override @Override
public void initGui(Container container, int x, int y) public void initGui(Container container, int x, int y)
{ {
ElementPageList<Enchantment> enchantments = new ElementPageList<Enchantment>(x, y, new ArrayList<Enchantment>(ForgeRegistries.ENCHANTMENTS.getValues()), 114, 20, 3, container, new ILogicPageList<Enchantment>() MenuPageList<Enchantment> enchantments = new MenuPageList<Enchantment>(x, y, new ArrayList<Enchantment>(ForgeRegistries.ENCHANTMENTS.getValues()), 114, 20, 3, container, new ILogicPageList<Enchantment>()
{ {
@Override @Override
public String translate(Enchantment item) public String translate(Enchantment item)

View File

@@ -18,8 +18,8 @@ import exopandora.worldhandler.gui.category.Category;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
@@ -72,7 +72,7 @@ public class ContentGamerules extends Content
} }
}); });
ElementPageList<String> rules = new ElementPageList<String>(x, y, new ArrayList<String>(map.keySet()), 114, 20, 3, container, new ILogicPageList<String>() MenuPageList<String> rules = new MenuPageList<String>(x, y, new ArrayList<String>(map.keySet()), 114, 20, 3, container, new ILogicPageList<String>()
{ {
@Override @Override
public String translate(String item) public String translate(String item)

View File

@@ -11,9 +11,9 @@ import exopandora.worldhandler.gui.button.GuiButtonBase;
import exopandora.worldhandler.gui.button.GuiButtonTooltip; import exopandora.worldhandler.gui.button.GuiButtonTooltip;
import exopandora.worldhandler.gui.button.GuiSlider; import exopandora.worldhandler.gui.button.GuiSlider;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.logic.LogicSliderSimple; import exopandora.worldhandler.gui.logic.LogicSliderSimple;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
@@ -60,7 +60,7 @@ public class ContentPotions extends ContentChild
@Override @Override
public void initGui(Container container, int x, int y) public void initGui(Container container, int x, int y)
{ {
ElementPageList<Effect> potions = new ElementPageList<Effect>(x, y, new ArrayList<Effect>(ForgeRegistries.POTIONS.getValues()), 114, 20, 3, container, new ILogicPageList<Effect>() MenuPageList<Effect> potions = new MenuPageList<Effect>(x, y, new ArrayList<Effect>(ForgeRegistries.POTIONS.getValues()), 114, 20, 3, container, new ILogicPageList<Effect>()
{ {
@Override @Override
public String translate(Effect item) public String translate(Effect item)

View File

@@ -13,8 +13,8 @@ import exopandora.worldhandler.gui.category.Category;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
@@ -44,7 +44,7 @@ public class ContentRecipes extends Content
.filter(recipe -> !recipe.isDynamic()) .filter(recipe -> !recipe.isDynamic())
.collect(Collectors.toList()); .collect(Collectors.toList());
ElementPageList<IRecipe<?>> list = new ElementPageList<IRecipe<?>>(x, y, recipes, 114, 20, 3, container, new ILogicPageList<IRecipe<?>>() MenuPageList<IRecipe<?>> list = new MenuPageList<IRecipe<?>>(x, y, recipes, 114, 20, 3, container, new ILogicPageList<IRecipe<?>>()
{ {
@Override @Override
public String translate(IRecipe<?> item) public String translate(IRecipe<?> item)

View File

@@ -15,8 +15,8 @@ import exopandora.worldhandler.gui.button.GuiTextFieldTooltip;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementMultiButtonList;
import exopandora.worldhandler.gui.logic.ILogicClickList; import exopandora.worldhandler.gui.logic.ILogicClickList;
import exopandora.worldhandler.gui.menu.impl.MenuButtonList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import exopandora.worldhandler.helper.RegistryHelper; import exopandora.worldhandler.helper.RegistryHelper;
@@ -59,7 +59,7 @@ public class ContentScoreboardObjectives extends ContentScoreboard
if(Page.CREATE.equals(this.page)) if(Page.CREATE.equals(this.page))
{ {
ElementMultiButtonList objectives = new ElementMultiButtonList(x + 118, y + 24, HELPER.getObjectives(), 2, new ILogicClickList() MenuButtonList objectives = new MenuButtonList(x + 118, y + 24, HELPER.getObjectives(), 2, new ILogicClickList()
{ {
@Override @Override
public String translate(String key, int depth) public String translate(String key, int depth)
@@ -160,7 +160,7 @@ public class ContentScoreboardObjectives extends ContentScoreboard
} }
else if(Page.DISPLAY.equals(this.page) || Page.UNDISPLAY.equals(this.page)) else if(Page.DISPLAY.equals(this.page) || Page.UNDISPLAY.equals(this.page))
{ {
ElementMultiButtonList slots = new ElementMultiButtonList(x + 118, y + 24 - this.page.getShift(), HELPER.getSlots(), 2, new ILogicClickList() MenuButtonList slots = new MenuButtonList(x + 118, y + 24 - this.page.getShift(), HELPER.getSlots(), 2, new ILogicClickList()
{ {
@Override @Override
public String translate(String key, int depth) public String translate(String key, int depth)

View File

@@ -13,8 +13,8 @@ import exopandora.worldhandler.gui.button.GuiTextFieldTooltip;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementMultiButtonList;
import exopandora.worldhandler.gui.logic.ILogicClickList; import exopandora.worldhandler.gui.logic.ILogicClickList;
import exopandora.worldhandler.gui.menu.impl.MenuButtonList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
@@ -53,7 +53,7 @@ public class ContentScoreboardTeams extends ContentScoreboard
if(Page.OPTION.equals(this.page)) if(Page.OPTION.equals(this.page))
{ {
ElementMultiButtonList options = new ElementMultiButtonList(x + 118, y + 24, HELPER.getOptions(), 2, new ILogicClickList() MenuButtonList options = new MenuButtonList(x + 118, y + 24, HELPER.getOptions(), 2, new ILogicClickList()
{ {
@Override @Override
public String translate(String key, int depth) public String translate(String key, int depth)

View File

@@ -12,8 +12,8 @@ import exopandora.worldhandler.gui.button.GuiTextFieldTooltip;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.impl.ContentSettings.Setting.BooleanSetting; import exopandora.worldhandler.gui.content.impl.ContentSettings.Setting.BooleanSetting;
import exopandora.worldhandler.gui.content.impl.ContentSettings.Setting.IntegerSetting; import exopandora.worldhandler.gui.content.impl.ContentSettings.Setting.IntegerSetting;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
@@ -49,7 +49,7 @@ public class ContentSettings extends ContentChild
@Override @Override
public void initGui(Container container, int x, int y) public void initGui(Container container, int x, int y)
{ {
ElementPageList<Setting<?>> settings = new ElementPageList<Setting<?>>(x, y, SETTINGS, 114, 20, 3, container, new ILogicPageList<Setting<?>>() MenuPageList<Setting<?>> settings = new MenuPageList<Setting<?>>(x, y, SETTINGS, 114, 20, 3, container, new ILogicPageList<Setting<?>>()
{ {
@Override @Override
public String translate(Setting<?> item) public String translate(Setting<?> item)

View File

@@ -15,8 +15,8 @@ import exopandora.worldhandler.gui.category.Category;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementColorMenu;
import exopandora.worldhandler.gui.logic.ILogicColorMenu; import exopandora.worldhandler.gui.logic.ILogicColorMenu;
import exopandora.worldhandler.gui.menu.impl.MenuColorField;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.BlockHelper; import exopandora.worldhandler.helper.BlockHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
@@ -70,7 +70,7 @@ public class ContentSignEditor extends Content
container.initButtons(); container.initButtons();
}); });
ElementColorMenu colors = new ElementColorMenu(x, y, "gui.worldhandler.blocks.sign_editor.text_line_" + (this.selectedLine + 1), this.builderSignEditor.getColoredString(this.selectedLine), new ILogicColorMenu() MenuColorField colors = new MenuColorField(x, y, "gui.worldhandler.blocks.sign_editor.text_line_" + (this.selectedLine + 1), this.builderSignEditor.getColoredString(this.selectedLine), new ILogicColorMenu()
{ {
@Override @Override
public boolean validate(String text) public boolean validate(String text)

View File

@@ -22,10 +22,10 @@ import exopandora.worldhandler.gui.category.Category;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.content.Contents; import exopandora.worldhandler.gui.content.Contents;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.logic.LogicSliderAttribute; import exopandora.worldhandler.gui.logic.LogicSliderAttribute;
import exopandora.worldhandler.gui.logic.LogicSliderSimple; import exopandora.worldhandler.gui.logic.LogicSliderSimple;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.helper.ActionHelper; import exopandora.worldhandler.helper.ActionHelper;
import exopandora.worldhandler.helper.CommandHelper; import exopandora.worldhandler.helper.CommandHelper;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
@@ -132,7 +132,7 @@ public class ContentSummon extends Content
if(Page.ATTRIBUTES.equals(this.page)) if(Page.ATTRIBUTES.equals(this.page))
{ {
ElementPageList<EnumAttributes> attributes = new ElementPageList<EnumAttributes>(x + 118, y, this.attributes, 114, 20, 3, container, new ILogicPageList<EnumAttributes>() MenuPageList<EnumAttributes> attributes = new MenuPageList<EnumAttributes>(x + 118, y, this.attributes, 114, 20, 3, container, new ILogicPageList<EnumAttributes>()
{ {
@Override @Override
public String translate(EnumAttributes item) public String translate(EnumAttributes item)

View File

@@ -23,10 +23,10 @@ import exopandora.worldhandler.usercontent.VisibleActiveObject;
import exopandora.worldhandler.usercontent.VisibleObject; import exopandora.worldhandler.usercontent.VisibleObject;
import exopandora.worldhandler.usercontent.factory.ActionHandlerFactory; import exopandora.worldhandler.usercontent.factory.ActionHandlerFactory;
import exopandora.worldhandler.usercontent.factory.ButtonFactory; import exopandora.worldhandler.usercontent.factory.ButtonFactory;
import exopandora.worldhandler.usercontent.factory.ElementFactory; import exopandora.worldhandler.usercontent.factory.MenuFactory;
import exopandora.worldhandler.usercontent.model.JsonButton; import exopandora.worldhandler.usercontent.model.JsonButton;
import exopandora.worldhandler.usercontent.model.JsonCommand; import exopandora.worldhandler.usercontent.model.JsonCommand;
import exopandora.worldhandler.usercontent.model.JsonElement; import exopandora.worldhandler.usercontent.model.JsonMenu;
import exopandora.worldhandler.usercontent.model.JsonModel; import exopandora.worldhandler.usercontent.model.JsonModel;
import exopandora.worldhandler.usercontent.model.JsonText; import exopandora.worldhandler.usercontent.model.JsonText;
import exopandora.worldhandler.usercontent.model.JsonUsercontent; import exopandora.worldhandler.usercontent.model.JsonUsercontent;
@@ -52,7 +52,7 @@ public class ContentUsercontent extends Content
private final List<VisibleActiveObject<Widget>> buttons = new ArrayList<VisibleActiveObject<Widget>>(); private final List<VisibleActiveObject<Widget>> buttons = new ArrayList<VisibleActiveObject<Widget>>();
private UsercontentAPI api; private UsercontentAPI api;
private ButtonFactory buttonFactory; private ButtonFactory buttonFactory;
private ElementFactory elementFactory; private MenuFactory menuFactory;
public ContentUsercontent(UsercontentConfig config) throws Exception public ContentUsercontent(UsercontentConfig config) throws Exception
{ {
@@ -63,7 +63,7 @@ public class ContentUsercontent extends Content
this.api = new UsercontentAPI(this.builders.stream().map(VisibleObject::getObject).collect(Collectors.toList())); this.api = new UsercontentAPI(this.builders.stream().map(VisibleObject::getObject).collect(Collectors.toList()));
ActionHandlerFactory actionHandlerFactory = new ActionHandlerFactory(this.api,this. builders, this.engineAdapter); ActionHandlerFactory actionHandlerFactory = new ActionHandlerFactory(this.api,this. builders, this.engineAdapter);
this.buttonFactory = new ButtonFactory(this.api, actionHandlerFactory); this.buttonFactory = new ButtonFactory(this.api, actionHandlerFactory);
this.elementFactory = new ElementFactory(this.api, actionHandlerFactory); this.menuFactory = new MenuFactory(this.api, actionHandlerFactory);
this.engineAdapter.addObject("api", this.api); this.engineAdapter.addObject("api", this.api);
this.engineAdapter.eval(config.getJs()); this.engineAdapter.eval(config.getJs());
} }
@@ -100,9 +100,9 @@ public class ContentUsercontent extends Content
} }
} }
for(JsonElement element : this.getWidgets(this.content.getGui().getElements(), JsonWidget.Type.ELEMENT)) for(JsonMenu menu : this.getWidgets(this.content.getGui().getMenus(), JsonWidget.Type.ELEMENT))
{ {
container.add(this.elementFactory.createElement(element, this, container, x, y)); container.add(this.menuFactory.createMenu(menu, this, container, x, y));
} }
this.updateTextfields(); this.updateTextfields();

View File

@@ -1,11 +1,11 @@
package exopandora.worldhandler.gui.element; package exopandora.worldhandler.gui.menu;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public interface IElement public interface IMenu
{ {
void initGui(Container container); void initGui(Container container);
void initButtons(Container container); void initButtons(Container container);

View File

@@ -1,15 +1,15 @@
package exopandora.worldhandler.gui.element; package exopandora.worldhandler.gui.menu;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public abstract class Element implements IElement public abstract class Menu implements IMenu
{ {
protected int x; protected int x;
protected int y; protected int y;
public Element(int x, int y) public Menu(int x, int y)
{ {
this.x = x; this.x = x;
this.y = y; this.y = y;

View File

@@ -1,4 +1,4 @@
package exopandora.worldhandler.gui.element.impl; package exopandora.worldhandler.gui.menu.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@@ -11,28 +11,28 @@ import exopandora.worldhandler.gui.button.GuiButtonBase;
import exopandora.worldhandler.gui.button.GuiButtonList; import exopandora.worldhandler.gui.button.GuiButtonList;
import exopandora.worldhandler.gui.button.GuiButtonList.Persistence; import exopandora.worldhandler.gui.button.GuiButtonList.Persistence;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.element.Element;
import exopandora.worldhandler.gui.logic.ILogicClickList; import exopandora.worldhandler.gui.logic.ILogicClickList;
import exopandora.worldhandler.gui.logic.ILogicMapped; import exopandora.worldhandler.gui.logic.ILogicMapped;
import exopandora.worldhandler.gui.menu.Menu;
import exopandora.worldhandler.helper.Node; import exopandora.worldhandler.helper.Node;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class ElementMultiButtonList extends Element public class MenuButtonList extends Menu
{ {
private final List<Node> items; private final List<Node> items;
private final ILogicClickList logic; private final ILogicClickList logic;
private final ElementMultiButtonList parent; private final MenuButtonList parent;
private final int depth; private final int depth;
private final int maxDepth; private final int maxDepth;
public ElementMultiButtonList(int x, int y, List<Node> list, int maxDepth, ILogicClickList logic) public MenuButtonList(int x, int y, List<Node> list, int maxDepth, ILogicClickList logic)
{ {
this(x, y, list, maxDepth, logic, null); this(x, y, list, maxDepth, logic, null);
} }
private ElementMultiButtonList(int x, int y, List<Node> list, int maxDepth, ILogicClickList logic, ElementMultiButtonList parent) private MenuButtonList(int x, int y, List<Node> list, int maxDepth, ILogicClickList logic, MenuButtonList parent)
{ {
super(x, y); super(x, y);
this.items = list; this.items = list;
@@ -56,7 +56,7 @@ public class ElementMultiButtonList extends Element
@Override @Override
public String translate(Node item) public String translate(Node item)
{ {
return ElementMultiButtonList.this.logic.translate(ElementMultiButtonList.this.buildKey(container, ElementMultiButtonList.this.logic::buildTranslationKey), ElementMultiButtonList.this.getDepth()); return MenuButtonList.this.logic.translate(MenuButtonList.this.buildKey(container, MenuButtonList.this.logic::buildTranslationKey), MenuButtonList.this.getDepth());
} }
@Override @Override
@@ -74,14 +74,14 @@ public class ElementMultiButtonList extends Element
@Override @Override
public void onClick(Node item) public void onClick(Node item)
{ {
ElementMultiButtonList.this.getPersistence(container, 1).setIndex(0); MenuButtonList.this.getPersistence(container, 1).setIndex(0);
container.init(); container.init();
} }
@Override @Override
public String getId() public String getId()
{ {
return ElementMultiButtonList.this.getId(); return MenuButtonList.this.getId();
} }
})); }));
@@ -90,7 +90,7 @@ public class ElementMultiButtonList extends Element
if(node.getEntries() != null) if(node.getEntries() != null)
{ {
ElementMultiButtonList child = new ElementMultiButtonList(this.x, this.y + 24, node.getEntries(), this.maxDepth, this.logic, this); MenuButtonList child = new MenuButtonList(this.x, this.y + 24, node.getEntries(), this.maxDepth, this.logic, this);
child.initButtons(container); child.initButtons(container);
} }
else else
@@ -122,7 +122,7 @@ public class ElementMultiButtonList extends Element
} }
@Nullable @Nullable
protected ElementMultiButtonList getParent() protected MenuButtonList getParent()
{ {
return this.parent; return this.parent;
} }
@@ -134,7 +134,7 @@ public class ElementMultiButtonList extends Element
protected String getId(int offset) protected String getId(int offset)
{ {
return String.format("%s%d", ElementMultiButtonList.this.logic.getId(), ElementMultiButtonList.this.depth + offset); return String.format("%s%d", MenuButtonList.this.logic.getId(), MenuButtonList.this.depth + offset);
} }
protected Persistence getPersistence(Container container) protected Persistence getPersistence(Container container)
@@ -154,16 +154,16 @@ public class ElementMultiButtonList extends Element
protected String buildKey(Container container, BiFunction<List<String>, Integer, String> factory) protected String buildKey(Container container, BiFunction<List<String>, Integer, String> factory)
{ {
List<String> nodes = new ArrayList<String>(ElementMultiButtonList.this.depth + 1); List<String> nodes = new ArrayList<String>(MenuButtonList.this.depth + 1);
ElementMultiButtonList element = ElementMultiButtonList.this; MenuButtonList menu = MenuButtonList.this;
while(element != null) while(menu != null)
{ {
nodes.add(element.getNode(container).getKey()); nodes.add(menu.getNode(container).getKey());
element = element.getParent(); menu = menu.getParent();
} }
Collections.reverse(nodes); Collections.reverse(nodes);
return factory.apply(nodes, ElementMultiButtonList.this.depth); return factory.apply(nodes, MenuButtonList.this.depth);
} }
} }

View File

@@ -1,4 +1,4 @@
package exopandora.worldhandler.gui.element.impl; package exopandora.worldhandler.gui.menu.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -7,9 +7,9 @@ import exopandora.worldhandler.gui.button.GuiButtonBase;
import exopandora.worldhandler.gui.button.GuiButtonList; import exopandora.worldhandler.gui.button.GuiButtonList;
import exopandora.worldhandler.gui.button.GuiTextFieldTooltip; import exopandora.worldhandler.gui.button.GuiTextFieldTooltip;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.element.Element;
import exopandora.worldhandler.gui.logic.ILogicColorMenu; import exopandora.worldhandler.gui.logic.ILogicColorMenu;
import exopandora.worldhandler.gui.logic.ILogicMapped; import exopandora.worldhandler.gui.logic.ILogicMapped;
import exopandora.worldhandler.gui.menu.Menu;
import exopandora.worldhandler.util.MutableStringTextComponent; import exopandora.worldhandler.util.MutableStringTextComponent;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -17,7 +17,7 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class ElementColorMenu extends Element public class MenuColorField extends Menu
{ {
private static final List<TextFormatting> COLORS = new ArrayList<TextFormatting>(); private static final List<TextFormatting> COLORS = new ArrayList<TextFormatting>();
@@ -47,12 +47,12 @@ public class ElementColorMenu extends Element
private final ILogicColorMenu logic; private final ILogicColorMenu logic;
private final String translationKey; private final String translationKey;
public ElementColorMenu(int x, int y, String translationKey, MutableStringTextComponent string) public MenuColorField(int x, int y, String translationKey, MutableStringTextComponent string)
{ {
this(x, y, translationKey, string, new ILogicColorMenu(){}); this(x, y, translationKey, string, new ILogicColorMenu(){});
} }
public ElementColorMenu(int x, int y, String translationKey, MutableStringTextComponent string, ILogicColorMenu logic) public MenuColorField(int x, int y, String translationKey, MutableStringTextComponent string, ILogicColorMenu logic)
{ {
super(x, y); super(x, y);
this.translationKey = translationKey; this.translationKey = translationKey;
@@ -103,13 +103,13 @@ public class ElementColorMenu extends Element
@Override @Override
public void onClick(TextFormatting item) public void onClick(TextFormatting item)
{ {
ElementColorMenu.this.string.getStyle().setColor(item); MenuColorField.this.string.getStyle().setColor(item);
} }
@Override @Override
public String getId() public String getId()
{ {
return ElementColorMenu.this.logic.getId(); return MenuColorField.this.logic.getId();
} }
})); }));

View File

@@ -1,4 +1,4 @@
package exopandora.worldhandler.gui.element.impl; package exopandora.worldhandler.gui.menu.impl;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -6,8 +6,8 @@ import java.util.Objects;
import exopandora.worldhandler.config.Config; import exopandora.worldhandler.config.Config;
import exopandora.worldhandler.gui.button.GuiButtonBase; import exopandora.worldhandler.gui.button.GuiButtonBase;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.element.Element;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.menu.Menu;
import exopandora.worldhandler.util.TextFormatting; import exopandora.worldhandler.util.TextFormatting;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
@@ -15,7 +15,7 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class ElementPageList<T> extends Element public class MenuPageList<T> extends Menu
{ {
private final List<T> items; private final List<T> items;
private final ILogicPageList<T> logic; private final ILogicPageList<T> logic;
@@ -24,7 +24,7 @@ public class ElementPageList<T> extends Element
private final int height; private final int height;
private final int length; private final int length;
public ElementPageList(int x, int y, List<T> items, int width, int height, int length, Container container, ILogicPageList<T> logic) public MenuPageList(int x, int y, List<T> items, int width, int height, int length, Container container, ILogicPageList<T> logic)
{ {
super(x, y); super(x, y);
this.items = Objects.requireNonNull(items); this.items = Objects.requireNonNull(items);

View File

@@ -28,7 +28,7 @@ import exopandora.worldhandler.gui.button.EnumIcon;
import exopandora.worldhandler.usercontent.model.Action; import exopandora.worldhandler.usercontent.model.Action;
import exopandora.worldhandler.usercontent.model.BooleanExpression; import exopandora.worldhandler.usercontent.model.BooleanExpression;
import exopandora.worldhandler.usercontent.model.JsonButton; import exopandora.worldhandler.usercontent.model.JsonButton;
import exopandora.worldhandler.usercontent.model.JsonElement; import exopandora.worldhandler.usercontent.model.JsonMenu;
import exopandora.worldhandler.usercontent.model.JsonUsercontent; import exopandora.worldhandler.usercontent.model.JsonUsercontent;
import jdk.nashorn.api.scripting.NashornScriptEngineFactory; import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
@@ -65,7 +65,7 @@ public class UsercontentLoader
.registerTypeAdapter(BooleanExpression.Type.class, new EnumTypeAdapter<BooleanExpression.Type>(BooleanExpression.Type.class)) .registerTypeAdapter(BooleanExpression.Type.class, new EnumTypeAdapter<BooleanExpression.Type>(BooleanExpression.Type.class))
.registerTypeAdapter(JsonButton.Type.class, new EnumTypeAdapter<JsonButton.Type>(JsonButton.Type.class)) .registerTypeAdapter(JsonButton.Type.class, new EnumTypeAdapter<JsonButton.Type>(JsonButton.Type.class))
.registerTypeAdapter(Action.Type.class, new EnumTypeAdapter<Action.Type>(Action.Type.class)) .registerTypeAdapter(Action.Type.class, new EnumTypeAdapter<Action.Type>(Action.Type.class))
.registerTypeAdapter(JsonElement.Type.class, new EnumTypeAdapter<JsonElement.Type>(JsonElement.Type.class)) .registerTypeAdapter(JsonMenu.Type.class, new EnumTypeAdapter<JsonMenu.Type>(JsonMenu.Type.class))
.create(); .create();
final List<Path> folders = Files.list(path) final List<Path> folders = Files.list(path)
.filter(Files::isDirectory) .filter(Files::isDirectory)

View File

@@ -6,11 +6,11 @@ import exopandora.worldhandler.gui.button.GuiButtonBase;
import exopandora.worldhandler.gui.button.GuiButtonTooltip; import exopandora.worldhandler.gui.button.GuiButtonTooltip;
import exopandora.worldhandler.gui.container.Container; import exopandora.worldhandler.gui.container.Container;
import exopandora.worldhandler.gui.content.Content; import exopandora.worldhandler.gui.content.Content;
import exopandora.worldhandler.gui.element.Element;
import exopandora.worldhandler.gui.element.impl.ElementPageList;
import exopandora.worldhandler.gui.logic.ILogicPageList; import exopandora.worldhandler.gui.logic.ILogicPageList;
import exopandora.worldhandler.gui.menu.Menu;
import exopandora.worldhandler.gui.menu.impl.MenuPageList;
import exopandora.worldhandler.usercontent.UsercontentAPI; import exopandora.worldhandler.usercontent.UsercontentAPI;
import exopandora.worldhandler.usercontent.model.JsonElement; import exopandora.worldhandler.usercontent.model.JsonMenu;
import exopandora.worldhandler.usercontent.model.JsonItem; import exopandora.worldhandler.usercontent.model.JsonItem;
import exopandora.worldhandler.usercontent.model.JsonWidget; import exopandora.worldhandler.usercontent.model.JsonWidget;
import exopandora.worldhandler.util.ActionHandler; import exopandora.worldhandler.util.ActionHandler;
@@ -18,28 +18,28 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class ElementFactory extends WidgetFactory public class MenuFactory extends WidgetFactory
{ {
public ElementFactory(UsercontentAPI api, ActionHandlerFactory actionHandlerFactory) public MenuFactory(UsercontentAPI api, ActionHandlerFactory actionHandlerFactory)
{ {
super(api, actionHandlerFactory); super(api, actionHandlerFactory);
} }
@Nullable @Nullable
public Element createElement(JsonElement element, Content content, Container container, int x, int y) public Menu createMenu(JsonMenu menu, Content content, Container container, int x, int y)
{ {
if(JsonElement.Type.PAGE_LIST.equals(element.getType())) if(JsonMenu.Type.PAGE_LIST.equals(menu.getType()))
{ {
return new ElementPageList<JsonItem> return new MenuPageList<JsonItem>
( (
element.getDimensions().getX() + x, menu.getDimensions().getX() + x,
element.getDimensions().getY() + y, menu.getDimensions().getY() + y,
element.getAttributes().getItems(), menu.getAttributes().getItems(),
element.getDimensions().getWidth(), menu.getDimensions().getWidth(),
element.getDimensions().getHeight(), menu.getDimensions().getHeight(),
element.getAttributes().getLength(), menu.getAttributes().getLength(),
container, container,
new UsercontentLogicPageList<JsonElement.Type>(this.getApi(), this.getActionHandlerFactory(), content, container, element) new UsercontentLogicPageList<JsonMenu.Type>(this.getApi(), this.getActionHandlerFactory(), content, container, menu)
); );
} }

View File

@@ -19,18 +19,18 @@ public class JsonGui
@SerializedName("buttons") @SerializedName("buttons")
private List<JsonButton> buttons = null; private List<JsonButton> buttons = null;
@SerializedName("elements") @SerializedName("menus")
private List<JsonElement> elements = null; private List<JsonMenu> menus = null;
@SerializedName("texts") @SerializedName("texts")
private List<JsonText> texts = null; private List<JsonText> texts = null;
public JsonGui(String title, JsonTab tab, List<JsonButton> buttons, List<JsonElement> elements, List<JsonText> texts) public JsonGui(String title, JsonTab tab, List<JsonButton> buttons, List<JsonMenu> menus, List<JsonText> texts)
{ {
this.title = title; this.title = title;
this.tab = tab; this.tab = tab;
this.buttons = buttons; this.buttons = buttons;
this.elements = elements; this.menus = menus;
this.texts = texts; this.texts = texts;
} }
@@ -64,14 +64,14 @@ public class JsonGui
this.buttons = buttons; this.buttons = buttons;
} }
public List<JsonElement> getElements() public List<JsonMenu> getMenus()
{ {
return this.elements; return this.menus;
} }
public void setElements(List<JsonElement> elements) public void setMenus(List<JsonMenu> menus)
{ {
this.elements = elements; this.menus = menus;
} }
public List<JsonText> getTexts() public List<JsonText> getTexts()

View File

@@ -2,17 +2,17 @@ package exopandora.worldhandler.usercontent.model;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import exopandora.worldhandler.usercontent.model.JsonElement.Type; import exopandora.worldhandler.usercontent.model.JsonMenu.Type;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class JsonElement extends JsonWidget<Type> public class JsonMenu extends JsonWidget<Type>
{ {
@SerializedName("type") @SerializedName("type")
private Type type; private Type type;
public JsonElement(Type type, Action action, JsonDimensions dimensions, Attributes attributes) public JsonMenu(Type type, Action action, JsonDimensions dimensions, Attributes attributes)
{ {
super(action, dimensions, attributes); super(action, dimensions, attributes);
this.type = type; this.type = type;
@@ -39,30 +39,30 @@ public class JsonElement extends JsonWidget<Type>
{ {
if(this.type == null) if(this.type == null)
{ {
throw new IllegalStateException("element.type is null"); throw new IllegalStateException("menu.type is null");
} }
if(this.type == Type.PAGE_LIST) if(this.type == Type.PAGE_LIST)
{ {
if(this.getAttributes() == null) if(this.getAttributes() == null)
{ {
throw new IllegalStateException("element.attributes is null"); throw new IllegalStateException("menu.attributes is null");
} }
else if(this.getAttributes().getId() == null) else if(this.getAttributes().getId() == null)
{ {
throw new IllegalStateException("element.attributes.id is null"); throw new IllegalStateException("menu.attributes.id is null");
} }
else if(this.getAttributes().getId().isEmpty()) else if(this.getAttributes().getId().isEmpty())
{ {
throw new IllegalStateException("element.attributes.id is empty"); throw new IllegalStateException("menu.attributes.id is empty");
} }
else if(this.getAttributes().getItems() == null) else if(this.getAttributes().getItems() == null)
{ {
throw new IllegalStateException("element.attributes.items is null"); throw new IllegalStateException("menu.attributes.items is null");
} }
else if(this.getAttributes().getItems().isEmpty()) else if(this.getAttributes().getItems().isEmpty())
{ {
throw new IllegalStateException("element.attributes.items is empty"); throw new IllegalStateException("menu.attributes.items is empty");
} }
this.validateAction(Action.Type.SET, Action.Type.JS); this.validateAction(Action.Type.SET, Action.Type.JS);