PageRenderTime 39ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/src/main/java/mod/rcraft/blocks/BlockGate.java

https://bitbucket.org/AzureZhen/dothack-models
Java | 145 lines | 112 code | 33 blank | 0 comment | 2 complexity | 27648fbfb3b27db112bc4492a75fa5e3 MD5 | raw file
  1. package mod.rcraft.blocks;
  2. import java.util.Random;
  3. import mod.rcraft.tabs.Rcraft_rcrafttabblocks;
  4. import net.minecraft.block.Block;
  5. import net.minecraft.block.SoundType;
  6. import net.minecraft.block.material.Material;
  7. import net.minecraft.block.state.IBlockState;
  8. import net.minecraft.client.Minecraft;
  9. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  10. import net.minecraft.init.Blocks;
  11. import net.minecraft.item.Item;
  12. import net.minecraft.item.ItemBlock;
  13. import net.minecraft.item.ItemStack;
  14. import net.minecraft.util.BlockRenderLayer;
  15. import net.minecraft.util.EnumFacing;
  16. import net.minecraft.util.math.AxisAlignedBB;
  17. import net.minecraft.util.math.BlockPos;
  18. import net.minecraft.world.IBlockAccess;
  19. import net.minecraft.world.World;
  20. import net.minecraftforge.fml.common.event.FMLInitializationEvent;
  21. import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
  22. import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
  23. import net.minecraftforge.fml.common.registry.ForgeRegistries;
  24. import net.minecraftforge.fml.relauncher.Side;
  25. import net.minecraftforge.fml.relauncher.SideOnly;
  26. public class BlockGate extends BlockBase {
  27. public BlockGate() {
  28. super("gate",Material.IRON);
  29. }
  30. public static BlockGater1 block;
  31. public static Item item;
  32. public static Object instance;
  33. public int addFuel(ItemStack fuel) {
  34. return 0;
  35. }
  36. public void serverLoad(FMLServerStartingEvent event) {
  37. }
  38. public void preInit(FMLPreInitializationEvent event) {
  39. block.setRegistryName("gater1");
  40. ForgeRegistries.BLOCKS.register(block);
  41. item = new ItemBlock(block).setRegistryName(block.getRegistryName());
  42. ForgeRegistries.ITEMS.register(item);
  43. }
  44. public void registerRenderers() {
  45. }
  46. public void load(FMLInitializationEvent event) {
  47. if (event.getSide() == Side.CLIENT) {
  48. Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
  49. .register(item, 0, new ModelResourceLocation("rcraft:gater1", "inventory"));
  50. }
  51. }
  52. static {
  53. block = (BlockGater1) (new BlockGater1().setHardness(2.0F).setResistance(10.0F).setLightLevel(10.0F).setUnlocalizedName("gater1")
  54. .setLightOpacity(10).setBlockUnbreakable().setCreativeTab(Rcraft_rcrafttabblocks.tab));
  55. block.setHarvestLevel("pickaxe", 4);
  56. }
  57. public void generateSurface(World world, Random random, int chunkX, int chunkZ) {
  58. }
  59. public void generateNether(World world, Random random, int chunkX, int chunkZ) {
  60. }
  61. static class BlockGater1 extends Block {
  62. int a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0;
  63. boolean red = false;
  64. protected BlockGater1() {
  65. super(Material.GROUND);
  66. setSoundType(SoundType.WOOD);
  67. }
  68. @Override
  69. public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
  70. int i = pos.getX();
  71. int j = pos.getY();
  72. int k = pos.getZ();
  73. world.scheduleUpdate(new BlockPos(i, j, k), this, this.tickRate(world));
  74. }
  75. @Override
  76. public int getWeakPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
  77. return red ? 15 : 0;
  78. }
  79. @Override
  80. public int getStrongPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
  81. return red ? 15 : 0;
  82. }
  83. @Override
  84. public boolean isOpaqueCube(IBlockState state) {
  85. return false;
  86. }
  87. @SideOnly(Side.CLIENT)
  88. @Override
  89. public BlockRenderLayer getBlockLayer() {
  90. return BlockRenderLayer.SOLID;
  91. }
  92. @Override
  93. public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
  94. return new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
  95. }
  96. public boolean canProvidePower() {
  97. return true;
  98. }
  99. @Override
  100. public int tickRate(World world) {
  101. return 10;
  102. }
  103. @Override
  104. public int quantityDropped(Random par1Random) {
  105. return 0;
  106. }
  107. @Override
  108. public Item getItemDropped(IBlockState state, Random par2Random, int par3) {
  109. return new ItemStack(Blocks.AIR).getItem();
  110. }
  111. }
  112. }