- Баллы
- 78
- Имя в Minecraft
- Milkyway705
Всем привет. У меня есть код готового плагина, как его сделать в jar формате? Буду рад, если кто то поможет это сделать!
Код:
package me.sainttx;
import java.util.ArrayList;
import net.ess3.api.events.UserBalanceUpdateEvent;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
public class CoinMultiplier extends JavaPlugin implements Listener {
private static Economy economy;
private boolean disable = false; // Disables x3, x4, x5, x6
@Override
public void onEnable() {
saveDefaultConfig();
economy();
Bukkit.getPluginManager().registerEvents(this, this);
getCommand("coin").setExecutor(this);
}
private boolean economy() {
RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
if (economyProvider != null) {
economy = economyProvider.getProvider();
}
return (economy != null);
}
private static ArrayList<String> justChanged = new ArrayList<String>();
@EventHandler
public void onBalanceUpdate(UserBalanceUpdateEvent event) {
final Player player = event.getPlayer();
double newBalance = event.getNewBalance().doubleValue();
double oldBalance = event.getOldBalance().doubleValue();
final double difference = newBalance - oldBalance;
final int multiplier = multiplier(player);
if (difference < 0 || multiplier == 0 || disable || justChanged.contains(player.getName())) {
return;
}
justChanged.add(player.getName());
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() { // wait so that list will update
@Override
public void run() {
economy.depositPlayer(player.getName(), (difference * multiplier) - difference);
if (getConfig().getBoolean("tell-player-bonus")) {
sendText((CommandSender) player, getConfig().getString("messages.tell-player-bonus").replaceAll("%n", Double.toString((difference * multiplier) - difference)), false);
}
}
}, 5L);
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
@Override
public void run() {
justChanged.remove(player.getName());
}
}, 20L);
}
private int multiplier(Player player) {
for (int i = 2; i <= 6; i++) {
if (player.hasPermission("coin.x" + i)) {
return i;
}
}
return 0;
}
private void sendMenu(CommandSender sender) {
for (String text : getConfig().getStringList("messages.menu")) {
sendText(sender, text, false);
}
}
private void sendText(CommandSender sender, String text, boolean configentry) {
if (configentry) {
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages." + text)));
} else {
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', text));
}
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (args.length == 0) {
sendMenu(sender);
} else {
String arg = args[0].toLowerCase();
if (!sender.hasPermission("coin." + arg) && !sender.isOp()) {
sendText(sender, "permission", true);
return false;
}
if (arg.equals("enable")) {
if (disable) {
disable = false;
sendText(sender, "enable", true);
} else {
sendText(sender, "enable2", true);
}
} else if (arg.equals("disable")) { // disable x3/4/5/6
if (!disable) {
disable = true;
sendText(sender, "disable", true);
} else {
sendText(sender, "disable2", true);
}
} else if (arg.equals("reload")) {
reloadConfig();
sendText(sender, "reload", true);
} else {
sendMenu(sender);
}
}
return false;
}
}

