сегодня я пытался сделать плагин, который порождает лошадь-скелет, а частицы огня окружают лошадь. У меня есть эта часть, но всякий раз, когда кто-то убивает костяную лошадь, частицы огня остаются там. Кто-нибудь, пожалуйста, помогите?
Также мой код (2 класса):
package survivalcraft.FireHorse;
import java.util.logging.Logger;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.command.CommandSender;
import org.bukkit.command.Command;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Horse.Variant;
import org.bukkit.entity.Player;
import org.bukkit.entity.Horse;
import org.bukkit.inventory.HorseInventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.ChatColor;
import org.bukkit.Bukkit;
import org.bukkit.Material;
public class Main extends JavaPlugin{
public static Main plugin;
public final Logger logger = Logger.getLogger("Minecraft");
@Override
public void onDisable(){
PluginDescriptionFile pdf = this.getDescription();
this.logger.info(pdf.getName() + " version " + pdf.getVersion() + " has been disabled! Neigh! ;D");
}
@Override
public void onEnable(){
PluginDescriptionFile pdf = this.getDescription();
this.logger.info(pdf.getName() + " version " + pdf.getVersion() + " has been enabled! Neigh! ;D");
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
Player player = (Player) sender;
if(sender instanceof Player){
if(player.hasPermission("firehorse.spawn")){
if(commandLabel.equalsIgnoreCase("firehorse") || commandLabel.equalsIgnoreCase("fh")){
if(args.length == 0){
Horse horse = (Horse) player.getWorld().spawnEntity(player.getLocation(), EntityType.HORSE);
HorseInventory horseinv = null;
ItemStack saddle = new ItemStack(Material.SADDLE);
horse.setVariant(Variant.SKELETON_HORSE);
horse.setCustomName(player.getDisplayName() + "'s Fire Horse");
horse.setTamed(true);
horseinv.setSaddle(saddle);
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new HorseTimer(horse), 0l, 5l);
}else{
player.sendMessage(ChatColor.RED + "Usage: /firehorse");
}
}
}else{
player.sendMessage(ChatColor.RED + "You can't spawn a fire horse!");
}
}else{
player.sendMessage(ChatColor.RED + "You must be a player in order to spawn a fire horse!");
}
return false;
}
}
2-й класс:
package survivalcraft.FireHorse;
import org.bukkit.Effect;
import org.bukkit.entity.Horse;
public class HorseTimer implements Runnable{
private Horse horse;
public HorseTimer(Horse horse){
this.horse = horse;
}
@Override
public void run(){
horse.getWorld().playEffect(horse.getLocation(), Effect.MOBSPAWNER_FLAMES, 0);
}
}