Newer
Older
void-pack-super-server / work / decompile-ee3ecae0 / net / minecraft / server / ItemBlockWallable.java
package net.minecraft.server;

import java.util.Map;
import javax.annotation.Nullable;

public class ItemBlockWallable extends ItemBlock {

    public final Block wallBlock;

    public ItemBlockWallable(Block block, Block block1, Item.Info item_info) {
        super(block, item_info);
        this.wallBlock = block1;
    }

    @Nullable
    @Override
    protected IBlockData c(BlockActionContext blockactioncontext) {
        IBlockData iblockdata = this.wallBlock.getPlacedState(blockactioncontext);
        IBlockData iblockdata1 = null;
        World world = blockactioncontext.getWorld();
        BlockPosition blockposition = blockactioncontext.getClickPosition();
        EnumDirection[] aenumdirection = blockactioncontext.e();
        int i = aenumdirection.length;

        for (int j = 0; j < i; ++j) {
            EnumDirection enumdirection = aenumdirection[j];

            if (enumdirection != EnumDirection.UP) {
                IBlockData iblockdata2 = enumdirection == EnumDirection.DOWN ? this.getBlock().getPlacedState(blockactioncontext) : iblockdata;

                if (iblockdata2 != null && iblockdata2.canPlace(world, blockposition)) {
                    iblockdata1 = iblockdata2;
                    break;
                }
            }
        }

        return iblockdata1 != null && world.a(iblockdata1, blockposition, VoxelShapeCollision.a()) ? iblockdata1 : null;
    }

    @Override
    public void a(Map<Block, Item> map, Item item) {
        super.a(map, item);
        map.put(this.wallBlock, item);
    }
}