Skip to content
cech12 edited this page May 12, 2024 · 49 revisions

This is a Minecraft Forge mod that adds a Ceramic Bucket to the game.

All Buckets

Dependencies

Since mod version 3.0.0.0 the library mod BucketLib (Github, Curseforge, Modrinth) is required.

The Fabric / Quilt version needs also the following mods:

Features

Adds 2 items to the game:

  • Unfired Clay Bucket: Craftable with three clay balls.
  • Ceramic Bucket: Craftable in furnace with an Unfired Clay Bucket.

Crafting

The Ceramic Bucket acts like a normal bucket and can contain water, lava, milk and fishes as well as all mod fluids and some mod entities. The only difference is, if the bucket contains hot fluids like lava with a temperature of 1000 (configurable) or higher, it melts as soon as you empty it.

Coloring

Since 2.5.0 all Ceramic Bucket variants can be dyed like Leather Armor.

Crafting

Removing the color is not possible for now, because Cauldron interaction is used to get the contained fluid. If you have ideas to handle this, let me know. :)

Mod fluids

Since 2.0.0

  • All mod fluids and gases are supported
  • flipped buckets are also supported for all fluids and gases where the density is lower than 0

Before 2.0.0

All fluids of following mods were officially supported:

Milk

The behaviour of the ceramic variant of the milk buckets is maybe interesting for mod developers:

  • All milk fluids are supported if they have the fluid tag "forge:milk"
  • In onItemUseFinish method the curePotionEffects is called with a vanilla milk bucket to support all vanilla effects and all mod effects which are using the vanilla milk bucket for curing
  • In onItemUseFinish method CONSUME_ITEM trigger is called with a vanilla milk bucket to support advancements that are triggered with vanilla milk bucket using

When another mod enables to milk other mobs than a cow, it can be supported with some code changes. Example: https://github.com/cech12/CeramicBucket/issues/10

Fish Buckets

Since 2.2.0

The vanilla fish entities Salmon, Cod, Pufferfish and Tropical Fish are supported.

Next to them all entities of the following mods are also supported:

Before 2.2.0

Only the vanilla fish entities Salmon, Cod, Pufferfish and Tropical Fish were supported.

Fluid Tags

This mod contains fluid tags for some functionality configuration.

ceramic_cracking

The fluid tag ceramicbucket:ceramic_cracking (added in 2.4.0) contains all fluids that crack the ceramic bucket. This results in a one time usage of the bucket if one of the listed fluids is filled into it. This tag exists next to the configuration ceramicBucketBreakTemperature and can be used as whitelist to define fluids unrelated to their temperature.

The tag is empty per default:

{
  "replace": false,
  "_comment" : "All listed fluids are breaking an ceramic bucket unrelated to the ceramicBucketBreakTemperature config.",
  "values": [
  ]
}

infinity_enchantable

The fluid tag ceramicbucket:infinity_enchantable (added in 2.4.0) contains all fluids that enable a Ceramic Bucket to be enchantable with Infinity. This feature can be enabled with the config value infinityEnchantmentEnabled (default: disabled).

The tag contains water per default:

{
  "replace": false,
  "_comment" : "This tag has only an effect if infinityEnchantmentEnabled config is enabled.",
  "values": [
    "minecraft:water"
  ]
}

Configuration

This server config file lies in serverconfig directory of each savegame. (since 2.3.0)

ceramicBucketBreakTemperature

Minimum temperature of fluid at which the Ceramic Bucket breaks when emptied.

  • 1000 - each fluid with a temperature of 1000 or higher breaks the ceramic bucket (default)
  • -1 - means that bucket never breaks caused by high fluid temperature
  • Reference value: Lava has a temperature of 1300

milkingEnabled

Whether or not milking entities (Cow) with a Ceramic Bucket should be enabled.

  • true - milking is enabled (default)
  • false - milking is disabled

fishObtainingEnabled

Whether or not obtaining fish with a Ceramic Bucket should be enabled. This includes all entities that can be obtained with a ceramic bucket. (see Fish Buckets section)

  • true - obtaining is enabled (default)
  • false - obtaining is disabled

infinityEnchantmentEnabled

Whether or not Infinity enchantment for Ceramic Buckets filled with a multiplying fluid like water should be enabled.

  • true - enchantment is enabled
  • false - enchantment is disabled (default)

All fluids that are defined in infinityEnchantmentFluids enable a Ceramic Bucket to be enchantable with Infinity. If a ceramic bucket filled with such a fluid is enchanted with Infinity, it never gets empty.

infinityEnchantmentFluids (removed in 2.4.0)

This config value is a comma seperated list of fluid ids. If a ceramic bucket contains one of these fluids, it can be enchanted with Infinity.

Examples:

  • "" - No filled Ceramic Bucket can be enchanted with Infinity. (a better way to this: disable infinityEnchantmentEnabled)
  • "water" - Only a Ceramic Bucket filled with vanilla water can be enchanted with Infinity. (default value)
  • "water,lava,othermod:other_fluid" - A Ceramic Bucket filled with vanilla water, lava or the other_fluid fluid of the othermod mod can be enchanted with Infinity.

Has only an effect if infinityEnchantmentEnabled is enabled.

This config value was removed in 2.4.0. Please use the corresponding tag ceramicbucket:infinity_enchantable!

Usage in Datapack recipes

Minecraft 1.18 and later

Datapack recipes should be generated using the BucketLib guide

Minecraft 1.16 and below

Since 2.1.0 the filled Ceramic Bucket can be used as ingredient in data pack recipes. There are two different ways to do so:

You can add the filled ceramic bucket with a set fluid as ingredient of a recipe:

{
  "type": "minecraft:crafting_shapeless",
  "ingredients": [
    {
      "type": "ceramicbucket:filled_ceramic_bucket",
      "tag": "minecraft:lava"
    }
  ],
  "result": {
    "item": "minecraft:grass"
  }
}

It is important that the type is ceramicbucket:filled_ceramic_bucket. The tag must be a defined fluid tag.

You can also add a fluid container with a set fluid and amount as ingredient of a recipe:

{
  "type": "minecraft:crafting_shapeless",
  "ingredients": [
    {
      "type": "ceramicbucket:fluid",
      "tag": "minecraft:water",
      "amount": 1000,
      "exact": true
    }
  ],
  "result": {
    "item": "minecraft:grass"
  }
}

It is importent that the type is ceramicbucket:fluid. The tag must be a defined fluid tag. For buckets the amount should be 1000 or lower. The value exact means that the defined fluid container must contain exactly the set amount. If exact is not set or false, the fluid contatiner can also contain more of the fluid. It is important to know, that the container is completely emptied by Minecrafts crafting process.