Нужна срочная помощь про программе eclipse.

Дмитрий Толочко
Здравствуйте форумчанины geekbrains. Я получил базовое знание по "Java". И решил написать плагин для игры minecraft. Я подобрал Bukkit API версии 1.6.4. Соответственно плагин я делал на версию minecraft 1.6.4. Так вот, ошибок в коде не было. После того когда я скомпилировал плагин, он не заработал на самом сервере.
Прошу мне помочь решить проблему. Программой я пользуюсь практически первый раз. 
При компиляции возник такой "Warning" - http://prntscr.com/7r7tra
А так же я предоставлю исходный код плагина.
Папка src - место хранения всех классов.
ru.worker.plugin - package классов.
Код класса "ItemManager" : 
package ru.worker.plugin;

import java.util.ArrayList;

import java.util.List;
import java.util.Random;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
public class ItemManager
{
 private String chatPrefix = ChatColor.translateAlternateColorCodes('&', "&c&l[&2&lVimeWorld&c&l] &7");
 
 protected ItemStack setLoreAndDurability(ItemStack item, int goCase, boolean STBool)
 {
   ItemMeta meta = item.getItemMeta();
   short durability = item.getType().getMaxDurability();
   int fortune = new Random().nextInt(100) + 1;int fortuneTwo = new Random().nextInt(10) + 1;
   ArrayList<String> lore = new ArrayList();
   String bs = null;String ww = null;String ft = null;String mw = null;String fn = null;
   
   if (fortune <= 30)
   {
     lore.add(bs);
     item.setDurability((short)(durability / 2));
   }
   else if (fortune <= 60)
   {
     lore.add(ww);
     item.setDurability((short)(durability / 3));
   }
   else if (fortune <= 80)
   {
     lore.add(ft);
     item.setDurability((short)(durability / 5));
   }
   else if (fortune <= 90)
   {
     lore.add(mw);
     item.setDurability((short)(durability / 8));
   }
   else
   {
     lore.add(fn);
   }
   if ((fortuneTwo == 3) && (STBool)) {
     lore.add(ChatColor.translateAlternateColorCodes('&', "&e&l��������: 0"));
   }
   meta.setLore(lore);
   item.setItemMeta(meta);
   return item;
 }
 
 protected ItemStack getRandomItem()
 {
   Random random = new Random();
   int fortuneOne = random.nextInt(46) + 1;
   int ST = random.nextInt(100) + 1;
   ItemStack item = null;
   ItemMeta meta = null;
   switch (fortuneOne)
   {
   case 1:
     item = new ItemStack(Material.GOLD_SWORD);
     meta = item.getItemMeta();
     if (random.nextBoolean()) {
       meta.addEnchant(Enchantment.DAMAGE_ALL, random.nextInt(5) + 1, true);
     }
     meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&9Золотой меч"));
     item.setItemMeta(meta);
     item = setLoreAndDurability(item, 1, true);
     return item;
   case 2:
     item = new ItemStack(Material.WOOD_SWORD);
     meta = item.getItemMeta();
     if (random.nextBoolean()) {
       meta.addEnchant(Enchantment.DAMAGE_ALL, random.nextInt(5) + 1, true);
     }
     meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&1Деревянный меч"));
     item.setItemMeta(meta);
     item = setLoreAndDurability(item, 1, true);
     return item;
   case 3:
     item = new ItemStack(Material.STONE_SWORD);
     meta = item.getItemMeta();
     if (random.nextBoolean()) {
       meta.addEnchant(Enchantment.DAMAGE_ALL, random.nextInt(5) + 1, true);
     }
     meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&5Каменный меч"));
     item.setItemMeta(meta);
     item = setLoreAndDurability(item, 1, true);
     return item;
   case 4:
     item = new ItemStack(Material.IRON_SWORD);
     meta = item.getItemMeta();
     if (random.nextBoolean()) {
       meta.addEnchant(Enchantment.DAMAGE_ALL, random.nextInt(5) + 1, true);
     }
     meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&dЖелезный меч"));
     item.setItemMeta(meta);
     item = setLoreAndDurability(item, 1, true);
     return item;
   case 5:
     item = new ItemStack(Material.DIAMOND_SWORD);
     meta = item.getItemMeta();
     if (random.nextBoolean()) {
       meta.addEnchant(Enchantment.DAMAGE_ALL, random.nextInt(5) + 1, true);
     }
     meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&4&lАлмазный меч"));
     item.setItemMeta(meta);
     item = setLoreAndDurability(item, 1, true);
     return item;
   }
   return null;
 }
 
 public void playerOpenCase(Player player, Location location)
 {
   ItemStack item = getRandomItem();
   location.setY(location.getY() + 1.0D);
   World world = location.getWorld();
   world.dropItem(location, item);
   Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', this.chatPrefix + "Игрок &9" + player.getName() + "&7 Открыл кейс и получил: &r" + item.getItemMeta().getDisplayName().toLowerCase() + " &0(&r" + ((String)item.getItemMeta().getLore().get(0)).toLowerCase() + "&0)."));
 }
}

Код класса "RandomCase":
package ru.worker.plugin;

import java.util.ArrayList;

import java.util.List;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.block.Block;
import org.bukkit.block.Chest;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class RandomCase
extends JavaPlugin
implements Listener
{
protected String loggerPrefix = "[RandomCase] ";
protected String chatPrefix = ChatColor.translateAlternateColorCodes('&', "&c&l[&2&lRandomCase&c&l] &7");
protected Logger logger = Logger.getLogger("RandomCase");
protected String key = ChatColor.translateAlternateColorCodes('&', "&cКлюч");
protected String keyLore = ChatColor.translateAlternateColorCodes('&', "&c&lКлюч к кейсу");
protected String chestCase = ChatColor.translateAlternateColorCodes('&', "&aТестовый кейс");
protected String chestCaseLore = ChatColor.translateAlternateColorCodes('&', "&a&lWorker");

public void onEnable()
{
getServer().getPluginManager().registerEvents(this, this);
this.logger.info(this.loggerPrefix + "Плагин был включен.");

ArrayList<String> loreCase = new ArrayList();
loreCase.add(this.chestCaseLore);
ItemStack itemCase = new ItemStack(Material.CHEST);
ItemMeta caseMeta = itemCase.getItemMeta();
caseMeta.addEnchant(Enchantment.DURABILITY, 1, true);
caseMeta.setDisplayName(this.chestCase);
caseMeta.setLore(loreCase);
itemCase.setItemMeta(caseMeta);
ShapedRecipe recipeCase = new ShapedRecipe(itemCase);
recipeCase.shape(new String[] { "WWW", "WEW", "WWW" });
recipeCase.setIngredient('W', Material.WOOD);
recipeCase.setIngredient('E', Material.ENDER_PEARL);
getServer().addRecipe(recipeCase);
ArrayList<String> loreKey = new ArrayList();

loreKey.add(this.keyLore);
ItemStack itemKey = new ItemStack(Material.TRIPWIRE_HOOK);
ItemMeta keyMeta = itemKey.getItemMeta();
keyMeta.addEnchant(Enchantment.DURABILITY, 1, true);
keyMeta.setDisplayName(this.keyLore);
keyMeta.setLore(loreKey);
itemKey.setItemMeta(keyMeta);
ShapedRecipe recipeKey = new ShapedRecipe(itemKey);
recipeKey.shape(new String[] { "SDS", "SIS", "SSS" });
recipeKey.setIngredient('S', Material.STICK);
recipeKey.setIngredient('D', Material.DIAMOND);
recipeKey.setIngredient('I', Material.IRON_BLOCK);
getServer().addRecipe(recipeKey);
}

public void onDisable()
{
this.logger.info(this.loggerPrefix + "Плагин был выключен.");
}

@EventHandler
public void checkOpenCase(PlayerInteractEvent event)
{
try
{
if (event.getClickedBlock().getType().getId() == 54) {
if (((Chest)event.getClickedBlock().getState()).getInventory().getName().equals(this.chestCase)) {
if ((event.getPlayer().getInventory().getItemInHand().hasItemMeta()) && (event.getPlayer().getInventory().getItemInHand() != null) && (event.getPlayer().getInventory().getItemInHand().getItemMeta().hasLore()) && (((String)event.getPlayer().getInventory().getItemInHand().getItemMeta().getLore().get(0)).contains(this.keyLore)))
{
if (event.getPlayer().getInventory().getItemInHand().getAmount() > 1) {
event.getPlayer().getInventory().getItemInHand().setAmount(event.getPlayer().getInventory().getItemInHand().getAmount() - 1);
} else {
event.getPlayer().getInventory().setItemInHand(null);
}
event.getClickedBlock().setTypeId(0);
new ItemManager().playerOpenCase(event.getPlayer(), event.getClickedBlock().getLocation());
}
else
{
event.setCancelled(true);
event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', this.chatPrefix + "Ошибка. Чтобы открыть кейс вы должны иметь ключ. Купить его вы можете в личном кабинете."));
}
}
}
}
catch (Exception ignored) {}
}

@EventHandler
public void addST(PlayerDeathEvent event)
{
try
{
Player killer = event.getEntity().getKiller();
if (((String)killer.getInventory().getItemInHand().getItemMeta().getLore().get(1)).contains("Древний Предмет: "))
{
int number = Integer.valueOf(((String)killer.getInventory().getItemInHand().getItemMeta().getLore().get(1)).split(": ")[1]).intValue() + 1;
ItemMeta meta = killer.getInventory().getItemInHand().getItemMeta();
ArrayList<String> lore = new ArrayList();
lore.add(meta.getLore().get(0));
lore.add(ChatColor.translateAlternateColorCodes('&', "&e&lДревний Предмет: " + number));
meta.setLore(lore);
killer.getInventory().getItemInHand().setItemMeta(meta);
}
}
catch (Exception ignored) {}
}

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
try
{
if ((sender instanceof Player))
{
Player player = (Player)sender;
if (cmd.getName().equalsIgnoreCase("opencase"))
{
if (player.hasPermission("vimecase.opencase"))
{
if (args.length == 0)
{
new ItemManager().playerOpenCase(player, player.getLocation());
return true;
}
if (args.length == 1)
{
if (player.hasPermission("vimecase.opencase.other"))
{
new ItemManager().playerOpenCase(Bukkit.getPlayer(args[0]), player.getLocation());
return true;
}
player.sendMessage(ChatColor.translateAlternateColorCodes('&', this.chatPrefix + "У вас нет прав."));
return true;
}
}
else
{
player.sendMessage(ChatColor.translateAlternateColorCodes('&', this.chatPrefix + "У вас нет прав."));
return true;
}
}
else
{
if (cmd.getName().equalsIgnoreCase("key"))
{
if (player.hasPermission("vimecase.key"))
{
if (args.length == 0)
{
ItemStack item = new ItemStack(Material.NAME_TAG);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(this.key);
ArrayList<String> lore = new ArrayList();
lore.add(this.keyLore);
meta.setLore(lore);
meta.addEnchant(Enchantment.DURABILITY, 1, true);
item.setItemMeta(meta);
player.getInventory().addItem(new ItemStack[] { item });
return true;
}
if (args.length == 1)
{
if (player.hasPermission("vimecase.key.other"))
{
ItemStack item = new ItemStack(Material.NAME_TAG);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(this.key);
ArrayList<String> lore = new ArrayList();
lore.add(this.keyLore);
meta.setLore(lore);
meta.addEnchant(Enchantment.DURABILITY, 1, true);
item.setItemMeta(meta);
Player other = Bukkit.getPlayer(args[0]);
other.getInventory().addItem(new ItemStack[] { item });
return true;
}
player.sendMessage(ChatColor.translateAlternateColorCodes('&', "У вас нет прав на выдачу ключей другим игрокам."));
return true;
}
return false;
}
player.sendMessage(ChatColor.translateAlternateColorCodes('&', this.chatPrefix + "У вас нет прав на выдачу ключей другим игрокам."));
return true;
}
if (cmd.getName().equalsIgnoreCase("сase"))
{
if (player.hasPermission("vimecase.case"))
{
if (args.length == 0)
{
ItemStack item = new ItemStack(Material.CHEST);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(this.chestCase);
ArrayList<String> lore = new ArrayList();
lore.add(this.chestCaseLore);
meta.setLore(lore);
meta.addEnchant(Enchantment.DURABILITY, 1, true);
item.setItemMeta(meta);
player.getInventory().addItem(new ItemStack[] { item });
return true;
}
if (args.length == 1)
{
if (player.hasPermission("vimecase.case.other"))
{
ItemStack item = new ItemStack(Material.CHEST);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(this.chestCase);
ArrayList<String> lore = new ArrayList();
lore.add(this.chestCaseLore);
meta.setLore(lore);
meta.addEnchant(Enchantment.DURABILITY, 1, true);
item.setItemMeta(meta);
Player other = Bukkit.getPlayer(args[0]);
other.getInventory().addItem(new ItemStack[] { item });
return true;
}
player.sendMessage(ChatColor.translateAlternateColorCodes('&', "Нет прав."));
return true;
}
return false;
}
player.sendMessage(ChatColor.translateAlternateColorCodes('&', this.chatPrefix + "Нет прав."));
return true;
}
return false;
}
}
return false;
}
catch (Exception ignored) {}
return false;
}
}

Текст файла "plugin.yml":
name: VimeCase

main: by.worker.plugin.RandomCase
version: 1.0
author: Worker
commands:
opencase:
description: Команда для открытия кейса
permission: vimecase.opencase
usage: /opencase [player]
getcase:
description: Команда для получения кейса
permission: vimecase.case
usage: /case [player]
getkey:
description: Команда для получения ключа
permission: vimecase.key
usage: /key [player]

Нуждаюсь в Вашей помощи.
Дмитрий Толочко больше 2 лет назадСпасибо 0
0 чел.