From ced16e34cb585ef95181ded9610ef97f7fa13dfd Mon Sep 17 00:00:00 2001 From: wiggle1000 Date: Mon, 11 Mar 2024 14:05:46 -0500 Subject: [PATCH] feat: added ice cream (#54) * feat: added ice cream --------- Co-authored-by: Drew Edwards --- .../2ac56fe60cdf0cd798eb1c9904c9821512b5e8c3 | 2 +- .../8dddb602b6fc23bde80dd2fdb61e97cf507d1fd6 | 2 +- .../c2d4f06d6dbced8ac5764fdbef726f95d8dfcf32 | 2 +- .../assets/sc-goodies/lang/en_us.json | 16 +++ .../kotlin/io/sc3/goodies/Registration.kt | 22 +++- .../sc3/goodies/datagen/LanguageProvider.kt | 18 +++ .../io/sc3/goodies/datagen/ModelProvider.kt | 9 ++ .../recipes/handlers/IceCreamRecipes.kt | 104 ++++++++++++++++++ .../recipes/handlers/RecipeHandlers.kt | 3 +- .../io/sc3/goodies/misc/IceCreamItem.kt | 35 ++++++ .../textures/item/icecream_beetroot.png | Bin 0 -> 399 bytes .../textures/item/icecream_chocolate.png | Bin 0 -> 356 bytes .../textures/item/icecream_melon.png | Bin 0 -> 441 bytes .../textures/item/icecream_neapolitan.png | Bin 0 -> 387 bytes .../textures/item/icecream_spruce.png | Bin 0 -> 394 bytes .../textures/item/icecream_sundae.png | Bin 0 -> 401 bytes .../textures/item/icecream_sweetberry.png | Bin 0 -> 376 bytes .../textures/item/icecream_vanilla.png | Bin 0 -> 363 bytes 18 files changed, 206 insertions(+), 7 deletions(-) create mode 100644 src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/IceCreamRecipes.kt create mode 100644 src/main/kotlin/io/sc3/goodies/misc/IceCreamItem.kt create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_beetroot.png create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_chocolate.png create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_melon.png create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_neapolitan.png create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_spruce.png create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_sundae.png create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_sweetberry.png create mode 100644 src/main/resources/assets/sc-goodies/textures/item/icecream_vanilla.png diff --git a/src/generated/resources/.cache/2ac56fe60cdf0cd798eb1c9904c9821512b5e8c3 b/src/generated/resources/.cache/2ac56fe60cdf0cd798eb1c9904c9821512b5e8c3 index 0deb820c..e83122ac 100644 --- a/src/generated/resources/.cache/2ac56fe60cdf0cd798eb1c9904c9821512b5e8c3 +++ b/src/generated/resources/.cache/2ac56fe60cdf0cd798eb1c9904c9821512b5e8c3 @@ -1,2 +1,2 @@ // 1.20.1 2024-03-03T00:02:51.8603782 SwitchCraft Goodies/Language (en_us) -ad375c4fbf1587e4777082b8de680e14fa0c6229 assets\sc-goodies\lang\en_us.json +ad375c4fbf1587e4777082b8de680e14fa0c6229 assets\sc-goodies\lang\en_us.json \ No newline at end of file diff --git a/src/generated/resources/.cache/8dddb602b6fc23bde80dd2fdb61e97cf507d1fd6 b/src/generated/resources/.cache/8dddb602b6fc23bde80dd2fdb61e97cf507d1fd6 index 8313c09f..d630a099 100644 --- a/src/generated/resources/.cache/8dddb602b6fc23bde80dd2fdb61e97cf507d1fd6 +++ b/src/generated/resources/.cache/8dddb602b6fc23bde80dd2fdb61e97cf507d1fd6 @@ -2,4 +2,4 @@ 88d7dc2cda0c954363240835dc1a120029372d59 data\sc-goodies\worldgen\configured_feature\sakura_tree.json 47a33ebe7bddd1495b3b1a3556af0f771adb573d data\sc-goodies\damage_type\barrel_hammer.json 045ca36b6362d3383065d80bdd4ebb7601b985c7 data\sc-goodies\worldgen\configured_feature\maple_tree.json -9af415ba7d9772ed4f4c83b7aefe9081d85afb06 data\sc-goodies\worldgen\configured_feature\blue_tree.json +9af415ba7d9772ed4f4c83b7aefe9081d85afb06 data\sc-goodies\worldgen\configured_feature\blue_tree.json \ No newline at end of file diff --git a/src/generated/resources/.cache/c2d4f06d6dbced8ac5764fdbef726f95d8dfcf32 b/src/generated/resources/.cache/c2d4f06d6dbced8ac5764fdbef726f95d8dfcf32 index 765df5ed..6c5ccb98 100644 --- a/src/generated/resources/.cache/c2d4f06d6dbced8ac5764fdbef726f95d8dfcf32 +++ b/src/generated/resources/.cache/c2d4f06d6dbced8ac5764fdbef726f95d8dfcf32 @@ -10,4 +10,4 @@ d271db8ff8e5339b949a85bdfd38e23238b785b2 data\minecraft\tags\blocks\mineable\pic 9add93461267d841a135d57165b955ef109901c1 data\minecraft\tags\blocks\dirt.json 864839e4fdbc62745fcce9b3d37e3d0900b3cf7b data\minecraft\tags\blocks\completes_find_tree_tutorial.json 45e38aae59c74c989644f2ae230ccd8431bfc202 data\minecraft\tags\blocks\saplings.json -9add93461267d841a135d57165b955ef109901c1 data\minecraft\tags\blocks\mineable\shovel.json +9add93461267d841a135d57165b955ef109901c1 data\minecraft\tags\blocks\mineable\shovel.json \ No newline at end of file diff --git a/src/generated/resources/assets/sc-goodies/lang/en_us.json b/src/generated/resources/assets/sc-goodies/lang/en_us.json index 2e78c7e0..9f5a9c70 100644 --- a/src/generated/resources/assets/sc-goodies/lang/en_us.json +++ b/src/generated/resources/assets/sc-goodies/lang/en_us.json @@ -187,6 +187,22 @@ "item.sc-goodies.gold_diamond_chest_upgrade.desc": "Upgrade Gold chests, barrels, or shulker boxes to\nDiamond chests, barrels, or shulker boxes.", "item.sc-goodies.hover_boots": "Hover Boots", "item.sc-goodies.hover_boots.desc": "Allows you to jump higher.", + "item.sc-goodies.icecream_beetroot": "Beetroot Ice Cream", + "item.sc-goodies.icecream_beetroot.desc": "An earthy treat!", + "item.sc-goodies.icecream_chocolate": "Chocolate Ice Cream", + "item.sc-goodies.icecream_chocolate.desc": "A delicious treat!", + "item.sc-goodies.icecream_melon": "Melon Ice Cream", + "item.sc-goodies.icecream_melon.desc": "A delicious treat!", + "item.sc-goodies.icecream_neapolitan": "Neapolitan Ice Cream", + "item.sc-goodies.icecream_neapolitan.desc": "Vanilla, Chocolate, and Sweet Berry.", + "item.sc-goodies.icecream_spruce": "Spruce Ice Cream", + "item.sc-goodies.icecream_spruce.desc": "A refreshing treat!", + "item.sc-goodies.icecream_sundae": "Triple Gooberberry Sunrise", + "item.sc-goodies.icecream_sundae.desc": "A suspiciously familiar sundae.", + "item.sc-goodies.icecream_sweetberry": "Sweet Berry Ice Cream", + "item.sc-goodies.icecream_sweetberry.desc": "A delicious treat!", + "item.sc-goodies.icecream_vanilla": "Vanilla Ice Cream", + "item.sc-goodies.icecream_vanilla.desc": "A delicious treat!", "item.sc-goodies.iron_diamond_chest_upgrade": "Iron to Diamond Storage Upgrade", "item.sc-goodies.iron_diamond_chest_upgrade.desc": "Upgrade Iron chests, barrels, or shulker boxes to\nDiamond chests, barrels, or shulker boxes.", "item.sc-goodies.iron_gold_chest_upgrade": "Iron to Gold Storage Upgrade", diff --git a/src/main/kotlin/io/sc3/goodies/Registration.kt b/src/main/kotlin/io/sc3/goodies/Registration.kt index 7e2b59f5..e5f024b6 100644 --- a/src/main/kotlin/io/sc3/goodies/Registration.kt +++ b/src/main/kotlin/io/sc3/goodies/Registration.kt @@ -391,13 +391,25 @@ object Registration { val dragonScale = rItem("dragon_scale", BaseItem(itemSettings() .maxCount(16) .rarity(EPIC))) - val popcorn = rItem("popcorn", PopcornItem(itemSettings() - .food(PopcornItem.foodComponent) - .maxCount(1))) val ancientTome = rItem("ancient_tome", AncientTomeItem(itemSettings() .maxCount(1) .rarity(UNCOMMON))) + val popcorn = rItem("popcorn", PopcornItem(itemSettings() + .food(PopcornItem.foodComponent) + .maxCount(1))) + val iceCreamVanilla = rIceCreamItem("icecream_vanilla") + val iceCreamChocolate = rIceCreamItem("icecream_chocolate") + val iceCreamSweetBerry = rIceCreamItem("icecream_sweetberry") + val iceCreamNeapolitan = rIceCreamItem("icecream_neapolitan") + val iceCreamSpruce = rIceCreamItem("icecream_spruce") + val iceCreamMelon = rIceCreamItem("icecream_melon") + val iceCreamBeetroot = rIceCreamItem("icecream_beetroot") + // This is a bit messy, but a much simpler way to have the sundae be worth more food + val iceCreamSundae = rItem("icecream_sundae", IceCreamItem(itemSettings() + .food(FoodComponent.Builder().hunger(7).saturationModifier(8.0f).alwaysEdible().build()) + .maxCount(16))) + val dimmableLight = rItem(ModBlocks.dimmableLight, ::BlockItem, itemSettings()) // TODO: Clean up @@ -414,6 +426,10 @@ object Registration { fun rItem(name: String, value: T): T = register(ITEM, ModId(name), value).also { items.add(it) } + private fun rIceCreamItem(name: String): Item = rItem(name, IceCreamItem(itemSettings() + .food(IceCreamItem.foodComponent) + .maxCount(16))) + fun rItem(parent: B, supplier: (B, Item.Settings) -> I, settings: Item.Settings = itemSettings()): I { val item = register(ITEM, BLOCK.getId(parent), supplier(parent, settings)) diff --git a/src/main/kotlin/io/sc3/goodies/datagen/LanguageProvider.kt b/src/main/kotlin/io/sc3/goodies/datagen/LanguageProvider.kt index fb989a6a..b98c24a0 100644 --- a/src/main/kotlin/io/sc3/goodies/datagen/LanguageProvider.kt +++ b/src/main/kotlin/io/sc3/goodies/datagen/LanguageProvider.kt @@ -138,6 +138,24 @@ class LanguageProvider(out: FabricDataOutput) : FabricLanguageProvider(out) { builder.add(ModItems.popcorn, "Popcorn") builder.sub(ModItems.popcorn, "A bottomless bag of popcorn.") + + builder.add(ModItems.iceCreamVanilla, "Vanilla Ice Cream") + builder.sub(ModItems.iceCreamVanilla, "A delicious treat!") + builder.add(ModItems.iceCreamChocolate, "Chocolate Ice Cream") + builder.sub(ModItems.iceCreamChocolate, "A delicious treat!") + builder.add(ModItems.iceCreamSweetBerry, "Sweet Berry Ice Cream") + builder.sub(ModItems.iceCreamSweetBerry, "A delicious treat!") + builder.add(ModItems.iceCreamNeapolitan, "Neapolitan Ice Cream") + builder.sub(ModItems.iceCreamNeapolitan, "Vanilla, Chocolate, and Sweet Berry.") + builder.add(ModItems.iceCreamSpruce, "Spruce Ice Cream") + builder.sub(ModItems.iceCreamSpruce, "A refreshing treat!") + builder.add(ModItems.iceCreamMelon, "Melon Ice Cream") + builder.sub(ModItems.iceCreamMelon, "A delicious treat!") + builder.add(ModItems.iceCreamBeetroot, "Beetroot Ice Cream") + builder.sub(ModItems.iceCreamBeetroot, "An earthy treat!") + builder.add(ModItems.iceCreamSundae, "Triple Gooberberry Sunrise") + builder.sub(ModItems.iceCreamSundae, "A suspiciously familiar sundae.") + builder.add(ModItems.glassItemFrame, "Glass Item Frame") builder.sub(ModItems.glassItemFrame, "An item frame with an invisible background when it contains an item.") builder.add(ModItems.glowGlassItemFrame, "Glow Glass Item Frame") diff --git a/src/main/kotlin/io/sc3/goodies/datagen/ModelProvider.kt b/src/main/kotlin/io/sc3/goodies/datagen/ModelProvider.kt index 210a23db..0fdc11cf 100644 --- a/src/main/kotlin/io/sc3/goodies/datagen/ModelProvider.kt +++ b/src/main/kotlin/io/sc3/goodies/datagen/ModelProvider.kt @@ -82,6 +82,15 @@ class ModelProvider(out: FabricDataOutput) : FabricModelProvider(out) { gen.register(ModItems.glassItemFrame, GENERATED) gen.register(ModItems.glowGlassItemFrame, GENERATED) + gen.register(ModItems.iceCreamVanilla, GENERATED) + gen.register(ModItems.iceCreamChocolate, GENERATED) + gen.register(ModItems.iceCreamSweetBerry, GENERATED) + gen.register(ModItems.iceCreamNeapolitan, GENERATED) + gen.register(ModItems.iceCreamSpruce, GENERATED) + gen.register(ModItems.iceCreamMelon, GENERATED) + gen.register(ModItems.iceCreamBeetroot, GENERATED) + gen.register(ModItems.iceCreamSundae, GENERATED) + // Dyed + Special Elytra DyedElytraItem.dyedElytraItems.values .forEach { gen.register(it, GENERATED) } diff --git a/src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/IceCreamRecipes.kt b/src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/IceCreamRecipes.kt new file mode 100644 index 00000000..0f140c13 --- /dev/null +++ b/src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/IceCreamRecipes.kt @@ -0,0 +1,104 @@ +package io.sc3.goodies.datagen.recipes.handlers + +import io.sc3.goodies.Registration.ModItems +import io.sc3.library.recipe.RecipeHandler +import net.minecraft.data.server.recipe.RecipeJsonProvider +import net.minecraft.data.server.recipe.RecipeProvider +import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder +import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder +import net.minecraft.item.Item +import net.minecraft.item.Items.* +import net.minecraft.recipe.Ingredient +import net.minecraft.recipe.book.RecipeCategory +import net.minecraft.registry.Registries +import java.util.function.Consumer + +object IceCreamRecipes : RecipeHandler { + fun iceCreamRecipe(ingredientA: Ingredient, ingredientB: Ingredient, makes: Item, exporter: Consumer) { + ShapedRecipeJsonBuilder + .create(RecipeCategory.FOOD, makes) + .pattern("ASB") + .pattern("SsS") + .pattern("mbe") + .input('S', SNOWBALL) + .input('s', SUGAR) + .input('m', MILK_BUCKET) + .input('b', BOWL) + .input('e', EGG) + .input('A', ingredientA) + .input('B', ingredientB) + .criterion("has_snowball", RecipeProvider.conditionsFromItem(SNOWBALL)) + .offerTo(exporter) + ShapelessRecipeJsonBuilder + .create(RecipeCategory.FOOD, makes) + .input(ModItems.iceCreamVanilla) + .input(ingredientA) + .input(ingredientB) + .criterion("has_icecream_vanilla", RecipeProvider.conditionsFromItem(ModItems.iceCreamVanilla)) + .offerTo(exporter, Registries.ITEM.getId(makes.asItem()).path + "_from_vanilla") + } + + override fun generateRecipes(exporter: Consumer) { + // Ice Cream + ShapedRecipeJsonBuilder + .create(RecipeCategory.FOOD, ModItems.iceCreamVanilla) + .pattern(" S ") + .pattern("SsS") + .pattern("mbe") + .input('S', SNOWBALL) + .input('s', SUGAR) + .input('m', MILK_BUCKET) + .input('b', BOWL) + .input('e', EGG) + .criterion("has_snowball", RecipeProvider.conditionsFromItem(SNOWBALL)) + .offerTo(exporter) + + iceCreamRecipe( + Ingredient.ofItems(COCOA_BEANS), + Ingredient.ofItems(COCOA_BEANS), + ModItems.iceCreamChocolate, exporter + ) + iceCreamRecipe( + Ingredient.ofItems(SWEET_BERRIES), + Ingredient.ofItems(SWEET_BERRIES), + ModItems.iceCreamSweetBerry, exporter + ) + iceCreamRecipe( + Ingredient.ofItems(SPRUCE_SAPLING, SPRUCE_LEAVES), + Ingredient.ofItems(SPRUCE_SAPLING, SPRUCE_LEAVES), + ModItems.iceCreamSpruce, exporter + ) + iceCreamRecipe( + Ingredient.ofItems(MELON_SLICE), + Ingredient.ofItems(MELON_SLICE), + ModItems.iceCreamMelon, exporter + ) + iceCreamRecipe( + Ingredient.ofItems(BEETROOT), + Ingredient.ofItems(BEETROOT), + ModItems.iceCreamBeetroot, exporter + ) + + //Sundae Recipe + ShapedRecipeJsonBuilder + .create(RecipeCategory.FOOD, ModItems.iceCreamSundae) + .pattern(" b ") + .pattern("bSb") + .pattern("SvS") + .input('v', ModItems.iceCreamVanilla) + .input('S', GOLDEN_CARROT) + .input('b', SWEET_BERRIES) + .criterion("has_icecream_vanilla", RecipeProvider.conditionsFromItem(ModItems.iceCreamVanilla)) + .offerTo(exporter) + //Neapolitan Recipe + ShapelessRecipeJsonBuilder + .create(RecipeCategory.FOOD, ModItems.iceCreamNeapolitan, 3) + .input(ModItems.iceCreamVanilla) + .input(ModItems.iceCreamChocolate) + .input(ModItems.iceCreamSweetBerry) + .criterion("has_icecream_vanilla", RecipeProvider.conditionsFromItem(ModItems.iceCreamVanilla)) + .criterion("has_icecream_chocolate", RecipeProvider.conditionsFromItem(ModItems.iceCreamChocolate)) + .criterion("has_icecream_sweetberry", RecipeProvider.conditionsFromItem(ModItems.iceCreamSweetBerry)) + .offerTo(exporter) + } +} diff --git a/src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/RecipeHandlers.kt b/src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/RecipeHandlers.kt index 15bcb664..b0ff665c 100644 --- a/src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/RecipeHandlers.kt +++ b/src/main/kotlin/io/sc3/goodies/datagen/recipes/handlers/RecipeHandlers.kt @@ -14,5 +14,6 @@ val RECIPE_HANDLERS by lazy { listOf( ItemFrameRecipes, AmethystRecipes, DimmableLightRecipe, - ColorfulGrassRecipes + ColorfulGrassRecipes, + IceCreamRecipes )} diff --git a/src/main/kotlin/io/sc3/goodies/misc/IceCreamItem.kt b/src/main/kotlin/io/sc3/goodies/misc/IceCreamItem.kt new file mode 100644 index 00000000..e8b28530 --- /dev/null +++ b/src/main/kotlin/io/sc3/goodies/misc/IceCreamItem.kt @@ -0,0 +1,35 @@ +package io.sc3.goodies.misc + +import net.minecraft.entity.LivingEntity +import net.minecraft.item.FoodComponent +import net.minecraft.item.ItemStack +import net.minecraft.world.World +import io.sc3.goodies.util.BaseItem +import net.minecraft.entity.player.PlayerEntity +import net.minecraft.item.Items + +class IceCreamItem(settings: Settings) : BaseItem(settings) { + override fun finishUsing(stack: ItemStack, world: World, user: LivingEntity): ItemStack { + // Return Bowl + if (user is PlayerEntity && !user.isCreative) { + user.inventory.offerOrDrop(ItemStack(Items.BOWL)) + } + return super.finishUsing(stack, world, user) + } + + override fun usageTick(world: World?, user: LivingEntity?, stack: ItemStack?, remainingUseTicks: Int) { + // if player is eating while full hunger, start doing brainfreeze! + if (user is PlayerEntity && !user.isCreative && !user.hungerManager.isNotFull) { + user.frozenTicks += 3 + } + super.usageTick(world, user, stack, remainingUseTicks) + } + + companion object { + val foodComponent: FoodComponent = FoodComponent.Builder() + .hunger(4) + .saturationModifier(5.0f) + .alwaysEdible() + .build() + } +} diff --git a/src/main/resources/assets/sc-goodies/textures/item/icecream_beetroot.png b/src/main/resources/assets/sc-goodies/textures/item/icecream_beetroot.png new file mode 100644 index 0000000000000000000000000000000000000000..2cedfeb004c6dc7a2098d7e7c9ee166784e372af GIT binary patch literal 399 zcmV;A0dW3_P)Px$Nl8ROR5*?8kugg`Q5c4wtDUQdG!>`#gM{1OHJvLp&b;wdBiZ<(fOh z*+&j_CaeIY(`f)KX659IE`9l|1Q@=%lBw}1C)Hbo5F|>v?Cu)`TV+iOAvmgJNP4D8 zlyvEEH~>ibW2F2sPG2(yiLDzxe#@~NSVV1na#+0wV0|dW_Twcfe~h}Wv*C%Lb=~mu z1}n3Ja^JZCK=DiBwn?U3F7`?{2qD_YpfajWKE{Fzg6x0Ugnr`|VW2068t{+6d0AMaKAXme7Qy8G2HVkl|0ASK< tkpS~S2NOQK0R#-Nsi0TXNiXOuej002ovPDHLkV1j1gq(cAz literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sc-goodies/textures/item/icecream_chocolate.png b/src/main/resources/assets/sc-goodies/textures/item/icecream_chocolate.png new file mode 100644 index 0000000000000000000000000000000000000000..f57853821bd48b3cb9d846e57725b619bb8f9389 GIT binary patch literal 356 zcmV-q0h|7bP)Px$9!W$&R5*>@k}+;5i7n~s(_&>F5fuEAsk?WUtG0VueQfJiC2Pm1dw5<_s&s_RBY0Pyeu;;%qO(YVypT__+ z$`;EgV&Ds-aVmI>r!0aB0Mk&iDH3WWn?(>Xd=>Pb6^RxkKzB6A3IIBD4}h}0ORZ!R zDaA%UPc;dd1d>@W&K%efoE{c&Cn2NRn49b_d)puNhqE}H8Am+cFY2>qAxnP7orK)> z0{Wg>{{?{hj->%k4s4ui!2kgRUMpA?ePtE=M|lU7^LYgdg*pWQ0000Px$b4f%&R5*>zk>4vrVHn3h?~cY=mL_9}iSla+Qwp`CTq-weE)@TT3;qCqfjhry zZOWb7U63fsl?zeQOruODF*|2xJ1$NRXFIuZ<9qqM&*%F--{*lpO4t>rW;{B8JmzI( zDQVmDr7AmkVcH8o=f@nd`s)M^J2=#`OzWD2vbp;!Y&*eEB_1;D4|VGDa2SLDt%NHc z699Qd0m^nTHRI6}b+aG=MV*85L*$SQzFwoDRD{eGiywKh9gA5FB9RC??pmFu9;5L7 z0&n-w*!K+sXa&gLAl5g8C4vRc=OB9rLW1;#QS)~j@awH5rnyAWkZg=~`XlPCb`XN}uT$r=G* zw8us2QDyunT5%BozgIF1DkcCJ>~QIm15R5QAoZwncCDDdR~P`aH#l^Fk*;dmd`=4p jSYTU&a-%Pmga1dL(8q&{#@pR#00000NkvXXu0mjf&$GC5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sc-goodies/textures/item/icecream_neapolitan.png b/src/main/resources/assets/sc-goodies/textures/item/icecream_neapolitan.png new file mode 100644 index 0000000000000000000000000000000000000000..6b662ca6bf61e146e3f7ee01d8a4f88cf39d8bdb GIT binary patch literal 387 zcmV-}0et?6P)Px$JxN4CR5*?0kjqK}VHk!V$3dOUQ;>8(LunBO)T82>2sxt|aj3~A+8|U!1um+v!3hG_{AJ6lD?+5=QJyjKbO%wN}lJL#~-iLPQ zT1b)%2vW&Hps#5nlFto?w#~=WGtp|*<)l%#`+h5u$vNWjG>VcyZ(WHS;O#m7l%N4j405+Bs z>iU4UPLs=~_q;GW6?6r@3IJ<4MeGzpe)2nYeL(HeaDVp+02Zbt0Z?2FlTC-lKwu31 hRp1r<#0&nRd;zndf4+u7i-!OJ002ovPDHLkV1lSwr|tj% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sc-goodies/textures/item/icecream_spruce.png b/src/main/resources/assets/sc-goodies/textures/item/icecream_spruce.png new file mode 100644 index 0000000000000000000000000000000000000000..fba6eee8e08e723ff57ad95406740a6e285e88d9 GIT binary patch literal 394 zcmV;50d@X~P)Px$L`g(JR5*?0k;_U#Q51&1a}q-unU~U{2nqtrf(!?NsWgh3_5@7}f*zt-(_W%c z%?biRqtZZ!5k*E|-lZmZ!o-#=e#-Wt7kB2jC)qPb4r+G#Jx{3i6dZm41I=C%lf)HmJ3#1pGlR3lD5B ztpOl~q|zwc60I9{yFCC{hT!}$MRFlz%RO!{Qb_8p8bS(Npm!Dy<4G*j!ZIyd-wk$` zqxgLj+!kNaHJxUwLA6;$NWtDpe6WMf(3mnU6M)m3Yl4$gNFf0brl9dv=OFeAe$*}A zDpCV*baxP4bWtoD93{2}zXAx1kJy5tC9cl7R3hvg3Ii0&2HEGfeSJUxFzeG5KxBTD o8Nag!1bX11f__ma{oo(U4@V!2fi~qw-~a#s07*qoM6N<$f(dn`IsgCw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sc-goodies/textures/item/icecream_sundae.png b/src/main/resources/assets/sc-goodies/textures/item/icecream_sundae.png new file mode 100644 index 0000000000000000000000000000000000000000..155e8d0a6c1458417c86729435eb8f08633ae9b8 GIT binary patch literal 401 zcmV;C0dD?@P)Px$OG!jQR5*>bQL#$HP!v6h66zog*gCkBPFZyk2@)JScMznLAK*v$CvJkHV^OMu zi^HpR?4(Gv6!Kmx1rangIS!K7G-(w?FI?Wc_nvd^c|731LwO#LD;3V0n?DJ(54*qL z-fWc^vOae^02siR%`@M}zV90VP^%Vlq>G0)Be|#XCIA$#Yz<74&+mPGW<^(yUMEG! zy0$8nV69qU6bIbiYBP!hZnPVeN-&LWwn`JhSS@c(ai+p`EWK&` z(PudBF&y_e7Sjm2+t00000NkvXXu0mjfU{j@9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/sc-goodies/textures/item/icecream_sweetberry.png b/src/main/resources/assets/sc-goodies/textures/item/icecream_sweetberry.png new file mode 100644 index 0000000000000000000000000000000000000000..1aee6831434cb990494d0e53dc38357060ff4cdd GIT binary patch literal 376 zcmV-;0f+vHP)Px$GD$>1R5*?0kUvWTaU6%A)5|EEf|3dp!5Ru8qCIM?A;Hah0X6jsqBqc=rG~bq z8!nt&0++@jUqMEe5|<_}rKfk7-v-M(J!r2F{Du#FpN9`W_#dfhnwYvSck#IVdfd=2 zB$r5tl}ZVKsp}%y+xEM;mYSxyBuaO&Qz=m+;dXg@r*0Sw&rFj)IVHNY{dHthFBAzT zlL~;Z8!o2P?P8i(l?r}!fab#^lWXf8ICpU9THIN%JQtL!vr7ORql7vVgiwh5@exxS zaTG|nr`ML!C$JqGfXx0mrA+2$cB4V_rOfKyCIHV>$6K%%Qz?`!jOvHy z2TzRp0m$Ar`vm|C(IHux4|u`=g|g*>`vd@yF`ob|#RdtF2V5ZFf;|PjqVM#Ae<+_k W!ILP<%?aiJ0000Px$B}qg@k;_iPKoo|*4i!SMsRbe4BGI@o#1Ip21X<`4;G_Bwtc=lxTQ_1P za;v3~MkzDnipD}0ZuMVHPX6!9$rMAPhh8{Vs(