Votifier Listener

Discussion in 'Plugin Development' started by PieMan456, Nov 25, 2013.

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

    PieMan456

    Hello Everyone,

    I am creating a custom votifier listener. I was wondering if I could have a economy plugin in the votifier listener. I need a new economy plugin because when a player votes I want them to get 3 "Coins". And I am pretty sure no economy plugins can have two seperate balances at the same time. So please tell if this will work if I have to do something different. Thanks!
    Code:
    Code:java
    1. package me.pieman.votelistener;
    2.  
    3. import java.util.HashMap;
    4. import java.util.List;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.Material;
    9. import org.bukkit.block.Sign;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.block.Action;
    14. import org.bukkit.event.block.SignChangeEvent;
    15. import org.bukkit.event.player.PlayerInteractEvent;
    16. import org.bukkit.event.player.PlayerJoinEvent;
    17. import org.bukkit.inventory.Inventory;
    18. import org.bukkit.inventory.ItemStack;
    19. import org.bukkit.plugin.Plugin;
    20. import org.bukkit.plugin.java.JavaPlugin;
    21.  
    22. import com.vexsoftware.votifier.model.Vote;
    23. import com.vexsoftware.votifier.model.VotifierEvent;
    24.  
    25. public class VoteListener extends JavaPlugin implements Listener{
    26.  
    27. MyConfigManager manager;
    28. MyConfig Config1;
    29.  
    30. public static HashMap<String, Double> money = new HashMap<String, Double>();
    31.  
    32. public void onEnable(){
    33. manager = new MyConfigManager(this);
    34. Config1 = manager.getNewConfig("Config1.yml");
    35. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    36. getConfig().options().copyDefaults(true);
    37. this.saveConfig();
    38. Config1.saveConfig();
    39.  
    40. for(Player p : Bukkit.getOnlinePlayers()){
    41. double cash = Config1.getDouble(p.getName());
    42. VoteListener.money.put(p.getName(), cash);
    43. }
    44. }
    45.  
    46. public void onDisable(){
    47. this.saveConfig();
    48. Config1.saveConfig();
    49. }
    50.  
    51. public void openInventory(Player p){
    52. Inventory inv = Bukkit.createInventory(null, 45, "FadedCoins Items");
    53.  
    54. List<String> itemlist = getConfig().getStringList("items");
    55. for(String items : itemlist){
    56. Material it = Material.getMaterial(items);
    57. ItemStack item = new ItemStack(Material.matchMaterial(items.toUpperCase()));
    58.  
    59. }
    60. }
    61.  
    62.  
    63.  
    64.  
    65.  
    66. @EventHandler
    67. public void onPlayerVote(VotifierEvent e){
    68. Vote v = e.getVote();
    69. Bukkit.getServer().broadcastMessage(ChatColor.GREEN + v.getUsername() + ChatColor.YELLOW + " voted on" + v.getServiceName() + ChatColor.YELLOW + " and received 3 FadedCoins!");
    70. Player p = Bukkit.getServer().getPlayer(v.getUsername());
    71. if(p == null){
    72. return;
    73. }
    74. double cash = VoteListener.money.get(p.getName());
    75. VoteListener.money.put(p.getName(), cash + 3.0);
    76. Config1.set(p.getName(), cash);
    77. p.sendMessage("You received 3 FadedCoins for voting!");
    78. }
    79.  
    80. @EventHandler
    81. public void onPlayerInteract(PlayerInteractEvent e){
    82. if(!(e.getAction() == Action.RIGHT_CLICK_BLOCK)) return;
    83. if(e.getClickedBlock().getType() != Material.SIGN && e.getClickedBlock().getType() != Material.SIGN_POST) return;
    84. Sign s = (Sign) e.getClickedBlock().getState();
    85. if(s.getLine(0).equalsIgnoreCase(ChatColor.GREEN + "Click to Trade")){
    86. Player p = (Player) e.getPlayer();
    87. openInventory(p);
    88. }
    89. }
    90.  
    91. @EventHandler
    92. public void onSignChange(SignChangeEvent e, Player p){
    93. if(!(p.hasPermission("vot.sign")) && e.getLine(0).equalsIgnoreCase("Click to Trade")){
    94. e.getBlock().breakNaturally();
    95. p.sendMessage(ChatColor.RED + "You do not have permission to make that sign!");
    96. }
    97. if(!(e.getLines().length >= 1) && !e.getLine(0).equalsIgnoreCase("Click to Trade")) return;
    98. e.setLine(0, ChatColor.GREEN + "Click to Trade");
    99. }
    100.  
    101. @EventHandler
    102. public void onPlayerJoin(PlayerJoinEvent e){
    103. Player p = e.getPlayer();
    104. if(VoteListener.money.get(p.getName()) == null || VoteListener.money.containsKey(p.getName())){
    105. Config1.set(p.getName(), 0.0);
    106. VoteListener.money.put(p.getName(), 0.0);
    107. }
    108. }
    109. }
    110.  
     
  2. Offline

    MajorSkillage

    i doubt you still have this error but incase you do, you can store values in a yml, thats what i do
     
  3. MajorSkillage There's really no need to bump an almost 11 month old thread, especially when the OP hasn't been online for 7 of those :)
     
Thread Status:
Not open for further replies.

Share This Page