如题。
初始化得到了Economy对象后,怎么操作玩家的钱。不知道这个插件内部是怎么设计的。
可以举个例子,比如给玩家添加100元
初始化得到了Economy对象后,怎么操作玩家的钱。不知道这个插件内部是怎么设计的。
可以举个例子,比如给玩家添加100元
求解。而且我装了Vault,初始化却得不到Economy对象
810587921 发表于 2016-12-5 22:16
其他插件可能还没有详细的教程
Vault的话主题内容就有了...:
https://dev.bukkit.org/bukkit-plugins/vault ...
恩恩,已经解决了,感谢。
顺便分享一下经验,Vault插件必须配合iConomy或者基于Vault的经济插件,才能获取对象成功,对象下面直接有操作玩家金钱的方法,drawwithplayer是扣除金钱
虽然你的问题已经解决
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.ServicesManager;
public final class 类名
{
private static Economy economy;
private static boolean supportVault = false;
public static boolean setupEconomy()
{
RegisteredServiceProvider economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class);
if (economyProvider != null) {
economy = (Economy)economyProvider.getProvider();
}
supportVault = economy != null;
return supportVault;
}
public static boolean isSupportVault()
{
if (economy != null) return true;
return setupEconomy();
}
public static void give(String player, double money)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
economy.depositPlayer(player, money);
}
public static void take(String player, double money)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
economy.withdrawPlayer(player, money);
}
public static double getBalance(String player)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
return economy.getBalance(player);
}
public static boolean has(String player, double money)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
return getBalance(player) >= money;
}
}
代码来源于插件Deathlosemoney
setupEconomy();
后即可调用里面的method了
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.ServicesManager;
public final class 类名
{
private static Economy economy;
private static boolean supportVault = false;
public static boolean setupEconomy()
{
RegisteredServiceProvider economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class);
if (economyProvider != null) {
economy = (Economy)economyProvider.getProvider();
}
supportVault = economy != null;
return supportVault;
}
public static boolean isSupportVault()
{
if (economy != null) return true;
return setupEconomy();
}
public static void give(String player, double money)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
economy.depositPlayer(player, money);
}
public static void take(String player, double money)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
economy.withdrawPlayer(player, money);
}
public static double getBalance(String player)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
return economy.getBalance(player);
}
public static boolean has(String player, double money)
{
if (economy == null) throw new UnsupportedOperationException("还没有链接到Vault");
return getBalance(player) >= money;
}
}
代码来源于插件Deathlosemoney
setupEconomy();
后即可调用里面的method了
jnworld 发表于 2017-2-3 17:56
虽然你的问题已经解决
应该不是这样吧,最直接的不是这样
昂,emm怎么样呀
已经买了谢谢老板,很好用