diff --git a/plugin-modules/Core/resources-yml/editor.yml b/plugin-modules/Core/resources-yml/editor.yml index 8bd6b2f..2256382 100644 --- a/plugin-modules/Core/resources-yml/editor.yml +++ b/plugin-modules/Core/resources-yml/editor.yml @@ -2467,4 +2467,67 @@ DropRewardMainEditMenu: type: REDSTONE name: '&e&lGo Back' lore: - - '&7Click here to go back.' \ No newline at end of file + - '&7Click here to go back.' +GiveRewardPositionListMenu: + name: '&b&l{name} DropTable' + slots: 54 + Settings: + backButton: true + fillTo: 45 + Buttons: + backButton: 54 + Items: + '46': + type: BOOK + name: '&c&lGive Position Reward Guide' + lore: + - '&7In this list it displays the position' + - '&7sections for the selected drop table.' + - '&7If you want to add a new position section' + - '&7then simply click the EmeraldBlock and' + - '&7the next available position will be' + - '&7created.' + - '&7To remove a position simply shift-right' + - '&7click the position you want to remove.' + '47': + type: GLASS_PANE + name: '&7' + '48': + type: GLASS_PANE + name: '&7' + '49': + type: ARROW + name: '&e&l&m<-&e&l Previous Page' + lore: + - '&7Click here to go to the previous' + - '&7page of damage positions.' + PreviousPage: true + '50': + type: EMERALD_BLOCK + name: '&e&lAdd new Position' + lore: + - '&7Click here to add a new position' + - '&7to the drop table. This will find' + - '&7the next available position and' + - '&7create a new reward section for' + - '&7that position.' + Button: NewPosition + '51': + type: ARROW + name: '&e&lNext Page &e&l&m->' + lore: + - '&7Click here to go to the next' + - '&7page of damage positions.' + NextPage: true + '52': + type: GLASS_PANE + name: '&7' + '53': + type: GLASS_PANE + name: '&7' + '54': + type: REDSTONE + name: '&cClick here to go back' + lore: + - '&7Click this button to go back to' + - '&7the drop table main edit menu.' \ No newline at end of file diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/managers/BossPanelManager.java b/plugin-modules/Core/src/com/songoda/epicbosses/managers/BossPanelManager.java index e03dc17..3140b25 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/managers/BossPanelManager.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/managers/BossPanelManager.java @@ -28,7 +28,7 @@ import com.songoda.epicbosses.panel.droptables.types.drop.DropDropTableMainEdito import com.songoda.epicbosses.panel.droptables.types.drop.DropNewRewardEditorPanel; import com.songoda.epicbosses.panel.droptables.types.drop.DropRewardMainEditorPanel; import com.songoda.epicbosses.panel.droptables.types.drop.DropRewardsListEditorPanel; -import com.songoda.epicbosses.panel.droptables.types.give.GiveDropTableMainEditorPanel; +import com.songoda.epicbosses.panel.droptables.types.give.GiveRewardPositionListPanel; import com.songoda.epicbosses.panel.droptables.types.spray.SprayDropTableMainEditorPanel; import com.songoda.epicbosses.panel.droptables.types.spray.SprayNewRewardEditorPanel; import com.songoda.epicbosses.panel.droptables.types.spray.SprayRewardMainEditorPanel; @@ -42,7 +42,6 @@ import com.songoda.epicbosses.panel.skills.custom.GroupSkillEditorPanel; import com.songoda.epicbosses.panel.skills.custom.commands.CommandListSkillEditorPanel; import com.songoda.epicbosses.panel.skills.custom.commands.ModifyCommandEditorPanel; import com.songoda.epicbosses.panel.skills.custom.custom.CustomSkillTypeEditorPanel; -import com.songoda.epicbosses.panel.skills.custom.custom.MaterialTypeEditorPanel; import com.songoda.epicbosses.panel.skills.custom.custom.MinionSelectEditorPanel; import com.songoda.epicbosses.panel.skills.custom.custom.SpecialSettingsEditorPanel; import com.songoda.epicbosses.panel.skills.custom.potions.CreatePotionEffectEditorPanel; @@ -50,7 +49,6 @@ import com.songoda.epicbosses.panel.skills.custom.potions.PotionEffectTypeEditor import com.songoda.epicbosses.panel.skills.custom.PotionSkillEditorPanel; import com.songoda.epicbosses.skills.Skill; import com.songoda.epicbosses.skills.elements.SubCommandSkillElement; -import com.songoda.epicbosses.skills.elements.SubCustomSkillElement; import com.songoda.epicbosses.skills.types.CustomSkillElement; import com.songoda.epicbosses.utils.panel.base.ISubSubVariablePanelHandler; import com.songoda.epicbosses.utils.panel.base.ISubVariablePanelHandler; @@ -100,7 +98,7 @@ public class BossPanelManager implements ILoadable, IReloadable { @Getter private IVariablePanelHandler mainDropTableEditMenu, dropTableTypeEditMenu; @Getter private ISubVariablePanelHandler sprayDropTableMainEditMenu, sprayRewardListEditMenu, sprayNewRewardEditMenu; @Getter private ISubSubVariablePanelHandler sprayRewardMainEditMenu; - @Getter private ISubVariablePanelHandler giveDropTableMainEditMenu; + @Getter private ISubVariablePanelHandler giveRewardPositionListMenu; @Getter private ISubVariablePanelHandler dropDropTableMainEditMenu, dropRewardListEditMenu, dropNewRewardEditMenu; @Getter private ISubSubVariablePanelHandler dropRewardMainEditMenu; @@ -227,6 +225,8 @@ public class BossPanelManager implements ILoadable, IReloadable { PanelBuilder panelBuilder8 = new PanelBuilder(editor.getConfigurationSection("DropDropTableMainEditMenu")); PanelBuilder panelBuilder9 = new PanelBuilder(editor.getConfigurationSection("DropNewRewardEditMenu")); + PanelBuilder panelBuilder10 = new PanelBuilder(editor.getConfigurationSection("GiveRewardPositionListMenu")); + this.mainDropTableEditMenu = new MainDropTableEditorPanel(this, panelBuilder); this.dropTableTypeEditMenu = new DropTableTypeEditorPanel(this, panelBuilder1, this.customBosses); @@ -239,6 +239,8 @@ public class BossPanelManager implements ILoadable, IReloadable { this.dropRewardListEditMenu = new DropRewardsListEditorPanel(this, panelBuilder7, this.customBosses); this.dropRewardMainEditMenu = new DropRewardMainEditorPanel(this, panelBuilder8, this.customBosses); this.dropNewRewardEditMenu = new DropNewRewardEditorPanel(this, panelBuilder9, this.customBosses); + + this.giveRewardPositionListMenu = new GiveRewardPositionListPanel(this, panelBuilder10, this.customBosses); } private void reloadDropTableEditMenus() { @@ -255,6 +257,8 @@ public class BossPanelManager implements ILoadable, IReloadable { PanelBuilder panelBuilder8 = new PanelBuilder(editor.getConfigurationSection("DropDropTableMainEditMenu")); PanelBuilder panelBuilder9 = new PanelBuilder(editor.getConfigurationSection("DropNewRewardEditMenu")); + PanelBuilder panelBuilder10 = new PanelBuilder(editor.getConfigurationSection("GiveRewardPositionListMenu")); + this.mainDropTableEditMenu.initializePanel(panelBuilder); this.dropTableTypeEditMenu.initializePanel(panelBuilder1); @@ -267,6 +271,8 @@ public class BossPanelManager implements ILoadable, IReloadable { this.dropRewardListEditMenu.initializePanel(panelBuilder7); this.dropRewardMainEditMenu.initializePanel(panelBuilder8); this.dropNewRewardEditMenu.initializePanel(panelBuilder9); + + this.giveRewardPositionListMenu.initializePanel(panelBuilder10); } //--------------------------------------------- diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/types/give/GiveDropTableMainEditorPanel.java b/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/types/give/GiveRewardPositionListPanel.java similarity index 60% rename from plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/types/give/GiveDropTableMainEditorPanel.java rename to plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/types/give/GiveRewardPositionListPanel.java index a8900fe..3928f54 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/types/give/GiveDropTableMainEditorPanel.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/types/give/GiveRewardPositionListPanel.java @@ -4,31 +4,33 @@ import com.songoda.epicbosses.CustomBosses; import com.songoda.epicbosses.api.BossAPI; import com.songoda.epicbosses.droptable.DropTable; import com.songoda.epicbosses.droptable.elements.GiveTableElement; +import com.songoda.epicbosses.droptable.elements.GiveTableSubElement; import com.songoda.epicbosses.managers.BossPanelManager; -import com.songoda.epicbosses.utils.NumberUtils; -import com.songoda.epicbosses.utils.StringUtils; import com.songoda.epicbosses.utils.panel.Panel; +import com.songoda.epicbosses.utils.panel.base.ClickAction; import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler; import com.songoda.epicbosses.utils.panel.builder.PanelBuilder; import com.songoda.epicbosses.utils.panel.builder.PanelBuilderCounter; import org.bukkit.entity.Player; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * @author Charles Cullen * @version 1.0.0 * @since 24-Dec-18 */ -public class GiveDropTableMainEditorPanel extends SubVariablePanelHandler { +public class GiveRewardPositionListPanel extends SubVariablePanelHandler { - public GiveDropTableMainEditorPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder, CustomBosses plugin) { + public GiveRewardPositionListPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder, CustomBosses plugin) { super(bossPanelManager, panelBuilder); } @Override public void fillPanel(Panel panel, DropTable dropTable, GiveTableElement giveTableElement) { + Map> rewardSections = giveTableElement.getGiveRewards(); + List keys = new ArrayList<>(rewardSections.keySet()); + int maxPage = panel.getMaxPage(keys); } @@ -44,8 +46,8 @@ public class GiveDropTableMainEditorPanel extends SubVariablePanelHandler panel.setOnClick(slot, getNewPositionAction(dropTable, giveTableElement))); + fillPanel(panel, dropTable, giveTableElement); panel.openFor(player); } @@ -53,4 +55,14 @@ public class GiveDropTableMainEditorPanel extends SubVariablePanelHandler keys) { + + + return 0; + } + + private ClickAction getNewPositionAction(DropTable dropTable, GiveTableElement giveTableElement) { + return event -> {}; + } } diff --git a/pom.xml b/pom.xml index d0c476c..93bf62b 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ - 1.0.0-U150 + 1.0.0-U151 EpicBosses com.songoda.epicbosses.CustomBosses AMinecraftDev