Advertisement
Corosus

Untitled

Oct 16th, 2011
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.97 KB | None | 0 0
  1. // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
  2. // Jad home page: http://www.kpdus.com/jad.html
  3. // Decompiler options: packimports(3) braces deadcode
  4.  
  5. package net.minecraft.src;
  6.  
  7. import java.util.Random;
  8.  
  9. // Referenced classes of package net.minecraft.src:
  10. //            BlockPalmLeavesBase, Material, IBlockAccess, ColorizerFoliage,
  11. //            WorldChunkManager, World, mod_palmLeaves, Block,
  12. //            Item, Entity
  13.  
  14. public class BlockCojoPalmLeaves extends BlockCojoPalmLeavesBase
  15. {
  16.  
  17.     protected BlockCojoPalmLeaves(int i, int j)
  18.     {
  19.         super(i, j, Material.leaves, false);
  20.         baseIndexInPNG = j;
  21.         setTickOnLoad(true);
  22.     }
  23.  
  24.  /*   public int colorMultiplier(IBlockAccess iblockaccess, int i, int j, int k)
  25.     {
  26.         int l = iblockaccess.getBlockMetadata(i, j, k);
  27.         if((l & 1) == 1)
  28.         {
  29.             return ColorizerFoliage.getFoliageColorPine();
  30.         }
  31.         if((l & 2) == 2)
  32.         {
  33.             return ColorizerFoliage.getFoliageColorBirch();
  34.         } else
  35.         {
  36.             iblockaccess.getWorldChunkManager().func_4069_a(i, k, 1, 1);
  37.             double d = iblockaccess.getWorldChunkManager().temperature[0];
  38.             double d1 = iblockaccess.getWorldChunkManager().humidity[0];
  39.             return ColorizerFoliage.getFoliageColor(d, d1);
  40.         }
  41.     }*/
  42.  
  43.     public void onBlockRemoval(World world, int i, int j, int k)
  44.     {
  45.         int l = 1;
  46.         int i1 = l + 1;
  47.         if(world.checkChunksExist(i - i1, j - i1, k - i1, i + i1, j + i1, k + i1))
  48.         {
  49.             for(int j1 = -l; j1 <= l; j1++)
  50.             {
  51.                 for(int k1 = -l; k1 <= l; k1++)
  52.                 {
  53.                     for(int l1 = -l; l1 <= l; l1++)
  54.                     {
  55.                         int i2 = world.getBlockId(i + j1, j + k1, k + l1);
  56.                         if(i2 == mod_palmLeaves.palmLeaves.blockID)
  57.                         {
  58.                             int j2 = world.getBlockMetadata(i + j1, j + k1, k + l1);
  59.                             world.setBlockMetadata(i + j1, j + k1, k + l1, j2 | 8);
  60.                         }
  61.                     }
  62.  
  63.                 }
  64.  
  65.             }
  66.  
  67.         }
  68.     }
  69.  
  70.     public int getBlockTextureFromSide(int i)
  71.     {
  72.         if(i == 1)
  73.         {
  74.             return mod_palmLeaves.palmLeaves.blockIndexInTexture;
  75.         }
  76.         if(i == 0)
  77.         {
  78.             return mod_palmLeaves.palmLeaves.blockIndexInTexture;
  79.         }
  80.         if(i == 3)
  81.         {
  82.             return mod_palmLeaves.palmLeaves.blockIndexInTexture;
  83.         } else
  84.         {
  85.             return mod_palmLeaves.palmLeaves.blockIndexInTexture;
  86.         }
  87.     }
  88.  
  89.     public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
  90.         if(!var1.multiplayerWorld) {
  91.            int var6 = var1.getBlockMetadata(var2, var3, var4);
  92.            if((var6 & 8) != 0) {
  93.               byte var7 = 6;
  94.               int var8 = var7 + 1;
  95.               byte var9 = 32;
  96.               int var10 = var9 * var9;
  97.               int var11 = var9 / 2;
  98.               if(this.adjacentTreeBlocks == null) {
  99.                  this.adjacentTreeBlocks = new int[var9 * var9 * var9];
  100.               }
  101.  
  102.               int var12;
  103.               if(var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) {
  104.                  int var13;
  105.                  int var14;
  106.                  int var15;
  107.                  for(var12 = -var7; var12 <= var7; ++var12) {
  108.                     for(var13 = -var7; var13 <= var7; ++var13) {
  109.                        for(var14 = -var7; var14 <= var7; ++var14) {
  110.                           var15 = var1.getBlockId(var2 + var12, var3 + var13, var4 + var14);
  111.                           if(var15 == mod_palmLeaves.palmWood.blockID) {
  112.                              this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = 0;
  113.                           } else if(var15 == mod_palmLeaves.palmLeaves.blockID) {
  114.                              this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -2;
  115.                           } else {
  116.                              this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -1;
  117.                           }
  118.                        }
  119.                     }
  120.                  }
  121.  
  122.                  int antiDecayRange = 1;
  123.                  
  124.                  for(var12 = 1; var12 <= 4; ++var12) {
  125.                     for(var13 = -var7; var13 <= var7; ++var13) {
  126.                        for(var14 = -var7; var14 <= var7; ++var14) {
  127.                           for(var15 = -var7; var15 <= var7; ++var15) {
  128.                              if(this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11] == var12 - 1) {
  129.                                for(int x = -antiDecayRange; x <= antiDecayRange; ++x) {
  130.                                      for(int y = -antiDecayRange; y <= antiDecayRange; ++y) {
  131.                                         for(int z = -antiDecayRange; z <= antiDecayRange; ++z) {
  132.                                           if(this.adjacentTreeBlocks[(var13 + var11 + x) * var10 + (var14 + var11 + y) * var9 + var15 + var11 + z] == -2) {
  133.                                               this.adjacentTreeBlocks[(var13 + var11 + x) * var10 + (var14 + var11 + y) * var9 + var15 + var11 + z] = var12;
  134.                                              }
  135.                                         }
  136.                                      }
  137.                                }
  138.                              }
  139.                           }
  140.                        }
  141.                     }
  142.                  }
  143.               }
  144.  
  145.               var12 = this.adjacentTreeBlocks[var11 * var10 + var11 * var9 + var11];
  146.               if(var12 >= 0) {
  147.                  var1.setBlockMetadata(var2, var3, var4, var6 & -9);
  148.               } else {
  149.                  this.removeLeaves(var1, var2, var3, var4);
  150.               }
  151.            }
  152.  
  153.         }
  154.      }
  155.  
  156.  
  157.     private void removeLeaves(World world, int i, int j, int k)
  158.     {
  159.         dropBlockAsItem(world, i, j, k, world.getBlockMetadata(i, j, k));
  160.         world.setBlockWithNotify(i, j, k, 0);
  161.     }
  162.  
  163.     public int quantityDropped(Random random)
  164.     {
  165.         return random.nextInt(13) == 0 ? 1 : 0;
  166.     }
  167.  
  168.     public int idDropped(int i, Random random)
  169.     {
  170.         return mod_palmLeaves.palmSaplingitem.shiftedIndex;
  171.     }
  172.  
  173.     protected int damageDropped(int i)
  174.     {
  175.         return i & 3;
  176.     }
  177.  
  178.     public boolean isOpaqueCube()
  179.     {
  180.         return false;
  181.     }
  182.  
  183.     public void setGraphicsLevel(boolean flag)
  184.     {
  185.         graphicsLevel = flag;
  186.         blockIndexInTexture = baseIndexInPNG + (flag ? 0 : 1);
  187.     }
  188.  
  189.     public void onEntityWalking(World world, int i, int j, int k, Entity entity)
  190.     {
  191.         super.onEntityWalking(world, i, j, k, entity);
  192.     }
  193.  
  194.     private int baseIndexInPNG;
  195.     int adjacentTreeBlocks[];
  196. }
  197.  
  198.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement