mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-03 04:55:28 +02:00
more work on migrating API
This commit is contained in:
@@ -2,11 +2,11 @@ package com.gmail.nossr50.util;
|
||||
|
||||
import com.gmail.nossr50.config.AdvancedConfig;
|
||||
import com.gmail.nossr50.config.Config;
|
||||
import com.gmail.nossr50.datatypes.MobHealthBarType;
|
||||
import com.gmail.nossr50.datatypes.meta.OldName;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.runnables.MobHealthDisplayUpdaterTask;
|
||||
import com.gmail.nossr50.util.text.StringUtils;
|
||||
import com.neetgames.mcmmo.MobHealthBarType;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -14,12 +14,14 @@ import com.gmail.nossr50.util.Misc;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.neetgames.mcmmo.player.MMOPlayer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.*;
|
||||
@@ -326,7 +328,7 @@ public class ScoreboardManager {
|
||||
changeScoreboard(wrapper, Config.getInstance().getStatsScoreboardTime());
|
||||
}
|
||||
|
||||
public static void enablePlayerInspectScoreboard(Player player, PlayerProfile targetProfile) {
|
||||
public static void enablePlayerInspectScoreboard(@NotNull Player player, @NotNull PlayerProfile targetProfile) {
|
||||
ScoreboardWrapper wrapper = getWrapper(player);
|
||||
|
||||
if(wrapper == null) {
|
||||
@@ -427,7 +429,7 @@ public class ScoreboardManager {
|
||||
}
|
||||
}
|
||||
|
||||
public static @Nullable ScoreboardWrapper getWrapper(Player player) {
|
||||
public static @Nullable ScoreboardWrapper getWrapper(@NotNull Player player) {
|
||||
if(PLAYER_SCOREBOARDS.get(player.getName()) == null) {
|
||||
makeNewScoreboard(player);
|
||||
}
|
||||
@@ -448,7 +450,7 @@ public class ScoreboardManager {
|
||||
}
|
||||
|
||||
for (String playerName : dirtyPowerLevels) {
|
||||
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(playerName);
|
||||
MMOPlayer mmoPlayer = mcMMO.getUserManager().queryPlayer(playerName);
|
||||
|
||||
if (mmoPlayer == null) {
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user