- Баллы
- 66
- Имя в Minecraft
- _Morpech_
всем привет, дорогие девелоперы!
У меня коде задействовано два класса
часть кода в главном классе:
И код второго класса:
При пкм игрока с изумрудом ( предмет срабатывания условия )
консоль выдает ошибку. ругается на строку с sss.onInteractlol1(e); в главном классе
и на строку Arr.setShooter(eg.getPlayer()); во втором классе.
Надеюсь, кто-то мне поможет хд, гугл не помог.
У меня коде задействовано два класса
часть кода в главном классе:
Код:
public class mainClass extends JavaPlugin implements Listener// старт главного класса
{
public static mainClass INSTANCE;
public void onEnable()
{
INSTANCE = this;
getLogger().info("Plugin has started. YEHOO");
getServer().getPluginManager().registerEvents(this, this);
}
SkillArrowStorm sss = new SkillArrowStorm();
@EventHandler
public void onInteract(final PlayerInteractEvent e) { //Событие взаимодействия
if (e.getAction() == Action.RIGHT_CLICK_AIR | e.getAction() == Action.RIGHT_CLICK_BLOCK ){// скиллы с райт кликом по воздуху/земле
if (e.getItem() != null){
if (e.getItem().getType() == (Material.EMERALD)){
sss.onInteractlol1(e);
}
}
}
}
}
И код второго класса:
Код:
public class SkillArrowStorm {
@EventHandler
public void onInteractlol1( PlayerInteractEvent eg) {
final Player player = eg.getPlayer();
if (eg.getAction() == Action.RIGHT_CLICK_AIR | eg.getAction() == Action.RIGHT_CLICK_BLOCK ){
if (eg.getItem() != null){
if (eg.getItem().getType() == (Material.EMERALD)){
final ItemStack emeraldItem = new ItemStack(Material.EMERALD);
final ItemMeta emeraldMeta = emeraldItem.getItemMeta();
emeraldMeta.setDisplayName(ChatColor.GOLD+"Arrow Storm");
emeraldItem.setItemMeta(emeraldMeta);
for(int i = 0; i <= 20; i++)
{
Location fgf = new Location(eg.getPlayer().getWorld(), eg.getPlayer().getLocation().getX(), eg.getPlayer().getLocation().getY() + 10, eg.getPlayer().getLocation().getZ());
Vector gg = eg.getPlayer().getLocation().getDirection();
Arrow Arr = eg.getPlayer().getWorld().spawnArrow(fgf , gg, 0.6f, 15);
Arr.setTicksLived(200);
Arr.setShooter(eg.getPlayer());
}
eg.getPlayer().getInventory().removeItem( emeraldItem );
eg.getPlayer().sendMessage(ChatColor.GREEN+"Ваше умение будет возвращенно через: "+ChatColor.RED+"15 seconds");
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(mainClass.INSTANCE , new Runnable(){
@Override
public void run(){
player.getInventory().addItem( emeraldItem );
}
}, 300L);
}
}
}
}
}
При пкм игрока с изумрудом ( предмет срабатывания условия )
консоль выдает ошибку. ругается на строку с sss.onInteractlol1(e); в главном классе
и на строку Arr.setShooter(eg.getPlayer()); во втором классе.
Надеюсь, кто-то мне поможет хд, гугл не помог.