Skill Unlock notifications now have sounds

This commit is contained in:
nossr50 2019-01-20 01:21:33 -08:00
parent 6ad9c8e664
commit e962f645b6
4 changed files with 22 additions and 5 deletions

View File

@ -149,9 +149,9 @@ public class McMMOPlayer {
updateXPBar(primarySkillType, plugin); updateXPBar(primarySkillType, plugin);
} }
public void processUnlockNotifications(mcMMO plugin, PrimarySkillType primarySkillType) public void processUnlockNotifications(mcMMO plugin, PrimarySkillType primarySkillType, int skillLevel)
{ {
RankUtils.executeSkillUnlockNotifications(plugin, this, primarySkillType, profile.getSkillLevel(primarySkillType)); RankUtils.executeSkillUnlockNotifications(plugin, this, primarySkillType, skillLevel);
} }
public void updateXPBar(PrimarySkillType primarySkillType, Plugin plugin) public void updateXPBar(PrimarySkillType primarySkillType, Plugin plugin)

View File

@ -30,8 +30,13 @@ public class SelfListener implements Listener {
Player player = event.getPlayer(); Player player = event.getPlayer();
PrimarySkillType skill = event.getSkill(); PrimarySkillType skill = event.getSkill();
//Send player skill unlock notifications //Players can gain multiple levels especially during xprate events
UserManager.getPlayer(player).processUnlockNotifications(plugin, event.getSkill()); for(int i = 0; i < event.getLevelsGained(); i++)
{
int previousLevelGained = event.getSkillLevel() - i;
//Send player skill unlock notifications
UserManager.getPlayer(player).processUnlockNotifications(plugin, event.getSkill(), previousLevelGained);
}
if(Config.getInstance().getScoreboardsEnabled()) if(Config.getInstance().getScoreboardsEnabled())
ScoreboardManager.handleLevelUp(player, skill); ScoreboardManager.handleLevelUp(player, skill);

View File

@ -8,11 +8,14 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.events.skills.McMMOPlayerNotificationEvent; import com.gmail.nossr50.events.skills.McMMOPlayerNotificationEvent;
import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.TextComponentFactory; import com.gmail.nossr50.util.TextComponentFactory;
import com.gmail.nossr50.util.sounds.SoundManager;
import com.gmail.nossr50.util.sounds.SoundType;
import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.SoundCategory;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class NotificationManager { public class NotificationManager {
@ -122,6 +125,9 @@ public class NotificationManager {
//CHAT MESSAGE //CHAT MESSAGE
mcMMOPlayer.getPlayer().spigot().sendMessage(TextComponentFactory.getSubSkillUnlockedNotificationComponents(mcMMOPlayer.getPlayer(), subSkillType)); mcMMOPlayer.getPlayer().spigot().sendMessage(TextComponentFactory.getSubSkillUnlockedNotificationComponents(mcMMOPlayer.getPlayer(), subSkillType));
//Unlock Sound Effect
SoundManager.sendCategorizedSound(mcMMOPlayer.getPlayer(), mcMMOPlayer.getPlayer().getLocation(), SoundType.SKILL_UNLOCKED, SoundCategory.MASTER);
//ACTION BAR MESSAGE //ACTION BAR MESSAGE
/*if(AdvancedConfig.getInstance().doesNotificationUseActionBar(NotificationType.SUBSKILL_UNLOCKED)) /*if(AdvancedConfig.getInstance().doesNotificationUseActionBar(NotificationType.SUBSKILL_UNLOCKED))
mcMMOPlayer.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(LocaleLoader.getString("JSON.SkillUnlockMessage", mcMMOPlayer.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(LocaleLoader.getString("JSON.SkillUnlockMessage",

View File

@ -4,6 +4,7 @@ import com.gmail.nossr50.config.SoundConfig;
import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Misc;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -14,7 +15,12 @@ public class SoundManager {
*/ */
public static void sendSound(Player player, Location location, SoundType soundType) public static void sendSound(Player player, Location location, SoundType soundType)
{ {
player.playSound(location, getSound(soundType), getVolume(soundType), getPitch(soundType)); player.playSound(location, getSound(soundType), SoundCategory.MASTER, getVolume(soundType), getPitch(soundType));
}
public static void sendCategorizedSound(Player player, Location location, SoundType soundType, SoundCategory soundCategory)
{
player.playSound(location, getSound(soundType), soundCategory, getVolume(soundType), getPitch(soundType));
} }
public static void worldSendSound(World world, Location location, SoundType soundType) public static void worldSendSound(World world, Location location, SoundType soundType)