XP events now use the Title API

Configurable in advanced.yml
This commit is contained in:
nossr50
2019-01-14 02:32:02 -08:00
parent 43aad43bf3
commit d9dd4ea016
6 changed files with 35 additions and 4 deletions

View File

@ -3,6 +3,8 @@ package com.gmail.nossr50.commands;
import java.util.ArrayList;
import java.util.List;
import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.util.player.NotificationManager;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
@ -65,8 +67,15 @@ public class XprateCommand implements TabExecutor {
ExperienceConfig.getInstance().setExperienceGainsGlobalMultiplier(newXpRate);
if (mcMMO.p.isXPEventEnabled()) {
mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Commands.xprate.started.0"));
mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Commands.xprate.started.1", newXpRate));
if(AdvancedConfig.getInstance().useTitlesForXPEvent())
{
NotificationManager.broadcastTitle(mcMMO.p.getServer(),
LocaleLoader.getString("Commands.Event.Start"),
LocaleLoader.getString("Commands.Event.XP", newXpRate),
10, 10*20, 20);
}
mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Commands.Event.Start"));
mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Commands.Event.XP", newXpRate));
}
else {
sender.sendMessage(LocaleLoader.getString("Commands.xprate.modified", newXpRate));

View File

@ -707,6 +707,11 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
return config.getBoolean("Feedback.ActionBarNotifications."+notificationType.toString()+".SendCopyOfMessageToChat", false);
}
public boolean useTitlesForXPEvent()
{
return config.getBoolean("Feedback.Events.XP.SendTitles", true);
}
/*
* JSON Style Settings
*/

View File

@ -5,12 +5,14 @@ import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.events.skills.McMMOPlayerNotificationEvent;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.TextComponentFactory;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.entity.Player;
public class NotificationManager {
@ -106,4 +108,12 @@ public class NotificationManager {
sendNotification(mcMMOPlayer.getPlayer(), customEvent);
}
public static void broadcastTitle(Server server, String title, String subtitle, int i1, int i2, int i3)
{
for(Player player : server.getOnlinePlayers())
{
player.sendTitle(title, subtitle, i1, i2, i3);
}
}
}