|
@@ -6,6 +6,8 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
|
|
import com.gmail.nossr50.mcMMO;
|
|
|
import com.gmail.nossr50.runnables.skills.ExperienceBarHideTask;
|
|
|
import com.gmail.nossr50.util.player.NotificationManager;
|
|
|
+import com.neetgames.mcmmo.skill.SkillBossBarSetting;
|
|
|
+import com.neetgames.mcmmo.skill.SkillBossBarState;
|
|
|
import org.bukkit.plugin.Plugin;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
import org.jetbrains.annotations.Nullable;
|
|
@@ -22,13 +24,13 @@ public class MMOExperienceBarManager {
|
|
|
|
|
|
int delaySeconds = 3;
|
|
|
|
|
|
- private @NotNull final Map<PrimarySkillType, BarState> barStateMapRef;
|
|
|
+ private @NotNull final Map<PrimarySkillType, SkillBossBarState> barStateMapRef;
|
|
|
|
|
|
private @NotNull final EnumMap<PrimarySkillType, ExperienceBarWrapper> experienceBars;
|
|
|
private @NotNull final EnumMap<PrimarySkillType, ExperienceBarHideTask> experienceBarHideTaskHashMap;
|
|
|
|
|
|
|
|
|
- public MMOExperienceBarManager(@NotNull McMMOPlayer mmoPlayer, @NotNull Map<PrimarySkillType, BarState> barStateMapRef)
|
|
|
+ public MMOExperienceBarManager(@NotNull McMMOPlayer mmoPlayer, @NotNull Map<PrimarySkillType, SkillBossBarState> barStateMapRef)
|
|
|
{
|
|
|
this.mmoPlayer = mmoPlayer;
|
|
|
this.barStateMapRef = barStateMapRef;
|
|
@@ -45,17 +47,17 @@ public class MMOExperienceBarManager {
|
|
|
}
|
|
|
|
|
|
private void syncBarStates() {
|
|
|
- for(Map.Entry<PrimarySkillType, BarState> entry : barStateMapRef.entrySet()) {
|
|
|
+ for(Map.Entry<PrimarySkillType, SkillBossBarState> entry : barStateMapRef.entrySet()) {
|
|
|
PrimarySkillType key = entry.getKey();
|
|
|
- BarState barState = entry.getValue();
|
|
|
+ SkillBossBarState barState = entry.getValue();
|
|
|
|
|
|
switch(barState) {
|
|
|
case NORMAL:
|
|
|
break;
|
|
|
case ALWAYS_ON:
|
|
|
- xpBarSettingToggle(XPBarSettingTarget.SHOW, key);
|
|
|
+ xpBarSettingToggle(SkillBossBarSetting.SHOW, key);
|
|
|
case DISABLED:
|
|
|
- xpBarSettingToggle(XPBarSettingTarget.HIDE, key);
|
|
|
+ xpBarSettingToggle(SkillBossBarSetting.HIDE, key);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -64,7 +66,7 @@ public class MMOExperienceBarManager {
|
|
|
barStateMapRef.putAll(generateDefaultBarStateMap());
|
|
|
}
|
|
|
|
|
|
- public void updateExperienceBar(PrimarySkillType primarySkillType, Plugin plugin)
|
|
|
+ public void updateExperienceBar(@NotNull PrimarySkillType primarySkillType, @NotNull Plugin plugin)
|
|
|
{
|
|
|
if(isBarDisabled(primarySkillType))
|
|
|
return;
|
|
@@ -130,10 +132,10 @@ public class MMOExperienceBarManager {
|
|
|
NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Commands.XPBar.DisableAll");
|
|
|
}
|
|
|
|
|
|
- public void xpBarSettingToggle(@NotNull XPBarSettingTarget settingTarget, @Nullable PrimarySkillType skillType) {
|
|
|
- switch(settingTarget) {
|
|
|
+ public void xpBarSettingToggle(@NotNull SkillBossBarSetting skillBossBarSetting, @Nullable PrimarySkillType skillType) {
|
|
|
+ switch(skillBossBarSetting) {
|
|
|
case SHOW:
|
|
|
- barStateMapRef.put(skillType, BarState.ALWAYS_ON);
|
|
|
+ barStateMapRef.put(skillType, SkillBossBarState.ALWAYS_ON);
|
|
|
|
|
|
//Remove lingering tasks
|
|
|
if(experienceBarHideTaskHashMap.containsKey(skillType)) {
|
|
@@ -143,7 +145,7 @@ public class MMOExperienceBarManager {
|
|
|
updateExperienceBar(skillType, mcMMO.p);
|
|
|
break;
|
|
|
case HIDE:
|
|
|
- barStateMapRef.put(skillType, BarState.DISABLED);
|
|
|
+ barStateMapRef.put(skillType, SkillBossBarState.DISABLED);
|
|
|
|
|
|
//Remove lingering tasks
|
|
|
if(experienceBarHideTaskHashMap.containsKey(skillType)) {
|
|
@@ -157,44 +159,40 @@ public class MMOExperienceBarManager {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- informPlayer(settingTarget, skillType);
|
|
|
+ informPlayer(skillBossBarSetting, skillType);
|
|
|
}
|
|
|
|
|
|
private void resetBarSettings() {
|
|
|
barStateMapRef.putAll(generateDefaultBarStateMap());
|
|
|
}
|
|
|
|
|
|
- private void informPlayer(@NotNull MMOExperienceBarManager.@NotNull XPBarSettingTarget settingTarget, @Nullable PrimarySkillType skillType) {
|
|
|
+ private void informPlayer(@NotNull SkillBossBarSetting settingTarget, @Nullable PrimarySkillType skillType) {
|
|
|
//Inform player of setting change
|
|
|
- if(settingTarget != XPBarSettingTarget.RESET) {
|
|
|
+ if(settingTarget != SkillBossBarSetting.RESET) {
|
|
|
NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Commands.XPBar.SettingChanged", skillType.getName(), settingTarget.toString());
|
|
|
} else {
|
|
|
NotificationManager.sendPlayerInformationChatOnlyPrefixed(mmoPlayer.getPlayer(), "Commands.XPBar.Reset");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public enum XPBarSettingTarget { SHOW, HIDE, RESET, DISABLE }
|
|
|
-
|
|
|
- public enum BarState { NORMAL, ALWAYS_ON, DISABLED }
|
|
|
-
|
|
|
/*
|
|
|
* Utility Methods
|
|
|
*/
|
|
|
|
|
|
- public static EnumMap<PrimarySkillType, BarState> generateDefaultBarStateMap() {
|
|
|
- EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> barStateMap = new EnumMap<>(PrimarySkillType.class);
|
|
|
+ public static @NotNull EnumMap<PrimarySkillType, SkillBossBarState> generateDefaultBarStateMap() {
|
|
|
+ EnumMap<PrimarySkillType, SkillBossBarState> barStateMap = new EnumMap<>(PrimarySkillType.class);
|
|
|
|
|
|
setBarStateDefaults(barStateMap);
|
|
|
|
|
|
return barStateMap;
|
|
|
}
|
|
|
|
|
|
- public static void setBarStateDefaults(EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> barStateHashMap) {
|
|
|
+ public static void setBarStateDefaults(EnumMap<PrimarySkillType, SkillBossBarState> barStateHashMap) {
|
|
|
for(PrimarySkillType skillType : PrimarySkillType.values()) {
|
|
|
if(skillType.isChildSkill()) {
|
|
|
- barStateHashMap.put(skillType, MMOExperienceBarManager.BarState.DISABLED);
|
|
|
+ barStateHashMap.put(skillType, SkillBossBarState.DISABLED);
|
|
|
} else {
|
|
|
- barStateHashMap.put(skillType, MMOExperienceBarManager.BarState.NORMAL);
|
|
|
+ barStateHashMap.put(skillType, SkillBossBarState.NORMAL);
|
|
|
}
|
|
|
}
|
|
|
}
|