Skip to content

Instantly share code, notes, and snippets.

@Cewlt
Created October 27, 2015 20:17
Show Gist options
  • Save Cewlt/28e147fade0796250470 to your computer and use it in GitHub Desktop.
Save Cewlt/28e147fade0796250470 to your computer and use it in GitHub Desktop.
package com.colt.killerreward;
import net.md_5.bungee.api.ChatColor;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.economy.EconomyResponse;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.logging.Level;
import java.util.logging.Logger;
public class KillerReward extends JavaPlugin implements Listener {
public static Economy economy = null;
private int paymentAmt;
private Logger logger;
private String msg;
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
logger = Bukkit.getLogger();
saveDefaultConfig();
setupEconomy();
}
@EventHandler
public void playerDeathEvent(PlayerDeathEvent event) {
if(event.getEntity().getKiller() != null) {
Player victim = event.getEntity();
Player killer = victim.getKiller();
EconomyResponse r = economy.depositPlayer(killer, getPaymentAmt());
if (r.transactionSuccess()) {
killer.sendMessage(String.format(getMsg(victim), economy.format(r.amount)));
} else {
logger.log(Level.WARNING, "[KillerReward] -- Economy deposit failed, make sure Vault is working fine.");
}
}
}
public String getMsg(Player victim) {
String configMsg = getConfig().getString("message");
if (configMsg != null) {
if (configMsg.contains("<player>")) {
msg = configMsg.replace("<player>", victim.getName());
msg = ChatColor.translateAlternateColorCodes('&', msg);
}
} else {
msg = "";
}
return msg;
}
public int getPaymentAmt() {
if(getConfig().getInt("amount") == 0) {
paymentAmt = 50;
} else {
paymentAmt = getConfig().getInt("amount");
}
return paymentAmt;
}
private boolean setupEconomy() {
RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
if (economyProvider != null) {
economy = economyProvider.getProvider();
}
return (economy != null);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment