mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 02:19:05 +00:00
Added PlaceholderAPI support for BungeeCord messaging.
This commit is contained in:
parent
974260dfa4
commit
0f5981087c
@ -112,6 +112,8 @@ import com.comphenix.protocol.ProtocolLibrary;
|
|||||||
import com.comphenix.protocol.events.PacketContainer;
|
import com.comphenix.protocol.events.PacketContainer;
|
||||||
import com.comphenix.protocol.utility.MinecraftReflection;
|
import com.comphenix.protocol.utility.MinecraftReflection;
|
||||||
|
|
||||||
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
|
|
||||||
public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||||
// Listeners --------------------------------
|
// Listeners --------------------------------
|
||||||
private ChatListener chatListener;
|
private ChatListener chatListener;
|
||||||
@ -981,10 +983,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
String msg = msgin.readUTF();
|
String msg = msgin.readUTF();
|
||||||
String echo = msgin.readUTF();
|
String echo = msgin.readUTF();
|
||||||
String spy = msgin.readUTF();
|
String spy = msgin.readUTF();
|
||||||
// System.out.println((p == null) + " null");
|
|
||||||
if(p != null) {
|
|
||||||
// System.out.println(p.isOnline() + " online");
|
|
||||||
}
|
|
||||||
if(!this.getConfig().getBoolean("bungeecordmessaging", true) || p == null || !p.isOnline()) {
|
if(!this.getConfig().getBoolean("bungeecordmessaging", true) || p == null || !p.isOnline()) {
|
||||||
out.writeUTF("Message");
|
out.writeUTF("Message");
|
||||||
out.writeUTF("Offline");
|
out.writeUTF("Offline");
|
||||||
@ -1028,7 +1026,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
s = new MineverseChatPlayer(uuid, name, current, ignores, listening, mutes, blockedCommands, false, null, true, true, name, jsonFormat, false, false, false, true, true);
|
s = new MineverseChatPlayer(uuid, name, current, ignores, listening, mutes, blockedCommands, false, null, true, true, name, jsonFormat, false, false, false, true, true);
|
||||||
MineverseChat.players.add(s);
|
MineverseChat.players.add(s);
|
||||||
}
|
}
|
||||||
p.getPlayer().sendMessage(msg.replace("{playerfrom}", sName).replace("{playerto}", Format.FormatStringAll(p.getNickname())));
|
p.getPlayer().sendMessage(PlaceholderAPI.setBracketPlaceholders(p.getPlayer(), msg.replaceAll("receiver_", "")));
|
||||||
if(p.hasNotifications()) {
|
if(p.hasNotifications()) {
|
||||||
if(VersionHandler.is1_8() || VersionHandler.is1_7_10() || VersionHandler.is1_7_2() || VersionHandler.is1_7_9()) {
|
if(VersionHandler.is1_8() || VersionHandler.is1_7_10() || VersionHandler.is1_7_2() || VersionHandler.is1_7_9()) {
|
||||||
p.getPlayer().playSound(p.getPlayer().getLocation(), Sound.valueOf("LEVEL_UP"), 1, 0);
|
p.getPlayer().playSound(p.getPlayer().getLocation(), Sound.valueOf("LEVEL_UP"), 1, 0);
|
||||||
@ -1041,11 +1039,11 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
out.writeUTF("Message");
|
out.writeUTF("Message");
|
||||||
out.writeUTF("Echo");
|
out.writeUTF("Echo");
|
||||||
out.writeUTF(server);
|
out.writeUTF(server);
|
||||||
out.writeUTF(p.getNickname());
|
out.writeUTF(receiver);
|
||||||
out.writeUTF(sender.toString());
|
out.writeUTF(sender.toString());
|
||||||
out.writeUTF(sName);
|
out.writeUTF(sName);
|
||||||
out.writeUTF(echo);
|
out.writeUTF(PlaceholderAPI.setBracketPlaceholders(p.getPlayer(), echo.replaceAll("receiver_", "")));
|
||||||
out.writeUTF(spy);
|
out.writeUTF(PlaceholderAPI.setBracketPlaceholders(p.getPlayer(), spy.replaceAll("receiver_", "")));
|
||||||
player.sendPluginMessage(this, MineverseChat.PLUGIN_MESSAGING_CHANNEL, stream.toByteArray());
|
player.sendPluginMessage(this, MineverseChat.PLUGIN_MESSAGING_CHANNEL, stream.toByteArray());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1072,35 +1070,23 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
.replace("{player}", receiver));
|
.replace("{player}", receiver));
|
||||||
}
|
}
|
||||||
if(identifier.equals("Echo")) {
|
if(identifier.equals("Echo")) {
|
||||||
String receiver = msgin.readUTF();
|
String receiverName = msgin.readUTF();
|
||||||
UUID sender = UUID.fromString(msgin.readUTF());
|
UUID senderUUID = UUID.fromString(msgin.readUTF());
|
||||||
MineverseChatPlayer p = MineverseChatAPI.getOnlineMineverseChatPlayer(sender);
|
MineverseChatPlayer senderMCP = MineverseChatAPI.getOnlineMineverseChatPlayer(senderUUID);
|
||||||
MineverseChatPlayer r = MineverseChatAPI.getMineverseChatPlayer(receiver);
|
MineverseChatPlayer receiverMCP = MineverseChatAPI.getMineverseChatPlayer(receiverName);
|
||||||
String echo = msgin.readUTF();
|
String echo = msgin.readUTF();
|
||||||
String rName = Format.FormatStringAll(receiver);
|
if(receiverMCP != null) {
|
||||||
if(r != null) {
|
senderMCP.setReplyPlayer(receiverMCP.getUUID());
|
||||||
rName = Format.FormatStringAll(r.getNickname());
|
|
||||||
p.setReplyPlayer(r.getUUID());
|
|
||||||
}
|
}
|
||||||
p.getPlayer().sendMessage(echo.replace("{playerfrom}", Format.FormatStringAll(p.getNickname())).replace("{playerto}", rName));
|
senderMCP.getPlayer().sendMessage(echo);
|
||||||
}
|
}
|
||||||
if(identifier.equals("Spy")) {
|
if(identifier.equals("Spy")) {
|
||||||
String receiver = msgin.readUTF();
|
String receiverName = msgin.readUTF();
|
||||||
MineverseChatPlayer r = MineverseChatAPI.getMineverseChatPlayer(receiver);
|
String senderName = msgin.readUTF();
|
||||||
UUID sender = UUID.fromString(msgin.readUTF());
|
|
||||||
MineverseChatPlayer p = MineverseChatAPI.getOnlineMineverseChatPlayer(sender);
|
|
||||||
String sName = msgin.readUTF();
|
|
||||||
String spy = msgin.readUTF();
|
String spy = msgin.readUTF();
|
||||||
String rName = receiver;
|
|
||||||
if(r != null) {
|
|
||||||
rName = Format.FormatStringAll(r.getNickname());
|
|
||||||
}
|
|
||||||
if(p != null) {
|
|
||||||
sName = Format.FormatStringAll(p.getNickname());
|
|
||||||
}
|
|
||||||
for(MineverseChatPlayer pl : onlinePlayers) {
|
for(MineverseChatPlayer pl : onlinePlayers) {
|
||||||
if(pl.isSpy() && !pl.getName().equals(sName) && !pl.getName().equals(rName)) {
|
if(pl.isSpy() && !pl.getName().equals(senderName) && !pl.getName().equals(receiverName)) {
|
||||||
pl.getPlayer().sendMessage(spy.replace("{playerto}", rName).replace("{playerfrom}", sName));
|
pl.getPlayer().sendMessage(spy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -405,7 +405,6 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
|||||||
out.writeUTF("Message");
|
out.writeUTF("Message");
|
||||||
out.writeUTF("Spy");
|
out.writeUTF("Spy");
|
||||||
out.writeUTF(player);
|
out.writeUTF(player);
|
||||||
out.writeUTF(sender);
|
|
||||||
out.writeUTF(sName);
|
out.writeUTF(sName);
|
||||||
out.writeUTF(spy);
|
out.writeUTF(spy);
|
||||||
for(String send : getProxy().getServers().keySet()) {
|
for(String send : getProxy().getServers().keySet()) {
|
||||||
|
@ -8,6 +8,7 @@ import org.bukkit.Sound;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
import mineverse.Aust1n46.chat.MineverseChat;
|
import mineverse.Aust1n46.chat.MineverseChat;
|
||||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||||
@ -29,6 +30,7 @@ public class Message extends MineverseCommand {
|
|||||||
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender);
|
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender);
|
||||||
if(args.length == 0) {
|
if(args.length == 0) {
|
||||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||||
@ -36,55 +38,12 @@ public class Message extends MineverseCommand {
|
|||||||
.replace("{args}", "[player] [message]"));
|
.replace("{args}", "[player] [message]"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
if(plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||||
if(args.length < 2) {
|
sendBungeeCordMessage(mcp, command, args);
|
||||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
|
||||||
.replace("{command}", "/" + command)
|
|
||||||
.replace("{args}", "[player] [message]"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
|
||||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
|
||||||
String msg = "";
|
|
||||||
String send = "";
|
|
||||||
String echo = "";
|
|
||||||
String spy = "";
|
|
||||||
for(int r = 1; r < args.length; r++) {
|
|
||||||
msg += " " + args[r];
|
|
||||||
}
|
|
||||||
if(mcp.hasFilter()) {
|
|
||||||
msg = Format.FilterChat(msg);
|
|
||||||
}
|
|
||||||
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
|
||||||
msg = Format.FormatStringLegacyColor(msg);
|
|
||||||
}
|
|
||||||
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
|
||||||
msg = Format.FormatStringColor(msg);
|
|
||||||
}
|
|
||||||
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
|
||||||
msg = Format.FormatString(msg);
|
|
||||||
}
|
|
||||||
send = Format.FormatStringAll(plugin.getConfig().getString("tellformatfrom")) + msg;
|
|
||||||
echo = Format.FormatStringAll(plugin.getConfig().getString("tellformatto")) + msg;
|
|
||||||
spy = Format.FormatStringAll(plugin.getConfig().getString("tellformatspy")) + msg;
|
|
||||||
try {
|
|
||||||
out.writeUTF("Message");
|
|
||||||
out.writeUTF("Send");
|
|
||||||
// out.writeUTF(mcp.getPlayer().getServer().getServerName());
|
|
||||||
out.writeUTF(args[0]);
|
|
||||||
out.writeUTF(mcp.getUUID().toString());
|
|
||||||
out.writeUTF(mcp.getName());
|
|
||||||
out.writeUTF(send);
|
|
||||||
out.writeUTF(echo);
|
|
||||||
out.writeUTF(spy);
|
|
||||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
|
||||||
out.close();
|
|
||||||
}
|
|
||||||
catch(Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||||
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {
|
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {
|
||||||
if(ChatColor.stripColor(p.getNickname()).equals(args[0])) {
|
if(ChatColor.stripColor(p.getNickname()).equals(args[0])) {
|
||||||
@ -207,4 +166,56 @@ public class Message extends MineverseCommand {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
|
||||||
|
if(args.length < 2) {
|
||||||
|
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||||
|
.replace("{command}", "/" + command)
|
||||||
|
.replace("{args}", "[player] [message]"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||||
|
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||||
|
String msg = "";
|
||||||
|
String send = "";
|
||||||
|
String echo = "";
|
||||||
|
String spy = "";
|
||||||
|
for(int r = 1; r < args.length; r++) {
|
||||||
|
msg += " " + args[r];
|
||||||
|
}
|
||||||
|
if(mcp.hasFilter()) {
|
||||||
|
msg = Format.FilterChat(msg);
|
||||||
|
}
|
||||||
|
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||||
|
msg = Format.FormatStringLegacyColor(msg);
|
||||||
|
}
|
||||||
|
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||||
|
msg = Format.FormatStringColor(msg);
|
||||||
|
}
|
||||||
|
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||||
|
msg = Format.FormatString(msg);
|
||||||
|
}
|
||||||
|
send = Format.FormatStringAll(plugin.getConfig().getString("tellformatfrom")) + msg;
|
||||||
|
echo = Format.FormatStringAll(plugin.getConfig().getString("tellformatto")) + msg;
|
||||||
|
spy = Format.FormatStringAll(plugin.getConfig().getString("tellformatspy")) + msg;
|
||||||
|
|
||||||
|
send = PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), send.replaceAll("sender_", ""));
|
||||||
|
echo = PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), echo.replaceAll("sender_", ""));
|
||||||
|
spy = PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), spy.replaceAll("sender_", ""));
|
||||||
|
try {
|
||||||
|
out.writeUTF("Message");
|
||||||
|
out.writeUTF("Send");
|
||||||
|
out.writeUTF(args[0]);
|
||||||
|
out.writeUTF(mcp.getUUID().toString());
|
||||||
|
out.writeUTF(mcp.getName());
|
||||||
|
out.writeUTF(send);
|
||||||
|
out.writeUTF(echo);
|
||||||
|
out.writeUTF(spy);
|
||||||
|
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||||
|
out.close();
|
||||||
|
}
|
||||||
|
catch(Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ import org.bukkit.Sound;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
import mineverse.Aust1n46.chat.MineverseChat;
|
import mineverse.Aust1n46.chat.MineverseChat;
|
||||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||||
@ -33,37 +34,12 @@ public class Reply extends MineverseCommand {
|
|||||||
if(args.length > 0) {
|
if(args.length > 0) {
|
||||||
if(mcp.hasReplyPlayer()) {
|
if(mcp.hasReplyPlayer()) {
|
||||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(mcp.getReplyPlayer());
|
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(mcp.getReplyPlayer());
|
||||||
|
|
||||||
if(plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
if(plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
sendBungeeCordReply(mcp, player, args);
|
||||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
|
||||||
String msg = "";
|
|
||||||
String send = "";
|
|
||||||
String echo = "";
|
|
||||||
String spy = "";
|
|
||||||
for(int r = 0; r < args.length; r++) {
|
|
||||||
msg += " " + args[r];
|
|
||||||
}
|
|
||||||
send = Format.FormatStringAll(plugin.getConfig().getString("replyformatfrom")) + msg;
|
|
||||||
echo = Format.FormatStringAll(plugin.getConfig().getString("replyformatto")) + msg;
|
|
||||||
spy = Format.FormatStringAll(plugin.getConfig().getString("replyformatspy")) + msg;
|
|
||||||
try {
|
|
||||||
out.writeUTF("Message");
|
|
||||||
out.writeUTF("Send");
|
|
||||||
// out.writeUTF(mcp.getPlayer().getServer().getServerName());
|
|
||||||
out.writeUTF(player.getName());
|
|
||||||
out.writeUTF(mcp.getUUID().toString());
|
|
||||||
out.writeUTF(mcp.getName());
|
|
||||||
out.writeUTF(send);
|
|
||||||
out.writeUTF(echo);
|
|
||||||
out.writeUTF(spy);
|
|
||||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
|
||||||
out.close();
|
|
||||||
}
|
|
||||||
catch(Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(player == null || !player.isOnline()) {
|
if(player == null || !player.isOnline()) {
|
||||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||||
return;
|
return;
|
||||||
@ -148,4 +124,38 @@ public class Reply extends MineverseCommand {
|
|||||||
.replace("{command}", "/reply")
|
.replace("{command}", "/reply")
|
||||||
.replace("{args}", "[message]"));
|
.replace("{args}", "[message]"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendBungeeCordReply(MineverseChatPlayer mcp, MineverseChatPlayer player, String[] args) {
|
||||||
|
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||||
|
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||||
|
String msg = "";
|
||||||
|
String send = "";
|
||||||
|
String echo = "";
|
||||||
|
String spy = "";
|
||||||
|
for(int r = 0; r < args.length; r++) {
|
||||||
|
msg += " " + args[r];
|
||||||
|
}
|
||||||
|
send = Format.FormatStringAll(plugin.getConfig().getString("replyformatfrom")) + msg;
|
||||||
|
echo = Format.FormatStringAll(plugin.getConfig().getString("replyformatto")) + msg;
|
||||||
|
spy = Format.FormatStringAll(plugin.getConfig().getString("replyformatspy")) + msg;
|
||||||
|
|
||||||
|
send = PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), send.replaceAll("sender_", ""));
|
||||||
|
echo = PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), echo.replaceAll("sender_", ""));
|
||||||
|
spy = PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), spy.replaceAll("sender_", ""));
|
||||||
|
try {
|
||||||
|
out.writeUTF("Message");
|
||||||
|
out.writeUTF("Send");
|
||||||
|
out.writeUTF(player.getName());
|
||||||
|
out.writeUTF(mcp.getUUID().toString());
|
||||||
|
out.writeUTF(mcp.getName());
|
||||||
|
out.writeUTF(send);
|
||||||
|
out.writeUTF(echo);
|
||||||
|
out.writeUTF(spy);
|
||||||
|
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||||
|
out.close();
|
||||||
|
}
|
||||||
|
catch(Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user