Tags
Creators
Details
All versions
1.0.0
Release
Recicropal 1.0.03 years ago 115
Compatibility
Minecraft: Java Edition
1.19.2
Platform
Forge
Supported environments
Client and server
Changes
1.0.0
Additions
Mod
- This mod's seeds and gourd bottles are now added into villager house loot tables
- Bottle gourd patches now spawn as a vegetation feature in vanilla savanna biomes, in a similar manner to pumpkins.
- New structures are added to villages
- A small pumpkin garden can now be found in taiga villages
- A drinking well can now be found in desert villages
- Gourd bottles now can be used to drink liquids which would trigger in-game effects. Refer to below for further info.
- Gourd bottles now can be used to mix potions and allow multiple potions to be drunk
at the same time.
- The proportion of potions inside the mixture is based on actual real-world concept of molarity.
- The length of potions is scaled based on their proportions. For example, mixing a 3-minute strength and 3-minute invisibility potions would give a 1.5-minute of both when drunk.
- Different types of potion also modifies the resulting length of each drink.
- Splash potions averages the durations of all effects added. This averaging effect
is controlled by the proportions too.
- The more splash potion is in the mix, the more well-distributed the durations.
- Lingering potions extends the duration of applied effects per drink depending on
their proportions in the mix.
- The more lingering potion is in the mix, the longer the duration of each effects per drink.
- The maximum length can be achieved here is twice the effect's length. This happens when 100% of the potions in the mix were all lingering.
- Splash potions averages the durations of all effects added. This averaging effect
is controlled by the proportions too.
- Instantaneous effects will wait until enough "moles" or amounts of serving has been drunk.
Like other amounts measured in drinks, this defaults to 250.
- For instance, the player needs to drink 1000 mBs worth of mixture that has 25% instant healing to receive the healing.
- This stacks with other mixtures of the same effect and amplifier.
- Grown bottle gourds now will rot and dry, turning into gourd bottles filled with seeds and surprise!
API
- A
CHANGELOG.md. Yay! (This is technically release notes but oh well). - Configs. Common and client side.
- Added a new recipe loading condition
recicropal:fluid_tag_empty, accepting a propertytag - Added a new recipe loading condition
recicropal:fluid_exists, accepting a propertyfluid - Added a new recipe loading condition
recicropal:debugfor debug recipes. - A new data-driven drinking system. The player can now drink the contents of gourd
bottles and trigger effects.
- The recipe structure can be described as below.
fluid. Accepting either a fluidtagorfluidID.- If
nbtis provided, it will match for the NBT structured as-is since this uses vanilla'sCodecAPI.
- If
amountspecifies the amount of drunk fluid.- Defaults to allow drinking below the configured drinking amount (250 mB by default) if not specified.
resultsaccepts an array ofdrink_result_typesspecified below.
- By default, this mod comes with honey, milk, and potion fluids and by default they already have recipes.
- Currently, there's only a few
drink_result_types:recicropal:finish_itemwould trigger the effects of given propertyitemwhen it finished being used.recicropal:finish_item_transfer_nbt. Similar to above but transfers the NBT from fluid to the item. Its only use case would be with potion items, assuming other modders actually putting thePotiontag to their fluids.recicropal:heal,recicropal:zap, andrecicropal:set_firefor debug purposes. They might be replaced one day.
- The recipe structure can be described as below.
- Data-driven filling system for gourd bottles. This allows non-
IFluidHandleritems to be used to fill the bottle with configured liquid. The recipe's structure is described as follows.ingredientaccepts items like how vanilla does.- A
fluidproperty.- If
tagis specified. It will harshly pick any fluid that's available in the game with that tag.fluidcan be used for referring a specific fluid ID instead. Do not specify both as it won't make any sense. amountwhich accepts number of amount it should fill.nbtwhich accepts an NBT structured as-is to apply to the fluid.
- If
resultaccepts a serialized ItemStack. Specifying itsCountandidis obligatory. Addtagfor NBTs.- A special property named
process. If this exists, it'll use a hardcoded function with the ID specified. Onlyrecicropal:potionexists currently and should only be used for potions.
- Data-driven pouring system for gourd bottles. Similar to filling but in reverse with
a few exceptions.
fluidproperty behaves like thefluidproperty for drinking recipes but with an additionalamountproperty to specify how much fluid is going to be poured out.- The
amountproperty here defaults to the configured drinking max amount (250 mB by default) if not specified.
- The
- Data-driven mixing system for gourd bottles.
- Fluids can be mixed into the bottle when they differ. This triggers when the bottle itself is tried to be filled as a block and not an item.
- The recipe structured is described as follows.
fluidInandfluidInsideaccepts fluid ingredients similar to drinking recipes.- The recipe would match reciprocally for both of these inputs. For example, specifying water for
fluidInand milk forfluidInsideis the same as specifying water influidInsideand milk in the other.
- The recipe would match reciprocally for both of these inputs. For example, specifying water for
- There's no
amountproperty as this checks only by fluid type and NBT. resultaccepts a fluid similar to filling recipes'fluidproperty except that if noamountproperty is specified, it resorts to just adding theamountsof both amounts of mixed fluids.- A special property named
process. Similar to other aforementioned recipes.
- Potion mixing currently uses built-in potion and mixture fluids.
- Data-driven fluid conversion system for gourd bottle filling and mixing. This is made
mostly for integrations.
- Example recipes can be found within the mod's jar.
- Currently, the
ingressproperty does not do anything special yet.
Integrations
forge: Addedcropsandvegetablestags to bottle gourds.- Milk fluid inserted into gourd bottles would be converted to
minecraft's milk.- This may make complications when there's other variants of milk.
sereneseasons: Added season tags for seeds and blocks.create:create's potion fluids now automatically convert to this mod's potions.create: Honey fluid inserted to gourd bottles would be converted tocreate's honey.- This may make complications when there's other variants of honey.
create:create's potion fluids now automatically convert to this mod's potions.cofh_core: Potion fluid inserted to gourd bottles would be converted to this mod's potions.thermal: Gourd bottles now accept syrup bottles for interaction. Syrup can also be drunk.farmersdelight: Gourd bottles now accept milk bottles for interaction.- If this mod exists, milk drinking now follow the rules for milk bottle drinking.
Updates
- Gourd bottles now can be emptied in the crafting table.
- Now, only savanna and desert villagers accept trading bottle gourds and water-filled gourd bottles.
- Potions, honey bottles, and milk buckets now can be used to fill gourd bottles.
- Gourd bottle blocks now show the fluid contained graphically.
- Gourd bottle blocks now emit comparator signal.
- Gourd bottles capacity can now be configured.
- Gourd bottle blocks transfer amount can now be configured.
Fixes
- Fix minor gourd bottle placement issue (I hope).
- Empty gourd bottles now drop as clean items (without NBT).
- Fix gourd bottles not saving when chunk is not updated.
- Fix trellises not dropping the correct amount of items.
- Fix vine crop base plants having wrong hitboxes when they start to attach to the sides.
- Fix buckets disappearing when failed filling bottles.
- Fix gourd bottles becoming unusable when swapping to a different bottle mid-drinking.
- Fix gourd bottles tooltip not updating as expected.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:d3MlxeiN:nNa6pQEh"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:d3MlxeiN:nNa6pQEh"
}

