Tinkers Construct

Tinkers Construct

160M Downloads

Glass bottles drain and fill inconsistent volumes of water

Kenpari opened this issue ยท 1 comments

commented

Minecraft Version

1.18.2

Forge Version

40.1.19

Mantle Version

1.9.20

Tinkers' Construct Version

3.5.0.18

Describe your issue

Using an empty glass bottle on a fluid container with water in it drains 500 mb (2 "bottles") of water, but depositing a glass bottle of water into a container only fills 250 mb of water. The only other bottled fluid, honey, drains and fills 250 mb as intended. Tested with both gauges holding water and a smeltery holding water to make sure it wasn't just one type of container.

image
image

Crash Report

No response

Other mods

None

Tried reproducing with just Tinkers?

Yes

Performance Enchancers

None of the above

Searched for known issues?

Checked pinned issues, Searched open issues

commented

A glass bottle is 333.33333333333333333333333333333333333333mb in vanilla (obviously we have to round). Forge will not change a bucket to be something divisible by 3 without community consensus, and the community refuses to agree on a number that works with vanilla. The numbers I choose in tinkers is to prevent fluid dupes in worlds with finite water while also giving you a useful amount of water. Dislike them? Change them, its datapack controlled. I suppose I could give you 375mb for extraction, but that does not divide into a bucket cleanly hence me choosing 500mb.

Note that water dupes really only matter in the nether in vanilla, as vanilla lets you dupe water via any placed source.

tl;dr: just use buckets. Forge modders hate water bottles for some dumb reason. Maybe Steve just spills water everywhere using tanks.


Details on the dupe: suppose both filling and extracting are 250mb:

  • Take 1 bucket of water and fill a tinkers tank.
  • Extract 3 water bottles, costs 750mb
  • Fill cauldron with 3 water bottles
  • Extract 1 bucket from the cauldron
  • Add bucket to tank, now you have 1250mb

Suppose both filling and extracting are 500mb:

  • Take 1 bucket of water to fill a cauldron
  • Extract 3 water bottles
  • Fill tank tinkers tank with 3 water bottles, now you have 1500mb

The actual value we need is 333 1/3 mb, just not possible to do as mb are integers


Relevant file to change in a datapack if you like water dupes (I know, infinite water sources exist): https://github.com/SlimeKnights/TinkersConstruct/blob/1.18.2/src/generated/resources/data/tconstruct/tinkering/fluid_transfer/water_bottle_fill.json