You're trying to make the VaultAPI be able to be used in both classes correct? If that's so, do this for the classes that you want to implement vault into. MainClass.economy.STUFF
heres My code: package MagEnchant.Main; import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.EconomyResponse; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; import com.rit.sucy.EnchantmentAPI; public class Main extends JavaPlugin { public static Economy econ = null; public void onEnable() { registerCommands(); if (!setupEconomy() ) { getLogger().severe(String.format("[%s] - Disabled due to no Vault dependency found!", getDescription().getName())); getServer().getPluginManager().disablePlugin(this); return; } } 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; } private void registerCommands() { getCommand("Tests").setExecutor(new Main2()); } public void onDisable() { } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { Player p = (Player) sender; if (cmd.getName().equalsIgnoreCase("Test")) { if (!(sender.hasPermission("Test.Test"))){ sender.sendMessage(ChatColor.RED + "NU"); return true; } EconomyResponse r = econ.withdrawPlayer(p.getName(), 2000); if (r.transactionSuccess()) { if (p.getItemInHand().getType().equals(Material.DIAMOND_SWORD)) { ItemStack Test = p.getItemInHand(); EnchantmentAPI.getEnchantment("Lifesteal").addToItem(Test, 10); p.sendMessage(ChatColor.GREEN + "$2000 Was Taken From Your Account"); p.sendMessage(ChatColor.GREEN + "Enchantment Added."); } else { p.sendMessage(ChatColor.RED + "This Enchantment Can Only Be Added On A DiamondSword"); econ.depositPlayer(p.getName(), 2000); return true; } } else { p.sendMessage(ChatColor.RED + "You Do Not Have Enough Cash"); return true; } } return false; } public static Economy getEcon() { // TODO Auto-generated method stub return null; } } package MagEnchant.Main; import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.EconomyResponse; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import com.rit.sucy.EnchantmentAPI; public class Main2 implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { Player p = (Player) sender; if (cmd.getName().equalsIgnoreCase("Tests")) { if (!(sender.hasPermission("Test.Test"))){ sender.sendMessage(ChatColor.RED + "NU"); return true; } EconomyResponse r = econ.withdrawPlayer(p.getName(), 2000); if (r.transactionSuccess()) { if (p.getItemInHand().getType().equals(Material.DIAMOND_SWORD)) { ItemStack Test = p.getItemInHand(); EnchantmentAPI.getEnchantment("Lifesteal").addToItem(Test, 10); p.sendMessage(ChatColor.GREEN + "$2000 Was Taken From Your Account"); p.sendMessage(ChatColor.GREEN + "Enchantment Added."); } else { p.sendMessage(ChatColor.RED + "This Enchantment Can Only Be Added On A DiamondSword"); econ.depositPlayer(p.getName(), 2000); return true; } } else { p.sendMessage(ChatColor.RED + "You Do Not Have Enough Cash"); return true; } } return false; } } Ok. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Lets say your main class is this: Code: package me.plugin.plugin; import java.util.logging.Logger; import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.permission.Permission; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin { private static final Logger log = Logger.getLogger("Minecraft"); public static Economy econ = null; public static Permission perms = null; public static Chat chat = null; @Override public void onDisable() { log.info(String.format("[%s] Disabled Version %s", getDescription().getName(), getDescription().getVersion())); } @Override public void onEnable() { if (!setupEconomy() ) { log.severe(String.format("[%s] - Disabled due to no Vault dependency found!", getDescription().getName())); getServer().getPluginManager().disablePlugin(this); return; } setupPermissions(); setupChat(); } 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; } private boolean setupChat() { RegisteredServiceProvider<Chat> rsp = getServer().getServicesManager().getRegistration(Chat.class); chat = rsp.getProvider(); return chat != null; } private boolean setupPermissions() { RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class); perms = rsp.getProvider(); return perms != null; } } And your other class is this: Code: package me.plugin.plugin; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerInteractEvent; public class Vault implements Listener { Main plugin; public Vault(Main main){ this.plugin = main; } @EventHandler public void onHit(PlayerInteractEvent e) { Main.econ.depositPlayer(e.getPlayer(), 20222); } } As you see, in my "Vault" class, on my PlayerInteractEvent, I did Main.econ.depositPlayer(), "Main" meaning my main class, "econ" meaning vault,