1.0.0-SNAPSHOT-U195

+ Changed all panels to remove the Async aspect of the opening of the panels
This commit is contained in:
Charles 2019-01-10 01:32:06 +08:00
parent d0e2dd008d
commit cd5caeb091
57 changed files with 752 additions and 776 deletions

View File

@ -51,12 +51,12 @@ public class AddItemsPanel extends PanelHandler {
@Override
public void openFor(Player player) {
ServerUtils.get().runTaskAsync(() -> {
Panel panel = getPanelBuilder().getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(false);
Panel panel = getPanelBuilder().getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(false);
ServerUtils.get().runTaskAsync(() ->
panel.setOnClick(event -> {
Player playerWhoClicked = (Player) event.getWhoClicked();
UUID uuid = playerWhoClicked.getUniqueId();
@ -75,10 +75,10 @@ public class AddItemsPanel extends PanelHandler {
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) {

View File

@ -52,23 +52,21 @@ public class EntityTypeEditorPanel extends SubVariablePanelHandler<BossEntity, E
@Override
public void openFor(Player player, BossEntity bossEntity, EntityStatsElement entityStatsElement) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, bossEntity, entityStatsElement));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -58,19 +58,19 @@ public class AutoSpawnCustomSettingsEditorPanel extends VariablePanelHandler<Aut
@Override
public void openFor(Player player, AutoSpawn autoSpawn) {
ServerUtils.get().runTaskAsync(() -> {
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
Map<String, String> replaceMap = new HashMap<>();
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);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, autoSpawn));
fillPanel(panel, autoSpawn);
panel.openFor(player);
}
@Override

View File

@ -64,19 +64,17 @@ public class AutoSpawnEntitiesEditorPanel extends VariablePanelHandler<AutoSpawn
@Override
public void openFor(Player player, AutoSpawn autoSpawn) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, autoSpawn));
panel.openFor(player);
}
@Override

View File

@ -44,39 +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(), "");
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();
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);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -40,24 +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();
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
panelBuilder.addReplaceData(replaceMap);
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getMainAutoSpawnEditPanel(), autoSpawn);
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
replaceMap.put("{name}", BossAPI.getAutoSpawnName(autoSpawn));
panelBuilder.addReplaceData(replaceMap);
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");
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -47,30 +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();
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();
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);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -89,22 +89,22 @@ public abstract class BossListEditorPanel extends VariablePanelHandler<BossEntit
@Override
public void openFor(Player player, BossEntity bossEntity) {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
int nextNumber = bossEntity.getEntityStats().size() + 1;
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true)
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
int nextNumber = bossEntity.getEntityStats().size() + 1;
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true)
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
fillPanel(panel, bossEntity);
panel.getPanelBuilderCounter().getSlotsWith("CreateEntity").forEach(slot -> panel.setOnClick(slot, event -> {
@ -119,9 +119,9 @@ public abstract class BossListEditorPanel extends VariablePanelHandler<BossEntit
openFor((Player) event.getWhoClicked(), bossEntity);
}));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -31,27 +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();
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);
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);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -70,33 +70,33 @@ public class DropsEditorPanel extends VariablePanelHandler<BossEntity> {
@Override
public void openFor(Player player, BossEntity bossEntity) {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
replaceMap.put("{dropTable}", bossEntity.getDrops().getDropTable());
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
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);
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
replaceMap.put("{dropTable}", bossEntity.getDrops().getDropTable());
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
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 -> 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) {

View File

@ -39,39 +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();
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);
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;
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";
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();
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -37,28 +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<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelLowerClick(true)
.setCancelClick(true)
.setParentPanelHandler(this.bossPanelManager.getEquipmentListEditMenu(), bossEntity);
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
}

View File

@ -48,22 +48,22 @@ public class MainBossEditPanel extends VariablePanelHandler<BossEntity> {
@Override
public void openFor(Player player, BossEntity bossEntity) {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
replaceMap.put("{mode}", bossEntity.getEditingValue());
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true);
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
replaceMap.put("{mode}", bossEntity.getEditingValue());
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
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)));
@ -73,9 +73,9 @@ public class MainBossEditPanel extends VariablePanelHandler<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) {

View File

@ -61,23 +61,21 @@ public class SkillListEditorPanel extends VariablePanelHandler<BossEntity> {
@Override
public void openFor(Player player, BossEntity bossEntity) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, bossEntity));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -41,30 +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();
if(chance == null) chance = 0.0;
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();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
Double chance = bossEntity.getSkills().getOverallChance();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
if(chance == null) chance = 0.0;
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();
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

View File

@ -45,39 +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();
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);
counter.addSlotCounter("DisplayName")
.addSlotCounter("EntityType")
.addSlotCounter("Health");
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true)
.setParentPanelHandler(this.bossPanelManager.getStatisticListEditMenu(), bossEntity);
fillPanel(panel, bossEntity, entityStatsElement);
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";
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");
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true)
.setParentPanelHandler(this.bossPanelManager.getStatisticListEditMenu(), bossEntity);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -36,23 +36,23 @@ public class TargetingEditorPanel extends VariablePanelHandler<BossEntity> {
@Override
public void openFor(Player player, BossEntity bossEntity) {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
replaceMap.put("{selected}", bossEntity.getTargetingValue());
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelLowerClick(true)
.setCancelClick(true)
.setParentPanelHandler(this.bossPanelManager.getMainBossEditMenu(), bossEntity);
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
replaceMap.put("{selected}", bossEntity.getTargetingValue());
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
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();
@ -60,9 +60,9 @@ public class TargetingEditorPanel extends VariablePanelHandler<BossEntity> {
openFor(player, bossEntity);
}));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -31,26 +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();
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();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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();
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

View File

@ -32,27 +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<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelLowerClick(true)
.setCancelClick(true)
.setParentPanelHandler(this.bossPanelManager.getWeaponListEditMenu(), bossEntity);
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -60,23 +60,21 @@ public class OnDeathCommandEditor extends VariablePanelHandler<BossEntity> {
@Override
public void openFor(Player player, BossEntity bossEntity) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, bossEntity));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -60,23 +60,21 @@ public class OnSpawnCommandEditor extends VariablePanelHandler<BossEntity> {
@Override
public void openFor(Player player, BossEntity bossEntity) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, bossEntity));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -42,41 +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();
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);
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true)
.setParentPanelHandler(this.bossPanelManager.getMainTextEditMenu(), bossEntity);
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
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";
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();
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

View File

@ -62,8 +62,11 @@ public class SpawnTextEditorPanel extends VariablePanelHandler<BossEntity> {
.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)));
ServerUtils.get().runTaskAsync(() -> {
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);
});

View File

@ -70,9 +70,11 @@ public class TauntTextEditorPanel extends VariablePanelHandler<BossEntity> {
.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)));
ServerUtils.get().runTaskAsync(() -> {
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);
});

View File

@ -38,23 +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<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
ServerUtils.get().runTaskAsync(() -> {
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -37,23 +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<>();
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());
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);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -56,13 +56,11 @@ public abstract class DropTableNewRewardEditorPanel<SubVariable> extends SubVari
@Override
public void openFor(Player player, DropTable dropTable, SubVariable subVariable) {
ServerUtils.get().runTaskAsync(() -> {
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
fillPanel(panel, dropTable, subVariable);
panel.openFor(player);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, dropTable, subVariable));
panel.openFor(player);
}
@Override

View File

@ -38,24 +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);
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);
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);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -57,22 +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<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(getParentPanelHandler(), dropTable, subVariable);
ServerUtils.get().runTaskAsync(() -> {
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
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);
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -8,6 +8,7 @@ import com.songoda.epicbosses.droptable.elements.DropTableElement;
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;
@ -59,9 +60,11 @@ public class DropDropTableMainEditorPanel extends SubVariablePanelHandler<DropTa
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
panelBuilderCounter.getSlotsWith("Rewards").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getDropDropRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, dropTableElement)));
panelBuilderCounter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomDropsAction(dropTable, dropTableElement)));
panelBuilderCounter.getSlotsWith("MaxDrops").forEach(slot -> panel.setOnClick(slot, getMaxDropsAction(dropTable, dropTableElement)));
ServerUtils.get().runTaskAsync(() -> {
panelBuilderCounter.getSlotsWith("Rewards").forEach(slot -> panel.setOnClick(slot, event -> this.bossPanelManager.getDropDropRewardListPanel().openFor((Player) event.getWhoClicked(), dropTable, dropTableElement)));
panelBuilderCounter.getSlotsWith("RandomDrops").forEach(slot -> panel.setOnClick(slot, getRandomDropsAction(dropTable, dropTableElement)));
panelBuilderCounter.getSlotsWith("MaxDrops").forEach(slot -> panel.setOnClick(slot, getMaxDropsAction(dropTable, dropTableElement)));
});
panel.openFor(player);
}

View File

@ -41,33 +41,33 @@ 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);
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());
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);
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)));
@ -75,9 +75,9 @@ public class GiveRewardMainEditPanel extends SubVariablePanelHandler<DropTable,
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

View File

@ -62,21 +62,22 @@ 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<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
ServerUtils.get().runTaskAsync(() -> {
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
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);
});
panel.openFor(player);
}
@Override

View File

@ -47,21 +47,22 @@ 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<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getGiveRewardPositionListMenu(), dropTable, giveTableElement);
ServerUtils.get().runTaskAsync(() -> {
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
panelBuilder.addReplaceData(replaceMap);
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);
});
panel.openFor(player);
}
@Override

View File

@ -68,13 +68,11 @@ public class GiveCommandNewRewardPanel extends SubVariablePanelHandler<DropTable
@Override
public void openFor(Player player, DropTable dropTable, GiveRewardEditHandler giveRewardEditHandler) {
ServerUtils.get().runTaskAsync(() -> {
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(this.bossPanelManager.getGiveCommandRewardListPanel(), dropTable, giveRewardEditHandler);
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(this.bossPanelManager.getGiveCommandRewardListPanel(), dropTable, giveRewardEditHandler);
fillPanel(panel, dropTable, giveRewardEditHandler);
panel.openFor(player);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, dropTable, giveRewardEditHandler));
panel.openFor(player);
}
@Override

View File

@ -58,22 +58,22 @@ public class GiveCommandRewardListPanel extends SubVariablePanelHandler<DropTabl
@Override
public void openFor(Player player, DropTable dropTable, GiveRewardEditHandler giveRewardEditHandler) {
ServerUtils.get().runTaskAsync(() -> {
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
Map<String, String> replaceMap = new HashMap<>();
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);
ServerUtils.get().runTaskAsync(() ->{
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

View File

@ -54,8 +54,10 @@ public class GiveCommandRewardMainEditPanel extends SubSubVariablePanelHandler<D
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)));
ServerUtils.get().runTaskAsync(() -> {
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);
});

View File

@ -43,34 +43,35 @@ 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();
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);
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
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;
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.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

View File

@ -72,22 +72,22 @@ public abstract class ItemStackSubListPanelHandler extends SubVariablePanelHandl
@Override
public void openFor(Player player, BossEntity bossEntity, EntityStatsElement entityStatsElement) {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelLowerClick(true)
.setCancelClick(true)
.setParentPanelHandler(getParentHolder(), bossEntity, entityStatsElement);
PanelBuilderCounter panelBuilderCounter = panel.getPanelBuilderCounter();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
panelBuilder.addReplaceData(replaceMap);
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, "");
@ -97,9 +97,9 @@ public abstract class ItemStackSubListPanelHandler extends SubVariablePanelHandl
}));
fillPanel(panel, bossEntity, entityStatsElement);
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -69,23 +69,21 @@ public abstract class ListCommandListEditor<T> extends VariablePanelHandler<T> {
@Override
public void openFor(Player player, T object) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, object));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -69,23 +69,21 @@ public abstract class ListMessageListEditor<T> extends VariablePanelHandler<T> {
@Override
public void openFor(Player player, T object) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, object));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -25,16 +25,13 @@ public abstract class MainListPanelHandler extends PanelHandler {
@Override
public void openFor(Player player) {
ServerUtils.get().runTaskAsync(() -> {
Panel panel = getPanelBuilder().getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true)
.setParentPanel(this.bossPanelManager.getMainMenu().getPanel());
Panel panel = getPanelBuilder().getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true)
.setParentPanel(this.bossPanelManager.getMainMenu().getPanel());
fillPanel(panel);
panel.openFor(player);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel));
panel.openFor(player);
}
}

View File

@ -68,23 +68,20 @@ public abstract class SingleMessageListEditor<T> extends VariablePanelHandler<T>
@Override
public void openFor(Player player, T object) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
panel.openFor(player);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, object));
panel.openFor(player);
}
@Override

View File

@ -42,44 +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();
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);
Panel panel = panelBuilder.getPanel()
.setDestroyWhenDone(true)
.setCancelClick(true)
.setCancelLowerClick(true);
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
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";
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();
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

View File

@ -39,27 +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();
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();
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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();
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

View File

@ -66,8 +66,10 @@ public class CommandSkillEditorPanel extends VariablePanelHandler<Skill> {
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getMainSkillEditMenu(), skill);
counter.getSlotsWith("AddNew").forEach(slot -> panel.setOnClick(slot, getAddNewAction(skill)));
fillPanel(panel, skill);
ServerUtils.get().runTaskAsync(() -> {
counter.getSlotsWith("AddNew").forEach(slot -> panel.setOnClick(slot, getAddNewAction(skill)));
fillPanel(panel, skill);
});
panel.openFor(player);
});

View File

@ -43,28 +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);
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);
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);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -61,20 +61,18 @@ public class GroupSkillEditorPanel extends VariablePanelHandler<Skill> {
@Override
public void openFor(Player player, Skill skill) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, skill));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -71,26 +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();
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);
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
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

View File

@ -67,20 +67,18 @@ public class CommandListSkillEditorPanel extends SubVariablePanelHandler<Skill,
@Override
public void openFor(Player player, Skill skill, SubCommandSkillElement subCommandSkillElement) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, skill, subCommandSkillElement));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -50,28 +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();
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);
PanelBuilderCounter counter = panelBuilder.getPanelBuilderCounter();
Panel panel = panelBuilder.getPanel()
.setParentPanelHandler(this.bossPanelManager.getCommandSkillEditorPanel(), skill);
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;
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);
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

View File

@ -44,21 +44,19 @@ public class CustomSkillTypeEditorPanel extends SubVariablePanelHandler<Skill, C
@Override
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
ServerUtils.get().runTaskAsync(() -> {
Map<String, String> replaceMap = new HashMap<>();
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, skill, customSkillElement));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -57,13 +57,11 @@ public abstract class MaterialTypeEditorPanel extends SubVariablePanelHandler<Sk
@Override
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
ServerUtils.get().runTaskAsync(() -> {
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(getParentHolder(), skill, customSkillElement);
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(getParentHolder(), skill, customSkillElement);
fillPanel(panel, skill, customSkillElement);
panel.openFor(player);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, skill, customSkillElement));
panel.openFor(player);
}
@Override

View File

@ -66,13 +66,11 @@ public class MinionSelectEditorPanel extends SubVariablePanelHandler<Skill, Cust
@Override
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
ServerUtils.get().runTaskAsync(() -> {
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(this.bossPanelManager.getSpecialSettingsEditorMenu(), skill, customSkillElement);
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(this.bossPanelManager.getSpecialSettingsEditorMenu(), skill, customSkillElement);
fillPanel(panel, skill, customSkillElement);
panel.openFor(player);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, skill, customSkillElement));
panel.openFor(player);
}
@Override

View File

@ -42,21 +42,19 @@ public class SpecialSettingsEditorPanel extends SubVariablePanelHandler<Skill, C
@Override
public void openFor(Player player, Skill skill, CustomSkillElement customSkillElement) {
ServerUtils.get().runTaskAsync(() -> {
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
Map<String, String> replaceMap = new HashMap<>();
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);
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, skill, customSkillElement));
panel.openFor(player);
});
panel.openFor(player);
}
@Override

View File

@ -54,34 +54,34 @@ 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();
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);
Panel panel = panelBuilder.getPanel()
.setCancelClick(true)
.setCancelLowerClick(true)
.setDestroyWhenDone(true)
.setParentPanelHandler(this.bossPanelManager.getPotionSkillEditorPanel(), skill);
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
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";
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);
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)));
panel.openFor(player);
});
panel.openFor(player);
}
private ClickAction getDurationAction(Skill skill, PotionEffectHolder potionEffectHolder) {

View File

@ -59,14 +59,11 @@ public class PotionEffectTypeEditorPanel extends SubVariablePanelHandler<Skill,
@Override
public void openFor(Player player, Skill skill, PotionEffectHolder potionEffectHolder) {
ServerUtils.get().runTaskAsync(() -> {
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(this.bossPanelManager.getCreatePotionEffectMenu(), skill, potionEffectHolder);
Panel panel = getPanelBuilder().getPanel()
.setParentPanelHandler(this.bossPanelManager.getCreatePotionEffectMenu(), skill, potionEffectHolder);
fillPanel(panel, skill, potionEffectHolder);
panel.openFor(player);
});
ServerUtils.get().runTaskAsync(() -> fillPanel(panel, skill, potionEffectHolder));
panel.openFor(player);
}
@Override

View File

@ -19,7 +19,7 @@
</modules>
<properties>
<plugin.version>1.0.0-U194</plugin.version>
<plugin.version>1.0.0-U195</plugin.version>
<plugin.name>EpicBosses</plugin.name>
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
<plugin.author>AMinecraftDev</plugin.author>