Buckets/vessels as a functional mesh item

(this discussion came up this morning as I was talking about a design with my wife; not at all in response to the other thread talking about water sources)

I believe this has been brought up before - that you should be able to place buckets for aesthetic reasons even if they’re not functional at that point.

What if buckets were just the start of what could become a water trough that could also act as functional holding vessels?

There’d be the requirement of no funky shapes and a size limit to the combined blocks (4x4x1?).

I picture it like this:

Buckets:

  • You can place a bucket. It can hold 1 count of fluid that you can use a different bucket to either empty of fill fluid from that placed bucket. This placed bucket retains the wear it had as a bucket, but this wear cannot be fixed and moving fluid to/from the placed bucket does not change its apparent wear.
  • Buckets need to take on the tint of the wood used to make them, thus allowing them to look pretty when placed.
  • Buckets can be placed next to each other and hold different types of fluids.
  • Since placed buckets only hold 1 count of fluid, they’re really only for aesthetics.

Vessels:

  • A new item can be crafted: Vessels. Vessels can be made of stone or wood (I suggest requiring refined stone/wood) and take on the tint of the source materials.
  • If/when lava is required for crafting, you should only be able to place lava in stone vessels.
  • A placed vessel can store 1 count of fluid.
  • Placing another vessel down next to it changes the shape/mesh to look like a water trough. It can hold 3 counts of fluid (1 per block, plus the space in-between). More can be placed down that also account for holding fluid in the space in-between the vessel pieces.
  • Only valid rectangles will mesh together up to a developer-set maximum size.
  • The amount of fluid a vessel can hold is calculated by ( width * 2 - 1 ) * ( length * 2 - 1 ). Example: a 3 x 4 vessel would hold 35 counts of fluid.
  • Mousing over (or looking at) the vessel will tell you how many counts of fluid are within the vessel. Example: 4/7 Purified Water.
  • Visually, it would be nice if there was a full, partially full and empty look relative to how much fluid was stored in the vessel. The empty look should only be shown when it is truly empty (at 1/35 count, for example, that should still show partially full).
  • Placing a fluid in the vessel via bucket should increase the fluid count within the vessel by 1 when the vessel is not full; the action gives you back an empty bucket. Scooping an empty bucket into a vessel should reduce the vessel’s fluid count by 1 when the vessel is not empty; the action should give you back a bucket filled with the fluid. I don’t think the bucket should take on wear for this action.
  • Once a fluid has been placed into the vessel, the vessel is restricted to holding only that type of fluid.
  • The vessel can no longer grow in size once a fluid has been placed into it once. To change the size requires the vessel to be reduced in size first or completely removed.
  • Breaking down a vessel with any amount of fluid in it results in the loss of all of the fluid in it (but it doesn’t make a mess on the floor).
  • Once a vessel has become maximum size (in either dimension) or has taken on a fluid once, no more vessels can be placed down next to it (in that dimension if its at the dimensional limit). This should help with preventing invalid meshing and preventing vessels of two different liquids combining when empty.
  • If vessels are laid out in such a way that a portion would be considered an invalid mesh (example: 2x2 with a single vessel piece next to one side) and fluid is placed in one of those vessels, the nearby empty vessels are “destroyed” and can be picked up by the player. In the example given, if a fluid is placed into the 1x1 vessel, the 2 nearby vessel pieces that were part of the 2x2 vessel would be destroyed and would return to being vessels that could be picked up; the other 2 vessels still placed would look like a 1x2 trough. If fluid was placed in the 2x2 area, only the single vessel piece would be destroyed.
  • Vessels should not have wear.
  • Buckets can be placed next to vessels since they act differently and do not combine with nearby vessels.
2 Likes