Advertisement
Guest User

Untitled

a guest
May 24th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. package TechnicianLP.FactorialRevolution.common.blocks.blocks;
  2.  
  3. import TechnicianLP.FactorialRevolution.common.FactorialRevolution;
  4. import TechnicianLP.FactorialRevolution.common.blocks.blockstate.AStateSupplier;
  5. import TechnicianLP.FactorialRevolution.common.blocks.blockstate.IBlockStateWrapper;
  6. import net.minecraft.block.Block;
  7. import net.minecraft.block.material.Material;
  8. import net.minecraft.block.state.BlockStateContainer;
  9. import net.minecraft.block.state.IBlockState;
  10. import net.minecraft.item.ItemStack;
  11. import net.minecraft.util.math.BlockPos;
  12. import net.minecraft.world.IBlockAccess;
  13.  
  14. public abstract class BlockBase<S extends AStateSupplier> extends Block {
  15.  
  16. public final String name;
  17. public S stateSupplier;
  18.  
  19. public BlockBase(Material material, String name) {
  20. super(material);
  21. this.setHardness(5F);
  22. this.setResistance(10.0F);
  23.  
  24. this.name = name;
  25. this.setUnlocalizedName(name);
  26. this.setRegistryName(name);
  27.  
  28. this.setDefaultState(stateSupplier.getDefaultState(new IBlockStateWrapper(blockState.getBaseState())));
  29.  
  30. FactorialRevolution.LOGGER.info(getDefaultState());
  31. }
  32.  
  33. public ItemStack makeStack(int meta) {
  34. return new ItemStack(this, 1, meta);
  35. }
  36.  
  37. @Override
  38. public Block setUnlocalizedName(String name) {
  39. return super.setUnlocalizedName(name);
  40. }
  41.  
  42. // BLOCK states
  43.  
  44. /** returns the statesupplier for this block (or default one) */
  45. protected abstract S getStateSupplier();
  46.  
  47. @Override
  48. protected BlockStateContainer createBlockState() {
  49. stateSupplier = getStateSupplier();
  50. return stateSupplier.createBlockState(this);
  51. }
  52.  
  53. @Override
  54. public int getMetaFromState(IBlockState state) {
  55. return stateSupplier.getMetaFromState(new IBlockStateWrapper(state));
  56. }
  57.  
  58. @Override
  59. public IBlockState getStateFromMeta(int meta) {
  60. System.out.println(getDefaultState());
  61. return stateSupplier.getStateFromMeta(meta, new IBlockStateWrapper(getDefaultState()));
  62. }
  63.  
  64. // @Override
  65. // public IBlockState getExtendedState(IBlockState state, IBlockAccess
  66. // world, BlockPos pos) {
  67. // return getActualState(state, world, pos);
  68. // }
  69.  
  70. @Override
  71. public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
  72. System.out.println(state);
  73. return stateSupplier.getActualState(new IBlockStateWrapper(state), worldIn, pos);
  74. }
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement