public static FluidStack getLingeringPotion(int amount, PotionType type) { if (type == null || type == PotionTypes.EMPTY) { return null; } return addPotionToFluidStack(new FluidStack(fluidPotionLingering, amount), type); }
public static void addDefaultPotionRecipes(PotionType input, ItemStack reagent, PotionType output) { addRecipe(DEFAULT_ENERGY, reagent, TFFluids.getPotion(DEFAULT_AMOUNT, input), TFFluids.getPotion(DEFAULT_AMOUNT, output)); addRecipe(DEFAULT_ENERGY, reagent, TFFluids.getSplashPotion(DEFAULT_AMOUNT, input), TFFluids.getSplashPotion(DEFAULT_AMOUNT, output)); addRecipe(DEFAULT_ENERGY, reagent, TFFluids.getLingeringPotion(DEFAULT_AMOUNT, input), TFFluids.getLingeringPotion(DEFAULT_AMOUNT, output)); addSwapPotionRecipes(input); addSwapPotionRecipes(output); }
public static void preInit() { registerAllFluids(); registerAllFluidBlocks(); createBuckets(); refreshReferences(); for (IInitializer init : initList) { init.preInit(); } }
protected static boolean isValidPotion(FluidStack stack) { return stack != null && (TFFluids.isPotion(stack) || TFFluids.isSplashPotion(stack) || TFFluids.isLingeringPotion(stack)); }
protected void diffuseClient() { if (renderFluid == null) { return; } int radius = TFFluids.isSplashPotion(renderFluid) ? radiusSplash : TFFluids.isLingeringPotion(renderFluid) ? radiusLingering : radiusPotion; List<PotionEffect> effects = PotionUtils.getEffectsFromTag(renderFluid.tag); int color = PotionUtils.getPotionColorFromEffectList(effects); int x = pos.getX(); float y = pos.getY() + 0.5F; int z = pos.getZ(); for (int i = x - radius; i <= x + radius; i++) { for (int k = z - radius; k <= z + radius; k++) { world.spawnAlwaysVisibleParticle(EnumParticleTypes.SPELL_MOB.getParticleID(), i + world.rand.nextFloat(), y, k + world.rand.nextFloat(), (color >> 16 & 255) / 255.0F, (color >> 8 & 255) / 255.0F, (color & 255) / 255.0F); } } }
@Override public int fill(FluidStack resource, boolean doFill) { return tank.fill(TFFluids.getXPFluid(resource), doFill); // if (from == null || allowInsertion(sideConfig.sideTypes[sideCache[from.ordinal()]])) { // FluidStack toFill = TFFluids.getXPFluid(resource); // return tank.fill(toFill, doFill); // } // return 0; }
@Override @Nonnull public ItemStack getCraftingResult(@Nonnull InventoryCrafting inv) { ItemStack potionStack = ItemStack.EMPTY; IFluidHandlerItem handler = null; for (int i = 0; i < inv.getSizeInventory(); ++i) { ItemStack stack = inv.getStackInSlot(i); if (!stack.isEmpty()) { if (isPotion(stack)) { potionStack = stack.copy(); } else if (handler == null) { handler = FluidUtil.getFluidHandler(stack.copy()); } } } if (potionStack.isEmpty() || handler == null) { return ItemStack.EMPTY; } FluidStack potionFluid = TFFluids.getPotionFluid(CoreProps.BOTTLE_VOLUME, potionStack); if (handler.fill(potionFluid, false) < CoreProps.BOTTLE_VOLUME) { return ItemStack.EMPTY; } handler.fill(potionFluid, true); return handler.getContainer().copy(); }
if (TFFluids.isPotion(recipe.getFluid())) { potionRecipes.add(recipe); continue; if (TFFluids.isSplashPotion(recipe.getFluid())) { splashPotionRecipes.add(recipe); continue; if (TFFluids.isLingeringPotion(recipe.getFluid())) { lingeringPotionRecipes.add(recipe); continue;
sendFluidPacket(); int radius = TFFluids.isSplashPotion(potionFluid) ? radiusSplash : TFFluids.isLingeringPotion(potionFluid) ? radiusLingering : radiusPotion;
public static void addSwapPotionRecipes(PotionType potion) { addRecipe(DEFAULT_ENERGY, new ItemStack(Items.GUNPOWDER), TFFluids.getPotion(DEFAULT_AMOUNT, potion), TFFluids.getSplashPotion(DEFAULT_AMOUNT, potion)); addRecipe(DEFAULT_ENERGY, new ItemStack(Items.DRAGON_BREATH), TFFluids.getSplashPotion(DEFAULT_AMOUNT, potion), TFFluids.getLingeringPotion(DEFAULT_AMOUNT, potion)); }
if (TFFluids.isPotion(recipe.getFluid())) { potionRecipes.add(recipe); continue; if (TFFluids.isSplashPotion(recipe.getFluid())) { splashPotionRecipes.add(recipe); continue; if (TFFluids.isLingeringPotion(recipe.getFluid())) { if (recipe.getInput().getItem().equals(Items.ARROW)) { arrowRecipes.add(recipe);
public static FluidStack getSplashPotion(int amount, PotionType type) { if (type == null || type == PotionTypes.EMPTY) { return null; } return addPotionToFluidStack(new FluidStack(fluidPotionSplash, amount), type); }
public static FluidStack getPotionFluid(int amount, ItemStack stack) { Item item = stack.getItem(); if (item.equals(Items.POTIONITEM)) { return getPotion(amount, PotionUtils.getPotionFromItem(stack)); } else if (item.equals(Items.SPLASH_POTION)) { return getSplashPotion(amount, PotionUtils.getPotionFromItem(stack)); } else if (item.equals(Items.LINGERING_POTION)) { return getLingeringPotion(amount, PotionUtils.getPotionFromItem(stack)); } return null; }
public static FluidStack getPotion(int amount, PotionType type) { if (type == null || type == PotionTypes.EMPTY) { return null; } if (type == PotionTypes.WATER) { return new FluidStack(FluidRegistry.WATER, amount); } return addPotionToFluidStack(new FluidStack(fluidPotion, amount), type); }
public static void addDefaultPotionRecipes(PotionType type) { addFillRecipe(DEFAULT_ENERGY * 2, new ItemStack(Items.GLASS_BOTTLE), PotionUtils.addPotionToItemStack(new ItemStack(Items.POTIONITEM, 1), type), TFFluids.getPotion(CoreProps.BOTTLE_VOLUME, type), true); addFillRecipe(DEFAULT_ENERGY * 2, new ItemStack(Items.GLASS_BOTTLE), PotionUtils.addPotionToItemStack(new ItemStack(Items.SPLASH_POTION, 1), type), TFFluids.getSplashPotion(CoreProps.BOTTLE_VOLUME, type), true); addFillRecipe(DEFAULT_ENERGY * 2, new ItemStack(Items.GLASS_BOTTLE), PotionUtils.addPotionToItemStack(new ItemStack(Items.LINGERING_POTION, 1), type), TFFluids.getLingeringPotion(CoreProps.BOTTLE_VOLUME, type), true); addFillRecipe(DEFAULT_ENERGY, new ItemStack(Items.ARROW), PotionUtils.addPotionToItemStack(new ItemStack(Items.TIPPED_ARROW), type), TFFluids.getLingeringPotion(CoreProps.BOTTLE_VOLUME / 10, type), false); }
public static void addStrongPotionRecipes(String baseName, int minRank, int maxRank, String postfix) { int baseAmount = CoreProps.BOTTLE_VOLUME / 5; int inputAmount; int outputAmount; for (int i = maxRank; i > minRank; i--) { outputAmount = baseAmount * (5 + minRank - i); inputAmount = outputAmount + baseAmount; PotionType inputType = getPotionType(baseName, i - 1, postfix); PotionType outputType = getPotionType(baseName, i, postfix); if (inputType == PotionTypes.EMPTY || outputType == PotionTypes.EMPTY) { continue; } FluidStack inputPotion = TFFluids.addPotionToFluidStack(new FluidStack(TFFluids.fluidPotion, inputAmount), inputType); FluidStack outputPotion = TFFluids.addPotionToFluidStack(new FluidStack(TFFluids.fluidPotion, outputAmount), outputType); addRecipePotion(DEFAULT_ENERGY / 2, inputPotion, outputPotion); inputPotion = TFFluids.addPotionToFluidStack(new FluidStack(TFFluids.fluidPotionSplash, inputAmount), inputType); outputPotion = TFFluids.addPotionToFluidStack(new FluidStack(TFFluids.fluidPotionSplash, outputAmount), outputType); addRecipePotion(DEFAULT_ENERGY / 2, inputPotion, outputPotion); inputPotion = TFFluids.addPotionToFluidStack(new FluidStack(TFFluids.fluidPotionLingering, inputAmount), inputType); outputPotion = TFFluids.addPotionToFluidStack(new FluidStack(TFFluids.fluidPotionLingering, outputAmount), outputType); addRecipePotion(DEFAULT_ENERGY / 2, inputPotion, outputPotion); } }