Advertisement
RamireDu06

Untitled

May 30th, 2017
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. import net.minecraftforge.fml.relauncher.SideOnly;
  2. import net.minecraftforge.fml.relauncher.Side;
  3. import net.minecraftforge.fml.common.registry.GameRegistry;
  4. import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
  5. import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
  6. import net.minecraftforge.fml.common.event.FMLInitializationEvent;
  7.  
  8. import net.minecraft.world.World;
  9. import net.minecraft.world.IBlockAccess;
  10. import net.minecraft.util.math.BlockPos;
  11. import net.minecraft.util.math.AxisAlignedBB;
  12. import net.minecraft.util.EnumFacing;
  13. import net.minecraft.util.BlockRenderLayer;
  14. import net.minecraft.item.ItemStack;
  15. import net.minecraft.item.ItemBlock;
  16. import net.minecraft.item.Item;
  17. import net.minecraft.creativetab.CreativeTabs;
  18. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  19. import net.minecraft.client.Minecraft;
  20. import net.minecraft.block.state.IBlockState;
  21. import net.minecraft.block.material.Material;
  22. import net.minecraft.block.SoundType;
  23. import net.minecraft.block.Block;
  24.  
  25. import java.util.Random;
  26.  
  27. public class mcreator_blockTest {
  28.  
  29. public mcreator_blockTest() {
  30. }
  31.  
  32. public static BlockBlockTest block;
  33.  
  34. public static Object instance;
  35.  
  36. public int addFuel(ItemStack fuel) {
  37. return 0;
  38. }
  39.  
  40. public void serverLoad(FMLServerStartingEvent event) {
  41. }
  42.  
  43. public void preInit(FMLPreInitializationEvent event) {
  44. block.setRegistryName("blocktest");
  45. GameRegistry.register(block);
  46. GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
  47. }
  48.  
  49. public void registerRenderers() {
  50. }
  51.  
  52. public void load(FMLInitializationEvent event) {
  53. if (event.getSide() == Side.CLIENT) {
  54. Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
  55. .register(Item.getItemFromBlock(block), 0, new ModelResourceLocation("testenvironmentmod:blocktest", "inventory"));
  56. }
  57. }
  58.  
  59. static {
  60.  
  61. block = (BlockBlockTest) (new BlockBlockTest().setHardness(2.0F).setResistance(10.0F).setLightLevel(0.0F).setUnlocalizedName("BlockTest")
  62. .setLightOpacity(0).setCreativeTab(CreativeTabs.BUILDING_BLOCKS));
  63. block.setHarvestLevel("pickaxe", 4);
  64. }
  65.  
  66. public void generateSurface(World world, Random random, int chunkX, int chunkZ) {
  67. }
  68.  
  69. public void generateNether(World world, Random random, int chunkX, int chunkZ) {
  70. }
  71.  
  72. static class BlockBlockTest extends Block {
  73.  
  74. int a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0;
  75.  
  76. boolean red = false;
  77.  
  78. protected BlockBlockTest() {
  79. super(Material.GROUND);
  80.  
  81. setSoundType(SoundType.WOOD);
  82.  
  83. }
  84.  
  85. @Override
  86. public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
  87. int i = pos.getX();
  88. int j = pos.getY();
  89. int k = pos.getZ();
  90. world.scheduleUpdate(new BlockPos(i, j, k), this, this.tickRate(world));
  91.  
  92. }
  93.  
  94. @Override
  95. public int getWeakPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
  96. return red ? 15 : 0;
  97. }
  98.  
  99. @Override
  100. public int getStrongPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
  101. return red ? 15 : 0;
  102. }
  103.  
  104. @Override
  105. public boolean isOpaqueCube(IBlockState state) {
  106. return false;
  107. }
  108.  
  109. @SideOnly(Side.CLIENT)
  110. @Override
  111. public BlockRenderLayer getBlockLayer() {
  112. return BlockRenderLayer.SOLID;
  113. }
  114.  
  115. @Override
  116. public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
  117. return new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
  118. }
  119.  
  120. @Override
  121. public int tickRate(World world) {
  122. return 10;
  123. }
  124.  
  125. @Override
  126. public int quantityDropped(Random par1Random) {
  127. return 1;
  128. }
  129.  
  130. @Override
  131. public void addCollisionBoxToList(IBlockState state, World world, BlockPos pos, AxisAlignedBB mask, List<AxisAlignedBB> list,
  132. @Nullable Entity entity) {
  133.  
  134. EnumFacing facing = (EnumFacing) state.getValue(FACING);
  135. addCollisionBoxToList(pos, mask, list, new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D));
  136. if (facing == EnumFacing.SOUTH) {
  137. addCollisionBoxToList(pos, mask, list, new AxisAlignedBB(0.0D, 1.0D, 0.0D, 1.0D, 2.0D, 0.2D));
  138. }
  139. if (facing == EnumFacing.NORTH) {
  140. addCollisionBoxToList(pos, mask, list, new AxisAlignedBB(0.0D, 1.0D, 0.8D, 1.0D, 2.0D, 1.0D));
  141. }
  142. if (facing == EnumFacing.EAST) {
  143.  
  144. addCollisionBoxToList(pos, mask, list, new AxisAlignedBB(0.0D, 1.0D, 0.2D, 1.0D, 2.0D, 1.0D));
  145. }
  146. if (facing == EnumFacing.WEST) {
  147.  
  148. addCollisionBoxToList(pos, mask, list, new AxisAlignedBB(0.8D, 1.0D, 0.8D, 1.0D, 2.0D, 1.0D));
  149. }
  150.  
  151. }
  152.  
  153. @Override
  154. public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
  155. return new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 2.0D, 1.0D);
  156. }
  157.  
  158. }
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement