Compiled from "CropEating.java" public class ic2.core.crop.CropEating extends ic2.core.crop.Ic2CropCard { private final double movementMultiplier; private final double length; private static final ic2.core.IC2DamageSource damage; public ic2.core.crop.CropEating(); Code: 0: aload_0 1: invokespecial #23 // Method ic2/core/crop/Ic2CropCard."":()V 4: aload_0 5: ldc2_w #13 // double 0.5d 8: putfield #25 // Field movementMultiplier:D 11: aload_0 12: dconst_1 13: putfield #27 // Field length:D 16: return public java.lang.String discoveredBy(); Code: 0: ldc #33 // String Hasudako 2: areturn public java.lang.String name(); Code: 0: ldc #36 // String eatingplant 2: areturn public int tier(); Code: 0: bipush 6 2: ireturn public int stat(int); Code: 0: iload_1 1: tableswitch { // 0 to 4 0: 36 1: 38 2: 40 3: 42 4: 44 default: 46 } 36: iconst_1 37: ireturn 38: iconst_1 39: ireturn 40: iconst_3 41: ireturn 42: iconst_1 43: ireturn 44: iconst_4 45: ireturn 46: iconst_0 47: ireturn public java.lang.String[] attributes(); Code: 0: iconst_2 1: anewarray #46 // class java/lang/String 4: dup 5: iconst_0 6: ldc #48 // String Bad 8: aastore 9: dup 10: iconst_1 11: ldc #50 // String Food 13: aastore 14: areturn public int maxSize(); Code: 0: bipush 6 2: ireturn public boolean canGrow(ic2.api.crops.ICropTile); Code: 0: aload_1 1: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 6: iconst_3 7: if_icmpge 27 10: aload_1 11: invokeinterface #62, 1 // InterfaceMethod ic2/api/crops/ICropTile.getLightLevel:()I 16: bipush 10 18: if_icmple 25 21: iconst_1 22: goto 26 25: iconst_0 26: ireturn 27: aload_1 28: getstatic #68 // Field net/minecraft/init/Blocks.field_150353_l:Lnet/minecraft/block/Block; 31: invokeinterface #72, 2 // InterfaceMethod ic2/api/crops/ICropTile.isBlockBelow:(Lnet/minecraft/block/Block;)Z 36: ifeq 67 39: aload_1 40: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 45: aload_0 46: invokevirtual #74 // Method maxSize:()I 49: if_icmpge 67 52: aload_1 53: invokeinterface #62, 1 // InterfaceMethod ic2/api/crops/ICropTile.getLightLevel:()I 58: bipush 10 60: if_icmple 67 63: iconst_1 64: goto 68 67: iconst_0 68: ireturn public int getOptimalHavestSize(ic2.api.crops.ICropTile); Code: 0: iconst_4 1: ireturn public boolean canBeHarvested(ic2.api.crops.ICropTile); Code: 0: aload_1 1: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 6: iconst_4 7: if_icmplt 25 10: aload_1 11: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 16: bipush 6 18: if_icmpge 25 21: iconst_1 22: goto 26 25: iconst_0 26: ireturn public net.minecraft.item.ItemStack getGain(ic2.api.crops.ICropTile); Code: 0: aload_1 1: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 6: iconst_4 7: if_icmplt 32 10: aload_1 11: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 16: bipush 6 18: if_icmpge 32 21: new #83 // class net/minecraft/item/ItemStack 24: dup 25: getstatic #86 // Field net/minecraft/init/Blocks.field_150434_aF:Lnet/minecraft/block/Block; 28: invokespecial #89 // Method net/minecraft/item/ItemStack."":(Lnet/minecraft/block/Block;)V 31: areturn 32: aconst_null 33: areturn public void tick(ic2.api.crops.ICropTile); Code: 0: aload_1 1: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 6: iconst_1 7: if_icmpne 11 10: return 11: aload_1 12: checkcast #93 // class ic2/core/crop/TileEntityCrop 15: astore_2 16: aload_1 17: invokeinterface #97, 1 // InterfaceMethod ic2/api/crops/ICropTile.getLocation:()Lnet/minecraft/util/ChunkCoordinates; 22: astore_3 23: aload_3 24: getfield #102 // Field net/minecraft/util/ChunkCoordinates.field_71574_a:I 27: i2d 28: ldc2_w #13 // double 0.5d 31: dadd 32: dstore 4 34: aload_3 35: getfield #105 // Field net/minecraft/util/ChunkCoordinates.field_71572_b:I 38: i2d 39: ldc2_w #13 // double 0.5d 42: dadd 43: dstore 6 45: aload_3 46: getfield #108 // Field net/minecraft/util/ChunkCoordinates.field_71573_c:I 49: i2d 50: ldc2_w #13 // double 0.5d 53: dadd 54: dstore 8 56: aload_1 57: invokeinterface #112, 1 // InterfaceMethod ic2/api/crops/ICropTile.getCustomData:()Lnet/minecraft/nbt/NBTTagCompound; 62: ldc #114 // String eaten 64: invokevirtual #120 // Method net/minecraft/nbt/NBTTagCompound.func_74767_n:(Ljava/lang/String;)Z 67: ifeq 113 70: aload_1 71: invokeinterface #124, 1 // InterfaceMethod ic2/api/crops/ICropTile.getWorld:()Lnet/minecraft/world/World; 76: aload_3 77: getfield #102 // Field net/minecraft/util/ChunkCoordinates.field_71574_a:I 80: aload_3 81: getfield #105 // Field net/minecraft/util/ChunkCoordinates.field_71572_b:I 84: aload_3 85: getfield #108 // Field net/minecraft/util/ChunkCoordinates.field_71573_c:I 88: new #83 // class net/minecraft/item/ItemStack 91: dup 92: getstatic #130 // Field net/minecraft/init/Items.field_151078_bh:Lnet/minecraft/item/Item; 95: invokespecial #133 // Method net/minecraft/item/ItemStack."":(Lnet/minecraft/item/Item;)V 98: invokestatic #139 // Method ic2/core/util/StackUtil.dropAsEntity:(Lnet/minecraft/world/World;IIILnet/minecraft/item/ItemStack;)V 101: aload_1 102: invokeinterface #112, 1 // InterfaceMethod ic2/api/crops/ICropTile.getCustomData:()Lnet/minecraft/nbt/NBTTagCompound; 107: ldc #114 // String eaten 109: iconst_0 110: invokevirtual #143 // Method net/minecraft/nbt/NBTTagCompound.func_74757_a:(Ljava/lang/String;Z)V 113: aload_1 114: invokeinterface #124, 1 // InterfaceMethod ic2/api/crops/ICropTile.getWorld:()Lnet/minecraft/world/World; 119: ldc #145 // class net/minecraft/entity/EntityLivingBase 121: aload_3 122: getfield #102 // Field net/minecraft/util/ChunkCoordinates.field_71574_a:I 125: i2d 126: ldc2_w #13 // double 0.5d 129: dadd 130: dconst_1 131: dsub 132: aload_3 133: getfield #105 // Field net/minecraft/util/ChunkCoordinates.field_71572_b:I 136: i2d 137: aload_3 138: getfield #108 // Field net/minecraft/util/ChunkCoordinates.field_71573_c:I 141: i2d 142: ldc2_w #13 // double 0.5d 145: dadd 146: dconst_1 147: dsub 148: aload_3 149: getfield #102 // Field net/minecraft/util/ChunkCoordinates.field_71574_a:I 152: i2d 153: ldc2_w #13 // double 0.5d 156: dadd 157: dconst_1 158: dadd 159: aload_3 160: getfield #105 // Field net/minecraft/util/ChunkCoordinates.field_71572_b:I 163: i2d 164: dconst_1 165: dadd 166: dconst_1 167: dadd 168: aload_3 169: getfield #108 // Field net/minecraft/util/ChunkCoordinates.field_71573_c:I 172: i2d 173: ldc2_w #13 // double 0.5d 176: dadd 177: dconst_1 178: dadd 179: invokestatic #151 // Method net/minecraft/util/AxisAlignedBB.func_72330_a:(DDDDDD)Lnet/minecraft/util/AxisAlignedBB; 182: invokevirtual #157 // Method net/minecraft/world/World.func_72872_a:(Ljava/lang/Class;Lnet/minecraft/util/AxisAlignedBB;)Ljava/util/List; 185: astore 10 187: aload 10 189: invokeinterface #163, 1 // InterfaceMethod java/util/List.isEmpty:()Z 194: ifeq 198 197: return 198: aload 10 200: invokestatic #169 // Method java/util/Collections.shuffle:(Ljava/util/List;)V 203: aload 10 205: invokeinterface #173, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 210: astore 11 212: aload 11 214: invokeinterface #178, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 219: ifeq 478 222: aload 11 224: invokeinterface #182, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 229: checkcast #145 // class net/minecraft/entity/EntityLivingBase 232: astore 12 234: aload 12 236: instanceof #184 // class net/minecraft/entity/player/EntityPlayer 239: ifeq 259 242: aload 12 244: checkcast #184 // class net/minecraft/entity/player/EntityPlayer 247: getfield #188 // Field net/minecraft/entity/player/EntityPlayer.field_71075_bZ:Lnet/minecraft/entity/player/PlayerCapabilities; 250: getfield #194 // Field net/minecraft/entity/player/PlayerCapabilities.field_75098_d:Z 253: ifeq 259 256: goto 212 259: aload 12 261: dload 4 263: aload 12 265: getfield #197 // Field net/minecraft/entity/EntityLivingBase.field_70165_t:D 268: dsub 269: ldc2_w #13 // double 0.5d 272: dmul 273: putfield #200 // Field net/minecraft/entity/EntityLivingBase.field_70159_w:D 276: aload 12 278: dload 8 280: aload 12 282: getfield #203 // Field net/minecraft/entity/EntityLivingBase.field_70161_v:D 285: dsub 286: ldc2_w #13 // double 0.5d 289: dmul 290: putfield #206 // Field net/minecraft/entity/EntityLivingBase.field_70179_y:D 293: aload 12 295: getfield #209 // Field net/minecraft/entity/EntityLivingBase.field_70181_x:D 298: ldc2_w #210 // double -0.05d 301: dcmpl 302: ifle 313 305: aload 12 307: ldc2_w #210 // double -0.05d 310: putfield #209 // Field net/minecraft/entity/EntityLivingBase.field_70181_x:D 313: aload 12 315: getstatic #213 // Field damage:Lic2/core/IC2DamageSource; 318: aload_1 319: invokeinterface #59, 1 // InterfaceMethod ic2/api/crops/ICropTile.getSize:()B 324: i2f 325: fconst_2 326: fmul 327: invokevirtual #217 // Method net/minecraft/entity/EntityLivingBase.func_70097_a:(Lnet/minecraft/util/DamageSource;F)Z 330: pop 331: aload 12 333: invokestatic #221 // Method hasMetalAromor:(Lnet/minecraft/entity/EntityLivingBase;)Z 336: ifne 403 339: aload 12 341: new #223 // class net/minecraft/potion/PotionEffect 344: dup 345: getstatic #229 // Field net/minecraft/potion/Potion.field_76421_d:Lnet/minecraft/potion/Potion; 348: getfield #232 // Field net/minecraft/potion/Potion.field_76415_H:I 351: bipush 64 353: bipush 50 355: invokespecial #235 // Method net/minecraft/potion/PotionEffect."":(III)V 358: invokevirtual #239 // Method net/minecraft/entity/EntityLivingBase.func_70690_d:(Lnet/minecraft/potion/PotionEffect;)V 361: aload 12 363: new #223 // class net/minecraft/potion/PotionEffect 366: dup 367: getstatic #242 // Field net/minecraft/potion/Potion.field_76441_p:Lnet/minecraft/potion/Potion; 370: getfield #232 // Field net/minecraft/potion/Potion.field_76415_H:I 373: bipush 64 375: iconst_0 376: invokespecial #235 // Method net/minecraft/potion/PotionEffect."":(III)V 379: invokevirtual #239 // Method net/minecraft/entity/EntityLivingBase.func_70690_d:(Lnet/minecraft/potion/PotionEffect;)V 382: aload 12 384: new #223 // class net/minecraft/potion/PotionEffect 387: dup 388: getstatic #245 // Field net/minecraft/potion/Potion.field_76440_q:Lnet/minecraft/potion/Potion; 391: getfield #232 // Field net/minecraft/potion/Potion.field_76415_H:I 394: bipush 64 396: iconst_0 397: invokespecial #235 // Method net/minecraft/potion/PotionEffect."":(III)V 400: invokevirtual #239 // Method net/minecraft/entity/EntityLivingBase.func_70690_d:(Lnet/minecraft/potion/PotionEffect;)V 403: aload_0 404: aload_1 405: invokevirtual #247 // Method canGrow:(Lic2/api/crops/ICropTile;)Z 408: ifeq 431 411: aload_2 412: dup 413: getfield #250 // Field ic2/core/crop/TileEntityCrop.growthPoints:I 416: i2d 417: aload_2 418: invokevirtual #253 // Method ic2/core/crop/TileEntityCrop.calcGrowthRate:()I 421: i2d 422: ldc2_w #13 // double 0.5d 425: dmul 426: dadd 427: d2i 428: putfield #250 // Field ic2/core/crop/TileEntityCrop.growthPoints:I 431: aload_1 432: invokeinterface #124, 1 // InterfaceMethod ic2/api/crops/ICropTile.getWorld:()Lnet/minecraft/world/World; 437: dload 4 439: dload 6 441: dload 8 443: ldc #255 // String random.burp 445: fconst_1 446: getstatic #261 // Field ic2/core/IC2.random:Ljava/util/Random; 449: invokevirtual #267 // Method java/util/Random.nextFloat:()F 452: ldc_w #268 // float 0.1f 455: fmul 456: ldc_w #269 // float 0.9f 459: fadd 460: invokevirtual #273 // Method net/minecraft/world/World.func_72908_a:(DDDLjava/lang/String;FF)V 463: aload_1 464: invokeinterface #112, 1 // InterfaceMethod ic2/api/crops/ICropTile.getCustomData:()Lnet/minecraft/nbt/NBTTagCompound; 469: ldc #114 // String eaten 471: iconst_1 472: invokevirtual #143 // Method net/minecraft/nbt/NBTTagCompound.func_74757_a:(Ljava/lang/String;Z)V 475: goto 478 478: return public int getrootslength(ic2.api.crops.ICropTile); Code: 0: iconst_5 1: ireturn public int growthDuration(ic2.api.crops.ICropTile); Code: 0: fconst_1 1: fstore_2 2: aload_1 3: invokeinterface #97, 1 // InterfaceMethod ic2/api/crops/ICropTile.getLocation:()Lnet/minecraft/util/ChunkCoordinates; 8: astore_3 9: aload_1 10: invokeinterface #124, 1 // InterfaceMethod ic2/api/crops/ICropTile.getWorld:()Lnet/minecraft/world/World; 15: aload_3 16: getfield #102 // Field net/minecraft/util/ChunkCoordinates.field_71574_a:I 19: aload_3 20: getfield #108 // Field net/minecraft/util/ChunkCoordinates.field_71573_c:I 23: invokevirtual #291 // Method net/minecraft/world/World.func_72807_a:(II)Lnet/minecraft/world/biome/BiomeGenBase; 26: astore 4 28: aload 4 30: getstatic #295 // Field net/minecraftforge/common/BiomeDictionary$Type.SWAMP:Lnet/minecraftforge/common/BiomeDictionary$Type; 33: invokestatic #299 // Method net/minecraftforge/common/BiomeDictionary.isBiomeOfType:(Lnet/minecraft/world/biome/BiomeGenBase;Lnet/minecraftforge/common/BiomeDictionary$Type;)Z 36: ifne 50 39: aload 4 41: getstatic #302 // Field net/minecraftforge/common/BiomeDictionary$Type.MOUNTAIN:Lnet/minecraftforge/common/BiomeDictionary$Type; 44: invokestatic #299 // Method net/minecraftforge/common/BiomeDictionary.isBiomeOfType:(Lnet/minecraft/world/biome/BiomeGenBase;Lnet/minecraftforge/common/BiomeDictionary$Type;)Z 47: ifeq 56 50: fload_2 51: ldc_w #305 // float 1.5f 54: fdiv 55: fstore_2 56: fload_2 57: fconst_1 58: aload_1 59: invokeinterface #308, 1 // InterfaceMethod ic2/api/crops/ICropTile.getAirQuality:()B 64: i2f 65: ldc_w #309 // float 10.0f 68: fdiv 69: fadd 70: fdiv 71: fstore_2 72: aload_0 73: aload_1 74: invokespecial #311 // Method ic2/core/crop/Ic2CropCard.growthDuration:(Lic2/api/crops/ICropTile;)I 77: i2f 78: fload_2 79: fmul 80: f2i 81: ireturn private static boolean hasMetalAromor(net.minecraft.entity.EntityLivingBase); Code: 0: aload_0 1: instanceof #184 // class net/minecraft/entity/player/EntityPlayer 4: ifne 9 7: iconst_0 8: ireturn 9: aload_0 10: checkcast #184 // class net/minecraft/entity/player/EntityPlayer 13: astore_1 14: aload_1 15: getfield #319 // Field net/minecraft/entity/player/EntityPlayer.field_71071_by:Lnet/minecraft/entity/player/InventoryPlayer; 18: getfield #325 // Field net/minecraft/entity/player/InventoryPlayer.field_70460_b:[Lnet/minecraft/item/ItemStack; 21: astore_2 22: aload_2 23: arraylength 24: istore_3 25: iconst_0 26: istore 4 28: iload 4 30: iload_3 31: if_icmpge 62 34: aload_2 35: iload 4 37: aaload 38: astore 5 40: aload 5 42: ifnull 56 45: aload 5 47: aload_1 48: invokestatic #332 // Method ic2/api/item/ItemWrapper.isMetalArmor:(Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;)Z 51: ifeq 56 54: iconst_1 55: ireturn 56: iinc 4, 1 59: goto 28 62: iconst_0 63: ireturn static {}; Code: 0: new #339 // class ic2/core/IC2DamageSource 3: dup 4: ldc_w #341 // String cropEating 7: invokespecial #344 // Method ic2/core/IC2DamageSource."":(Ljava/lang/String;)V 10: putstatic #213 // Field damage:Lic2/core/IC2DamageSource; 13: return }