- Баллы
- 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();
}
}
}
}