Plugin yazarken variable ekleme

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Değişkeni oyuncudan nasıl kaldırabilirim ? isim.remove(oyuncu, "yazı"); denedim olmadı[DOUBLEPOST=1429866902,1429866101][/DOUBLEPOST]Hallettim sadece isim.remove(oyuncu) yapmamız gerekiyor[DOUBLEPOST=1429870303][/DOUBLEPOST]Plugin çalışıyor ama şu hatayı alıyorum konsolda(patlayici yay kullanmadığım zaman):
Kod:
Could not pass event ProjectileHitEvent to YayArti v2.0
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:297) -[craftbukkit.jar:git-Bukkit-33d5de3]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) -[craftbukkit.jar:git-Bukkit-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-33d5de3]
    at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callProjectileHitEvent(CraftEventFactory.java:728) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.EntityArrow.s_(EntityArrow.java:213) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.World.entityJoinedWorld(World.java:1374) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.World.g(World.java:1352) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.World.tickEntities(World.java:1222) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.WorldServer.tickEntities(WorldServer.java:539) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:715) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:284) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:609) [craftbukkit.jar:git-Bukkit-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:517) [craftbukkit.jar:git-Bukkit-33d5de3]
    at java.lang.Thread.run(Unknown Source) [?:1.7.0_79]
Caused by: java.lang.NullPointerException
    at com.yay.Main.okCarptiginda(Main.java:116) -[?:?]
    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:295) -[craftbukkit.jar:git-Bukkit-33d5de3]
    ... 14 more
Düzeltmek için girişte variable eklemeyi denedim ama olmadı
Plugin:
Kod:
package com.yay;

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

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
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.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;




public class Main extends JavaPlugin implements Listener{
    HashMap<Player, String> yayk = new HashMap<Player, String>();
     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("§atntyay, 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 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("PatlayiciYay")) {
             yayk.put(o, "yayk1");
         }
         if (yayMeta.getDisplayName().equalsIgnoreCase(ChatColor.RED + "Işınlayıcı Yay")){
                (e.getProjectile()).setPassenger(o);
            }
         if (yayMeta.getDisplayName().equalsIgnoreCase("§cTNTYay")){
             if(o.getGameMode() == GameMode.CREATIVE){
                     Entity ent = o.getWorld().spawnEntity(o.getLocation(), EntityType.PRIMED_TNT);
                     ent.setVelocity(e.getProjectile().getVelocity());
                     e.setProjectile(ent);
                 }
             else{
                 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);
                 }
                 else{
                     o.sendMessage("Envanterinde TNT yok !");
                 }
             }       
            }
        }
    }
    }
  @EventHandler
  public void okCarptiginda(final ProjectileHitEvent e){
      if (e.getEntity() instanceof Arrow) {
          final Arrow ok = (Arrow) e.getEntity();
          if (ok.getShooter() instanceof Player){
              Player o = (Player) ok.getShooter();
              if (yayk.get(o).equalsIgnoreCase("yayk1")) {
                  ok.getWorld().createExplosion(ok.getLocation().getX(), ok.getLocation().getY(), ok.getLocation().getZ(), 4F, false, false);
                  yayk.remove(o);
                  yayk.put(o, "yayk0");
          }
      }
          }
      }
  @EventHandler
  public void PlayerJoinEvent(Player o, String joinMessage){
      yayk.put(o, "yayk0");
  }
 
  }
 
Üst