1.0.0-SNAPSHOT-U160
+ Continued the implementation of the GiveRewardMainEditPanel
This commit is contained in:
parent
dfd6fd49a2
commit
6f64e31251
|
@ -1,14 +1,22 @@
|
|||
package com.songoda.epicbosses.panel.droptables.types.give;
|
||||
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.GiveTableSubElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.panel.droptables.types.give.handlers.GiveRewardEditHandler;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
* @version 1.0.0
|
||||
|
@ -21,8 +29,37 @@ public class GiveRewardMainEditPanel extends SubVariablePanelHandler<DropTable,
|
|||
}
|
||||
|
||||
@Override
|
||||
public void initializePanel(PanelBuilder panelBuilder) {
|
||||
public void openFor(Player player, DropTable dropTable, GiveRewardEditHandler giveRewardEditHandler) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
GiveTableSubElement giveTableSubElement = giveRewardEditHandler.getGiveTableSubElement();
|
||||
Integer itemDrops = giveTableSubElement.getItems().size();
|
||||
Integer commandDrops = giveTableSubElement.getCommands().size();
|
||||
Double requiredPercentage = ObjectUtils.getValue(giveTableSubElement.getRequiredPercentage(), 0.0);
|
||||
Integer maxDrops = ObjectUtils.getValue(giveTableSubElement.getMaxDrops(), 3);
|
||||
Integer maxCommands = ObjectUtils.getValue(giveTableSubElement.getMaxCommands(), 3);
|
||||
Boolean randomDrops = ObjectUtils.getValue(giveTableSubElement.getRandomDrops(), false);
|
||||
Boolean randomCommands = ObjectUtils.getValue(giveTableSubElement.getRandomCommands(), false);
|
||||
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
replaceMap.put("{position}", giveRewardEditHandler.getDamagePosition());
|
||||
replaceMap.put("{randomDrops}", ""+randomDrops);
|
||||
replaceMap.put("{maxDrops}", NumberUtils.get().formatDouble(maxDrops));
|
||||
replaceMap.put("{drops}", NumberUtils.get().formatDouble(itemDrops));
|
||||
replaceMap.put("{requiredPercentage}", NumberUtils.get().formatDouble(requiredPercentage));
|
||||
replaceMap.put("{commands}", NumberUtils.get().formatDouble(commandDrops));
|
||||
replaceMap.put("{maxCommands}", NumberUtils.get().formatDouble(maxCommands));
|
||||
replaceMap.put("{randomCommands}", ""+randomCommands);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardRewardsListMenu(), dropTable, giveRewardEditHandler.getGiveTableElement(), giveRewardEditHandler.getDamagePosition());
|
||||
|
||||
//handle buttons
|
||||
|
||||
panel.openFor(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -31,7 +68,7 @@ public class GiveRewardMainEditPanel extends SubVariablePanelHandler<DropTable,
|
|||
}
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, GiveRewardEditHandler giveRewardEditHandler) {
|
||||
public void initializePanel(PanelBuilder panelBuilder) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,7 +125,7 @@ public class GiveRewardRewardsListPanel extends SubSubVariablePanelHandler<DropT
|
|||
giveTableElement.setGiveRewards(rewardSections);
|
||||
saveDropTable((Player) event.getWhoClicked(), dropTable, giveTableElement, key);
|
||||
} else {
|
||||
GiveRewardEditHandler giveRewardEditHandler = new GiveRewardEditHandler(key, rewardSectionPosition, dropTable, giveTableElement);
|
||||
GiveRewardEditHandler giveRewardEditHandler = new GiveRewardEditHandler(key, rewardSectionPosition, dropTable, giveTableElement, giveTableSubElement);
|
||||
|
||||
this.bossPanelManager.getGiveRewardMainEditMenu().openFor((Player) event.getWhoClicked(), dropTable, giveRewardEditHandler);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.songoda.epicbosses.panel.droptables.types.give.handlers;
|
|||
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.GiveTableElement;
|
||||
import com.songoda.epicbosses.droptable.elements.GiveTableSubElement;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
|
@ -11,15 +12,17 @@ import lombok.Getter;
|
|||
*/
|
||||
public class GiveRewardEditHandler {
|
||||
|
||||
@Getter private final GiveTableSubElement giveTableSubElement;
|
||||
@Getter private final String damagePosition, dropSection;
|
||||
@Getter private final GiveTableElement giveTableElement;
|
||||
@Getter private final DropTable dropTable;
|
||||
|
||||
public GiveRewardEditHandler(String damagePosition, String dropSection, DropTable dropTable, GiveTableElement giveTableElement) {
|
||||
public GiveRewardEditHandler(String damagePosition, String dropSection, DropTable dropTable, GiveTableElement giveTableElement, GiveTableSubElement giveTableSubElement) {
|
||||
this.damagePosition = damagePosition;
|
||||
this.dropSection = dropSection;
|
||||
this.dropTable = dropTable;
|
||||
this.giveTableElement = giveTableElement;
|
||||
this.giveTableSubElement = giveTableSubElement;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -411,6 +411,15 @@ public class Panel implements Listener, ICloneable<Panel> {
|
|||
return this;
|
||||
}
|
||||
|
||||
public <T, Y, Z> Panel setParentPanelHandler(ISubSubVariablePanelHandler<T,Y,Z> panelHandler, T variable, Y subVariable, Z subSubVariable) {
|
||||
if(!this.panelBuilderSettings.isBackButton()) return this;
|
||||
|
||||
int slot = this.panelBuilderSettings.getBackButtonSlot() - 1;
|
||||
|
||||
setOnClick(slot, event -> panelHandler.openFor((Player) event.getWhoClicked(), variable, subVariable, subSubVariable));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the panel with setting the panel
|
||||
* exit button to the specified slot if set
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -20,7 +20,7 @@
|
|||
|
||||
<properties>
|
||||
<!--<plugin.version>maven-version-number-SNAPSHOT-U90</plugin.version>-->
|
||||
<plugin.version>1.0.0-U159</plugin.version>
|
||||
<plugin.version>1.0.0-U160</plugin.version>
|
||||
<plugin.name>EpicBosses</plugin.name>
|
||||
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
|
||||
<plugin.author>AMinecraftDev</plugin.author>
|
||||
|
|
Loading…
Reference in New Issue