Advertisement
Guest User

Untitled

a guest
Dec 12th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.84 KB | None | 0 0
  1. public class votelistener extends JavaPlugin implements Listener, CommandExecutor {
  2.  
  3. private Economy economy = null;
  4. private int moneyprice = 10;
  5. private File dueConfigf, playervotesf;
  6. private FileConfiguration dueConfig, playervotes;
  7. private static Logger log = Logger.getLogger("votelistener");
  8.  
  9.  
  10. @Override
  11. public void onEnable() {
  12. setupEconomy();
  13. log = getLogger();
  14. createFiles();
  15.  
  16. getServer().getPluginManager().registerEvents(this, this);
  17. }
  18.  
  19.  
  20. private boolean setupEconomy() {
  21. RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
  22. if (economyProvider != null) {
  23. economy = economyProvider.getProvider();
  24. }
  25.  
  26. return (economy != null);
  27. }
  28.  
  29.  
  30. public boolean onCommand(CommandSender who, Command cmd, String label, String[] args) {
  31. if (cmd.getName().equalsIgnoreCase("votelistener")) {
  32. if (args.length > 0 && args[0].equalsIgnoreCase("test") && who instanceof Player && who.hasPermission("votelistener.test")) {
  33. who.sendMessage(colorize("&7[&9votelistener&7] &3Simulating a vote for " + who.getName()));
  34. rewardPlayer((Player) who);
  35. return true;
  36. } else if (args.length > 0 && args[0].equalsIgnoreCase("reload") && who instanceof Player && who.hasPermission("votelistener.reload")) {
  37. //plugin reload
  38. who.sendMessage(colorize("&7[&9votelistener&7] &3The config has been reloaded!"));
  39. return true;
  40. }
  41. return true;
  42. }
  43. return false;
  44. }
  45.  
  46.  
  47. @EventHandler(priority = EventPriority.NORMAL)
  48. public void onVotifierEvent(VotifierEvent event) {
  49. Vote vote = event.getVote();
  50. Player who = getServer().getPlayerExact(vote.getUsername());
  51. log.info(vote.getUsername() + " voted for us!");
  52.  
  53. //player stats
  54. if (this.getPlayerConfig().contains(vote.getUsername())) {
  55. int t2 = this.getPlayerConfig().getInt(vote.getUsername());
  56. t2++;
  57. this.getPlayerConfig().set(vote.getUsername(), t2);
  58. } else {
  59. this.getPlayerConfig().set(vote.getUsername(), 1);
  60. }
  61. savePlayerConfig();
  62.  
  63. if (who != null) { //The player is online
  64. rewardPlayer(who);
  65. Bukkit.getServer().broadcastMessage(ChatColor.GRAY + "[" + ChatColor.GOLD + "Info" + ChatColor.GRAY + "] " + ChatColor.DARK_GREEN + vote.getUsername() + " hat für den Server gevotet und bekommt 10 Taler!");
  66. who.playSound(who.getLocation(), Sound.BLOCK_NOTE_GUITAR, 10, 1);
  67. } else { //The player is offline
  68. if (dueConfig.contains(vote.getUsername())) { //The player already has a vote pending, add another
  69. int t = dueConfig.getInt(vote.getUsername());
  70. t++;
  71. dueConfig.set(vote.getUsername(), t);
  72. } else //The player does not have any votes pending, save the first one
  73. dueConfig.set(vote.getUsername(), 1);
  74. saveDueConfig();
  75. }
  76. }
  77.  
  78.  
  79. @EventHandler
  80. public void onJoin(PlayerJoinEvent event) {
  81. Player p = event.getPlayer();
  82. if (dueConfig.contains(p.getName())) {
  83. int c = dueConfig.getInt(p.getName());
  84. for (int i = 0; i < c; i++) {
  85. rewardPlayer(p);
  86.  
  87. }
  88. int x = c * moneyprice;
  89. p.sendMessage(ChatColor.GRAY + "[" + ChatColor.GOLD + "Vote" + ChatColor.GRAY + "]" + ChatColor.DARK_GREEN + "Du hast " + x + " Taler für " + c + " Vote(s) erhalten!");
  90. dueConfig.set(p.getName(), null);
  91. saveDueConfig();
  92. }
  93. }
  94.  
  95.  
  96. private void rewardPlayer(Player who) {
  97. economy.depositPlayer(who, moneyprice);
  98. }
  99.  
  100.  
  101. private String colorize(String text) {
  102. return ChatColor.translateAlternateColorCodes('&', text);
  103. }
  104.  
  105.  
  106.  
  107.  
  108. private void saveDueConfig() {
  109. try {
  110. dueConfig.save(dueConfigf);
  111. } catch (IOException e) {
  112. // TODO Auto-generated catch block
  113. e.printStackTrace();
  114. };
  115. }
  116.  
  117. private void savePlayerConfig() {
  118. try {
  119. playervotes.save(playervotesf);
  120. } catch (IOException e) {
  121. // TODO Auto-generated catch block
  122. e.printStackTrace();
  123. }
  124. }
  125.  
  126. public FileConfiguration getPlayerConfig() {
  127. return this.playervotes;
  128. }
  129.  
  130.  
  131. private void createFiles() {
  132.  
  133. dueConfigf = new File(getDataFolder(), "playersDue.yml");
  134. playervotesf = new File(getDataFolder(), "playervotes.yml");
  135.  
  136. if (!dueConfigf.exists()) {
  137. dueConfigf.getParentFile().mkdirs();
  138. //saveResource("playersDue.yml", false);
  139. try {
  140. dueConfigf.createNewFile();
  141. } catch (IOException e) {
  142. // TODO Auto-generated catch block
  143. e.printStackTrace();
  144. }
  145. }
  146. if (!playervotesf.exists()) {
  147. playervotesf.getParentFile().mkdirs();
  148. //saveResource("playervotes.yml", false);
  149. try {
  150. playervotesf.createNewFile();
  151. } catch (IOException e) {
  152. // TODO Auto-generated catch block
  153. e.printStackTrace();
  154. }
  155. }
  156.  
  157. dueConfig = new YamlConfiguration();
  158. playervotes = new YamlConfiguration();
  159.  
  160. try {
  161. dueConfig.load(dueConfigf);
  162. } catch (IOException | InvalidConfigurationException e) {
  163. // TODO Auto-generated catch block
  164. e.printStackTrace();
  165. }
  166. try {
  167. playervotes.load(playervotesf);
  168. } catch (IOException | InvalidConfigurationException e) {
  169. // TODO Auto-generated catch block
  170. e.printStackTrace();
  171. }
  172.  
  173. }
  174.  
  175.  
  176.  
  177.  
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement