- Баллы
- 76
- Имя в Minecraft
- Krong
ВОобщем делаю разные тнт, но не суть, мне надо на обычный тнт, как разрешить обычному тнт при взрыве взрывать сам обсидиан?
Вот пробовал код:
@EventHandler
public void onBahaet(final PlayerInteractEvent e) {
if (e.getClickedBlock() != null) {
for (final TNT tnt : CustomTnT.getInstance().tnts) {
if (e.getClickedBlock().getX() == tnt.getLocation().getBlockX() && e.getClickedBlock().getX() == tnt.getLocation().getBlockY() && e.getClickedBlock().getZ() == tnt.getLocation().getBlockZ()) {
System.out.println(tnt.isObsidian());
if (e.getItem() == null || e.getItem().getType() != Material.LEGACY_FLINT_AND_STEEL) {
continue;
}
final TNT tnt2;
final Iterator<Block> iterator2;
Block block;
final Iterator<Entity> iterator3;
Entity entity;
Bukkit.getServer().getScheduler().runTaskLater((Plugin)CustomTnT.getInstance(), () -> {
if (tnt2.isObsidian()) {
this.getBlocksInRadius(tnt2.getLocation(), tnt2.getRadius()).iterator();
while (iterator2.hasNext()) {
block = iterator2.next();
if (block.getType() == Material.OBSIDIAN) {
block.setType(Material.AIR);
}
}
}
if (tnt2.isKill()) {
e.getPlayer().getNearbyEntities((double)tnt2.getRadius(), (double)tnt2.getRadius(), (double)tnt2.getRadius()).iterator();
while (iterator3.hasNext()) {
entity = iterator3.next();
if (entity instanceof Player && entity != e.getPlayer()) {
((Player)entity).setHealth(0.0);
}
}
}
}, 80L);
}
}
}
}
Вот пробовал код:
@EventHandler
public void onBahaet(final PlayerInteractEvent e) {
if (e.getClickedBlock() != null) {
for (final TNT tnt : CustomTnT.getInstance().tnts) {
if (e.getClickedBlock().getX() == tnt.getLocation().getBlockX() && e.getClickedBlock().getX() == tnt.getLocation().getBlockY() && e.getClickedBlock().getZ() == tnt.getLocation().getBlockZ()) {
System.out.println(tnt.isObsidian());
if (e.getItem() == null || e.getItem().getType() != Material.LEGACY_FLINT_AND_STEEL) {
continue;
}
final TNT tnt2;
final Iterator<Block> iterator2;
Block block;
final Iterator<Entity> iterator3;
Entity entity;
Bukkit.getServer().getScheduler().runTaskLater((Plugin)CustomTnT.getInstance(), () -> {
if (tnt2.isObsidian()) {
this.getBlocksInRadius(tnt2.getLocation(), tnt2.getRadius()).iterator();
while (iterator2.hasNext()) {
block = iterator2.next();
if (block.getType() == Material.OBSIDIAN) {
block.setType(Material.AIR);
}
}
}
if (tnt2.isKill()) {
e.getPlayer().getNearbyEntities((double)tnt2.getRadius(), (double)tnt2.getRadius(), (double)tnt2.getRadius()).iterator();
while (iterator3.hasNext()) {
entity = iterator3.next();
if (entity instanceof Player && entity != e.getPlayer()) {
((Player)entity).setHealth(0.0);
}
}
}
}, 80L);
}
}
}
}