@Override
  public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int p_149664_5_) {
    super.onBlockDestroyedByPlayer(world, x, y, z, p_149664_5_);

    if (world.isRemote) {
      FxSystemElectricArc.spawnArc(world, x + 0.5f, y + 0.5f, z + 0.5f, .3, 7);
      world.playSound(
          x,
          y,
          z,
          "advancedrocketry:ElectricShockSmall",
          .7f,
          0.975f + world.rand.nextFloat() * 0.05f,
          false);
    }
  }
  @Override
  public void randomDisplayTick(World world, int x, int y, int z, Random rand) {
    super.randomDisplayTick(world, x, y, z, rand);

    if (world.getTotalWorldTime() % 100 == 0
        && world.getBiomeGenForCoords(x, z) == AdvancedRocketryBiomes.stormLandsBiome) {
      FxSystemElectricArc.spawnArc(world, x + 0.5f, y + 0.5f, z + 0.5f, .3, 7);
      world.playSound(
          x,
          y,
          z,
          "advancedrocketry:ElectricShockSmall",
          .7f,
          0.975f + world.rand.nextFloat() * 0.05f,
          false);
    }
  }
  @Override
  public void updateTick(World world, int x, int y, int z, Random rand) {
    super.updateTick(world, x, y, z, rand);

    if (!world.isRemote
        && Configuration.electricPlantsSpawnLightning
        && world.isRaining()
        && world.getBiomeGenForCoords(x, z) == AdvancedRocketryBiomes.stormLandsBiome) {
      int lightningX = x + rand.nextInt(24) - 12;
      int lightningZ = z + rand.nextInt(24) - 12;
      world.addWeatherEffect(
          new EntityLightningBolt(
              world,
              lightningX,
              world.getTopSolidOrLiquidBlock(lightningX, lightningZ),
              lightningZ));
    }
  }