Advertisement
Corosus

Tornado block choosing code for ripping up

Jan 25th, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.42 KB | None | 0 0
  1. //Tornado block choosing code for ripping up
  2.  
  3. if (getStorm().type != getStorm().TYPE_SPOUT) {
  4.        
  5.             int yStart = 0;
  6.             int yEnd = 128;
  7.             int yInc = 1;
  8.            
  9.             if (getStorm().type == getStorm().TYPE_HURRICANE) {
  10.                 yStart = 10;
  11.                 yEnd = 40;
  12.             }
  13.             for (int i = yStart; i < yEnd; i+=yInc) {
  14.                
  15.                 int YRand = i;//rand.nextInt(126)+2;
  16.                
  17.                 int ii = YRand/4;
  18.                
  19.                 if (i > 20 && rand.nextInt(2) != 0) { continue; }
  20.    
  21.                 for (int k = 0; k < 5+ii; k++) {
  22.                     //for (int k = 0; k < mod_EntMover.tornadoBaseSize/2+(ii/2); k++) {
  23.                     //for (int l = 0; l < mod_EntMover.tornadoBaseSize/2+(ii/2); l++) {
  24.                        
  25.                         //if (rand.nextInt(3) != 0) { continue; }
  26.                    
  27.                         int tryY = (int)(posY+YRand-1.5D);//mod_EntMover.tornadoBaseSize;
  28.                         if (tryY > 127) tryY = 127;
  29.                         //System.out.println(posY);
  30.                        
  31.                         //int tryX = (int)posX+k-((mod_EntMover.tornadoBaseSize/2)+(ii/2));
  32.                         //int tryZ = (int)posZ+l-((mod_EntMover.tornadoBaseSize/2)+(ii/2));
  33.                        
  34.                         int tryX = (int)posX+this.rand.nextInt(getStorm().tornadoBaseSize+(ii))-((getStorm().tornadoBaseSize/2)+(ii/2));
  35.                         int tryZ = (int)posZ+this.rand.nextInt(getStorm().tornadoBaseSize+(ii))-((getStorm().tornadoBaseSize/2)+(ii/2));
  36.                        
  37.                         if (tryRipCount < tryRipMax) {
  38.                             int blockID = this.worldObj.getBlockId(tryX,tryY,tryZ);
  39.                            
  40.                             if (blockID != 0 && canGrab(blockID)/* && Block.blocksList[blockID].blockMaterial == Material.ground*//* && worldObj.getHeightValue(tryX, tryZ)-1 == tryY*/) {
  41.                             /*if (blockID != 0 && canGrab(blockID) && (worldObj.getBlockId(tryX,tryY+1,tryZ) == 0 ||
  42.                                     worldObj.getBlockId(tryX+1,tryY,tryZ) == 0 ||
  43.                                     worldObj.getBlockId(tryX,tryY,tryZ+1) == 0 ||
  44.                                     worldObj.getBlockId(tryX-1,tryY,tryZ) == 0 ||
  45.                                     worldObj.getBlockId(tryX,tryY,tryZ-1) == 0)) {*/
  46.                                 tryRipCount++;
  47.                                 seesLight = tryRip(tryX,tryY,tryZ, true);
  48.                             }
  49.                         }
  50.                        
  51.                         /*tryX = (int)posX-k+((mod_EntMover.tornadoBaseSize/2)+(ii/2));
  52.                         tryZ = (int)posZ-l+((mod_EntMover.tornadoBaseSize/2)+(ii/2));
  53.                        
  54.                         if (tryRipCount < tryRipMax) {
  55.                             int blockID = this.worldObj.getBlockId(tryX,tryY,tryZ);
  56.                             if (blockID != 0 && canGrab(blockID)) {
  57.                                 tryRipCount++;
  58.                                 seesLight = tryRip(tryX,tryY,tryZ, true);
  59.                             }
  60.                         }*/
  61.                     //}
  62.                     //int tryX = (int)posX+this.rand.nextInt(mod_EntMover.tornadoBaseSize+(ii))-((mod_EntMover.tornadoBaseSize/2)+(ii/2));
  63.                     //int tryZ = (int)posZ+this.rand.nextInt(mod_EntMover.tornadoBaseSize+(ii))-((mod_EntMover.tornadoBaseSize/2)+(ii/2));
  64.                 }
  65.             }
  66.            
  67.             if (getStorm().type == getStorm().TYPE_TORNADO) {
  68.                 for (int k = 0; k < 20; k++) {
  69.                     int tryX = (int)posX+this.rand.nextInt(40)-20;
  70.                     int tryY = (int)posY-2+this.rand.nextInt(8);
  71.                     int tryZ = (int)posZ+this.rand.nextInt(40)-20;
  72.                     if (tryRipCount < tryRipMax) {
  73.                         int blockID = this.worldObj.getBlockId(tryX,tryY,tryZ);
  74.                         if (blockID != 0 && canGrab(blockID)) {
  75.                             tryRipCount++;
  76.                             tryRip(tryX,tryY,tryZ, true);
  77.                         }
  78.                     }
  79.                 }
  80.             }
  81.    
  82.             if (tryRipCount >= tryRipMax) {
  83.                 hitMaxTriesLastTick = true;
  84.             } else {
  85.                 hitMaxTriesLastTick = false;
  86.             }
  87.         }
  88.        
  89.        
  90.         if (tryRipCount >= tryRipMax/4*3) {
  91.             //speed reduce
  92.             speedAdjust -= 0.1F;
  93.             if (speedAdjust < 0.2F) {
  94.                 speedAdjust = 0.2F;
  95.             }
  96.         } else {
  97.             if (speedAdjust < 1.0F) {
  98.                 speedAdjust += 0.01F;
  99.                 if (speedAdjust > 1.0F) {
  100.                     speedAdjust = 1.0F;
  101.                 }
  102.             }
  103.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement