diff --git a/src/main/java/com/minelittlepony/unicopia/item/UItems.java b/src/main/java/com/minelittlepony/unicopia/item/UItems.java index 9b5fac30..b98460d8 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UItems.java @@ -69,6 +69,8 @@ public interface UItems { Item HAY_FRIES = register("hay_fries", new Item(new Item.Settings().group(ItemGroup.FOOD).maxCount(16).food(UFoodComponents.HAY_FRIES))); Item WHEAT_WORMS = register("wheat_worms", new Item(new Item.Settings().group(ItemGroup.MISC).maxCount(16).food(UFoodComponents.INSECTS))); Item MUFFIN = register("muffin", new MuffinItem(new Item.Settings().group(ItemGroup.FOOD).maxCount(32).food(FoodComponents.BREAD), 0)); + Item PINECONE = register("pinecone", new Item(new Item.Settings().group(ItemGroup.FOOD).food(UFoodComponents.PINECONE).maxCount(3))); + Item ACORN = register("acorn", new Item(new Item.Settings().group(ItemGroup.FOOD).food(UFoodComponents.ACORN).maxCount(16))); Item PEBBLES = register("pebbles", new RacePredicatedAliasedBlockItem(UBlocks.ROCKS, new Item.Settings().group(ItemGroup.MATERIALS), Race::canUseEarth)); Item ROCK = register("rock", new HeavyProjectileItem(new Item.Settings().group(ItemGroup.MATERIALS), 3)); diff --git a/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java b/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java index 46bec2f1..ede64970 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java +++ b/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxics.java @@ -104,6 +104,10 @@ public interface Toxics { .with(Race.CHANGELING, of(Toxicity.SAFE, Toxin.LOVE_CONSUMPTION)) ); + Toxic PINECONE = register("pinecone", new Toxic.Builder(of(Toxicity.SAFE, Toxin.healing(1))) + .with(Race.HUMAN, Ailment.INNERT) + ); + static void bootstrap() {} static Toxic register(String name, Toxic.Builder builder) { diff --git a/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxin.java b/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxin.java index bda6f80a..d9de87c1 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxin.java +++ b/src/main/java/com/minelittlepony/unicopia/item/toxin/Toxin.java @@ -40,7 +40,7 @@ public interface Toxin extends Affliction { player.getHungerManager().add(-food.getHunger()/2, -food.getSaturationModifier()/2); }).and(STRONG_NAUSEA).and(IF_NOT_PEACEFUL.then(WEAK_FOOD_POISONING.withChance(20))).and(WEAKNESS); - Toxin LOVE_CONSUMPTION = of(Text.literal("love"), (player, stack) -> { + Toxin LOVE_CONSUMPTION = of(Text.literal("Love"), (player, stack) -> { player.heal(stack.isFood() ? stack.getItem().getFoodComponent().getHunger() : 1); player.removeStatusEffect(StatusEffects.NAUSEA); if (player.world.random.nextInt(10) == 0) { @@ -48,6 +48,10 @@ public interface Toxin extends Affliction { } }); + static Toxin healing(int hearts) { + return of(Text.literal("Healing " + hearts + " Hearts"), (player, stack) -> player.heal(hearts)); + } + default void appendTooltip(List tooltip) { tooltip.add(getName()); } diff --git a/src/main/java/com/minelittlepony/unicopia/item/toxin/UFoodComponents.java b/src/main/java/com/minelittlepony/unicopia/item/toxin/UFoodComponents.java index fb70b597..3200ee2e 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/toxin/UFoodComponents.java +++ b/src/main/java/com/minelittlepony/unicopia/item/toxin/UFoodComponents.java @@ -39,6 +39,9 @@ public interface UFoodComponents { FoodComponent LOVE_MUG = builder(4, 0.125F).snack().build(); FoodComponent LOVE_BUCKET = builder(8, 0.125F).build(); + FoodComponent PINECONE = builder(0, 0.01F).snack().alwaysEdible().build(); + FoodComponent ACORN = builder(1, 0.01F).snack().alwaysEdible().build(); + static FoodComponent.Builder builder(int hunger, float saturation) { return new FoodComponent.Builder() .hunger(hunger) diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index bb9abb7c..09dbfaa4 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -69,6 +69,8 @@ "item.unicopia.rock": "Rock", "item.unicopia.weird_rock": "Weird Rock", "item.unicopia.rock_stew": "Rock Stew", + "item.unicopia.pinecone": "Pinecone", + "item.unicopia.acorn": "Acorn", "item.unicopia.green_apple_seeds": "Granny Smith Apple Seeds", "item.unicopia.sweet_apple_seeds": "Sweet Apple Seeds", "item.unicopia.sour_apple_seeds": "Sour Apple Seeds", @@ -572,6 +574,8 @@ "advancements.unicopia.feed_trick_apple.description": "Feed a zap apple to a mob", "advancements.unicopia.eat_trick_apple.title": "Crunchy", "advancements.unicopia.eat_trick_apple.description": "Bite into a zap apple", + "advancements.unicopia.eat_pinecone.title": "Desperation", + "advancements.unicopia.eat_pinecone.description": "Eat a pinecone", "advancements.unicopia.imported_oats.title": "As Delicious As They Are Expensive", "advancements.unicopia.imported_oats.description": "Send of receive fancy imported oats", diff --git a/src/main/resources/assets/unicopia/models/item/acorn.json b/src/main/resources/assets/unicopia/models/item/acorn.json new file mode 100644 index 00000000..aba8ec9a --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/acorn.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/acorn" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/pinecone.json b/src/main/resources/assets/unicopia/models/item/pinecone.json new file mode 100644 index 00000000..1d72942f --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/pinecone.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/pinecone" + } +} diff --git a/src/main/resources/assets/unicopia/textures/item/acorn.png b/src/main/resources/assets/unicopia/textures/item/acorn.png new file mode 100644 index 00000000..42018e6e Binary files /dev/null and b/src/main/resources/assets/unicopia/textures/item/acorn.png differ diff --git a/src/main/resources/assets/unicopia/textures/item/pinecone.png b/src/main/resources/assets/unicopia/textures/item/pinecone.png new file mode 100644 index 00000000..f4ed6834 Binary files /dev/null and b/src/main/resources/assets/unicopia/textures/item/pinecone.png differ diff --git a/src/main/resources/data/unicopia/advancements/unicopia/eat_pinecone.json b/src/main/resources/data/unicopia/advancements/unicopia/eat_pinecone.json new file mode 100644 index 00000000..d59be7cb --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/unicopia/eat_pinecone.json @@ -0,0 +1,31 @@ +{ + "parent": "unicopia:unicopia/root", + "display": { + "icon": { + "item": "unicopia:pinecone" + }, + "title": { + "translate": "advancements.unicopia.eat_pinecone.title" + }, + "description": { + "translate": "advancements.unicopia.eat_pinecone.description" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "eat_pinecone": { + "trigger": "minecraft:consume_item", + "item": { + "items": [ + { "item": "unicopia:pinecone" } + ] + } + } + }, + "requirements": [ + [ "eat_pinecone" ] + ] +} diff --git a/src/main/resources/data/unicopia/tags/items/food_types/pinecone.json b/src/main/resources/data/unicopia/tags/items/food_types/pinecone.json new file mode 100644 index 00000000..36eac177 --- /dev/null +++ b/src/main/resources/data/unicopia/tags/items/food_types/pinecone.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "unicopia:pinecone" + ] +} diff --git a/src/main/resources/data/unicopia/tree_types/oak.json b/src/main/resources/data/unicopia/tree_types/oak.json index 93db206f..99f62856 100644 --- a/src/main/resources/data/unicopia/tree_types/oak.json +++ b/src/main/resources/data/unicopia/tree_types/oak.json @@ -3,7 +3,7 @@ "leaves": [ "minecraft:oak_leaves" ], "drops": [ { "weight": 1, "item": "unicopia:rotten_apple" }, - { "weight": 2, "item": "unicopia:green_apple" }, - { "weight": 3, "item": "minecraft:apple" } + { "weight": 2, "item": "unicopia:acorn" }, + { "weight": 3, "item": "minecraft:stick" } ] } \ No newline at end of file diff --git a/src/main/resources/data/unicopia/tree_types/spruce.json b/src/main/resources/data/unicopia/tree_types/spruce.json index 473c355e..74f821e4 100644 --- a/src/main/resources/data/unicopia/tree_types/spruce.json +++ b/src/main/resources/data/unicopia/tree_types/spruce.json @@ -3,8 +3,7 @@ "leaves": [ "minecraft:spruce_leaves" ], "wideTrunk": true, "drops": [ - { "weight": 1, "item": "unicopia:sour_apple" }, - { "weight": 2, "item": "unicopia:green_apple" }, - { "weight": 4, "item": "unicopia:rotten_apple" } + { "weight": 1, "item": "unicopia:pinecone" }, + { "weight": 4, "item": "unicopia:stick" } ] } \ No newline at end of file