From 8c8364700478947f53670e9fafb57273892334e3 Mon Sep 17 00:00:00 2001 From: Sollace Date: Fri, 5 Apr 2024 17:10:39 +0100 Subject: [PATCH] Add cooked and rotten variants of all the fish --- .../providers/UAdvancementsProvider.java | 1 + .../datagen/providers/UModelProvider.java | 14 ++++++++--- .../UBlockAdditionsLootTableProvider.java | 22 +++++++++++++++++ .../UChestAdditionsLootTableProvider.java | 9 +++++++ .../providers/recipe/URecipeProvider.java | 4 +++ .../providers/tag/UItemTagProvider.java | 7 +++++- ...DrinkableItem.java => ConsumableItem.java} | 10 +++++--- .../unicopia/item/UFoodComponents.java | 1 + .../minelittlepony/unicopia/item/UItems.java | 23 +++++++++++++----- .../resources/assets/unicopia/lang/en_us.json | 10 ++++++++ .../textures/item/cooked_pufferfish.png | Bin 0 -> 6980 bytes .../textures/item/cooked_tropical_fish.png | Bin 0 -> 6795 bytes .../unicopia/textures/item/fried_axolotl.png | Bin 0 -> 6561 bytes .../unicopia/textures/item/fried_egg.png | Bin 0 -> 6662 bytes .../textures/item/green_fried_egg.png | Bin 0 -> 6709 bytes .../unicopia/textures/item/rotten_cod.png | Bin 0 -> 7008 bytes .../textures/item/rotten_pufferfish.png | Bin 0 -> 6927 bytes .../unicopia/textures/item/rotten_salmon.png | Bin 0 -> 6986 bytes .../textures/item/rotten_tropical_fish.png | Bin 0 -> 6649 bytes .../tags/items/groups/changeling.json | 1 + .../unicopia/tags/items/groups/pegasus.json | 1 + 21 files changed, 89 insertions(+), 14 deletions(-) rename src/main/java/com/minelittlepony/unicopia/item/{DrinkableItem.java => ConsumableItem.java} (84%) create mode 100644 src/main/resources/assets/unicopia/textures/item/cooked_pufferfish.png create mode 100644 src/main/resources/assets/unicopia/textures/item/cooked_tropical_fish.png create mode 100644 src/main/resources/assets/unicopia/textures/item/fried_axolotl.png create mode 100644 src/main/resources/assets/unicopia/textures/item/fried_egg.png create mode 100644 src/main/resources/assets/unicopia/textures/item/green_fried_egg.png create mode 100644 src/main/resources/assets/unicopia/textures/item/rotten_cod.png create mode 100644 src/main/resources/assets/unicopia/textures/item/rotten_pufferfish.png create mode 100644 src/main/resources/assets/unicopia/textures/item/rotten_salmon.png create mode 100644 src/main/resources/assets/unicopia/textures/item/rotten_tropical_fish.png diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UAdvancementsProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UAdvancementsProvider.java index a46d1306..a540572c 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UAdvancementsProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UAdvancementsProvider.java @@ -77,6 +77,7 @@ public class UAdvancementsProvider extends FabricAdvancementProvider { p.child(UItems.WEIRD_ROCK).hidden().criterion("has_rock", hasItems(UItems.WEIRD_ROCK)).build(consumer, "thats_unusual"); }); + parent.child(UItems.FRIED_AXOLOTL).criterion("eaten_axolotl", ConsumeItemCriterion.Conditions.item(UItems.FRIED_AXOLOTL)).build(consumer, "tastes_like_chicken"); parent.child(UItems.OATS).criterion("has_oats", hasItems(UItems.OATS)).build(consumer, "oats_so_easy"); parent.child(Items.HAY_BLOCK).criterion("eat_hay", ConsumeItemCriterion.Conditions.item(Items.HAY_BLOCK)).build(consumer, "what_the_hay"); parent.child(UItems.COPPER_HORSE_SHOE).criterion("has_horseshoe", hasItems(UTags.Items.HORSE_SHOES)).build(consumer, "blacksmith").children(p -> { diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java index 8dd5d9c5..cc317eb5 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/UModelProvider.java @@ -59,12 +59,14 @@ public class UModelProvider extends FabricModelProvider { ItemModels.register(itemModelGenerator, UItems.ACORN, UItems.APPLE_PIE_HOOF, UItems.APPLE_PIE_SLICE, UItems.APPLE_PIE, UItems.BANANA, UItems.BOTCHED_GEM, UItems.BOWL_OF_NUTS, UItems.BROKEN_SUNGLASSES, UItems.BURNED_JUICE, UItems.BURNED_TOAST, - UItems.CARAPACE, UItems.CLAM_SHELL, UItems.COOKED_ZAP_APPLE, UItems.CHOCOLATE_OATMEAL_COOKIE, UItems.CLOUD_LUMP, UItems.CRISPY_HAY_FRIES, UItems.CRYSTAL_HEART, UItems.CRYSTAL_SHARD, + UItems.CARAPACE, UItems.CLAM_SHELL, UItems.COOKED_ZAP_APPLE, UItems.CHOCOLATE_OATMEAL_COOKIE, + UItems.CLOUD_LUMP, UItems.CRISPY_HAY_FRIES, UItems.CRYSTAL_HEART, UItems.CRYSTAL_SHARD, + UItems.COOKED_TROPICAL_FISH, UItems.COOKED_PUFFERFISH, UItems.FRIED_AXOLOTL, UItems.DAFFODIL_DAISY_SANDWICH, UItems.DRAGON_BREATH_SCROLL, UItems.EMPTY_JAR, UItems.FRIENDSHIP_BRACELET, UItems.GIANT_BALLOON, UItems.GOLDEN_FEATHER, UItems.GOLDEN_OAK_SEEDS, UItems.GOLDEN_WING, UItems.GREEN_APPLE_SEEDS, UItems.GREEN_APPLE, UItems.GROGARS_BELL, - UItems.GRYPHON_FEATHER, + UItems.GRYPHON_FEATHER, UItems.GREEN_FRIED_EGG, UItems.HAY_BURGER, UItems.HAY_FRIES, UItems.HORSE_SHOE_FRIES, UItems.IMPORTED_OATS, UItems.JAM_TOAST, UItems.JUICE, @@ -72,7 +74,8 @@ public class UModelProvider extends FabricModelProvider { UItems.MANGO, UItems.MUFFIN, UItems.OATMEAL, UItems.OATMEAL_COOKIE, UItems.SCONE, UItems.PEBBLES, UItems.PEGASUS_FEATHER, UItems.PINECONE, UItems.PINECONE_COOKIE, UItems.PINEAPPLE_CROWN, - UItems.RAIN_CLOUD_JAR, UItems.ROCK_STEW, UItems.ROCK, UItems.ROTTEN_APPLE, + UItems.RAIN_CLOUD_JAR, UItems.ROCK_STEW, UItems.ROCK, + UItems.ROTTEN_APPLE, UItems.ROTTEN_COD, UItems.ROTTEN_TROPICAL_FISH, UItems.ROTTEN_SALMON, UItems.ROTTEN_PUFFERFISH, UItems.SALT_CUBE, UItems.SCALLOP_SHELL, UItems.SHELLY, UItems.SOUR_APPLE_SEEDS, UItems.SOUR_APPLE, UItems.SPELLBOOK, UItems.STORM_CLOUD_JAR, UItems.SWEET_APPLE_SEEDS, UItems.SWEET_APPLE, UItems.TOAST, UItems.TOM, UItems.TURRET_SHELL, @@ -106,7 +109,10 @@ public class UModelProvider extends FabricModelProvider { .put(TextureKey.LAYER1, ModelIds.getItemSubModelId(UItems.MAGIC_STAFF, "_magic")), itemModelGenerator.writer); // polearms - List.of(UItems.DIAMOND_POLEARM, UItems.GOLDEN_POLEARM, UItems.NETHERITE_POLEARM, UItems.STONE_POLEARM, UItems.WOODEN_POLEARM, UItems.IRON_POLEARM).forEach(item -> ItemModels.registerPolearm(itemModelGenerator, item)); + List.of( + UItems.DIAMOND_POLEARM, UItems.GOLDEN_POLEARM, UItems.NETHERITE_POLEARM, + UItems.STONE_POLEARM, UItems.WOODEN_POLEARM, UItems.IRON_POLEARM + ).forEach(item -> ItemModels.registerPolearm(itemModelGenerator, item)); // sheets ItemModels.register(itemModelGenerator, BedsheetsItem.ITEMS.values().stream().toArray(Item[]::new)); // badges diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockAdditionsLootTableProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockAdditionsLootTableProvider.java index 4663bd66..cf6ed6d5 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockAdditionsLootTableProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UBlockAdditionsLootTableProvider.java @@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.datagen.providers.loot; import java.util.function.Function; +import com.minelittlepony.unicopia.UTags; import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.item.enchantment.UEnchantments; @@ -14,20 +15,24 @@ import net.minecraft.enchantment.Enchantments; import net.minecraft.item.ItemConvertible; import net.minecraft.loot.LootPool; import net.minecraft.loot.LootTable; +import net.minecraft.loot.condition.LocationCheckLootCondition; import net.minecraft.loot.condition.LootCondition; import net.minecraft.loot.condition.MatchToolLootCondition; import net.minecraft.loot.condition.RandomChanceLootCondition; import net.minecraft.loot.condition.TableBonusLootCondition; import net.minecraft.loot.entry.ItemEntry; import net.minecraft.loot.entry.LootPoolEntry; +import net.minecraft.loot.entry.TagEntry; import net.minecraft.loot.function.ApplyBonusLootFunction; import net.minecraft.loot.function.SetCountLootFunction; import net.minecraft.loot.provider.number.ConstantLootNumberProvider; import net.minecraft.loot.provider.number.UniformLootNumberProvider; import net.minecraft.predicate.NumberRange; +import net.minecraft.predicate.entity.LocationPredicate; import net.minecraft.predicate.item.EnchantmentPredicate; import net.minecraft.predicate.item.ItemPredicate; import net.minecraft.util.Identifier; +import net.minecraft.world.biome.BiomeKeys; public class UBlockAdditionsLootTableProvider extends FabricBlockLootTableProvider { public static final LootCondition.Builder WITH_GEM_FINDER = MatchToolLootCondition.builder(ItemPredicate.Builder.create().enchantment(new EnchantmentPredicate(UEnchantments.GEM_FINDER, NumberRange.IntRange.atLeast(1)))); @@ -35,6 +40,10 @@ public class UBlockAdditionsLootTableProvider extends FabricBlockLootTableProvid public static final LootCondition.Builder WITHOUT_SILK_TOUCH_AND_GEM_FINDER = WITHOUT_SILK_TOUCH.and(WITH_GEM_FINDER); public static final float[] GEMSTONES_FORTUNE_CHANCE = { 0.1F, 0.14285715F, 0.25F, 1F }; + public static final LootCondition.Builder NEEDS_OCEAN_OR_BEACH_BIOME = + LocationCheckLootCondition.builder(LocationPredicate.Builder.create().biome(BiomeKeys.OCEAN)) + .or(LocationCheckLootCondition.builder(LocationPredicate.Builder.create().biome(BiomeKeys.BEACH))); + public UBlockAdditionsLootTableProvider(FabricDataOutput dataOutput) { super(dataOutput); } @@ -57,12 +66,25 @@ public class UBlockAdditionsLootTableProvider extends FabricBlockLootTableProvid addVanillaDrop(Blocks.DEEPSLATE_DIAMOND_ORE, this::crystalShardDrops); addVanillaDrop(Blocks.OAK_LEAVES, block -> chanceDropWithShears(block, UItems.ACORN, GEMSTONES_FORTUNE_CHANCE)); addVanillaDrop(Blocks.SPRUCE_LEAVES, block -> chanceDropWithShears(block, UItems.PINECONE, GEMSTONES_FORTUNE_CHANCE)); + addVanillaDrop(Blocks.GRAVEL, this::shellDrops); + addVanillaDrop(Blocks.SUSPICIOUS_GRAVEL, this::shellDrops); } private void addVanillaDrop(Block block, Function lootTableFunction) { lootTables.put(new Identifier("unicopiamc", block.getLootTableId().getPath()), lootTableFunction.apply(block)); } + public LootTable.Builder shellDrops(Block block) { + return LootTable.builder().pool(LootPool.builder() + .rolls(ConstantLootNumberProvider.create(1)) + .conditionally(WITHOUT_SILK_TOUCH.and(NEEDS_OCEAN_OR_BEACH_BIOME)) + .with(applyExplosionDecay(block, TagEntry.builder(UTags.Items.SHELLS) + .apply(SetCountLootFunction.builder(ConstantLootNumberProvider.create(1))) + ) + .conditionally(TableBonusLootCondition.builder(Enchantments.FORTUNE, GEMSTONES_FORTUNE_CHANCE))) + ); + } + public LootTable.Builder chanceDropWithShears(Block block, ItemConvertible drop, float...chance) { return LootTable.builder() .pool(LootPool.builder() diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UChestAdditionsLootTableProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UChestAdditionsLootTableProvider.java index 051875e7..0d6beac9 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UChestAdditionsLootTableProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/loot/UChestAdditionsLootTableProvider.java @@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.datagen.providers.loot; import java.util.function.BiConsumer; +import com.minelittlepony.unicopia.UConventionalTags; import com.minelittlepony.unicopia.UTags; import com.minelittlepony.unicopia.item.UItems; @@ -60,6 +61,7 @@ public class UChestAdditionsLootTableProvider extends SimpleFabricLootTableProvi .rolls(UniformLootNumberProvider.create(0, 1)) .with(ItemEntry.builder(UItems.GROGARS_BELL).weight(1)) )); + exporter.accept(LootTables.BURIED_TREASURE_CHEST, LootTable.builder().pool(LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 4)) .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) @@ -68,21 +70,25 @@ public class UChestAdditionsLootTableProvider extends SimpleFabricLootTableProvi exporter.accept(LootTables.SHIPWRECK_SUPPLY_CHEST, LootTable.builder().pool(LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 6)) .with(TagEntry.expandBuilder(UTags.Items.SHELLS).weight(3)) + .with(TagEntry.expandBuilder(UConventionalTags.Items.ROTTEN_FISH).weight(1)) )); exporter.accept(LootTables.SHIPWRECK_TREASURE_CHEST, LootTable.builder().pool(LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 4)) .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) .with(TagEntry.expandBuilder(UTags.Items.SHELLS).weight(3)) + .with(TagEntry.expandBuilder(UConventionalTags.Items.ROTTEN_FISH).weight(1)) )); exporter.accept(LootTables.UNDERWATER_RUIN_BIG_CHEST, LootTable.builder().pool(LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 2)) .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) .with(ItemEntry.builder(UItems.SHELLY).weight(4)) .with(TagEntry.expandBuilder(UTags.Items.SHELLS).weight(8)) + .with(TagEntry.expandBuilder(UConventionalTags.Items.ROTTEN_FISH).weight(1)) )); exporter.accept(LootTables.UNDERWATER_RUIN_SMALL_CHEST, LootTable.builder().pool(LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 4)) .with(TagEntry.expandBuilder(UTags.Items.SHELLS).weight(1)) + .with(TagEntry.expandBuilder(UConventionalTags.Items.ROTTEN_FISH).weight(1)) )); exporter.accept(LootTables.DESERT_WELL_ARCHAEOLOGY, LootTable.builder().pool(LootPool.builder() @@ -112,17 +118,20 @@ public class UChestAdditionsLootTableProvider extends SimpleFabricLootTableProvi .rolls(UniformLootNumberProvider.create(1, 4)) .with(TagEntry.expandBuilder(UTags.Items.SHELLS).weight(1)) .with(ItemEntry.builder(UItems.PEARL_NECKLACE).weight(1)) + .with(TagEntry.expandBuilder(UConventionalTags.Items.ROTTEN_FISH).weight(1)) )); exporter.accept(LootTables.FISHING_GAMEPLAY, LootTable.builder().pool(LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 4)) .with(TagEntry.expandBuilder(UTags.Items.SHELLS).weight(2)) + .with(TagEntry.expandBuilder(UConventionalTags.Items.ROTTEN_FISH).weight(1)) )); exporter.accept(LootTables.FISHING_JUNK_GAMEPLAY, LootTable.builder().pool(LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 4)) .with(ItemEntry.builder(UItems.BROKEN_SUNGLASSES).weight(2)) .with(ItemEntry.builder(UItems.WHEAT_WORMS).weight(2)) + .with(TagEntry.expandBuilder(UConventionalTags.Items.ROTTEN_FISH).weight(1)) .with(ItemEntry.builder(UItems.BOTCHED_GEM).weight(4)) )); diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/recipe/URecipeProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/recipe/URecipeProvider.java index 3e27692b..aad4a126 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/recipe/URecipeProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/recipe/URecipeProvider.java @@ -411,6 +411,10 @@ public class URecipeProvider extends FabricRecipeProvider { offerSmelting(exporter, List.of(UItems.BURNED_JUICE, UItems.BURNED_TOAST), RecipeCategory.FOOD, Items.CHARCOAL, 1, 20, "coal"); offerSmelting(exporter, List.of(UItems.HAY_FRIES), RecipeCategory.FOOD, UItems.CRISPY_HAY_FRIES, 1F, 25, "hay_fries"); offerSmelting(exporter, List.of(UItems.ZAP_APPLE), RecipeCategory.FOOD, UItems.COOKED_ZAP_APPLE, 1.2F, 430, "zap_apple"); + offerSmelting(exporter, List.of(Items.TROPICAL_FISH), RecipeCategory.FOOD, UItems.COOKED_TROPICAL_FISH, 1.2F, 230, "fish"); + offerSmelting(exporter, List.of(Items.PUFFERFISH), RecipeCategory.FOOD, UItems.COOKED_PUFFERFISH, 1.2F, 230, "fish"); + offerSmelting(exporter, List.of(Items.AXOLOTL_BUCKET), RecipeCategory.FOOD, UItems.FRIED_AXOLOTL, 2.2F, 230, "fried_axolotl"); + offerSmelting(exporter, List.of(UBlocks.MYSTERIOUS_EGG.asItem()), RecipeCategory.FOOD, UItems.GREEN_FRIED_EGG, 3.8F, 630, "fried_egg"); ShapelessRecipeJsonBuilder.create(RecipeCategory.FOOD, UItems.ZAP_APPLE_JAM_JAR) .input(UItems.COOKED_ZAP_APPLE, 6).criterion(hasItem(UItems.COOKED_ZAP_APPLE), conditionsFromItem(UItems.COOKED_ZAP_APPLE)) diff --git a/src/main/java/com/minelittlepony/unicopia/datagen/providers/tag/UItemTagProvider.java b/src/main/java/com/minelittlepony/unicopia/datagen/providers/tag/UItemTagProvider.java index bc248a61..922e19fa 100644 --- a/src/main/java/com/minelittlepony/unicopia/datagen/providers/tag/UItemTagProvider.java +++ b/src/main/java/com/minelittlepony/unicopia/datagen/providers/tag/UItemTagProvider.java @@ -201,7 +201,12 @@ public class UItemTagProvider extends FabricTagProvider.ItemTagProvider { ; getOrCreateTagBuilder(UConventionalTags.Items.BANANAS).add(UItems.BANANA); getOrCreateTagBuilder(UConventionalTags.Items.RAW_FISH).add(Items.COD, Items.SALMON, Items.PUFFERFISH, Items.TROPICAL_FISH).addOptionalTag(new Identifier("c", "mollusks")); - getOrCreateTagBuilder(UConventionalTags.Items.COOKED_FISH).add(Items.COOKED_COD, Items.COOKED_SALMON); + getOrCreateTagBuilder(UConventionalTags.Items.COOKED_FISH).add(Items.COOKED_COD, Items.COOKED_SALMON, UItems.COOKED_TROPICAL_FISH, UItems.COOKED_PUFFERFISH, UItems.FRIED_AXOLOTL); + getOrCreateTagBuilder(UConventionalTags.Items.ROTTEN_FISH).add(UItems.ROTTEN_COD, UItems.ROTTEN_TROPICAL_FISH, UItems.ROTTEN_SALMON, UItems.ROTTEN_PUFFERFISH); + getOrCreateTagBuilder(ItemTags.FISHES).add( + UItems.COOKED_TROPICAL_FISH, UItems.COOKED_PUFFERFISH, UItems.FRIED_AXOLOTL, + UItems.ROTTEN_COD, UItems.ROTTEN_TROPICAL_FISH, UItems.ROTTEN_SALMON, UItems.ROTTEN_PUFFERFISH + ); getOrCreateTagBuilder(UConventionalTags.Items.COOKED_MEAT) .add(Items.COOKED_PORKCHOP, Items.COOKED_BEEF, Items.COOKED_MUTTON, Items.COOKED_RABBIT, Items.COOKED_CHICKEN, Items.RABBIT_STEW) .addOptionalTag(new Identifier("c", "cooked_bacon")) diff --git a/src/main/java/com/minelittlepony/unicopia/item/DrinkableItem.java b/src/main/java/com/minelittlepony/unicopia/item/ConsumableItem.java similarity index 84% rename from src/main/java/com/minelittlepony/unicopia/item/DrinkableItem.java rename to src/main/java/com/minelittlepony/unicopia/item/ConsumableItem.java index 23fa0dd1..dba7218d 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/DrinkableItem.java +++ b/src/main/java/com/minelittlepony/unicopia/item/ConsumableItem.java @@ -11,9 +11,13 @@ import net.minecraft.stat.Stats; import net.minecraft.util.UseAction; import net.minecraft.world.World; -public class DrinkableItem extends Item { - public DrinkableItem(Item.Settings settings) { +public class ConsumableItem extends Item { + + private final UseAction action; + + public ConsumableItem(Item.Settings settings, UseAction action) { super(settings); + this.action = action; } @Override @@ -30,6 +34,6 @@ public class DrinkableItem extends Item { @Override public UseAction getUseAction(ItemStack stack) { - return UseAction.DRINK; + return action; } } diff --git a/src/main/java/com/minelittlepony/unicopia/item/UFoodComponents.java b/src/main/java/com/minelittlepony/unicopia/item/UFoodComponents.java index 8217a4c1..80a2e9a5 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UFoodComponents.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UFoodComponents.java @@ -29,6 +29,7 @@ public interface UFoodComponents { FoodComponent OATMEAL_COOKIE = FoodComponents.COOKIE; //builder(2, 0.1F).build(); FoodComponent CHOCOLATE_OATMEAL_COOKIE = builder(3, 0.4F).build(); FoodComponent SCONE = builder(2, 0.2F).build(); + FoodComponent FRIED_EGG = builder(4, 0.4F).build(); FoodComponent WORMS = builder(1, 1.5F).alwaysEdible().meat().build(); FoodComponent INSECTS = builder(1, 0).alwaysEdible().build(); diff --git a/src/main/java/com/minelittlepony/unicopia/item/UItems.java b/src/main/java/com/minelittlepony/unicopia/item/UItems.java index 30ff595f..894b6d2d 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UItems.java @@ -27,6 +27,7 @@ import net.fabricmc.fabric.api.registry.CompostingChanceRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; import net.minecraft.sound.SoundEvent; import net.minecraft.util.Rarity; +import net.minecraft.util.UseAction; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.Registries; @@ -119,17 +120,17 @@ public interface UItems { Item GOLDEN_OAK_SEEDS = register("golden_oak_seeds", new AliasedBlockItem(UBlocks.GOLDEN_OAK_SPROUT, new Item.Settings()), ItemGroups.NATURAL); Item MUG = register("mug", new Item(new Settings()), ItemGroups.TOOLS); - Item CIDER = register("cider", new DrinkableItem(new Item.Settings().food(UFoodComponents.CIDER).maxCount(16).recipeRemainder(MUG)), ItemGroups.FOOD_AND_DRINK); - Item JUICE = register("juice", new DrinkableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(16).food(UFoodComponents.JUICE)), ItemGroups.FOOD_AND_DRINK); - Item BURNED_JUICE = register("burned_juice", new DrinkableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(16).food(UFoodComponents.BURNED_JUICE)), ItemGroups.FOOD_AND_DRINK); + Item CIDER = register("cider", new ConsumableItem(new Item.Settings().food(UFoodComponents.CIDER).maxCount(16).recipeRemainder(MUG), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK); + Item JUICE = register("juice", new ConsumableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(16).food(UFoodComponents.JUICE), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK); + Item BURNED_JUICE = register("burned_juice", new ConsumableItem(new Item.Settings().recipeRemainder(Items.GLASS_BOTTLE).maxCount(16).food(UFoodComponents.BURNED_JUICE), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK); Item APPLE_PIE = register("apple_pie", new BlockItem(UBlocks.APPLE_PIE, new Item.Settings().maxCount(1)), ItemGroups.FOOD_AND_DRINK); Item APPLE_PIE_HOOF = register("apple_pie_hoof", new AliasedBlockItem(UBlocks.APPLE_PIE, new Item.Settings().maxCount(1)), ItemGroups.FOOD_AND_DRINK); Item APPLE_PIE_SLICE = register("apple_pie_slice", new Item(new Item.Settings().maxCount(16).food(UFoodComponents.PIE)), ItemGroups.FOOD_AND_DRINK); Item CANDIED_APPLE = register("candied_apple", new StagedFoodItem(new Item.Settings().food(UFoodComponents.CANDY).maxDamage(3), () -> Items.STICK), ItemGroups.FOOD_AND_DRINK); - Item LOVE_BOTTLE = register("love_bottle", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_BOTTLE).maxCount(1).recipeRemainder(Items.GLASS_BOTTLE)), ItemGroups.FOOD_AND_DRINK); - Item LOVE_BUCKET = register("love_bucket", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_BUCKET).recipeRemainder(Items.BUCKET)), ItemGroups.FOOD_AND_DRINK); - Item LOVE_MUG = register("love_mug", new DrinkableItem(new Item.Settings().food(UFoodComponents.LOVE_MUG).recipeRemainder(MUG)), ItemGroups.FOOD_AND_DRINK); + Item LOVE_BOTTLE = register("love_bottle", new ConsumableItem(new Item.Settings().food(UFoodComponents.LOVE_BOTTLE).maxCount(1).recipeRemainder(Items.GLASS_BOTTLE), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK); + Item LOVE_BUCKET = register("love_bucket", new ConsumableItem(new Item.Settings().food(UFoodComponents.LOVE_BUCKET).recipeRemainder(Items.BUCKET), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK); + Item LOVE_MUG = register("love_mug", new ConsumableItem(new Item.Settings().food(UFoodComponents.LOVE_MUG).recipeRemainder(MUG), UseAction.DRINK), ItemGroups.FOOD_AND_DRINK); Item GOLDEN_FEATHER = register("golden_feather", new Item(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.NATURAL); Item GOLDEN_WING = register("golden_wing", new Item(new Item.Settings().rarity(Rarity.UNCOMMON)), ItemGroups.NATURAL); @@ -226,6 +227,16 @@ public interface UItems { Item TURRET_SHELL = register("turret_shell", new Item(new Item.Settings()), ItemGroups.INGREDIENTS); Item SHELLY = register("shelly", new Item(new Item.Settings()), ItemGroups.INGREDIENTS); + Item ROTTEN_COD = register("rotten_cod", new Item(new Item.Settings().food(FoodComponents.ROTTEN_FLESH)), ItemGroups.FOOD_AND_DRINK); + Item ROTTEN_SALMON = register("rotten_salmon", new Item(new Item.Settings().food(FoodComponents.ROTTEN_FLESH)), ItemGroups.FOOD_AND_DRINK); + Item ROTTEN_TROPICAL_FISH = register("rotten_tropical_fish", new Item(new Item.Settings().food(FoodComponents.ROTTEN_FLESH)), ItemGroups.FOOD_AND_DRINK); + Item ROTTEN_PUFFERFISH = register("rotten_pufferfish", new Item(new Item.Settings().food(FoodComponents.ROTTEN_FLESH)), ItemGroups.FOOD_AND_DRINK); + + Item COOKED_TROPICAL_FISH = register("cooked_tropical_fish", new Item(new Item.Settings().food(FoodComponents.COOKED_COD)), ItemGroups.FOOD_AND_DRINK); + Item COOKED_PUFFERFISH = register("cooked_pufferfish", new Item(new Item.Settings().food(FoodComponents.COOKED_COD)), ItemGroups.FOOD_AND_DRINK); + Item FRIED_AXOLOTL = register("fried_axolotl", new ConsumableItem(new Item.Settings().food(FoodComponents.COOKED_CHICKEN).recipeRemainder(Items.BUCKET), UseAction.EAT), ItemGroups.FOOD_AND_DRINK); + Item GREEN_FRIED_EGG = register("green_fried_egg", new Item(new Item.Settings().food(UFoodComponents.FRIED_EGG)), ItemGroups.FOOD_AND_DRINK); + Item CARAPACE = register("carapace", new Item(new Item.Settings()), ItemGroups.INGREDIENTS); Item CLOTH_BED = register("cloth_bed", new FancyBedItem(UBlocks.CLOTH_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); Item CLOUD_BED = register("cloud_bed", new CloudBedItem(UBlocks.CLOUD_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 5033eda6..df8a8f2e 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -74,6 +74,14 @@ "item.unicopia.cooked_zap_apple": "Cooked Zap Apple", "item.unicopia.zap_apple": "Zap Apple", "item.unicopia.zap_bulb": "Unripened Zap Apple", + "item.unicopia.rotten_cod": "Rotten Cod", + "item.unicopia.rotten_salmon": "Rotten Salmon", + "item.unicopia.rotten_tropical_fish": "Rotten Tropical Fish", + "item.unicopia.rotten_pufferfish": "Rotten Pufferfish", + "item.unicopia.cooked_tropical_fish": "Cooked Tropical Fish", + "item.unicopia.cooked_pufferfish": "Cooked Pufferfish", + "item.unicopia.fried_axolotl": "Fried Axolotl", + "item.unicopia.green_fried_egg": "Green Fried Egg", "item.unicopia.love_bottle": "Bottle o' Love", "item.unicopia.love_bucket": "Love Bucket", @@ -1639,6 +1647,8 @@ "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.tastes_like_chicken.title": "Tastes Like Chicken", + "advancements.unicopia.tastes_like_chicken.description": "Fry and eat an axolotl", "advancements.unicopia.what_the_hay.title": "What The Hay", "advancements.unicopia.what_the_hay.description": "Eat an entire block of hay", "advancements.unicopia.oats_so_easy.title": "Oats So Easy", diff --git a/src/main/resources/assets/unicopia/textures/item/cooked_pufferfish.png b/src/main/resources/assets/unicopia/textures/item/cooked_pufferfish.png new file mode 100644 index 0000000000000000000000000000000000000000..eef6293b98036298983ac171eba86986ac7de86c GIT binary patch literal 6980 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 Okx9o&J{vK8{=Wg*s#(YY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/fried_axolotl.png b/src/main/resources/assets/unicopia/textures/item/fried_axolotl.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f00289233c492d62ddab8ac5969a87b2b1dd10 GIT binary patch literal 6561 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 M%DAYHBW4!-8%(>9`Tzg` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/fried_egg.png b/src/main/resources/assets/unicopia/textures/item/fried_egg.png new file mode 100644 index 0000000000000000000000000000000000000000..55d4a4ac62e72c8b52a52f2abb8f69d635576dd9 GIT binary patch literal 6662 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/green_fried_egg.png b/src/main/resources/assets/unicopia/textures/item/green_fried_egg.png new file mode 100644 index 0000000000000000000000000000000000000000..46e85b593525b07d9d255eac13c3f56847339f20 GIT binary patch literal 6709 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 flIYN9L#Me!6jc<3;gZz%uywOV5X35-bpc$&WCg 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/rotten_pufferfish.png b/src/main/resources/assets/unicopia/textures/item/rotten_pufferfish.png new file mode 100644 index 0000000000000000000000000000000000000000..24ade9a54c2cdf2b865d97718727ba77f2611cd3 GIT binary patch literal 6927 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 WUl_}qLl%Y2O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/rotten_salmon.png b/src/main/resources/assets/unicopia/textures/item/rotten_salmon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc4d53c097708b72ca81d1d05f7fcac6a97cb451 GIT binary patch literal 6986 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 Q{MQD#Y>M>Y`1x7?0B_61KmY&$ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/rotten_tropical_fish.png b/src/main/resources/assets/unicopia/textures/item/rotten_tropical_fish.png new file mode 100644 index 0000000000000000000000000000000000000000..7c0354025831fcac81c4f6ff32566feb81a16d94 GIT binary patch literal 6649 zcmeHLd0Z3M7M>6wVN-!<0TE+x32OEPl1O9?5)~u}0#>V&WCBqjAqf(21Kjh}y3_@W zwFb0k)mGHDin~xZ+{J1u&lRG*yr!{+28B?%aAj3=H7F^bG~!Wy_w6r zq{Ja!?g8!yf_TZ|W0T?D1sAd_TzfulLlK1h9hNRr%Vhl#GPHpu!5Ja6+YuaeCjt>6 zLi=nGAJB0dTmlF#*86aRQw~a6-J`UJk+qodWlbAeuQgUwc764MMj5 z#e;?;+wVhU2}x8glf!26LSa0c%NMiZE1+^h#aw|{zyWK*=dUAzp@plkA(*4{jYzSPaV+XsIB0e$-Rqlfh83qr$$B5_QtG;T<|Z0N|8)KO{a z8KaddOr4pfnP4#HPbx4K7R{JBYxbPE^UO<@ezI)&ij`%nEESdO)_+m8VPo~S?K{5t z_Pd?C4j!tl`~L8eqsPvkJKu2Ohl`hfymtM@&8Azo@BDoC;iJb-o<4j2%ZrydFPx|S zV`KIQUf#gV$=R9cOu~5)oC7P6OAEdLwVjj?RDv53} zBe?tkkHxAKxl|o|@Q%g&YTI#lx~2HfL}E76zgi)QZlK6BN=BLKn~|0(i}{7YPy%pw zJw2YtrG<4tJ*1Sh%b&%|r4+V|+ogpxbZZU^9J_tNM(z>(3?UA(U$Yz)b$p z+LLmNxxYs+?)x(h7*+)*n(14j=K_(-Ll%PhQ_^yZT#DFba#xCc9J8ndCsqYG^=kbS zNK|H|qxa1Kq$#_>mrEyShMWeFvRE)0Zwwj)9p{769c|k)*^O>7*J4F<%QxP4QsmOS zxqGCP)I}8VYz>eD@jPCT_z`5mSl@KVV!kJm!HC7>UO?i-5!}vE9HRthX*09zy%Qnk zBlZ9Y`*DJ%t9Fs{YDf6#_qvt0hVFnNfAvQwu3tj^ce4dWNx!X|x1KL3mU^~IUy?kRF;yBjW!oob0K(@O_{);v zsck98>xA$YA?4$yj`r}35+`8P~ zc7N&)>uSt>ZWdGq)oxHDrHqm;tFoA@qwRrCxe11Ux;6Y2n~1hcyMKRL0zXJIH8C+s zvX~gEPOnvKvM~fPl}}wPi9Zw>ST}B8Qe|>&Ct4@}jm$}M@57^K(Nf4eqQC6acg3`* zrL%k2)yZ`X;V)a$^L2R_8V;m(agK;A?@>+}TUp!IXI3{(P~h_$je8C^4%&ZZ6Su*$ zFOs@#{_y@GHy?c&eQH1{xmPJ+{;>MQ?Kv zzI(Tat`FRyA2W8YJil2H`M4n=vo^bKm^Q}4G zCKm7K>DJ}{x}z`qm8__uqHbaFkx*S;9LVTi7CpWiAs@*7BSd8+$08o9L$JPO*z@Q2C+#(v*LFK>ji`x{YY4_6Y#6baL8;g1j2dk&6~{ys+I*vgMuUE;J-!@WLP7_8uAw~( zkPns#)v-8CHY+EG8hXQb>25>Neg3lLlISd|8BxLaUTpw6ip5`(um^O zgY~@<)lK5Xe?^P0JP)0m0~|{4PbM`?2f#P6SOLgy714e@x?<8w@rDx#sK~c ztxdKSH4@9SJ=q?!HP)p>rCJw-7**OR7|=EbgC2;$+33jtYG?gxz|qbxy6y5sE9*`N25 z_uYkXn%*LdjY<(7-@KGFqI(o&=Drnmxg5f_P!I6J#2gNz@5U_9`bXQM?apM zMO#-{aeN%RYYIPi;5ssMYctK9U+$CcW4JB6*1G;;ts@ACreHe7feh6&r6gk3;(3nKhwe*Ua08zUXTleSyqVA86}VWv(e5x#-EX`YMI2ddHr` zgI|BWn!9?rGP?1oBHs}sUo-IUtN+=sDq@@S=>%an_4^$W^;W*p$R3_fOZuNma8 zJ~8)eEe=z5(&=