more work on migrating API

This commit is contained in:
nossr50
2020-12-14 15:20:01 -08:00
parent 64e1d1a9d7
commit d8f8d541fc
26 changed files with 145 additions and 790 deletions

View File

@@ -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;

View File

@@ -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);
}
}
}

View File

@@ -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;