diff --git a/gradle.properties b/gradle.properties index 2b8dc64..bdf9e2b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ yarn_build=3 loader_version=0.7.2+build.175 # Mod Properties -mod_version = 2.2.3 +mod_version = 2.2.4 maven_group = io.github.cottonmc archives_base_name = epicurean diff --git a/src/main/java/io/github/cottonmc/epicurean/Epicurean.java b/src/main/java/io/github/cottonmc/epicurean/Epicurean.java index 70504eb..514851f 100644 --- a/src/main/java/io/github/cottonmc/epicurean/Epicurean.java +++ b/src/main/java/io/github/cottonmc/epicurean/Epicurean.java @@ -7,14 +7,11 @@ import io.github.cottonmc.epicurean.block.crop.EpicureanCrops; import io.github.cottonmc.epicurean.item.EpicureanItems; import io.github.cottonmc.epicurean.meal.IngredientProfiles; -import io.github.cottonmc.epicurean.meal.MealBooster; -import io.github.cottonmc.epicurean.meal.SkillCheckMealBooster; import io.github.cottonmc.epicurean.recipe.EpicureanRecipes; import io.github.cottonmc.epicurean.util.EpicureanConfig; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.fabricmc.fabric.api.resource.ResourceManagerHelper; -import net.fabricmc.loader.api.FabricLoader; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.resource.ResourceType; @@ -44,7 +41,7 @@ public void onInitialize() { CropGeneration.registerCrops(); ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(new IngredientProfiles()); -// if (FabricLoader.getInstance().isModLoaded("skillcheck")) MealBooster.BOOSTERS.add(new SkillCheckMealBooster()); +// if (FabricLoader.getInstance().isModLoaded("skillcheck")) MealBooster.BOOSTERS.add(new SkillCheckMealBooster()); TODO: port SkillCheck back up } } diff --git a/src/main/java/io/github/cottonmc/epicurean/api/MealBooster.java b/src/main/java/io/github/cottonmc/epicurean/api/MealBooster.java new file mode 100644 index 0000000..772e996 --- /dev/null +++ b/src/main/java/io/github/cottonmc/epicurean/api/MealBooster.java @@ -0,0 +1,46 @@ +package io.github.cottonmc.epicurean.api; + +import io.github.cottonmc.epicurean.container.CookingInventory; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.List; + +/** + * A hook for other mods to add bonuses to meals. + */ +public interface MealBooster { + List BOOSTERS = new ArrayList<>(); + + /** + * Add extra status effects to a meal. + * @param effects The effects on this meal. + * @param seasonings The seasonings being added. + * @param inv The inventory crafting this meal. + * @return All the effects this meal should have, including the ones previously passed in. + */ + default List addBoostEffects(List effects, List seasonings, CookingInventory inv) { + return new ArrayList<>(); + } + + /** + * Add extra hunger restoration to a meal. + * @param seasonings The seasonings being added. + * @param inv The inventory crafting this meal. + * @return How much extra hunger this meal should restore. + */ + default int addBoostHunger(List seasonings, CookingInventory inv) { + return 0; + } + + /** + * Add extra saturation restoration to a meal. + * @param seasonings The seasonings being added. + * @param inv The inventory crafting this emal. + * @return How much extra saturation this meal should restore. + */ + default float addBoostSaturation(List seasonings, CookingInventory inv) { + return 0f; + } +} diff --git a/src/main/java/io/github/cottonmc/epicurean/item/Seasoning.java b/src/main/java/io/github/cottonmc/epicurean/api/Seasoning.java similarity index 62% rename from src/main/java/io/github/cottonmc/epicurean/item/Seasoning.java rename to src/main/java/io/github/cottonmc/epicurean/api/Seasoning.java index 073c264..549807b 100644 --- a/src/main/java/io/github/cottonmc/epicurean/item/Seasoning.java +++ b/src/main/java/io/github/cottonmc/epicurean/api/Seasoning.java @@ -1,25 +1,28 @@ -package io.github.cottonmc.epicurean.item; +package io.github.cottonmc.epicurean.api; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.item.ItemStack; +import javax.annotation.Nullable; + public interface Seasoning { /** - * @param stack the stack of the item in question - * @return how much hunger restoration a seasoning in that stack should add to a meal + * @param stack the stack of the item in question. + * @return how much hunger restoration a seasoning in that stack should add to a meal. */ int getHungerRestored(ItemStack stack); /** - * @param stack the stack of the item in question - * @return how much saturation a seasoning in that stack should add to a meal + * @param stack the stack of the item in question. + * @return how much saturation a seasoning in that stack should add to a meal. */ float getSaturationModifier(ItemStack stack); /** - * @param stack the stack of the item in question - * @return what status effect a seasoning in that stack should add to a meal + * @param stack the stack of the item in question. + * @return what status effect a seasoning in that stack should add to a meal, or null if none. */ + @Nullable default StatusEffectInstance getBonusEffect(ItemStack stack) { return null; } diff --git a/src/main/java/io/github/cottonmc/epicurean/item/SeasoningItem.java b/src/main/java/io/github/cottonmc/epicurean/item/SeasoningItem.java index 2092267..b45a262 100644 --- a/src/main/java/io/github/cottonmc/epicurean/item/SeasoningItem.java +++ b/src/main/java/io/github/cottonmc/epicurean/item/SeasoningItem.java @@ -1,5 +1,6 @@ package io.github.cottonmc.epicurean.item; +import io.github.cottonmc.epicurean.api.Seasoning; import io.github.cottonmc.epicurean.meal.IngredientProfiles; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectInstance; diff --git a/src/main/java/io/github/cottonmc/epicurean/meal/MealBooster.java b/src/main/java/io/github/cottonmc/epicurean/meal/MealBooster.java deleted file mode 100644 index f3a5f4d..0000000 --- a/src/main/java/io/github/cottonmc/epicurean/meal/MealBooster.java +++ /dev/null @@ -1,24 +0,0 @@ -package io.github.cottonmc.epicurean.meal; - -import io.github.cottonmc.epicurean.container.CookingInventory; -import net.minecraft.entity.effect.StatusEffectInstance; -import net.minecraft.item.ItemStack; - -import java.util.ArrayList; -import java.util.List; - -public interface MealBooster { - List BOOSTERS = new ArrayList<>(); - - default List addBoostEffects(List effects, List seasonings, CookingInventory inv) { - return new ArrayList<>(); - } - - default int addBoostHunger(List seasonings, CookingInventory inv) { - return 0; - } - - default float addBoostSaturation(List seasonings, CookingInventory inv) { - return 0f; - } -} diff --git a/src/main/java/io/github/cottonmc/epicurean/meal/SkillCheckMealBooster.java b/src/main/java/io/github/cottonmc/epicurean/meal/SkillCheckMealBooster.java index d5249db..2266269 100644 --- a/src/main/java/io/github/cottonmc/epicurean/meal/SkillCheckMealBooster.java +++ b/src/main/java/io/github/cottonmc/epicurean/meal/SkillCheckMealBooster.java @@ -1,5 +1,6 @@ package io.github.cottonmc.epicurean.meal; +import io.github.cottonmc.epicurean.api.MealBooster; import io.github.cottonmc.epicurean.container.CookingInventory; import io.github.cottonmc.epicurean.recipe.MealRecipe; //import io.github.cottonmc.skillcheck.SkillCheck; diff --git a/src/main/java/io/github/cottonmc/epicurean/mixins/MixinEggSeasoning.java b/src/main/java/io/github/cottonmc/epicurean/mixins/MixinEggSeasoning.java index 7f06643..8e9e21e 100644 --- a/src/main/java/io/github/cottonmc/epicurean/mixins/MixinEggSeasoning.java +++ b/src/main/java/io/github/cottonmc/epicurean/mixins/MixinEggSeasoning.java @@ -1,6 +1,6 @@ package io.github.cottonmc.epicurean.mixins; -import io.github.cottonmc.epicurean.item.Seasoning; +import io.github.cottonmc.epicurean.api.Seasoning; import io.github.cottonmc.epicurean.meal.IngredientProfiles; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; diff --git a/src/main/java/io/github/cottonmc/epicurean/recipe/MealRecipe.java b/src/main/java/io/github/cottonmc/epicurean/recipe/MealRecipe.java index 884c5a4..2b4a9fc 100644 --- a/src/main/java/io/github/cottonmc/epicurean/recipe/MealRecipe.java +++ b/src/main/java/io/github/cottonmc/epicurean/recipe/MealRecipe.java @@ -3,10 +3,10 @@ import io.github.cottonmc.epicurean.Epicurean; import io.github.cottonmc.epicurean.container.CookingInventory; import io.github.cottonmc.epicurean.item.EpicureanItems; -import io.github.cottonmc.epicurean.item.Seasoning; +import io.github.cottonmc.epicurean.api.Seasoning; import io.github.cottonmc.epicurean.meal.FlavorGroup; import io.github.cottonmc.epicurean.meal.IngredientProfiles; -import io.github.cottonmc.epicurean.meal.MealBooster; +import io.github.cottonmc.epicurean.api.MealBooster; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.inventory.CraftingInventory;