Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Convention Drink Tags #4384

Merged
merged 20 commits into from
Feb 20, 2025
Merged

Convention Drink Tags #4384

merged 20 commits into from
Feb 20, 2025

Conversation

TheDeathlyCow
Copy link
Contributor

@TheDeathlyCow TheDeathlyCow commented Jan 16, 2025

Resolves #4378
NeoForge PR: neoforged/NeoForge#1862

Implements conventional drink tags and documents standards for mods to use when creating further tags, using the following definition of a 'drink' (which is included in the javadoc):

Drinks are defined as (1) consumable items that (2) use the drink use action, (3) can be consumed regardless of the player's current hunger., and (4, optional) do not (generally) have a food component.

Edit: Drinks may provide nutrition and saturation, but are not required to do so.

More specific types of drinks, such as Water, Milk, or Juice should be placed in a sub-tag, such as #c:drinks/milk, #c:drinks/tea/milk, and #c:drinks/juice.

Sizes of drinks, such as buckets and bottles, can be distinguished using the #c:drink_containing/* tags. For example, drinkable honey buckets would be all items that belong to #c:drinks/honey AND #c:drink_containing/bucket tags.

Something that may be notable about this PR is that if merged, it would be the first use of sub-sub-tags in the convention tags API. Would this be wanted in the API, or would these tags be too granular? This pigeon-holes some drinks too much, and does not allow for flexibility if a drink has some overlap between categories like Milk and Coffee.

Here is the full list of tags added:

  • #c:drinks for all drinkable items (similar to #c:foods)
  • #c:drinks/water for items that are only water (empty)
  • #c:drinks/watery for items that are generally water (potions, introduced as comprise for the weirdness with how the water bottle is a potion, but potions shouldn't really be "water")
  • #c:drinks/milk for drinkable milk items (milk bucket)
  • #c:drinks/honey for drinkable honey items (honey bottle) - a weird one since honey provides nutrition and saturation. However, it is included based on the fact that the Minecraft Wiki categorizes Honey Bottles as both food and a drink: https://minecraft.wiki/w/Drinks, and does meet the definition of a drink. Honey Bottles are also already included in the #c:foods tag, but otherwise have no tag of their own.
  • #c:drinks/magic for drinks that are magical in nature and give status effects when consumed (potions and ominous bottles)
  • #c:drinks/ominous for magical drinks that grant Bad Omen (ominous bottle)
  • #c:drinks/juice for all plant-based juices (empty)
  • #c:drink_containing/bucket for all non-empty drinkable buckets (milk bucket)
  • #c:drink_containing/bottle for all non-empty drinkable bottles (potions, honey bottles, ominous bottles)

@TelepathicGrunt
Copy link
Contributor

There is discussion on the neo issue report about the drinks tag

neoforged/NeoForge#1853

@Juuxel
Copy link
Member

Juuxel commented Jan 16, 2025

Looks generally great and it would be great to have standard IDs for these tags. For example, I've used similar names but under #c:foods/ instead (which is definitely worse).

I think the major weird thing here is c:drinks/water containing potions, but that might be inevitable since water bottles are minecraft:potions too.

@TheDeathlyCow
Copy link
Contributor Author

Yeah it is unfortunately a bit weird quirk of how potions work. However, all potions that are brewable are brewed from water. So I think it's fair to at least say that all potions are water based and can be included in the water tag.

@TheDeathlyCow
Copy link
Contributor Author

As a compromise on this potions weirdness, I have added a watery tag for items that are generally watery and reserved the water tag for drinks that contain only water.

@modmuss50 modmuss50 added the tags PR relates to Minecraft tags label Jan 21, 2025
@modmuss50 modmuss50 added the last call If you care, make yourself heard right away! label Feb 16, 2025
@TheDeathlyCow
Copy link
Contributor Author

TheDeathlyCow commented Feb 17, 2025

One last minute change I'd like to make here - I am removing the sub-sub tags because I feel like they may pigeon hole some drinks too much. For example #c:drinks/magic includes the sub-sub-tag #c:drinks/magic/ominous and the item minecraft:potion. This may be slightly inconsistent since the potion item is not a sub-sub-tag itself, but the Ominous Bottle for some reason is. I think #c:drinks/magic should function more like #c:foods/food_poisoning. That is, a grouping based on a common property of items (granting magical effects), but not a strict "category" like #c:foods/golden.

@modmuss50 modmuss50 added the merge me please Pull requests that are ready to merge label Feb 20, 2025
@modmuss50 modmuss50 merged commit c81f590 into FabricMC:1.21.4 Feb 20, 2025
4 checks passed
modmuss50 pushed a commit that referenced this pull request Feb 20, 2025
* add drink tag keys

* add tags to datagen

* generate tags

* add translations

* drink container tags

* update wording of javadoc

* fix grammar in javadoc

* fix more javadoc typos

* add juice drink type tags

* number the rules for a drink

* watery tag; clarify rule 4 of drink definition

* remove rule 4 of the drinks tag

* fix java doc typo

* generate watery tag

* match juice tag names to vanilla ids

* remove subsub juice tags

* fix potential inconsistency in the drinks javadoc for alcoholic drinks

* remove sub sub tags

(cherry picked from commit c81f590)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
last call If you care, make yourself heard right away! merge me please Pull requests that are ready to merge tags PR relates to Minecraft tags
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Convention drink tags
4 participants