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

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

There is a newer version: 1.20.40-r1
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.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);
        }
    }

    @Since("1.4.0.0-PN")
    @PowerNukkitOnly
    @Nonnull
    @Override
    public abstract BlockProperties getProperties();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy