1.0.0-SNAPSHOT-U140

+ Fully implemented the drop table type editor
+ Shortened the name of the GUIs
This commit is contained in:
Charles 2018-12-24 01:49:05 +08:00
parent 1d426ba587
commit b0111baeef
5 changed files with 46 additions and 9 deletions

View File

@ -1882,7 +1882,7 @@ SpecialSettingsEditorPanel:
- '&7the skill editor panel to configure' - '&7the skill editor panel to configure'
- '&7the general skill options.' - '&7the general skill options.'
DropTableMainEditorPanel: DropTableMainEditorPanel:
name: '&b&l{name} Drop Table Editor' name: '&b&l{name} Editor'
slots: 9 slots: 9
Settings: Settings:
emptySpaceFiller: true emptySpaceFiller: true
@ -1927,7 +1927,7 @@ DropTableMainEditorPanel:
- '&7Click this button to go back to' - '&7Click this button to go back to'
- '&7the drop table list page.' - '&7the drop table list page.'
DropTableTypeEditorPanel: DropTableTypeEditorPanel:
name: '&b&l{name} Drop Table Editor' name: '&b&l{name} Editor'
slots: 9 slots: 9
Settings: Settings:
backButton: true backButton: true
@ -1936,7 +1936,7 @@ DropTableTypeEditorPanel:
type: WHITE_STAINED_GLASS_PANE type: WHITE_STAINED_GLASS_PANE
name: '&7' name: '&7'
Buttons: Buttons:
backButton: 5 backButton: 9
Items: Items:
'3': '3':
type: SPLASH_POTION type: SPLASH_POTION

View File

@ -199,6 +199,24 @@ public class BossAPI {
return null; 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) { public static JsonObject createNewSkillCustomData(String type) {
JsonParser jsonParser = new JsonParser(); JsonParser jsonParser = new JsonParser();
String jsonString; String jsonString;

View File

@ -47,9 +47,9 @@ public class DropTableTypeEditorPanel extends VariablePanelHandler<DropTable> {
Panel panel = panelBuilder.getPanel() Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable); .setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
panelBuilderCounter.getSlotsWith("Spray").forEach(slot -> panel.setOnClick(slot, getAction(dropTable, "Spray"))); panelBuilderCounter.getSlotsWith("Spray").forEach(slot -> panel.setOnClick(slot, getSprayAction(dropTable)));
panelBuilderCounter.getSlotsWith("Drop").forEach(slot -> panel.setOnClick(slot, getAction(dropTable, "Drop"))); panelBuilderCounter.getSlotsWith("Drop").forEach(slot -> panel.setOnClick(slot, getDropAction(dropTable)));
panelBuilderCounter.getSlotsWith("Give").forEach(slot -> panel.setOnClick(slot, getAction(dropTable, "Give"))); panelBuilderCounter.getSlotsWith("Give").forEach(slot -> panel.setOnClick(slot, getGiveAction(dropTable)));
panel.openFor(player); panel.openFor(player);
} }
@ -59,9 +59,26 @@ public class DropTableTypeEditorPanel extends VariablePanelHandler<DropTable> {
} }
private ClickAction getAction(DropTable dropTable, String button) { private ClickAction getSprayAction(DropTable dropTable) {
return event -> { 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); save(dropTable, event);
}; };
} }

View File

@ -3,6 +3,7 @@ package com.songoda.epicbosses.panel.droptables;
import com.songoda.epicbosses.api.BossAPI; import com.songoda.epicbosses.api.BossAPI;
import com.songoda.epicbosses.droptable.DropTable; import com.songoda.epicbosses.droptable.DropTable;
import com.songoda.epicbosses.managers.BossPanelManager; 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.Panel;
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler; import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder; import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
@ -34,6 +35,7 @@ public class MainDropTableEditorPanel extends VariablePanelHandler<DropTable> {
Map<String, String> replaceMap = new HashMap<>(); Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable)); replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
replaceMap.put("{type}", StringUtils.get().formatString(dropTable.getDropType()));
panelBuilder.addReplaceData(replaceMap); panelBuilder.addReplaceData(replaceMap);
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter(); PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();

View File

@ -20,7 +20,7 @@
<properties> <properties>
<!--<plugin.version>maven-version-number-SNAPSHOT-U90</plugin.version>--> <!--<plugin.version>maven-version-number-SNAPSHOT-U90</plugin.version>-->
<plugin.version>1.0.0-U139</plugin.version> <plugin.version>1.0.0-U140</plugin.version>
<plugin.name>EpicBosses</plugin.name> <plugin.name>EpicBosses</plugin.name>
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main> <plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
<plugin.author>AMinecraftDev</plugin.author> <plugin.author>AMinecraftDev</plugin.author>