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

Open
wants to merge 15 commits into
base: 1.21.4
Choose a base branch
from
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,20 @@ 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_MAGIC_DRINKS, "Ominous Drinks");
translationBuilder.add(ConventionalItemTags.JUICE_DRINKS, "Juice");
translationBuilder.add(ConventionalItemTags.APPLE_JUICE_DRINKS, "Apple Juice");
translationBuilder.add(ConventionalItemTags.BEETROOT_JUICE_DRINKS, "Beet Juice");
translationBuilder.add(ConventionalItemTags.CARROT_JUICE_DRINKS, "Carrot Juice");
translationBuilder.add(ConventionalItemTags.MELON_JUICE_DRINKS, "Melon 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,60 @@ 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_MAGIC_DRINKS)
.addOptionalTag(ConventionalItemTags.JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.APPLE_JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.BEETROOT_JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.CARROT_JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.MELON_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_MAGIC_DRINKS);

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

getOrCreateTagBuilder(ConventionalItemTags.JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.APPLE_JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.BEETROOT_JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.CARROT_JUICE_DRINKS)
.addOptionalTag(ConventionalItemTags.MELON_JUICE_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.APPLE_JUICE_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.BEETROOT_JUICE_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.CARROT_JUICE_DRINKS);

getOrCreateTagBuilder(ConventionalItemTags.MELON_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,20 @@
"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.juice.apple": "Apple Juice",
"tag.item.c.drinks.juice.beetroot": "Beet Juice",
"tag.item.c.drinks.juice.carrot": "Carrot Juice",
"tag.item.c.drinks.juice.melon": "Melon Juice",
"tag.item.c.drinks.magic": "Magical Drinks",
"tag.item.c.drinks.magic.ominous": "Ominous Drinks",
"tag.item.c.drinks.milk": "Milk",
"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,48 @@
{
"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/magic/ominous",
"required": false
},
{
"id": "#c:drinks/juice",
"required": false
},
{
"id": "#c:drinks/juice/apple",
"required": false
},
{
"id": "#c:drinks/juice/beetroot",
"required": false
},
{
"id": "#c:drinks/juice/carrot",
"required": false
},
{
"id": "#c:drinks/juice/melon",
"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,20 @@
{
"values": [
{
"id": "#c:drinks/juice/apple",
"required": false
},
{
"id": "#c:drinks/juice/beetroot",
"required": false
},
{
"id": "#c:drinks/juice/carrot",
"required": false
},
{
"id": "#c:drinks/juice/melon",
"required": false
}
]
}
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,3 @@
{
"values": []
}
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,3 @@
{
"values": []
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"values": [
"minecraft:potion",
{
"id": "#c:drinks/magic/ominous",
"required": false
}
]
}
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,5 @@
{
"values": [
"minecraft:milk_bucket"
]
}
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 @@ -246,6 +246,59 @@ 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>Categories of drinks, such as Coffee, Tea, or Alcoholic drinks should be placed in a sub-tag, such as
* {@code #c:drinks/coffee}, {@code #c:drinks/tea}, and {@code #c:drinks/alcohol}.
*
* <p>Specific types of drinks, such as Lattes, Green Tea, and Beer should go in sub-sub-tags using their regular name,
* such as {@code #c:drinks/coffee/latte}, {@code #c:drinks/tea/green_tea}, and {@code #c:drinks/alcohol/beer}.
*/
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_MAGIC_DRINKS = register("drinks/magic/ominous");
/**
* Plant based fruit and vegetable juices belong in this tag, for example apple juice and carrot juice.
*/
public static final TagKey<Item> JUICE_DRINKS = register("drinks/juice");
public static final TagKey<Item> APPLE_JUICE_DRINKS = register("drinks/juice/apple");
public static final TagKey<Item> BEETROOT_JUICE_DRINKS = register("drinks/juice/beetroot");
public static final TagKey<Item> CARROT_JUICE_DRINKS = register("drinks/juice/carrot");
public static final TagKey<Item> MELON_JUICE_DRINKS = register("drinks/juice/melon");

// 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