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

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.*********ventory.*;
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();
            }
        }
    }
}
 
А в чем проблема?
 
Назад
Верх