Advertisement
Guest User

Coding Problems

a guest
Jan 20th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.81 KB | None | 0 0
  1. import java.util.List;
  2. import java.util.Random;
  3.  
  4. import net.minecraft.block.Block;
  5. import net.minecraft.block.BlockBush;
  6. import net.minecraft.block.IGrowable;
  7. import net.minecraft.block.material.Material;
  8. import net.minecraft.client.renderer.texture.IIconRegister;
  9. import net.minecraft.creativetab.CreativeTabs;
  10. import net.minecraft.init.Blocks;
  11. import net.minecraft.item.Item;
  12. import net.minecraft.item.ItemStack;
  13. import net.minecraft.util.IIcon;
  14. import net.minecraft.util.MathHelper;
  15. import net.minecraft.world.World;
  16. import net.minecraft.world.gen.feature.WorldGenBigTree;
  17. import net.minecraft.world.gen.feature.WorldGenCanopyTree;
  18. import net.minecraft.world.gen.feature.WorldGenForest;
  19. import net.minecraft.world.gen.feature.WorldGenMegaJungle;
  20. import net.minecraft.world.gen.feature.WorldGenMegaPineTree;
  21. import net.minecraft.world.gen.feature.WorldGenSavannaTree;
  22. import net.minecraft.world.gen.feature.WorldGenTaiga2;
  23. import net.minecraft.world.gen.feature.WorldGenTrees;
  24. import net.minecraft.world.gen.feature.WorldGenerator;
  25.  
  26.  
  27. public class blockAutumnRedSapling extends BlockBush implements IGrowable
  28. {
  29. public static final String[] field_149882_a = new String[] {"AutumnOakRED"};
  30. private static final IIcon[] field_149881_b = new IIcon[field_149882_a.length];
  31. private static final String __OBFID = "CL_00000305";
  32.  
  33.  
  34. protected blockAutumnRedSapling(Material plants)
  35. {
  36. float var1 = 0.4F;
  37. this.setBlockBounds(0.5F - var1, 0.0F, 0.5F - var1, 0.5F + var1, var1 * 2.0F, 0.5F + var1);
  38.  
  39. }
  40.  
  41. /**
  42. * Ticks the block if it's been scheduled
  43. */
  44. public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_)
  45. {
  46. if (!p_149674_1_.isRemote)
  47. {
  48. super.updateTick(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, p_149674_5_);
  49.  
  50. if (p_149674_1_.getBlockLightValue(p_149674_2_, p_149674_3_ + 1, p_149674_4_) >= 9 && p_149674_5_.nextInt(7) == 0)
  51. {
  52. this.func_149879_c(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, p_149674_5_);
  53. }
  54. }
  55. }
  56.  
  57. /**
  58. * Gets the block's texture. Args: side, meta
  59. */
  60.  
  61. public IIcon getIcon(int p_149691_1_, int p_149691_2_)
  62. {
  63. p_149691_2_ &= 7;
  64. return field_149881_b[MathHelper.clamp_int(p_149691_2_, 0, 5)];
  65. }
  66.  
  67.  
  68. public void func_149879_c(World p_149879_1_, int p_149879_2_, int p_149879_3_, int p_149879_4_, Random p_149879_5_)
  69. {
  70. int var6 = p_149879_1_.getBlockMetadata(p_149879_2_, p_149879_3_, p_149879_4_);
  71.  
  72. if ((var6 & 8) == 0)
  73. {
  74. p_149879_1_.setBlockMetadataWithNotify(p_149879_2_, p_149879_3_, p_149879_4_, var6 | 1000, 1000);
  75. }
  76. else
  77. {
  78. this.func_149878_d(p_149879_1_, p_149879_2_, p_149879_3_, p_149879_4_, p_149879_5_);
  79. }
  80. }
  81.  
  82. public void func_149878_d(World p_149878_1_, int p_149878_2_, int p_149878_3_, int p_149878_4_, Random p_149878_5_)
  83. {
  84. int var6 = p_149878_1_.getBlockMetadata(p_149878_2_, p_149878_3_, p_149878_4_) & 7;
  85. Object var7 = p_149878_5_.nextInt(10) == 0 ? new WorldGenBigTree(true) : new WorldGenTrees(true);
  86. int var8 = 0;
  87. int var9 = 0;
  88. boolean var10 = false;
  89.  
  90. switch (var6)
  91. {
  92. case 0:
  93. default:
  94. break;
  95.  
  96. case 1:
  97. label78:
  98. for (var8 = 0; var8 >= -1; --var8)
  99. {
  100. for (var9 = 0; var9 >= -1; --var9)
  101. {
  102. if (this.func_149880_a(p_149878_1_, p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9, 1) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9, 1) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9 + 1, 1) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9 + 1, 1))
  103. {
  104. var7 = new WorldGenMegaPineTree(false, p_149878_5_.nextBoolean());
  105. var10 = true;
  106. break label78;
  107. }
  108. }
  109. }
  110.  
  111. if (!var10)
  112. {
  113. var9 = 0;
  114. var8 = 0;
  115. var7 = new WorldGenTaiga2(true);
  116. }
  117.  
  118. break;
  119.  
  120. case 2:
  121. var7 = new WorldGenForest(true, false);
  122. break;
  123.  
  124. case 3:
  125. label93:
  126. for (var8 = 0; var8 >= -1; --var8)
  127. {
  128. for (var9 = 0; var9 >= -1; --var9)
  129. {
  130. if (this.func_149880_a(p_149878_1_, p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9, 3) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9, 3) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9 + 1, 3) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9 + 1, 3))
  131. {
  132. var7 = new WorldGenMegaJungle(true, 10, 20, 3, 3);
  133. var10 = true;
  134. break label93;
  135. }
  136. }
  137. }
  138.  
  139. if (!var10)
  140. {
  141. var9 = 0;
  142. var8 = 0;
  143. var7 = new WorldGenTrees(true, 4 + p_149878_5_.nextInt(7), 3, 3, false);
  144. }
  145.  
  146. break;
  147.  
  148. case 4:
  149. var7 = new WorldGenSavannaTree(true);
  150. break;
  151.  
  152. case 5:
  153. label108:
  154. for (var8 = 0; var8 >= -1; --var8)
  155. {
  156. for (var9 = 0; var9 >= -1; --var9)
  157. {
  158. if (this.func_149880_a(p_149878_1_, p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9, 5) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9, 5) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9 + 1, 5) && this.func_149880_a(p_149878_1_, p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9 + 1, 5))
  159. {
  160. var7 = new WorldGenCanopyTree(true);
  161. var10 = true;
  162. break label108;
  163. }
  164. }
  165. }
  166.  
  167. if (!var10)
  168. {
  169. return;
  170. }
  171. }
  172.  
  173. Block var11 = Blocks.air;
  174.  
  175. if (var10)
  176. {
  177. p_149878_1_.setBlock(p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9, var11, 0, 4);
  178. p_149878_1_.setBlock(p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9, var11, 0, 4);
  179. p_149878_1_.setBlock(p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9 + 1, var11, 0, 4);
  180. p_149878_1_.setBlock(p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9 + 1, var11, 0, 4);
  181. }
  182. else
  183. {
  184. p_149878_1_.setBlock(p_149878_2_, p_149878_3_, p_149878_4_, var11, 0, 4);
  185. }
  186.  
  187. if (!((WorldGenerator)var7).generate(p_149878_1_, p_149878_5_, p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9))
  188. {
  189. if (var10)
  190. {
  191. p_149878_1_.setBlock(p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9, this, var6, 4);
  192. p_149878_1_.setBlock(p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9, this, var6, 4);
  193. p_149878_1_.setBlock(p_149878_2_ + var8, p_149878_3_, p_149878_4_ + var9 + 1, this, var6, 4);
  194. p_149878_1_.setBlock(p_149878_2_ + var8 + 1, p_149878_3_, p_149878_4_ + var9 + 1, this, var6, 4);
  195. }
  196. else
  197. {
  198. p_149878_1_.setBlock(p_149878_2_, p_149878_3_, p_149878_4_, this, var6, 4);
  199. }
  200. }
  201. }
  202.  
  203. public boolean func_149880_a(World p_149880_1_, int p_149880_2_, int p_149880_3_, int p_149880_4_, int p_149880_5_)
  204. {
  205. return p_149880_1_.getBlock(p_149880_2_, p_149880_3_, p_149880_4_) == this && (p_149880_1_.getBlockMetadata(p_149880_2_, p_149880_3_, p_149880_4_) & 7) == p_149880_5_;
  206. }
  207.  
  208. /**
  209. * Determines the damage on the item the block drops. Used in cloth and wood.
  210. */
  211. public int damageDropped(int p_149692_1_)
  212. {
  213. return MathHelper.clamp_int(p_149692_1_ & 7, 0, 5);
  214. }
  215.  
  216. public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List p_149666_3_)
  217. {
  218. p_149666_3_.add(new ItemStack(p_149666_1_, 1, 0));
  219. }
  220.  
  221. public void registerBlockIcons(IIconRegister p_149651_1_)
  222. {
  223. for (int var2 = 0; var2 < field_149881_b.length; ++var2)
  224. {
  225. field_149881_b[var2] = p_149651_1_.registerIcon(this.getTextureName());
  226. }
  227. }
  228.  
  229.  
  230.  
  231.  
  232. public boolean func_149851_a(World p_149851_1_, int p_149851_2_, int p_149851_3_, int p_149851_4_, boolean p_149851_5_)
  233. {
  234. return true;
  235. }
  236.  
  237. public boolean func_149852_a(World p_149852_1_, Random p_149852_2_, int p_149852_3_, int p_149852_4_, int p_149852_5_)
  238. {
  239. return (double)p_149852_1_.rand.nextFloat() < 0.45D;
  240. }
  241.  
  242. public void func_149853_b(World p_149853_1_, Random p_149853_2_, int p_149853_3_, int p_149853_4_, int p_149853_5_)
  243. {
  244. this.func_149879_c(p_149853_1_, p_149853_3_, p_149853_4_, p_149853_5_, p_149853_2_);
  245. }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement