Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Convention Drink Tags #4384

Merged
merged 20 commits into from
Feb 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,16 @@ public void generateTranslations(RegistryWrapper.WrapperLookup registryLookup, T
translationBuilder.add(ConventionalItemTags.COOKED_FISHES_FOODS, "Cooked Fishes");
translationBuilder.add(ConventionalItemTags.SOUPS_FOODS, "Soups");
translationBuilder.add(ConventionalItemTags.CANDIES_FOODS, "Candies");
translationBuilder.add(ConventionalItemTags.DRINKS, "Drinks");
translationBuilder.add(ConventionalItemTags.WATER_DRINKS, "Water");
translationBuilder.add(ConventionalItemTags.WATERY_DRINKS, "Watery Drinks");
translationBuilder.add(ConventionalItemTags.MILK_DRINKS, "Milk");
translationBuilder.add(ConventionalItemTags.HONEY_DRINKS, "Honey");
translationBuilder.add(ConventionalItemTags.MAGIC_DRINKS, "Magical Drinks");
translationBuilder.add(ConventionalItemTags.OMINOUS_DRINKS, "Ominous Drinks");
translationBuilder.add(ConventionalItemTags.JUICE_DRINKS, "Juice");
translationBuilder.add(ConventionalItemTags.DRINK_CONTAINING_BUCKET, "Drink Containing Buckets");
translationBuilder.add(ConventionalItemTags.DRINK_CONTAINING_BOTTLE, "Drink Containing Bottles");
translationBuilder.add(ConventionalItemTags.BUCKETS, "Buckets");
translationBuilder.add(ConventionalItemTags.WATER_BUCKETS, "Water Buckets");
translationBuilder.add(ConventionalItemTags.ENTITY_WATER_BUCKETS, "Entity Water Buckets");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,44 @@ private void generateFoodTags() {
.addOptionalTag(ConventionalItemTags.EDIBLE_WHEN_PLACED_FOODS)
.addOptionalTag(ConventionalItemTags.FOOD_POISONING_FOODS);

getOrCreateTagBuilder(ConventionalItemTags.DRINKS)
.addOptionalTag(ConventionalItemTags.WATER_DRINKS)
.addOptionalTag(ConventionalItemTags.WATERY_DRINKS)
.addOptionalTag(ConventionalItemTags.MILK_DRINKS)
.addOptionalTag(ConventionalItemTags.HONEY_DRINKS)
.addOptionalTag(ConventionalItemTags.MAGIC_DRINKS)
.addOptionalTag(ConventionalItemTags.OMINOUS_DRINKS)
.addOptionalTag(ConventionalItemTags.JUICE_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.WATER_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.WATERY_DRINKS)
.add(Items.POTION)
.addOptionalTag(ConventionalItemTags.WATER_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.MILK_DRINKS)
.add(Items.MILK_BUCKET);

getOrCreateTagBuilder(ConventionalItemTags.HONEY_DRINKS)
.add(Items.HONEY_BOTTLE);

getOrCreateTagBuilder(ConventionalItemTags.MAGIC_DRINKS)
.add(Items.POTION)
.addOptionalTag(ConventionalItemTags.OMINOUS_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.OMINOUS_DRINKS)
.add(Items.OMINOUS_BOTTLE);

getOrCreateTagBuilder(ConventionalItemTags.JUICE_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.DRINK_CONTAINING_BUCKET)
.add(Items.MILK_BUCKET);

getOrCreateTagBuilder(ConventionalItemTags.DRINK_CONTAINING_BOTTLE)
.add(Items.POTION)
.add(Items.HONEY_BOTTLE)
.add(Items.OMINOUS_BOTTLE);

// Deprecated tags below
getOrCreateTagBuilder(ConventionalItemTags.FRUITS_FOODS)
.add(Items.APPLE)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,16 @@
"tag.item.c.crops.pumpkin": "Pumpkin Crops",
"tag.item.c.crops.sugar_cane": "Sugar Cane Crops",
"tag.item.c.crops.wheat": "Wheat Crops",
"tag.item.c.drink_containing.bottle": "Drink Containing Bottles",
"tag.item.c.drink_containing.bucket": "Drink Containing Buckets",
"tag.item.c.drinks": "Drinks",
"tag.item.c.drinks.honey": "Honey",
"tag.item.c.drinks.juice": "Juice",
"tag.item.c.drinks.magic": "Magical Drinks",
"tag.item.c.drinks.milk": "Milk",
"tag.item.c.drinks.ominous": "Ominous Drinks",
"tag.item.c.drinks.water": "Water",
"tag.item.c.drinks.watery": "Watery Drinks",
"tag.item.c.dusts": "Dusts",
"tag.item.c.dusts.glowstone": "Glowstone Dusts",
"tag.item.c.dusts.redstone": "Redstone Dusts",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"values": [
"minecraft:potion",
"minecraft:honey_bottle",
"minecraft:ominous_bottle"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"minecraft:milk_bucket"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"values": [
{
"id": "#c:drinks/water",
"required": false
},
{
"id": "#c:drinks/watery",
"required": false
},
{
"id": "#c:drinks/milk",
"required": false
},
{
"id": "#c:drinks/honey",
"required": false
},
{
"id": "#c:drinks/magic",
"required": false
},
{
"id": "#c:drinks/ominous",
"required": false
},
{
"id": "#c:drinks/juice",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"minecraft:honey_bottle"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"values": []
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"values": [
"minecraft:potion",
{
"id": "#c:drinks/ominous",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"minecraft:milk_bucket"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"minecraft:ominous_bottle"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"values": []
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"values": [
"minecraft:potion",
{
"id": "#c:drinks/water",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,55 @@ private ConventionalItemTags() {
*/
public static final TagKey<Item> FOOD_POISONING_FOODS = register("foods/food_poisoning");

// Drinks
/**
* Drinks are defined as (1) consumable items that (2) use the
* {@linkplain net.minecraft.item.consume.UseAction#DRINK drink use action}, (3) can be consumed regardless of the
* player's current hunger.
*
* <p>Drinks may provide nutrition and saturation, but are not required to do so.
*
* <p>More specific types of drinks, such as Water, Milk, or Juice should be placed in a sub-tag, such as
* {@code #c:drinks/water}, {@code #c:drinks/milk}, and {@code #c:drinks/juice}.
*/
public static final TagKey<Item> DRINKS = register("drinks");
/**
* For consumable drinks that contain only water.
*/
public static final TagKey<Item> WATER_DRINKS = register("drinks/water");
/**
* For consumable drinks that are generally watery (such as potions).
*/
public static final TagKey<Item> WATERY_DRINKS = register("drinks/watery");
public static final TagKey<Item> MILK_DRINKS = register("drinks/milk");
public static final TagKey<Item> HONEY_DRINKS = register("drinks/honey");
/**
* For consumable drinks that are magic in nature and usually grant at least one
* {@link net.minecraft.entity.effect.StatusEffect} when consumed.
*/
public static final TagKey<Item> MAGIC_DRINKS = register("drinks/magic");
/**
* For drinks that always grant the {@linkplain net.minecraft.entity.effect.StatusEffects#BAD_OMEN Bad Omen} effect.
*/
public static final TagKey<Item> OMINOUS_DRINKS = register("drinks/ominous");
/**
* Non-alcoholic, plant based fruit and vegetable juices belong in this tag, for example apple juice and carrot juice.
*
* <p>If tags for specific types of juices are desired, they may go in a sub-tag, using their regular name such as
* {@code #c:drinks/apple_juice}.
*/
public static final TagKey<Item> JUICE_DRINKS = register("drinks/juice");

// Drink containing items
/**
* For non-empty buckets that are {@linkplain #DRINKS drinkable}.
*/
public static final TagKey<Item> DRINK_CONTAINING_BUCKET = register("drink_containing/bucket");
/**
* For non-empty bottles that are {@linkplain #DRINKS drinkable}.
*/
public static final TagKey<Item> DRINK_CONTAINING_BOTTLE = register("drink_containing/bottle");

// Buckets
public static final TagKey<Item> BUCKETS = register("buckets");
public static final TagKey<Item> EMPTY_BUCKETS = register("buckets/empty");
Expand Down