下面列出了org.bukkit.event.server.ServiceRegisterEvent#net.milkbowl.vault.economy.Economy 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Update the remaining blocks for an active bounty
* - Requires a Vault-economy plugin to deposit funds
*/
public static OffsetBounty update(GPlayer hunter, int blocksCompleted) {
OffsetTable offsetTable = GlobalWarming.getInstance().getTableManager().getOffsetTable();
OffsetBounty bounty = offsetTable.update(hunter, blocksCompleted);
if (bounty != null && bounty.getTimeCompleted() != 0) {
Economy economy = GlobalWarming.getInstance().getEconomy();
if (economy != null) {
economy.depositPlayer(hunter.getOfflinePlayer(), bounty.getReward());
notify(
bounty,
hunter,
String.format(Lang.BOUNTY_COMPLETEDBY.get(), hunter.getOfflinePlayer().getName()),
String.format(Lang.BOUNTY_COMPLETED.get(), bounty.getReward()));
}
}
return bounty;
}
public static void cancel(GPlayer gPlayer) {
int refund = 0;
OffsetTable offsetTable = GlobalWarming.getInstance().getTableManager().getOffsetTable();
List<OffsetBounty> cancelledBounties = offsetTable.cancel(gPlayer);
Economy economy = GlobalWarming.getInstance().getEconomy();
if (economy != null) {
for (OffsetBounty bounty : cancelledBounties) {
economy.depositPlayer(gPlayer.getOfflinePlayer(), bounty.getReward());
refund += bounty.getReward();
}
}
gPlayer.sendMsg(String.format(
Lang.BOUNTY_CANCELLED.get(),
cancelledBounties.size(),
refund));
}
public BridgeImpl() {
if (Bukkit.getPluginManager().getPlugin("Vault") != null) {
economy = getRegisteredService(Economy.class);
permission = getRegisteredService(Permission.class);
}
if (Bukkit.getPluginManager().getPlugin("WorldGuard") != null) {
if (!WorldGuardPlugin.inst().getDescription().getVersion().startsWith("7")) {
try {
getRegionManager = WorldGuardPlugin.class.getDeclaredMethod("getRegionManager", World.class);
getRegionManager.setAccessible(true);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
worldguard = true;
}
placeholder = Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null;
}
boolean setupEconomy(ClaimChunk instance) {
this.instance = instance;
// Check if Vault is present
if (instance.getServer().getPluginManager().getPlugin("Vault") == null) return false;
// Get the Vault service if it is present
RegisteredServiceProvider<Economy> rsp = instance.getServer().getServicesManager().getRegistration(Economy.class);
// Check if the service is valid
if (rsp == null) return false;
// Update current economy handler
econ = rsp.getProvider();
// Success
return true;
}
public static void initHooks() {
RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
RegisteredServiceProvider<Permission> permissionProvider = Bukkit.getServer().getServicesManager().getRegistration(Permission.class);
if (economyProvider != null) {
economyHook = economyProvider.getProvider();
}
else {
FunnyGuilds.getInstance().getPluginLogger().warning("No economy provider found, some features may not be available");
}
if (permissionProvider != null) {
permissionHook = permissionProvider.getProvider();
}
else {
FunnyGuilds.getInstance().getPluginLogger().warning("No permission provider found, some features may not be available");
}
}
@Override
public void hook() {
RegisteredServiceProvider<Permission> permissionProvider = Bukkit.getServer().getServicesManager()
.getRegistration(net.milkbowl.vault.permission.Permission.class);
if (permissionProvider != null) {
permission = permissionProvider.getProvider();
}
RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServer().getServicesManager()
.getRegistration(net.milkbowl.vault.economy.Economy.class);
if (economyProvider != null) {
economy = economyProvider.getProvider();
}
if (economy != null) {
plugin.registerEvents("money", MoneyEvent.class);
plugin.registerConditions("money", MoneyCondition.class);
plugin.registerVariable("money", MoneyVariable.class);
} else {
LogUtils.getLogger().log(Level.WARNING, "There is no economy plugin on the server!");
}
if (permission != null) {
plugin.registerEvents("permission", PermissionEvent.class);
} else {
LogUtils.getLogger().log(Level.WARNING, "Could not get permission provider!");
}
}
private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return true;
}
public static void Vault_loadProviders() {
RegisteredServiceProvider<Economy> rspEconomy = Bukkit.getServicesManager().getRegistration(Economy.class);
if (rspEconomy != null) Vault_economy = rspEconomy.getProvider();
RegisteredServiceProvider<Permission> rspPermission = Bukkit.getServicesManager().getRegistration(Permission.class);
if (rspPermission != null) Vault_permission = rspPermission.getProvider();
RegisteredServiceProvider<Chat> rspChat = Bukkit.getServicesManager().getRegistration(Chat.class);
if (rspChat != null) Vault_chat = rspChat.getProvider();
}
private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return true;
}
@Subscribe
public void onGameWin(PlayerWinGameEvent event) {
//Call the method to potentially lazy-initialize the economy plugin
Economy economy = getEconomy();
List<Double> rewards = getValue();
double winnerReward = rewards.get(0);
String[] places = getI18N().getStringArray(Messages.Arrays.PLACES);
for (SpleefPlayer winner : event.getWinners()) {
economy.depositPlayer(winner.getBukkitPlayer(), winnerReward);
winner.sendMessage(getI18N().getVarString(Messages.Player.RECEIVED_REWARD_PLACE)
.setVariable("amount", economy.format(winnerReward))
.setVariable("place", places[0])
.toString());
}
List<SpleefPlayer> losePlaces = event.getLosePlaces();
for (int i = 0; i < losePlaces.size() && i + 1 < rewards.size(); i++) {
double reward = rewards.get(i + 1);
SpleefPlayer loser = losePlaces.get(i);
String placeString = i + 1 < places.length ? places[i + 1] : String.valueOf(i + 1) + '.';
economy.depositPlayer(loser.getBukkitPlayer(), reward);
loser.sendMessage(getI18N().getVarString(Messages.Player.RECEIVED_REWARD_PLACE)
.setVariable("amount", economy.format(reward))
.setVariable("place", placeString)
.toString());
}
}
/**
* Check for an economy providor and set it if it was found
*/
private void checkEconomy() {
RegisteredServiceProvider<Economy> serviceProvider = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (serviceProvider != null) {
economy = serviceProvider.getProvider();
}
}
private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
public static boolean setupEconomy() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
/**
* Check if a player has enough money to do something
*
* @param economy vault economy
* @param player the player being checked
* @param amount the amount to see that they have
* @return if they have enough
*/
public static boolean hasEnough(CommandManager manager, Economy economy, Player player, double amount) {
try {
return economy.getBalance(player) >= amount;
} catch (NullPointerException ex) {
manager.getCommandIssuer(player).sendInfo(Messages.ERROR__ECONOMY_REQUIRED);
return false;
}
}
public static void setupEconomy(){
if(!GameManager.getGameManager().getConfiguration().getVaultLoaded()){
return;
}
RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (economyProvider != null) {
economy = economyProvider.getProvider();
}else{
Bukkit.getLogger().severe("[UhcCore] Error trying to load economy provider. Check that you have a economy plugin installed");
}
}
private boolean setupEconomy() {
boolean ret = false;
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp != null) {
economy = rsp.getProvider();
ret = economy != null;
}
return ret;
}
@SuppressWarnings("null")
@Override
protected boolean init() {
economy = Bukkit.getServicesManager().getRegistration(Economy.class) == null ? null : Bukkit.getServicesManager().getRegistration(Economy.class).getProvider();
chat = Bukkit.getServicesManager().getRegistration(Chat.class) == null ? null : Bukkit.getServicesManager().getRegistration(Chat.class).getProvider();
permission = Bukkit.getServicesManager().getRegistration(Permission.class) == null ? null : Bukkit.getServicesManager().getRegistration(Permission.class).getProvider();
return economy != null || chat != null || permission != null;
}
public static boolean setupEconomy() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
@Override
public void initialize() {
RegisteredServiceProvider<Economy> rsp = plugin.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null || (economy = rsp.getProvider()) == null) {
plugin.getLogger().warning("No economy provider for Vault found!");
plugin.getLogger().warning("Economy support by Vault is now disabled.");
return;
}
plugin.getServer().getPluginManager().registerEvents(this, plugin);
runTaskTimer(plugin, liquidUpdateTicks, liquidUpdateTicks);
enabled = true;
}
public VaultVariables(ReplacerAPI replaceManager, Plugin plugin) throws UnsupportedPluginException {
super(replaceManager, plugin);
RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class);
if (economyProvider == null) {
//check if an economy plugin is installed otherwise it would throw a exception if the want to replace
throw new UnsupportedPluginException("Cannot find an economy plugin");
} else {
economy = economyProvider.getProvider();
}
}
public void executehook(String player, String[] s2) {
if(EconomyManager.getInstance().econPresent()){
Economy econ = EconomyManager.getInstance().getEcon();
String split[] = s2[1].split(" ");
if(split.length == 3){
Player p = Bukkit.getServer().getPlayer(split[1]);
int funds = Integer.parseInt(split[2]);
if(split[0].equals("remove")){
econ.bankWithdraw(p.getName(), funds);
}
}
}
}
public Economy getEconomy() {
//Lazy initialization
if (economy == null) {
HookManager manager = getHeavySpleef().getHookManager();
economy = manager.getHook(HookReference.VAULT).getService(Economy.class);
}
return economy;
}
private boolean verifyEcon()
{
if(Bukkit.getPluginManager().getPlugin("Vault") == null)
return false;
//Bukkit.getLogger().info("Here 1");
RegisteredServiceProvider<Economy> rsp = Bukkit.getServicesManager().getRegistration(Economy.class);
if (rsp == null)
return false;
//Bukkit.getLogger().info("Here 2");
econ = rsp.getProvider();
//Bukkit.getLogger().info("Here 3");
return econ != null;
}
/**
* Deserialize all aspects of a player, and apply their data. See {@link PlayerSerializer#serialize(PWIPlayer)}
* for an explanation of the data format number.
*
* @param data The saved player information.
* @param player The Player to apply the deserialized information to.
*/
public void deserialize(final JsonObject data, final Player player, DeserializeCause cause) {
ConsoleLogger.debug("[SERIALIZER] Deserializing player '" + player.getName()+ "'");
int format = 0;
if (data.has("data-format"))
format = data.get("data-format").getAsInt();
if (settings.getProperty(PwiProperties.LOAD_ENDER_CHESTS) && data.has("ender-chest"))
player.getEnderChest().setContents(inventorySerializer.deserializeInventory(data.getAsJsonArray("ender-chest"),
player.getEnderChest().getSize(), format));
if (settings.getProperty(PwiProperties.LOAD_INVENTORY) && data.has("inventory"))
inventorySerializer.setInventory(player, data.getAsJsonObject("inventory"), format);
if (data.has("stats"))
statSerializer.deserialize(player, data.getAsJsonObject("stats"), format);
if (plugin.isEconEnabled()) {
Economy econ = plugin.getEconomy();
if (econ == null) {
ConsoleLogger.warning("Economy saving is turned on, but no economy found!");
return;
}
ConsoleLogger.debug("[ECON] Withdrawing " + econ.getBalance(player) + " from '" + player.getName() + "'!");
EconomyResponse er = econ.withdrawPlayer(player, econ.getBalance(player));
if (!er.transactionSuccess()) {
ConsoleLogger.warning("[ECON] Unable to withdraw funds from '" + player.getName() + "': " + er.errorMessage);
}
if (data.has("economy") && er.transactionSuccess()) {
EconomySerializer.deserialize(econ, data.getAsJsonObject("economy"), player);
}
}
ConsoleLogger.debug("[SERIALIZER] Done deserializing player '" + player.getName()+ "'");
// Call event to signal loading is done
InventoryLoadCompleteEvent event = new InventoryLoadCompleteEvent(player, cause);
bukkitService.callEvent(event);
}
/**
* Set a player's stats to defaults, and optionally clear their inventory.
*
* @param plugin {@link PerWorldInventory} for econ.
* @param player The player to zero.
* @param clearInventory Clear the player's inventory.
*/
public static void zeroPlayer(PerWorldInventory plugin, Player player, boolean clearInventory) {
if (clearInventory) {
player.getInventory().clear();
player.getEnderChest().clear();
}
player.setExp(0f);
player.setFoodLevel(20);
if (checkServerVersion(Bukkit.getVersion(), 1, 9, 0)) {
player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
} else {
player.setHealth(player.getMaxHealth());
}
player.setLevel(0);
for (PotionEffect effect : player.getActivePotionEffects()) {
player.removePotionEffect(effect.getType());
}
player.setSaturation(5f);
player.setFallDistance(0f);
player.setFireTicks(0);
if (plugin.isEconEnabled()) {
Economy econ = plugin.getEconomy();
econ.bankWithdraw(player.getName(), econ.bankBalance(player.getName()).amount);
econ.withdrawPlayer(player, econ.getBalance(player));
}
}
public static boolean setupEconomy() {
if (Bukkit.getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = Bukkit.getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
economy = rsp.getProvider();
return economy != null;
}
private boolean setupEconomy() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
private boolean setupEconomy() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
/**
* Sets up the economy of Vault
* @return Whether an economy plugin has been registered
*/
private boolean setupEconomy() {
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
public PlayerInteractListener(PetMaster petMaster) {
this.plugin = petMaster;
version = Integer.parseInt(PackageType.getServerVersion().split("_")[1]);
// Try to retrieve an Economy instance from Vault.
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") != null) {
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager()
.getRegistration(Economy.class);
if (rsp != null) {
economy = rsp.getProvider();
}
}
}