Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gudenau.machine.block;
- import com.google.common.collect.Lists;
- import com.gudenau.machine.MachinesData;
- import net.minecraft.block.Block;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.IProperty;
- import net.minecraft.block.properties.PropertyDirection;
- import net.minecraft.block.state.BlockState;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.util.BlockPos;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.world.IBlockAccess;
- import net.minecraft.world.World;
- import net.minecraftforge.client.model.obj.OBJModel;
- import net.minecraftforge.common.property.ExtendedBlockState;
- import net.minecraftforge.common.property.IExtendedBlockState;
- import net.minecraftforge.common.property.IUnlistedProperty;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- public class BlockEnergyCrystal extends Block {
- public static final PropertyDirection FACING = PropertyDirection.create("facing");
- public BlockEnergyCrystal() {
- super(Material.glass);
- setUnlocalizedName(MachinesData.MOD_ID + "_block_energy_crystal");
- setDefaultState(blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
- }
- @Override
- public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer){
- return getDefaultState().withProperty(FACING, facing);
- }
- @SideOnly(Side.CLIENT)
- public IBlockState getStateForEntityRender(IBlockState state){
- return getDefaultState().withProperty(FACING, EnumFacing.SOUTH);
- }
- @Override
- public IBlockState getStateFromMeta(int meta){
- EnumFacing enumfacing = EnumFacing.getFront(meta);
- return getDefaultState().withProperty(FACING, enumfacing);
- }
- @Override
- public int getMetaFromState(IBlockState state){
- return ((EnumFacing)state.getValue(FACING)).getIndex();
- }
- @Override
- public boolean isOpaqueCube() {
- return false;
- }
- @Override
- public boolean isFullCube() {
- return false;
- }
- @Override
- public IBlockState getExtendedState(IBlockState state, IBlockAccess world, BlockPos pos) {
- OBJModel.OBJState newState = new OBJModel.OBJState(Lists.newArrayList(OBJModel.Group.ALL), true, null);
- return ((IExtendedBlockState) state).withProperty(OBJModel.OBJProperty.instance, newState);
- }
- @Override
- public BlockState createBlockState() {
- return new ExtendedBlockState(this, new IProperty[] { FACING }, new IUnlistedProperty[] { OBJModel.OBJProperty.instance });
- }
- @Override
- public boolean doesSideBlockRendering(IBlockAccess world, BlockPos pos, EnumFacing face) {
- return false;
- }
- @Override
- public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, EnumFacing side) {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement