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 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

View File

@ -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;

View File

@ -47,9 +47,9 @@ public class DropTableTypeEditorPanel extends VariablePanelHandler<DropTable> {
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<DropTable> {
}
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);
};
}

View File

@ -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<DropTable> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
replaceMap.put("{type}", StringUtils.get().formatString(dropTable.getDropType()));
panelBuilder.addReplaceData(replaceMap);
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();

View File

@ -20,7 +20,7 @@
<properties>
<!--<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.main>com.songoda.epicbosses.CustomBosses</plugin.main>
<plugin.author>AMinecraftDev</plugin.author>