public static int calcCooldownTime(Fluid fluid, int amount) { // minimum time = faucet animation time :I int time = 24; int temperature = fluid.getTemperature() - 300; return time + (temperature * amount) / 1600; } }
public MeltingRecipe(RecipeMatch input, FluidStack output) { this(input, output, calcTemperature(output.getFluid().getTemperature(output), input.amountMatched)); }
public SmeltingRecipeWrapper(MeltingRecipe recipe) { this.inputs = ImmutableList.of(recipe.input.getInputs()); this.outputs = ImmutableList.of(recipe.getResult()); this.temperature = recipe.getTemperature(); ImmutableList.Builder<FluidStack> builder = ImmutableList.builder(); for(FluidStack fs : TinkerRegistry.getSmelteryFuels()) { if(fs.getFluid().getTemperature(fs) >= temperature) { fs = fs.copy(); fs.amount = 1000; builder.add(fs); } } fuels = builder.build(); }
/** * Returns a meltingrecipe for the given recipematch, that returns the given fluid-output combination * but the temperature required for it is as if timeAmount would be returned. */ public static MeltingRecipe forAmount(RecipeMatch recipeMatch, FluidStack output, int timeAmount) { return new MeltingRecipe(recipeMatch, output, calcTemperature(output.getFluid().getTemperature(), timeAmount)); }
protected float getHeatDisplayValue() { float factor = getHeat(); int ambient = FluidRegistry.WATER.getTemperature(); int reallyhot = FluidRegistry.LAVA.getTemperature(); return ambient + (reallyhot - ambient) * factor; }
@Override public boolean canFillFluidType(FluidStack fluid) { int liquidTemperature = fluid.getFluid().getTemperature(); return liquidTemperature >= minFluidTemperature && liquidTemperature <= maxFluidTemperature; } }
private boolean contentsAllowed(FluidStack fluidStack) { Fluid fluid = fluidStack.getFluid(); if (fluid == null) { return false; } switch (containerType) { case CAPSULE: return fluid.getTemperature(fluidStack) < 310.15; // melting point of wax in kelvin default: return true; } }
@Override public boolean canFillFluidType(FluidStack fluid) { int liquidTemperature = fluid.getFluid().getTemperature(); return liquidTemperature >= minFluidTemperature && liquidTemperature <= maxFluidTemperature; } }
public static int getTemperature(FluidStack fluid) { if (fluid != null) { Fluid f = fluid.getFluid(); if (f != null) { return f.getTemperature(fluid); } } return ROOM_TEMPERATURE; }
public boolean isFluidWithinTempRange(@Nonnull FluidStack fluid) { int temp = fluid.getFluid().getTemperature(); return temp <= maxTemp && temp >= minTemp; }
currentFuel = drained.copy(); fuelQuality = bonusFuel; addFuel(bonusFuel, drained.getFluid().getTemperature(drained) - 300); // convert to degree celcius
/** * How much heat can one mB of the coolant absorb until it is evaporated completely? * */ default double getDegreesCoolingPerMB() { return (273.25 + 100.0 - getFluid().getTemperature()) * getDegreesCoolingPerMBPerK(); }
info.heat = info.fluid.getFluid().getTemperature(info.fluid); info.maxCap = tank.getCapacity();
@Override public boolean canFillFluidType(FluidStack fluid) { return !material.toString().contains("wood") && !material.hasFlag(MatFlags.FLAMMABLE) || fluid.getFluid().getTemperature() <= 325; }
public boolean canVoidItems() { final FluidStack fluid = tank.getFluid(); return fluid != null && fluid.getFluid().getTemperature() > 973 && TankConfig.allowVoiding.get(); }
public static void parseFlorbs() { List<String> list = asList(blacklist); for (Fluid fluid : FluidRegistry.getRegisteredFluids().values()) { if (!fluid.canBePlacedInWorld()) { continue; } if (list.contains(fluid.getName())) { continue; } if (fluid.getTemperature() < CoreProps.MAGMATIC_TEMPERATURE) { addFlorb(ItemHelper.cloneStack(florbStandard), fluid); TransposerManager.addFillRecipe(1600, ItemFlorb.florbStandard, florbList.get(florbList.size() - 1), new FluidStack(fluid, Fluid.BUCKET_VOLUME), false); } else { addFlorb(ItemHelper.cloneStack(florbMagmatic), fluid); TransposerManager.addFillRecipe(1600, ItemFlorb.florbMagmatic, florbList.get(florbList.size() - 1), new FluidStack(fluid, Fluid.BUCKET_VOLUME), false); } } CONFIG_FLORBS.cleanUp(false, true); }
@Override public void drawInForeground(int mouseX, int mouseY) { if(!hideTooltip && !gui.isJEIHandled && isMouseOver(x, y, width, height, mouseX, mouseY)) { List<String> tooltips = new ArrayList<>(); if(lastFluidInTank != null) { Fluid fluid = lastFluidInTank.getFluid(); tooltips.add(fluid.getLocalizedName(lastFluidInTank)); tooltips.add(I18n.format("gregtech.fluid.amount", lastFluidInTank.amount, lastTankCapacity)); tooltips.add(I18n.format("gregtech.fluid.temperature", fluid.getTemperature(lastFluidInTank))); tooltips.add(I18n.format(fluid.isGaseous(lastFluidInTank) ? "gregtech.fluid.state_gas" : "gregtech.fluid.state_liquid")); } else { tooltips.add(I18n.format("gregtech.fluid.empty")); tooltips.add(I18n.format("gregtech.fluid.amount", 0, lastTankCapacity)); } if(allowClickFilling) { tooltips.add(""); //add empty line to separate things tooltips.add(I18n.format("gregtech.fluid.click_to_fill")); tooltips.add(I18n.format("gregtech.fluid.click_to_fill.shift")); } if(allowClickEmptying) { tooltips.add(""); //add empty line to separate things tooltips.add(I18n.format("gregtech.fluid.click_to_empty")); tooltips.add(I18n.format("gregtech.fluid.click_to_empty.shift")); } drawHoveringText(ItemStack.EMPTY, tooltips, 300, mouseX, mouseY); GlStateManager.color(1.0f, 1.0f, 1.0f); } }
@Override public int fill(FluidStack resource, boolean doFill) { Preconditions.checkNotNull(resource, "resource"); FluidStack copyStack = resource.copy(); copyStack.amount = Math.min(copyStack.amount, getMaxThroughput()); FluidPipeProperties properties = handle.getNodeData(); boolean isLeakingPipe = copyStack.getFluid().isGaseous(copyStack) && !properties.gasProof; boolean isBurningPipe = copyStack.getFluid().getTemperature(copyStack) > properties.maxFluidTemperature; if(isLeakingPipe || isBurningPipe) { handle.destroyNetwork(isLeakingPipe, isBurningPipe); return copyStack.amount; } return super.fill(copyStack, doFill); }
FluidStack fluidStack = targetFluidHandler.drain(1000, false); final float heatInKelvin = getHeatDisplayValue(); if (fluidStack != null && fluidStack.amount >= 1000 && fluidStack.getFluid().getTemperature(fluidStack) < heatInKelvin) { heat = Math.max(0, heat - LavaGenConfig.heatLossActive.get()); if (fluidStack.getFluid() == FluidRegistry.WATER) { } else if (fluidStack.getFluid().getTemperature(fluidStack) < C2K(0)) {
@Override public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { if (entityIn instanceof EntityLivingBase) { EntityLivingBase entityLiving = (EntityLivingBase) entityIn; FluidPipeNet pipeNet = getWorldPipeNet(worldIn).getNetFromPos(pos); if (pipeNet != null) { FluidStack fluidStack = pipeNet.getFluidNetTank().getFluid(); if (fluidStack == null) { return; //pipe network is empty } int fluidTemperature = fluidStack.getFluid().getTemperature(fluidStack); if (fluidTemperature >= 373) { //100C, temperature of boiling water if (!GTUtility.isWearingFullHeatHazmat(entityLiving)) { float damageAmount = (fluidTemperature - 363) / 2.0f; entityLiving.attackEntityFrom(DamageSources.getHeatDamage(), damageAmount); } } else if (fluidTemperature <= 183) { //-90C, temperature of freezing of many gases if (!GTUtility.isWearingFullFrostHazmat(entityLiving)) { float damageAmount = fluidTemperature / 2.0f; entityLiving.attackEntityFrom(DamageSources.getFrostDamage(), damageAmount); } } } } }