闪电箭,但闪电确实会在
Lightning Arrow but the lightning does spawn in
所以我得到了某人的这个代码,他说它可以工作我很感激(仍然是)但似乎代码在某种程度上不起作用
这是我的主文件
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 但是从弓箭出来的箭不是雪球。
我希望你们能帮助我。太棒了。
您似乎还没有注册您的侦听器。即使侦听器是您的主要 class 您仍然需要在您的 onEnable
方法中注册它:
this.getServer().getPluginManager().registerEvents(this, this);
然后代码将按预期在箭头位置产生闪电(我测试了代码)。
所以我得到了某人的这个代码,他说它可以工作我很感激(仍然是)但似乎代码在某种程度上不起作用
这是我的主文件
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 但是从弓箭出来的箭不是雪球。 我希望你们能帮助我。太棒了。
您似乎还没有注册您的侦听器。即使侦听器是您的主要 class 您仍然需要在您的 onEnable
方法中注册它:
this.getServer().getPluginManager().registerEvents(this, this);
然后代码将按预期在箭头位置产生闪电(我测试了代码)。