Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2016
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.89 KB | None | 0 0
  1. package com.gudenau.machine.block;
  2.  
  3. import com.google.common.collect.Lists;
  4. import com.gudenau.machine.MachinesData;
  5.  
  6. import net.minecraft.block.Block;
  7. import net.minecraft.block.material.Material;
  8. import net.minecraft.block.properties.IProperty;
  9. import net.minecraft.block.properties.PropertyDirection;
  10. import net.minecraft.block.state.BlockState;
  11. import net.minecraft.block.state.IBlockState;
  12. import net.minecraft.entity.EntityLivingBase;
  13. import net.minecraft.util.BlockPos;
  14. import net.minecraft.util.EnumFacing;
  15. import net.minecraft.world.IBlockAccess;
  16. import net.minecraft.world.World;
  17. import net.minecraftforge.client.model.obj.OBJModel;
  18. import net.minecraftforge.common.property.ExtendedBlockState;
  19. import net.minecraftforge.common.property.IExtendedBlockState;
  20. import net.minecraftforge.common.property.IUnlistedProperty;
  21. import net.minecraftforge.fml.relauncher.Side;
  22. import net.minecraftforge.fml.relauncher.SideOnly;
  23.  
  24. public class BlockEnergyCrystal extends Block {
  25.  
  26.     public static final PropertyDirection FACING = PropertyDirection.create("facing");
  27.    
  28.     public BlockEnergyCrystal() {
  29.         super(Material.glass);
  30.         setUnlocalizedName(MachinesData.MOD_ID + "_block_energy_crystal");
  31.         setDefaultState(blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
  32.     }
  33.  
  34.     @Override
  35.     public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer){
  36.         return getDefaultState().withProperty(FACING, facing);
  37.     }
  38.    
  39.     @SideOnly(Side.CLIENT)
  40.     public IBlockState getStateForEntityRender(IBlockState state){
  41.         return getDefaultState().withProperty(FACING, EnumFacing.SOUTH);
  42.     }
  43.  
  44.     @Override
  45.     public IBlockState getStateFromMeta(int meta){
  46.         EnumFacing enumfacing = EnumFacing.getFront(meta);
  47.  
  48.         return getDefaultState().withProperty(FACING, enumfacing);
  49.     }
  50.  
  51.     @Override
  52.     public int getMetaFromState(IBlockState state){
  53.         return ((EnumFacing)state.getValue(FACING)).getIndex();
  54.     }
  55.    
  56.     @Override
  57.     public boolean isOpaqueCube() {
  58.         return false;
  59.     }
  60.  
  61.     @Override
  62.     public boolean isFullCube() {
  63.         return false;
  64.     }
  65.  
  66.     @Override
  67.     public IBlockState getExtendedState(IBlockState state, IBlockAccess world, BlockPos pos) {
  68.         OBJModel.OBJState newState = new OBJModel.OBJState(Lists.newArrayList(OBJModel.Group.ALL), true, null);
  69.         return ((IExtendedBlockState) state).withProperty(OBJModel.OBJProperty.instance, newState);
  70.     }
  71.  
  72.     @Override
  73.     public BlockState createBlockState() {
  74.         return new ExtendedBlockState(this, new IProperty[] { FACING }, new IUnlistedProperty[] { OBJModel.OBJProperty.instance });
  75.     }
  76.    
  77.     @Override
  78.     public boolean doesSideBlockRendering(IBlockAccess world, BlockPos pos, EnumFacing face) {
  79.         return false;
  80.     }
  81.  
  82.     @Override
  83.     public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, EnumFacing side) {
  84.         return false;
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement