GeneratorListener.java 文件源码

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

项目:MT_Core 作者:
@EventHandler
public void onLeverOrButton(PlayerInteractEvent event) {
    Block clickedBlock = event.getClickedBlock();
    Player player = event.getPlayer();

    if (clickedBlock == null)
        return;

    String chunk = clickedBlock.getLocation().getChunk().getX() + ";"
            + clickedBlock.getLocation().getChunk().getZ();
    if (event.getAction() != Action.RIGHT_CLICK_BLOCK)
        return;
    if (!powerable.containsKey(clickedBlock.getWorld().getName()))
        return;
    if (powerable.get(clickedBlock.getWorld().getName()).getList(chunk).contains(clickedBlock.getLocation()))
        return;

    // We cancel; send smoke particles for button, and we just turn off the
    // lever (if it was, for some reason, on).
    if (clickedBlock.getType() == Material.STONE_BUTTON || clickedBlock.getType() == Material.WOOD_BUTTON) {

        clickedBlock.getWorld().spawnParticle(Particle.SMOKE_NORMAL, clickedBlock.getLocation().add(0.5, 1, 0.5), 7,
                0, 0.2, 0, 0.03);
        player.sendMessage(MortuusTerraCore.NOTI_PREFIX + ChatColor.RED + " There is no generator in range!");

    } else if (clickedBlock.getType() == Material.LEVER) {
        BlockState state = clickedBlock.getState();
        Lever lever = (Lever) state.getData();

        lever.setPowered(false);
        state.setData(lever);
        state.update();
        clickedBlock.getWorld().spawnParticle(Particle.SMOKE_NORMAL, clickedBlock.getLocation().add(0.5, 1, 0.5), 7,
                0, 0.2, 0, 0.03);
        player.sendMessage(MortuusTerraCore.NOTI_PREFIX + ChatColor.RED + " There is no generator in range!");
    }

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号