mirror of
https://github.com/songoda/EpicBosses.git
synced 2024-09-27 13:03:01 +02:00
1.0.0-SNAPSHOT-U194
+ Added /Boss New AutoSpawn command + Made all the panel opening Async to remove any lag from spam button clicking + Connected AutoSpawn right click in MainMenu to the /boss new autospawn command + Connected DropTable Editing Button in the DropsEditorPanel
This commit is contained in:
parent
0dc48bf1ea
commit
d0e2dd008d
@ -4,6 +4,8 @@ import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.autospawns.AutoSpawn;
|
||||
import com.songoda.epicbosses.autospawns.settings.AutoSpawnSettings;
|
||||
import com.songoda.epicbosses.autospawns.types.IntervalSpawnElement;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.DropTableElement;
|
||||
import com.songoda.epicbosses.droptable.elements.GiveTableElement;
|
||||
@ -433,6 +435,28 @@ public class BossAPI {
|
||||
return minionEntity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to create a new base auto spawn
|
||||
* with the specified arguments.
|
||||
*
|
||||
* @param name - name of the auto spawn.
|
||||
* @return an instance of the auto spawn if successful
|
||||
*/
|
||||
public static AutoSpawn createBaseAutoSpawn(String name) {
|
||||
if(PLUGIN.getAutoSpawnFileManager().getAutoSpawn(name) != null) {
|
||||
Debug.AUTOSPAWN_NAME_EXISTS.debug(name);
|
||||
return null;
|
||||
}
|
||||
|
||||
IntervalSpawnElement intervalSpawnElement = new IntervalSpawnElement("world,0,100,0", "{boss_" + name + "}", 30, false);
|
||||
AutoSpawn autoSpawn = new AutoSpawn(true, new ArrayList<>(), new AutoSpawnSettings(1, 1, false, false));
|
||||
|
||||
autoSpawn.setCustomData(BossAPI.convertObjectToJsonObject(intervalSpawnElement));
|
||||
PLUGIN.getAutoSpawnFileManager().saveAutoSpawn(name, autoSpawn);
|
||||
|
||||
return autoSpawn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to spawn a new active boss for the
|
||||
* specified bossEntity.
|
||||
|
@ -4,19 +4,13 @@ import com.google.gson.JsonObject;
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.autospawns.AutoSpawn;
|
||||
import com.songoda.epicbosses.autospawns.settings.AutoSpawnSettings;
|
||||
import com.songoda.epicbosses.autospawns.types.IntervalSpawnElement;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.handlers.AutoSpawnVariableHandler;
|
||||
import com.songoda.epicbosses.handlers.variables.AutoSpawnLocationVariableHandler;
|
||||
import com.songoda.epicbosses.handlers.variables.AutoSpawnPlaceholderVariableHandler;
|
||||
import com.songoda.epicbosses.holder.ActiveBossHolder;
|
||||
import com.songoda.epicbosses.holder.autospawn.ActiveIntervalAutoSpawnHolder;
|
||||
import com.songoda.epicbosses.listeners.IBossDeathHandler;
|
||||
import com.songoda.epicbosses.utils.*;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
|
||||
|
@ -2,13 +2,12 @@ package com.songoda.epicbosses.commands.boss;
|
||||
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.autospawns.AutoSpawn;
|
||||
import com.songoda.epicbosses.autospawns.SpawnType;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.managers.BossDropTableManager;
|
||||
import com.songoda.epicbosses.managers.BossSkillManager;
|
||||
import com.songoda.epicbosses.managers.files.CommandsFileManager;
|
||||
import com.songoda.epicbosses.managers.files.DropTableFileManager;
|
||||
import com.songoda.epicbosses.managers.files.MessagesFileManager;
|
||||
import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
||||
import com.songoda.epicbosses.managers.files.*;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.SkillMode;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
@ -28,9 +27,11 @@ import java.util.List;
|
||||
* boss new skill [name] [type] [mode]
|
||||
* boss new command [name] [commands]
|
||||
* boss new message [name] [message]
|
||||
* boss new autospawn [name] [type]
|
||||
*/
|
||||
public class BossNewCmd extends SubCommand {
|
||||
|
||||
private AutoSpawnFileManager autoSpawnFileManager;
|
||||
private DropTableFileManager dropTableFileManager;
|
||||
private BossDropTableManager bossDropTableManager;
|
||||
private MessagesFileManager messagesFileManager;
|
||||
@ -47,6 +48,7 @@ public class BossNewCmd extends SubCommand {
|
||||
this.bossDropTableManager = plugin.getBossDropTableManager();
|
||||
this.messagesFileManager = plugin.getBossMessagesFileManager();
|
||||
this.commandsFileManager = plugin.getBossCommandFileManager();
|
||||
this.autoSpawnFileManager = plugin.getAutoSpawnFileManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -56,6 +58,29 @@ public class BossNewCmd extends SubCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
//--------------------
|
||||
// A U T O S P A W N
|
||||
//--------------------
|
||||
if(args.length == 4 && args[1].equalsIgnoreCase("autospawn")) {
|
||||
String nameInput = args[2];
|
||||
|
||||
if(this.autoSpawnFileManager.getAutoSpawn(nameInput) != null) {
|
||||
Message.Boss_New_AlreadyExists.msg(sender, "AutoSpawn");
|
||||
return;
|
||||
}
|
||||
|
||||
AutoSpawn autoSpawn = BossAPI.createBaseAutoSpawn(nameInput);
|
||||
|
||||
if(autoSpawn == null) {
|
||||
Message.Boss_New_SomethingWentWrong.msg(sender, "AutoSpawn");
|
||||
} else {
|
||||
Message.Boss_New_AutoSpawn.msg(sender, nameInput);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//-------------------
|
||||
// C O M M A N D
|
||||
//-------------------
|
||||
|
@ -4,6 +4,7 @@ import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.PanelHandler;
|
||||
@ -50,32 +51,34 @@ public class AddItemsPanel extends PanelHandler {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(false);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(false);
|
||||
|
||||
panel.setOnClick(event -> {
|
||||
Player playerWhoClicked = (Player) event.getWhoClicked();
|
||||
UUID uuid = playerWhoClicked.getUniqueId();
|
||||
int rawSlot = event.getRawSlot();
|
||||
int slot = event.getSlot();
|
||||
panel.setOnClick(event -> {
|
||||
Player playerWhoClicked = (Player) event.getWhoClicked();
|
||||
UUID uuid = playerWhoClicked.getUniqueId();
|
||||
int rawSlot = event.getRawSlot();
|
||||
int slot = event.getSlot();
|
||||
|
||||
if(panel.isLowerClick(rawSlot)) {
|
||||
if(this.storedItemStacks.containsKey(uuid)) {
|
||||
Message.Boss_Items_AlreadySet.msg(playerWhoClicked);
|
||||
return;
|
||||
if(panel.isLowerClick(rawSlot)) {
|
||||
if(this.storedItemStacks.containsKey(uuid)) {
|
||||
Message.Boss_Items_AlreadySet.msg(playerWhoClicked);
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack itemStack = event.getClickedInventory().getItem(slot);
|
||||
|
||||
this.storedItemStacks.put(uuid, itemStack.clone());
|
||||
panel.getPanelBuilderCounter().getSlotsWith("SelectedSlot").forEach(s -> event.getInventory().setItem(s, itemStack.clone()));
|
||||
event.getClickedInventory().setItem(slot, new ItemStack(Material.AIR));
|
||||
}
|
||||
});
|
||||
|
||||
ItemStack itemStack = event.getClickedInventory().getItem(slot);
|
||||
|
||||
this.storedItemStacks.put(uuid, itemStack.clone());
|
||||
panel.getPanelBuilderCounter().getSlotsWith("SelectedSlot").forEach(s -> event.getInventory().setItem(s, itemStack.clone()));
|
||||
event.getClickedInventory().setItem(slot, new ItemStack(Material.AIR));
|
||||
}
|
||||
panel.openFor(player);
|
||||
});
|
||||
|
||||
panel.openFor(player);
|
||||
}
|
||||
|
||||
private ClickAction getSelectedSlotAction(PanelBuilderCounter panelBuilderCounter) {
|
||||
|
@ -52,21 +52,23 @@ public class EntityTypeEditorPanel extends SubVariablePanelHandler<BossEntity, E
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity, EntityStatsElement entityStatsElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getStatisticMainEditMenu(), bossEntity, entityStatsElement);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getStatisticMainEditMenu(), bossEntity, entityStatsElement);
|
||||
|
||||
fillPanel(panel, bossEntity, entityStatsElement);
|
||||
fillPanel(panel, bossEntity, entityStatsElement);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -81,7 +81,7 @@ public class MainMenuPanel extends PanelHandler {
|
||||
if(event.getClick() == ClickType.LEFT || event.getClick() == ClickType.SHIFT_LEFT) {
|
||||
this.bossPanelManager.getAutoSpawns().openFor(player);
|
||||
} else if(event.getClick() == ClickType.RIGHT || event.getClick() == ClickType.SHIFT_RIGHT) {
|
||||
//TODO: Set up create auto spawn command
|
||||
Message.Boss_New_CreateArgumentsAutoSpawn.msg(event.getWhoClicked());
|
||||
player.closeInventory();
|
||||
}
|
||||
};
|
||||
|
@ -6,6 +6,7 @@ import com.songoda.epicbosses.autospawns.AutoSpawn;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.skills.interfaces.ICustomSettingAction;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -57,17 +58,19 @@ public class AutoSpawnCustomSettingsEditorPanel extends VariablePanelHandler<Aut
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, AutoSpawn autoSpawn) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
|
||||
fillPanel(panel, autoSpawn);
|
||||
panel.openFor(player);
|
||||
fillPanel(panel, autoSpawn);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -10,6 +10,7 @@ import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -63,17 +64,19 @@ public class AutoSpawnEntitiesEditorPanel extends VariablePanelHandler<AutoSpawn
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, AutoSpawn autoSpawn) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
|
||||
fillPanel(panel, autoSpawn);
|
||||
panel.openFor(player);
|
||||
fillPanel(panel, autoSpawn);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import com.songoda.epicbosses.managers.files.AutoSpawnFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -29,13 +30,11 @@ import java.util.Map;
|
||||
public class AutoSpawnSpecialSettingsEditorPanel extends VariablePanelHandler<AutoSpawn> {
|
||||
|
||||
private AutoSpawnFileManager autoSpawnFileManager;
|
||||
private CustomBosses plugin;
|
||||
|
||||
public AutoSpawnSpecialSettingsEditorPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder, CustomBosses plugin) {
|
||||
super(bossPanelManager, panelBuilder);
|
||||
|
||||
this.autoSpawnFileManager = plugin.getAutoSpawnFileManager();
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -45,37 +44,39 @@ public class AutoSpawnSpecialSettingsEditorPanel extends VariablePanelHandler<Au
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, AutoSpawn autoSpawn) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
AutoSpawnSettings autoSpawnSettings = autoSpawn.getAutoSpawnSettings();
|
||||
String shuffleEntities = ObjectUtils.getValue(autoSpawnSettings.getShuffleEntitiesList(), false)+"";
|
||||
String maxAliveAtOnce = NumberUtils.get().formatDouble(ObjectUtils.getValue(autoSpawnSettings.getMaxAliveAtOnce(), 1));
|
||||
String amountPerSpawn = NumberUtils.get().formatDouble(ObjectUtils.getValue(autoSpawnSettings.getAmountPerSpawn(), 1));
|
||||
String chunkIsntLoaded = ObjectUtils.getValue(autoSpawnSettings.getSpawnWhenChunkIsntLoaded(), false)+"";
|
||||
String overrideSpawnMessage = ObjectUtils.getValue(autoSpawnSettings.getOverrideDefaultSpawnMessage(), false)+"";
|
||||
String spawnMessage = ObjectUtils.getValue(autoSpawnSettings.getSpawnMessage(), "");
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
AutoSpawnSettings autoSpawnSettings = autoSpawn.getAutoSpawnSettings();
|
||||
String shuffleEntities = ObjectUtils.getValue(autoSpawnSettings.getShuffleEntitiesList(), false)+"";
|
||||
String maxAliveAtOnce = NumberUtils.get().formatDouble(ObjectUtils.getValue(autoSpawnSettings.getMaxAliveAtOnce(), 1));
|
||||
String amountPerSpawn = NumberUtils.get().formatDouble(ObjectUtils.getValue(autoSpawnSettings.getAmountPerSpawn(), 1));
|
||||
String chunkIsntLoaded = ObjectUtils.getValue(autoSpawnSettings.getSpawnWhenChunkIsntLoaded(), false)+"";
|
||||
String overrideSpawnMessage = ObjectUtils.getValue(autoSpawnSettings.getOverrideDefaultSpawnMessage(), false)+"";
|
||||
String spawnMessage = ObjectUtils.getValue(autoSpawnSettings.getSpawnMessage(), "");
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
replaceMap.put("{shuffleEntities}", shuffleEntities);
|
||||
replaceMap.put("{maxAliveEntities}", maxAliveAtOnce);
|
||||
replaceMap.put("{amountPerSpawn}", amountPerSpawn);
|
||||
replaceMap.put("{chunkIsntLoaded}", chunkIsntLoaded);
|
||||
replaceMap.put("{overrideDefaultMessage}", overrideSpawnMessage);
|
||||
replaceMap.put("{spawnMessage}", spawnMessage);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
replaceMap.put("{shuffleEntities}", shuffleEntities);
|
||||
replaceMap.put("{maxAliveEntities}", maxAliveAtOnce);
|
||||
replaceMap.put("{amountPerSpawn}", amountPerSpawn);
|
||||
replaceMap.put("{chunkIsntLoaded}", chunkIsntLoaded);
|
||||
replaceMap.put("{overrideDefaultMessage}", overrideSpawnMessage);
|
||||
replaceMap.put("{spawnMessage}", spawnMessage);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("ShuffleEntities").forEach(slot -> panel.setOnClick(slot, getShuffleEntitiesButton(autoSpawn)));
|
||||
counter.getSlotsWith("MaxAliveEntities").forEach(slot -> panel.setOnClick(slot, getMaxAliveEntitiesButton(autoSpawn)));
|
||||
counter.getSlotsWith("AmountPerSpawn").forEach(slot -> panel.setOnClick(slot, getAmountPerSpawnButton(autoSpawn)));
|
||||
counter.getSlotsWith("ChunkIsntLoaded").forEach(slot -> panel.setOnClick(slot, getChunkIsntLoadedButton(autoSpawn)));
|
||||
counter.getSlotsWith("OverrideSpawnMessage").forEach(slot -> panel.setOnClick(slot, getOverrideSpawnMessageButton(autoSpawn)));
|
||||
counter.getSlotsWith("SpawnMessage").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnMessageEditorPanel().openFor((Player) event.getWhoClicked(), autoSpawn)));
|
||||
counter.getSlotsWith("ShuffleEntities").forEach(slot -> panel.setOnClick(slot, getShuffleEntitiesButton(autoSpawn)));
|
||||
counter.getSlotsWith("MaxAliveEntities").forEach(slot -> panel.setOnClick(slot, getMaxAliveEntitiesButton(autoSpawn)));
|
||||
counter.getSlotsWith("AmountPerSpawn").forEach(slot -> panel.setOnClick(slot, getAmountPerSpawnButton(autoSpawn)));
|
||||
counter.getSlotsWith("ChunkIsntLoaded").forEach(slot -> panel.setOnClick(slot, getChunkIsntLoadedButton(autoSpawn)));
|
||||
counter.getSlotsWith("OverrideSpawnMessage").forEach(slot -> panel.setOnClick(slot, getOverrideSpawnMessageButton(autoSpawn)));
|
||||
counter.getSlotsWith("SpawnMessage").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnMessageEditorPanel().openFor((Player) event.getWhoClicked(), autoSpawn)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.autospawns.types.IntervalSpawnElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.AutoSpawnFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -39,22 +40,24 @@ public class AutoSpawnTypeEditorPanel extends VariablePanelHandler<AutoSpawn> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, AutoSpawn autoSpawn) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("IntervalSystem").forEach(slot -> panel.setOnClick(slot, getIntervalSystem(autoSpawn)));
|
||||
counter.getSlotsWith("WildernessSystem");
|
||||
counter.getSlotsWith("BiomeSystem");
|
||||
counter.getSlotsWith("SpawnerSystem");
|
||||
counter.getSlotsWith("IntervalSystem").forEach(slot -> panel.setOnClick(slot, getIntervalSystem(autoSpawn)));
|
||||
counter.getSlotsWith("WildernessSystem");
|
||||
counter.getSlotsWith("BiomeSystem");
|
||||
counter.getSlotsWith("SpawnerSystem");
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -11,6 +11,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.AutoSpawnFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -46,28 +47,30 @@ public class MainAutoSpawnEditorPanel extends VariablePanelHandler<AutoSpawn> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, AutoSpawn autoSpawn) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
String type = ObjectUtils.getValue(autoSpawn.getType(), "INTERVAL");
|
||||
String editing = ""+ObjectUtils.getValue(autoSpawn.isEditing(), false);
|
||||
String entities = StringUtils.get().appendList(autoSpawn.getEntities());
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
String type = ObjectUtils.getValue(autoSpawn.getType(), "INTERVAL");
|
||||
String editing = ""+ObjectUtils.getValue(autoSpawn.isEditing(), false);
|
||||
String entities = StringUtils.get().appendList(autoSpawn.getEntities());
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
replaceMap.put("{type}", type);
|
||||
replaceMap.put("{editing}", editing);
|
||||
replaceMap.put("{entities}", entities);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
|
||||
replaceMap.put("{type}", type);
|
||||
replaceMap.put("{editing}", editing);
|
||||
replaceMap.put("{entities}", entities);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel();
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel();
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Editing").forEach(slot -> panel.setOnClick(slot, getEditingAction(autoSpawn)));
|
||||
counter.getSlotsWith("SpecialSettings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnSpecialSettingsEditorPanel().openFor(player, autoSpawn)));
|
||||
counter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnTypeEditorPanel().openFor(player, autoSpawn)));
|
||||
counter.getSlotsWith("Entities").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnEntitiesEditPanel().openFor(player, autoSpawn)));
|
||||
counter.getSlotsWith("CustomSettings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnCustomSettingsEditorPanel().openFor(player, autoSpawn)));
|
||||
counter.getSlotsWith("Editing").forEach(slot -> panel.setOnClick(slot, getEditingAction(autoSpawn)));
|
||||
counter.getSlotsWith("SpecialSettings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnSpecialSettingsEditorPanel().openFor(player, autoSpawn)));
|
||||
counter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnTypeEditorPanel().openFor(player, autoSpawn)));
|
||||
counter.getSlotsWith("Entities").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnEntitiesEditPanel().openFor(player, autoSpawn)));
|
||||
counter.getSlotsWith("CustomSettings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAutoSpawnCustomSettingsEditorPanel().openFor(player, autoSpawn)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import com.songoda.epicbosses.entity.elements.HandsElement;
|
||||
import com.songoda.epicbosses.entity.elements.MainStatsElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||
@ -88,37 +89,39 @@ public abstract class BossListEditorPanel extends VariablePanelHandler<BossEntit
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
int nextNumber = bossEntity.getEntityStats().size() + 1;
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
int nextNumber = bossEntity.getEntityStats().size() + 1;
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
|
||||
fillPanel(panel, bossEntity);
|
||||
fillPanel(panel, bossEntity);
|
||||
|
||||
panel.getPanelBuilderCounter().getSlotsWith("CreateEntity").forEach(slot -> panel.setOnClick(slot, event -> {
|
||||
MainStatsElement mainStatsElement = new MainStatsElement(nextNumber, "", 50.0, "");
|
||||
EquipmentElement equipmentElement = new EquipmentElement("", "", "", "");
|
||||
HandsElement handsElement = new HandsElement("", "");
|
||||
panel.getPanelBuilderCounter().getSlotsWith("CreateEntity").forEach(slot -> panel.setOnClick(slot, event -> {
|
||||
MainStatsElement mainStatsElement = new MainStatsElement(nextNumber, "", 50.0, "");
|
||||
EquipmentElement equipmentElement = new EquipmentElement("", "", "", "");
|
||||
HandsElement handsElement = new HandsElement("", "");
|
||||
|
||||
EntityStatsElement entityStatsElement = new EntityStatsElement(mainStatsElement, equipmentElement, handsElement, new ArrayList<>());
|
||||
EntityStatsElement entityStatsElement = new EntityStatsElement(mainStatsElement, equipmentElement, handsElement, new ArrayList<>());
|
||||
|
||||
bossEntity.getEntityStats().add(entityStatsElement);
|
||||
this.bossesFileManager.save();
|
||||
bossEntity.getEntityStats().add(entityStatsElement);
|
||||
this.bossesFileManager.save();
|
||||
|
||||
openFor((Player) event.getWhoClicked(), bossEntity);
|
||||
}));
|
||||
openFor((Player) event.getWhoClicked(), bossEntity);
|
||||
}));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -3,6 +3,7 @@ package com.songoda.epicbosses.panel.bosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
@ -30,25 +31,27 @@ public class CommandsMainEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{onSpawn}", bossEntity.getCommands().getOnSpawn());
|
||||
replaceMap.put("{onDeath}", bossEntity.getCommands().getOnDeath());
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{onSpawn}", bossEntity.getCommands().getOnSpawn());
|
||||
replaceMap.put("{onDeath}", bossEntity.getCommands().getOnDeath());
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
|
||||
counter.getSlotsWith("OnSpawn").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnSpawnCommandEditMenu().openFor(player, bossEntity)));
|
||||
counter.getSlotsWith("OnDeath").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathCommandEditMenu().openFor(player, bossEntity)));
|
||||
counter.getSlotsWith("OnSpawn").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnSpawnCommandEditMenu().openFor(player, bossEntity)));
|
||||
counter.getSlotsWith("OnDeath").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathCommandEditMenu().openFor(player, bossEntity)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.managers.files.DropTableFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -69,31 +70,33 @@ public class DropsEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{dropTable}", bossEntity.getDrops().getDropTable());
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{dropTable}", bossEntity.getDrops().getDropTable());
|
||||
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
String dropTableName = bossEntity.getDrops().getDropTable();
|
||||
DropTable dropTable = this.dropTableFileManager.getDropTable(dropTableName);
|
||||
|
||||
fillPanel(panel, bossEntity);
|
||||
counter.getSlotsWith("Selected").forEach(slot -> panel.setOnClick(slot, event -> {
|
||||
/* TODO: GO TO EDIT PANEL FOR DROP TABLE */
|
||||
}));
|
||||
counter.getSlotsWith("CreateDropTable").forEach(slot -> panel.setOnClick(slot, event -> {
|
||||
player.closeInventory();
|
||||
Message.Boss_New_CreateArgumentsDropTable.msg(event.getWhoClicked());
|
||||
}));
|
||||
fillPanel(panel, bossEntity);
|
||||
counter.getSlotsWith("Selected").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getMainDropTableEditMenu().openFor((Player) event.getWhoClicked(), dropTable)));
|
||||
counter.getSlotsWith("CreateDropTable").forEach(slot -> panel.setOnClick(slot, event -> {
|
||||
player.closeInventory();
|
||||
Message.Boss_New_CreateArgumentsDropTable.msg(event.getWhoClicked());
|
||||
}));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
private void loadPage(Panel panel, int requestedPage, Map<String, DropTable> dropTableMap, List<String> entryList, BossEntity bossEntity) {
|
||||
|
@ -6,6 +6,7 @@ import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -38,37 +39,39 @@ public class DropsMainEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Boolean naturalDrops = bossEntity.getDrops().getNaturalDrops();
|
||||
Boolean naturalExp = bossEntity.getDrops().getDropExp();
|
||||
String dropTable = bossEntity.getDrops().getDropTable();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Boolean naturalDrops = bossEntity.getDrops().getNaturalDrops();
|
||||
Boolean naturalExp = bossEntity.getDrops().getDropExp();
|
||||
String dropTable = bossEntity.getDrops().getDropTable();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(naturalDrops == null) naturalDrops = true;
|
||||
if(naturalExp == null) naturalExp = true;
|
||||
if(dropTable == null) dropTable = "N/A";
|
||||
if(naturalDrops == null) naturalDrops = true;
|
||||
if(naturalExp == null) naturalExp = true;
|
||||
if(dropTable == null) dropTable = "N/A";
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{naturalDrops}", ""+naturalDrops);
|
||||
replaceMap.put("{naturalExp}", ""+naturalExp);
|
||||
replaceMap.put("{dropTable}", dropTable);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{naturalDrops}", ""+naturalDrops);
|
||||
replaceMap.put("{naturalExp}", ""+naturalExp);
|
||||
replaceMap.put("{dropTable}", dropTable);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
Boolean finalNaturalDrops = naturalDrops;
|
||||
Boolean finalNaturalEXP = naturalExp;
|
||||
Boolean finalNaturalDrops = naturalDrops;
|
||||
Boolean finalNaturalEXP = naturalExp;
|
||||
|
||||
counter.getSlotsWith("NaturalDrops").forEach(slot -> panel.setOnClick(slot, getNaturalDropsAction(bossEntity, finalNaturalDrops)));
|
||||
counter.getSlotsWith("DropTable").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getDropsEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("NaturalEXP").forEach(slot -> panel.setOnClick(slot, getNaturalExpAction(bossEntity, finalNaturalEXP)));
|
||||
counter.getSlotsWith("NaturalDrops").forEach(slot -> panel.setOnClick(slot, getNaturalDropsAction(bossEntity, finalNaturalDrops)));
|
||||
counter.getSlotsWith("DropTable").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getDropsEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("NaturalEXP").forEach(slot -> panel.setOnClick(slot, getNaturalExpAction(bossEntity, finalNaturalEXP)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,6 +4,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.entity.elements.EntityStatsElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
@ -36,26 +37,28 @@ public class EquipmentEditorPanel extends SubVariablePanelHandler<BossEntity, En
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity, EntityStatsElement entityStatsElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getEquipmentListEditMenu(), bossEntity);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getEquipmentListEditMenu(), bossEntity);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
|
||||
panelBuilderCounter.getSlotsWith("Helmet").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getHelmetEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("Chestplate").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getChestplateEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("Leggings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getLeggingsEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("Boots").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getBootsEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("Helmet").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getHelmetEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("Chestplate").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getChestplateEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("Leggings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getLeggingsEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("Boots").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getBootsEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.managers.BossEntityManager;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -47,32 +48,34 @@ public class MainBossEditPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{mode}", bossEntity.getEditingValue());
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{mode}", bossEntity.getEditingValue());
|
||||
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Editing").forEach(slot -> panel.setOnClick(slot, getEditingAction(bossEntity)));
|
||||
counter.getSlotsWith("Drops").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getMainDropsEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Targeting").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getTargetingEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Equipment").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getEquipmentListEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Weapon").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getWeaponListEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Skill").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getSkillsBossEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Stats").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getStatisticListEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Command").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getCommandsMainEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Text").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getMainTextEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Editing").forEach(slot -> panel.setOnClick(slot, getEditingAction(bossEntity)));
|
||||
counter.getSlotsWith("Drops").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getMainDropsEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Targeting").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getTargetingEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Equipment").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getEquipmentListEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Weapon").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getWeaponListEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Skill").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getSkillsBossEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Stats").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getStatisticListEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Command").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getCommandsMainEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Text").forEach(slot -> panel.setOnClick(slot, e -> this.bossPanelManager.getMainTextEditMenu().openFor((Player) e.getWhoClicked(), bossEntity)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
private ClickAction getEditingAction(BossEntity bossEntity) {
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -60,21 +61,23 @@ public class SkillListEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getSkillsBossEditMenu(), bossEntity);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getSkillsBossEditMenu(), bossEntity);
|
||||
|
||||
fillPanel(panel, bossEntity);
|
||||
fillPanel(panel, bossEntity);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -40,28 +41,30 @@ public class SkillMainEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Double chance = bossEntity.getSkills().getOverallChance();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Double chance = bossEntity.getSkills().getOverallChance();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(chance == null) chance = 0.0;
|
||||
if(chance == null) chance = 0.0;
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("OverallChance").forEach(slot -> panel.setOnClick(slot, getOverallChanceAction(bossEntity)));
|
||||
counter.getSlotsWith("SkillList").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSkillListBossEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Message").forEach(slot -> panel.setOnClick(slot, getMessageAction()));
|
||||
counter.getSlotsWith("OverallChance").forEach(slot -> panel.setOnClick(slot, getOverallChanceAction(bossEntity)));
|
||||
counter.getSlotsWith("SkillList").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSkillListBossEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Message").forEach(slot -> panel.setOnClick(slot, getMessageAction()));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -10,6 +10,7 @@ import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.EntityFinder;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
@ -44,38 +45,39 @@ public class StatisticMainEditorPanel extends SubVariablePanelHandler<BossEntity
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity, EntityStatsElement entityStatsElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
String displayName = entityStatsElement.getMainStats().getDisplayName();
|
||||
Double health = entityStatsElement.getMainStats().getHealth();
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
String displayName = entityStatsElement.getMainStats().getDisplayName();
|
||||
Double health = entityStatsElement.getMainStats().getHealth();
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
|
||||
if(health == null) health = 0.0;
|
||||
if(displayName == null) displayName = "N/A";
|
||||
if(health == null) health = 0.0;
|
||||
if(displayName == null) displayName = "N/A";
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{health}", NumberUtils.get().formatDouble(health));
|
||||
replaceMap.put("{displayName}", displayName);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{health}", NumberUtils.get().formatDouble(health));
|
||||
replaceMap.put("{displayName}", displayName);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
counter
|
||||
.addSlotCounter("DisplayName")
|
||||
.addSlotCounter("EntityType")
|
||||
.addSlotCounter("Health");
|
||||
counter.addSlotCounter("DisplayName")
|
||||
.addSlotCounter("EntityType")
|
||||
.addSlotCounter("Health");
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getStatisticListEditMenu(), bossEntity);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getStatisticListEditMenu(), bossEntity);
|
||||
|
||||
fillPanel(panel, bossEntity, entityStatsElement);
|
||||
fillPanel(panel, bossEntity, entityStatsElement);
|
||||
|
||||
counter.getSlotsWith("DisplayName").forEach(slot -> panel.setOnClick(slot, getDisplayNameAction(bossEntity, entityStatsElement)));
|
||||
counter.getSlotsWith("EntityType").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getEntityTypeEditMenu().openFor((Player) event.getWhoClicked(), bossEntity, entityStatsElement)));
|
||||
counter.getSlotsWith("Health").forEach(slot -> panel.setOnClick(slot, getHealthAction(bossEntity, entityStatsElement)));
|
||||
counter.getSlotsWith("DisplayName").forEach(slot -> panel.setOnClick(slot, getDisplayNameAction(bossEntity, entityStatsElement)));
|
||||
counter.getSlotsWith("EntityType").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getEntityTypeEditMenu().openFor((Player) event.getWhoClicked(), bossEntity, entityStatsElement)));
|
||||
counter.getSlotsWith("Health").forEach(slot -> panel.setOnClick(slot, getHealthAction(bossEntity, entityStatsElement)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,6 +4,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
@ -35,31 +36,33 @@ public class TargetingEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{selected}", bossEntity.getTargetingValue());
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{selected}", bossEntity.getTargetingValue());
|
||||
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
|
||||
panelBuilderCounter.getSpecialSlotsWith("TargetingSystem").forEach((slot, returnValue) -> panel.setOnClick(slot, event -> {
|
||||
bossEntity.setTargeting((String) returnValue);
|
||||
this.bossesFileManager.save();
|
||||
panelBuilderCounter.getSpecialSlotsWith("TargetingSystem").forEach((slot, returnValue) -> panel.setOnClick(slot, event -> {
|
||||
bossEntity.setTargeting((String) returnValue);
|
||||
this.bossesFileManager.save();
|
||||
|
||||
openFor(player, bossEntity);
|
||||
openFor(player, bossEntity);
|
||||
|
||||
}));
|
||||
}));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -3,6 +3,7 @@ package com.songoda.epicbosses.panel.bosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
@ -30,24 +31,26 @@ public class TextMainEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("OnSpawn").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnSpawnSubTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("OnDeath").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathSubTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Taunts").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getMainTauntEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("OnSpawn").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnSpawnSubTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("OnDeath").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathSubTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Taunts").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getMainTauntEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,6 +4,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.entity.elements.EntityStatsElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
@ -31,25 +32,27 @@ public class WeaponsEditorPanel extends SubVariablePanelHandler<BossEntity, Enti
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity, EntityStatsElement entityStatsElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getWeaponListEditMenu(), bossEntity);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getWeaponListEditMenu(), bossEntity);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
|
||||
panelBuilderCounter.getSlotsWith("MainHand").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getMainHandEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("OffHand").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOffHandEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("MainHand").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getMainHandEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
panelBuilderCounter.getSlotsWith("OffHand").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOffHandEditorMenu().openFor(player, bossEntity, entityStatsElement)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.CommandsFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -59,21 +60,23 @@ public class OnDeathCommandEditor extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandsMainEditMenu(), bossEntity);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandsMainEditMenu(), bossEntity);
|
||||
|
||||
fillPanel(panel, bossEntity);
|
||||
fillPanel(panel, bossEntity);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.CommandsFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -59,21 +60,23 @@ public class OnSpawnCommandEditor extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandsMainEditMenu(), bossEntity);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandsMainEditMenu(), bossEntity);
|
||||
|
||||
fillPanel(panel, bossEntity);
|
||||
fillPanel(panel, bossEntity);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -41,39 +42,41 @@ public class DeathTextEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
OnDeathMessageElement onDeathMessageElement = bossEntity.getMessages().getOnDeath();
|
||||
Integer radius = onDeathMessageElement.getRadius();
|
||||
Integer onlyShow = onDeathMessageElement.getOnlyShow();
|
||||
String mainMessage = onDeathMessageElement.getMessage();
|
||||
String positionMessage = onDeathMessageElement.getPositionMessage();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
OnDeathMessageElement onDeathMessageElement = bossEntity.getMessages().getOnDeath();
|
||||
Integer radius = onDeathMessageElement.getRadius();
|
||||
Integer onlyShow = onDeathMessageElement.getOnlyShow();
|
||||
String mainMessage = onDeathMessageElement.getMessage();
|
||||
String positionMessage = onDeathMessageElement.getPositionMessage();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(radius == null) radius = 0;
|
||||
if(onlyShow == null) onlyShow = 3;
|
||||
if(mainMessage == null) mainMessage = "N/A";
|
||||
if(positionMessage == null) positionMessage = "N/A";
|
||||
if(radius == null) radius = 0;
|
||||
if(onlyShow == null) onlyShow = 3;
|
||||
if(mainMessage == null) mainMessage = "N/A";
|
||||
if(positionMessage == null) positionMessage = "N/A";
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{mainMessage}", mainMessage);
|
||||
replaceMap.put("{positionMessage}", positionMessage);
|
||||
replaceMap.put("{onlyShow}", NumberUtils.get().formatDouble(onlyShow));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{mainMessage}", mainMessage);
|
||||
replaceMap.put("{positionMessage}", positionMessage);
|
||||
replaceMap.put("{onlyShow}", NumberUtils.get().formatDouble(onlyShow));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainTextEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainTextEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("MainMessage").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(bossEntity)));
|
||||
counter.getSlotsWith("OnlyShow").forEach(slot -> panel.setOnClick(slot, getOnlyShowAction(bossEntity)));
|
||||
counter.getSlotsWith("PositionMessage").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathPositionTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("MainMessage").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(bossEntity)));
|
||||
counter.getSlotsWith("OnlyShow").forEach(slot -> panel.setOnClick(slot, getOnlyShowAction(bossEntity)));
|
||||
counter.getSlotsWith("PositionMessage").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnDeathPositionTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -40,30 +41,32 @@ public class SpawnTextEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Integer radius = bossEntity.getMessages().getOnSpawn().getRadius();
|
||||
String message = bossEntity.getMessages().getOnDeath().getMessage();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Integer radius = bossEntity.getMessages().getOnSpawn().getRadius();
|
||||
String message = bossEntity.getMessages().getOnDeath().getMessage();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(radius == null) radius = 0;
|
||||
if(message == null) message = "N/A";
|
||||
if(radius == null) radius = 0;
|
||||
if(message == null) message = "N/A";
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{selected}", message);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{selected}", message);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainTextEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainTextEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Select").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnSpawnTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(bossEntity)));
|
||||
counter.getSlotsWith("Select").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnSpawnTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(bossEntity)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -44,35 +45,37 @@ public class TauntTextEditorPanel extends VariablePanelHandler<BossEntity> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
TauntElement tauntElement = bossEntity.getMessages().getTaunts();
|
||||
Integer radius = tauntElement.getRadius();
|
||||
Integer delay = tauntElement.getDelay();
|
||||
List<String> taunts = tauntElement.getTaunts();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
TauntElement tauntElement = bossEntity.getMessages().getTaunts();
|
||||
Integer radius = tauntElement.getRadius();
|
||||
Integer delay = tauntElement.getDelay();
|
||||
List<String> taunts = tauntElement.getTaunts();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(radius == null) radius = 100;
|
||||
if(delay == null) delay = 60;
|
||||
if(taunts == null || taunts.isEmpty()) taunts = Arrays.asList("N/A");
|
||||
if(radius == null) radius = 100;
|
||||
if(delay == null) delay = 60;
|
||||
if(taunts == null || taunts.isEmpty()) taunts = Arrays.asList("N/A");
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{delay}", NumberUtils.get().formatDouble(delay));
|
||||
replaceMap.put("{taunts}", StringUtils.get().appendList(taunts));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{delay}", NumberUtils.get().formatDouble(delay));
|
||||
replaceMap.put("{taunts}", StringUtils.get().appendList(taunts));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainTextEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainTextEditMenu(), bossEntity);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(bossEntity)));
|
||||
counter.getSlotsWith("Delay").forEach(slot -> panel.setOnClick(slot, getDelayAction(bossEntity)));
|
||||
counter.getSlotsWith("Taunts").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnTauntTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(bossEntity)));
|
||||
counter.getSlotsWith("Delay").forEach(slot -> panel.setOnClick(slot, getDelayAction(bossEntity)));
|
||||
counter.getSlotsWith("Taunts").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getOnTauntTextEditMenu().openFor((Player) event.getWhoClicked(), bossEntity)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,6 +4,7 @@ import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -37,21 +38,23 @@ public class DropTableTypeEditorPanel extends VariablePanelHandler<DropTable> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
|
||||
|
||||
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)));
|
||||
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);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.droptable.elements.GiveTableElement;
|
||||
import com.songoda.epicbosses.droptable.elements.SprayTableElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.Debug;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -36,21 +37,23 @@ public class MainDropTableEditorPanel extends VariablePanelHandler<DropTable> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
replaceMap.put("{type}", StringUtils.get().formatString(dropTable.getDropType()));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
replaceMap.put("{type}", StringUtils.get().formatString(dropTable.getDropType()));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getDropTables());
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getDropTables());
|
||||
|
||||
panelBuilderCounter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getDropTableTypeEditMenu().openFor(player, dropTable)));
|
||||
panelBuilderCounter.getSlotsWith("Rewards").forEach(slot -> panel.setOnClick(slot, getRewardsAction(dropTable)));
|
||||
panelBuilderCounter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getDropTableTypeEditMenu().openFor(player, dropTable)));
|
||||
panelBuilderCounter.getSlotsWith("Rewards").forEach(slot -> panel.setOnClick(slot, getRewardsAction(dropTable)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.panel.droptables.rewards.interfaces.IDropTableNewRewardEditor;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
@ -55,11 +56,13 @@ public abstract class DropTableNewRewardEditorPanel<SubVariable> extends SubVari
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, SubVariable subVariable) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
|
||||
|
||||
fillPanel(panel, dropTable, subVariable);
|
||||
panel.openFor(player);
|
||||
fillPanel(panel, dropTable, subVariable);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import com.songoda.epicbosses.panel.droptables.rewards.interfaces.IDropTableRewa
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubSubVariablePanelHandler;
|
||||
@ -37,22 +38,24 @@ public abstract class DropTableRewardMainEditorPanel<SubVariable> extends SubSub
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, SubVariable subVariable, String s) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
double chance = ObjectUtils.getValue(getChance(subVariable, s), 50.0);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
double chance = ObjectUtils.getValue(getChance(subVariable, s), 50.0);
|
||||
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
replaceMap.put("{itemStack}", s);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
replaceMap.put("{itemStack}", s);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("Chance").forEach(slot -> panel.setOnClick(slot, getChanceAction(dropTable, subVariable, s)));
|
||||
panelBuilderCounter.getSlotsWith("Remove").forEach(slot -> panel.setOnClick(slot, getRemoveAction(dropTable, subVariable, s)));
|
||||
panelBuilderCounter.getSlotsWith("Chance").forEach(slot -> panel.setOnClick(slot, getChanceAction(dropTable, subVariable, s)));
|
||||
panelBuilderCounter.getSlotsWith("Remove").forEach(slot -> panel.setOnClick(slot, getRemoveAction(dropTable, subVariable, s)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.panel.droptables.rewards.interfaces.IDropTableRewardsListEditor;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
@ -56,20 +57,22 @@ public abstract class DropTableRewardsListEditorPanel<SubVariable> extends SubVa
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, SubVariable subVariable) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("NewReward").forEach(slot -> panel.setOnClick(slot, event -> getNewRewardPanelHandler().openFor((Player) event.getWhoClicked(), dropTable, subVariable)));
|
||||
fillPanel(panel, dropTable, subVariable);
|
||||
panelBuilderCounter.getSlotsWith("NewReward").forEach(slot -> panel.setOnClick(slot, event -> getNewRewardPanelHandler().openFor((Player) event.getWhoClicked(), dropTable, subVariable)));
|
||||
fillPanel(panel, dropTable, subVariable);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -11,6 +11,7 @@ import com.songoda.epicbosses.panel.droptables.types.give.handlers.GiveRewardEdi
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
@ -40,41 +41,43 @@ public class GiveRewardMainEditPanel extends SubVariablePanelHandler<DropTable,
|
||||
|
||||
@Override
|
||||
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);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
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);
|
||||
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 counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardRewardsListMenu(), dropTable, giveRewardEditHandler.getGiveTableElement(), giveRewardEditHandler.getDamagePosition());
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardRewardsListMenu(), dropTable, giveRewardEditHandler.getGiveTableElement(), giveRewardEditHandler.getDamagePosition());
|
||||
|
||||
counter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomDropsAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("MaxDrops").forEach(slot -> panel.setOnClick(slot, getMaxDropsAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("ItemDrops").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getGiveDropRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("RequiredPercentage").forEach(slot -> panel.setOnClick(slot, getRequiredPercentageAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("CommandDrops").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getGiveCommandRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("MaxCommands").forEach(slot -> panel.setOnClick(slot, getMaxCommandsAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomCommandsAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomDropsAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("MaxDrops").forEach(slot -> panel.setOnClick(slot, getMaxDropsAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("ItemDrops").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getGiveDropRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("RequiredPercentage").forEach(slot -> panel.setOnClick(slot, getRequiredPercentageAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("CommandDrops").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getGiveCommandRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("MaxCommands").forEach(slot -> panel.setOnClick(slot, getMaxCommandsAction(dropTable, giveRewardEditHandler)));
|
||||
counter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomCommandsAction(dropTable, giveRewardEditHandler)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -12,6 +12,7 @@ import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.utils.Debug;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -61,19 +62,21 @@ public class GiveRewardPositionListPanel extends SubVariablePanelHandler<DropTab
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, GiveTableElement giveTableElement) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("NewPosition").forEach(slot -> panel.setOnClick(slot, getNewPositionAction(dropTable, giveTableElement)));
|
||||
fillPanel(panel, dropTable, giveTableElement);
|
||||
panel.openFor(player);
|
||||
panelBuilderCounter.getSlotsWith("NewPosition").forEach(slot -> panel.setOnClick(slot, getNewPositionAction(dropTable, giveTableElement)));
|
||||
fillPanel(panel, dropTable, giveTableElement);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -11,6 +11,7 @@ import com.songoda.epicbosses.panel.droptables.types.give.handlers.GiveRewardEdi
|
||||
import com.songoda.epicbosses.utils.Debug;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -46,19 +47,21 @@ public class GiveRewardRewardsListPanel extends SubSubVariablePanelHandler<DropT
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, GiveTableElement giveTableElement, String s) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardPositionListMenu(), dropTable, giveTableElement);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardPositionListMenu(), dropTable, giveTableElement);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("NewRewardSection").forEach(slot -> panel.setOnClick(slot, getNewRewardSectionAction(dropTable, giveTableElement, s)));
|
||||
fillPanel(panel, dropTable, giveTableElement, s);
|
||||
panel.openFor(player);
|
||||
panelBuilderCounter.getSlotsWith("NewRewardSection").forEach(slot -> panel.setOnClick(slot, getNewRewardSectionAction(dropTable, giveTableElement, s)));
|
||||
fillPanel(panel, dropTable, giveTableElement, s);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -10,6 +10,7 @@ import com.songoda.epicbosses.managers.files.CommandsFileManager;
|
||||
import com.songoda.epicbosses.managers.files.DropTableFileManager;
|
||||
import com.songoda.epicbosses.panel.droptables.types.give.handlers.GiveRewardEditHandler;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -67,11 +68,13 @@ public class GiveCommandNewRewardPanel extends SubVariablePanelHandler<DropTable
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, GiveRewardEditHandler giveRewardEditHandler) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveCommandRewardListPanel(), dropTable, giveRewardEditHandler);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveCommandRewardListPanel(), dropTable, giveRewardEditHandler);
|
||||
|
||||
fillPanel(panel, dropTable, giveRewardEditHandler);
|
||||
panel.openFor(player);
|
||||
fillPanel(panel, dropTable, giveRewardEditHandler);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.panel.droptables.types.give.handlers.GiveRewardEditHandler;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -57,20 +58,22 @@ public class GiveCommandRewardListPanel extends SubVariablePanelHandler<DropTabl
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, GiveRewardEditHandler giveRewardEditHandler) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardMainEditMenu(), dropTable, giveRewardEditHandler);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardMainEditMenu(), dropTable, giveRewardEditHandler);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("NewReward").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getGiveCommandNewRewardPanel().openFor((Player) event.getWhoClicked(), dropTable, giveRewardEditHandler)));
|
||||
fillPanel(panel, dropTable, giveRewardEditHandler);
|
||||
panelBuilderCounter.getSlotsWith("NewReward").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getGiveCommandNewRewardPanel().openFor((Player) event.getWhoClicked(), dropTable, giveRewardEditHandler)));
|
||||
fillPanel(panel, dropTable, giveRewardEditHandler);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -11,6 +11,7 @@ import com.songoda.epicbosses.panel.droptables.types.give.handlers.GiveRewardEdi
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubSubVariablePanelHandler;
|
||||
@ -39,23 +40,25 @@ public class GiveCommandRewardMainEditPanel extends SubSubVariablePanelHandler<D
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, GiveRewardEditHandler giveRewardEditHandler, String s) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, Double> rewardMap = giveRewardEditHandler.getGiveTableSubElement().getCommands();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
double chance = ObjectUtils.getValue(rewardMap.get(s), 50.0);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, Double> rewardMap = giveRewardEditHandler.getGiveTableSubElement().getCommands();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
double chance = ObjectUtils.getValue(rewardMap.get(s), 50.0);
|
||||
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
replaceMap.put("{itemStack}", s);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
replaceMap.put("{itemStack}", s);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveCommandRewardListPanel(), dropTable, giveRewardEditHandler);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveCommandRewardListPanel(), dropTable, giveRewardEditHandler);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("Chance").forEach(slot -> panel.setOnClick(slot, getChanceAction(dropTable, giveRewardEditHandler, s)));
|
||||
panelBuilderCounter.getSlotsWith("Remove").forEach(slot -> panel.setOnClick(slot, getRemoveAction(dropTable, giveRewardEditHandler, s)));
|
||||
panelBuilderCounter.getSlotsWith("Chance").forEach(slot -> panel.setOnClick(slot, getChanceAction(dropTable, giveRewardEditHandler, s)));
|
||||
panelBuilderCounter.getSlotsWith("Remove").forEach(slot -> panel.setOnClick(slot, getRemoveAction(dropTable, giveRewardEditHandler, s)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import com.songoda.epicbosses.droptable.elements.SprayTableElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -42,32 +43,34 @@ public class SprayDropTableMainEditorPanel extends SubVariablePanelHandler<DropT
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, SprayTableElement sprayTableElement) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Boolean randomSprayDrops = sprayTableElement.getRandomSprayDrops();
|
||||
Integer maxDrops = sprayTableElement.getSprayMaxDrops();
|
||||
Integer maxDistance = sprayTableElement.getSprayMaxDistance();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Boolean randomSprayDrops = sprayTableElement.getRandomSprayDrops();
|
||||
Integer maxDrops = sprayTableElement.getSprayMaxDrops();
|
||||
Integer maxDistance = sprayTableElement.getSprayMaxDistance();
|
||||
|
||||
if(randomSprayDrops == null) randomSprayDrops = false;
|
||||
if(maxDrops == null) maxDrops = -1;
|
||||
if(maxDistance == null) maxDistance = 100;
|
||||
if(randomSprayDrops == null) randomSprayDrops = false;
|
||||
if(maxDrops == null) maxDrops = -1;
|
||||
if(maxDistance == null) maxDistance = 100;
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
replaceMap.put("{randomDrops}", StringUtils.get().formatString(""+randomSprayDrops));
|
||||
replaceMap.put("{maxDrops}", NumberUtils.get().formatDouble(maxDrops));
|
||||
replaceMap.put("{maxDistance}", NumberUtils.get().formatDouble(maxDistance));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
replaceMap.put("{randomDrops}", StringUtils.get().formatString(""+randomSprayDrops));
|
||||
replaceMap.put("{maxDrops}", NumberUtils.get().formatDouble(maxDrops));
|
||||
replaceMap.put("{maxDistance}", NumberUtils.get().formatDouble(maxDistance));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("Rewards").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSprayDropRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, sprayTableElement)));
|
||||
panelBuilderCounter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomDropsAction(dropTable, sprayTableElement)));
|
||||
panelBuilderCounter.getSlotsWith("MaxDistance").forEach(slot -> panel.setOnClick(slot, getMaxDistanceAction(dropTable, sprayTableElement)));
|
||||
panelBuilderCounter.getSlotsWith("MaxDrops").forEach(slot -> panel.setOnClick(slot, getMaxDropsAction(dropTable, sprayTableElement)));
|
||||
panelBuilderCounter.getSlotsWith("Rewards").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSprayDropRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, sprayTableElement)));
|
||||
panelBuilderCounter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomDropsAction(dropTable, sprayTableElement)));
|
||||
panelBuilderCounter.getSlotsWith("MaxDistance").forEach(slot -> panel.setOnClick(slot, getMaxDistanceAction(dropTable, sprayTableElement)));
|
||||
panelBuilderCounter.getSlotsWith("MaxDrops").forEach(slot -> panel.setOnClick(slot, getMaxDropsAction(dropTable, sprayTableElement)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.songoda.epicbosses.entity.elements.EntityStatsElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||
@ -71,32 +72,34 @@ public abstract class ItemStackSubListPanelHandler extends SubVariablePanelHandl
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity, EntityStatsElement entityStatsElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), bossEntity, entityStatsElement);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setCancelClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), bossEntity, entityStatsElement);
|
||||
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
|
||||
|
||||
panelBuilderCounter.getSlotsWith("AddNew").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAddItemsMenu().openFor(player)));
|
||||
panelBuilderCounter.getSlotsWith("Remove").forEach(slot -> panel.setOnClick(slot, event -> {
|
||||
getUpdateAction(entityStatsElement, "");
|
||||
this.bossesFileManager.save();
|
||||
panelBuilderCounter.getSlotsWith("AddNew").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getAddItemsMenu().openFor(player)));
|
||||
panelBuilderCounter.getSlotsWith("Remove").forEach(slot -> panel.setOnClick(slot, event -> {
|
||||
getUpdateAction(entityStatsElement, "");
|
||||
this.bossesFileManager.save();
|
||||
|
||||
openFor((Player) event.getWhoClicked(), bossEntity, entityStatsElement);
|
||||
}));
|
||||
openFor((Player) event.getWhoClicked(), bossEntity, entityStatsElement);
|
||||
}));
|
||||
|
||||
fillPanel(panel, bossEntity, entityStatsElement);
|
||||
fillPanel(panel, bossEntity, entityStatsElement);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.CommandsFileManager;
|
||||
import com.songoda.epicbosses.managers.files.MessagesFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -68,21 +69,23 @@ public abstract class ListCommandListEditor<T> extends VariablePanelHandler<T> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, T object) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", getName(object));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", getName(object));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), object);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), object);
|
||||
|
||||
fillPanel(panel, object);
|
||||
fillPanel(panel, object);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.MessagesFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -68,21 +69,23 @@ public abstract class ListMessageListEditor<T> extends VariablePanelHandler<T> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, T object) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", getName(object));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", getName(object));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), object);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), object);
|
||||
|
||||
fillPanel(panel, object);
|
||||
fillPanel(panel, object);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.songoda.epicbosses.panel.handlers;
|
||||
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.PanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
@ -24,14 +25,16 @@ public abstract class MainListPanelHandler extends PanelHandler {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanel(this.bossPanelManager.getMainMenu().getPanel());
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanel(this.bossPanelManager.getMainMenu().getPanel());
|
||||
|
||||
fillPanel(panel);
|
||||
fillPanel(panel);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.MessagesFileManager;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -67,21 +68,23 @@ public abstract class SingleMessageListEditor<T> extends VariablePanelHandler<T>
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, T object) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", getName(object));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", getName(object));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), object);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), object);
|
||||
|
||||
fillPanel(panel, object);
|
||||
fillPanel(panel, object);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.SkillMode;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -41,42 +42,44 @@ public class MainSkillEditorPanel extends VariablePanelHandler<Skill> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
String customMessage = skill.getCustomMessage();
|
||||
Double radius = skill.getRadius();
|
||||
String mode = skill.getMode();
|
||||
String displayName = skill.getDisplayName();
|
||||
String type = skill.getType();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
String customMessage = skill.getCustomMessage();
|
||||
Double radius = skill.getRadius();
|
||||
String mode = skill.getMode();
|
||||
String displayName = skill.getDisplayName();
|
||||
String type = skill.getType();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(customMessage == null || customMessage.equals("")) customMessage = "N/A";
|
||||
if(radius == null) radius = 100.0;
|
||||
if(mode == null || mode.equals("")) mode = "N/A";
|
||||
if(displayName == null || displayName.equals("")) displayName = "N/A";
|
||||
if(type == null || type.equals("")) type = "N/A";
|
||||
if(customMessage == null || customMessage.equals("")) customMessage = "N/A";
|
||||
if(radius == null) radius = 100.0;
|
||||
if(mode == null || mode.equals("")) mode = "N/A";
|
||||
if(displayName == null || displayName.equals("")) displayName = "N/A";
|
||||
if(type == null || type.equals("")) type = "N/A";
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{customMessage}", customMessage);
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{mode}", mode);
|
||||
replaceMap.put("{displayName}", displayName);
|
||||
replaceMap.put("{type}", type);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{customMessage}", customMessage);
|
||||
replaceMap.put("{radius}", NumberUtils.get().formatDouble(radius));
|
||||
replaceMap.put("{mode}", mode);
|
||||
replaceMap.put("{displayName}", displayName);
|
||||
replaceMap.put("{type}", type);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(skill)));
|
||||
counter.getSlotsWith("CustomData").forEach(slot -> panel.setOnClick(slot, getCustomDataAction(skill)));
|
||||
counter.getSlotsWith("Mode").forEach(slot -> panel.setOnClick(slot, getModeAction(skill)));
|
||||
counter.getSlotsWith("DisplayName").forEach(slot -> panel.setOnClick(slot, getDisplayNameAction(skill)));
|
||||
counter.getSlotsWith("CustomMessage").forEach(slot -> panel.setOnClick(slot, getCustomMessageAction(skill)));
|
||||
counter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSkillTypeEditMenu().openFor((Player) event.getWhoClicked(), skill)));
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(skill)));
|
||||
counter.getSlotsWith("CustomData").forEach(slot -> panel.setOnClick(slot, getCustomDataAction(skill)));
|
||||
counter.getSlotsWith("Mode").forEach(slot -> panel.setOnClick(slot, getModeAction(skill)));
|
||||
counter.getSlotsWith("DisplayName").forEach(slot -> panel.setOnClick(slot, getDisplayNameAction(skill)));
|
||||
counter.getSlotsWith("CustomMessage").forEach(slot -> panel.setOnClick(slot, getCustomMessageAction(skill)));
|
||||
counter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSkillTypeEditMenu().openFor((Player) event.getWhoClicked(), skill)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -38,25 +39,27 @@ public class SkillTypeEditorPanel extends VariablePanelHandler<Skill> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Command").forEach(slot -> panel.setOnClick(slot, getCommandAction(skill)));
|
||||
counter.getSlotsWith("Custom").forEach(slot -> panel.setOnClick(slot, getCustomAction(skill)));
|
||||
counter.getSlotsWith("Potion").forEach(slot -> panel.setOnClick(slot, getPotionAction(skill)));
|
||||
counter.getSlotsWith("Group").forEach(slot -> panel.setOnClick(slot, getGroupAction(skill)));
|
||||
counter.getSlotsWith("Command").forEach(slot -> panel.setOnClick(slot, getCommandAction(skill)));
|
||||
counter.getSlotsWith("Custom").forEach(slot -> panel.setOnClick(slot, getCustomAction(skill)));
|
||||
counter.getSlotsWith("Potion").forEach(slot -> panel.setOnClick(slot, getPotionAction(skill)));
|
||||
counter.getSlotsWith("Group").forEach(slot -> panel.setOnClick(slot, getGroupAction(skill)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.elements.SubCommandSkillElement;
|
||||
import com.songoda.epicbosses.skills.types.CommandSkillElement;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -54,20 +55,22 @@ public class CommandSkillEditorPanel extends VariablePanelHandler<Skill> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
|
||||
counter.getSlotsWith("AddNew").forEach(slot -> panel.setOnClick(slot, getAddNewAction(skill)));
|
||||
fillPanel(panel, skill);
|
||||
counter.getSlotsWith("AddNew").forEach(slot -> panel.setOnClick(slot, getAddNewAction(skill)));
|
||||
fillPanel(panel, skill);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -10,6 +10,7 @@ import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.types.CustomSkillElement;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
@ -42,26 +43,28 @@ public class CustomSkillEditorPanel extends VariablePanelHandler<Skill> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
CustomSkillElement customSkillElement = this.bossSkillManager.getCustomSkillElement(skill);
|
||||
Double multiplier = customSkillElement.getCustom().getMultiplier();
|
||||
String multiplierValue = multiplier == null? "N/A" : NumberUtils.get().formatDouble(multiplier);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
CustomSkillElement customSkillElement = this.bossSkillManager.getCustomSkillElement(skill);
|
||||
Double multiplier = customSkillElement.getCustom().getMultiplier();
|
||||
String multiplierValue = multiplier == null? "N/A" : NumberUtils.get().formatDouble(multiplier);
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{type}", customSkillElement.getCustom().getType());
|
||||
replaceMap.put("{multiplier}", multiplierValue);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{type}", customSkillElement.getCustom().getType());
|
||||
replaceMap.put("{multiplier}", multiplierValue);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
|
||||
counter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getCustomSkillTypeEditorMenu().openFor((Player) event.getWhoClicked(), skill, customSkillElement)));
|
||||
counter.getSlotsWith("SpecialSettings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSpecialSettingsEditorMenu().openFor((Player) event.getWhoClicked(), skill, customSkillElement)));
|
||||
counter.getSlotsWith("Multiplier").forEach(slot -> panel.setOnClick(slot, getMultiplierAction(skill, customSkillElement)));
|
||||
counter.getSlotsWith("Type").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getCustomSkillTypeEditorMenu().openFor((Player) event.getWhoClicked(), skill, customSkillElement)));
|
||||
counter.getSlotsWith("SpecialSettings").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getSpecialSettingsEditorMenu().openFor((Player) event.getWhoClicked(), skill, customSkillElement)));
|
||||
counter.getSlotsWith("Multiplier").forEach(slot -> panel.setOnClick(slot, getMultiplierAction(skill, customSkillElement)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.types.GroupSkillElement;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -60,18 +61,20 @@ public class GroupSkillEditorPanel extends VariablePanelHandler<Skill> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
|
||||
fillPanel(panel, skill);
|
||||
fillPanel(panel, skill);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.types.PotionSkillElement;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -70,24 +71,26 @@ public class PotionSkillEditorPanel extends VariablePanelHandler<Skill> {
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
|
||||
|
||||
counter.getSlotsWith("PotionEffect").forEach(slot -> panel.setOnClick(slot,
|
||||
event -> this.bossPanelManager.getCreatePotionEffectMenu().openFor((Player) event.getWhoClicked(), skill, new PotionEffectHolder("", 1, 1))));
|
||||
fillPanel(panel, skill);
|
||||
counter.getSlotsWith("PotionEffect").forEach(slot -> panel.setOnClick(slot,
|
||||
event -> this.bossPanelManager.getCreatePotionEffectMenu().openFor((Player) event.getWhoClicked(), skill, new PotionEffectHolder("", 1, 1))));
|
||||
fillPanel(panel, skill);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -67,18 +67,20 @@ public class CommandListSkillEditorPanel extends SubVariablePanelHandler<Skill,
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, SubCommandSkillElement subCommandSkillElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandSkillEditorPanel(), skill);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandSkillEditorPanel(), skill);
|
||||
|
||||
fillPanel(panel, skill, subCommandSkillElement);
|
||||
fillPanel(panel, skill, subCommandSkillElement);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -11,6 +11,7 @@ import com.songoda.epicbosses.skills.elements.SubCommandSkillElement;
|
||||
import com.songoda.epicbosses.skills.types.CommandSkillElement;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -49,26 +50,28 @@ public class ModifyCommandEditorPanel extends SubVariablePanelHandler<Skill, Sub
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, SubCommandSkillElement subCommandSkillElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
List<String> commands = subCommandSkillElement.getCommands();
|
||||
Double chance = subCommandSkillElement.getChance();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
List<String> commands = subCommandSkillElement.getCommands();
|
||||
Double chance = subCommandSkillElement.getChance();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(commands == null) commands = new ArrayList<>();
|
||||
if(chance == null) chance = 100.0;
|
||||
if(commands == null) commands = new ArrayList<>();
|
||||
if(chance == null) chance = 100.0;
|
||||
|
||||
replaceMap.put("{commands}", StringUtils.get().appendList(commands));
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{commands}", StringUtils.get().appendList(commands));
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandSkillEditorPanel(), skill);
|
||||
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCommandSkillEditorPanel(), skill);
|
||||
|
||||
counter.getSlotsWith("Chance").forEach(slot -> panel.setOnClick(slot, getChanceAction(skill, subCommandSkillElement)));
|
||||
counter.getSlotsWith("Commands").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getCommandListSkillEditMenu().openFor((Player) event.getWhoClicked(), skill, subCommandSkillElement)));
|
||||
counter.getSlotsWith("Chance").forEach(slot -> panel.setOnClick(slot, getChanceAction(skill, subCommandSkillElement)));
|
||||
counter.getSlotsWith("Commands").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getCommandListSkillEditMenu().openFor((Player) event.getWhoClicked(), skill, subCommandSkillElement)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import com.songoda.epicbosses.skills.CustomSkillHandler;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.interfaces.IOtherSkillDataElement;
|
||||
import com.songoda.epicbosses.skills.types.CustomSkillElement;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -43,19 +44,21 @@ public class CustomSkillTypeEditorPanel extends SubVariablePanelHandler<Skill, C
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{selected}", customSkillElement.getCustom().getType());
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{selected}", customSkillElement.getCustom().getType());
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCustomSkillEditorPanel(), skill);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCustomSkillEditorPanel(), skill);
|
||||
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,6 +4,7 @@ import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.types.CustomSkillElement;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
@ -56,11 +57,13 @@ public abstract class MaterialTypeEditorPanel extends SubVariablePanelHandler<Sk
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(getParentHolder(), skill, customSkillElement);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(getParentHolder(), skill, customSkillElement);
|
||||
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
panel.openFor(player);
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -10,6 +10,7 @@ import com.songoda.epicbosses.managers.files.MinionsFileManager;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.elements.CustomMinionSkillElement;
|
||||
import com.songoda.epicbosses.skills.types.CustomSkillElement;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.StringUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackConverter;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
@ -65,11 +66,13 @@ public class MinionSelectEditorPanel extends SubVariablePanelHandler<Skill, Cust
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getSpecialSettingsEditorMenu(), skill, customSkillElement);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getSpecialSettingsEditorMenu(), skill, customSkillElement);
|
||||
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
panel.openFor(player);
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,6 +9,7 @@ import com.songoda.epicbosses.skills.interfaces.ICustomSettingAction;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.skills.types.CustomSkillElement;
|
||||
import com.songoda.epicbosses.utils.Debug;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
@ -41,19 +42,21 @@ public class SpecialSettingsEditorPanel extends SubVariablePanelHandler<Skill, C
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{selected}", customSkillElement.getCustom().getType());
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{name}", BossAPI.getSkillName(skill));
|
||||
replaceMap.put("{selected}", customSkillElement.getCustom().getType());
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCustomSkillEditorPanel(), skill);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCustomSkillEditorPanel(), skill);
|
||||
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
fillPanel(panel, skill, customSkillElement);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -11,6 +11,7 @@ import com.songoda.epicbosses.skills.types.PotionSkillElement;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.PotionEffectFinder;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
@ -53,36 +54,36 @@ public class CreatePotionEffectEditorPanel extends SubVariablePanelHandler<Skill
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, PotionEffectHolder potionEffectHolder) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
String effect = potionEffectHolder.getType();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
String effect = potionEffectHolder.getType();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
if(effect == null || effect.isEmpty()) effect = "N/A";
|
||||
if(effect == null || effect.isEmpty()) effect = "N/A";
|
||||
|
||||
replaceMap.put("{duration}", NumberUtils.get().formatDouble(potionEffectHolder.getDuration()));
|
||||
replaceMap.put("{level}", NumberUtils.get().formatDouble(potionEffectHolder.getLevel()));
|
||||
replaceMap.put("{effect}", effect);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
replaceMap.put("{duration}", NumberUtils.get().formatDouble(potionEffectHolder.getDuration()));
|
||||
replaceMap.put("{level}", NumberUtils.get().formatDouble(potionEffectHolder.getLevel()));
|
||||
replaceMap.put("{effect}", effect);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setDestroyWhenDone(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getPotionSkillEditorPanel(), skill);
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setDestroyWhenDone(true)
|
||||
.setParentPanelHandler(this.bossPanelManager.getPotionSkillEditorPanel(), skill);
|
||||
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Cancel").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getPotionSkillEditorPanel().openFor((Player) event.getWhoClicked(), skill)));
|
||||
counter.getSlotsWith("Confirm").forEach(slot -> panel.setOnClick(slot, getConfirmAction(skill, potionEffectHolder)));
|
||||
counter.getSlotsWith("Level").forEach(slot -> panel.setOnClick(slot, getLevelAction(skill, potionEffectHolder)));
|
||||
counter.getSlotsWith("Duration").forEach(slot -> panel.setOnClick(slot, getDurationAction(skill, potionEffectHolder)));
|
||||
counter.getSlotsWith("Effect").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getPotionEffectTypeEditMenu().openFor((Player) event.getWhoClicked(), skill, potionEffectHolder)));
|
||||
counter.getSlotsWith("Cancel").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getPotionSkillEditorPanel().openFor((Player) event.getWhoClicked(), skill)));
|
||||
counter.getSlotsWith("Confirm").forEach(slot -> panel.setOnClick(slot, getConfirmAction(skill, potionEffectHolder)));
|
||||
counter.getSlotsWith("Level").forEach(slot -> panel.setOnClick(slot, getLevelAction(skill, potionEffectHolder)));
|
||||
counter.getSlotsWith("Duration").forEach(slot -> panel.setOnClick(slot, getDurationAction(skill, potionEffectHolder)));
|
||||
counter.getSlotsWith("Effect").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getPotionEffectTypeEditMenu().openFor((Player) event.getWhoClicked(), skill, potionEffectHolder)));
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
private ClickAction getDurationAction(Skill skill, PotionEffectHolder potionEffectHolder) {
|
||||
return event -> {
|
||||
ClickType clickType = event.getClick();
|
||||
|
@ -59,12 +59,14 @@ public class PotionEffectTypeEditorPanel extends SubVariablePanelHandler<Skill,
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, Skill skill, PotionEffectHolder potionEffectHolder) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCreatePotionEffectMenu(), skill, potionEffectHolder);
|
||||
ServerUtils.get().runTaskAsync(() -> {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getCreatePotionEffectMenu(), skill, potionEffectHolder);
|
||||
|
||||
fillPanel(panel, skill, potionEffectHolder);
|
||||
fillPanel(panel, skill, potionEffectHolder);
|
||||
|
||||
panel.openFor(player);
|
||||
panel.openFor(player);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -17,6 +17,7 @@ public enum Debug {
|
||||
MECHANIC_APPLICATION_FAILED("Some mechanics have failed to be applied. It got stuck at {0} mechanic."),
|
||||
BOSS_NAME_EXISTS("A boss was attempted to be created with the name {0} but there is already a boss with that name."),
|
||||
DROPTABLE_NAME_EXISTS("A droptable was attempted to be created with the name {0} but there is already a drop table with that name."),
|
||||
AUTOSPAWN_NAME_EXISTS("A autospawn was attempted to be created with the name {0} but there is already an auto spawn with that name."),
|
||||
SKILL_NAME_EXISTS("A skill was attempted to be created with the name {0} but there is already a skill with that name."),
|
||||
MINION_NAME_EXISTS("A minion was attempted to be created with the name {0} but there is already a minion with that name."),
|
||||
BOSS_CONTAINER_SAVE("The BossEntity map was saved in, {0} succeeded, and {1} failed. Listed below are the saved data which already existed in the container: \n{2}"),
|
||||
|
@ -115,7 +115,7 @@ public enum Message {
|
||||
"&7&o(To add a new line use &7||&7&o in-between the messages.)\n" +
|
||||
"&b/boss new message [name] [messages] &8» &7Used to create a new message section.\n" +
|
||||
"&7&o(To add a new line use &7||&7&o in-between the messages.)\n" +
|
||||
"&7\n" +
|
||||
"&7/boss new autospawn [name] &8» &7Used to create a new auto spawn section.\n" +
|
||||
"&7\n" +
|
||||
"&7\n" +
|
||||
"&7\n" +
|
||||
@ -165,11 +165,13 @@ public enum Message {
|
||||
Boss_New_CreateArgumentsSkill("&b&lEpicBosses &8» &7Create a new skill with the command &f/boss new skill [name] [type] [mode]&7."),
|
||||
Boss_New_CreateArgumentsMessage("&b&lEpicBosses &8» &7Create a new message with the command &f/boss new message [name] [message(s)]. \n&7&oUse &f|| &7&oto reference a new line."),
|
||||
Boss_New_CreateArgumentsCommand("&b&lEpicBosses &8» &7Create a new command with the command &f/boss new command [name] [command(s)]. \n&7&oUse &f|| &7&oto reference a new line."),
|
||||
Boss_New_CreateArgumentsAutoSpawn("&b&lEpicBosses &8» &7Create a new auto spawn with the command &f/boss new autospawn [name]."),
|
||||
Boss_New_AlreadyExists("&c&l(!) &cThe specified {0} name already exists. Please try another name."),
|
||||
Boss_New_InvalidDropTableType("&c&l(!) &cThe specified DropTable type is invalid. Please use &fGive, Drop, Spray&c."),
|
||||
Boss_New_InvalidSkillType("&c&l(!) &cThe specified Skill type is invalid. Please use &fCustom, Command, Group, Potion&c."),
|
||||
Boss_New_InvalidSkillMode("&c&l(!) &cThe specified Skill mode is invalid. Please use &fAll, Random, One, Boss&c."),
|
||||
Boss_New_DropTable("&b&lEpicBosses &8» &7You have created a new drop table with the name &f{0}&7 and type &f{1}&7."),
|
||||
Boss_New_AutoSpawn("&b&lEpicBosses &8» &7You have created a new auto spawn with the name &f{0}&7."),
|
||||
Boss_New_Skill("&b&lEpicBosses &8» &7You have created a new skill with the name &f{0}&7 and type &f{1}&7."),
|
||||
Boss_New_Command("&b&lEpicBosses &8» &7You have created a new command with the name &f{0}&7."),
|
||||
Boss_New_Message("&b&lEpicBosses &8» &7You have created a new message with the name &f{0}&7."),
|
||||
|
Loading…
Reference in New Issue
Block a user