package cn.nukkit.block; import cn.nukkit.Player; import cn.nukkit.item.Item; import cn.nukkit.math.BlockFace; /** * Created by CreeperFace on 10.4.2017. */ public class BlockRedstoneTorchUnlit extends BlockTorch { public BlockRedstoneTorchUnlit() { this(0); } public BlockRedstoneTorchUnlit(int meta) { super(meta); } @Override public String getName() { return "Redstone Torch"; } @Override public int getId() { return REDSTONE_TORCH; } @Override public int getLightLevel() { return 7; } @Override public boolean place(Item item, Block block, Block target, BlockFace face, double fx, double fy, double fz, Player player) { Block below = this.down(); if (!target.isTransparent() && face != BlockFace.DOWN) { int[] faces = new int[]{ 0, //0, nerver used 5, //1 4, //2 3, //3 2, //4 1, //5 }; this.meta = faces[face.getIndex()]; this.getLevel().setBlock(block, this, true, true); //Redstone.active(this); return true; } else if (!below.isTransparent() || below instanceof BlockFence || below.getId() == COBBLE_WALL) { this.meta = 0; this.getLevel().setBlock(block, this, true, true); //Redstone.active(this); return true; } return false; } @Override public int getWeakPower(BlockFace side) { return 0; } @Override public int getStrongPower(BlockFace side) { return 0; } @Override public boolean onBreak(Item item) { this.getLevel().setBlock(this, new BlockAir(), true, true); //TODO: redstone return true; } }