diff --git a/plugin-modules/Core/resources-yml/editor.yml b/plugin-modules/Core/resources-yml/editor.yml index c1d88ea..fe8ead3 100644 --- a/plugin-modules/Core/resources-yml/editor.yml +++ b/plugin-modules/Core/resources-yml/editor.yml @@ -1882,7 +1882,7 @@ SpecialSettingsEditorPanel: - '&7the skill editor panel to configure' - '&7the general skill options.' DropTableMainEditorPanel: - name: '&b&l{name} Drop Table Editor' + name: '&b&l{name} Editor' slots: 9 Settings: emptySpaceFiller: true @@ -1927,7 +1927,7 @@ DropTableMainEditorPanel: - '&7Click this button to go back to' - '&7the drop table list page.' DropTableTypeEditorPanel: - name: '&b&l{name} Drop Table Editor' + name: '&b&l{name} Editor' slots: 9 Settings: backButton: true @@ -1936,7 +1936,7 @@ DropTableTypeEditorPanel: type: WHITE_STAINED_GLASS_PANE name: '&7' Buttons: - backButton: 5 + backButton: 9 Items: '3': type: SPLASH_POTION diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/api/BossAPI.java b/plugin-modules/Core/src/com/songoda/epicbosses/api/BossAPI.java index be1bf7a..f6fc2bd 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/api/BossAPI.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/api/BossAPI.java @@ -199,6 +199,24 @@ public class BossAPI { return null; } + public static JsonObject createNewDropTableRewards(String type) { + if(type.equalsIgnoreCase("SPRAY")) { + SprayTableElement sprayTableElement = new SprayTableElement(new HashMap<>(), false, 15, 15); + + return convertObjectToJsonObject(sprayTableElement); + } else if(type.equalsIgnoreCase("DROP")) { + DropTableElement dropTableElement = new DropTableElement(new HashMap<>(), false, 15); + + return convertObjectToJsonObject(dropTableElement); + } else if(type.equalsIgnoreCase("GIVE")) { + GiveTableElement giveTableElement = new GiveTableElement(new HashMap<>()); + + return convertObjectToJsonObject(giveTableElement); + } else { + return null; + } + } + public static JsonObject createNewSkillCustomData(String type) { JsonParser jsonParser = new JsonParser(); String jsonString; diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/DropTableTypeEditorPanel.java b/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/DropTableTypeEditorPanel.java index 8930a16..095a977 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/DropTableTypeEditorPanel.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/DropTableTypeEditorPanel.java @@ -47,9 +47,9 @@ public class DropTableTypeEditorPanel extends VariablePanelHandler { Panel panel = panelBuilder.getPanel() .setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable); - panelBuilderCounter.getSlotsWith("Spray").forEach(slot -> panel.setOnClick(slot, getAction(dropTable, "Spray"))); - panelBuilderCounter.getSlotsWith("Drop").forEach(slot -> panel.setOnClick(slot, getAction(dropTable, "Drop"))); - panelBuilderCounter.getSlotsWith("Give").forEach(slot -> panel.setOnClick(slot, getAction(dropTable, "Give"))); + panelBuilderCounter.getSlotsWith("Spray").forEach(slot -> panel.setOnClick(slot, getSprayAction(dropTable))); + panelBuilderCounter.getSlotsWith("Drop").forEach(slot -> panel.setOnClick(slot, getDropAction(dropTable))); + panelBuilderCounter.getSlotsWith("Give").forEach(slot -> panel.setOnClick(slot, getGiveAction(dropTable))); panel.openFor(player); } @@ -59,9 +59,26 @@ public class DropTableTypeEditorPanel extends VariablePanelHandler { } - private ClickAction getAction(DropTable dropTable, String button) { + private ClickAction getSprayAction(DropTable dropTable) { return event -> { - dropTable.setDropType(button.toUpperCase()); + dropTable.setDropType("SPRAY"); + dropTable.setRewards(BossAPI.createNewDropTableRewards(dropTable.getDropType())); + save(dropTable, event); + }; + } + + private ClickAction getDropAction(DropTable dropTable) { + return event -> { + dropTable.setDropType("DROP"); + dropTable.setRewards(BossAPI.createNewDropTableRewards(dropTable.getDropType())); + save(dropTable, event); + }; + } + + private ClickAction getGiveAction(DropTable dropTable) { + return event -> { + dropTable.setDropType("GIVE"); + dropTable.setRewards(BossAPI.createNewDropTableRewards(dropTable.getDropType())); save(dropTable, event); }; } diff --git a/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/MainDropTableEditorPanel.java b/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/MainDropTableEditorPanel.java index 8427070..f3644bb 100644 --- a/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/MainDropTableEditorPanel.java +++ b/plugin-modules/Core/src/com/songoda/epicbosses/panel/droptables/MainDropTableEditorPanel.java @@ -3,6 +3,7 @@ package com.songoda.epicbosses.panel.droptables; import com.songoda.epicbosses.api.BossAPI; import com.songoda.epicbosses.droptable.DropTable; import com.songoda.epicbosses.managers.BossPanelManager; +import com.songoda.epicbosses.utils.StringUtils; import com.songoda.epicbosses.utils.panel.Panel; import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler; import com.songoda.epicbosses.utils.panel.builder.PanelBuilder; @@ -34,6 +35,7 @@ public class MainDropTableEditorPanel extends VariablePanelHandler { Map replaceMap = new HashMap<>(); replaceMap.put("{name}", BossAPI.getDropTableName(dropTable)); + replaceMap.put("{type}", StringUtils.get().formatString(dropTable.getDropType())); panelBuilder.addReplaceData(replaceMap); PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter(); diff --git a/pom.xml b/pom.xml index 34b49a4..2ae52b6 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ - 1.0.0-U139 + 1.0.0-U140 EpicBosses com.songoda.epicbosses.CustomBosses AMinecraftDev