Java源码示例:cn.nukkit.level.Explosion
示例1
public void explode(double square) {
double root = Math.sqrt(square);
if (root > 5.0D) {
root = 5.0D;
}
EntityExplosionPrimeEvent event = new EntityExplosionPrimeEvent(this, (4.0D + new Random().nextDouble() * 1.5D * root));
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
Explosion explosion = new Explosion(this, event.getForce(), this);
if (event.isBlockBreaking()) {
explosion.explodeA();
}
explosion.explodeB();
kill();
}
示例2
public void explode(double square) {
double root = Math.sqrt(square);
if (root > 5.0D) {
root = 5.0D;
}
EntityExplosionPrimeEvent event = new EntityExplosionPrimeEvent(this, (4.0D + ThreadLocalRandom.current().nextDouble() * 1.5D * root));
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
Explosion explosion = new Explosion(this, event.getForce(), this);
if (event.isBlockBreaking()) {
explosion.explodeA();
}
explosion.explodeB();
this.close();
}
示例3
public void explode(double square) {
double root = Math.sqrt(square);
if (root > 5.0D) {
root = 5.0D;
}
EntityExplosionPrimeEvent event = new EntityExplosionPrimeEvent(this, (4.0D + new Random().nextDouble() * 1.5D * root));
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
Explosion explosion = new Explosion(this, event.getForce(), this);
if (event.isBlockBreaking()) {
explosion.explodeA();
}
explosion.explodeB();
kill();
}
示例4
public void explode() {
EntityExplosionPrimeEvent event = new EntityExplosionPrimeEvent(this, 4);
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
Explosion explosion = new Explosion(this, event.getForce(), this);
if (event.isBlockBreaking()) {
explosion.explodeA();
}
explosion.explodeB();
}
示例5
public void explode() {
EntityExplosionPrimeEvent event = new EntityExplosionPrimeEvent(this, 4);
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
Explosion explosion = new Explosion(this, event.getForce(), this);
if (event.isBlockBreaking()) {
explosion.explodeA();
}
explosion.explodeB();
}
示例6
public void explode() {
EntityExplosionPrimeEvent event = new EntityExplosionPrimeEvent(this, 4);
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
Explosion explosion = new Explosion(this, event.getForce(), this);
if (event.isBlockBreaking()) {
explosion.explodeA();
}
explosion.explodeB();
}
示例7
@Override
public boolean onActivate(Item item, Player player) {
if (this.getLevel().getDimension() != Level.DIMENSION_OVERWORLD) {
BedExplosionEvent event = new BedExplosionEvent(player, this, 4);
Server.getInstance().getPluginManager().callEvent(event);
if (event.isCancelled()) {
return true;
}
Explosion explosion = new Explosion(this, event.getForce(), this);
explosion.explodeA();
return false;
}
int time = this.getLevel().getTime() % Level.TIME_FULL;
boolean isNight = (time >= Level.TIME_NIGHT && time < Level.TIME_SUNRISE);
if (player != null && !isNight) {
player.sendMessage(TextFormat.GRAY + "You can only sleep at night");
return true;
}
Block blockNorth = this.north();
Block blockSouth = this.south();
Block blockEast = this.east();
Block blockWest = this.west();
Block b;
if ((this.meta & 0x08) == 0x08) {
b = this;
} else {
if (blockNorth.getId() == this.getId() && (blockNorth.meta & 0x08) == 0x08) {
b = blockNorth;
} else if (blockSouth.getId() == this.getId() && (blockSouth.meta & 0x08) == 0x08) {
b = blockSouth;
} else if (blockEast.getId() == this.getId() && (blockEast.meta & 0x08) == 0x08) {
b = blockEast;
} else if (blockWest.getId() == this.getId() && (blockWest.meta & 0x08) == 0x08) {
b = blockWest;
} else {
if (player != null) {
player.sendMessage(TextFormat.GRAY + "This bed is incomplete");
}
return true;
}
}
if (player != null && !player.sleepOn(b)) {
player.sendMessage(TextFormat.GRAY + "This bed is occupied");
}
return true;
}