Pondus Inventory

The mod allows you to add the calculation of items in storage on ships to the Sable physics calculations.

Pondus Inventory FI

An addon for Sable that makes every block, item, and fluid pull its weight—literally.


⚠️ I warn you: this mod is still under active development. To make it work with other mods, you will need to manually adjust the settings. You have been warned!


What does it all mean?

Pondus Inventory FI is a companion mod for the Sable physics engine. It provides you with an incredibly detailed system for determining how much blocks, items, and fluids actually weigh.

Do you want to change the mass of a block or fluid on the fly using settings or in-game commands? You can. It also looks inside chests, barrels, fluid tanks, and any other containers and adds weight to whatever is holding them up—so your airship suddenly becomes much heavier when the cargo hold is full of oil, or your portable water tank tips the scales when filled.

Ideal for builds using TerraFirmaCraft, Create, Sable, or anything else where realistic mass, balance, and fluid dynamics are important.


What can it do?

⚖️ Mess with block & fluid mass any way you like

Set a custom base weight for almost any block or fluid using the config or the /pondus mass command. You can even target entire groups with tags like #minecraft:planks, #tfc:ores, or #forge:water. And the config doesn't just take numbers—you can write simple math expressions right in the file.

📦 Count the weight of everything inside containers

Any container (chest, barrel, Create's moving contraption, fluid tank, you name it) automatically adds the total weight of all items and fluids stored inside. You can tweak an inventory_multiplier to balance things out (maybe only 80% of the contents count), and decide whether the container block's own mass is included or not.

💧 Fluid mass calculations (NEW!)

Pondus now supports fluids via the NeoForge Fluid Handler capability. Define mass per bucket for any fluid, and the mod will automatically calculate the weight based on the actual amount in millibuckets (mB). Perfect for realistic water towers, fuel tanks, lava reservoirs, or chemical processing setups.

⚙️ Configs that actually make sense

There are separate config files for blocks (blocks.json), items (items.json), and fluids (fluids.json), all using a clean JSON format. Expressions like "base_mass": "2.5 * stack_size" or "mass_per_bucket": "0.8 + density_factor" are fair game. And you can reload everything on the fly with /pondus reload—no server restart needed.


Getting it set up

Requirements

You need Sable. That's it.
(Fluid support requires mods/blocks that implement NeoForge's IFluidHandler capability)

Config files

You'll find them in config/pondus_inventory_fi/.

blocks.json – sets the rules for blocks. Example:

{
  "minecraft:chest": {
    "block_id": "minecraft:chest",
    "base_mass": "2.5",
    "inventory_multiplier": 0.8,
    "include_container_mass": true
  },
  "tfc:sand/red": {
    "block_id": "tfc:sand/red",
    "base_mass": "0.1",
    "inventory_multiplier": 1.0,
    "include_container_mass": false
  },
  "#minecraft:planks": {
    "block_id": "#minecraft:planks",
    "base_mass": "0.5",
    "inventory_multiplier": 1.0,
    "include_container_mass": false
  }
}

items.json – item weights. Example:

{
  "minecraft:iron_ingot": {
    "item_id": "minecraft:iron_ingot",
    "mass": "0.5",
    "per_stack": true
  },
  "tfc:metal/ingot/cast_iron": {
    "item_id": "tfc:metal/ingot/cast_iron",
    "mass": "1.2",
    "per_stack": true
  }
}

fluids.json – fluid weights (NEW!). Example:

{
  "minecraft:water": {
    "fluid_id": "minecraft:water",
    "mass_per_bucket": "1.0"
  },
  "minecraft:lava": {
    "fluid_id": "minecraft:lava",
    "mass_per_bucket": "3.5"
  },
  "tfc:olive_oil": {
    "fluid_id": "tfc:olive_oil",
    "mass_per_bucket": "0.92"
  },
  "#forge:crude_oil": {
    "fluid_id": "#forge:crude_oil",
    "mass_per_bucket": "0.85"
  }
}

Quick rundown of the parameters:

Parameter Description
base_mass / mass A number or an expression ("2.5", "0.5 * stack_size", "1.0 + nbt_power").
mass_per_bucket Mass in kg for 1000 mB (1 bucket). Supports expressions.
per_stack If true, the mass is multiplied by the number of items in the stack.
inventory_multiplier Multiplier for the total weight of contents inside a container (e.g. 0.8 = 80%).
include_container_mass Whether the container block's own mass counts on top of its contents.

💡 Fluid math note: Mass is calculated as mass_per_bucket × (millibuckets / 1000.0). So 500 mB of water (mass_per_bucket: 1.0) weighs exactly 0.5 kg.


In-game commands

All commands need operator-level permissions (level 2). Here's what you can do:

Command What it does Example
/pondus mass <value> block Set the mass of the block you're looking at /pondus mass 5.0 block
/pondus mass <value> item Set the mass of the item you're holding /pondus mass 0.3 item
/pondus mass <value> fluid <fluid_id> Set the mass per bucket for a fluid /pondus mass 1.0 fluid minecraft:water
/pondus mass <value> tag <id> Apply a mass to every block/item/fluid with that tag /pondus mass 1.0 tag #tfc:ores
/pondus reload Hot-reload all configs and clear caches /pondus reload
/pondus sync Rebuilds physics for all SubLevels (use after mass changes) /pondus sync
/pondus config showmass Shows the mass of items when hovering over them in the inventory /pondus config showmass true
/pondus config showblockmass Shows the mass of blocks when hovering over them in the inventory /pondus config showblockmass true

For mod & pack developers

Register masses straight from code:

// Register a block
MassRegistry.registerBlock("minecraft:stone", 
    new BlockMassEntry("minecraft:stone", "3.0", 1.0, true));

// Register an item
MassRegistry.registerItem("minecraft:diamond", 
    new ItemMassEntry("minecraft:diamond", "0.3", true));

// Register a fluid (NEW!)
MassRegistry.registerFluid("minecraft:water", 
    new FluidMassEntry("minecraft:water", "1.0"));

// Register by tag
MassRegistry.registerBlock("#minecraft:logs", 
    new BlockMassEntry("#minecraft:logs", "0.8", 1.0, false));

Work with custom NBT data:

// Reading
double power = InventoryMassCalculator.getCustomDataValue(stack, "power", 1.0);

// Writing
InventoryMassCalculator.setCustomDataValue(stack, "power", 2.5);

Fluid mass calculation internals:

// FluidMassEntry handles millibucket → kg conversion automatically
FluidMassEntry water = new FluidMassEntry("minecraft:water", "1.0");
double massFor500mb = water.getMass(500); // Returns 0.5 kg

// Expressions are supported too
FluidMassEntry oil = new FluidMassEntry("tfc:olive_oil", "0.92 * density_mod");

Runtime config changes:

If you change configs at runtime, don't forget to invalidate caches:

ModConfig.CONFIG.reload();
InventoryMassCache.clear();
// Then run /pondus sync on the server

Found a bug?

Great! (Well, not great, but you know what I mean.) Here's what helps me the most:

  1. Grab the log from logs/latest.log and search for pondus_inventory_fi.
  2. Tell me the mod version, Minecraft version, NeoForge version, and Sable version.
  3. Describe exactly what you did, what you expected, and what happened instead. If there's an error, paste the relevant part of the log.
  4. For fluid-related issues: Include which fluid tank/block you tested with and whether it implements IFluidHandler.

License: MIT. Use it, remix it, share it—just keep the credit.

Developer: CatCosYT & Fractal Interactive
Discord: https://discord.gg/pZ42QYZTD6

The Pondus Inventory Team

profile avatar
  • 3
    Followers
  • 4
    Projects
  • 52.1K
    Downloads

More from CatCosYT

  • [Abandoned] Big Cannons Aeronautics Fix project image

    [Abandoned] Big Cannons Aeronautics Fix

    • 51.0K
    • Mods

    Fix crash with Create Aeronautics and Big Cannons.

    • 51.0K
    • April 19, 2026
    • Mods
    • +2
  • FIRadio project image

    FIRadio

    • 404
    • Mods

    Adds a description to Simple Radio items and a setting (for now, for one) for the catalyst.

    • 404
    • December 21, 2025
    • Mods
    • +1
  • VintagePolit project image

    VintagePolit

    • 9
    • Modpacks

    Mod pack for those for whom everything is easy and without crafting 20x20 with TFC

    • 9
    • February 3, 2024
    • Modpacks
    • +4
  • [Abandoned] Big Cannons Aeronautics Fix project image

    [Abandoned] Big Cannons Aeronautics Fix

    • 51.0K
    • Mods

    Fix crash with Create Aeronautics and Big Cannons.

    • 51.0K
    • April 19, 2026
    • Mods
    • +2
  • FIRadio project image

    FIRadio

    • 404
    • Mods

    Adds a description to Simple Radio items and a setting (for now, for one) for the catalyst.

    • 404
    • December 21, 2025
    • Mods
    • +1
  • VintagePolit project image

    VintagePolit

    • 9
    • Modpacks

    Mod pack for those for whom everything is easy and without crafting 20x20 with TFC

    • 9
    • February 3, 2024
    • Modpacks
    • +4