@Override
  public void onUpdate() {
    if (!worldObj.isRemote) {
      if (cachedRecipe == null || worldObj.provider.getDimension() != cachedDimensionId) {
        cachedDimensionId = worldObj.provider.getDimension();
        cachedRecipe = RecipeHandler.getDimensionGas(new IntegerInput(cachedDimensionId));
      }

      if (cachedRecipe != null
          && gasRand.nextDouble() < 0.05
          && cachedRecipe.getOutput().applyOutputs(collectedGas, false, 1)) {
        cachedRecipe.getOutput().applyOutputs(collectedGas, true, 1);
      }
    }
  }