Пример #1
0
  @Override
  public void breakBlock(
      World p_149749_1_,
      int p_149749_2_,
      int p_149749_3_,
      int p_149749_4_,
      Block p_149749_5_,
      int p_149749_6_) {
    if (!keepInventory) {
      TileEntityLaunchPad tileentityfurnace =
          (TileEntityLaunchPad) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);

      if (tileentityfurnace != null) {
        for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) {
          ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);

          if (itemstack != null) {
            float f = LaunchPad.field_149933_a.nextFloat() * 0.8F + 0.1F;
            float f1 = LaunchPad.field_149933_a.nextFloat() * 0.8F + 0.1F;
            float f2 = LaunchPad.field_149933_a.nextFloat() * 0.8F + 0.1F;

            while (itemstack.stackSize > 0) {
              int j1 = LaunchPad.field_149933_a.nextInt(21) + 10;

              if (j1 > itemstack.stackSize) {
                j1 = itemstack.stackSize;
              }

              itemstack.stackSize -= j1;
              EntityItem entityitem =
                  new EntityItem(
                      p_149749_1_,
                      p_149749_2_ + f,
                      p_149749_3_ + f1,
                      p_149749_4_ + f2,
                      new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));

              if (itemstack.hasTagCompound()) {
                entityitem
                    .getEntityItem()
                    .setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy());
              }

              float f3 = 0.05F;
              entityitem.motionX = (float) LaunchPad.field_149933_a.nextGaussian() * f3;
              entityitem.motionY = (float) LaunchPad.field_149933_a.nextGaussian() * f3 + 0.2F;
              entityitem.motionZ = (float) LaunchPad.field_149933_a.nextGaussian() * f3;
              p_149749_1_.spawnEntityInWorld(entityitem);
            }
          }
        }

        p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
      }
    }

    super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
  }
Пример #2
0
  public void explode(World p_149695_1_, int x, int y, int z) {
    TileEntityLaunchPad entity = (TileEntityLaunchPad) p_149695_1_.getTileEntity(x, y, z);
    // if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z))
    {
      if (entity.slots[1] != null
          && entity.slots[1].getItem() == ModItems.designator
          && entity.slots[1].stackTagCompound != null) {
        int xCoord = entity.slots[1].stackTagCompound.getInteger("xCoord");
        int zCoord = entity.slots[1].stackTagCompound.getInteger("zCoord");

        if (xCoord == entity.xCoord && zCoord == entity.zCoord) {
          xCoord += 1;
        }

        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_generic
            && entity.power >= 75000) {
          EntityMissileGeneric missile =
              new EntityMissileGeneric(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_anti_ballistic
            && entity.power >= 75000) {
          EntityMissileAntiBallistic missile =
              new EntityMissileAntiBallistic(
                  p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_incendiary
            && entity.power >= 75000) {
          EntityMissileIncendiary missile =
              new EntityMissileIncendiary(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_cluster
            && entity.power >= 75000) {
          EntityMissileCluster missile =
              new EntityMissileCluster(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_buster
            && entity.power >= 75000) {
          EntityMissileBunkerBuster missile =
              new EntityMissileBunkerBuster(
                  p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_strong
            && entity.power >= 75000) {
          EntityMissileStrong missile =
              new EntityMissileStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_incendiary_strong
            && entity.power >= 75000) {
          EntityMissileIncendiaryStrong missile =
              new EntityMissileIncendiaryStrong(
                  p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_cluster_strong
            && entity.power >= 75000) {
          EntityMissileClusterStrong missile =
              new EntityMissileClusterStrong(
                  p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_buster_strong
            && entity.power >= 75000) {
          EntityMissileBusterStrong missile =
              new EntityMissileBusterStrong(
                  p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_burst
            && entity.power >= 75000) {
          EntityMissileBurst missile =
              new EntityMissileBurst(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_inferno
            && entity.power >= 75000) {
          EntityMissileInferno missile =
              new EntityMissileInferno(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_rain
            && entity.power >= 75000) {
          EntityMissileRain missile =
              new EntityMissileRain(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_drill
            && entity.power >= 75000) {
          EntityMissileDrill missile =
              new EntityMissileDrill(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_nuclear
            && entity.power >= 75000) {
          EntityMissileNuclear missile =
              new EntityMissileNuclear(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_endo
            && entity.power >= 75000) {
          EntityMissileEndo missile =
              new EntityMissileEndo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_exo
            && entity.power >= 75000) {
          EntityMissileExo missile =
              new EntityMissileExo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
        if (entity.slots[0] != null
            && entity.slots[0].getItem() == ModItems.missile_nuclear_cluster
            && entity.power >= 75000) {
          EntityMissileMirv missile =
              new EntityMissileMirv(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
          p_149695_1_.spawnEntityInWorld(missile);
          entity.power -= 75000;

          entity.slots[0] = null;
        }
      }
    }
  }