PlaceBlocksTask.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:placemc 作者:
@Override
public void run() {
    int updated = 0;

    while (!queue.isEmpty()) {
        BlockPlacement p = queue.remove();

        Block b = world.getBlockAt(p.x, 30, p.y);

        if (p.definitelyNew || b.getData() != p.blockType) {
            b.setData(p.blockType);
            updated++;
            Firework f = (Firework) world.spawn(new Location(world, p.x, 30, p.y), Firework.class);
            FireworkMeta fm = f.getFireworkMeta();
            fm.addEffect(FireworkEffect.builder()
                    .flicker(false)
                    .trail(true)
                    .with(FireworkEffect.Type.BALL)
                    .withColor(DyeColor.getByWoolData(p.blockType).getColor())
                    .withFade(DyeColor.getByWoolData(p.blockType).getColor())
                    .build());
            fm.setPower(0);
            f.setFireworkMeta(fm);
        }
    }

    if (updated > 0) {
        plugin.getServer().broadcastMessage(ChatColor.DARK_GREEN + "Updated " + ChatColor.GREEN + updated + ChatColor.DARK_GREEN + " blocks!");
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号