Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mrkirby153.periodicraft;
- import java.util.List;
- import java.util.Random;
- import net.minecraft.src.AxisAlignedBB;
- import net.minecraft.src.Block;
- import net.minecraft.src.Entity;
- import net.minecraft.src.EntityItem;
- import net.minecraft.src.EntityPlayer;
- import net.minecraft.src.Item;
- import net.minecraft.src.ItemStack;
- import net.minecraft.src.MovingObjectPosition;
- import net.minecraft.src.World;
- public class ItemSonicScrew extends ItemTemplate{
- protected ItemSonicScrew(int par1) {
- super(par1);
- this.setMaxDamage(200);
- Random random = new Random();
- }
- @Override
- public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
- Random random = new Random();
- MovingObjectPosition p = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true);
- if(p != null){
- int block = par2World.getBlockId(p.blockX, p.blockY, p.blockZ);
- int blockMetaData = par2World.getBlockMetadata(p.blockX, p.blockY, p.blockZ);
- // System.out.println(block + ":" + blockMetaData);
- if(par1ItemStack.getItemDamage() == 0){
- if(block == Block.doorSteel.blockID){
- switch(blockMetaData){
- case 3:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 7);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
- break;
- case 7:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 3);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
- break;
- case 1: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 5);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
- break;
- case 5: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 1);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
- break;
- case 0: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 4);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
- break;
- case 4: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 0);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
- break;
- case 2: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 6);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_open", 1, 1);
- break;
- case 6: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY, p.blockZ, 2);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.door_close", 1, 1);
- break;
- }
- par1ItemStack.damageItem(100, par3EntityPlayer);
- }
- if(block == Block.cloth.blockID){
- switch(blockMetaData){
- case 0:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 1);
- break;
- case 1:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 2);
- break;
- case 2:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 3);
- break;
- case 3:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 4);
- break;
- case 4:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 5);
- break;
- case 5:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 6);
- break;
- case 6:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 7);
- break;
- case 7:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 8);
- break;
- case 8:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 9);
- break;
- case 9:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 10);
- break;
- case 10:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 11);
- break;
- case 11:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 12);
- break;
- case 12:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 13);
- break;
- case 13:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 14);
- break;
- case 14:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 15);
- break;
- case 15:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 16);
- break;
- case 16:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 0);
- break;
- }
- if(par3EntityPlayer.isSneaking() == true){
- System.out.println(par1ItemStack.getItemDamage());
- }else{
- par1ItemStack.damageItem(95, par3EntityPlayer);
- }
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.levelup", 1, 1);
- }
- if(block == Block.pistonStickyBase.blockID){
- switch(blockMetaData){
- case 0:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 1); break;
- case 1:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 2); break;
- case 2:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 3); break;
- case 3: par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 4); break;
- case 4:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 5); break;
- case 5:par2World.setBlockMetadataWithNotify(p.blockX, p.blockY,p.blockZ, 0); break;
- }
- par1ItemStack.damageItem(5, par3EntityPlayer);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.click", 1, 1);
- }
- if(block == Block.pistonBase.blockID){
- switch(blockMetaData){
- case 0:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 1); break;
- case 1:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 2); break;
- case 2:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 3); break;
- case 3: par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 4); break;
- case 4:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 5); break;
- case 5:par2World.setBlockMetadata(p.blockX, p.blockY,p.blockZ, 0); break;
- }
- par1ItemStack.damageItem(5, par3EntityPlayer);
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.click", 1, 1);
- }
- if(block == periodiCraft_main.BlockLithium.blockID&& par3EntityPlayer.isSprinting()){
- par2World.playSound(p.blockX, p.blockY, p.blockZ, "random.explode", 1, 6);
- par2World.spawnParticle("hugeexplosion", p.blockX, p.blockY, p.blockZ, 0, 0, 0);
- makeHouse(par1ItemStack, par2World, par3EntityPlayer, p);
- }
- par1ItemStack.damageItem(200, par3EntityPlayer);
- }
- }
- return par1ItemStack;
- }
- @Override
- public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
- if(par1ItemStack.getItemDamage() > 0){
- par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
- }
- }
- @Override
- public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
- if(par2EntityPlayer.capabilities.isCreativeMode == true){
- par3List.add("No recharge time needed in creative!");
- }else{
- if(!(par1ItemStack.getItemDamage() == 0)){
- par3List.add(periodiCraft_main.COLOR_CODE + "4Recharge time left: "+ par1ItemStack.getItemDamage() + " Ticks");
- }else{
- par3List.add(periodiCraft_main.COLOR_CODE +"2Fully Charged and ready to use!");
- }
- }
- }
- /**
- * Generates a 9x9
- * @param par1ItemStack
- * @param par2World
- * @param par3EntityPlayer
- * @param p
- */
- public void makeHouse(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, MovingObjectPosition p){
- for(int i = 0; i < 15; i++){
- for(int j = 0; j < 15; j++){
- for(int k = 0; k < 15; k++){
- par2World.setBlock(p.blockX+i, p.blockY+j, p.blockZ+k,0);
- }
- }
- }
- for(int i = 0; i < 9; i++){
- for(int j = 0; j < 5; j++){
- par2World.setBlock(p.blockX+i, p.blockY+j, p.blockZ, Block.stone.blockID);
- }
- }
- for(int i = 0; i < 9; i++){
- for(int j = 0; j < 5; j++){
- par2World.setBlock(p.blockX, p.blockY+j, p.blockZ+i, Block.stone.blockID);
- }
- }
- for(int i = 9; i > 0; --i){
- for(int j = 0; j < 5; j++){
- par2World.setBlock(p.blockX+8, p.blockY+j, p.blockZ+i-1, Block.stone.blockID);
- }
- }
- for(int i = 9; i > 0; --i){
- for(int j = 0; j < 5; j++){
- par2World.setBlock(p.blockX+i-1, p.blockY+j, p.blockZ+8, Block.stone.blockID);
- }
- }
- for(int i = 9; i > 0; --i){
- for(int j = 0; j < 9; j++){
- par2World.setBlock(p.blockX+i-1, p.blockY-1, p.blockZ+j, Block.stone.blockID);
- }
- }
- for(int i = 9; i > 0; --i){
- for(int j = 0; j < 9; j++){
- par2World.setBlock(p.blockX+i-1, p.blockY+5, p.blockZ+j, Block.stone.blockID);
- }
- }
- par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+2, Block.glass.blockID);
- par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+3, Block.glass.blockID);
- par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+2, Block.glass.blockID);
- par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+3, Block.glass.blockID);
- par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+5, Block.glass.blockID);
- par2World.setBlock(p.blockX+2, p.blockY+5, p.blockZ+6, Block.glass.blockID);
- par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+5, Block.glass.blockID);
- par2World.setBlock(p.blockX+3, p.blockY+5, p.blockZ+6, Block.glass.blockID);
- par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+2, Block.glass.blockID);
- par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+3, Block.glass.blockID);
- par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+2, Block.glass.blockID);
- par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+3, Block.glass.blockID);
- par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+5, Block.glass.blockID);
- par2World.setBlock(p.blockX+5, p.blockY+5, p.blockZ+6, Block.glass.blockID);
- par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+5, Block.glass.blockID);
- par2World.setBlock(p.blockX+6, p.blockY+5, p.blockZ+6, Block.glass.blockID);
- par2World.setBlock(p.blockX, p.blockY, p.blockZ+4, 0);
- par2World.setBlock(p.blockX, p.blockY+1, p.blockZ+4, 0);
- par2World.setBlock(p.blockX+1, p.blockY+4, p.blockZ+4, Block.torchWood.blockID);
- par2World.setBlock(p.blockX+7, p.blockY+4, p.blockZ+4, Block.torchWood.blockID);
- par2World.setBlock(p.blockX+4, p.blockY+4, p.blockZ+7, Block.torchWood.blockID);
- par2World.setBlock(p.blockX+4, p.blockY+4, p.blockZ+1, Block.torchWood.blockID);
- par2World.setBlock(p.blockX+5, p.blockY, p.blockZ+1, Block.planks.blockID);
- par2World.setBlock(p.blockX+6, p.blockY, p.blockZ+1, Block.planks.blockID);
- par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+1, Block.planks.blockID);
- par2World.setBlock(p.blockX+5, p.blockY+1, p.blockZ+1, Block.cloth.blockID);
- par2World.setBlock(p.blockX+6, p.blockY+1, p.blockZ+1, Block.cloth.blockID);
- par2World.setBlock(p.blockX+7, p.blockY+1, p.blockZ+1, Block.cloth.blockID);
- par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+2, Block.chest.blockID);
- par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+3, Block.stoneOvenIdle.blockID);
- par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+4, Block.chest.blockID);
- par2World.setBlock(p.blockX+7, p.blockY, p.blockZ+4, Block.workbench.blockID);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment