mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 13:16:45 +01:00
parent
b964e3f7c3
commit
96fdf265d5
@ -32,6 +32,7 @@ Version 1.5.01-dev
|
|||||||
= Fixed bug where falling blocks were incorrectly tracked
|
= Fixed bug where falling blocks were incorrectly tracked
|
||||||
= Fixed bug where items would get deleted when in Berserk with a full inventory
|
= Fixed bug where items would get deleted when in Berserk with a full inventory
|
||||||
= Fixed bug where the console would not correctly show party chat colors
|
= Fixed bug where the console would not correctly show party chat colors
|
||||||
|
= Fixed bug where party chat was using non thread safe methods
|
||||||
! Changed SecondaryAbilityEvent to implement Cancellable and it now gets fired for damage related secondary abilities
|
! Changed SecondaryAbilityEvent to implement Cancellable and it now gets fired for damage related secondary abilities
|
||||||
! Changed the way mcMMO handles bonus damage, updated for the new damage event API
|
! Changed the way mcMMO handles bonus damage, updated for the new damage event API
|
||||||
! Changed player data saving. Save tasks are now asynchronous
|
! Changed player data saving. Save tasks are now asynchronous
|
||||||
|
@ -1,16 +1,11 @@
|
|||||||
package com.gmail.nossr50.chat;
|
package com.gmail.nossr50.chat;
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import com.gmail.nossr50.config.Config;
|
import com.gmail.nossr50.config.Config;
|
||||||
import com.gmail.nossr50.datatypes.party.Party;
|
import com.gmail.nossr50.datatypes.party.Party;
|
||||||
import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
|
import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
|
||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.runnables.party.PartyChatTask;
|
||||||
|
|
||||||
public class PartyChatManager extends ChatManager {
|
public class PartyChatManager extends ChatManager {
|
||||||
private Party party;
|
private Party party;
|
||||||
@ -30,21 +25,6 @@ public class PartyChatManager extends ChatManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void sendMessage() {
|
protected void sendMessage() {
|
||||||
if (Config.getInstance().getPartyChatColorLeaderName() && senderName.equalsIgnoreCase(party.getLeader())) {
|
new PartyChatTask(plugin, party, senderName, displayName, message).runTask(plugin);
|
||||||
message = message.replaceFirst(Pattern.quote(displayName), ChatColor.GOLD + Matcher.quoteReplacement(displayName) + ChatColor.RESET);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Player member : party.getOnlineMembers()) {
|
|
||||||
member.sendMessage(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (party.getAlly() != null) {
|
|
||||||
for (Player member : party.getAlly().getOnlineMembers()) {
|
|
||||||
String allyPrefix = LocaleLoader.formatString(Config.getInstance().getPartyChatPrefixAlly());
|
|
||||||
member.sendMessage(allyPrefix + message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin.getServer().getConsoleSender().sendMessage("[mcMMO] [P]<" + party.getName() + ">" + message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,51 @@
|
|||||||
|
package com.gmail.nossr50.runnables.party;
|
||||||
|
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import com.gmail.nossr50.config.Config;
|
||||||
|
import com.gmail.nossr50.datatypes.party.Party;
|
||||||
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
|
||||||
|
public class PartyChatTask extends BukkitRunnable {
|
||||||
|
private Plugin plugin;
|
||||||
|
|
||||||
|
private Party party;
|
||||||
|
private String senderName;
|
||||||
|
private String displayName;
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
public PartyChatTask(Plugin plugin, Party party, String senderName, String displayName, String message) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
|
||||||
|
this.party = party;
|
||||||
|
this.senderName = senderName;
|
||||||
|
this.displayName = displayName;
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (Config.getInstance().getPartyChatColorLeaderName() && senderName.equalsIgnoreCase(party.getLeader())) {
|
||||||
|
message = message.replaceFirst(Pattern.quote(displayName), ChatColor.GOLD + Matcher.quoteReplacement(displayName) + ChatColor.RESET);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : party.getOnlineMembers()) {
|
||||||
|
member.sendMessage(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (party.getAlly() != null) {
|
||||||
|
for (Player member : party.getAlly().getOnlineMembers()) {
|
||||||
|
String allyPrefix = LocaleLoader.formatString(Config.getInstance().getPartyChatPrefixAlly());
|
||||||
|
member.sendMessage(allyPrefix + message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
plugin.getServer().getConsoleSender().sendMessage("[mcMMO] [P]<" + party.getName() + ">" + message);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user