2016-04-29 6 views
0

Так я получил этот код кому-нибудь, и он сказал, что это будет работать, я был благодарен (до сих пор я), но это, кажется, что код не работает в каком-тоLightning Arrow, но молния делает икру в

Это мой главный файл

package me.Pixel; 

import java.util.ArrayList; 
import java.util.List; 

import org.bukkit.entity.Arrow; 
import org.bukkit.event.EventHandler; 
import org.bukkit.event.Listener; 
import org.bukkit.event.entity.EntityShootBowEvent; 
import org.bukkit.plugin.java.JavaPlugin; 

public class Main extends JavaPlugin implements Listener { 

    public Main plugin; 
    public List<String> spells = new ArrayList<String>(); 
    public getTargets getTargets = new getTargets(); 

    @Override 
    public void onEnable() { 
     plugin = this; 
     getCommand("bow").setExecutor(new BowCommand()); 
    } 

    @EventHandler 
    public void onEntityShootBow(EntityShootBowEvent event) { 
     if(event.getProjectile() instanceof Arrow) { 
      Arrow arrow = (Arrow) event.getProjectile(); 
      new LightningShot(arrow).runTaskTimer(this, 0, 1); 
     } 
    } 
} 

И это мой LightningShot файл

package me.Pixel; 

import org.bukkit.entity.Arrow; 
import org.bukkit.scheduler.BukkitRunnable; 

public class LightningShot extends BukkitRunnable { 

    private Arrow arrow; 
    private int tick = 1; 

    public LightningShot(Arrow arrow) { 
     this.arrow = arrow; 
    } 

    @Override 
    public void run() { 
     if (arrow == null || arrow.isOnGround() || tick++ > 20 * 10) { 
      this.cancel(); 
     } else { 
      arrow.getWorld().strikeLightning(arrow.getLocation()); 
     } 
    } 
} 

Чтобы быть ясно This is what i want it to look like но вместо Snowball стрелка, которая выходит из лука. Надеюсь, вы, ребята, можете мне помочь. Это было бы замечательно.

ответ

0

Похоже, вы не зарегистрировали своего слушателя. Даже при том, что слушатель ваш главный класс вам все еще нужно, чтобы зарегистрировать его в вашем методе onEnable с:

this.getServer().getPluginManager().registerEvents(this, this); 

Тогда код будет порождать молнии в расположении стрелы по назначению (я тестировал код).

+0

Ty ty, могу ли я спросить вас, какой проводник или другой источник является удивительным, чтобы изучить этот материал от – Pixel

+0

Если вы используете Google Bukkit Listener, лучшим результатом является [Справочник API API] (http: //wiki.bukkit. org/Event_API_Reference) (всегда полезно сначала ознакомиться с документацией по API при поиске решений). Вы также можете всегда пытаться решить проблему, иногда даже находите полезные руководства или смотрите на форуме по разработке плагинов Bukkit (https://bukkit.org/forums/plugin-development.5/). –

+0

Awesome, thanks dude – Pixel

Смежные вопросы