StaffChat
Simple and highly configurable staff chat.
Download
You can download the plugin from the Spigot resource page or via the GitHub releases.
License
This plugin is licensed with the MIT License, for more information see the LICENSE file.
Building
To build this yourself just clone the repository and run the shadowJar
task with the Gradle
Wrapper.
The plugin jar-file can be found inside the build/libs
folder after building.
Windows
git clone git@github.com:oskar3123/StaffChat.git
cd StaffChat
gradlew.bat shadowJar
*nix (Linux, FreeBSD, macOS, …)
git clone git@github.com:oskar3123/StaffChat.git
cd StaffChat
./gradlew shadowJar
Event API (For developers)
Bukkit/Spigot
Because the event API in 1.14+ is now strict between sync and async events you should check whether
this was called synchronously or asynchronously by using event.isAsynchronous()
.
public class StaffChatListener implements Listener {
@EventHandler
public void onStaffChat(StaffChatEvent event) {
// Player player = event.getPlayer();
// String format = event.getFormat();
// String message = event.getMessage();
// event.setFormat("&b{NAME} >> {MESSAGE}");
// event.setMessage(filterMessage(message));
// event.setCancelled(true);
}
private static String filterMessage(String message) {
// ...
return message;
}
}
Register the listener in the onEnable
method of your plugin.
public class YourPlugin extends JavaPlugin {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(new StaffChatListener(), this);
}
}
BungeeCord
public class StaffChatListener implements Listener {
@EventHandler
public void onStaffChat(BungeeStaffChatEvent event) {
// ProxiedPlayer player = event.getPlayer();
// String format = event.getFormat();
// String message = event.getMessage();
// event.setFormat("&b{NAME} >> {MESSAGE}");
// event.setMessage(filterMessage(message));
// event.setCancelled(true);
}
private static String filterMessage(String message) {
// ...
return message;
}
}
Register the listener in the onEnable
method of your plugin.
public class YourPlugin extends Plugin {
@Override
public void onEnable() {
getProxy().getPluginManager().registerListener(this, new StaffChatListener());
}
}
Velocity
public class StaffChatListener {
@Subscribe
public void onStaffChat(VelocityStaffChatEvent event) {
// Player player = event.getPlayer();
// String format = event.getFormat();
// String message = event.getMessage();
// StaffChatResult result = StaffChatResult.denied();
// StaffChatResult result = StaffChatResult.format("&b{NAME} >> {MESSAGE}");
// StaffChatResult result = StaffChatResult.message(filterMessage(message));
// StaffChatResult result = StaffChatResult.formatAndMessage("&b{NAME} >> {MESSAGE}", filterMessage(message));
// event.setResult(result);
}
private static String filterMessage(String message) {
// ...
return message;
}
}
Register the listener on the ProxyInitializeEvent
in your plugin.
@Plugin
public class YourPlugin {
private final ProxyServer server;
@Inject
public YourPlugin(ProxyServer server) {
this.server = server;
}
@Subscribe
public void onProxyInitialization(ProxyInitializeEvent event) {
server.getEventManager().register(this, new StaffChatListener());
}
}