mrkirby153

Untitled

Nov 11th, 2012
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.09 KB | None | 0 0
  1. package mrkirby153.periodicraft;
  2.  
  3. import java.util.List;
  4. import java.util.Random;
  5.  
  6. import net.minecraft.src.AxisAlignedBB;
  7. import net.minecraft.src.Block;
  8. import net.minecraft.src.Entity;
  9. import net.minecraft.src.EntityItem;
  10. import net.minecraft.src.EntityPlayer;
  11. import net.minecraft.src.Item;
  12. import net.minecraft.src.ItemStack;
  13. import net.minecraft.src.MovingObjectPosition;
  14. import net.minecraft.src.World;
  15.  
  16. public class ItemSonicScrew extends ItemTemplate{
  17.  
  18.     protected ItemSonicScrew(int par1) {
  19.         super(par1);
  20.         this.setMaxDamage(200);
  21.         Random random = new Random();
  22.     }
  23.  
  24.     @Override
  25.     public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
  26.         Random random = new Random();
  27.         MovingObjectPosition p = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true);
  28.         if(p != null){
  29.             int block = par2World.getBlockId(p.blockX, p.blockY, p.blockZ);
  30.             int blockMetaData = par2World.getBlockMetadata(p.blockX, p.blockY, p.blockZ);
  31.             // System.out.println(block + ":" + blockMetaData);
  32.  
  33.             if(par1ItemStack.getItemDamage() == 0){
  34.                 if(block == Block.doorSteel.blockID){
  35.                     switch(blockMetaData){
  36.                     case 3:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 7);
  37.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
  38.                     break;
  39.                     case 7:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 3);
  40.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
  41.                     break;
  42.  
  43.                     case 1: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 5);
  44.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
  45.                     break;
  46.                     case 5: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 1);
  47.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
  48.                     break;
  49.  
  50.                     case 0: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 4);
  51.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
  52.                     break;
  53.                     case 4: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 0);
  54.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
  55.                     break;
  56.  
  57.                     case 2: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 6);
  58.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
  59.                     break;
  60.                     case 6: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 2);
  61.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
  62.                     break;
  63.                     }
  64.  
  65.                     par1ItemStack.damageItem(100, par3EntityPlayer);
  66.                 }
  67.  
  68.                 if(block == Block.cloth.blockID){
  69.                     switch(blockMetaData){
  70.                     case 0:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 1);
  71.                     break;
  72.                     case 1:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 2);
  73.                     break;
  74.                     case 2:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 3);
  75.                     break;
  76.                     case 3:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 4);
  77.                     break;
  78.                     case 4:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 5);
  79.                     break;
  80.                     case 5:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 6);
  81.                     break;
  82.                     case 6:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 7);
  83.                     break;
  84.                     case 7:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 8);
  85.                     break;
  86.                     case 8:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 9);
  87.                     break;
  88.                     case 9:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 10);
  89.                     break;
  90.                     case 10:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 11);
  91.                     break;
  92.                     case 11:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 12);
  93.                     break;
  94.                     case 12:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 13);
  95.                     break;
  96.                     case 13:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 14);
  97.                     break;
  98.                     case 14:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 15);
  99.                     break;
  100.                     case 15:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 16);
  101.                     break;
  102.                     case 16:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 0);
  103.                     break;
  104.                     }
  105.                     if(par3EntityPlayer.isSneaking() == true){
  106.                         System.out.println(par1ItemStack.getItemDamage());
  107.                     }else{
  108.                         par1ItemStack.damageItem(95, par3EntityPlayer);
  109.                     }
  110.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.levelup", 1, 1);
  111.  
  112.                 }
  113.  
  114.                 if(block == Block.pistonStickyBase.blockID){
  115.                     switch(blockMetaData){
  116.                     case 0:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 1); break;
  117.                     case 1:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 2); break;
  118.                     case 2:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 3); break;
  119.                     case 3: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 4); break;
  120.                     case 4:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 5); break;
  121.                     case 5:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 0); break;
  122.                     }
  123.                     par1ItemStack.damageItem(5, par3EntityPlayer);
  124.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.click", 1, 1);
  125.                 }
  126.  
  127.                 if(block == Block.pistonBase.blockID){
  128.                     switch(blockMetaData){
  129.                     case 0:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 1); break;
  130.                     case 1:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 2); break;
  131.                     case 2:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 3); break;
  132.                     case 3: par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 4); break;
  133.                     case 4:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 5); break;
  134.                     case 5:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 0); break;
  135.                     }
  136.                     par1ItemStack.damageItem(5, par3EntityPlayer);
  137.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.click", 1, 1);
  138.                 }
  139.  
  140.                 if(block == periodiCraft_main.BlockLithium.blockID&& par3EntityPlayer.isSprinting()){
  141.                     par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.explode", 1, 6);
  142.                     par2World.spawnParticle("hugeexplosion", p.blockX, p.blockY, p.blockZ, 0, 0, 0);
  143.                     makeHouse(par1ItemStack, par2World, par3EntityPlayer, p);
  144.                    
  145.                 }
  146.                 par1ItemStack.damageItem(200, par3EntityPlayer);
  147.             }
  148.         }
  149.         return par1ItemStack;
  150.     }
  151.     @Override
  152.     public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
  153.         if(par1ItemStack.getItemDamage() > 0){
  154.             par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
  155.         }
  156.     }
  157.  
  158.     @Override
  159.     public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
  160.  
  161.         if(par2EntityPlayer.capabilities.isCreativeMode == true){
  162.             par3List.add("No recharge time needed in creative!");
  163.         }else{
  164.             if(!(par1ItemStack.getItemDamage() == 0)){
  165.                 par3List.add(periodiCraft_main.COLOR_CODE + "4Recharge time left: "+ par1ItemStack.getItemDamage() + " Ticks");
  166.             }else{
  167.                 par3List.add(periodiCraft_main.COLOR_CODE +"2Fully Charged and ready to use!");
  168.             }
  169.  
  170.         }
  171.     }
  172.  
  173.    
  174.     /**
  175.      * Generates a 9x9
  176.      * @param par1ItemStack
  177.      * @param par2World
  178.      * @param par3EntityPlayer
  179.      * @param p
  180.      */
  181.    
  182.     public void makeHouse(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, MovingObjectPosition p){
  183.        
  184.         for(int i = 0; i < 15; i++){
  185.             for(int j = 0; j < 15; j++){
  186.                 for(int k = 0; k < 15; k++){
  187.                     par2World.setBlock(p.blockX+i, p.blockY+j, p.blockZ+k,0);
  188.                 }
  189.             }
  190.         }
  191.         for(int i = 0; i < 9; i++){
  192.             for(int j = 0; j < 5; j++){
  193.                 par2World.setBlock(p.blockX+i, p.blockY+j, p.blockZ, Block.stone.blockID);
  194.             }
  195.         }
  196.         for(int i = 0; i < 9; i++){
  197.             for(int j = 0; j < 5; j++){
  198.                 par2World.setBlock(p.blockX, p.blockY+j, p.blockZ+i, Block.stone.blockID);
  199.             }
  200.         }
  201.         for(int i = 9; i > 0; --i){
  202.             for(int j = 0; j < 5; j++){
  203.                 par2World.setBlock(p.blockX+8, p.blockY+j, p.blockZ+i-1, Block.stone.blockID);
  204.             }
  205.         }
  206.         for(int i = 9; i > 0; --i){
  207.             for(int j = 0; j < 5; j++){
  208.                 par2World.setBlock(p.blockX+i-1, p.blockY+j, p.blockZ+8, Block.stone.blockID);
  209.             }
  210.         }
  211.         for(int i = 9; i > 0; --i){
  212.             for(int j = 0; j < 9; j++){
  213.                 par2World.setBlock(p.blockX+i-1, p.blockY-1, p.blockZ+j, Block.stone.blockID);
  214.             }
  215.         }
  216.         for(int i = 9; i > 0; --i){
  217.             for(int j = 0; j < 9; j++){
  218.                 par2World.setBlock(p.blockX+i-1, p.blockY+5, p.blockZ+j, Block.stone.blockID);
  219.             }
  220.         }
  221.         par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+2, Block.glass.blockID);
  222.         par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+3, Block.glass.blockID);
  223.         par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+2, Block.glass.blockID);
  224.         par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+3, Block.glass.blockID);
  225.        
  226.         par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+5, Block.glass.blockID);
  227.         par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+6, Block.glass.blockID);
  228.         par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+5, Block.glass.blockID);
  229.         par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+6, Block.glass.blockID);
  230.        
  231.         par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+2, Block.glass.blockID);
  232.         par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+3, Block.glass.blockID);
  233.         par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+2, Block.glass.blockID);
  234.         par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+3, Block.glass.blockID);
  235.        
  236.         par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+5, Block.glass.blockID);
  237.         par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+6, Block.glass.blockID);
  238.         par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+5, Block.glass.blockID);
  239.         par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+6, Block.glass.blockID);
  240.        
  241.         par2World.setBlock(p.blockX, p.blockY, p.blockZ+4, 0);
  242.         par2World.setBlock(p.blockX, p.blockY+1, p.blockZ+4, 0);
  243.        
  244.         par2World.setBlock(p.blockX+1, p.blockY+4, p.blockZ+4, Block.torchWood.blockID);
  245.         par2World.setBlock(p.blockX+7, p.blockY+4, p.blockZ+4, Block.torchWood.blockID);
  246.         par2World.setBlock(p.blockX+4, p.blockY+4, p.blockZ+7, Block.torchWood.blockID);
  247.         par2World.setBlock(p.blockX+4, p.blockY+4, p.blockZ+1, Block.torchWood.blockID);
  248.        
  249.         par2World.setBlock(p.blockX+5, p.blockY, p.blockZ+1, Block.planks.blockID);
  250.         par2World.setBlock(p.blockX+6, p.blockY, p.blockZ+1, Block.planks.blockID);
  251.         par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+1, Block.planks.blockID);
  252.         par2World.setBlock(p.blockX+5, p.blockY+1, p.blockZ+1, Block.cloth.blockID);
  253.         par2World.setBlock(p.blockX+6, p.blockY+1, p.blockZ+1, Block.cloth.blockID);
  254.         par2World.setBlock(p.blockX+7, p.blockY+1, p.blockZ+1, Block.cloth.blockID);
  255.        
  256.         par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+2, Block.chest.blockID);
  257.         par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+3, Block.stoneOvenIdle.blockID);
  258.         par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+4, Block.chest.blockID);
  259.         par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+4, Block.workbench.blockID);
  260.     }
  261. }
Advertisement
Add Comment
Please, Sign In to add comment