Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Milkyway7051, 5 ноя 2014.

Статус темы:
Закрыта.
  1. Автор темы
    Milkyway7051

    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;
        }
    }
    
     
  2. Хостинг MineCraft
    <
  3. kirill2011s

    kirill2011s Старожил Пользователь

    Баллы:
    103
  4. Автор темы
    Milkyway7051

    Milkyway7051 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Milkyway705
  5. DragoSFire

    DragoSFire Старожил Пользователь

    Баллы:
    123
    Skype:
    dragosfire2012
    Имя в Minecraft:
    DragoSFire
    1. Скачать NetBeans/Eclipse
    2. Создать проект
    3. Добавить туда свои зависимости (bukkit api, economy)
    4.?????
    5. Compile & profit
     
  6. Автор темы
    Milkyway7051

    Milkyway7051 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Milkyway705
    Что такое зависимости? =)
    Я же полный нубас в этом. :confused:
     
  7. Автор темы
    Milkyway7051

    Milkyway7051 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Milkyway705
    Неа, не понял. Нашел Jar а дальше совсем не понятно.
    Я же никогда ничего не делал, и код откопал на каком то забугорном сайте спустя час рысканий по интернету.[DOUBLEPOST=1415301617,1415301160][/DOUBLEPOST]И я просто попросил того кто понимает как это делается просто вставить готовый код (наверное, я даже не знаю куда он вставляется) и скинуть мне готовый плагин.
     
  8. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
  9. Автор темы
    Milkyway7051

    Milkyway7051 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Milkyway705
    Ну как? Вышло че нить?
     
  10. LaoTheLizard

    LaoTheLizard Старожил Пользователь

    Баллы:
    103
    Skype:
    sgp_the_controller
     

    Вложения:

  11. Автор темы
    Milkyway7051

    Milkyway7051 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Milkyway705
    Неа, не работает
     
  12. LaoTheLizard

    LaoTheLizard Старожил Пользователь

    Баллы:
    103
    Skype:
    sgp_the_controller
    Неа, работает. Ты просил "код готового плагина" (дословная цитата) превратить в плагин. Я превратил. А то, что он не делает ничего из того, что ты хотел (теперь, при более детальном рассмотрении листинга я это понимаю) - это уже виноват твой "код готового плагина".
     
  13. Автор темы
    Milkyway7051

    Milkyway7051 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Milkyway705
    Ну у меня претензий нет. Я просто сказал, работает он, или нет.
     
  14. TheMrDanchik

    TheMrDanchik Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    TheMrDanchik
    Закрывай
     
Статус темы:
Закрыта.

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