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

Помогите Выдача монет при убийстве игрока

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

  1. Автор темы
    BlazeFoxPro

    BlazeFoxPro Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    BlazefoxPro
    Ребята опять хелп.Выдаю монеты своим плагином.Щас добавлю код.
    Код:
    package ru.blazemc.blazekillcoins;
    
    import org.bukkit.plugin.java.*;
    import java.util.logging.*;
    import ru.bobik.blazemc.CoinsAPI;
    
    import java.io.*;
    import org.bukkit.plugin.*;
    import org.bukkit.event.entity.*;
    import org.bukkit.*;
    import org.bukkit.entity.*;
    import org.bukkit.configuration.file.*;
    import org.bukkit.inventory.*;
    import org.bukkit.event.*;
    
    public class Main extends JavaPlugin implements Listener
    {
        public static final Logger _log;
        public static CoinsAPI api;
       
        static {
            _log = Logger.getLogger("Minecraft");
            Main.api = null;
        }
       
        public void onEnable() {
            Main._log.info("[BlazeKill] Good luck on PvP! (by BlazeMC)");
            final File fileConf = new File(this.getDataFolder(), "config.yml");
            if (!fileConf.exists()) {
                final InputStream resourceAsStream = Main.class.getResourceAsStream("/ru/blazemc/blazekillcoins/config.yml");
                this.getDataFolder().mkdirs();
                try {
                    final FileOutputStream fos = new FileOutputStream(fileConf);
                    byte[] buff = new byte[65536];
                    int n;
                    while ((n = resourceAsStream.read(buff)) > 0) {
                        fos.write(buff, 0, n);
                        fos.flush();
                    }
                    fos.close();
                    buff = null;
                }
                catch (Exception e) {
                    e.printStackTrace();
                }
            }
            Bukkit.getPluginManager().registerEvents((Listener)this, (Plugin)this);
        }
       
        public void onDisable() {
            Main._log.info("[BlazeKill] Stoped :( (by BlazeMC)");
        }
       
        private boolean setupCoins() {
            final RegisteredServiceProvider<CoinsAPI> economyProvider = (RegisteredServiceProvider<CoinsAPI>)this.getServer().getServicesManager().getRegistration(CoinsAPI.class);
            if (economyProvider != null) {
                Main.api = (CoinsAPI)economyProvider.getProvider();
            }
            return Main.api != null;
        }
       
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onDeath(final PlayerDeathEvent e) {
            final Player player = e.getEntity();
            final FileConfiguration conf = (FileConfiguration)YamlConfiguration.loadConfiguration(new File(this.getDataFolder(), "\\config.yml"));
            final int AmountMoney = conf.getInt("amount-coins");
            if (player.getKiller() != null) {
                final Player killer = player.getKiller();
                if (this.setupCoins()) {
                    CoinsAPI.addCoins(killer, AmountMoney);
                    killer.sendMessage(ChatColor.GOLD + "Вы получили " + AmountMoney + "$ за убийство " + player.getName() + ".");
                    player.sendMessage(ChatColor.GOLD + "Вы потеряли " + AmountMoney + "$.");
                }
                else {
                    final PlayerInventory inv = killer.getInventory();
                    inv.addItem(new ItemStack[] { new ItemStack(conf.getInt("id-item"), conf.getInt("amount-item")) });
                    killer.sendMessage(ChatColor.GOLD + "Вы получили награду за убийство " + player.getName() + ".");
                    player.sendMessage(ChatColor.GOLD + killer.getName() + " получил награду за вашу голову.");
                }
            }
        }
    }
    
    И вот
    Код:
    package ru.bobik.blazemc;
    
    import org.bukkit.entity.*;
    import java.sql.*;
    
    public class CoinsAPI
    {
        public static void createTable() {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("CREATE TABLE IF NOT EXISTS Coins (Spielername VARCHAR(100), UUID VARCHAR(100), Coins INT(100))");
                    ps.executeUpdate();
                }
                catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        }
       
        public static void register(final Player p) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("INSERT INTO Coins (Spielername, UUID, Coins) VALUES (?, ?, ?)");
                    ps.setString(1, p.getName());
                    ps.setString(2, p.getUniqueId().toString());
                    ps.setInt(3, 0);
                    ps.executeUpdate();
                    ps.close();
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
       
        public static boolean isRegistered(final Player p) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("SELECT * FROM Coins WHERE UUID= ?");
                    ps.setString(1, p.getUniqueId().toString());
                    final ResultSet rs = ps.executeQuery();
                    final boolean user = rs.next();
                    rs.close();
                    rs.close();
                    return user;
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return false;
        }
       
        public static boolean isRegistered(final String name) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("SELECT * FROM Coins WHERE Spielername= ?");
                    ps.setString(1, name);
                    final ResultSet rs = ps.executeQuery();
                    final boolean user = rs.next();
                    rs.close();
                    rs.close();
                    return user;
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return false;
        }
       
        public static int getCoins(final Player p) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("SELECT * FROM Coins WHERE UUID= ?");
                    ps.setString(1, p.getUniqueId().toString());
                    final ResultSet rs = ps.executeQuery();
                    rs.next();
                    final int coins = rs.getInt("Coins");
                    rs.close();
                    ps.close();
                    return coins;
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return -1;
        }
       
        public static void setCoins(final Player p, final int coins) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("UPDATE Coins SET Coins= ? WHERE UUID= ?");
                    ps.setInt(1, coins);
                    ps.setString(2, p.getUniqueId().toString());
                    ps.executeUpdate();
                    ps.close();
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
       
        public static void addCoins(final Player p, final int coins) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("UPDATE Coins SET Coins= ? WHERE UUID= ?");
                    ps.setInt(1, getCoins(p) + coins);
                    ps.setString(2, p.getUniqueId().toString());
                    ps.executeUpdate();
                    ps.close();
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
       
        public static void removeCoins(final Player p, final int coins) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("UPDATE Coins SET Coins= ? WHERE UUID= ?");
                    ps.setInt(1, getCoins(p) - coins);
                    ps.setString(2, p.getUniqueId().toString());
                    ps.executeUpdate();
                    ps.close();
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
       
        public static int getCoins(final String name) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("SELECT * FROM Coins WHERE Spielername= ?");
                    ps.setString(1, name);
                    final ResultSet rs = ps.executeQuery();
                    rs.next();
                    final int coins = rs.getInt("Coins");
                    rs.close();
                    ps.close();
                    return coins;
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return -1;
        }
       
        public static void setCoins(final String name, final int coins) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("UPDATE Coins SET Coins= ? WHERE Spielername= ?");
                    ps.setInt(1, coins);
                    ps.setString(2, name);
                    ps.executeUpdate();
                    ps.close();
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
       
        public static void addCoins(final String name, final int coins) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("UPDATE Coins SET Coins= ? WHERE Spielername= ?");
                    ps.setInt(1, getCoins(name) + coins);
                    ps.setString(2, name);
                    ps.executeUpdate();
                    ps.close();
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
       
        public static void removeCoins(final String name, final int coins) {
            if (API.useMySQL && API.mySQL != null) {
                try {
                    final PreparedStatement ps = API.mySQL.getStatement("UPDATE Coins SET Coins= ? WHERE Spielername= ?");
                    ps.setInt(1, getCoins(name) - coins);
                    ps.setString(2, name);
                    ps.executeUpdate();
                    ps.close();
                }
                catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    BlazeFoxPro

    BlazeFoxPro Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    BlazefoxPro
  4. xBrainRTPx

    xBrainRTPx Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Brat987
    А в чем проблема?
     
  5. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    скачать исходники SWRel с гитхаба, и переписать систему эко под твое апи.
     

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