Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Есть код плагина, надо его превратить в плагин

Статус
Закрыто для дальнейших ответов.

Milkyway7051

Активный участник
Пользователь
Баллы
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;
    }
}
 
1. Скачать NetBeans/Eclipse
2. Создать проект
3. Добавить туда свои зависимости (bukkit api, economy)
4.?????
5. Compile & profit
 
В Эклипсе
1) File
2)Export
3)Найди там JAR File
4)Дальше надеюсь сам поймешь что делать.
Неа, не понял. Нашел Jar а дальше совсем не понятно.
Я же никогда ничего не делал, и код откопал на каком то забугорном сайте спустя час рысканий по интернету.
И я просто попросил того кто понимает как это делается просто вставить готовый код (наверное, я даже не знаю куда он вставляется) и скинуть мне готовый плагин.
 
Неа, не работает
Неа, работает. Ты просил "код готового плагина" (дословная цитата) превратить в плагин. Я превратил. А то, что он не делает ничего из того, что ты хотел (теперь, при более детальном рассмотрении листинга я это понимаю) - это уже виноват твой "код готового плагина".
 
Ну у меня претензий нет. Я просто сказал, работает он, или нет.
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх