Блок воздуха

Версия Minecraft
1.12.2
81
3
В общем мне нужно сделать блок для мода, который будет наследовать поведения воздуха. Прозрачным, проходимым, невидимым итп.

Проходимость и прозрачность я сделал, так же не забыл суперкласс
Java:
super(Material.AIR);
Однако блок, не позволяет через себя ударить, если я пытаюсь ударить например стенку, находящуюся за этим блоком воздуха, то игрок как бы пытается ударить блок воздуха, который разбить естественно не может.

Может есть какой то параметр, что позволяет блоку игнорировать удары по себе?
Немного не правильно, что то я не затер, но вот что имею, без импортов:
Java:
public class campfirePrLogic extends testmod.ModElement {

    @GameRegistry.ObjectHolder("testmod:campfireprlogic")
    public static final Block block = null;

    public campfirePrLogic(testmod instance) {
        super(instance);
        instance.blocks.add(() -> new BlockCustom());
        instance.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
    }

    @SideOnly(Side.CLIENT)
    @Override
    public void registerModels(ModelRegistryEvent event) {
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation("testmod:campfireprlogic",
                "inventory"));
    }

    public static class BlockCustom extends Block {

        public BlockCustom() {
            super(Material.AIR);
            setRegistryName("campfireprlogic");
            setUnlocalizedName("campfireprlogic");
            setSoundType(SoundType.STONE);
            setHarvestLevel("pickaxe", 1);
            setHardness(2F);
            setResistance(50000F);
            setLightLevel(0F);
            setLightOpacity(0);
            setCreativeTab(tABTestmod.tab);
        }

        @SideOnly(Side.CLIENT)
        @Override
        public BlockRenderLayer getBlockLayer() {
            return BlockRenderLayer.TRANSLUCENT;
        }

        @Override
        @javax.annotation.Nullable
        public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
            return NULL_AABB;
        }

        @Override
        public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
            return true;
        }

        @Override
        public boolean isFullCube(IBlockState state) {
            return false;
        }

        @Override
        public boolean isOpaqueCube(IBlockState state) {
            return false;
        }

        @Override
        public boolean canSilkHarvest(World world, BlockPos pos, IBlockState state, EntityPlayer player) {
            return false;
        }

        @Override
        public Item getItemDropped(IBlockState state, Random random, int l) {
            return new ItemStack(Blocks.AIR, (int) (1)).getItem();
        }
    }
}
 
Последнее редактирование:
Сверху