mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 02:19:05 +00:00
Pushing 2.12.2 changes
This commit is contained in:
parent
d79bb350c3
commit
db901ffd6f
@ -8,11 +8,12 @@
|
|||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/Heroes.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/Heroes.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/MassiveCore.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/MassiveCore.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/PlaceholderAPI.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/PlaceholderAPI.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/ProtocolLib-3.5.0-SNAPSHOT.jar"/>
|
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/spigot-1.8.8.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/spigot-1.8.8.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/spigot-1.9.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/spigot-1.9.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/spigot-1.9-R0.1-SNAPSHOT.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/spigot-1.9-R0.1-SNAPSHOT.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/Towny.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/Towny.jar"/>
|
||||||
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/Vault.jar"/>
|
<classpathentry kind="lib" path="C:/Users/aust1/workspace/VentureChat Dependencies/Vault.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/aust1/Desktop/SSD Backup 12_28_17/Desktop/Mineverse Network/Servers/Hub/plugins/ProtocolLib.jar"/>
|
||||||
|
<classpathentry kind="lib" path="C:/Users/aust1/Desktop/SSD Backup 12_28_17/Desktop/Mineverse Network/Servers/Hub/spigot-1.12.2.jar"/>
|
||||||
<classpathentry kind="output" path=""/>
|
<classpathentry kind="output" path=""/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
name: VentureChat
|
name: VentureChat
|
||||||
main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee
|
main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee
|
||||||
version: 2.12.3
|
version: 2.12.2
|
||||||
author: Aust1n46
|
author: Aust1n46
|
File diff suppressed because it is too large
Load Diff
@ -158,15 +158,15 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
|||||||
String f = in.readUTF();
|
String f = in.readUTF();
|
||||||
String c = in.readUTF();
|
String c = in.readUTF();
|
||||||
String json = in.readUTF();
|
String json = in.readUTF();
|
||||||
|
out.writeUTF("Chat");
|
||||||
|
out.writeUTF(chatchannel);
|
||||||
|
out.writeUTF(message);
|
||||||
|
out.writeUTF(playerName);
|
||||||
|
out.writeUTF(lastMessage);
|
||||||
|
out.writeUTF(f);
|
||||||
|
out.writeUTF(c);
|
||||||
|
out.writeUTF(json);
|
||||||
for(String send : getProxy().getServers().keySet()) {
|
for(String send : getProxy().getServers().keySet()) {
|
||||||
out.writeUTF("Chat");
|
|
||||||
out.writeUTF(chatchannel);
|
|
||||||
out.writeUTF(message);
|
|
||||||
out.writeUTF(playerName);
|
|
||||||
out.writeUTF(lastMessage);
|
|
||||||
out.writeUTF(f);
|
|
||||||
out.writeUTF(c);
|
|
||||||
out.writeUTF(json);
|
|
||||||
if(getProxy().getServers().get(send).getPlayers().size() > 0) {
|
if(getProxy().getServers().get(send).getPlayers().size() > 0) {
|
||||||
getProxy().getServers().get(send).sendData("VentureChat", outstream.toByteArray());
|
getProxy().getServers().get(send).sendData("VentureChat", outstream.toByteArray());
|
||||||
}
|
}
|
||||||
@ -174,9 +174,9 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
|||||||
}
|
}
|
||||||
if(subchannel.equals("RemoveMessage")) {
|
if(subchannel.equals("RemoveMessage")) {
|
||||||
String hash = in.readUTF();
|
String hash = in.readUTF();
|
||||||
|
out.writeUTF("RemoveMessage");
|
||||||
|
out.writeUTF(hash);
|
||||||
for(String send : getProxy().getServers().keySet()) {
|
for(String send : getProxy().getServers().keySet()) {
|
||||||
out.writeUTF("RemoveMessage");
|
|
||||||
out.writeUTF(hash);
|
|
||||||
if(getProxy().getServers().get(send).getPlayers().size() > 0) {
|
if(getProxy().getServers().get(send).getPlayers().size() > 0) {
|
||||||
getProxy().getServers().get(send).sendData("VentureChat", outstream.toByteArray());
|
getProxy().getServers().get(send).sendData("VentureChat", outstream.toByteArray());
|
||||||
}
|
}
|
||||||
|
@ -1,190 +1,194 @@
|
|||||||
package mineverse.Aust1n46.chat.command.chat;
|
package mineverse.Aust1n46.chat.command.chat;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import mineverse.Aust1n46.chat.ChatMessage;
|
import mineverse.Aust1n46.chat.ChatMessage;
|
||||||
import mineverse.Aust1n46.chat.MineverseChat;
|
import mineverse.Aust1n46.chat.MineverseChat;
|
||||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||||
import mineverse.Aust1n46.chat.command.MineverseCommand;
|
import mineverse.Aust1n46.chat.command.MineverseCommand;
|
||||||
//import mineverse.Aust1n46.chat.json.JsonButton;
|
//import mineverse.Aust1n46.chat.json.JsonButton;
|
||||||
import mineverse.Aust1n46.chat.utilities.Format;
|
import mineverse.Aust1n46.chat.utilities.Format;
|
||||||
|
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import com.comphenix.protocol.PacketType;
|
|
||||||
import com.comphenix.protocol.events.PacketContainer;
|
import com.comphenix.protocol.PacketType;
|
||||||
import com.comphenix.protocol.wrappers.EnumWrappers.ChatType;
|
import com.comphenix.protocol.events.PacketContainer;
|
||||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
import com.comphenix.protocol.wrappers.EnumWrappers.ChatType;
|
||||||
|
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||||
public class Removemessage extends MineverseCommand {
|
|
||||||
private PacketContainer emptyLinePacketContainer = createPacketPlayOutChat(WrappedChatComponent.fromJson("{\"extra\":[\" \"],\"text\":\"\"}"));
|
public class Removemessage extends MineverseCommand {
|
||||||
private MineverseChat plugin;
|
private PacketContainer emptyLinePacketContainer = createPacketPlayOutChat(WrappedChatComponent.fromJson("{\"extra\":[\" \"],\"text\":\"\"}"));
|
||||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
private MineverseChat plugin;
|
||||||
|
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||||
public Removemessage(String name) {
|
|
||||||
super(name);
|
public Removemessage(String name) {
|
||||||
this.plugin = MineverseChat.getInstance();
|
super(name);
|
||||||
}
|
this.plugin = MineverseChat.getInstance();
|
||||||
|
}
|
||||||
@Override
|
|
||||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
@Override
|
||||||
public void execute(CommandSender sender, String command, String[] args) {
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
if(args.length == 0) {
|
public void execute(CommandSender sender, String command, String[] args) {
|
||||||
sender.sendMessage(ChatColor.RED + "Invalid command: /removemessage [hashcode]");
|
if(args.length == 0) {
|
||||||
return;
|
sender.sendMessage(ChatColor.RED + "Invalid command: /removemessage [hashcode]");
|
||||||
}
|
return;
|
||||||
final int hash;
|
}
|
||||||
try {
|
final int hash;
|
||||||
hash = Integer.parseInt(args[0]);
|
try {
|
||||||
}
|
hash = Integer.parseInt(args[0]);
|
||||||
catch(Exception e) {
|
}
|
||||||
sender.sendMessage(ChatColor.RED + "Invalid hashcode.");
|
catch(Exception e) {
|
||||||
return;
|
sender.sendMessage(ChatColor.RED + "Invalid hashcode.");
|
||||||
}
|
return;
|
||||||
if(args.length > 1 && Boolean.parseBoolean(args[1]) && sender instanceof Player) {
|
}
|
||||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
if(args.length > 1 && Boolean.parseBoolean(args[1]) && sender instanceof Player) {
|
||||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||||
try {
|
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||||
out.writeUTF("RemoveMessage");
|
try {
|
||||||
out.writeUTF(String.valueOf(hash));
|
out.writeUTF("RemoveMessage");
|
||||||
((Player) sender).sendPluginMessage(plugin, "VentureChat", byteOutStream.toByteArray());
|
out.writeUTF(String.valueOf(hash));
|
||||||
out.close();
|
((Player) sender).sendPluginMessage(plugin, "VentureChat", byteOutStream.toByteArray());
|
||||||
}
|
out.close();
|
||||||
catch(Exception e) {
|
}
|
||||||
e.printStackTrace();
|
catch(Exception e) {
|
||||||
}
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
new BukkitRunnable() {
|
return;
|
||||||
public void run() {
|
}
|
||||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
new BukkitRunnable() {
|
||||||
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {
|
public void run() {
|
||||||
List<ChatMessage> messages = p.getMessages();
|
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||||
List<PacketContainer> playerPackets = new ArrayList();
|
for(MineverseChatPlayer p : MineverseChat.onlinePlayers) {
|
||||||
boolean resend = false;
|
List<ChatMessage> messages = p.getMessages();
|
||||||
for(int fill = 0; fill < 100 - messages.size(); fill++) {
|
List<PacketContainer> playerPackets = new ArrayList();
|
||||||
playerPackets.add(Removemessage.this.emptyLinePacketContainer);
|
boolean resend = false;
|
||||||
}
|
for(int fill = 0; fill < 100 - messages.size(); fill++) {
|
||||||
for(ChatMessage message : messages) {
|
playerPackets.add(Removemessage.this.emptyLinePacketContainer);
|
||||||
if(message.getHash() == hash) {
|
}
|
||||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
for(ChatMessage message : messages) {
|
||||||
message.setComponent(removedComponent);
|
if(message.getHash() == hash) {
|
||||||
message.setHash(-1);
|
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
message.setComponent(removedComponent);
|
||||||
resend = true;
|
message.setHash(-1);
|
||||||
continue;
|
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
||||||
}
|
resend = true;
|
||||||
if(message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
|
continue;
|
||||||
String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
|
}
|
||||||
if(submessage.hashCode() == hash) {
|
if(message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
|
||||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
|
||||||
message.setComponent(removedComponent);
|
if(submessage.hashCode() == hash) {
|
||||||
message.setHash(-1);
|
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
message.setComponent(removedComponent);
|
||||||
resend = true;
|
message.setHash(-1);
|
||||||
continue;
|
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
||||||
}
|
resend = true;
|
||||||
}
|
continue;
|
||||||
/*if(message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
}
|
||||||
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1).replaceAll("(§([a-z0-9]))", "");
|
}
|
||||||
if(submessage.hashCode() == hash) {
|
/*if(message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
||||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1).replaceAll("(§([a-z0-9]))", "");
|
||||||
message.setComponent(removedComponent);
|
if(submessage.hashCode() == hash) {
|
||||||
message.setHash(-1);
|
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
message.setComponent(removedComponent);
|
||||||
resend = true;
|
message.setHash(-1);
|
||||||
continue;
|
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
||||||
}
|
resend = true;
|
||||||
int cut = 0;
|
continue;
|
||||||
for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) {
|
}
|
||||||
if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission())) {
|
int cut = 0;
|
||||||
cut += b.getIcon().length() - 1;
|
for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) {
|
||||||
}
|
if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission())) {
|
||||||
}
|
cut += b.getIcon().length() - 1;
|
||||||
submessage = submessage.substring(0, submessage.length() - cut).replaceAll("(§([a-z0-9]))", "");
|
}
|
||||||
//System.out.println(submessage + " submess");
|
}
|
||||||
if(submessage.hashCode() == hash) {
|
submessage = submessage.substring(0, submessage.length() - cut).replaceAll("(§([a-z0-9]))", "");
|
||||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
//System.out.println(submessage + " submess");
|
||||||
message.setComponent(removedComponent);
|
if(submessage.hashCode() == hash) {
|
||||||
message.setHash(-1);
|
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
message.setComponent(removedComponent);
|
||||||
resend = true;
|
message.setHash(-1);
|
||||||
continue;
|
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
||||||
}
|
resend = true;
|
||||||
}
|
continue;
|
||||||
int cut = 0;
|
}
|
||||||
for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) {
|
}
|
||||||
if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission()) && message.getMessage().contains(b.getIcon())) {
|
int cut = 0;
|
||||||
cut += b.getIcon().length() - 1;
|
for(JsonButton b : MineverseChat.jbInfo.getJsonButtons()) {
|
||||||
}
|
if(b.hasPermission() && p.getPlayer().hasPermission(b.getPermission()) && message.getMessage().contains(b.getIcon())) {
|
||||||
}
|
cut += b.getIcon().length() - 1;
|
||||||
String submessage = message.getMessage().replaceAll("(§([a-z0-9]))", "");
|
}
|
||||||
//System.out.println(submessage + " " + submessage.length());
|
}
|
||||||
submessage = submessage.substring(0, submessage.length() - cut);
|
String submessage = message.getMessage().replaceAll("(§([a-z0-9]))", "");
|
||||||
//System.out.println(submessage);
|
//System.out.println(submessage + " " + submessage.length());
|
||||||
if(submessage.hashCode() == hash) {
|
submessage = submessage.substring(0, submessage.length() - cut);
|
||||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
//System.out.println(submessage);
|
||||||
message.setComponent(removedComponent);
|
if(submessage.hashCode() == hash) {
|
||||||
message.setHash(-1);
|
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
message.setComponent(removedComponent);
|
||||||
resend = true;
|
message.setHash(-1);
|
||||||
continue;
|
playerPackets.add(Removemessage.this.createPacketPlayOutChat(removedComponent));
|
||||||
}*/
|
resend = true;
|
||||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
|
continue;
|
||||||
}
|
}*/
|
||||||
if(resend) {
|
playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
|
||||||
packets.put(p.getPlayer(), playerPackets);
|
}
|
||||||
}
|
if(resend) {
|
||||||
}
|
packets.put(p.getPlayer(), playerPackets);
|
||||||
new BukkitRunnable() {
|
}
|
||||||
public void run() {
|
}
|
||||||
for(Player p : packets.keySet()) {
|
new BukkitRunnable() {
|
||||||
List<PacketContainer> pPackets = packets.get(p);
|
public void run() {
|
||||||
for(PacketContainer c : pPackets) {
|
for(Player p : packets.keySet()) {
|
||||||
Removemessage.this.sendPacketPlayOutChat(p, c);
|
List<PacketContainer> pPackets = packets.get(p);
|
||||||
}
|
for(PacketContainer c : pPackets) {
|
||||||
}
|
Removemessage.this.sendPacketPlayOutChat(p, c);
|
||||||
}
|
}
|
||||||
}.runTask(plugin);
|
}
|
||||||
}
|
}
|
||||||
}.runTaskAsynchronously(plugin);
|
}.runTask(plugin);
|
||||||
}
|
}
|
||||||
|
}.runTaskAsynchronously(plugin);
|
||||||
private PacketContainer createPacketPlayOutChat(WrappedChatComponent component) {
|
}
|
||||||
PacketContainer container = new PacketContainer(PacketType.Play.Server.CHAT);
|
|
||||||
container.getChatComponents().write(0, component);
|
private PacketContainer createPacketPlayOutChat(WrappedChatComponent component) {
|
||||||
container.getChatTypes().write(0, ChatType.CHAT);
|
PacketContainer container = new PacketContainer(PacketType.Play.Server.CHAT);
|
||||||
return container;
|
container.getChatComponents().write(0, component);
|
||||||
}
|
if(!VersionHandler.is1_7_10() && !VersionHandler.is1_8() && !VersionHandler.is1_9() && !VersionHandler.is1_10() && !VersionHandler.is1_11()) {
|
||||||
|
container.getChatTypes().write(0, ChatType.CHAT);
|
||||||
private void sendPacketPlayOutChat(Player player, PacketContainer packet) {
|
}
|
||||||
try {
|
return container;
|
||||||
plugin.protocolManager.sendServerPacket(player, packet);
|
}
|
||||||
}
|
|
||||||
catch(Exception e) {
|
private void sendPacketPlayOutChat(Player player, PacketContainer packet) {
|
||||||
e.printStackTrace();
|
try {
|
||||||
}
|
plugin.protocolManager.sendServerPacket(player, packet);
|
||||||
}
|
}
|
||||||
|
catch(Exception e) {
|
||||||
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
e.printStackTrace();
|
||||||
if(this.messageDeletedComponentPlayer == null) {
|
}
|
||||||
this.messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"<message removed>\",\"color\":\"red\",\"italic\":\"true\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"" + Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions")) + "\"}]}}}]}");
|
}
|
||||||
}
|
|
||||||
return this.messageDeletedComponentPlayer;
|
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
||||||
}
|
if(this.messageDeletedComponentPlayer == null) {
|
||||||
|
this.messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"<message removed>\",\"color\":\"red\",\"italic\":\"true\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"" + Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions")) + "\"}]}}}]}");
|
||||||
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
|
}
|
||||||
String oMessage = message.getOriginalComponent().getJson().substring(1, message.getOriginalComponent().getJson().length() - 11);
|
return this.messageDeletedComponentPlayer;
|
||||||
if(message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
|
}
|
||||||
oMessage = oMessage.substring(0, oMessage.length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length() - 3) + "\"}]";
|
|
||||||
}
|
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
|
||||||
return WrappedChatComponent.fromJson(Format.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \"," + oMessage + "}}}]}"));
|
String oMessage = message.getOriginalComponent().getJson().substring(1, message.getOriginalComponent().getJson().length() - 11);
|
||||||
}
|
if(message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
|
||||||
|
oMessage = oMessage.substring(0, oMessage.length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length() - 3) + "\"}]";
|
||||||
|
}
|
||||||
|
return WrappedChatComponent.fromJson(Format.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \"," + oMessage + "}}}]}"));
|
||||||
|
}
|
||||||
}
|
}
|
@ -66,7 +66,7 @@ public class VentureChatGui extends MineverseCommand {
|
|||||||
Set<String> blockedCommands = new HashSet<String>();
|
Set<String> blockedCommands = new HashSet<String>();
|
||||||
List<String> mail = new ArrayList<String>();
|
List<String> mail = new ArrayList<String>();
|
||||||
String jsonFormat = "Default";
|
String jsonFormat = "Default";
|
||||||
target = new MineverseChatPlayer(uuid, name, current, ignores, listening, mutes, blockedCommands, mail, false, null, true, true, name, jsonFormat, false, false, false, true, true, true);
|
target = new MineverseChatPlayer(uuid, name, current, ignores, listening, mutes, blockedCommands, mail, false, null, true, true, name, jsonFormat, false, false, false, true, true);
|
||||||
MineverseChat.players.add(target);
|
MineverseChat.players.add(target);
|
||||||
}
|
}
|
||||||
if(MineverseChat.ccInfo.isChannel(args[1])) {
|
if(MineverseChat.ccInfo.isChannel(args[1])) {
|
||||||
|
@ -1,152 +1,152 @@
|
|||||||
package mineverse.Aust1n46.chat.listeners;
|
package mineverse.Aust1n46.chat.listeners;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
import org.json.simple.JSONValue;
|
import org.json.simple.JSONValue;
|
||||||
|
|
||||||
import mineverse.Aust1n46.chat.ChatMessage;
|
import mineverse.Aust1n46.chat.ChatMessage;
|
||||||
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;
|
||||||
import mineverse.Aust1n46.chat.utilities.Format;
|
import mineverse.Aust1n46.chat.utilities.Format;
|
||||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||||
import net.md_5.bungee.api.chat.BaseComponent;
|
import net.md_5.bungee.api.chat.BaseComponent;
|
||||||
import net.md_5.bungee.api.chat.TextComponent;
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import net.md_5.bungee.chat.ComponentSerializer;
|
import net.md_5.bungee.chat.ComponentSerializer;
|
||||||
|
|
||||||
import com.comphenix.protocol.PacketType;
|
import com.comphenix.protocol.PacketType;
|
||||||
import com.comphenix.protocol.events.ListenerPriority;
|
import com.comphenix.protocol.events.ListenerPriority;
|
||||||
import com.comphenix.protocol.events.PacketAdapter;
|
import com.comphenix.protocol.events.PacketAdapter;
|
||||||
import com.comphenix.protocol.events.PacketEvent;
|
import com.comphenix.protocol.events.PacketEvent;
|
||||||
import com.comphenix.protocol.reflect.StructureModifier;
|
import com.comphenix.protocol.reflect.StructureModifier;
|
||||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||||
|
|
||||||
import me.clip.placeholderapi.PlaceholderAPI;
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
|
|
||||||
//This class listens for chat packets and intercepts them before they are sent to the Player.
|
//This class listens for chat packets and intercepts them before they are sent to the Player.
|
||||||
//The packets are modified to include advanced json formating and the message remover button if the
|
//The packets are modified to include advanced json formating and the message remover button if the
|
||||||
//player has permission to remove messages.
|
//player has permission to remove messages.
|
||||||
public class PacketListener extends PacketAdapter {
|
public class PacketListener extends PacketAdapter {
|
||||||
public PacketListener(MineverseChat plugin) {
|
public PacketListener(MineverseChat plugin) {
|
||||||
super(plugin, ListenerPriority.MONITOR, new PacketType[] { PacketType.Play.Server.CHAT });
|
super(plugin, ListenerPriority.MONITOR, new PacketType[] { PacketType.Play.Server.CHAT });
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPacketSending(PacketEvent event) {
|
public void onPacketSending(PacketEvent event) {
|
||||||
if(event.isCancelled() || event.getPacketType() != PacketType.Play.Server.CHAT) {
|
if(event.isCancelled() || event.getPacketType() != PacketType.Play.Server.CHAT) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
StructureModifier<WrappedChatComponent> chatP = event.getPacket().getChatComponents();
|
StructureModifier<WrappedChatComponent> chatP = event.getPacket().getChatComponents();
|
||||||
WrappedChatComponent c = chatP.read(0);
|
WrappedChatComponent c = chatP.read(0);
|
||||||
if (c == null) {
|
if (c == null) {
|
||||||
StructureModifier<BaseComponent[]> modifier = event.getPacket().getSpecificModifier(BaseComponent[].class);
|
StructureModifier<BaseComponent[]> modifier = event.getPacket().getSpecificModifier(BaseComponent[].class);
|
||||||
BaseComponent[] components = modifier.readSafely(0);
|
BaseComponent[] components = modifier.readSafely(0);
|
||||||
if (components == null) {
|
if (components == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String msg = ComponentSerializer.toString(components);
|
String msg = ComponentSerializer.toString(components);
|
||||||
if (msg == null) {
|
if (msg == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!PlaceholderAPI.getBracketPlaceholderPattern().matcher(msg).find()) {
|
if (!PlaceholderAPI.getBracketPlaceholderPattern().matcher(msg).find()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
msg = PlaceholderAPI.setBracketPlaceholders(event.getPlayer(), msg);
|
msg = PlaceholderAPI.setBracketPlaceholders(event.getPlayer(), msg);
|
||||||
modifier.write(0, ComponentSerializer.parse(msg));
|
modifier.write(0, ComponentSerializer.parse(msg));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String msg = c.getJson();
|
String msg = c.getJson();
|
||||||
if (msg == null) {
|
if (msg == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!PlaceholderAPI.getBracketPlaceholderPattern().matcher(msg).find()) {
|
if (!PlaceholderAPI.getBracketPlaceholderPattern().matcher(msg).find()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
msg = PlaceholderAPI.setBracketPlaceholders(event.getPlayer(), msg);
|
msg = PlaceholderAPI.setBracketPlaceholders(event.getPlayer(), msg);
|
||||||
chatP.write(0, WrappedChatComponent.fromJson(msg));
|
chatP.write(0, WrappedChatComponent.fromJson(msg));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(VersionHandler.is1_7_10() || VersionHandler.is1_7_9() || VersionHandler.is1_7_2()) {
|
if(VersionHandler.is1_7_10() || VersionHandler.is1_7_9() || VersionHandler.is1_7_2()) {
|
||||||
if((MineverseChat.posField != null) && !(((boolean) MineverseChat.posField.get(event.getPacket().getHandle())))) {
|
if((MineverseChat.posField != null) && !(((boolean) MineverseChat.posField.get(event.getPacket().getHandle())))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(VersionHandler.is1_8()) {
|
else if(VersionHandler.is1_8()) {
|
||||||
if((MineverseChat.posField != null) && (((Byte) MineverseChat.posField.get(event.getPacket().getHandle())).intValue() > 1)) {
|
if((MineverseChat.posField != null) && (((Byte) MineverseChat.posField.get(event.getPacket().getHandle())).intValue() > 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11()){
|
else if(VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11()){
|
||||||
if((MineverseChat.posField != null) && (((Byte) MineverseChat.posField.get(event.getPacket().getHandle())).intValue() > 1)) {
|
if((MineverseChat.posField != null) && (((Byte) MineverseChat.posField.get(event.getPacket().getHandle())).intValue() > 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if((MineverseChat.posField != null) && ((Object) MineverseChat.posField.get(event.getPacket().getHandle())) == MineverseChat.chatMessageType.getEnumConstants()[2]) {
|
if((MineverseChat.posField != null) && ((Object) MineverseChat.posField.get(event.getPacket().getHandle())) == MineverseChat.chatMessageType.getEnumConstants()[2]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(IllegalArgumentException | IllegalAccessException e) {
|
catch(IllegalArgumentException | IllegalAccessException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
WrappedChatComponent chat = (WrappedChatComponent) event.getPacket().getChatComponents().read(0);
|
WrappedChatComponent chat = (WrappedChatComponent) event.getPacket().getChatComponents().read(0);
|
||||||
WrappedChatComponent originalChat = (WrappedChatComponent) event.getPacket().getChatComponents().read(0);
|
WrappedChatComponent originalChat = (WrappedChatComponent) event.getPacket().getChatComponents().read(0);
|
||||||
String message = null;
|
String message = null;
|
||||||
int hash = -1;
|
int hash = -1;
|
||||||
try {
|
try {
|
||||||
//System.out.println(chat.getJson());
|
//System.out.println(chat.getJson());
|
||||||
//message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
//message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
||||||
message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]);
|
message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]);
|
||||||
//System.out.println(MineverseChat.lastChatMessage.getMessage());
|
//System.out.println(MineverseChat.lastChatMessage.getMessage());
|
||||||
hash = message != null ? message.hashCode() : -1;
|
hash = message != null ? message.hashCode() : -1;
|
||||||
}
|
}
|
||||||
catch(Exception ex) {
|
catch(Exception ex) {
|
||||||
message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
||||||
System.out.println(message);
|
System.out.println(message);
|
||||||
//ex.printStackTrace();
|
//ex.printStackTrace();
|
||||||
}
|
}
|
||||||
ChatMessage lastChatMessage = MineverseChat.lastChatMessage;
|
ChatMessage lastChatMessage = MineverseChat.lastChatMessage;
|
||||||
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer());
|
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer());
|
||||||
if(lastChatMessage != null && lastChatMessage.getHash() == hash) {
|
if(lastChatMessage != null && lastChatMessage.getHash() == hash) {
|
||||||
String json = MineverseChat.lastJson;
|
String json = MineverseChat.lastJson;
|
||||||
/*if(mcp.getPlayer().hasPermission("venturechat.message.remove")) {
|
/*if(mcp.getPlayer().hasPermission("venturechat.message.remove")) {
|
||||||
json = json.substring(0, json.length() - 1);
|
json = json.substring(0, json.length() - 1);
|
||||||
json += ",{\"text\":\" " + Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")) + "\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/removemessage " + lastChatMessage.getHash() + " true" +"\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"" + Format.FormatStringAll(plugin.getConfig().getString("messageremovertext")) + "\"}}}]";
|
json += ",{\"text\":\" " + Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")) + "\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/removemessage " + lastChatMessage.getHash() + " true" +"\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"" + Format.FormatStringAll(plugin.getConfig().getString("messageremovertext")) + "\"}}}]";
|
||||||
}
|
}
|
||||||
if(!mcp.getButtons()) {
|
if(!mcp.getButtons()) {
|
||||||
for(JsonButton j : MineverseChat.jbInfo.getJsonButtons()) {
|
for(JsonButton j : MineverseChat.jbInfo.getJsonButtons()) {
|
||||||
if(j.hasPermission() && mcp.getPlayer().hasPermission(j.getPermission())) {
|
if(j.hasPermission() && mcp.getPlayer().hasPermission(j.getPermission())) {
|
||||||
json = json.substring(0, json.length() - 1);
|
json = json.substring(0, json.length() - 1);
|
||||||
json += ",{\"text\":\" " + Format.FormatStringAll(j.getIcon()) + "\",\"clickEvent\":{\"action\":\"" + j.getAction() + "\",\"value\":\"/" + j.getCommand().replace("{channel}", lastChatMessage.getChannel()).replace("{player}", lastChatMessage.getSender()) + "\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"" + Format.FormatStringAll(j.getText()) + "\"}}}]";
|
json += ",{\"text\":\" " + Format.FormatStringAll(j.getIcon()) + "\",\"clickEvent\":{\"action\":\"" + j.getAction() + "\",\"value\":\"/" + j.getCommand().replace("{channel}", lastChatMessage.getChannel()).replace("{player}", lastChatMessage.getSender()) + "\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"" + Format.FormatStringAll(j.getText()) + "\"}}}]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
if(mcp.getPlayer().hasPermission("venturechat.gui")) {
|
if(mcp.getPlayer().hasPermission("venturechat.gui")) {
|
||||||
json = json.substring(0, json.length() - 1);
|
json = json.substring(0, json.length() - 1);
|
||||||
json += "," + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guiicon")), ",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/vchatgui " + lastChatMessage.getSender() + " " + lastChatMessage.getChannel() + " " + lastChatMessage.getHash() +"\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guitext"))) + "]}}") + "]}]";
|
json += "," + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guiicon")), ",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/vchatgui " + lastChatMessage.getSender() + " " + lastChatMessage.getChannel() + " " + lastChatMessage.getHash() +"\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("guitext"))) + "]}}") + "]}]";
|
||||||
}
|
}
|
||||||
//System.out.println(json);
|
//System.out.println(json);
|
||||||
chat.setJson(json);
|
chat.setJson(json);
|
||||||
event.getPacket().getChatComponents().write(0, chat);
|
event.getPacket().getChatComponents().write(0, chat);
|
||||||
}
|
}
|
||||||
if((message != null) && (chat.getHandle() != null) && mcp != null) {
|
if((message != null) && (chat.getHandle() != null) && mcp != null) {
|
||||||
mcp.addMessage(new ChatMessage(originalChat, chat, lastChatMessage != null ? lastChatMessage.getSender() : null, message, hash));
|
mcp.addMessage(new ChatMessage(originalChat, chat, lastChatMessage != null ? lastChatMessage.getSender() : null, message, hash));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private String getMessage(String json) {
|
private String getMessage(String json) {
|
||||||
JSONArray components = (JSONArray) ((JSONObject) JSONValue.parse(json)).get("extra");
|
JSONArray components = (JSONArray) ((JSONObject) JSONValue.parse(json)).get("extra");
|
||||||
Iterator<?> iterator = components.iterator();
|
Iterator<?> iterator = components.iterator();
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
while(iterator.hasNext()) {
|
while(iterator.hasNext()) {
|
||||||
builder.append(((JSONObject) iterator.next()).get("text").toString());
|
builder.append(((JSONObject) iterator.next()).get("text").toString());
|
||||||
}
|
}
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,227 +1,227 @@
|
|||||||
name: VentureChat
|
name: VentureChat
|
||||||
version: 2.12.0
|
version: 2.12.2
|
||||||
main: mineverse.Aust1n46.chat.MineverseChat
|
main: mineverse.Aust1n46.chat.MineverseChat
|
||||||
depend: [Vault, ProtocolLib, PlaceholderAPI]
|
depend: [Vault, ProtocolLib, PlaceholderAPI]
|
||||||
softdepend: [Towny, Factions, Heroes]
|
softdepend: [Towny, Factions, Heroes]
|
||||||
Author: Aust1n46
|
Author: Aust1n46
|
||||||
description: Chat with channels with many features!
|
description: Chat with channels with many features!
|
||||||
commands:
|
commands:
|
||||||
mute:
|
mute:
|
||||||
usage: /mute [playername] [channel]
|
usage: /mute [playername] [channel]
|
||||||
aliases: [mp,vmute]
|
aliases: [mp,vmute]
|
||||||
description: Mutes player in a channel so they cannot talk.
|
description: Mutes player in a channel so they cannot talk.
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
unmute:
|
unmute:
|
||||||
usage: /unmute [playername] [channel]
|
usage: /unmute [playername] [channel]
|
||||||
aliases: [ump,vunmute]
|
aliases: [ump,vunmute]
|
||||||
description: Unmutes player in a channel so they can talk again.
|
description: Unmutes player in a channel so they can talk again.
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
tell:
|
tell:
|
||||||
usage: /tell [playername] [msg]
|
usage: /tell [playername] [msg]
|
||||||
aliases: [vtell]
|
aliases: [vtell]
|
||||||
description: Send a message to a player
|
description: Send a message to a player
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
ignore:
|
ignore:
|
||||||
usage: /ignore [playername] or /ignore ? for more information
|
usage: /ignore [playername] or /ignore ? for more information
|
||||||
aliases: [vignore]
|
aliases: [vignore]
|
||||||
description: This allows you to prevent a player from sending you a tell /ignore list to see who you have ignored
|
description: This allows you to prevent a player from sending you a tell /ignore list to see who you have ignored
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
whisper:
|
whisper:
|
||||||
usage: /whisper [playername] [msg]
|
usage: /whisper [playername] [msg]
|
||||||
aliases: [w,vwhisper]
|
aliases: [w,vwhisper]
|
||||||
description: Send a message to a player
|
description: Send a message to a player
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
channel:
|
channel:
|
||||||
usage: /channel [channelname]
|
usage: /channel [channelname]
|
||||||
aliases: [ch,vchannel]
|
aliases: [ch,vchannel]
|
||||||
description: Allows players to add the ability to listen to the channel
|
description: Allows players to add the ability to listen to the channel
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
leave:
|
leave:
|
||||||
usage: /leave [channelname]
|
usage: /leave [channelname]
|
||||||
aliases: [lev,vleave]
|
aliases: [lev,vleave]
|
||||||
description: Allows players to leave listening to a channel
|
description: Allows players to leave listening to a channel
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
join:
|
join:
|
||||||
usage: /join [channelname]
|
usage: /join [channelname]
|
||||||
aliases: [vjoin]
|
aliases: [vjoin]
|
||||||
description: Allows players to join a channel
|
description: Allows players to join a channel
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
chlist:
|
chlist:
|
||||||
usage: /chlist
|
usage: /chlist
|
||||||
aliases: [chl,vchlist]
|
aliases: [chl,vchlist]
|
||||||
description: Allows players to see a listing of available channels
|
description: Allows players to see a listing of available channels
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
chwho:
|
chwho:
|
||||||
usage: /chwho [channelname]
|
usage: /chwho [channelname]
|
||||||
aliases: [chw,vchwho]
|
aliases: [chw,vchwho]
|
||||||
description: Allows players to see a listing of who is listening on a channel
|
description: Allows players to see a listing of who is listening on a channel
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
setchannel:
|
setchannel:
|
||||||
usage: /setchannel [playername] [channel]
|
usage: /setchannel [playername] [channel]
|
||||||
aliases: [sc,vsetchannel]
|
aliases: [sc,vsetchannel]
|
||||||
description: Sets a players channel
|
description: Sets a players channel
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
kickchannel:
|
kickchannel:
|
||||||
usage: /kickchannel [playername] [channel]
|
usage: /kickchannel [playername] [channel]
|
||||||
aliases: [kc,vkickchannel]
|
aliases: [kc,vkickchannel]
|
||||||
description: Kicks a player out of a channel
|
description: Kicks a player out of a channel
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
message:
|
message:
|
||||||
usage: /message [playername] [msg]
|
usage: /message [playername] [msg]
|
||||||
aliases: [msg,pm,vmessage]
|
aliases: [msg,pm,vmessage]
|
||||||
description: Send a message to a player
|
description: Send a message to a player
|
||||||
muteall:
|
muteall:
|
||||||
usage: /muteall [playername]
|
usage: /muteall [playername]
|
||||||
aliases: [mpa,vmuteall]
|
aliases: [mpa,vmuteall]
|
||||||
description: Mute a player in all channels
|
description: Mute a player in all channels
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
unmuteall:
|
unmuteall:
|
||||||
usage: /unmuteall [playername]
|
usage: /unmuteall [playername]
|
||||||
aliases: [umpa,vunmuteall]
|
aliases: [umpa,vunmuteall]
|
||||||
description: Unmute a player in all channels
|
description: Unmute a player in all channels
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
kickchannelall:
|
kickchannelall:
|
||||||
usage: /kickchannelall [playername]
|
usage: /kickchannelall [playername]
|
||||||
aliases: [kca,vkickchannelall]
|
aliases: [kca,vkickchannelall]
|
||||||
description: Kick a player from all channels
|
description: Kick a player from all channels
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
setchannelall:
|
setchannelall:
|
||||||
usage: /setchannelall [playername]
|
usage: /setchannelall [playername]
|
||||||
aliases: [sca,vsetchannelall]
|
aliases: [sca,vsetchannelall]
|
||||||
description: Set a player into all channels
|
description: Set a player into all channels
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
force:
|
force:
|
||||||
usage: /force [playername] [message]
|
usage: /force [playername] [message]
|
||||||
aliases: [for,vforce]
|
aliases: [for,vforce]
|
||||||
description: Force a player to chat or execute a command
|
description: Force a player to chat or execute a command
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
forceall:
|
forceall:
|
||||||
usage: /forceall [message]
|
usage: /forceall [message]
|
||||||
aliases: [fora,vforceall]
|
aliases: [fora,vforceall]
|
||||||
description: Force all players to chat or execute a command
|
description: Force all players to chat or execute a command
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
listen:
|
listen:
|
||||||
usage: /listen [channel]
|
usage: /listen [channel]
|
||||||
aliases: [lis,vlisten]
|
aliases: [lis,vlisten]
|
||||||
description: Listen to a channel without setting it as the one your chatting in
|
description: Listen to a channel without setting it as the one your chatting in
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
chatreload:
|
chatreload:
|
||||||
usage: /chatreload
|
usage: /chatreload
|
||||||
aliases: [cr,vchatreload]
|
aliases: [cr,vchatreload]
|
||||||
description: Reload the config file
|
description: Reload the config file
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
afk:
|
afk:
|
||||||
usage: /afk
|
usage: /afk
|
||||||
aliases: [vafk]
|
aliases: [vafk]
|
||||||
description: Set yourself as afk
|
description: Set yourself as afk
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
reply:
|
reply:
|
||||||
usage: /reply [msg]
|
usage: /reply [msg]
|
||||||
aliases: [r,vreply]
|
aliases: [r,vreply]
|
||||||
description: Reply to a message
|
description: Reply to a message
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
spy:
|
spy:
|
||||||
usage: /spy
|
usage: /spy
|
||||||
aliases: [vspy]
|
aliases: [vspy]
|
||||||
description: Spy on tells
|
description: Spy on tells
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
commandspy:
|
commandspy:
|
||||||
usage: /commandspy
|
usage: /commandspy
|
||||||
aliases: [comspy,vcommandspy]
|
aliases: [comspy,vcommandspy]
|
||||||
description: Spy on commands
|
description: Spy on commands
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
chatinfo:
|
chatinfo:
|
||||||
usage: /chatinfo
|
usage: /chatinfo
|
||||||
aliases: [ci,vchatinfo]
|
aliases: [ci,vchatinfo]
|
||||||
description: Check a players chat info
|
description: Check a players chat info
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
channelinfo:
|
channelinfo:
|
||||||
usage: /channelinfo
|
usage: /channelinfo
|
||||||
aliases: [chi,vchannelinfo]
|
aliases: [chi,vchannelinfo]
|
||||||
description: Check a channels info
|
description: Check a channels info
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
venturechat:
|
venturechat:
|
||||||
usage: /venturechat
|
usage: /venturechat
|
||||||
aliases: [vc]
|
aliases: [vc]
|
||||||
description: Check plugin information
|
description: Check plugin information
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
me:
|
me:
|
||||||
usage: /me
|
usage: /me
|
||||||
aliases: [vme]
|
aliases: [vme]
|
||||||
description: Send an emote
|
description: Send an emote
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
filter:
|
filter:
|
||||||
usage: /filter
|
usage: /filter
|
||||||
aliases: [fil,vfilter]
|
aliases: [fil,vfilter]
|
||||||
description: Toggle filter on and off
|
description: Toggle filter on and off
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
broadcast:
|
broadcast:
|
||||||
usage: /broadcast [msg]
|
usage: /broadcast [msg]
|
||||||
aliases: [bc,vbroadcast]
|
aliases: [bc,vbroadcast]
|
||||||
description: Broadcast a message
|
description: Broadcast a message
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
commandblock:
|
commandblock:
|
||||||
usage: /commandblock [player] [command]
|
usage: /commandblock [player] [command]
|
||||||
aliases: [cb,vcommandblock]
|
aliases: [cb,vcommandblock]
|
||||||
description: Toggle a player blocked from entering a command
|
description: Toggle a player blocked from entering a command
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
nick:
|
nick:
|
||||||
usage: /nick {player} [nickname]
|
usage: /nick {player} [nickname]
|
||||||
aliases: [vnick]
|
aliases: [vnick]
|
||||||
description: Set a players nickname
|
description: Set a players nickname
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
party:
|
party:
|
||||||
usage: /party help
|
usage: /party help
|
||||||
aliases: [p,chatparty,cp,vparty]
|
aliases: [p,chatparty,cp,vparty]
|
||||||
description: Party commands
|
description: Party commands
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
config:
|
config:
|
||||||
usage: /config help
|
usage: /config help
|
||||||
aliases: [vconfig]
|
aliases: [vconfig]
|
||||||
description: Edit commands
|
description: Edit commands
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
clearchat:
|
clearchat:
|
||||||
usage: /clearchat
|
usage: /clearchat
|
||||||
aliases: [cc,vclearchat]
|
aliases: [cc,vclearchat]
|
||||||
description: Clear every players chat
|
description: Clear every players chat
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
notifications:
|
notifications:
|
||||||
usage: /notifications
|
usage: /notifications
|
||||||
aliases: [notify,vnotify]
|
aliases: [notify,vnotify]
|
||||||
description: Toggles your notifications
|
description: Toggles your notifications
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
mail:
|
mail:
|
||||||
usage: /mail help
|
usage: /mail help
|
||||||
aliases: [vmail]
|
aliases: [vmail]
|
||||||
description: Mail commands
|
description: Mail commands
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
removemessage:
|
removemessage:
|
||||||
usage: /removemessage [hashcode]
|
usage: /removemessage [hashcode]
|
||||||
aliases: [rm,vremovemessage]
|
aliases: [rm,vremovemessage]
|
||||||
description: Remove a message from the chat
|
description: Remove a message from the chat
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
edit:
|
edit:
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
aliases: [vedit]
|
aliases: [vedit]
|
||||||
description: Edit your last chat message
|
description: Edit your last chat message
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
rangedspy:
|
rangedspy:
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
aliases: [rspy,vrangedspy]
|
aliases: [rspy,vrangedspy]
|
||||||
description: Toggle spying on ranged channels
|
description: Toggle spying on ranged channels
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
buttons:
|
buttons:
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
aliases: [vbuttons]
|
aliases: [vbuttons]
|
||||||
description: Toggle viewing json buttons
|
description: Toggle viewing json buttons
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
venturechatgui:
|
venturechatgui:
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
aliases: [vchatgui]
|
aliases: [vchatgui]
|
||||||
description: Opens the chat management gui
|
description: Opens the chat management gui
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
||||||
messagetoggle:
|
messagetoggle:
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
aliases: [mtoggle,vmessagetoggle]
|
aliases: [mtoggle,vmessagetoggle]
|
||||||
description: Toggle receiving messages
|
description: Toggle receiving messages
|
||||||
permission-message: You don't have <permission>
|
permission-message: You don't have <permission>
|
Loading…
x
Reference in New Issue
Block a user