Files
StaffChat/src/main/java/me/oskar3123/staffchat/spigot/Main.java
T

68 lines
2.3 KiB
Java

package me.oskar3123.staffchat.spigot;
import github.scarsz.discordsrv.DiscordSRV;
import java.util.Optional;
import me.clip.placeholderapi.PlaceholderAPI;
import me.oskar3123.staffchat.spigot.command.StaffChatCommand;
import me.oskar3123.staffchat.spigot.handler.StaffChatHandler;
import me.oskar3123.staffchat.spigot.listener.ChatListener;
import me.oskar3123.staffchat.spigot.listener.DiscordSrvListener;
import me.oskar3123.staffchat.spigot.listener.StaffChatPml;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;
public class Main extends JavaPlugin {
private static final int BSTATS_PLUGIN_ID = 835;
public final String usePerm = "staffchat.use";
public final String seePerm = "staffchat.see";
public final String commandPerm = "staffchat.command";
public final String reloadPerm = "staffchat.reload";
public final StaffChatHandler staffChatHandler = new StaffChatHandler(this);
public final ChatListener chatListener = new ChatListener(staffChatHandler);
public final StaffChatPml staffChatPml = new StaffChatPml(staffChatHandler);
public void onEnable() {
getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", staffChatPml);
new Metrics(this, BSTATS_PLUGIN_ID);
saveDefaultConfig();
registerCommands();
registerEvents();
if (Bukkit.getPluginManager().isPluginEnabled("DiscordSRV")) {
DiscordSRV.api.subscribe(new DiscordSrvListener(this));
}
}
@Override
public void saveDefaultConfig() {
super.saveDefaultConfig();
getConfig().options().copyDefaults(true);
saveConfig();
}
private void registerCommands() {
Optional.ofNullable(getCommand("staffchat"))
.ifPresent(command -> command.setExecutor(new StaffChatCommand(this)));
}
private void registerEvents() {
Bukkit.getPluginManager().registerEvents(this.chatListener, this);
}
private boolean isPlaceholderApiEnabled() {
return Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI");
}
public @NotNull String replacePlaceholders(Player player, String string) {
if (!isPlaceholderApiEnabled()) {
return string;
}
return PlaceholderAPI.setPlaceholders(player, string);
}
}