本文整理汇总了Java中cn.nukkit.event.block.BlockGrowEvent类的典型用法代码示例。如果您正苦于以下问题:Java BlockGrowEvent类的具体用法?Java BlockGrowEvent怎么用?Java BlockGrowEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BlockGrowEvent类属于cn.nukkit.event.block包,在下文中一共展示了BlockGrowEvent类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onActivate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
if (item.getId() == Item.DYE && item.getDamage() == 0x0f) {
Block block = this.clone();
if (this.meta / 4 < 2) {
block.meta += 4;
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (ev.isCancelled()) {
return false;
}
this.getLevel().setBlock(this, ev.getNewState(), true, true);
}
this.level.addParticle(new BoneMealParticle(this.add(0.5, 0.5, 0.5)));
item.count--;
return true;
}
return false;
}
示例2: onActivate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
//Bone meal
if (item.getId() == Item.DYE && item.getDamage() == 0x0f) {
BlockCrops block = (BlockCrops) this.clone();
block.meta += new Random().nextInt(3) + 2;
if (block.meta > 7) {
block.meta = 7;
}
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (ev.isCancelled()) {
return false;
}
this.getLevel().setBlock(this, ev.getNewState(), true, true);
item.count--;
return true;
}
return false;
}
示例3: onActivate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
if (item.getId() == Item.DYE && item.getDamage() == 0x0F) { //Bonemeal
if (this.getSide(0).getId() != SUGARCANE_BLOCK) {
for (y = 1; y < 3; ++y) {
Block b = this.getLevel().getBlock(new Vector3(this.x, this.y + y, this.z));
if (b.getId() == AIR) {
BlockGrowEvent ev = new BlockGrowEvent(b, new BlockSugarcane());
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(b, ev.getNewState(), true);
}
break;
}
}
this.meta = 0;
this.getLevel().setBlock(this, this, true);
}
if ((player.gamemode & 0x01) == 0) {
item.count--;
}
return true;
}
return false;
}
示例4: onActivate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
if (item.getId() == Item.DYE && item.getDamage() == 0x0F) { //Bonemeal
int count = 1;
for (int i = 1; i <= 2; i++) {
int id = this.level.getBlockIdAt(this.getFloorX(), this.getFloorY() - i, this.getFloorZ());
if (id == SUGARCANE_BLOCK) {
count++;
}
}
if (count < 3) {
int toGrow = 3 - count;
for (int i = 1; i <= toGrow; i++) {
Block block = this.up(i);
if (block.getId() == 0) {
BlockGrowEvent ev = new BlockGrowEvent(block, new BlockSugarcane());
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(block, ev.getNewState(), true);
}
} else if (block.getId() != SUGARCANE_BLOCK) {
break;
}
}
}
if ((player.gamemode & 0x01) == 0) {
item.count--;
}
this.level.addParticle(new BoneMealParticle(this.add(0.5, 0.5, 0.5)));
return true;
}
return false;
}
示例5: onActivate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
//Bone meal
if (item.getId() == Item.DYE && item.getDamage() == 0x0f) {
BlockCrops block = (BlockCrops) this.clone();
if (this.meta < 7) {
block.meta += new Random().nextInt(3) + 2;
if (block.meta > 7) {
block.meta = 7;
}
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (ev.isCancelled()) {
return false;
}
this.getLevel().setBlock(this, ev.getNewState(), true, true);
}
this.level.addParticle(new BoneMealParticle(this.add(0.5, 0.5, 0.5)));
item.count--;
return true;
}
return false;
}
示例6: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
if (this.down().getId() != FARMLAND) {
this.getLevel().useBreakOn(this);
return Level.BLOCK_UPDATE_NORMAL;
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (new Random().nextInt(2) == 1) {
if (this.meta < 0x07) {
BlockCrops block = (BlockCrops) this.clone();
++block.meta;
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(this, ev.getNewState(), true, true);
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
return 0;
}
示例7: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
if (this.down().getId() != SOUL_SAND) {
this.getLevel().useBreakOn(this);
return Level.BLOCK_UPDATE_NORMAL;
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (new Random().nextInt(10) == 1) {
if (this.meta < 0x03) {
BlockNetherWart block = (BlockNetherWart) this.clone();
++block.meta;
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(this, ev.getNewState(), true, true);
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
return 0;
}
示例8: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
Block down = down();
if (down.getId() != SAND && down.getId() != CACTUS) {
this.getLevel().useBreakOn(this);
} else {
for (int side = 2; side <= 5; ++side) {
Block block = getSide(BlockFace.fromIndex(side));
if (!block.canBeFlowedInto()) {
this.getLevel().useBreakOn(this);
}
}
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (down().getId() != CACTUS) {
if (this.meta == 0x0F) {
for (int y = 1; y < 3; ++y) {
Block b = this.getLevel().getBlock(new Vector3(this.x, this.y + y, this.z));
if (b.getId() == AIR) {
BlockGrowEvent event = new BlockGrowEvent(b, new BlockCactus());
Server.getInstance().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
this.getLevel().setBlock(b, event.getNewState(), true);
}
}
}
this.meta = 0;
this.getLevel().setBlock(this, this);
} else {
++this.meta;
this.getLevel().setBlock(this, this);
}
}
}
return 0;
}
示例9: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
int[] faces = new int[]{
3, 4, 2, 5, 3, 4, 2, 5, 3, 4, 2, 5
};
Block side = this.getSide(BlockFace.fromIndex(faces[this.meta]));
if (side.getId() != Block.WOOD && side.getDamage() != BlockWood.JUNGLE) {
this.getLevel().useBreakOn(this);
return Level.BLOCK_UPDATE_NORMAL;
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (new Random().nextInt(2) == 1) {
if (this.meta / 4 < 2) {
BlockCocoa block = (BlockCocoa) this.clone();
block.meta += 4;
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(this, ev.getNewState(), true, true);
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
return 0;
}
示例10: onActivate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public boolean onActivate(Item item, Player player) {
if (item.getId() == Item.DYE && item.getDamage() == 0x0F) { //Bonemeal
Block base = this;
// As sugarcane only grows to a height of three activating the
// lowest or middle block should cause growing. Here we drop
// down one if it's not already the base.
Block down = base.down();
if (down.getId() == SUGARCANE_BLOCK) {
base = down;
}
if (down.getId() != SUGARCANE_BLOCK) {
for (int y = 1; y < 3; ++y) {
Block b = base.getLevel().getBlock(new Vector3(base.x, base.y + y, base.z));
if (b.getId() == AIR) {
BlockGrowEvent ev = new BlockGrowEvent(b, new BlockSugarcane());
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(b, ev.getNewState(), true);
}
} else if (b.getId() != SUGARCANE_BLOCK) {
break;
}
}
base.meta = 0;
base.getLevel().setBlock(base, base, true);
}
if ((player.gamemode & 0x01) == 0) {
item.count--;
}
return true;
}
return false;
}
示例11: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
int[] faces = new int[]{
3, 4, 2, 5, 3, 4, 2, 5, 3, 4, 2, 5
};
Block side = this.getSide(BlockFace.fromIndex(faces[this.meta]));
if (side.getId() != Block.WOOD && side.getDamage() != BlockWood.JUNGLE) {
this.getLevel().useBreakOn(this);
return Level.BLOCK_UPDATE_NORMAL;
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (new Random().nextInt(2) == 1) {
if (this.meta <= 7) {
BlockCocoa block = (BlockCocoa) this.clone();
block.meta += 4;
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(this, ev.getNewState(), true, true);
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
return 0;
}
示例12: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
if (this.getSide(Vector3.SIDE_DOWN).getId() != FARMLAND) {
this.getLevel().useBreakOn(this);
return Level.BLOCK_UPDATE_NORMAL;
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (new Random().nextInt(2) == 1) {
if (this.meta < 0x07) {
BlockCrops block = (BlockCrops) this.clone();
++block.meta;
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(this, ev.getNewState(), true, true);
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
return 0;
}
示例13: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
Block down = getSide(0);
if (down.getId() != SAND && down.getId() != CACTUS) {
this.getLevel().useBreakOn(this);
} else {
for (int side = 2; side <= 5; ++side) {
Block block = getSide(side);
if (!block.canBeFlowedInto()) {
this.getLevel().useBreakOn(this);
}
}
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (getSide(0).getId() != CACTUS) {
if (this.meta == 0x0F) {
for (int y = 1; y < 3; ++y) {
Block b = this.getLevel().getBlock(new Vector3(this.x, this.y + y, this.z));
if (b.getId() == AIR) {
BlockGrowEvent event = new BlockGrowEvent(b, new BlockCactus());
Server.getInstance().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
this.getLevel().setBlock(b, event.getNewState(), true);
}
}
}
this.meta = 0;
this.getLevel().setBlock(this, this);
} else {
++this.meta;
this.getLevel().setBlock(this, this);
}
}
}
return 0;
}
示例14: onUpdate
import cn.nukkit.event.block.BlockGrowEvent; //导入依赖的package包/类
@Override
public int onUpdate(int type) {
if (type == Level.BLOCK_UPDATE_NORMAL) {
int[] faces = new int[]{
3, 4, 2, 5, 3, 4, 2, 5, 3, 4, 2, 5
};
Block side = this.getSide(faces[this.meta]);
if (side.getId() != Block.WOOD && side.getDamage() != BlockWood.JUNGLE) {
this.getLevel().useBreakOn(this);
return Level.BLOCK_UPDATE_NORMAL;
}
} else if (type == Level.BLOCK_UPDATE_RANDOM) {
if (new Random().nextInt(2) == 1) {
if (this.meta <= 7) {
BlockCocoa block = (BlockCocoa) this.clone();
block.meta += 4;
BlockGrowEvent ev = new BlockGrowEvent(this, block);
Server.getInstance().getPluginManager().callEvent(ev);
if (!ev.isCancelled()) {
this.getLevel().setBlock(this, ev.getNewState(), true, true);
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
} else {
return Level.BLOCK_UPDATE_RANDOM;
}
}
return 0;
}