- Баллы
- 66
- Имя в Minecraft
- _Morpech_
Всем привет, дорогие девелоперы!)
Вообщем, у меня проблемка, не корректно работают мои махинации с взглядом, бывает, что он берет не правильный градус взгляда и считывает его, как другой.
часть кода:
Там еще 3 стороны (вместе 4), но я не стал кидать весь код, т.к. это слишком много занимает места :-\
Вообщем, у меня проблемка, не корректно работают мои махинации с взглядом, бывает, что он берет не правильный градус взгляда и считывает его, как другой.
часть кода:
Код:
if(e.getBlock().getType() == Material.GOLD_PLATE)
{
Player player = e.getPlayer();
double rotation = (player.getLocation().getYaw() - 90) % 360;
if (rotation < 0) {
rotation += 360.0;
}
if (0 <= rotation && rotation < 90.0)//S/N
{
final Location rt1 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX(), e.getBlock(). getY(), e.getBlock(). getZ() );// DONE
final Location rt2 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()+1, e.getBlock(). getY(), e.getBlock(). getZ() );//
final Location rt3 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()+0, e.getBlock(). getY()+1, e.getBlock(). getZ() );//
final Location rt4 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()-1, e.getBlock(). getY(), e.getBlock(). getZ() );//
final Location rt5 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()+2, e.getBlock(). getY(), e.getBlock(). getZ()-1 );//
final Location rt6 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()-2, e.getBlock(). getY(), e.getBlock(). getZ()-1 );//
final Location rt7 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()+1, e.getBlock(). getY()+1, e.getBlock(). getZ() );//
final Location rt8 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()-1, e.getBlock(). getY()+1, e.getBlock(). getZ() );//
final Location rt9 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()+2, e.getBlock(). getY()+1, e.getBlock(). getZ()-1 );//
final Location rt10 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()-2, e.getBlock(). getY()+1, e.getBlock(). getZ()-1 );//
final Location rt11 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()+2, e.getBlock(). getY()+2, e.getBlock(). getZ()-1 );//
final Location rt12 = new Location(e.getPlayer().getWorld(), e.getBlock(). getX()-2, e.getBlock(). getY()+2, e.getBlock(). getZ()-1 );//
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
@Override
public void run(){
rt1.getBlock().setType(Material.DIRT);
}
}, 10L);
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
@Override
public void run(){
rt2.getBlock().setType(Material.DIRT);
rt3.getBlock().setType(Material.DIRT);
rt4.getBlock().setType(Material.DIRT);
}
}, 20L);
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
@Override
public void run(){
rt5.getBlock().setType(Material.DIRT);
rt6.getBlock().setType(Material.DIRT);
rt7.getBlock().setType(Material.DIRT);
rt8.getBlock().setType(Material.DIRT);
}
}, 30L);
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
@Override
public void run(){
rt9.getBlock().setType(Material.DIRT);
rt10.getBlock().setType(Material.DIRT);
}
}, 45L);
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
@Override
public void run(){
rt11.getBlock().setType(Material.DIRT);
rt12.getBlock().setType(Material.DIRT);
}
}, 65L);
}