Advertisement
ollillo

Untitled

Apr 21st, 2016
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.02 KB | None | 0 0
  1. package Beacons.blocks;
  2.  
  3. import Beacons.Beacons;
  4. import Beacons.creativetab.CreativeTab;
  5. import Beacons.tileentity.TileEntityWhiteBeam;
  6.  
  7. import java.util.List;
  8.  
  9. import net.minecraft.block.Block;
  10. import net.minecraft.block.BlockBeacon;
  11. import net.minecraft.block.material.Material;
  12. import net.minecraft.block.properties.IProperty;
  13. import net.minecraft.block.properties.PropertyEnum;
  14. import net.minecraft.block.state.BlockStateContainer;
  15. import net.minecraft.block.state.IBlockState;
  16. import net.minecraft.creativetab.CreativeTabs;
  17. import net.minecraft.entity.player.EntityPlayer;
  18. import net.minecraft.item.EnumDyeColor;
  19. import net.minecraft.item.Item;
  20. import net.minecraft.item.ItemStack;
  21. import net.minecraft.tileentity.TileEntity;
  22. import net.minecraft.tileentity.TileEntityBeacon;
  23. import net.minecraft.util.BlockRenderLayer;
  24. import net.minecraft.util.EnumBlockRenderType;
  25. import net.minecraft.util.IStringSerializable;
  26. import net.minecraft.util.math.BlockPos;
  27. import net.minecraft.util.math.RayTraceResult;
  28. import net.minecraft.world.World;
  29. import net.minecraftforge.fml.relauncher.Side;
  30. import net.minecraftforge.fml.relauncher.SideOnly;
  31.  
  32. public class BeaconBase extends BlockBeacon implements IMetaBlockName {
  33.  
  34.     public static final PropertyEnum TYPE = PropertyEnum.create("type",
  35.             BeaconBase.EnumType.class);
  36.  
  37.     public BeaconBase() {
  38.         super();
  39.         this.setHardness(3.0F);
  40.         this.setLightLevel(1.0F);
  41.     }
  42.     @Override
  43.       public TileEntity createNewTileEntity(World worldIn, int meta)
  44.         {
  45.             return new TileEntityWhiteBeam();
  46.         }
  47.    
  48.     @Override
  49.     public IBlockState getStateFromMeta(int meta) {
  50.         return getDefaultState().withProperty(TYPE, EnumType.values()[meta]);
  51.     }
  52.  
  53.     @Override
  54.     public int getMetaFromState(IBlockState state) {
  55.         EnumType type = (EnumType) state.getValue(TYPE);
  56.         return type.getID();
  57.     }
  58.  
  59.     @Override
  60.     public int damageDropped(IBlockState state) {
  61.         return getMetaFromState(state);
  62.     }
  63.  
  64.     @Override
  65.     protected BlockStateContainer createBlockState() {
  66.         return new BlockStateContainer(this, new IProperty[] { TYPE });
  67.     }
  68.  
  69.     @Override
  70.     public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) {
  71.         list.add(new ItemStack(itemIn, 1, 0));
  72.         list.add(new ItemStack(itemIn, 1, 1));
  73.         list.add(new ItemStack(itemIn, 1, 2));
  74.         list.add(new ItemStack(itemIn, 1, 3));
  75.         list.add(new ItemStack(itemIn, 1, 4));
  76.         list.add(new ItemStack(itemIn, 1, 5));
  77.         list.add(new ItemStack(itemIn, 1, 6));
  78.         list.add(new ItemStack(itemIn, 1, 7));
  79.         list.add(new ItemStack(itemIn, 1, 8));
  80.         list.add(new ItemStack(itemIn, 1, 9));
  81.         list.add(new ItemStack(itemIn, 1, 10));
  82.         list.add(new ItemStack(itemIn, 1, 11));
  83.         list.add(new ItemStack(itemIn, 1, 12));
  84.         list.add(new ItemStack(itemIn, 1, 13));
  85.         list.add(new ItemStack(itemIn, 1, 14));
  86.         list.add(new ItemStack(itemIn, 1, 15));
  87.     }
  88.  
  89.     @Override
  90.     public String getSpecialName(ItemStack stack) {
  91.         return EnumType.values()[stack.getItemDamage()].name().toLowerCase();
  92.     }
  93.  
  94.         public enum EnumType implements IStringSerializable {
  95.  
  96.         WHITE(0, "white"), ORANGE(1, "orange"), MAGENTA(2, "magenta"), LIGHTBLUE(
  97.                 3, "light_blue"), YELLOW(4, "yellow"), LIME(5, "lime"), PINK(6,
  98.                 "pink"), GRAY(7, "gray"), SILVER(8, "silver"), CYAN(9, "cyan"), PURPLE(
  99.                 10, "purple"), BLUE(11, "blue"), BROWN(12, "brown"), GREEN(13,
  100.                 "green"), RED(14, "red"), BLACK(15, "black");
  101.  
  102.         private int ID;
  103.         private String name;
  104.  
  105.         private EnumType(int ID, String name) {
  106.             this.ID = ID;
  107.             this.name = name;
  108.  
  109.         }
  110.  
  111.         @Override
  112.         public String getName() {
  113.             return name;
  114.         }
  115.  
  116.         public int getID() {
  117.             return ID;
  118.         }
  119.  
  120.         @Override
  121.         public String toString() {
  122.             return getName();
  123.         }
  124.     }
  125.  
  126.     @SideOnly(Side.CLIENT)
  127.     public BlockRenderLayer getBlockLayer() {
  128.         return BlockRenderLayer.TRANSLUCENT;
  129.     }
  130.  
  131.     public boolean isOpaqueCube(IBlockState state) {
  132.         return false;
  133.     }
  134.  
  135.     public boolean isFullCube(IBlockState state) {
  136.         return false;
  137.     }
  138.  
  139.     public EnumBlockRenderType getRenderType(IBlockState state) {
  140.         return EnumBlockRenderType.MODEL;
  141.     }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement