20Денис16
Активный участник
- Баллы
- 61
- Имя в Minecraft
- DenUnlock2105
Как запустить этот EventHandler или как вытащить из него переменную loc и добавить в коллекцию
@EventHandler
public void onPlayerUse(PlayerInteractEvent e) {
Player p = e.getPlayer();
Block block = e.getClickedBlock();
if(e.getAction() == Action.LEFT_CLICK_BLOCK && block == null && block.getType() != Material.BRICK) {
Location loc = block.getLocation();
arg0.sendMessage(ChatColor.RED + "найдены координаты " + loc);
} else {
Location loc = new Location(world, 100, 100, 100);
arg0.sendMessage(ChatColor.RED + "не найдены координаты установлены страндартные " + loc);
}
}
Полный код ниже.
package ru.kinetic;
import java.awt.TrayIcon.MessageType;
import java.util.Collection;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.craftbukkit.Main;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Zombie;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import net.md_5.bungee.api.ChatColor;
public class CommandManager implements CommandExecutor {
private org.bukkit.craftbukkit.Main main1;
public boolean onCommand(CommandSender arg0, Command arg1, String arg2, String[] arg3) throws IllegalArgumentException {
if(!(arg0 instanceof Player))
{
arg0.sendMessage(ChatColor.RED + "Error");
return true;
}
else if(arg1.getName().equalsIgnoreCase("exploreplug")) {
Player player = (Player) arg0;
World world = player.getWorld();
Server server = ru.kinetic.Main.plugin.getServer();
new BukkitRunnable() {
int time = 1;
@EventHandler
public void onPlayerUse(PlayerInteractEvent e) {
Player p = e.getPlayer();
Block block = e.getClickedBlock();
if(e.getAction() == Action.LEFT_CLICK_BLOCK && block == null && block.getType() != Material.BRICK) {
Location loc = block.getLocation();
arg0.sendMessage(ChatColor.RED + "найдены координаты " + loc);
}
else {
Location loc = new Location(world, 100, 100, 100);
arg0.sendMessage(ChatColor.RED + "не найдены координаты установлены страндартные " + loc);
}
}
public void run() {
Location loc = new Location(world, 100, 100, 100);
Collection<Entity> entities = loc.getWorld().getNearbyEntities(loc, 10, 100, 10); //получение всех сущностей в радиусе КОЛЛЕКЦИЯ
for(Entity entity : entities) {
//Будем искать всех зомби в радиусе вокруг локации
if(entity instanceof Zombie) { //проверка зомби ли это
Zombie zombie = (Zombie) entity;
//TODO что-нить
}
if(!(entity instanceof Zombie)) { //проверка не зомби ли это
double entry = entity.getLocation().getX()-5;
double entry1 = entity.getLocation().getY()+1;
double entry2 = entity.getLocation().getZ()-5;
entity.teleport(new Location(Bukkit.getWorld("world"), entry, entry1, entry2));
//TODO что-нить
}
}
}
}.runTaskTimer(ru.kinetic.Main.plugin, 0, 20 );
arg0.sendMessage(ChatColor.RED + "Zombies");
return true;
}
return false;
}
}
@EventHandler
public void onPlayerUse(PlayerInteractEvent e) {
Player p = e.getPlayer();
Block block = e.getClickedBlock();
if(e.getAction() == Action.LEFT_CLICK_BLOCK && block == null && block.getType() != Material.BRICK) {
Location loc = block.getLocation();
arg0.sendMessage(ChatColor.RED + "найдены координаты " + loc);
} else {
Location loc = new Location(world, 100, 100, 100);
arg0.sendMessage(ChatColor.RED + "не найдены координаты установлены страндартные " + loc);
}
}
Полный код ниже.
package ru.kinetic;
import java.awt.TrayIcon.MessageType;
import java.util.Collection;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.craftbukkit.Main;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Zombie;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import net.md_5.bungee.api.ChatColor;
public class CommandManager implements CommandExecutor {
private org.bukkit.craftbukkit.Main main1;
public boolean onCommand(CommandSender arg0, Command arg1, String arg2, String[] arg3) throws IllegalArgumentException {
if(!(arg0 instanceof Player))
{
arg0.sendMessage(ChatColor.RED + "Error");
return true;
}
else if(arg1.getName().equalsIgnoreCase("exploreplug")) {
Player player = (Player) arg0;
World world = player.getWorld();
Server server = ru.kinetic.Main.plugin.getServer();
new BukkitRunnable() {
int time = 1;
@EventHandler
public void onPlayerUse(PlayerInteractEvent e) {
Player p = e.getPlayer();
Block block = e.getClickedBlock();
if(e.getAction() == Action.LEFT_CLICK_BLOCK && block == null && block.getType() != Material.BRICK) {
Location loc = block.getLocation();
arg0.sendMessage(ChatColor.RED + "найдены координаты " + loc);
}
else {
Location loc = new Location(world, 100, 100, 100);
arg0.sendMessage(ChatColor.RED + "не найдены координаты установлены страндартные " + loc);
}
}
public void run() {
Location loc = new Location(world, 100, 100, 100);
Collection<Entity> entities = loc.getWorld().getNearbyEntities(loc, 10, 100, 10); //получение всех сущностей в радиусе КОЛЛЕКЦИЯ
for(Entity entity : entities) {
//Будем искать всех зомби в радиусе вокруг локации
if(entity instanceof Zombie) { //проверка зомби ли это
Zombie zombie = (Zombie) entity;
//TODO что-нить
}
if(!(entity instanceof Zombie)) { //проверка не зомби ли это
double entry = entity.getLocation().getX()-5;
double entry1 = entity.getLocation().getY()+1;
double entry2 = entity.getLocation().getZ()-5;
entity.teleport(new Location(Bukkit.getWorld("world"), entry, entry1, entry2));
//TODO что-нить
}
}
}
}.runTaskTimer(ru.kinetic.Main.plugin, 0, 20 );
arg0.sendMessage(ChatColor.RED + "Zombies");
return true;
}
return false;
}
}

