lhns / mc-fluid-physics

[Minecraft Mod] Blends together vanilla fluid mechanics with something a little more realistic plus some small additions
https://www.curseforge.com/minecraft/mc-mods/fluid-physics
Apache License 2.0
14 stars 9 forks source link

Change whitelist to blacklist config option #121

Open KaktuszSok opened 2 years ago

KaktuszSok commented 2 years ago

I'd like all fluids to obey physics and it is a pain having to add all of them (especially with e.g. tinkers) manually. It would be useful to have a config option that changes the whitelist to a blacklist. Thanks!

KaktuszSok commented 2 years ago

For now, if anyone wants to whitelist all fluids, I made a small program which converts the fluids list from crattweaker (/ct dump fluids) to the format required for the config file. Make sure to remove "minecraft:empty" when pasting into the config.

Replace the INPUT variable and run this in intellij and it will output the properly formatted version of the input list.

import java.util.StringJoiner;

public class Main {
    public static final String INPUT = <paste the crafttweaker fluids dump here>

    public static void main(String[] args) {
        String input = INPUT.replaceAll("- |fluid:|<|>", "");
        String[] lines = input.split("\n");
        StringJoiner output = new StringJoiner(",");
        for (String line : lines) {
            if(!line.contains("flowing"))
                output.add("\n    \"" + line + "\"");
        }
        System.out.println(output.toString());
    }
}

(yes it's inefficient and could be done in a simpler way)

For example, my INPUT variable looks as such:

public static final String INPUT = "- <fluid:minecraft:empty>\n" +
            "- <fluid:minecraft:flowing_water>\n" +
            "- <fluid:minecraft:water>\n" +
            "- <fluid:minecraft:flowing_lava>\n" +
            "- <fluid:minecraft:lava>\n" +
            "- <fluid:tconstruct:blood>\n" +
            "- <fluid:tconstruct:flowing_blood>\n" +
            "- <fluid:tconstruct:earth_slime>\n" +
            "- <fluid:tconstruct:flowing_earth_slime>\n" +
            "- <fluid:tconstruct:sky_slime>\n" +
            "- <fluid:tconstruct:flowing_sky_slime>\n" +
            "- <fluid:tconstruct:ender_slime>\n" +
            "- <fluid:tconstruct:flowing_ender_slime>\n" +
            "- <fluid:tconstruct:magma>\n" +
            "- <fluid:tconstruct:flowing_magma>\n" +
            "- <fluid:tconstruct:seared_stone>\n" +
            "- <fluid:tconstruct:flowing_seared_stone>\n" +
            "- <fluid:tconstruct:scorched_stone>\n" +
            "- <fluid:tconstruct:flowing_scorched_stone>\n" +
            "- <fluid:tconstruct:molten_clay>\n" +
            "- <fluid:tconstruct:flowing_molten_clay>\n" +
            "- <fluid:tconstruct:molten_glass>\n" +
            "- <fluid:tconstruct:flowing_molten_glass>\n" +
            "- <fluid:tconstruct:liquid_soul>\n" +
            "- <fluid:tconstruct:flowing_liquid_soul>\n" +
            "- <fluid:tconstruct:molten_porcelain>\n" +
            "- <fluid:tconstruct:flowing_molten_porcelain>\n" +
            "- <fluid:tconstruct:molten_obsidian>\n" +
            "- <fluid:tconstruct:flowing_molten_obsidian>\n" +
            "- <fluid:tconstruct:molten_ender>\n" +
            "- <fluid:tconstruct:flowing_molten_ender>\n" +
            "- <fluid:tconstruct:blazing_blood>\n" +
            "- <fluid:tconstruct:flowing_blazing_blood>\n" +
            "- <fluid:tconstruct:molten_emerald>\n" +
            "- <fluid:tconstruct:flowing_molten_emerald>\n" +
            "- <fluid:tconstruct:molten_quartz>\n" +
            "- <fluid:tconstruct:flowing_molten_quartz>\n" +
            "- <fluid:tconstruct:molten_diamond>\n" +
            "- <fluid:tconstruct:flowing_molten_diamond>\n" +
            "- <fluid:tconstruct:molten_debris>\n" +
            "- <fluid:tconstruct:flowing_molten_debris>\n" +
            "- <fluid:tconstruct:molten_iron>\n" +
            "- <fluid:tconstruct:flowing_molten_iron>\n" +
            "- <fluid:tconstruct:molten_gold>\n" +
            "- <fluid:tconstruct:flowing_molten_gold>\n" +
            "- <fluid:tconstruct:molten_copper>\n" +
            "- <fluid:tconstruct:flowing_molten_copper>\n" +
            "- <fluid:tconstruct:molten_cobalt>\n" +
            "- <fluid:tconstruct:flowing_molten_cobalt>\n" +
            "- <fluid:tconstruct:molten_slimesteel>\n" +
            "- <fluid:tconstruct:flowing_molten_slimesteel>\n" +
            "- <fluid:tconstruct:molten_tinkers_bronze>\n" +
            "- <fluid:tconstruct:flowing_molten_tinkers_bronze>\n" +
            "- <fluid:tconstruct:molten_rose_gold>\n" +
            "- <fluid:tconstruct:flowing_molten_rose_gold>\n" +
            "- <fluid:tconstruct:molten_pig_iron>\n" +
            "- <fluid:tconstruct:flowing_molten_pig_iron>\n" +
            "- <fluid:tconstruct:molten_manyullyn>\n" +
            "- <fluid:tconstruct:flowing_molten_manyullyn>\n" +
            "- <fluid:tconstruct:molten_hepatizon>\n" +
            "- <fluid:tconstruct:flowing_molten_hepatizon>\n" +
            "- <fluid:tconstruct:molten_queens_slime>\n" +
            "- <fluid:tconstruct:flowing_molten_queens_slime>\n" +
            "- <fluid:tconstruct:molten_soulsteel>\n" +
            "- <fluid:tconstruct:flowing_molten_soulsteel>\n" +
            "- <fluid:tconstruct:molten_netherite>\n" +
            "- <fluid:tconstruct:flowing_molten_netherite>\n" +
            "- <fluid:tconstruct:molten_knightslime>\n" +
            "- <fluid:tconstruct:flowing_molten_knightslime>\n" +
            "- <fluid:tconstruct:molten_tin>\n" +
            "- <fluid:tconstruct:flowing_molten_tin>\n" +
            "- <fluid:tconstruct:molten_aluminum>\n" +
            "- <fluid:tconstruct:flowing_molten_aluminum>\n" +
            "- <fluid:tconstruct:molten_lead>\n" +
            "- <fluid:tconstruct:flowing_molten_lead>\n" +
            "- <fluid:tconstruct:molten_silver>\n" +
            "- <fluid:tconstruct:flowing_molten_silver>\n" +
            "- <fluid:tconstruct:molten_nickel>\n" +
            "- <fluid:tconstruct:flowing_molten_nickel>\n" +
            "- <fluid:tconstruct:molten_zinc>\n" +
            "- <fluid:tconstruct:flowing_molten_zinc>\n" +
            "- <fluid:tconstruct:molten_platinum>\n" +
            "- <fluid:tconstruct:flowing_molten_platinum>\n" +
            "- <fluid:tconstruct:molten_tungsten>\n" +
            "- <fluid:tconstruct:flowing_molten_tungsten>\n" +
            "- <fluid:tconstruct:molten_osmium>\n" +
            "- <fluid:tconstruct:flowing_molten_osmium>\n" +
            "- <fluid:tconstruct:molten_uranium>\n" +
            "- <fluid:tconstruct:flowing_molten_uranium>\n" +
            "- <fluid:tconstruct:molten_bronze>\n" +
            "- <fluid:tconstruct:flowing_molten_bronze>\n" +
            "- <fluid:tconstruct:molten_brass>\n" +
            "- <fluid:tconstruct:flowing_molten_brass>\n" +
            "- <fluid:tconstruct:molten_electrum>\n" +
            "- <fluid:tconstruct:flowing_molten_electrum>\n" +
            "- <fluid:tconstruct:molten_invar>\n" +
            "- <fluid:tconstruct:flowing_molten_invar>\n" +
            "- <fluid:tconstruct:molten_constantan>\n" +
            "- <fluid:tconstruct:flowing_molten_constantan>\n" +
            "- <fluid:tconstruct:molten_pewter>\n" +
            "- <fluid:tconstruct:flowing_molten_pewter>\n" +
            "- <fluid:tconstruct:molten_steel>\n" +
            "- <fluid:tconstruct:flowing_molten_steel>\n" +
            "- <fluid:create:potion>\n" +
            "- <fluid:create:flowing_potion>\n" +
            "- <fluid:create:tea>\n" +
            "- <fluid:create:flowing_tea>\n" +
            "- <fluid:create:honey>\n" +
            "- <fluid:create:flowing_honey>\n" +
            "- <fluid:create:chocolate>\n" +
            "- <fluid:create:flowing_chocolate>\n" +
            "- <fluid:materialis:molten_fairy>\n" +
            "- <fluid:materialis:flowing_molten_fairy>\n" +
            "- <fluid:materialis:molten_refined_radiance>\n" +
            "- <fluid:materialis:flowing_molten_refined_radiance>\n" +
            "- <fluid:materialis:molten_shadow_steel>\n" +
            "- <fluid:materialis:flowing_molten_shadow_steel>\n" +
            "- <fluid:materialis:molten_arcane_gold>\n" +
            "- <fluid:materialis:flowing_molten_arcane_gold>\n" +
            "- <fluid:materialis:molten_neptunium>\n" +
            "- <fluid:materialis:flowing_molten_neptunium>\n" +
            "- <fluid:materialis:molten_quicksilver>\n" +
            "- <fluid:materialis:flowing_molten_quicksilver>\n" +
            "- <fluid:materialis:molten_starmetal>\n" +
            "- <fluid:materialis:flowing_molten_starmetal>\n" +
            "- <fluid:materialis:molten_pink_slime>\n" +
            "- <fluid:materialis:flowing_molten_pink_slime>\n" +
            "- <fluid:materialis:molten_cloggrum>\n" +
            "- <fluid:materialis:flowing_molten_cloggrum>\n" +
            "- <fluid:materialis:molten_froststeel>\n" +
            "- <fluid:materialis:flowing_molten_froststeel>\n" +
            "- <fluid:materialis:molten_utherium>\n" +
            "- <fluid:materialis:flowing_molten_utherium>\n" +
            "- <fluid:materialis:molten_forgotten_metal>\n" +
            "- <fluid:materialis:flowing_molten_forgotten_metal>\n" +
            "- <fluid:materialis:molten_regalium>\n" +
            "- <fluid:materialis:flowing_molten_regalium>\n" +
            "- <fluid:materialis:molten_refined_obsidian>\n" +
            "- <fluid:materialis:flowing_molten_refined_obsidian>\n" +
            "- <fluid:materialis:molten_refined_glowstone>\n" +
            "- <fluid:materialis:flowing_molten_refined_glowstone>\n" +
            "- <fluid:materialis:molten_psimetal>\n" +
            "- <fluid:materialis:flowing_molten_psimetal>\n" +
            "- <fluid:materialis:molten_ebony_psimetal>\n" +
            "- <fluid:materialis:flowing_molten_ebony_psimetal>\n" +
            "- <fluid:materialis:molten_ivory_psimetal>\n" +
            "- <fluid:materialis:flowing_molten_ivory_psimetal>\n" +
            "- <fluid:materialis:molten_iesnium>\n" +
            "- <fluid:materialis:flowing_molten_iesnium>\n" +
            "- <fluid:vehicle:fuelium>\n" +
            "- <fluid:vehicle:flowing_fuelium>\n" +
            "- <fluid:vehicle:ender_sap>\n" +
            "- <fluid:vehicle:flowing_ender_sap>\n" +
            "- <fluid:vehicle:blaze_juice>\n" +
            "- <fluid:vehicle:flowing_blaze_juice>\n" +
            "- <fluid:adpother:polluted_water_still>\n" +
            "- <fluid:adpother:polluted_water_flowing>\n" +
            "- <fluid:immersivepetroleum:oil>\n" +
            "- <fluid:immersivepetroleum:oil_flowing>\n" +
            "- <fluid:immersivepetroleum:diesel>\n" +
            "- <fluid:immersivepetroleum:diesel_flowing>\n" +
            "- <fluid:immersivepetroleum:diesel_sulfur>\n" +
            "- <fluid:immersivepetroleum:diesel_sulfur_flowing>\n" +
            "- <fluid:immersivepetroleum:lubricant>\n" +
            "- <fluid:immersivepetroleum:lubricant_flowing>\n" +
            "- <fluid:immersivepetroleum:gasoline>\n" +
            "- <fluid:immersivepetroleum:gasoline_flowing>\n" +
            "- <fluid:immersivepetroleum:napalm>\n" +
            "- <fluid:immersivepetroleum:napalm_flowing>\n" +
            "- <fluid:immersiveengineering:creosote>\n" +
            "- <fluid:immersiveengineering:creosote_flowing>\n" +
            "- <fluid:immersiveengineering:plantoil>\n" +
            "- <fluid:immersiveengineering:plantoil_flowing>\n" +
            "- <fluid:immersiveengineering:ethanol>\n" +
            "- <fluid:immersiveengineering:ethanol_flowing>\n" +
            "- <fluid:immersiveengineering:biodiesel>\n" +
            "- <fluid:immersiveengineering:biodiesel_flowing>\n" +
            "- <fluid:immersiveengineering:concrete>\n" +
            "- <fluid:immersiveengineering:concrete_flowing>\n" +
            "- <fluid:immersiveengineering:potion>\n" +
            "- <fluid:immersiveengineering:herbicide>\n" +
            "- <fluid:immersiveengineering:herbicide_flowing>\n" +
            "- <fluid:minecraft:milk>\n" +
            "- <fluid:minecraft:flowing_milk>\n" +
            "- <fluid:createaddition:seed_oil>\n" +
            "- <fluid:createaddition:flowing_seed_oil>";

The output given is:

    "minecraft:empty",
    "minecraft:water",
    "minecraft:lava",
    "tconstruct:blood",
    "tconstruct:earth_slime",
    "tconstruct:sky_slime",
    "tconstruct:ender_slime",
    "tconstruct:magma",
    "tconstruct:seared_stone",
    "tconstruct:scorched_stone",
    "tconstruct:molten_clay",
    "tconstruct:molten_glass",
    "tconstruct:liquid_soul",
    "tconstruct:molten_porcelain",
    "tconstruct:molten_obsidian",
    "tconstruct:molten_ender",
    "tconstruct:blazing_blood",
    "tconstruct:molten_emerald",
    "tconstruct:molten_quartz",
    "tconstruct:molten_diamond",
    "tconstruct:molten_debris",
    "tconstruct:molten_iron",
    "tconstruct:molten_gold",
    "tconstruct:molten_copper",
    "tconstruct:molten_cobalt",
    "tconstruct:molten_slimesteel",
    "tconstruct:molten_tinkers_bronze",
    "tconstruct:molten_rose_gold",
    "tconstruct:molten_pig_iron",
    "tconstruct:molten_manyullyn",
    "tconstruct:molten_hepatizon",
    "tconstruct:molten_queens_slime",
    "tconstruct:molten_soulsteel",
    "tconstruct:molten_netherite",
    "tconstruct:molten_knightslime",
    "tconstruct:molten_tin",
    "tconstruct:molten_aluminum",
    "tconstruct:molten_lead",
    "tconstruct:molten_silver",
    "tconstruct:molten_nickel",
    "tconstruct:molten_zinc",
    "tconstruct:molten_platinum",
    "tconstruct:molten_tungsten",
    "tconstruct:molten_osmium",
    "tconstruct:molten_uranium",
    "tconstruct:molten_bronze",
    "tconstruct:molten_brass",
    "tconstruct:molten_electrum",
    "tconstruct:molten_invar",
    "tconstruct:molten_constantan",
    "tconstruct:molten_pewter",
    "tconstruct:molten_steel",
    "create:potion",
    "create:tea",
    "create:honey",
    "create:chocolate",
    "materialis:molten_fairy",
    "materialis:molten_refined_radiance",
    "materialis:molten_shadow_steel",
    "materialis:molten_arcane_gold",
    "materialis:molten_neptunium",
    "materialis:molten_quicksilver",
    "materialis:molten_starmetal",
    "materialis:molten_pink_slime",
    "materialis:molten_cloggrum",
    "materialis:molten_froststeel",
    "materialis:molten_utherium",
    "materialis:molten_forgotten_metal",
    "materialis:molten_regalium",
    "materialis:molten_refined_obsidian",
    "materialis:molten_refined_glowstone",
    "materialis:molten_psimetal",
    "materialis:molten_ebony_psimetal",
    "materialis:molten_ivory_psimetal",
    "materialis:molten_iesnium",
    "vehicle:fuelium",
    "vehicle:ender_sap",
    "vehicle:blaze_juice",
    "adpother:polluted_water_still",
    "immersivepetroleum:oil",
    "immersivepetroleum:diesel",
    "immersivepetroleum:diesel_sulfur",
    "immersivepetroleum:lubricant",
    "immersivepetroleum:gasoline",
    "immersivepetroleum:napalm",
    "immersiveengineering:creosote",
    "immersiveengineering:plantoil",
    "immersiveengineering:ethanol",
    "immersiveengineering:biodiesel",
    "immersiveengineering:concrete",
    "immersiveengineering:potion",
    "immersiveengineering:herbicide",
    "minecraft:milk",
    "createaddition:seed_oil"