package ru.govnokod;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Zombie;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.plugin.java.JavaPlugin;
import com.gmail.filoghost.holographicdisplays.api.Hologram;
import com.gmail.filoghost.holographicdisplays.api.HologramsAPI;
public class Main extends JavaPlugin implements Listener,Runnable
{
Logger log;
Main plugin;
Hologram hologram;
Hologram hologram2;
public Main() {
this.log = Bukkit.getLogger();
}
public void onEnable() {
this.log.info("[ASD] By Leymooo включён!");
plugin = this;
if (!Bukkit.getPluginManager().isPluginEnabled("HolographicDisplays")) {
getLogger().severe("*** HolographicDisplays is not installed or not enabled. ***");
getLogger().severe("*** This plugin will be disabled. ***");
this.setEnabled(false);
return;
}
Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, plugin, 1L, 1L);
Bukkit.getPluginManager().registerEvents(this, this);
}
public void onDisable() {
if (hologram != null) {
hologram.delete();
}
this.log.info("[ASD] отключён!");
}
@EventHandler
//Тут спавнишь моба//
//Тута делаем голограму
//Это можно не использовать, если будешь в методе где спавнишь моба, сразу создавать голограму.
public void Test (PlayerCommandPreprocessEvent e){
if (e.getMessage().startsWith("/testmob")) {
Location loc = new Location(null,0,0,0);
loc.setWorld(Bukkit.getWorld("World"));
loc.setX(80);
loc.setY(80);
loc.setZ(80);
Zombie king2 = (Zombie)loc.getWorld().spawnEntity(loc, EntityType.ZOMBIE);
king2.setCustomName("TestMob");
hologram = HologramsAPI.createHologram(plugin, loc.add(0.0, 2.0, 0.0));
hologram.appendTextLine("TEST");
}
}
@Override
//Тута двигаем голограму
public void run() {
for (Entity w : Bukkit.getWorld("World").getEntities()) {
if (w.getCustomName() != null && w.getCustomName().equalsIgnoreCase("testmob")) {
if (hologram != null && !hologram.isDeleted()) {
hologram.teleport(w.getLocation().add(0.0, 2.5, 0.0));
}
}
}
}
@EventHandler
public void Death (EntityDeathEvent e){
if (e.getEntity().getCustomName() != null && e.getEntity().getCustomName().equalsIgnoreCase("TestMob")) {
if (hologram != null) {
hologram.delete();
}
}
}
}