[Çözüldü] Plugin sorunsuz çalışıyor ancak konsolda hata veriyor ?

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Oyuna değişik yaylar ekleyen bir plugin yaptım plugin sorunsuz çalışıyor ancak normal ok attığımda konsolda hata veriyor ancak efektler düzgün çalışıyor.(tntyay yada ışınlayıcı yay kullanmadığımda):
Kod:
[17:52:37] [Server thread/ERROR]: Could not pass event EntityShootBowEvent to YayArti v2.0
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) -[spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) -[spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callEntityShootBowEvent(CraftEventFactory.java:244) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.ItemBow.a(ItemBow.java:61) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.ItemStack.b(ItemStack.java:504) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityHuman.bT(EntityHuman.java:108) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:570) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:40) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:10) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0_79]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0_79]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at java.lang.Thread.run(Unknown Source) [?:1.7.0_79]
Caused by: java.lang.NullPointerException
    at com.yay.Main.ok(Main.java:82) -[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) -[?:1.7.0_79]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) -[?:1.7.0_79]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) -[?:1.7.0_79]
    at java.lang.reflect.Method.invoke(Unknown Source) -[?:1.7.0_79]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) -[spigot.jar:git-Spigot-c3c767f-33d5de3]
    ... 18 more
[17:52:39] [Server thread/ERROR]: Could not pass event EntityShootBowEvent to YayArti v2.0
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) -[spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) -[spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callEntityShootBowEvent(CraftEventFactory.java:244) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.ItemBow.a(ItemBow.java:61) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.ItemStack.b(ItemStack.java:504) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityHuman.bT(EntityHuman.java:108) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:570) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:40) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockDig.a(SourceFile:10) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0_79]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0_79]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot.jar:git-Spigot-c3c767f-33d5de3]
    at java.lang.Thread.run(Unknown Source) [?:1.7.0_79]
Caused by: java.lang.NullPointerException
    at com.yay.Main.ok(Main.java:82) -[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) -[?:1.7.0_79]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) -[?:1.7.0_79]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) -[?:1.7.0_79]
    at java.lang.reflect.Method.invoke(Unknown Source) -[?:1.7.0_79]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) -[spigot.jar:git-Spigot-c3c767f-33d5de3]
    ... 18 more
Ne eclipsede ne de plugini çalışmasında hata var fakat konsolda hata veriyor plugin kodları:
Kod:
package com.yay;

import java.util.logging.Level;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.entity.Zombie;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityShootBowEvent;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.Vector;



public class Main extends JavaPlugin implements Listener{
     public static final Logger log = Logger.getLogger("Minecraft");
        public void onEnable() {
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
            log.log(Level.INFO, "[Yay+]Yay Plugini Calisiyor!");
        }
        public void onDisable() {
            log.log(Level.INFO, "[Yay+]Yay Plugini Calisiyor!");           
        }
       
     public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args) {
         if (komut.getName().equalsIgnoreCase("yay")){
             Player oyuncu = (Player) gonderen;
             if (oyuncu.hasPermission("yay.al")) {
               if(args.length == 0){
                  oyuncu.sendMessage(ChatColor.RED + "Yay Listesi:");
                  oyuncu.sendMessage(ChatColor.GREEN + "tntyay, isinlayiciyay");

               }
             }
             if(args.length == 1){
                 if(args[0].equalsIgnoreCase("tntyay")) {
             ItemStack tntyay = new ItemStack(Material.BOW);
             ItemMeta tntyayMeta = tntyay.getItemMeta();
             tntyayMeta.setDisplayName(ChatColor.RED+ "TNTYay");
             tntyay.setItemMeta(tntyayMeta);
             Inventory oyuncuEnvanter = oyuncu.getInventory();
             oyuncuEnvanter.addItem(tntyay);
             oyuncu.sendMessage(ChatColor.RED + "TNT Yay alındı.");
         }
             }
            
              if(args.length == 1){
                 if(args[0].equalsIgnoreCase("isinlayiciyay")) {
             ItemStack iy = new ItemStack(Material.BOW);
             ItemMeta iyMeta = iy.getItemMeta();
             iyMeta.setDisplayName(ChatColor.RED+ "Işınlayıcı Yay");
             iy.setItemMeta(iyMeta);
             Inventory oyuncuEnvanter = oyuncu.getInventory();
             oyuncuEnvanter.addItem(iy);
             oyuncu.sendMessage(ChatColor.RED + "Işınlayıcı Yay alındı.");
         }
              }
    
                }
         return false;
     }
  @EventHandler
  public void ok(EntityShootBowEvent e){
    if ((e.getEntity() instanceof Player)){
        Player o = (Player) e.getEntity();
        ItemStack yay = o.getItemInHand();
        ItemMeta yayMeta = yay.getItemMeta();
         if (yayMeta.getDisplayName().equalsIgnoreCase(ChatColor.RED + "Işınlayıcı Yay")){
                (e.getProjectile()).setPassenger(o);
            }
         if (yayMeta.getDisplayName().equalsIgnoreCase(ChatColor.RED + "TNTYay")){
             if(o.getGameMode() == GameMode.CREATIVE){
                     Entity ent = o.getWorld().spawnEntity(o.getLocation(), EntityType.PRIMED_TNT);
                     ent.setVelocity(e.getProjectile().getVelocity());
                     e.setProjectile(ent);
                 }
             if (o.getInventory().contains(Material.TNT)){                    
                     o.getInventory().removeItem(new ItemStack(Material.TNT));
                     Entity ent = o.getWorld().spawnEntity(o.getLocation(), EntityType.PRIMED_TNT);
                     ent.setVelocity(e.getProjectile().getVelocity());
                     e.setProjectile(ent);
                 }
            }
       }
  }
  @EventHandler
  public void okcarptiginda(ProjectileHitEvent e){
      if ((e.getEntity() instanceof Arrow)){
          Entity ok = e.getEntity();
          Location okyer = ok.getLocation();
          Location okyer1 = okyer;
          okyer1.add(new Vector(0,15,0));
          ok.getWorld().playEffect(ok.getLocation(), Effect.EXPLOSION_HUGE,0);
          ok.getWorld().playEffect(okyer1, Effect.EXPLOSION_HUGE,0);
          ok.getWorld().spawn(ok.getLocation(), Zombie.class);
      }
  }
}
Java 7 ve 8 le denedim olmadı 1.8 spigot kullanıyorum hataların gözükmemesini nasıl sağlarım ?
 

crafter_alperen

Kızıltaş Madencisi
En iyi cevaplar
0
Emin deilim ama spigotla alakali bir sorun sanirim. Bende de cikiyordu surekli o yuzdrn tekrar craftbukkit yaptim :D
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Bukkitte denediysen ve sorunsuzzsa sorun spigotta :D
spigotta denedim çalışıyor ancak konsolun spamlanmasını istemiyorum :D[DOUBLEPOST=1429633334,1429628772][/DOUBLEPOST]Sorun normal ok atılmasıyla ilgili if li biryerin olmaması nasıl çözebiliriim ?[DOUBLEPOST=1429634870][/DOUBLEPOST]craftbukkitte de aynı sorun...[DOUBLEPOST=1429634912][/DOUBLEPOST]en azından error loglarını gizleyebilirmiyim ?
 

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
Sıkıntı event ler ile alakalı. Hatta entityshootbowevent ile. Bir yerde minecraft için kabul edilemeyecek bir kod var.
Bkz. NullPointerException
 

MegaCrafter

Obsidyen Madencisi
En iyi cevaplar
0
yani ? :D ben normal oku atıyorum attığım yerde zombi spawnlanıyor ve patlama efekti oluşuyor sorun nerede ?
Bu loglar sadece uyarı içindir. Bunları deaktif etmek galiba pek mümkün değil. Belki konsol kontrol plugini yazanlar vardır. Ancak oradan kapatılabileceğini düşünüyorum.
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Bu loglar sadece uyarı içindir. Bunları deaktif etmek galiba pek mümkün değil. Belki konsol kontrol plugini yazanlar vardır. Ancak oradan kapatılabileceğini düşünüyorum.
Bukkite yazdığımda cevap geldi her itemin ItemMetası yok demişler ama nasıl kullanıcam oradaki kodu ?
Kod:
if(item.hasItemMeta() && item.getItemMeta().hasDisplayName()) {
String displayName = item.getItemMeta().getDisplayName();
}
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
[DOUBLEPOST=1429780152,1429636952][/DOUBLEPOST]Çözdüm GreenArrow'un attığı kodda varmış zaten :D
Kod:
 @EventHandler
     public void okatilinca(EntityShootBowEvent e){
            if ((e.getEntity() instanceof Player)){
                Player o = (Player) e.getEntity();
               if(o.getInventory().getItemInHand().hasItemMeta()) {
                ItemStack yay = o.getItemInHand();
                ItemMeta yayMeta = yay.getItemMeta();
                  if (yayMeta.getDisplayName().equalsIgnoreCase("tntyay")){
                    Entity ent = o.getWorld().spawnEntity(o.getLocation(), EntityType.PRIMED_TNT);
                     ent.setVelocity(e.getProjectile().getVelocity());
                     e.setProjectile(ent);
                    }
}
     }
     }
 
Üst