Code not working!?

Discussion in 'Plugin Development' started by Rockindavies21, May 17, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Rockindavies21

    Hi guys, i made a plugin so that whenever a player is hit they drop golden apples. But, it stopped working after i added the vault API. I can't find the problem anywhere.
    Code:java
    1. package me.rockindavies21.tcitems;
    2.  
    3. import java.util.logging.Logger;
    4.  
    5. import net.milkbowl.vault.economy.Economy;
    6. import net.milkbowl.vault.economy.EconomyResponse;
    7.  
    8. import org.bukkit.Location;
    9. import org.bukkit.Material;
    10. import org.bukkit.World;
    11. import org.bukkit.command.Command;
    12. import org.bukkit.command.CommandSender;
    13. import org.bukkit.entity.Entity;
    14. import org.bukkit.entity.Player;
    15. import org.bukkit.event.EventHandler;
    16. import org.bukkit.event.Listener;
    17. import org.bukkit.event.entity.EntityDamageEvent;
    18. import org.bukkit.event.player.PlayerInteractEntityEvent;
    19. import org.bukkit.inventory.ItemStack;
    20. import org.bukkit.plugin.PluginDescriptionFile;
    21. import org.bukkit.plugin.RegisteredServiceProvider;
    22. import org.bukkit.plugin.java.JavaPlugin;
    23.  
    24. public class TCItems extends JavaPlugin implements Listener {
    25. public final Logger logger = Logger.getLogger ("Minecraft");
    26. public static TCItems plugin;
    27. public static Economy economy = null;
    28.  
    29. @Override
    30. public void onDisable() {
    31. PluginDescriptionFile pdfFile = this.getDescription();
    32. this.logger.info(pdfFile.getName() + " Has Been Disabled!");
    33.  
    34. }
    35.  
    36. @Override
    37. public void onEnable() {
    38. if (!setupEconomy() ) {
    39. PluginDescriptionFile pdfFile = this.getDescription();
    40. this.logger.info(pdfFile.getName() + " Has Been Enabled!");
    41. getServer().getPluginManager().registerEvents(this, this);
    42. }
    43. }
    44.  
    45. private boolean setupEconomy()
    46. {
    47. RegisteredServiceProvider <Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
    48. if (economyProvider != null) {
    49. economy = economyProvider.getProvider();
    50. }
    51.  
    52. return (economy != null);
    53.  
    54. }
    55.  
    56. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
    57. Player player = (Player) sender;
    58. if(commandLabel.equalsIgnoreCase("test-economy")) {
    59. sender.sendMessage(String.format("You have %s", economy.format(economy.getBalance(player.getName()))));
    60. EconomyResponse r = economy.depositPlayer(player.getName(), 1.05);
    61. if(r.transactionSuccess()) {
    62. sender.sendMessage(String.format("You were given %s and now have %s", economy.format(r.amount), economy.format(r.balance)));
    63. } else {
    64. sender.sendMessage(String.format("An error occured: %s", r.errorMessage));
    65. }
    66. return true;
    67.  
    68. }
    69. return false;
    70. }
    71.  
    72. @EventHandler
    73. public void Apples(EntityDamageEvent event){
    74.  
    75. Entity e = event.getEntity();
    76. if(e instanceof Player) {
    77. Location loc = e.getLocation();
    78. ItemStack itemstack = new ItemStack(Material.GOLDEN_APPLE);
    79. World world = e.getWorld();
    80. EconomyResponse r = economy.depositPlayer(player.getName(), 1);
    81.  
    82. world.dropItemNaturally(loc, itemstack);
    83.  
    84. }
    85. }
    86.  
    87. }
     
  2. Offline

    AoH_Ruthless

  3. Offline

    Insomniac10102

    First line in your onEnable()

    Code:java
    1. if (!setupEconomy() ) {


    setupEconomy returns true if your plugin succeeded to set up economy, and false if otherwise. So your code essentially says "only enable if economy failed to load". Remove the ! operator.
     
  4. Offline

    MrSparkzz

    Is there an error in the console?
     
Thread Status:
Not open for further replies.

Share This Page