From 7d488217701510d844a1817621cd842135594c2f Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 3 Mar 2024 16:05:31 +0000 Subject: [PATCH] Adjust food balancing and create separate categories for fruit and baked goods, fix desserts and candy showing as fruits and vegetables in tooltips fix farmers delight dessert items not being part of the dessert category #293 --- .../minelittlepony/unicopia/diet/Effect.java | 2 +- .../unicopia/diet/PonyDiets.java | 9 +++++++ .../resources/assets/unicopia/lang/en_us.json | 3 +++ .../resources/data/c/tags/items/fruits.json | 5 ++-- .../diets/food_effects/baked_goods.json | 11 ++++++++ .../unicopia/diets/food_effects/candy.json | 11 ++++++++ .../unicopia/diets/food_effects/desserts.json | 11 ++++++++ .../unicopia/diets/food_effects/fruit.json | 11 ++++++++ .../data/unicopia/diets/races/alicorn.json | 11 ++++++-- .../data/unicopia/diets/races/bat.json | 2 +- .../data/unicopia/diets/races/changeling.json | 7 +++++ .../data/unicopia/diets/races/earth.json | 9 ++++++- .../data/unicopia/diets/races/hippogriff.json | 9 ++++++- .../data/unicopia/diets/races/kirin.json | 9 ++++++- .../data/unicopia/diets/races/pegasus.json | 9 ++++++- .../data/unicopia/diets/races/seapony.json | 2 +- .../data/unicopia/diets/races/unicorn.json | 9 ++++++- .../tags/items/food_types/baked_goods.json | 27 +++++++++++++++++++ .../tags/items/food_types/desserts.json | 8 ++++-- .../unicopia/tags/items/food_types/fruit.json | 18 +++++++++++++ 20 files changed, 169 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/data/unicopia/diets/food_effects/baked_goods.json create mode 100644 src/main/resources/data/unicopia/diets/food_effects/candy.json create mode 100644 src/main/resources/data/unicopia/diets/food_effects/desserts.json create mode 100644 src/main/resources/data/unicopia/diets/food_effects/fruit.json create mode 100644 src/main/resources/data/unicopia/tags/items/food_types/baked_goods.json create mode 100644 src/main/resources/data/unicopia/tags/items/food_types/fruit.json diff --git a/src/main/java/com/minelittlepony/unicopia/diet/Effect.java b/src/main/java/com/minelittlepony/unicopia/diet/Effect.java index 4d0f1bb4..9b7ba05d 100644 --- a/src/main/java/com/minelittlepony/unicopia/diet/Effect.java +++ b/src/main/java/com/minelittlepony/unicopia/diet/Effect.java @@ -49,7 +49,7 @@ public record Effect( }); if (tooltip.size() == size) { if (stack.isFood()) { - tooltip.add(Text.literal(" ").append(Text.translatable("tag.unicopia.food_types.fruits_and_vegetables")).formatted(Formatting.GRAY)); + tooltip.add(Text.literal(" ").append(Text.translatable("tag.unicopia.food_types.misc")).formatted(Formatting.GRAY)); } else if (stack.getUseAction() == UseAction.DRINK) { tooltip.add(Text.literal(" ").append(Text.translatable("tag.unicopia.food_types.drinks")).formatted(Formatting.GRAY)); } diff --git a/src/main/java/com/minelittlepony/unicopia/diet/PonyDiets.java b/src/main/java/com/minelittlepony/unicopia/diet/PonyDiets.java index 658cdf53..8e4558a9 100644 --- a/src/main/java/com/minelittlepony/unicopia/diet/PonyDiets.java +++ b/src/main/java/com/minelittlepony/unicopia/diet/PonyDiets.java @@ -82,6 +82,15 @@ public class PonyDiets implements DietView { tooltip.add(Text.translatable("unicopia.diet.information").formatted(Formatting.DARK_PURPLE)); getEffects(stack, pony).appendTooltip(stack, tooltip, context); + + /*for (Race race : Race.REGISTRY) { + var diet = diets.get(race); + if (diet != null) { + tooltip.add(race.getDisplayName()); + diet.appendTooltip(stack, user, tooltip, context); + } + }*/ + getDiet(pony).appendTooltip(stack, user, tooltip, context); } } diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 525c448b..21b3273e 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -622,6 +622,9 @@ "tag.unicopia.food_types.shelly": "Sea Shells", "tag.unicopia.food_types.candy": "Candy", "tag.unicopia.food_types.desserts": "Desserts", + "tag.unicopia.food_types.fruit": "Fruit", + "tag.unicopia.food_types.baked_goods": "Baked Goods", + "tag.unicopia.food_types.misc": "Misc", "tag.unicopia.food_types.fruits_and_vegetables": "Fruits & Vegetables", "tag.unicopia.food_types.drinks": "Drinks", "tag.minecraft.leaves": "Leaves", diff --git a/src/main/resources/data/c/tags/items/fruits.json b/src/main/resources/data/c/tags/items/fruits.json index 6cd22ee2..696b1906 100644 --- a/src/main/resources/data/c/tags/items/fruits.json +++ b/src/main/resources/data/c/tags/items/fruits.json @@ -2,7 +2,8 @@ "replace": false, "values": [ "unicopia:mango", - "unicopia:banana", - "unicopia:pineapple" + "#c:pineapples", + "#c:apples", + "#c:bananas" ] } diff --git a/src/main/resources/data/unicopia/diets/food_effects/baked_goods.json b/src/main/resources/data/unicopia/diets/food_effects/baked_goods.json new file mode 100644 index 00000000..31306e54 --- /dev/null +++ b/src/main/resources/data/unicopia/diets/food_effects/baked_goods.json @@ -0,0 +1,11 @@ +{ + "tags": [ "unicopia:food_types/baked_goods" ], + "food_component": { + "hunger": 1, + "saturation": 1 + }, + "ailment": { + "effects": [ + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/diets/food_effects/candy.json b/src/main/resources/data/unicopia/diets/food_effects/candy.json new file mode 100644 index 00000000..a7d7d64b --- /dev/null +++ b/src/main/resources/data/unicopia/diets/food_effects/candy.json @@ -0,0 +1,11 @@ +{ + "tags": [ "unicopia:food_types/candy" ], + "food_component": { + "hunger": 1, + "saturation": 1 + }, + "ailment": { + "effects": [ + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/diets/food_effects/desserts.json b/src/main/resources/data/unicopia/diets/food_effects/desserts.json new file mode 100644 index 00000000..63913e02 --- /dev/null +++ b/src/main/resources/data/unicopia/diets/food_effects/desserts.json @@ -0,0 +1,11 @@ +{ + "tags": [ "unicopia:food_types/desserts" ], + "food_component": { + "hunger": 1, + "saturation": 1 + }, + "ailment": { + "effects": [ + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/diets/food_effects/fruit.json b/src/main/resources/data/unicopia/diets/food_effects/fruit.json new file mode 100644 index 00000000..20793232 --- /dev/null +++ b/src/main/resources/data/unicopia/diets/food_effects/fruit.json @@ -0,0 +1,11 @@ +{ + "tags": [ "unicopia:food_types/fruit" ], + "food_component": { + "hunger": 1, + "saturation": 1 + }, + "ailment": { + "effects": [ + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/diets/races/alicorn.json b/src/main/resources/data/unicopia/diets/races/alicorn.json index d318454c..caf175c1 100644 --- a/src/main/resources/data/unicopia/diets/races/alicorn.json +++ b/src/main/resources/data/unicopia/diets/races/alicorn.json @@ -1,6 +1,6 @@ { - "default_multiplier": 0.8, - "foraging_multiplier": 1, + "default_multiplier": 1.4, + "foraging_multiplier": 0.9, "multipliers": [ { "tags": [ "unicopia:food_types/cooked_fish" ], @@ -12,6 +12,13 @@ "hunger": 0.5, "saturation": 0.6 }, + { + "tags": [ + "unicopia:food_types/baked_goods" + ], + "hunger": 1, + "saturation": 1 + }, { "tags": [ "unicopia:food_types/cooked_insect", diff --git a/src/main/resources/data/unicopia/diets/races/bat.json b/src/main/resources/data/unicopia/diets/races/bat.json index 2aedf250..283a8788 100644 --- a/src/main/resources/data/unicopia/diets/races/bat.json +++ b/src/main/resources/data/unicopia/diets/races/bat.json @@ -1,5 +1,5 @@ { - "default_multiplier": 0.5, + "default_multiplier": 0.6, "foraging_multiplier": 0.9, "multipliers": [ { diff --git a/src/main/resources/data/unicopia/diets/races/changeling.json b/src/main/resources/data/unicopia/diets/races/changeling.json index 8b108468..d728f503 100644 --- a/src/main/resources/data/unicopia/diets/races/changeling.json +++ b/src/main/resources/data/unicopia/diets/races/changeling.json @@ -27,6 +27,13 @@ "hunger": 0.6, "saturation": 0.6 }, + { + "tags": [ + "unicopia:food_types/baked_goods" + ], + "hunger": 0.5, + "saturation": 0.9 + }, { "tags": [ "unicopia:food_types/love" ], "hunger": 1, diff --git a/src/main/resources/data/unicopia/diets/races/earth.json b/src/main/resources/data/unicopia/diets/races/earth.json index a8b48e87..e06a0fd5 100644 --- a/src/main/resources/data/unicopia/diets/races/earth.json +++ b/src/main/resources/data/unicopia/diets/races/earth.json @@ -1,5 +1,5 @@ { - "default_multiplier": 1, + "default_multiplier": 0.7, "foraging_multiplier": 1, "multipliers": [ { @@ -11,6 +11,13 @@ "hunger": 2.5, "saturation": 1.7 }, + { + "tags": [ + "unicopia:food_types/baked_goods" + ], + "hunger": 1.2, + "saturation": 2 + }, { "tags": [ "unicopia:food_types/cooked_fish" ], "hunger": 0.2, diff --git a/src/main/resources/data/unicopia/diets/races/hippogriff.json b/src/main/resources/data/unicopia/diets/races/hippogriff.json index 8ecea1ad..f20a092a 100644 --- a/src/main/resources/data/unicopia/diets/races/hippogriff.json +++ b/src/main/resources/data/unicopia/diets/races/hippogriff.json @@ -1,5 +1,5 @@ { - "default_multiplier": 0.3, + "default_multiplier": 0.5, "foraging_multiplier": 0.8, "multipliers": [ { @@ -10,6 +10,13 @@ "hunger": 1.6, "saturation": 1.6 }, + { + "tags": [ + "unicopia:food_types/baked_goods" + ], + "hunger": 1, + "saturation": 1 + }, { "tags": [ "unicopia:food_types/raw_meat", diff --git a/src/main/resources/data/unicopia/diets/races/kirin.json b/src/main/resources/data/unicopia/diets/races/kirin.json index 2f2f4172..42b41a67 100644 --- a/src/main/resources/data/unicopia/diets/races/kirin.json +++ b/src/main/resources/data/unicopia/diets/races/kirin.json @@ -1,5 +1,5 @@ { - "default_multiplier": 0, + "default_multiplier": 0.25, "foraging_multiplier": 0.9, "multipliers": [ { @@ -12,6 +12,13 @@ "hunger": 0.5, "saturation": 0.6 }, + { + "tags": [ + "unicopia:food_types/baked_goods" + ], + "hunger": 1, + "saturation": 1 + }, { "tags": [ "unicopia:food_types/cooked_insect", diff --git a/src/main/resources/data/unicopia/diets/races/pegasus.json b/src/main/resources/data/unicopia/diets/races/pegasus.json index da8220b7..d1208202 100644 --- a/src/main/resources/data/unicopia/diets/races/pegasus.json +++ b/src/main/resources/data/unicopia/diets/races/pegasus.json @@ -1,5 +1,5 @@ { - "default_multiplier": 0.5, + "default_multiplier": 0.9, "foraging_multiplier": 1, "multipliers": [ { @@ -12,6 +12,13 @@ "hunger": 0.5, "saturation": 0.6 }, + { + "tags": [ + "unicopia:food_types/baked_goods" + ], + "hunger": 1, + "saturation": 1 + }, { "tags": [ "unicopia:food_types/cooked_insect", diff --git a/src/main/resources/data/unicopia/diets/races/seapony.json b/src/main/resources/data/unicopia/diets/races/seapony.json index 4bf9a4cb..6558338a 100644 --- a/src/main/resources/data/unicopia/diets/races/seapony.json +++ b/src/main/resources/data/unicopia/diets/races/seapony.json @@ -1,5 +1,5 @@ { - "default_multiplier": 0.5, + "default_multiplier": 0.4, "foraging_multiplier": 0.7, "multipliers": [ { diff --git a/src/main/resources/data/unicopia/diets/races/unicorn.json b/src/main/resources/data/unicopia/diets/races/unicorn.json index 866ba9e2..be679a08 100644 --- a/src/main/resources/data/unicopia/diets/races/unicorn.json +++ b/src/main/resources/data/unicopia/diets/races/unicorn.json @@ -1,5 +1,5 @@ { - "default_multiplier": 0.7, + "default_multiplier": 1.2, "foraging_multiplier": 1, "multipliers": [ { @@ -11,6 +11,13 @@ "hunger": 0.1, "saturation": 0.1 }, + { + "tags": [ + "unicopia:food_types/baked_goods" + ], + "hunger": 1, + "saturation": 1 + }, { "tags": [ "unicopia:food_types/love", diff --git a/src/main/resources/data/unicopia/tags/items/food_types/baked_goods.json b/src/main/resources/data/unicopia/tags/items/food_types/baked_goods.json new file mode 100644 index 00000000..02828b2e --- /dev/null +++ b/src/main/resources/data/unicopia/tags/items/food_types/baked_goods.json @@ -0,0 +1,27 @@ +{ + "replace": false, + "values": [ + "minecraft:bread", + "minecraft:cookie", + "unicopia:muffin", + "#c:grain", + "unicopia:cooked_zap_apple", + "minecraft:pumpkin_pie", + "#unicopia:pies", + "unicopia:apple_pie_slice", + "unicopia:toast", + "unicopia:burned_toast", + "unicopia:jam_toast", + "unicopia:imported_oats", + "unicopia:oatmeal", + "unicopia:hay_fries", + "unicopia:crispy_hay_fries", + "unicopia:horse_shoe_fries", + { "id": "farmersdelight:wheat_dough", "required": false }, + { "id": "farmersdelight:raw_pasta", "required": false }, + { "id": "farmersdelight:pie_crust", "required": false }, + { "id": "farmersdelight:sweet_berry_cookie", "required": false }, + { "id": "farmersdelight:honey_cookie", "required": false }, + { "id": "farmersdelight:egg_sandwich", "required": false } + ] +} diff --git a/src/main/resources/data/unicopia/tags/items/food_types/desserts.json b/src/main/resources/data/unicopia/tags/items/food_types/desserts.json index 0e14adc0..c88f3f26 100644 --- a/src/main/resources/data/unicopia/tags/items/food_types/desserts.json +++ b/src/main/resources/data/unicopia/tags/items/food_types/desserts.json @@ -2,7 +2,11 @@ "replace": false, "values": [ "minecraft:cake", - "#unicopia:pies", - { "id": "bakersdelight:sweet_berry_cheesecake", "required": false } + { "id": "farmersdelight:sweet_berry_cheesecake", "required": false }, + { "id": "farmersdelight:sweet_berry_cheesecake_slice", "required": false }, + { "id": "farmersdelight:chocolate_pie_slice", "required": false }, + { "id": "farmersdelight:cake_slice", "required": false }, + { "id": "farmersdelight:apple_pie_slice", "required": false }, + { "id": "farmersdelight:glow_berry_custard", "required": false } ] } diff --git a/src/main/resources/data/unicopia/tags/items/food_types/fruit.json b/src/main/resources/data/unicopia/tags/items/food_types/fruit.json new file mode 100644 index 00000000..b3f9d285 --- /dev/null +++ b/src/main/resources/data/unicopia/tags/items/food_types/fruit.json @@ -0,0 +1,18 @@ +{ + "replace": false, + "values": [ + "#c:fruits", + "unicopia:zap_apple", + "unicopia:zap_bulb", + "unicopia:rotten_apple", + "minecraft:melon_slice", + "minecraft:sweet_berries", + "minecraft:glow_berries", + "minecraft:chorus_fruit", + "unicopia:juice", + { "id": "farmersdelight:pumpkin_slice", "required": false }, + { "id": "farmersdelight:tomato", "required": false }, + { "id": "farmersdelight:melon_juice", "required": false }, + { "id": "farmersdelight:fruit_salad", "required": false } + ] +}