1.0.0-SNAPSHOT-U100
+ Started implementing the skill editing aspects in the menu
This commit is contained in:
parent
a51f31e82f
commit
28f9e23625
|
@ -4,7 +4,7 @@ stages:
|
|||
variables:
|
||||
name: "EpicBosses"
|
||||
path: "/builds/$CI_PROJECT_PATH"
|
||||
version: "1"
|
||||
version: "1.0.0"
|
||||
|
||||
build:
|
||||
stage: build
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
package com.songoda.epicbosses.handlers;
|
||||
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.entity.elements.EntityStatsElement;
|
||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||
import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.utils.IHandler;
|
||||
import com.songoda.epicbosses.utils.ServerUtils;
|
||||
import com.songoda.epicbosses.utils.panel.base.ISubVariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
* @version 1.0.0
|
||||
* @since 02-Dec-18
|
||||
*/
|
||||
public class SkillDisplayNameHandler implements IHandler {
|
||||
|
||||
@Getter private final IVariablePanelHandler<Skill> panelHandler;
|
||||
@Getter private final SkillsFileManager skillsFileManager;
|
||||
@Getter private final Player player;
|
||||
@Getter private final Skill skill;
|
||||
|
||||
@Getter @Setter private boolean handled = false;
|
||||
private Listener listener;
|
||||
|
||||
public SkillDisplayNameHandler(Player player, Skill skill, SkillsFileManager skillsFileManager, IVariablePanelHandler<Skill> panelHandler) {
|
||||
this.skill = skill;
|
||||
this.player = player;
|
||||
this.skillsFileManager = skillsFileManager;
|
||||
this.panelHandler = panelHandler;
|
||||
|
||||
this.listener = getListener();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle() {
|
||||
ServerUtils.get().registerListener(this.listener);
|
||||
}
|
||||
|
||||
private Listener getListener() {
|
||||
return new Listener() {
|
||||
@EventHandler
|
||||
public void onChat(AsyncPlayerChatEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
UUID uuid = player.getUniqueId();
|
||||
|
||||
if(!uuid.equals(getPlayer().getUniqueId())) return;
|
||||
if(isHandled()) return;
|
||||
|
||||
String input = event.getMessage();
|
||||
|
||||
if(input.equalsIgnoreCase("-")) {
|
||||
input = null;
|
||||
}
|
||||
|
||||
getSkill().setDisplayName(input);
|
||||
getSkillsFileManager().save();
|
||||
event.setCancelled(true);
|
||||
setHandled(true);
|
||||
|
||||
finish();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void finish() {
|
||||
AsyncPlayerChatEvent.getHandlerList().unregister(this.listener);
|
||||
getPanelHandler().openFor(getPlayer(), getSkill());
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package com.songoda.epicbosses.managers;
|
||||
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.entity.BossEntity;
|
||||
import com.songoda.epicbosses.entity.elements.EntityStatsElement;
|
||||
import com.songoda.epicbosses.entity.elements.EquipmentElement;
|
||||
|
@ -18,6 +19,7 @@ import com.songoda.epicbosses.panel.bosses.text.*;
|
|||
import com.songoda.epicbosses.panel.bosses.weapons.MainHandEditorPanel;
|
||||
import com.songoda.epicbosses.panel.bosses.weapons.OffHandEditorPanel;
|
||||
import com.songoda.epicbosses.panel.handlers.*;
|
||||
import com.songoda.epicbosses.panel.skills.MainSkillEditorPanel;
|
||||
import com.songoda.epicbosses.skills.Skill;
|
||||
import com.songoda.epicbosses.utils.panel.base.ISubVariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
||||
|
@ -57,7 +59,7 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
onTauntTextEditMenu;
|
||||
@Getter private BossListEditorPanel equipmentListEditMenu, weaponListEditMenu, statisticListEditMenu;
|
||||
|
||||
@Getter private IVariablePanelHandler<Skill> mainSkillEditMenu;
|
||||
@Getter private IVariablePanelHandler<Skill> mainSkillEditMenu, customMessageEditMenu;
|
||||
|
||||
private final CustomBosses customBosses;
|
||||
|
||||
|
@ -88,6 +90,8 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
loadEquipmentEditMenu();
|
||||
loadWeaponEditMenu();
|
||||
loadEquipmentEditMenus();
|
||||
|
||||
loadSkillEditMenus();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -113,6 +117,8 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
reloadEquipmentEditMenu();
|
||||
reloadWeaponEditMenu();
|
||||
reloadEquipmentEditMenus();
|
||||
|
||||
reloadSkillEditMenus();
|
||||
}
|
||||
|
||||
public int isItemStackUsed(String name) {
|
||||
|
@ -140,6 +146,51 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
return timesUsed;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------
|
||||
//
|
||||
// S K I L L E D I T P A N E L S
|
||||
//
|
||||
//---------------------------------------------
|
||||
|
||||
private void loadSkillEditMenus() {
|
||||
FileConfiguration editor = this.customBosses.getEditor();
|
||||
PanelBuilder panelBuilder = new PanelBuilder(editor.getConfigurationSection("SkillEditorPanel"));
|
||||
|
||||
this.mainSkillEditMenu = new MainSkillEditorPanel(this, panelBuilder, this.customBosses);
|
||||
this.customMessageEditMenu = new SingleMessageListEditor<Skill>(this, getListMenu("Skill.Main"), this.customBosses) {
|
||||
|
||||
@Override
|
||||
public String getCurrent(Skill object) {
|
||||
return object.getCustomMessage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMessage(Skill object, String newPath) {
|
||||
object.setCustomMessage(newPath);
|
||||
BossPanelManager.this.customBosses.getSkillsFileManager().save();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IVariablePanelHandler<Skill> getParentHolder() {
|
||||
return getMainSkillEditMenu();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(Skill object) {
|
||||
return BossAPI.getSkillName(object);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void reloadSkillEditMenus() {
|
||||
FileConfiguration editor = this.customBosses.getEditor();
|
||||
PanelBuilder panelBuilder = new PanelBuilder(editor.getConfigurationSection("SkillEditorPanel"));
|
||||
|
||||
this.mainSkillEditMenu.initializePanel(panelBuilder);
|
||||
this.customMessageEditMenu.initializePanel(getListMenu("Skill.Main"));
|
||||
}
|
||||
|
||||
//---------------------------------------------
|
||||
//
|
||||
// T E X T E D I T P A N E L S
|
||||
|
@ -157,7 +208,7 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
this.onSpawnSubTextEditMenu = new SpawnTextEditorPanel(this, panelBuilder1, this.customBosses);
|
||||
this.onDeathSubTextEditMenu = new DeathTextEditorPanel(this, panelBuilder2, this.customBosses);
|
||||
this.mainTauntEditMenu = new TauntTextEditorPanel(this, panelBuilder3, this.customBosses);
|
||||
this.onSpawnTextEditMenu = new SingleMessageListEditor(this, getListMenu("Boss.Text"), this.customBosses) {
|
||||
this.onSpawnTextEditMenu = new SingleMessageListEditor<BossEntity>(this, getListMenu("Boss.Text"), this.customBosses) {
|
||||
@Override
|
||||
public String getCurrent(BossEntity bossEntity) {
|
||||
return bossEntity.getMessages().getOnSpawn().getMessage();
|
||||
|
@ -172,8 +223,13 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
public IVariablePanelHandler<BossEntity> getParentHolder() {
|
||||
return getOnSpawnSubTextEditMenu();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(BossEntity object) {
|
||||
return BossAPI.getBossEntityName(object);
|
||||
}
|
||||
};
|
||||
this.onDeathTextEditMenu = new SingleMessageListEditor(this, getListMenu("Boss.Text"), this.customBosses) {
|
||||
this.onDeathTextEditMenu = new SingleMessageListEditor<BossEntity>(this, getListMenu("Boss.Text"), this.customBosses) {
|
||||
@Override
|
||||
public String getCurrent(BossEntity bossEntity) {
|
||||
return bossEntity.getMessages().getOnDeath().getMessage();
|
||||
|
@ -188,8 +244,13 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
public IVariablePanelHandler<BossEntity> getParentHolder() {
|
||||
return getOnDeathSubTextEditMenu();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(BossEntity object) {
|
||||
return BossAPI.getBossEntityName(object);
|
||||
}
|
||||
};
|
||||
this.onDeathPositionTextEditMenu = new SingleMessageListEditor(this, getListMenu("Boss.Text"), this.customBosses) {
|
||||
this.onDeathPositionTextEditMenu = new SingleMessageListEditor<BossEntity>(this, getListMenu("Boss.Text"), this.customBosses) {
|
||||
@Override
|
||||
public String getCurrent(BossEntity bossEntity) {
|
||||
return bossEntity.getMessages().getOnDeath().getPositionMessage();
|
||||
|
@ -204,6 +265,11 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||
public IVariablePanelHandler<BossEntity> getParentHolder() {
|
||||
return getOnDeathSubTextEditMenu();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(BossEntity object) {
|
||||
return BossAPI.getBossEntityName(object);
|
||||
}
|
||||
};
|
||||
this.onTauntTextEditMenu = new ListMessageListEditor(this, getListMenu("Boss.Text"), this.customBosses) {
|
||||
@Override
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.songoda.epicbosses.panel.handlers;
|
|||
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
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.StringUtils;
|
||||
|
@ -28,7 +27,7 @@ import java.util.Map;
|
|||
* @version 1.0.0
|
||||
* @since 29-Nov-18
|
||||
*/
|
||||
public abstract class SingleMessageListEditor extends VariablePanelHandler<BossEntity> {
|
||||
public abstract class SingleMessageListEditor<T> extends VariablePanelHandler<T> {
|
||||
|
||||
private MessagesFileManager messagesFileManager;
|
||||
private ItemStackConverter itemStackConverter;
|
||||
|
@ -42,14 +41,16 @@ public abstract class SingleMessageListEditor extends VariablePanelHandler<BossE
|
|||
this.messagesFileManager = plugin.getBossMessagesFileManager();
|
||||
}
|
||||
|
||||
public abstract String getCurrent(BossEntity bossEntity);
|
||||
public abstract String getCurrent(T object);
|
||||
|
||||
public abstract void updateMessage(BossEntity bossEntity, String newPath);
|
||||
public abstract void updateMessage(T object, String newPath);
|
||||
|
||||
public abstract IVariablePanelHandler<BossEntity> getParentHolder();
|
||||
public abstract IVariablePanelHandler<T> getParentHolder();
|
||||
|
||||
public abstract String getName(T object);
|
||||
|
||||
@Override
|
||||
public void fillPanel(Panel panel, BossEntity bossEntity) {
|
||||
public void fillPanel(Panel panel, T object) {
|
||||
Map<String, List<String>> currentTexts = this.messagesFileManager.getMessagesMap();
|
||||
List<String> entryList = new ArrayList<>(currentTexts.keySet());
|
||||
int maxPage = panel.getMaxPage(entryList);
|
||||
|
@ -57,28 +58,28 @@ public abstract class SingleMessageListEditor extends VariablePanelHandler<BossE
|
|||
panel.setOnPageChange(((player, currentPage, requestedPage) -> {
|
||||
if(requestedPage < 0 || requestedPage > maxPage) return false;
|
||||
|
||||
loadPage(panel, requestedPage, currentTexts, entryList, bossEntity);
|
||||
loadPage(panel, requestedPage, currentTexts, entryList, object);
|
||||
return true;
|
||||
}));
|
||||
|
||||
loadPage(panel, 0, currentTexts, entryList, bossEntity);
|
||||
loadPage(panel, 0, currentTexts, entryList, object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, BossEntity bossEntity) {
|
||||
public void openFor(Player player, T object) {
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getBossEntityName(bossEntity));
|
||||
replaceMap.put("{name}", getName(object));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setDestroyWhenDone(true)
|
||||
.setCancelClick(true)
|
||||
.setCancelLowerClick(true)
|
||||
.setParentPanelHandler(getParentHolder(), bossEntity);
|
||||
.setParentPanelHandler(getParentHolder(), object);
|
||||
|
||||
fillPanel(panel, bossEntity);
|
||||
fillPanel(panel, object);
|
||||
|
||||
panel.openFor(player);
|
||||
}
|
||||
|
@ -88,8 +89,8 @@ public abstract class SingleMessageListEditor extends VariablePanelHandler<BossE
|
|||
|
||||
}
|
||||
|
||||
private void loadPage(Panel panel, int page, Map<String, List<String>> currentMessages, List<String> entryList, BossEntity bossEntity) {
|
||||
String current = getCurrent(bossEntity);
|
||||
private void loadPage(Panel panel, int page, Map<String, List<String>> currentMessages, List<String> entryList, T object) {
|
||||
String current = getCurrent(object);
|
||||
|
||||
panel.loadPage(page, (slot, realisticSlot) -> {
|
||||
if(slot >= entryList.size()) {
|
||||
|
@ -128,9 +129,8 @@ public abstract class SingleMessageListEditor extends VariablePanelHandler<BossE
|
|||
itemStack.setItemMeta(itemMeta);
|
||||
|
||||
panel.setItem(realisticSlot, itemStack, e -> {
|
||||
updateMessage(bossEntity, name);
|
||||
this.plugin.getBossesFileManager().save();
|
||||
loadPage(panel, page, currentMessages, entryList, bossEntity);
|
||||
updateMessage(object, name);
|
||||
loadPage(panel, page, currentMessages, entryList, object);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,17 +1,23 @@
|
|||
package com.songoda.epicbosses.panel.skills;
|
||||
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.handlers.SkillDisplayNameHandler;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
||||
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.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilderCounter;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
|
@ -20,8 +26,12 @@ import java.util.Map;
|
|||
*/
|
||||
public class MainSkillEditorPanel extends VariablePanelHandler<Skill> {
|
||||
|
||||
public MainSkillEditorPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder) {
|
||||
private SkillsFileManager skillsFileManager;
|
||||
|
||||
public MainSkillEditorPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder, CustomBosses plugin) {
|
||||
super(bossPanelManager, panelBuilder);
|
||||
|
||||
this.skillsFileManager = plugin.getSkillsFileManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -59,11 +69,11 @@ public class MainSkillEditorPanel extends VariablePanelHandler<Skill> {
|
|||
.setCancelLowerClick(true);
|
||||
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||
|
||||
counter.getSlotsWith("Radius").forEach(slot -> {});
|
||||
counter.getSlotsWith("Radius").forEach(slot -> panel.setOnClick(slot, getRadiusAction(skill)));
|
||||
counter.getSlotsWith("CustomData").forEach(slot -> {});
|
||||
counter.getSlotsWith("Mode").forEach(slot -> {});
|
||||
counter.getSlotsWith("DisplayName").forEach(slot -> {});
|
||||
counter.getSlotsWith("CustomMessage").forEach(slot -> {});
|
||||
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.openFor(player);
|
||||
|
@ -81,4 +91,86 @@ public class MainSkillEditorPanel extends VariablePanelHandler<Skill> {
|
|||
.addSlotCounter("DisplayName")
|
||||
.addSlotCounter("Type");
|
||||
}
|
||||
|
||||
private ClickAction getTypeAction(Skill skill) {
|
||||
return event -> {
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
private ClickAction getDisplayNameAction(Skill skill) {
|
||||
return event -> {
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
SkillDisplayNameHandler skillDisplayNameHandler = new SkillDisplayNameHandler(player, skill, this.skillsFileManager, this);
|
||||
|
||||
Message.Boss_Skills_SetDisplayName.msg(player);
|
||||
skillDisplayNameHandler.handle();
|
||||
player.closeInventory();
|
||||
};
|
||||
}
|
||||
|
||||
private ClickAction getCustomMessageAction(Skill skill) {
|
||||
return event -> {
|
||||
ClickType clickType = event.getClick();
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
|
||||
if(clickType.name().contains("RIGHT")) {
|
||||
skill.setCustomMessage("");
|
||||
saveSkill(skill, player);
|
||||
} else {
|
||||
this.bossPanelManager.getCustomMessageEditMenu().openFor(player, skill);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private ClickAction getModeAction(Skill skill) {
|
||||
return event -> {
|
||||
String current = skill.getMode();
|
||||
SkillMode skillMode = SkillMode.getCurrent(current);
|
||||
SkillMode nextMode = skillMode.getNext();
|
||||
|
||||
skill.setMode(nextMode.name());
|
||||
saveSkill(skill, (Player) event.getWhoClicked());
|
||||
Message.Boss_Skills_SetMode.msg(event.getWhoClicked(), nextMode.name());
|
||||
};
|
||||
}
|
||||
|
||||
private ClickAction getRadiusAction(Skill skill) {
|
||||
return event -> {
|
||||
ClickType clickType = event.getClick();
|
||||
int radiusToModifyBy = 0;
|
||||
|
||||
if(clickType == ClickType.LEFT) {
|
||||
radiusToModifyBy = 1;
|
||||
} else if(clickType == ClickType.SHIFT_LEFT) {
|
||||
radiusToModifyBy = 10;
|
||||
} else if(clickType == ClickType.RIGHT) {
|
||||
radiusToModifyBy = -1;
|
||||
} else if(clickType == ClickType.SHIFT_RIGHT) {
|
||||
radiusToModifyBy = -10;
|
||||
}
|
||||
|
||||
String modifyValue = radiusToModifyBy > 0? "increased" : "decreased";
|
||||
Double currentRadius = skill.getRadius();
|
||||
|
||||
if(currentRadius == null) currentRadius = 0.0;
|
||||
|
||||
double newRadius = currentRadius + radiusToModifyBy;
|
||||
|
||||
if(newRadius < 0) {
|
||||
newRadius = 0;
|
||||
}
|
||||
|
||||
skill.setRadius(newRadius);
|
||||
saveSkill(skill, (Player) event.getWhoClicked());
|
||||
Message.Boss_Skills_SetRadius.msg(event.getWhoClicked(), modifyValue, NumberUtils.get().formatDouble(newRadius));
|
||||
};
|
||||
}
|
||||
|
||||
private void saveSkill(Skill skill, Player player) {
|
||||
this.skillsFileManager.save();
|
||||
openFor(player, skill);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
package com.songoda.epicbosses.skills;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
* @version 1.0.0
|
||||
* @since 02-Dec-18
|
||||
*/
|
||||
public enum SkillMode {
|
||||
|
||||
BLANK(0),
|
||||
ALL(1),
|
||||
RANDOM(2),
|
||||
ONE(3),
|
||||
BOSS(4);
|
||||
|
||||
private int rank;
|
||||
|
||||
SkillMode(int rank) {
|
||||
this.rank = rank;
|
||||
}
|
||||
|
||||
public SkillMode getNext() {
|
||||
return get(this.rank+1);
|
||||
}
|
||||
|
||||
public static SkillMode getCurrent(String input) {
|
||||
if(input == null || input.isEmpty()) return BLANK;
|
||||
|
||||
for(SkillMode skillMode : values()) {
|
||||
if(skillMode.name().equalsIgnoreCase(input)) return skillMode;
|
||||
}
|
||||
|
||||
return BLANK;
|
||||
}
|
||||
|
||||
private static SkillMode get(int rank) {
|
||||
for(SkillMode skillMode : values()) {
|
||||
if(skillMode.rank == rank) {
|
||||
return skillMode;
|
||||
}
|
||||
}
|
||||
|
||||
return ALL;
|
||||
}
|
||||
|
||||
}
|
|
@ -136,6 +136,9 @@ public enum Message {
|
|||
|
||||
Boss_Skills_NoPermission("&c&l(!) &cYou do not have access to this command."),
|
||||
Boss_Skills_SetChance("&b&lEpicBosses &8» &7You have {0} the overall chance for the skill map to &f{1}%&7."),
|
||||
Boss_Skills_SetRadius("&b&lEpicBosses &8» &7You have {0} the radius for the skill to &f{1}&7."),
|
||||
Boss_Skills_SetMode("&b&lEpicBosses &8» &7You have set the skill mode to &f{0}&7."),
|
||||
Boss_Skills_SetDisplayName("&b&lEpicBosses &8» &7Your next input in to chat will be the display name for the skill. If you enter &f-&7 it will remove/clear the display name of the skill. For color codes use the &f& &7sign."),
|
||||
|
||||
Boss_Spawn_NoPermission("&c&l(!) &cYou do not have access to this command."),
|
||||
Boss_Spawn_InvalidArgs("&c&l(!) &cYou must use &n/boss spawn [name] (location)&c to spawn a boss."),
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -20,7 +20,7 @@
|
|||
|
||||
<properties>
|
||||
<!--<plugin.version>maven-version-number-SNAPSHOT-U90</plugin.version>-->
|
||||
<plugin.version>1.0.0-U99</plugin.version>
|
||||
<plugin.version>1.0.0-U100</plugin.version>
|
||||
<plugin.name>EpicBosses</plugin.name>
|
||||
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
|
||||
<plugin.author>AMinecraftDev</plugin.author>
|
||||
|
|
Loading…
Reference in New Issue