All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.nukkit.block.BlockMeta Maven / Gradle / Ivy

Go to download

A Minecraft Bedrock Edition server software implementation made in Java from scratch which supports all new features.

There is a newer version: 1.6.0.1-PN
Show newest version
package cn.nukkit.block;

import cn.nukkit.api.PowerNukkitOnly;
import cn.nukkit.api.Since;
import cn.nukkit.blockproperty.BlockProperties;
import cn.nukkit.blockproperty.CommonBlockProperties;
import cn.nukkit.blockproperty.exception.InvalidBlockPropertyMetaException;

import javax.annotation.Nonnull;

public abstract class BlockMeta extends Block {
    /**
     * Creates the block in the default state.
     */
    @PowerNukkitOnly
    @Since("1.4.0.0-PN")
    protected BlockMeta(){
        // Does nothing
    }

    /**
     * Create the block from a specific state.
     * 
     * If the meta is not acceptable by {@link #getProperties()}, it will be modified to an accepted value.
     * 
     * @param meta The block state meta
     */
    protected BlockMeta(int meta) throws InvalidBlockPropertyMetaException {
        if (meta != 0) {
            getMutableState().setDataStorageFromInt(meta, true);
        }
    }

    /**
     * A backward-compatibility properties definition that accepts any values that can be stored in the amount of bits
     * specified by {@link Block#DATA_BITS}.
     * 

Implementations can change the returned properties to restrict only valid values and make complete use * of the block state system.

*/ @Since("1.4.0.0-PN") @Nonnull @PowerNukkitOnly @Override public BlockProperties getProperties() { return CommonBlockProperties.LEGACY_PROPERTIES; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy