runTaskTimer и PlayerListener не работают - PullRequest
0 голосов
/ 29 октября 2018
public class Taserr extends JavaPlugin implements Listener {


@Override
public void onEnable() {
    this.getServer().getPluginManager().registerEvents(this, this);
}

int i=0;
int x=1;
double yy=0;
int z;

public void PlayerListener(EventHandle plugin) {
    plugin.getServer().getPluginManager().registerEvents(this, plugin);
}


@EventHandler
public void onInteract(PlayerInteractEvent event) throws InterruptedException {
final Player player = event.getPlayer();

World world = player.getWorld();

if (player.getInventory().getItemInMainHand().equals(Material.GOLDEN_SWORD));

if (event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK) && player.getInventory().contains(Material.FIRE_CHARGE)) {
    new BukkitRunnable() {
        double t = 0;
        Location loc = player.getLocation();
        Vector direction = loc.getDirection().normalize();
    public void run() {
        t=t+0.1;
    double x = direction.getX() * t;
    double y = direction.getY() * t + 1;
    double z = direction.getZ() * t;
    loc.add(x,y,z);
    player.spawnParticle(Particle.CRIT_MAGIC, x, y, z, 5, 0, 0, 0);
    loc.subtract(x,y,z);

    if (t>100) {
        this.cancel();
    }   
    }

    }.runTaskTimer(EventHandle.getInstance(), 0, 1);



}

}


private static Plugin getInstance() {
    return null;
}

}

Я частично новичок в программировании, поэтому я застрял здесь. getInstance () в нижней части была единственной вещью, которую я мог сделать, чтобы исправить ошибку, единственной вещью было создать метод. PlayerListener возвращал ошибки, если я не вставил void. Я видел несколько видео, и void, очевидно, не должен идти туда. Как я могу исправить эту ошибку?

1 Ответ

0 голосов
/ 01 ноября 2018

Используйте .runTaskTimer(this, 0, 1); вместо .runTaskTimer(EventHandle.getInstance(), 0, 1);

...