- Баллы
- 66
- Имя в Minecraft
- YUROO
Я хачу чтобы при нажатии на мотыгу спавнился луч по направленнию прицелла.
Вот код каторий я написал :
Вот код каторий я написал :
Код:
@EventHandler
public void use(PlayerInteractEvent e) {
Player p = e.getPlayer();
if(e.getAction() != Action.RIGHT_CLICK_AIR) return;
if(e.getPlayer().getItemInHand().getType() != Material.WOOD_HOE) return;
ItemStack staff = e.getPlayer().getItemInHand();
if(!staff.getItemMeta().hasDisplayName()) return;
if(!staff.getItemMeta().getDisplayName().equals(ChatColor.GRAY + "WoodStaff " + ChatColor.AQUA + "Tier 1")) return;
if(e.getAction() == Action.RIGHT_CLICK_AIR) {
World world = Bukkit.getWorld("world");
double pitch = p.getEyeLocation().getPitch();
float yaw = p.getEyeLocation().getYaw();
Location loc;
loc = p.getLocation();
loc.setPitch((float) pitch);
loc.setYaw((float) yaw);
Vector lineOfSight = p.getEyeLocation().getDirection().normalize();
if(yaw > 135 || yaw < -135) {
double z = loc.getZ();
z = z - 2;
loc.setX(z);
world.spawnParticle(Particle.FLAME, loc, 2, 2, 0, 0, 0);
}
world.spawnParticle(Particle.FLAME, loc, 2, 2, 0, 0, 0);
p.sendMessage("OK!");
}
}
// Рабочий код но не работает pitch
//private void yaws(Player p) {
//World world = Bukkit.getWorld("world");
//Location loc;
//loc = p.getLocation();
//float yaw = loc.getYaw();
//float pitch = loc.getPitch();
//vertical -
//if(pitch > -90) {
//double y = loc.getY();
//for(pitch = -90; pitch == -0 ; pitch--) {
//y = y + 0.1;
//}
//}
//vertical +
//if(pitch < 90) {
//double y = loc.getY();
//for(pitch = 90; pitch == 0 ; pitch--) {
//y = y - 0.1;
//}
//}
//east
//if(yaw > -135 && yaw < -45) {
//double x = loc.getZ();
//x = x + 2;
//loc.setX(x);
//for(int i =1 ; i <=10; i++) {
//world.spawnParticle(Particle.FLAME, loc, 2, 2, 0, 0, 0);
//}
//}
//west
//if(yaw > 135 && yaw < 45) {
//double x = loc.getX();
//x = x - 2;
//loc.setX(x);
//}
//south
//if(yaw > -45 && yaw < 45) {
//double z = loc.getZ();
//z = z + 2;
//loc.setX(z);
//}
//north
//if(yaw > 135 && yaw < -135) {
//double z = loc.getZ();
//z = z - 2;
//loc.setX(z);
//}
//}