Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class votelistener extends JavaPlugin implements Listener, CommandExecutor {
- private Economy economy = null;
- private int moneyprice = 10;
- private File dueConfigf, playervotesf;
- private FileConfiguration dueConfig, playervotes;
- private static Logger log = Logger.getLogger("votelistener");
- @Override
- public void onEnable() {
- setupEconomy();
- log = getLogger();
- createFiles();
- getServer().getPluginManager().registerEvents(this, this);
- }
- private boolean setupEconomy() {
- RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
- if (economyProvider != null) {
- economy = economyProvider.getProvider();
- }
- return (economy != null);
- }
- public boolean onCommand(CommandSender who, Command cmd, String label, String[] args) {
- if (cmd.getName().equalsIgnoreCase("votelistener")) {
- if (args.length > 0 && args[0].equalsIgnoreCase("test") && who instanceof Player && who.hasPermission("votelistener.test")) {
- who.sendMessage(colorize("&7[&9votelistener&7] &3Simulating a vote for " + who.getName()));
- rewardPlayer((Player) who);
- return true;
- } else if (args.length > 0 && args[0].equalsIgnoreCase("reload") && who instanceof Player && who.hasPermission("votelistener.reload")) {
- //plugin reload
- who.sendMessage(colorize("&7[&9votelistener&7] &3The config has been reloaded!"));
- return true;
- }
- return true;
- }
- return false;
- }
- @EventHandler(priority = EventPriority.NORMAL)
- public void onVotifierEvent(VotifierEvent event) {
- Vote vote = event.getVote();
- Player who = getServer().getPlayerExact(vote.getUsername());
- log.info(vote.getUsername() + " voted for us!");
- //player stats
- if (this.getPlayerConfig().contains(vote.getUsername())) {
- int t2 = this.getPlayerConfig().getInt(vote.getUsername());
- t2++;
- this.getPlayerConfig().set(vote.getUsername(), t2);
- } else {
- this.getPlayerConfig().set(vote.getUsername(), 1);
- }
- savePlayerConfig();
- if (who != null) { //The player is online
- rewardPlayer(who);
- 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!");
- who.playSound(who.getLocation(), Sound.BLOCK_NOTE_GUITAR, 10, 1);
- } else { //The player is offline
- if (dueConfig.contains(vote.getUsername())) { //The player already has a vote pending, add another
- int t = dueConfig.getInt(vote.getUsername());
- t++;
- dueConfig.set(vote.getUsername(), t);
- } else //The player does not have any votes pending, save the first one
- dueConfig.set(vote.getUsername(), 1);
- saveDueConfig();
- }
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent event) {
- Player p = event.getPlayer();
- if (dueConfig.contains(p.getName())) {
- int c = dueConfig.getInt(p.getName());
- for (int i = 0; i < c; i++) {
- rewardPlayer(p);
- }
- int x = c * moneyprice;
- p.sendMessage(ChatColor.GRAY + "[" + ChatColor.GOLD + "Vote" + ChatColor.GRAY + "]" + ChatColor.DARK_GREEN + "Du hast " + x + " Taler für " + c + " Vote(s) erhalten!");
- dueConfig.set(p.getName(), null);
- saveDueConfig();
- }
- }
- private void rewardPlayer(Player who) {
- economy.depositPlayer(who, moneyprice);
- }
- private String colorize(String text) {
- return ChatColor.translateAlternateColorCodes('&', text);
- }
- private void saveDueConfig() {
- try {
- dueConfig.save(dueConfigf);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- };
- }
- private void savePlayerConfig() {
- try {
- playervotes.save(playervotesf);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public FileConfiguration getPlayerConfig() {
- return this.playervotes;
- }
- private void createFiles() {
- dueConfigf = new File(getDataFolder(), "playersDue.yml");
- playervotesf = new File(getDataFolder(), "playervotes.yml");
- if (!dueConfigf.exists()) {
- dueConfigf.getParentFile().mkdirs();
- //saveResource("playersDue.yml", false);
- try {
- dueConfigf.createNewFile();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- if (!playervotesf.exists()) {
- playervotesf.getParentFile().mkdirs();
- //saveResource("playervotes.yml", false);
- try {
- playervotesf.createNewFile();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- dueConfig = new YamlConfiguration();
- playervotes = new YamlConfiguration();
- try {
- dueConfig.load(dueConfigf);
- } catch (IOException | InvalidConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- playervotes.load(playervotesf);
- } catch (IOException | InvalidConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement