You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.9 KiB

package ru.simsonic.rscPermissions;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.ServicePriority;
import ru.simsonic.rscPermissions.API.Settings;
11 years ago
import ru.simsonic.rscPermissions.Bukkit.VaultChat;
import ru.simsonic.rscPermissions.Bukkit.VaultPermission;
import ru.simsonic.rscPermissions.Engine.Phrases;
import ru.simsonic.rscUtilityLibrary.Bukkit.Tools;
import ru.simsonic.rscUtilityLibrary.TextProcessing.GenericChatCodes;
public class BridgeForBukkitAPI
{
private static BridgeForBukkitAPI instance;
10 years ago
public static BridgeForBukkitAPI getInstance()
{
return instance;
}
private final BukkitPluginMain rscp;
private final VaultPermission vaultPermission;
private final VaultChat vaultChat;
protected BridgeForBukkitAPI(BukkitPluginMain plugin)
{
BridgeForBukkitAPI.instance = BridgeForBukkitAPI.this;
this.rscp = plugin;
this.vaultPermission = new VaultPermission(this);
this.vaultChat = new VaultChat(this, vaultPermission);
}
public org.bukkit.plugin.java.JavaPlugin getPlugin()
{
return this.rscp;
}
public net.milkbowl.vault.permission.Permission getPermission()
{
return this.vaultPermission;
}
public net.milkbowl.vault.chat.Chat getChat()
{
return this.vaultChat;
}
public String getName()
{
return rscp.getDescription().getName();
}
public boolean isEnabled()
{
return rscp.isEnabled();
}
public Player findPlayer(String player)
{
for(Player online : Tools.getOnlinePlayers())
if(online.getName().equals(player))
return online;
return null;
}
protected void setupVault()
{
final Plugin plugin = rscp.getServer().getPluginManager().getPlugin("Vault");
if(plugin != null)
{
// Register Chat
rscp.getServer().getServicesManager().register(
net.milkbowl.vault.chat.Chat.class, vaultChat,
rscp, ServicePriority.Highest);
// Register Permission
rscp.getServer().getServicesManager().register(
net.milkbowl.vault.permission.Permission.class, vaultPermission,
rscp, ServicePriority.Highest);
BukkitPluginMain.consoleLog.info(GenericChatCodes.processStringStatic("[rscp] " + Phrases.INTEGRATION_V_Y.toString()));
} else
BukkitPluginMain.consoleLog.warning(GenericChatCodes.processStringStatic("[rscp] " + Phrases.INTEGRATION_V_N.toString()));
}
public void printDebugStackTrace()
{
if(rscp.permissionManager.isConsoleDebugging())
{
final StringBuilder sb = new StringBuilder(Settings.chatPrefix);
sb.append("[DEBUG] An API method was invoked from the path:\n");
for(StackTraceElement ste : Thread.currentThread().getStackTrace())
if(!ste.getClassName().equals(BridgeForBukkitAPI.class.getName()))
sb.append(ste.toString()).append(System.lineSeparator());
rscp.getServer().getConsoleSender().sendMessage(GenericChatCodes.processStringStatic(sb.toString()));
}
}
}