From 691dc0dfa8f429320034feba69e4923d4850b169 Mon Sep 17 00:00:00 2001 From: mrsterner Date: Thu, 5 Dec 2024 19:11:16 +0100 Subject: [PATCH] done on malum 1.21 fabric --- build.gradle.kts | 2 +- .../malum/compability/emi/EMIHandler.java | 152 +++++++++++ .../emi/recipes/RuneworkingEmiRecipe.java | 77 ++++++ .../emi/recipes/SpiritFocusingEmiRecipe.java | 85 ++++++ .../emi/recipes/SpiritInfusionEmiRecipe.java | 90 +++++++ .../emi/recipes/SpiritRepairEmiRecipe.java | 103 ++++++++ .../emi/recipes/SpiritRiteEmiRecipe.java | 80 ++++++ .../recipes/SpiritTransmutationEmiRecipe.java | 71 +++++ .../SpiritTransmutationRecipeWrapper.java | 9 + .../emi/recipes/WeepingWellEmiRecipe.java | 75 ++++++ src/main/resources/assets/malum/sounds.json | 242 ++++++++++++++++++ .../data/malum/recipe/jeed/aethers_charm.json | 9 - .../data/malum/recipe/jeed/anglers_lure.json | 9 - .../data/malum/recipe/jeed/earthen_might.json | 9 - .../data/malum/recipe/jeed/gaias_bulwark.json | 9 - .../data/malum/recipe/jeed/gluttony.json | 9 - .../malum/recipe/jeed/ifrits_embrace.json | 9 - .../data/malum/recipe/jeed/miners_rage.json | 9 - .../malum/recipe/jeed/poseidons_grasp.json | 9 - .../malum/recipe/jeed/zephyrs_courage.json | 9 - .../repair/common/aluminium.json | 30 --- .../repair/common/aluminum.json | 30 --- .../spirit_crucible/repair/common/brass.json | 30 --- .../spirit_crucible/repair/common/bronze.json | 30 --- .../repair/common/electrum.json | 34 --- .../spirit_crucible/repair/common/lead.json | 30 --- .../spirit_crucible/repair/common/nickel.json | 30 --- .../spirit_crucible/repair/common/osmium.json | 30 --- .../repair/common/platinum.json | 30 --- .../spirit_crucible/repair/common/silver.json | 30 --- .../spirit_crucible/repair/common/steel.json | 30 --- .../spirit_crucible/repair/common/tin.json | 30 --- .../spirit_crucible/repair/common/zinc.json | 30 --- .../malum/spirit_crucible/repair/skillet.json | 8 +- 34 files changed, 991 insertions(+), 478 deletions(-) create mode 100644 src/main/java/com/sammy/malum/compability/emi/EMIHandler.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/RuneworkingEmiRecipe.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/SpiritFocusingEmiRecipe.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/SpiritInfusionEmiRecipe.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRepairEmiRecipe.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRiteEmiRecipe.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationEmiRecipe.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationRecipeWrapper.java create mode 100644 src/main/java/com/sammy/malum/compability/emi/recipes/WeepingWellEmiRecipe.java create mode 100644 src/main/resources/assets/malum/sounds.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/aethers_charm.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/anglers_lure.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/earthen_might.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/gaias_bulwark.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/gluttony.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/ifrits_embrace.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/miners_rage.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/poseidons_grasp.json delete mode 100644 src/main/resources/data/malum/recipe/jeed/zephyrs_courage.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminium.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminum.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/brass.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/bronze.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/electrum.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/lead.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/nickel.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/osmium.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/platinum.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/silver.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/steel.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/tin.json delete mode 100644 src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/zinc.json diff --git a/build.gradle.kts b/build.gradle.kts index 7c33bdc50..3a2b25fef 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -116,7 +116,7 @@ dependencies { //modRuntimeOnly("mezz.jei:jei-${property("minecraft_version")}-fabric:${property("jei_version")}") //EMI modCompileOnly("dev.emi:emi-fabric:${property("emi_version")}:api") - //modLocalRuntime("dev.emi:emi-fabric:${property("emi_version")}") + modLocalRuntime("dev.emi:emi-fabric:${property("emi_version")}") modCompileOnly("me.shedaniel:RoughlyEnoughItems-api-fabric:${property("rei_version")}") modCompileOnly("me.shedaniel:RoughlyEnoughItems-default-plugin-fabric:${property("rei_version")}") diff --git a/src/main/java/com/sammy/malum/compability/emi/EMIHandler.java b/src/main/java/com/sammy/malum/compability/emi/EMIHandler.java new file mode 100644 index 000000000..33062a457 --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/EMIHandler.java @@ -0,0 +1,152 @@ +package com.sammy.malum.compability.emi; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.sammy.malum.MalumMod; +import com.sammy.malum.common.recipe.spirit.transmutation.SpiritTransmutationRecipe; +import com.sammy.malum.compability.emi.recipes.*; +import com.sammy.malum.core.systems.recipe.SpiritIngredient; +import com.sammy.malum.forge_stuff.SizedIngredient; +import com.sammy.malum.registry.common.SpiritRiteRegistry; +import com.sammy.malum.registry.common.item.ItemRegistry; +import com.sammy.malum.registry.common.recipe.RecipeTypeRegistry; +import dev.emi.emi.api.EmiPlugin; +import dev.emi.emi.api.EmiRegistry; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.world.Container; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.item.crafting.RecipeType; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; + + +public class EMIHandler implements EmiPlugin { + + private static final EmiStack SPIRIT_INFUSION_WORKSTATION = EmiStack.of(ItemRegistry.SPIRIT_ALTAR.get()); + public static final EmiRecipeCategory SPIRIT_INFUSION = new EmiRecipeCategory( + MalumMod.malumPath("spirit_infusion"), + SPIRIT_INFUSION_WORKSTATION + ); + + private static final EmiStack SPIRIT_FOCUSING_WORKSTATION = EmiStack.of(ItemRegistry.SPIRIT_CRUCIBLE.get()); + public static final EmiRecipeCategory SPIRIT_FOCUSING = new EmiRecipeCategory( + MalumMod.malumPath("spirit_focusing"), + SPIRIT_FOCUSING_WORKSTATION + ); + + private static final EmiStack SPIRIT_TRANSMUTATION_WORKSTATION = EmiStack.of(ItemRegistry.SOULWOOD_TOTEM_BASE.get()); + public static final EmiRecipeCategory SPIRIT_TRANSMUTATION = new EmiRecipeCategory( + MalumMod.malumPath("spirit_transmutation"), + SPIRIT_TRANSMUTATION_WORKSTATION + ); + + private static final EmiStack SPIRIT_RITE_WORKSTATION = EmiStack.of(ItemRegistry.RUNEWOOD_TOTEM_BASE.get()); + public static final EmiRecipeCategory SPIRIT_RITE = new EmiRecipeCategory( + MalumMod.malumPath("spirit_rite"), + SPIRIT_RITE_WORKSTATION + ); + + private static final EmiStack SPIRIT_REPAIR_WORKSTATION = EmiStack.of(ItemRegistry.REPAIR_PYLON.get()); + public static final EmiRecipeCategory SPIRIT_REPAIR = new EmiRecipeCategory( + MalumMod.malumPath("spirit_repair"), + SPIRIT_REPAIR_WORKSTATION + ); + + private static final EmiStack RUNEWORKING_WORKSTATION = EmiStack.of(ItemRegistry.RUNIC_WORKBENCH.get()); + public static final EmiRecipeCategory RUNEWORKING = new EmiRecipeCategory( + MalumMod.malumPath("runeworking"), + RUNEWORKING_WORKSTATION + ); + + private static final EmiStack WEEPING_WORKSTATION = EmiStack.of(ItemRegistry.VOID_DEPOT.get()); + public static final EmiRecipeCategory WEEPING = new EmiRecipeCategory( + MalumMod.malumPath("weeping_well"), + WEEPING_WORKSTATION + ); + + @Override + public void register(EmiRegistry registry) { + registry.addCategory(SPIRIT_INFUSION); + registry.addCategory(SPIRIT_FOCUSING); + registry.addCategory(RUNEWORKING); + registry.addCategory(WEEPING); + registry.addCategory(SPIRIT_REPAIR); + registry.addCategory(SPIRIT_TRANSMUTATION); + registry.addCategory(SPIRIT_RITE); + + registry.addWorkstation(SPIRIT_INFUSION, SPIRIT_INFUSION_WORKSTATION); + registry.addWorkstation(SPIRIT_FOCUSING, SPIRIT_FOCUSING_WORKSTATION); + registry.addWorkstation(RUNEWORKING, RUNEWORKING_WORKSTATION); + registry.addWorkstation(WEEPING, WEEPING_WORKSTATION); + registry.addWorkstation(SPIRIT_REPAIR, SPIRIT_REPAIR_WORKSTATION); + registry.addWorkstation(SPIRIT_TRANSMUTATION, SPIRIT_TRANSMUTATION_WORKSTATION); + registry.addWorkstation(SPIRIT_RITE, SPIRIT_RITE_WORKSTATION); + + var transmutation = registry.getRecipeManager().getAllRecipesFor(RecipeTypeRegistry.SPIRIT_TRANSMUTATION.get()); + List leftovers = Lists.newArrayList(); + Map> groups = Maps.newLinkedHashMap(); + transmutation.forEach((recipe) -> + { + if (recipe.value().group != null) { + List group = groups.computeIfAbsent(recipe.value().group, (k) -> Lists.newArrayList()); + group.add(recipe.value()); + } else { + leftovers.add(recipe.value()); + } + }); + groups.values().stream() + .map(SpiritTransmutationRecipeWrapper::new) + .forEach((recipe) -> registry.addRecipe(new SpiritTransmutationEmiRecipe(recipe))); + leftovers.stream() + .map(List::of) + .map(SpiritTransmutationRecipeWrapper::new) + .forEach((recipe) -> registry.addRecipe(new SpiritTransmutationEmiRecipe(recipe))); + + SpiritRiteRegistry.RITES.forEach((rite) -> registry.addRecipe(new SpiritRiteEmiRecipe(rite))); + + this.removeHiddenRecipes(registry); + } + + private void removeHiddenRecipes(EmiRegistry registry) { + + } + + public static void addItems(WidgetHolder widgets, int left, int top, boolean vertical, List ingredients) { + int slots = ingredients.size(); + if (vertical) { + top -= 10 * (slots - 1); + } else { + left -= 10 * (slots - 1); + } + for (int i = 0; i < slots; i++) { + int offset = i * 20; + int offsetLeft = left + 1 + (vertical ? 0 : offset); + int offsetTop = top + 1 + (vertical ? offset : 0); + widgets.addSlot(ingredients.get(i), offsetLeft, offsetTop).drawBack(false); + } + } + + public static EmiIngredient convertIngredientWithCount(SizedIngredient ingredient) { + return EmiIngredient.of(ingredient.ingredient(), ingredient.count()); + } + + public static List convertIngredientWithCounts(List ingredients) { + return ingredients.stream().map(EMIHandler::convertIngredientWithCount).toList(); + } + + public static EmiIngredient convertSpiritWithCount(SpiritIngredient spirit) { + return EmiIngredient.of(Ingredient.of(spirit.getSpiritType().getSpiritShard()), spirit.getCount()); + } + + public static List convertSpiritWithCounts(List spirits) { + return spirits.stream().map(EMIHandler::convertSpiritWithCount).toList(); + } +} diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/RuneworkingEmiRecipe.java b/src/main/java/com/sammy/malum/compability/emi/recipes/RuneworkingEmiRecipe.java new file mode 100644 index 000000000..751b6e6ea --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/RuneworkingEmiRecipe.java @@ -0,0 +1,77 @@ +package com.sammy.malum.compability.emi.recipes; + +import com.google.common.collect.Lists; +import com.sammy.malum.MalumMod; +import com.sammy.malum.common.recipe.RunicWorkbenchRecipe; +import com.sammy.malum.compability.emi.EMIHandler; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.sammy.malum.MalumMod.malumPath; + +public class RuneworkingEmiRecipe implements EmiRecipe { + + private static final ResourceLocation BACKGROUND_LOCATION = MalumMod.malumPath("textures/gui/runeworking_jei.png"); + + public static final ResourceLocation UID = malumPath("runeworking"); + private final RunicWorkbenchRecipe recipe; + + private final List primary = Lists.newArrayList(); + private final List secondary = Lists.newArrayList(); + private final List output = Lists.newArrayList(); + + public RuneworkingEmiRecipe(RunicWorkbenchRecipe recipe) { + this.recipe = recipe; + + primary.add(EmiIngredient.of(recipe.primaryInput.ingredient())); + secondary.add(EmiIngredient.of(recipe.secondaryInput.toVanilla())); + output.add(EmiStack.of(recipe.output)); + } + + @Override + public EmiRecipeCategory getCategory() { + return EMIHandler.RUNEWORKING; + } + + @Override + public @Nullable ResourceLocation getId() { + return UID; + } + + @Override + public List getInputs() { + return primary; + } + + @Override + public List getOutputs() { + return output; + } + + @Override + public int getDisplayWidth() { + return 142; + } + + @Override + public int getDisplayHeight() { + return 185; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + widgets.addTexture(BACKGROUND_LOCATION, 0, 0, this.getDisplayWidth(), this.getDisplayHeight(), 0, 0); + + widgets.addSlot(primary.get(0), 63, 14).drawBack(false); + widgets.addSlot(secondary.get(0), 63, 57).drawBack(false); + widgets.addSlot(output.get(0), 63, 124).drawBack(false); + + } +} diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritFocusingEmiRecipe.java b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritFocusingEmiRecipe.java new file mode 100644 index 000000000..6311295c8 --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritFocusingEmiRecipe.java @@ -0,0 +1,85 @@ +package com.sammy.malum.compability.emi.recipes; + +import com.google.common.collect.Lists; +import com.sammy.malum.MalumMod; +import com.sammy.malum.client.screen.codex.ArcanaCodexHelper; +import com.sammy.malum.common.recipe.spirit.focusing.SpiritFocusingRecipe; +import com.sammy.malum.compability.emi.EMIHandler; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.resources.ResourceLocation; + +import java.util.List; + +import static com.sammy.malum.MalumMod.malumPath; + +public class SpiritFocusingEmiRecipe implements EmiRecipe { + private static final ResourceLocation BACKGROUND_LOCATION = MalumMod.malumPath("textures/gui/spirit_focusing_jei.png"); + public static final ResourceLocation UID = malumPath("spirit_focusing"); + private final SpiritFocusingRecipe recipe; + + private final List inputs; + private final List spirits; + private final List result; + + public SpiritFocusingEmiRecipe(SpiritFocusingRecipe recipe) { + this.recipe = recipe; + + this.inputs = Lists.newArrayList(); + this.inputs.add(EmiIngredient.of(recipe.ingredient)); + this.inputs.addAll(this.spirits = EMIHandler.convertSpiritWithCounts(recipe.spirits)); + + this.result = List.of(EmiStack.of(recipe.output)); + } + + @Override + public EmiRecipeCategory getCategory() { + return EMIHandler.SPIRIT_FOCUSING; + } + + @Override + public ResourceLocation getId() { + return UID; + } + + @Override + public List getInputs() { + return inputs; + } + + @Override + public List getOutputs() { + return result; + } + + @Override + public int getDisplayWidth() { + return 142; + } + + @Override + public int getDisplayHeight() { + return 185; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + widgets.addTexture(BACKGROUND_LOCATION, 0, 0, this.getDisplayWidth(), this.getDisplayHeight(), 0, 0); + + widgets.addDrawable(0, 0, 0, 0, (guiGraphics, mx, my, d) -> + { + if (!spirits.isEmpty()) { + ArcanaCodexHelper.renderItemFrames(guiGraphics.pose(), recipe.spirits.size(), 61, 12, false); + } + }); + + EMIHandler.addItems(widgets, 61, 12, false, spirits); + + widgets.addSlot(inputs.get(0), 62, 56).catalyst(true).drawBack(false); + + widgets.addSlot(result.get(0), 62, 123).recipeContext(this).drawBack(false); + } +} diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritInfusionEmiRecipe.java b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritInfusionEmiRecipe.java new file mode 100644 index 000000000..fa9045986 --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritInfusionEmiRecipe.java @@ -0,0 +1,90 @@ +package com.sammy.malum.compability.emi.recipes; + +import com.google.common.collect.Lists; +import com.sammy.malum.MalumMod; +import com.sammy.malum.client.screen.codex.ArcanaCodexHelper; +import com.sammy.malum.common.recipe.spirit.infusion.SpiritInfusionRecipe; +import com.sammy.malum.compability.emi.EMIHandler; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.resources.ResourceLocation; + +import java.util.List; + +import static com.sammy.malum.MalumMod.malumPath; + +public class SpiritInfusionEmiRecipe implements EmiRecipe { + private static final ResourceLocation BACKGROUND_LOCATION = MalumMod.malumPath("textures/gui/spirit_infusion_jei.png"); + + public static final ResourceLocation UID = malumPath("spirit_infusion"); + private final SpiritInfusionRecipe recipe; + + private final List inputs; + private final List extraItems; + private final List spirits; + private final List result; + + public SpiritInfusionEmiRecipe(SpiritInfusionRecipe recipe) { + this.recipe = recipe; + + this.inputs = Lists.newArrayList(); + this.inputs.add(EMIHandler.convertIngredientWithCount(recipe.ingredient)); + this.inputs.addAll(this.extraItems = EMIHandler.convertIngredientWithCounts(recipe.extraIngredients)); + this.inputs.addAll(this.spirits = EMIHandler.convertSpiritWithCounts(recipe.spirits)); + + this.result = List.of(EmiStack.of(recipe.output)); + } + + @Override + public EmiRecipeCategory getCategory() { + return EMIHandler.SPIRIT_INFUSION; + } + + @Override + public ResourceLocation getId() { + return UID; + } + + @Override + public List getInputs() { + return inputs; + } + + @Override + public List getOutputs() { + return result; + } + + @Override + public int getDisplayWidth() { + return 142; + } + + @Override + public int getDisplayHeight() { + return 185; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + widgets.addTexture(BACKGROUND_LOCATION, 0, 0, this.getDisplayWidth(), this.getDisplayHeight(), 0, 0); + + widgets.addDrawable(0, 0, 0, 0, (guiGraphics, mx, my, d) -> + { + ArcanaCodexHelper.renderItemFrames(guiGraphics.pose(), spirits.size(), 19, 48, true); + if (!extraItems.isEmpty()) { + ArcanaCodexHelper.renderItemFrames(guiGraphics.pose(), extraItems.size(), 103, 48, true); + } + }); + + EMIHandler.addItems(widgets, 19, 48, true, spirits); + EMIHandler.addItems(widgets, 103, 48, true, extraItems); + + widgets.addSlot(inputs.get(0), 62, 56).drawBack(false); + + widgets.addSlot(result.get(0), 62, 123).recipeContext(this).drawBack(false); + } +} diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRepairEmiRecipe.java b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRepairEmiRecipe.java new file mode 100644 index 000000000..a5ee93869 --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRepairEmiRecipe.java @@ -0,0 +1,103 @@ +package com.sammy.malum.compability.emi.recipes; + +import com.google.common.collect.Lists; +import com.sammy.malum.MalumMod; +import com.sammy.malum.client.screen.codex.ArcanaCodexHelper; +import com.sammy.malum.common.recipe.SpiritRepairRecipe; +import com.sammy.malum.compability.emi.EMIHandler; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; + +import java.util.List; +import java.util.stream.Collectors; + +import static com.sammy.malum.MalumMod.malumPath; + +public class SpiritRepairEmiRecipe implements EmiRecipe { + private static final ResourceLocation BACKGROUND_LOCATION = MalumMod.malumPath("textures/gui/spirit_repair_jei.png"); + + public static final ResourceLocation UID = malumPath("spirit_repair"); + private final SpiritRepairRecipe recipe; + + private final List inputs; + private final EmiIngredient damaged; + private final EmiIngredient repairIngredient; + private final List spirits; + private final List outputs; + private final EmiIngredient repaired; + + public SpiritRepairEmiRecipe(SpiritRepairRecipe recipe) { + this.recipe = recipe; + + this.inputs = Lists.newArrayList(); + this.outputs = recipe.inputs.stream().map((r) -> EmiStack.of(r.getDefaultInstance())).toList(); + this.damaged = EmiIngredient.of(this.outputs.stream() + .map(EmiStack::getItemStack) + .map(ItemStack::copy) + .peek((s) -> s.setDamageValue((int) (s.getMaxDamage() * recipe.durabilityPercentage))) + .map((s) -> EmiIngredient.of(Ingredient.of(s))) + .toList()); + this.inputs.add(this.damaged); + this.repairIngredient = EMIHandler.convertIngredientWithCount(recipe.repairMaterial); + this.inputs.add(this.repairIngredient); + this.inputs.addAll(this.spirits = EMIHandler.convertSpiritWithCounts(recipe.spirits)); + List rwepaired = recipe.inputs.stream().map(Item::getDefaultInstance).toList().stream().map(EmiStack::of).toList(); + this.repaired = EmiIngredient.of(rwepaired); + } + + @Override + public EmiRecipeCategory getCategory() { + return EMIHandler.SPIRIT_REPAIR; + } + + @Override + public ResourceLocation getId() { + return UID; + } + + @Override + public List getInputs() { + return inputs; + } + + @Override + public List getOutputs() { + return outputs; + } + + @Override + public int getDisplayWidth() { + return 142; + } + + @Override + public int getDisplayHeight() { + return 185; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + widgets.addTexture(BACKGROUND_LOCATION, 0, 0, this.getDisplayWidth(), this.getDisplayHeight(), 0, 0); + + widgets.addDrawable(0, 0, 0, 0, (guiGraphics, mx, my, d) -> + { + if (!spirits.isEmpty()) { + ArcanaCodexHelper.renderItemFrames(guiGraphics.pose(), spirits.size(), 61, 12, false); + } + }); + + EMIHandler.addItems(widgets, 61, 12, false, spirits); + + widgets.addSlot(damaged, 81, 56).drawBack(false); + widgets.addSlot(repairIngredient, 43, 56).drawBack(false); + + widgets.addSlot(repaired, 62, 123).recipeContext(this).drawBack(false); + } +} diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRiteEmiRecipe.java b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRiteEmiRecipe.java new file mode 100644 index 000000000..6fb8fefce --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritRiteEmiRecipe.java @@ -0,0 +1,80 @@ +package com.sammy.malum.compability.emi.recipes; + +import com.sammy.malum.MalumMod; +import com.sammy.malum.client.screen.codex.ArcanaCodexHelper; +import com.sammy.malum.common.spiritrite.TotemicRiteType; +import com.sammy.malum.compability.emi.EMIHandler; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Font; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; + +import java.util.List; + +import static com.sammy.malum.MalumMod.malumPath; + +public class SpiritRiteEmiRecipe implements EmiRecipe { + private static final ResourceLocation BACKGROUND_LOCATION = MalumMod.malumPath("textures/gui/spirit_rite_jei.png"); + public static final ResourceLocation UID = malumPath("spirit_rite"); + private final Font font; + + private final TotemicRiteType rite; + private final List spirits; + + public SpiritRiteEmiRecipe(TotemicRiteType rite) { + this.rite = rite; + this.spirits = rite.spirits.stream().map((spirit) -> (EmiIngredient) EmiStack.of(spirit.getSpiritShard())).toList(); + + this.font = Minecraft.getInstance().font; + } + + @Override + public EmiRecipeCategory getCategory() { + return EMIHandler.SPIRIT_RITE; + } + + @Override + public ResourceLocation getId() { + return UID; + } + + @Override + public List getInputs() { + return spirits; + } + + @Override + public List getOutputs() { + return List.of(); + } + + @Override + public int getDisplayWidth() { + return 142; + } + + @Override + public int getDisplayHeight() { + return 185; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + widgets.addTexture(BACKGROUND_LOCATION, 0, 0, this.getDisplayWidth(), this.getDisplayHeight(), 0, 0); + + widgets.addDrawable(0, 0, 0, 0, (matrices, mx, my, d) -> + { + Component text = Component.translatable(rite.translationIdentifier(false)); + ArcanaCodexHelper.renderText(matrices, text, 71 - font.width(text) / 2, 160); + }); + + for (int i = 0; i < rite.spirits.size(); i++) { + widgets.addSlot(EmiStack.of(rite.spirits.get(i).getSpiritShard()), 62, 120 - 20 * i).catalyst(true).drawBack(false); + } + } +} diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationEmiRecipe.java b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationEmiRecipe.java new file mode 100644 index 000000000..f03fe4255 --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationEmiRecipe.java @@ -0,0 +1,71 @@ +package com.sammy.malum.compability.emi.recipes; + +import com.sammy.malum.MalumMod; +import com.sammy.malum.compability.emi.EMIHandler; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.crafting.Ingredient; + +import java.util.List; + +public class SpiritTransmutationEmiRecipe implements EmiRecipe { + private static final ResourceLocation BACKGROUND_LOCATION = MalumMod.malumPath("textures/gui/spirit_transmutation_jei.png"); + + private final SpiritTransmutationRecipeWrapper recipe; + + private final List inputs; + private final List result; + private final List outputs; + + public SpiritTransmutationEmiRecipe(SpiritTransmutationRecipeWrapper recipe) { + this.recipe = recipe; + + this.inputs = List.of(EmiIngredient.of(recipe.subRecipes().stream().map((r) -> EmiIngredient.of(r.ingredient)).toList())); + + this.result = List.of(EmiIngredient.of(recipe.subRecipes().stream().map((r) -> EmiIngredient.of(Ingredient.of(r.output))).toList())); + this.outputs = this.result.get(0).getEmiStacks(); + } + + @Override + public EmiRecipeCategory getCategory() { + return EMIHandler.SPIRIT_TRANSMUTATION; + } + + @Override + public ResourceLocation getId() { + return null; + } + + @Override + public List getInputs() { + return inputs; + } + + @Override + public List getOutputs() { + return outputs; + } + + @Override + public int getDisplayWidth() { + return 142; + } + + @Override + public int getDisplayHeight() { + return 83; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + widgets.addTexture(BACKGROUND_LOCATION, 1, 0, this.getDisplayWidth(), this.getDisplayHeight(), 0, 0); + + widgets.addSlot(inputs.get(0), 28, 26).drawBack(false); + + widgets.addSlot(result.get(0), 93, 26).recipeContext(this).drawBack(false); + } +} diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationRecipeWrapper.java b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationRecipeWrapper.java new file mode 100644 index 000000000..759d8ba2d --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/SpiritTransmutationRecipeWrapper.java @@ -0,0 +1,9 @@ +package com.sammy.malum.compability.emi.recipes; + + +import com.sammy.malum.common.recipe.spirit.transmutation.SpiritTransmutationRecipe; + +import java.util.List; + +public record SpiritTransmutationRecipeWrapper(List subRecipes) { +} \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/compability/emi/recipes/WeepingWellEmiRecipe.java b/src/main/java/com/sammy/malum/compability/emi/recipes/WeepingWellEmiRecipe.java new file mode 100644 index 000000000..21f8e8018 --- /dev/null +++ b/src/main/java/com/sammy/malum/compability/emi/recipes/WeepingWellEmiRecipe.java @@ -0,0 +1,75 @@ +package com.sammy.malum.compability.emi.recipes; + +import com.google.common.collect.Lists; +import com.sammy.malum.MalumMod; +import com.sammy.malum.common.recipe.void_favor.FavorOfTheVoidRecipe; +import com.sammy.malum.compability.emi.EMIHandler; +import dev.emi.emi.api.recipe.EmiRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import io.github.fabricators_of_create.porting_lib.tags.Tags; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.sammy.malum.MalumMod.malumPath; + +public class WeepingWellEmiRecipe implements EmiRecipe { + + private static final ResourceLocation BACKGROUND_LOCATION = MalumMod.malumPath("textures/gui/weeping_well_emi.png"); + + public static final ResourceLocation UID = malumPath("weeping_well"); + private final FavorOfTheVoidRecipe recipe; + + private final List input = Lists.newArrayList(); + private final List output = Lists.newArrayList(); + + public WeepingWellEmiRecipe(FavorOfTheVoidRecipe recipe) { + this.recipe = recipe; + + input.add(EmiIngredient.of(recipe.ingredient)); + output.add(EmiStack.of(recipe.output)); + } + + @Override + public EmiRecipeCategory getCategory() { + return EMIHandler.WEEPING; + } + + @Override + public @Nullable ResourceLocation getId() { + return UID; + } + + @Override + public List getInputs() { + return input; + } + + @Override + public List getOutputs() { + return output; + } + + @Override + public int getDisplayWidth() { + return 142; + } + + @Override + public int getDisplayHeight() { + return 185 - 27; + } + + @Override + public void addWidgets(WidgetHolder widgets) { + widgets.addTexture(BACKGROUND_LOCATION, 0, 0, this.getDisplayWidth(), this.getDisplayHeight(), 0, 0); + + widgets.addSlot(input.get(0), 63, 57 - 27).drawBack(false); + widgets.addSlot(output.get(0), 63, 124 - 27).drawBack(false); + + } +} diff --git a/src/main/resources/assets/malum/sounds.json b/src/main/resources/assets/malum/sounds.json new file mode 100644 index 000000000..63a9dacc6 --- /dev/null +++ b/src/main/resources/assets/malum/sounds.json @@ -0,0 +1,242 @@ +{ + "arcane_elegy": { "sounds":["malum:arcane_elegy"], "subtitle": "malum.subtitle.arcane_elegy" }, + "aesthetica": { "sounds":["malum:aesthetica"], "subtitle": "malum.subtitle.aesthetica" }, + + "arcana_codex_opened": { "sounds":["malum:codex/book_open1", "malum:codex/book_open2", "malum:codex/book_open3", "malum:codex/book_open4"], "subtitle": "malum.subtitle.arcana_codex_opened" }, + "arcana_codex_closed": { "sounds":["malum:codex/book_close1", "malum:codex/book_close2", "malum:codex/book_close3", "malum:codex/book_close4"], "subtitle": "malum.subtitle.arcana_codex_closed" }, + "arcana_entry_opened": { "sounds":["malum:codex/book_entry_open1", "malum:codex/book_entry_open2", "malum:codex/book_entry_open3", "malum:codex/book_entry_open4"], "subtitle": "malum.subtitle.arcana_entry_opened" }, + "arcana_entry_closed": { "sounds":["malum:codex/book_entry_close1", "malum:codex/book_entry_close2", "malum:codex/book_entry_close3", "malum:codex/book_entry_close4"], "subtitle": "malum.subtitle.arcana_entry_closed" }, + "arcana_page_flipped": { "sounds":["malum:codex/book_page_turn1", "malum:codex/book_page_turn2", "malum:codex/book_page_turn3", "malum:codex/book_page_turn4"], "subtitle": "malum.subtitle.arcana_page_flipped" }, + "arcana_sweetener_normal": { "sounds":["malum:codex/book_swtnr_normal1", "malum:codex/book_swtnr_normal2", "malum:codex/book_swtnr_normal3", "malum:codex/book_swtnr_normal4", "malum:codex/book_swtnr_normal5", "malum:codex/book_swtnr_normal6", "malum:codex/book_swtnr_normal7", "malum:codex/book_swtnr_normal8"]}, + "arcana_sweetener_evil": { "sounds":["malum:codex/book_swtnr_evil1", "malum:codex/book_swtnr_evil2", "malum:codex/book_swtnr_evil3", "malum:codex/book_swtnr_evil4", "malum:codex/book_swtnr_evil5", "malum:codex/book_swtnr_evil6", "malum:codex/book_swtnr_evil7", "malum:codex/book_swtnr_evil8"]}, + "arcana_transition_normal": { "sounds":["malum:codex/book_transition_normal1", "malum:codex/book_transition_normal2"], "subtitle": "malum.subtitle.arcana_transition_normal" }, + "arcana_transition_evil": { "sounds":["malum:codex/book_transition_evil1", "malum:codex/book_transition_evil2"], "subtitle": "malum.subtitle.arcana_transition_evil" }, + + "pedestal_item_inserted": { "sounds":["malum:block_interaction/pedestal_item_insert1","malum:block_interaction/pedestal_item_insert2","malum:block_interaction/pedestal_item_insert3"], "subtitle": "malum.subtitle.pedestal_item_inserted" }, + "pedestal_item_picked_up": { "sounds":["malum:block_interaction/pedestal_item_remove1","malum:block_interaction/pedestal_item_remove2","malum:block_interaction/pedestal_item_remove3"], "subtitle": "malum.subtitle.pedestal_item_picked_up" }, + "pedestal_spirit_inserted": { "sounds":["malum:block_interaction/pedestal_spirit_insert1","malum:block_interaction/pedestal_spirit_insert2","malum:block_interaction/pedestal_spirit_insert3"], "subtitle": "malum.subtitle.pedestal_spirit_inserted" }, + "pedestal_spirit_picked_up": { "sounds":["malum:block_interaction/pedestal_spirit_remove1","malum:block_interaction/pedestal_spirit_remove2","malum:block_interaction/pedestal_spirit_remove3"], "subtitle": "malum.subtitle.pedestal_spirit_picked_up" }, + + "cloth_trinket_equipped": { "sounds":["malum:equip_sounds/cloth/equip_cloth1", "malum:equip_sounds/cloth/equip_cloth2", "malum:equip_sounds/cloth/equip_cloth3"], "subtitle": "malum.subtitle.ornate_trinket_equipped" }, + "ornate_trinket_equipped": { "sounds":["malum:equip_sounds/ornate/equip_ornate1", "malum:equip_sounds/ornate/equip_ornate2", "malum:equip_sounds/ornate/equip_ornate3"], "subtitle": "malum.subtitle.ornate_trinket_equipped" }, + "gilded_trinket_equipped": { "sounds":["malum:equip_sounds/gilded/equip_gilded1", "malum:equip_sounds/gilded/equip_gilded2", "malum:equip_sounds/gilded/equip_gilded3"], "subtitle": "malum.subtitle.gilded_trinket_equipped" }, + "alchemical_trinket_equipped": { "sounds":["malum:equip_sounds/alchemical/equip_alchemical1", "malum:equip_sounds/alchemical/equip_alchemical2", "malum:equip_sounds/alchemical/equip_alchemical3"], "subtitle": "malum.subtitle.alchemical_trinket_equipped" }, + "rotten_trinket_equipped": { "sounds":["malum:equip_sounds/rotten/equip_rotten1", "malum:equip_sounds/rotten/equip_rotten2", "malum:equip_sounds/rotten/equip_rotten3"], "subtitle": "malum.subtitle.rotten_trinket_equipped" }, + "metallic_trinket_equipped": { "sounds":["malum:equip_sounds/metallic/equip_metallic1", "malum:equip_sounds/metallic/equip_metallic2", "malum:equip_sounds/metallic/equip_metallic3"], "subtitle": "malum.subtitle.metallic_trinket_equipped" }, + "rune_trinket_equipped": { "sounds":["malum:equip_sounds/rune/equip_rune1", "malum:equip_sounds/rune/equip_rune2", "malum:equip_sounds/rune/equip_rune3"], "subtitle": "malum.subtitle.rune_trinket_equipped" }, + "void_trinket_equipped": { "sounds":["malum:equip_sounds/void/equip_void1", "malum:equip_sounds/void/equip_void2", "malum:equip_sounds/void/equip_void3"], "subtitle": "malum.subtitle.void_trinket_equipped" }, + + "tuning_fork_tinkers": { "sounds":["malum:curiosities/augments/tuning_fork_tinker1","malum:curiosities/augments/tuning_fork_tinker2"], "subtitle": "malum.subtitle.tuning_fork_tinkers" }, + "augment_applied": { "sounds":["malum:curiosities/augments/apply_augment1","malum:curiosities/augments/apply_augment2"], "subtitle": "malum.subtitle.augment_applied" }, + "augment_removed": { "sounds":["malum:curiosities/augments/remove_augment1","malum:curiosities/augments/remove_augment2"], "subtitle": "malum.subtitle.augment_removed" }, + "warping_engine_reverberates": { "sounds":["malum:curiosities/augments/warping_engine_reverberates1", "malum:curiosities/augments/warping_engine_reverberates2", "malum:curiosities/augments/warping_engine_reverberates3", "malum:curiosities/augments/warping_engine_reverberates4"], "subtitle": "malum.subtitle.warping_engine_reverberates" }, + "shielding_apparatus_shields": { "sounds":["malum:curiosities/augments/shielding_apparatus_shields1", "malum:curiosities/augments/shielding_apparatus_shields2"], "subtitle": "malum.subtitle.shielding_apparatus_shields" }, + + "arcane_whispers": { "sounds":["malum:curiosities/spirit/spirit_idle1","malum:curiosities/spirit/spirit_idle2","malum:curiosities/spirit/spirit_idle3","malum:curiosities/spirit/spirit_idle4"], "subtitle": "malum.subtitle.arcane_whispers" }, + "spirit_picked_up": { "sounds":["malum:curiosities/spirit/spirit_pickup1","malum:curiosities/spirit/spirit_pickup2","malum:curiosities/spirit/spirit_pickup3","malum:curiosities/spirit/spirit_pickup4"], "subtitle": "malum.subtitle.spirit_picked_up" }, + "a_soul_shatters": { "sounds":["malum:curiosities/soul_shatter1","malum:curiosities/soul_shatter2","malum:curiosities/soul_shatter3"], "subtitle": "malum.subtitle.a_soul_shatters" }, + + "scythe_sweeps": { "sounds":["malum:curiosities/weapons/scythe/sweep1","malum:curiosities/weapons/scythe/sweep2","malum:curiosities/weapons/scythe/sweep3","malum:curiosities/weapons/scythe/sweep4","malum:curiosities/weapons/scythe/sweep5","malum:curiosities/weapons/scythe/sweep6","malum:curiosities/weapons/scythe/sweep7"], "subtitle": "malum.subtitle.scythe_sweeps" }, + "scythe_cuts": { "sounds":["malum:curiosities/weapons/scythe/sweep1","malum:curiosities/weapons/scythe/sweep2","malum:curiosities/weapons/scythe/sweep3","malum:curiosities/weapons/scythe/sweep4","malum:curiosities/weapons/scythe/sweep5","malum:curiosities/weapons/scythe/sweep6","malum:curiosities/weapons/scythe/sweep7"], "subtitle": "malum.subtitle.scythe_cuts" }, + "edge_of_deliverance_sweeps": { "sounds":["malum:curiosities/weapons/scythe/sweep1","malum:curiosities/weapons/scythe/sweep2","malum:curiosities/weapons/scythe/sweep3","malum:curiosities/weapons/scythe/sweep4","malum:curiosities/weapons/scythe/sweep5","malum:curiosities/weapons/scythe/sweep6","malum:curiosities/weapons/scythe/sweep7"], "subtitle": "malum.subtitle.edge_of_deliverance_sweeps" }, + "edge_of_deliverance_cuts": { "sounds":["malum:curiosities/weapons/scythe/sweep1","malum:curiosities/weapons/scythe/sweep2","malum:curiosities/weapons/scythe/sweep3","malum:curiosities/weapons/scythe/sweep4","malum:curiosities/weapons/scythe/sweep5","malum:curiosities/weapons/scythe/sweep6","malum:curiosities/weapons/scythe/sweep7"], "subtitle": "malum.subtitle.edge_of_deliverance_cuts" }, + + "scythe_thrown": { "sounds":["malum:curiosities/weapons/scythe/throw1","malum:curiosities/weapons/scythe/throw2","malum:curiosities/weapons/scythe/throw3"], "subtitle": "malum.subtitle.scythe_thrown" }, + "scythe_spins_happily": { "sounds":["malum:curiosities/weapons/scythe/spin"], "subtitle": "malum.subtitle.scythe_spins_happily" }, + "scythe_caught": { "sounds":["malum:curiosities/weapons/scythe/catch1","malum:curiosities/weapons/scythe/catch2","malum:curiosities/weapons/scythe/catch3"], "subtitle": "malum.subtitle.scythe_caught" }, + + "tyrving_slashes_twice": { "sounds":["malum:curiosities/weapons/tyrving/hit1", "malum:curiosities/weapons/tyrving/hit2", "malum:curiosities/weapons/tyrving/hit3", "malum:curiosities/weapons/tyrving/hit4", "malum:curiosities/weapons/tyrving/hit5"], "subtitle": "malum.subtitle.tyrving_slashes_twice" }, + "weight_of_worlds_cuts": { "sounds":["malum:curiosities/weapons/scythe/sweep1","malum:curiosities/weapons/scythe/sweep2","malum:curiosities/weapons/scythe/sweep3","malum:curiosities/weapons/scythe/sweep4","malum:curiosities/weapons/scythe/sweep5","malum:curiosities/weapons/scythe/sweep6","malum:curiosities/weapons/scythe/sweep7"], "subtitle": "malum.subtitle.weight_of_worlds_cuts" }, + + "staff_fires": { "sounds":["malum:curiosities/weapons/staff/fire1","malum:curiosities/weapons/staff/fire2"], "subtitle": "malum.subtitle.staff_fires" }, + "staff_powers_up": { "sounds":["malum:curiosities/weapons/staff/charge1","malum:curiosities/weapons/staff/charge2"], "subtitle": "malum.subtitle.staff_powers_up" }, + "staff_sizzles": { "sounds":["malum:curiosities/weapons/staff/sizzle1","malum:curiosities/weapons/staff/sizzle2"], "subtitle": "malum.subtitle.staff_sizzles" }, + "staff_charged": { "sounds":["malum:curiosities/weapons/staff/sizzle1","malum:curiosities/weapons/staff/sizzle2"], "subtitle": "malum.subtitle.staff_charged" }, + "staff_strikes": { "sounds":["malum:curiosities/weapons/staff/hit1","malum:curiosities/weapons/staff/hit2","malum:curiosities/weapons/staff/hit3","malum:curiosities/weapons/staff/hit4"], "subtitle": "malum.subtitle.staff_strikes" }, + + "auric_flame_motif": { "sounds":["malum:curiosities/motifs/auric_cinders1","malum:curiosities/motifs/auric_cinders2","malum:curiosities/motifs/auric_cinders3"]}, + "draining_motif": { "sounds":["malum:curiosities/motifs/draining_bubbling1","malum:curiosities/motifs/draining_bubbling2","malum:curiosities/motifs/draining_bubbling3"]}, + "malignant_metal_motif": { "sounds":["malum:curiosities/motifs/malignant_crit1", "malum:curiosities/motifs/malignant_crit2", "malum:curiosities/motifs/malignant_crit3"]}, + + "the_unknown_weeps": { "sounds":["malum:weeping_well/uncanny_valley0","malum:weeping_well/uncanny_valley1"], "subtitle": "malum.subtitle.the_unknown_weeps" }, + "the_void_heart_beats": { "sounds":["malum:weeping_well/void_heartbeat"], "subtitle": "malum.subtitle.the_void_heart_beats" }, + "song_of_the_void": { "sounds":["malum:weeping_well/song_of_the_void0","malum:weeping_well/song_of_the_void1","malum:weeping_well/song_of_the_void2"], "subtitle": "malum.subtitle.song_of_the_void" }, + "rejected_by_the_unknown": { "sounds":["malum:weeping_well/void_rejection"], "subtitle": "malum.subtitle.rejected_by_the_unknown" }, + "void_transmutation": { "sounds":["malum:weeping_well/void_transmutation0","malum:weeping_well/void_transmutation1"], "subtitle": "malum.subtitle.void_transmutation" }, + "void_eats_gunk": { "sounds":["malum:curiosities/trinkets/starved/nom1", "malum:curiosities/trinkets/starved/nom2", "malum:curiosities/trinkets/starved/nom3", "malum:curiosities/trinkets/starved/nom4"], "subtitle": "malum.subtitle.void_eats_gunk" }, + + "totem_charges": { "sounds":["malum:totem/totem_charge1","malum:totem/totem_charge2","malum:totem/totem_charge3"], "subtitle": "malum.subtitle.totem_charges" }, + "spirit_rite_activated": { "sounds":["malum:totem/totem_activate"], "subtitle": "malum.subtitle.spirit_rite_activated" }, + "spirit_rite_cancelled": { "sounds":["malum:totem/totem_cancel"], "subtitle": "malum.subtitle.spirit_rite_cancelled" }, + "spirit_engraved": { "sounds":["malum:totem/totem_engrave1","malum:totem/totem_engrave2","malum:totem/totem_engrave3"], "subtitle": "malum.subtitle.spirit_engraved" }, + + "spirit_altar_completes_infusion": { "sounds":["malum:altar/altar_craft1","malum:altar/altar_craft2"], "subtitle": "malum.subtitle.spirit_altar_completes_infusion" }, + "spirit_altar_infuses": { "sounds":["malum:altar/altar_loop"], "subtitle": "malum.subtitle.spirit_altar_infuses" }, + "spirit_altar_speeds_up": { "sounds":["malum:altar/altar_speedup1","malum:altar/altar_speedup2"], "subtitle": "malum.subtitle.spirit_altar_speeds_up" }, + "spirit_altar_absorbs_item": { "sounds":["malum:altar/altar_consume1", "malum:altar/altar_consume2"], "subtitle": "malum.subtitle.spirit_altar_absorbs_item" }, + "alteration_plinth_alters": { "sounds":["malum:plinth/alter1","malum:plinth/alter2","malum:plinth/alter3"], "subtitle": "malum.subtitle.alteration_plinth_alters" }, + + "runic_workbench_crafts": { "sounds":["malum:runic_workbench/craft1","malum:runic_workbench/craft2"], "subtitle": "malum.subtitle.runic_workbench_crafts" }, + + "ritual_begins": { "sounds":["malum:ritual/ritual_start"], "subtitle": "malum.subtitle.ritual_begins" }, + "ritual_absorbs_item": { "sounds":["malum:ritual/ritual_absorb_item1", "malum:ritual/ritual_absorb_item2", "malum:ritual/ritual_absorb_item3"], "subtitle": "malum.subtitle.ritual_absorbs_item" }, + "ritual_forms": { "sounds":["malum:ritual/ritual_stage2"], "subtitle": "malum.subtitle.ritual_forms" }, + "ritual_absorbs_spirit": { "sounds":["malum:ritual/ritual_absorb_spirit1", "malum:ritual/ritual_absorb_spirit2", "malum:ritual/ritual_absorb_spirit3", "malum:ritual/ritual_absorb_spirit4"], "subtitle": "malum.subtitle.ritual_absorbs_spirit" }, + "ritual_evolves": { "sounds":["malum:ritual/ritual_level_up1", "malum:ritual/ritual_level_up2"], "subtitle": "malum.subtitle.ritual_evolves" }, + "ritual_completed": { "sounds":["malum:ritual/ritual_level_up_max"], "subtitle": "malum.subtitle.ritual_completed" }, + + "ritual_beginning_ambience": { "sounds":["malum:ritual/ritual_loop1"], "subtitle": "malum.subtitle.ritual_beginning_ambience" }, + "ritual_evolution_ambience": { "sounds":["malum:ritual/ritual_loop2"], "subtitle": "malum.subtitle.ritual_evolution_ambience" }, + "completed_ritual_ambience": { "sounds":["malum:ritual/ritual_loop3"], "subtitle": "malum.subtitle.completed_ritual_ambience" }, + + "spirit_crucible_completes_focusing": { "sounds":["malum:crucible/crucible_craft1", "malum:crucible/crucible_craft2", "malum:crucible/crucible_craft3"], "subtitle": "malum.subtitle.spirit_crucible_completes_focusing" }, + "spirit_crucible_focuses": { "sounds":["malum:crucible/crucible_loop"], "subtitle": "malum.subtitle.spirit_crucible_focuses" }, + "impetus_takes_damage": { "sounds":["malum:crucible/impetus_crack1", "malum:crucible/impetus_crack2", "malum:crucible/impetus_crack3"], "subtitle": "malum.subtitle.impetus_takes_damage" }, + + "aerial_magic_swooshes": { "sounds":["minecraft:mob/phantom/flap1","minecraft:mob/phantom/flap2","minecraft:mob/phantom/flap3","minecraft:mob/phantom/flap4","minecraft:mob/phantom/flap5","minecraft:mob/phantom/flap6"], "subtitle": "malum.subtitle.aerial_magic_swooshes" }, + + "concentrated_gluttony_drink": { "sounds":["malum:curiosities/concentrated_gluttony/drink1", "malum:curiosities/concentrated_gluttony/drink2"], "subtitle": "malum.subtitle.concentrated_gluttony_drink" }, + + "hungry_belt_feeds": { "sounds":["malum:curiosities/trinkets/starved/nom1", "malum:curiosities/trinkets/starved/nom2", "malum:curiosities/trinkets/starved/nom3", "malum:curiosities/trinkets/starved/nom4"], "subtitle": "malum.subtitle.hungry_belt_feeds" }, + "voracious_ring_feeds": { "sounds":["malum:curiosities/trinkets/starved/nom1", "malum:curiosities/trinkets/starved/nom2", "malum:curiosities/trinkets/starved/nom3", "malum:curiosities/trinkets/starved/nom4"], "subtitle": "malum.subtitle.voracious_ring_feeds" }, + "gruesome_ring_feeds": { "sounds":["malum:curiosities/trinkets/starved/nom1", "malum:curiosities/trinkets/starved/nom2", "malum:curiosities/trinkets/starved/nom3", "malum:curiosities/trinkets/starved/nom4"], "subtitle": "malum.subtitle.gruesome_ring_feeds" }, + "flesh_ring_absorbs": { "sounds":["malum:curiosities/trinkets/cancer_ring/grow1", "malum:curiosities/trinkets/cancer_ring/grow2", "malum:curiosities/trinkets/cancer_ring/grow3"], "subtitle": "malum.subtitle.flesh_ring_absorbs" }, + "hidden_blade_charged": { "sounds":["malum:curiosities/trinkets/hidden_blade/charge"], "subtitle": "malum.subtitle.trinkets/hidden_blade_charged" }, + "hidden_blade_primed": { "sounds":["malum:curiosities/trinkets/hidden_blade/charge"], "subtitle": "malum.subtitle.trinkets/hidden_blade_primed" }, + "hidden_blade_disrupted": { "sounds":["malum:curiosities/trinkets/hidden_blade/charge"], "subtitle": "malum.subtitle.trinkets/hidden_blade_disrupted" }, + "hidden_blade_unleashed": { "sounds":["malum:curiosities/trinkets/hidden_blade/flurry1", "malum:curiosities/trinkets/hidden_blade/flurry2"], "subtitle": "malum.subtitle.trinkets/hidden_blade_unleashed" }, + + "spirit_mote_created": { "sounds":["malum:curiosities/spirit_mote/created1", "malum:curiosities/spirit_mote/created2", "malum:curiosities/spirit_mote/created3"], "subtitle": "malum.subtitle.spirit_mote_created" }, + + "catalyst_lobber_unlocked": { "sounds":["malum:curiosities/catalyst_lobber/open1", "malum:curiosities/catalyst_lobber/open2"], "subtitle": "malum.subtitle.catalyst_lobber_unlocked" }, + "catalyst_lobber_locked": { "sounds":["malum:curiosities/catalyst_lobber/open1", "malum:curiosities/catalyst_lobber/open2"], "subtitle": "malum.subtitle.catalyst_lobber_locked" }, + "catalyst_lobber_primed": { "sounds":["malum:curiosities/catalyst_lobber/load1", "malum:curiosities/catalyst_lobber/load2"], "subtitle": "malum.subtitle.catalyst_lobber_primed" }, + "catalyst_lobber_fired": { "sounds":["malum:curiosities/catalyst_lobber/fire1", "malum:curiosities/catalyst_lobber/fire2"], "subtitle": "malum.subtitle.catalyst_lobber_fired" }, + + "soul_ward_grows": { "sounds":["malum:curiosities/soul_ward/grow1","malum:curiosities/soul_ward/grow2","malum:curiosities/soul_ward/grow3","malum:curiosities/soul_ward/grow4"], "subtitle": "malum.subtitle.soul_ward_grows" }, + "soul_ward_damaged": { "sounds":["malum:curiosities/soul_ward/dmg1","malum:curiosities/soul_ward/dmg2","malum:curiosities/soul_ward/dmg3","malum:curiosities/soul_ward/dmg4"], "subtitle": "malum.subtitle.soul_ward_damaged" }, + "soul_ward_charged": { "sounds":["malum:curiosities/soul_ward/full1","malum:curiosities/soul_ward/full2"], "subtitle": "malum.subtitle.soul_ward_charged" }, + "soul_ward_depleted": { "sounds":["malum:curiosities/soul_ward/break1","malum:curiosities/soul_ward/break2"], "subtitle": "malum.subtitle.soul_ward_depleted" }, + + "the_deep_beckons": { "sounds":["malum:suspicious_sound"], "subtitle": "malum.subtitle.the_deep_beckons" }, + "the_heavens_sing": { "sounds":["malum:heavenly_organs"], "subtitle": "malum.subtitle.the_heavens_sing" }, + + "runewood_break": { "sounds":["malum:blocks/runewood/break1","malum:blocks/runewood/break2","malum:blocks/runewood/break3","malum:blocks/runewood/break4","malum:blocks/runewood/break5","malum:blocks/runewood/break6"], "subtitle": "malum.subtitle.runewood_break" }, + "runewood_step": { "sounds":["malum:blocks/runewood/hit1","malum:blocks/runewood/hit2","malum:blocks/runewood/hit3","malum:blocks/runewood/hit4","malum:blocks/runewood/hit5","malum:blocks/runewood/hit6"], "subtitle": "malum.subtitle.runewood_step" }, + "runewood_place": { "sounds":["malum:blocks/runewood/break1","malum:blocks/runewood/break2","malum:blocks/runewood/break3","malum:blocks/runewood/break4","malum:blocks/runewood/break5","malum:blocks/runewood/break6"], "subtitle": "malum.subtitle.runewood_place" }, + "runewood_hit": { "sounds":["malum:blocks/runewood/hit1","malum:blocks/runewood/hit2","malum:blocks/runewood/hit3","malum:blocks/runewood/hit4","malum:blocks/runewood/hit5","malum:blocks/runewood/hit6"], "subtitle": "malum.subtitle.runewood_hit" }, + + "runewood_hanging_sign_break": { "sounds":["malum:blocks/runewood/hanging_sign/break1","malum:blocks/runewood/hanging_sign/break2","malum:blocks/runewood/hanging_sign/break3","malum:blocks/runewood/hanging_sign/break4"], "subtitle": "malum.subtitle.runewood_hanging_sign_break" }, + "runewood_hanging_sign_step": { "sounds":["malum:blocks/runewood/hanging_sign/hit1","malum:blocks/runewood/hanging_sign/hit2","malum:blocks/runewood/hanging_sign/hit3","malum:blocks/runewood/hanging_sign/hit4"], "subtitle": "malum.subtitle.runewood_hanging_sign_step" }, + "runewood_hanging_sign_place": { "sounds":["malum:blocks/runewood/hanging_sign/break1","malum:blocks/runewood/hanging_sign/break2","malum:blocks/runewood/hanging_sign/break3","malum:blocks/runewood/hanging_sign/break4"], "subtitle": "malum.subtitle.runewood_hanging_sign_place" }, + "runewood_hanging_sign_hit": { "sounds":["malum:blocks/runewood/hanging_sign/hit1","malum:blocks/runewood/hanging_sign/hit2","malum:blocks/runewood/hanging_sign/hit3","malum:blocks/runewood/hanging_sign/hit4"], "subtitle": "malum.subtitle.runewood_hanging_sign_hit" }, + + "runewood_button_click_off": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_button_click_off" }, + "runewood_button_click_on": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_button_click_on" }, + "runewood_pressure_plate_click_off": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_pressure_plate_click_off" }, + "runewood_pressure_plate_click_on": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_pressure_plate_click_on" }, + "runewood_fence_gate_close": { "sounds":["malum:blocks/runewood/fence_gate/toggle1", "malum:blocks/runewood/fence_gate/toggle2", "malum:blocks/runewood/fence_gate/toggle3"], "subtitle": "malum.subtitle.runewood_fence_gate_close" }, + "runewood_fence_gate_open": { "sounds":["malum:blocks/runewood/fence_gate/toggle1", "malum:blocks/runewood/fence_gate/toggle2", "malum:blocks/runewood/fence_gate/toggle3"], "subtitle": "malum.subtitle.runewood_fence_gate_open" }, + "runewood_door_close": { "sounds":["malum:blocks/runewood/door/toggle1", "malum:blocks/runewood/door/toggle2", "malum:blocks/runewood/door/toggle3"], "subtitle": "malum.subtitle.runewood_door_close" }, + "runewood_door_open": { "sounds":["malum:blocks/runewood/door/toggle1", "malum:blocks/runewood/door/toggle2", "malum:blocks/runewood/door/toggle3"], "subtitle": "malum.subtitle.runewood_door_open" }, + "runewood_trapdoor_close": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_close" }, + "runewood_trapdoor_open": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_open" }, + + "soulwood_break": { "sounds":["malum:blocks/runewood/break1","malum:blocks/runewood/break2","malum:blocks/runewood/break3","malum:blocks/runewood/break4","malum:blocks/runewood/break5","malum:blocks/runewood/break6"], "subtitle": "malum.subtitle.soulwood_break" }, + "soulwood_step": { "sounds":["malum:blocks/runewood/hit1","malum:blocks/runewood/hit2","malum:blocks/runewood/hit3","malum:blocks/runewood/hit4","malum:blocks/runewood/hit5","malum:blocks/runewood/hit6"], "subtitle": "malum.subtitle.soulwood_step" }, + "soulwood_place": { "sounds":["malum:blocks/runewood/break1","malum:blocks/runewood/break2","malum:blocks/runewood/break3","malum:blocks/runewood/break4","malum:blocks/runewood/break5","malum:blocks/runewood/break6"], "subtitle": "malum.subtitle.soulwood_place" }, + "soulwood_hit": { "sounds":["malum:blocks/runewood/hit1","malum:blocks/runewood/hit2","malum:blocks/runewood/hit3","malum:blocks/runewood/hit4","malum:blocks/runewood/hit5","malum:blocks/runewood/hit6"], "subtitle": "malum.subtitle.soulwood_hit" }, + + "soulwood_hanging_sign_break": { "sounds":["malum:blocks/runewood/hanging_sign/break1","malum:blocks/runewood/hanging_sign/break2","malum:blocks/runewood/hanging_sign/break3","malum:blocks/runewood/hanging_sign/break4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_break" }, + "soulwood_hanging_sign_step": { "sounds":["malum:blocks/runewood/hanging_sign/hit1","malum:blocks/runewood/hanging_sign/hit2","malum:blocks/runewood/hanging_sign/hit3","malum:blocks/runewood/hanging_sign/hit4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_step" }, + "soulwood_hanging_sign_place": { "sounds":["malum:blocks/runewood/hanging_sign/break1","malum:blocks/runewood/hanging_sign/break2","malum:blocks/runewood/hanging_sign/break3","malum:blocks/runewood/hanging_sign/break4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_place" }, + "soulwood_hanging_sign_hit": { "sounds":["malum:blocks/runewood/hanging_sign/hit1","malum:blocks/runewood/hanging_sign/hit2","malum:blocks/runewood/hanging_sign/hit3","malum:blocks/runewood/hanging_sign/hit4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_hit" }, + + "soulwood_button_click_off": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_button_click_off" }, + "soulwood_button_click_on": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_button_click_on" }, + "soulwood_pressure_plate_click_off": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_pressure_plate_click_off" }, + "soulwood_pressure_plate_click_on": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_pressure_plate_click_on" }, + "soulwood_fence_gate_close": { "sounds":["malum:blocks/runewood/fence_gate/toggle1", "malum:blocks/runewood/fence_gate/toggle2", "malum:blocks/runewood/fence_gate/toggle3"], "subtitle": "malum.subtitle.runewood_fence_gate_close" }, + "soulwood_fence_gate_open": { "sounds":["malum:blocks/runewood/fence_gate/toggle1", "malum:blocks/runewood/fence_gate/toggle2", "malum:blocks/runewood/fence_gate/toggle3"], "subtitle": "malum.subtitle.runewood_fence_gate_open" }, + "soulwood_door_close": { "sounds":["malum:blocks/runewood/door/toggle1", "malum:blocks/runewood/door/toggle2", "malum:blocks/runewood/door/toggle3"], "subtitle": "malum.subtitle.runewood_door_close" }, + "soulwood_door_open": { "sounds":["malum:blocks/runewood/door/toggle1", "malum:blocks/runewood/door/toggle2", "malum:blocks/runewood/door/toggle3"], "subtitle": "malum.subtitle.runewood_door_open" }, + "soulwood_trapdoor_close": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_close" }, + "soulwood_trapdoor_open": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_open" }, + + "arcane_rock_break": { "sounds":["malum:blocks/arcane_rock/break1","malum:blocks/arcane_rock/break2","malum:blocks/arcane_rock/break3","malum:blocks/arcane_rock/break4","malum:blocks/arcane_rock/break5","malum:blocks/arcane_rock/break6"], "subtitle": "malum.subtitle.arcane_rock_break" }, + "arcane_rock_step": { "sounds":["malum:blocks/arcane_rock/hit1","malum:blocks/arcane_rock/hit2","malum:blocks/arcane_rock/hit3","malum:blocks/arcane_rock/hit4","malum:blocks/arcane_rock/hit5","malum:blocks/arcane_rock/hit6", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.arcane_rock_step" }, + "arcane_rock_place": { "sounds":["malum:blocks/arcane_rock/break1","malum:blocks/arcane_rock/break2","malum:blocks/arcane_rock/break3","malum:blocks/arcane_rock/break4","malum:blocks/arcane_rock/break5","malum:blocks/arcane_rock/break6"], "subtitle": "malum.subtitle.arcane_rock_place" }, + "arcane_rock_hit": { "sounds":["malum:blocks/arcane_rock/hit1","malum:blocks/arcane_rock/hit2","malum:blocks/arcane_rock/hit3","malum:blocks/arcane_rock/hit4","malum:blocks/arcane_rock/hit5","malum:blocks/arcane_rock/hit6", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.arcane_rock_hit" }, + + "arcane_rock_bricks_break": { "sounds":["malum:blocks/arcane_rock/bricks/break1","malum:blocks/arcane_rock/bricks/break2","malum:blocks/arcane_rock/bricks/break3","malum:blocks/arcane_rock/bricks/break4","malum:blocks/arcane_rock/bricks/break5","malum:blocks/arcane_rock/bricks/break6"], "subtitle": "malum.subtitle.arcane_rock_bricks_break" }, + "arcane_rock_bricks_step": { "sounds":["malum:blocks/arcane_rock/bricks/hit1","malum:blocks/arcane_rock/bricks/hit2","malum:blocks/arcane_rock/bricks/hit3","malum:blocks/arcane_rock/bricks/hit4","malum:blocks/arcane_rock/bricks/hit5","malum:blocks/arcane_rock/bricks/hit6", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.arcane_rock_bricks_step" }, + "arcane_rock_bricks_place": { "sounds":["malum:blocks/arcane_rock/bricks/break1","malum:blocks/arcane_rock/bricks/break2","malum:blocks/arcane_rock/bricks/break3","malum:blocks/arcane_rock/bricks/break4","malum:blocks/arcane_rock/bricks/break5","malum:blocks/arcane_rock/bricks/break6"], "subtitle": "malum.subtitle.arcane_rock_bricks_place" }, + "arcane_rock_bricks_hit": { "sounds":["malum:blocks/arcane_rock/bricks/hit1","malum:blocks/arcane_rock/bricks/hit2","malum:blocks/arcane_rock/bricks/hit3","malum:blocks/arcane_rock/bricks/hit4","malum:blocks/arcane_rock/bricks/hit5","malum:blocks/arcane_rock/bricks/hit6", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.arcane_rock_bricks_hit" }, + + "soulstone_break": { "sounds":["malum:blocks/soulstone/break1","malum:blocks/soulstone/break2","malum:blocks/soulstone/break3","malum:blocks/soulstone/break4"], "subtitle": "malum.subtitle.soulstone_break" }, + "soulstone_step": { "sounds":["malum:blocks/soulstone/hit1","malum:blocks/soulstone/hit2","malum:blocks/soulstone/hit3","malum:blocks/soulstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.soulstone_step" }, + "soulstone_place": { "sounds":["malum:blocks/soulstone/break1","malum:blocks/soulstone/break2","malum:blocks/soulstone/break3","malum:blocks/soulstone/break4"], "subtitle": "malum.subtitle.soulstone_place" }, + "soulstone_hit": { "sounds":["malum:blocks/soulstone/hit1","malum:blocks/soulstone/hit2","malum:blocks/soulstone/hit3","malum:blocks/soulstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.soulstone_hit" }, + + "deepslate_soulstone_break": { "sounds":["malum:blocks/soulstone/deepslate/break1","malum:blocks/soulstone/deepslate/break2","malum:blocks/soulstone/deepslate/break3","malum:blocks/soulstone/deepslate/break4"], "subtitle": "malum.subtitle.deepslate_soulstone_break" }, + "deepslate_soulstone_step": { "sounds":["malum:blocks/soulstone/hit1","malum:blocks/soulstone/hit2","malum:blocks/soulstone/hit3","malum:blocks/soulstone/hit4", "block/deepslate/step1","block/deepslate/step2","block/deepslate/step3","block/deepslate/step4","block/deepslate/step5","block/deepslate/step6"], "subtitle": "malum.subtitle.deepslate_soulstone_step" }, + "deepslate_soulstone_place": { "sounds":["malum:blocks/soulstone/deepslate/break1","malum:blocks/soulstone/deepslate/break2","malum:blocks/soulstone/deepslate/break3","malum:blocks/soulstone/deepslate/break4"], "subtitle": "malum.subtitle.deepslate_soulstone_place" }, + "deepslate_soulstone_hit": { "sounds":["malum:blocks/soulstone/hit1","malum:blocks/soulstone/hit2","malum:blocks/soulstone/hit3","malum:blocks/soulstone/hit4", "block/deepslate/step1","block/deepslate/step2","block/deepslate/step3","block/deepslate/step4","block/deepslate/step5","block/deepslate/step6"], "subtitle": "malum.subtitle.deepslate_soulstone_hit" }, + + "blazing_quartz_ore_break": { "sounds":["malum:blocks/blazing_quartz/break1","malum:blocks/blazing_quartz/break2","malum:blocks/blazing_quartz/break3","malum:blocks/blazing_quartz/break4"], "subtitle": "malum.subtitle.blazing_quartz_ore_break" }, + "blazing_quartz_ore_place": { "sounds":["malum:blocks/blazing_quartz/break1","malum:blocks/blazing_quartz/break2","malum:blocks/blazing_quartz/break3","malum:blocks/blazing_quartz/break4"], "subtitle": "malum.subtitle.blazing_quartz_ore_place" }, + + "blazing_quartz_block_break": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"], "subtitle": "malum.subtitle.blazing_quartz_block_break" }, + "blazing_quartz_block_step": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.blazing_quartz_block_step" }, + "blazing_quartz_block_place": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"], "subtitle": "malum.subtitle.blazing_quartz_block_place" }, + "blazing_quartz_block_hit": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.blazing_quartz_block_hit" }, + + "brilliance_block_break": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"], "subtitle": "malum.subtitle.brilliance_block_break" }, + "brilliance_block_step": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.brilliance_block_step" }, + "brilliance_block_place": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"], "subtitle": "malum.subtitle.brilliance_block_place" }, + "brilliance_block_hit": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.brilliance_block_hit" }, + + "quartz_cluster_block_break": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"]}, + "quartz_cluster_block_step": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"]}, + "quartz_cluster_block_place": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"]}, + "quartz_cluster_block_hit": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"]}, + + "cthonic_gold_break": { "sounds":["malum:blocks/cthonic_gold/break1","malum:blocks/cthonic_gold/break2","malum:blocks/cthonic_gold/break3","malum:blocks/cthonic_gold/break4"]}, + "cthonic_gold_place": { "sounds":["malum:blocks/cthonic_gold/break1","malum:blocks/cthonic_gold/break2","malum:blocks/cthonic_gold/break3","malum:blocks/cthonic_gold/break4"]}, + + "arcane_charcoal_block_break": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"], "subtitle": "malum.subtitle.arcane_charcoal_block_break" }, + "arcane_charcoal_block_step": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.arcane_charcoal_block_step" }, + "arcane_charcoal_block_place": { "sounds":["malum:blocks/gemstone/break1","malum:blocks/gemstone/break2","malum:blocks/gemstone/break3","malum:blocks/gemstone/break4"], "subtitle": "malum.subtitle.arcane_charcoal_block_place" }, + "arcane_charcoal_block_hit": { "sounds":["malum:blocks/gemstone/hit1","malum:blocks/gemstone/hit2","malum:blocks/gemstone/hit3","malum:blocks/gemstone/hit4", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.arcane_charcoal_block_hit" }, + + "hallowed_gold_break": { "sounds":["malum:blocks/hallowed_gold/break1","malum:blocks/hallowed_gold/break2","malum:blocks/hallowed_gold/break3","malum:blocks/hallowed_gold/break4"], "subtitle": "malum.subtitle.hallowed_gold_break" }, + "hallowed_gold_step": { "sounds":["malum:blocks/hallowed_gold/hit1","malum:blocks/hallowed_gold/hit2","malum:blocks/hallowed_gold/hit3","malum:blocks/hallowed_gold/hit4"], "subtitle": "malum.subtitle.hallowed_gold_step" }, + "hallowed_gold_place": { "sounds":["malum:blocks/hallowed_gold/break1","malum:blocks/hallowed_gold/break2","malum:blocks/hallowed_gold/break3","malum:blocks/hallowed_gold/break4"], "subtitle": "malum.subtitle.hallowed_gold_place" }, + "hallowed_gold_hit": { "sounds":["malum:blocks/hallowed_gold/hit1","malum:blocks/hallowed_gold/hit2","malum:blocks/hallowed_gold/hit3","malum:blocks/hallowed_gold/hit4"], "subtitle": "malum.subtitle.hallowed_gold_hit" }, + + "soul_stained_steel_break": { "sounds":["malum:blocks/soul_stained_steel/break1","malum:blocks/soul_stained_steel/break2","malum:blocks/soul_stained_steel/break3","malum:blocks/soul_stained_steel/break4"], "subtitle": "malum.subtitle.soul_stained_steel_break" }, + "soul_stained_steel_step": { "sounds":["malum:blocks/soul_stained_steel/hit1","malum:blocks/soul_stained_steel/hit2","malum:blocks/soul_stained_steel/hit3","malum:blocks/soul_stained_steel/hit4"], "subtitle": "malum.subtitle.soul_stained_steel_step" }, + "soul_stained_steel_place": { "sounds":["malum:blocks/soul_stained_steel/break1","malum:blocks/soul_stained_steel/break2","malum:blocks/soul_stained_steel/break3","malum:blocks/soul_stained_steel/break4"], "subtitle": "malum.subtitle.soul_stained_steel_place" }, + "soul_stained_steel_hit": { "sounds":["malum:blocks/soul_stained_steel/hit1","malum:blocks/soul_stained_steel/hit2","malum:blocks/soul_stained_steel/hit3","malum:blocks/soul_stained_steel/hit4"], "subtitle": "malum.subtitle.soul_stained_steel_hit" }, + + "blight_reacts": { "sounds":["malum:blocks/blight/blight_motif1","malum:blocks/blight/blight_motif2","malum:blocks/blight/blight_motif3","malum:blocks/blight/blight_motif4","malum:blocks/blight/blight_motif5","malum:blocks/blight/blight_motif6"], "subtitle": "malum.subtitle.blight_reacts" }, + "blight_reacts_faintly": { "sounds":["malum:blocks/blight/minor_blight_motif1","malum:blocks/blight/minor_blight_motif2","malum:blocks/blight/minor_blight_motif3","malum:blocks/blight/minor_blight_motif4","malum:blocks/blight/minor_blight_motif5","malum:blocks/blight/minor_blight_motif6"], "subtitle": "malum.subtitle.blight_reacts_faintly" }, + + "calcified_blight_break": { "sounds":["malum:blocks/calcified_blight/break1","malum:blocks/calcified_blight/break2","malum:blocks/calcified_blight/break3","malum:blocks/calcified_blight/break4"], "subtitle": "malum.subtitle.calcified_blight_break" }, + "calcified_blight_step": { "sounds":["malum:blocks/calcified_blight/hit1","malum:blocks/calcified_blight/hit2","malum:blocks/calcified_blight/hit3","malum:blocks/calcified_blight/hit4"], "subtitle": "malum.subtitle.calcified_blight_step" }, + "calcified_blight_place": { "sounds":["malum:blocks/calcified_blight/break1","malum:blocks/calcified_blight/break2","malum:blocks/calcified_blight/break3","malum:blocks/calcified_blight/break4"], "subtitle": "malum.subtitle.calcified_blight_place" }, + "calcified_blight_hit": { "sounds":["malum:blocks/calcified_blight/hit1","malum:blocks/calcified_blight/hit2","malum:blocks/calcified_blight/hit3","malum:blocks/calcified_blight/hit4"], "subtitle": "malum.subtitle.calcified_blight_hit" }, + + "ether_break": { "sounds":["malum:blocks/ether/break1","malum:blocks/ether/break2","malum:blocks/ether/break3","malum:blocks/ether/break4"], "subtitle": "malum.subtitle.ether_break" }, + "ether_place": { "sounds":["malum:blocks/ether/break1","malum:blocks/ether/break2","malum:blocks/ether/break3","malum:blocks/ether/break4"], "subtitle": "malum.subtitle.ether_place" }, + + "runewood_leaves_break": { "sounds":["minecraft:block/azalea_leaves/break1","minecraft:block/azalea_leaves/break2","minecraft:block/azalea_leaves/break3","minecraft:block/azalea_leaves/break4","minecraft:block/azalea_leaves/break5","minecraft:block/azalea_leaves/break6","minecraft:block/azalea_leaves/break7"], "subtitle": "malum.subtitle.runewood_leaves_break" }, + "runewood_leaves_step": { "sounds":["minecraft:block/azalea_leaves/step1","minecraft:block/azalea_leaves/step2","minecraft:block/azalea_leaves/step3","minecraft:block/azalea_leaves/step4","minecraft:block/azalea_leaves/step5"], "subtitle": "malum.subtitle.runewood_leaves_step" }, + "runewood_leaves_place": { "sounds":["minecraft:block/azalea_leaves/break1","minecraft:block/azalea_leaves/break2","minecraft:block/azalea_leaves/break3","minecraft:block/azalea_leaves/break4","minecraft:block/azalea_leaves/break5","minecraft:block/azalea_leaves/break6","minecraft:block/azalea_leaves/break7"], "subtitle": "malum.subtitle.runewood_leaves_place" }, + "runewood_leaves_hit": { "sounds":["minecraft:block/azalea_leaves/step1","minecraft:block/azalea_leaves/step2","minecraft:block/azalea_leaves/step3","minecraft:block/azalea_leaves/step4","minecraft:block/azalea_leaves/step5"], "subtitle": "malum.subtitle.runewood_leaves_step" }, + + "soulwood_leaves_break": { "sounds":["minecraft:block/azalea_leaves/break1","minecraft:block/azalea_leaves/break2","minecraft:block/azalea_leaves/break3","minecraft:block/azalea_leaves/break4","minecraft:block/azalea_leaves/break5","minecraft:block/azalea_leaves/break6","minecraft:block/azalea_leaves/break7"], "subtitle": "malum.subtitle.soulwood_leaves_break" }, + "soulwood_leaves_step": { "sounds":["minecraft:block/azalea_leaves/step1","minecraft:block/azalea_leaves/step2","minecraft:block/azalea_leaves/step3","minecraft:block/azalea_leaves/step4","minecraft:block/azalea_leaves/step5"], "subtitle": "malum.subtitle.soulwood_leaves_step" }, + "soulwood_leaves_place": { "sounds":["minecraft:block/azalea_leaves/break1","minecraft:block/azalea_leaves/break2","minecraft:block/azalea_leaves/break3","minecraft:block/azalea_leaves/break4","minecraft:block/azalea_leaves/break5","minecraft:block/azalea_leaves/break6","minecraft:block/azalea_leaves/break7"], "subtitle": "malum.subtitle.soulwood_leaves_place" }, + "soulwood_leaves_hit": { "sounds":["minecraft:block/azalea_leaves/step1","minecraft:block/azalea_leaves/step2","minecraft:block/azalea_leaves/step3","minecraft:block/azalea_leaves/step4","minecraft:block/azalea_leaves/step5"], "subtitle": "malum.subtitle.soulwood_leaves_step" } +} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/aethers_charm.json b/src/main/resources/data/malum/recipe/jeed/aethers_charm.json deleted file mode 100644 index cb1a74325..000000000 --- a/src/main/resources/data/malum/recipe/jeed/aethers_charm.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect": "malum:aethers_charm", - "providers": [ - { - "item": "malum:soulwood_totem_base" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/anglers_lure.json b/src/main/resources/data/malum/recipe/jeed/anglers_lure.json deleted file mode 100644 index 7a0565b0f..000000000 --- a/src/main/resources/data/malum/recipe/jeed/anglers_lure.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect": "malum:anglers_lure", - "providers": [ - { - "item": "malum:soulwood_totem_base" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/earthen_might.json b/src/main/resources/data/malum/recipe/jeed/earthen_might.json deleted file mode 100644 index 59271f6a9..000000000 --- a/src/main/resources/data/malum/recipe/jeed/earthen_might.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect":"malum:earthen_might", - "providers": [ - { - "item": "malum:soulwood_totem_base" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/gaias_bulwark.json b/src/main/resources/data/malum/recipe/jeed/gaias_bulwark.json deleted file mode 100644 index bb70e68f1..000000000 --- a/src/main/resources/data/malum/recipe/jeed/gaias_bulwark.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect":"malum:gaias_bulwark", - "providers": [ - { - "item": "malum:runewood_totem_base" - } - ] -} diff --git a/src/main/resources/data/malum/recipe/jeed/gluttony.json b/src/main/resources/data/malum/recipe/jeed/gluttony.json deleted file mode 100644 index 896186c4c..000000000 --- a/src/main/resources/data/malum/recipe/jeed/gluttony.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect": "malum:gluttony", - "providers": [ - { - "item": "malum:belt_of_the_starved" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/ifrits_embrace.json b/src/main/resources/data/malum/recipe/jeed/ifrits_embrace.json deleted file mode 100644 index dc8c292b3..000000000 --- a/src/main/resources/data/malum/recipe/jeed/ifrits_embrace.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect": "malum:ifrits_embrace", - "providers": [ - { - "item": "malum:soulwood_totem_base" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/miners_rage.json b/src/main/resources/data/malum/recipe/jeed/miners_rage.json deleted file mode 100644 index 8d4d15909..000000000 --- a/src/main/resources/data/malum/recipe/jeed/miners_rage.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect": "malum:miners_rage", - "providers": [ - { - "item": "malum:runewood_totem_base" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/poseidons_grasp.json b/src/main/resources/data/malum/recipe/jeed/poseidons_grasp.json deleted file mode 100644 index 8a4002dd9..000000000 --- a/src/main/resources/data/malum/recipe/jeed/poseidons_grasp.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect": "malum:poseidons_grasp", - "providers": [ - { - "item": "malum:runewood_totem_base" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/jeed/zephyrs_courage.json b/src/main/resources/data/malum/recipe/jeed/zephyrs_courage.json deleted file mode 100644 index 33fddb69c..000000000 --- a/src/main/resources/data/malum/recipe/jeed/zephyrs_courage.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "jeed:effect_provider", - "effect": "malum:zephyrs_courage", - "providers": [ - { - "item": "malum:runewood_totem_base" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminium.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminium.json deleted file mode 100644 index 0ee29112e..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminium.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/aluminium" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "aluminium_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/aluminium", - "count": 2 - }, - "spirits": [ - { - "type": "aerial", - "count": 8 - }, - { - "type": "arcane", - "count": 4 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminum.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminum.json deleted file mode 100644 index 62a82eaee..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/aluminum.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/aluminium" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "aluminum_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/aluminum", - "count": 2 - }, - "spirits": [ - { - "type": "aerial", - "count": 8 - }, - { - "type": "arcane", - "count": 4 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/brass.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/brass.json deleted file mode 100644 index cb2e2edbb..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/brass.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/brass" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "brass_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/brass", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 16 - }, - { - "type": "infernal", - "count": 8 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/bronze.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/bronze.json deleted file mode 100644 index 15bc0d3eb..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/bronze.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/bronze" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "bronze_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/bronze", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 16 - }, - { - "type": "infernal", - "count": 8 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/electrum.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/electrum.json deleted file mode 100644 index ba145dd73..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/electrum.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/electrum" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "electrum_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/electrum", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 16 - }, - { - "type": "infernal", - "count": 4 - }, - { - "type": "aerial", - "count": 4 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/lead.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/lead.json deleted file mode 100644 index 3e03e8edf..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/lead.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/platinum" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "platinum_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/platinum", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 16 - }, - { - "type": "arcane", - "count": 16 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/nickel.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/nickel.json deleted file mode 100644 index 253440e7f..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/nickel.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/nickel" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "nickel_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/nickel", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 8 - }, - { - "type": "infernal", - "count": 4 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/osmium.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/osmium.json deleted file mode 100644 index 629e10d53..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/osmium.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/osmium" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "osmium_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/osmium", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 16 - }, - { - "type": "aqueous", - "count": 8 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/platinum.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/platinum.json deleted file mode 100644 index 3e03e8edf..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/platinum.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/platinum" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "platinum_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/platinum", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 16 - }, - { - "type": "arcane", - "count": 16 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/silver.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/silver.json deleted file mode 100644 index ee741a294..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/silver.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/silver" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "silver_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/silver", - "count": 2 - }, - "spirits": [ - { - "type": "sacred", - "count": 8 - }, - { - "type": "arcane", - "count": 4 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/steel.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/steel.json deleted file mode 100644 index 04c5ea16d..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/steel.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/steel" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "steel_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/steel", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 16 - }, - { - "type": "infernal", - "count": 8 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/tin.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/tin.json deleted file mode 100644 index 2b4db8b8c..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/tin.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/tin" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "tin_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/tin", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 8 - }, - { - "type": "aerial", - "count": 4 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/zinc.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/zinc.json deleted file mode 100644 index 6c39cb9b8..000000000 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/common/zinc.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "fabric:load_conditions": [ - { - "condition": "fabric:item_tags_populated", - "values": [ - "c:ingots/zinc" - ] - } - ], - "type": "malum:spirit_repair", - "itemIdRegex": "zinc_.+", - "modIdRegex": ".+", - "durabilityPercentage": 0.5, - "inputs": [ - ], - "repairMaterial": { - "tag": "c:ingots/zinc", - "count": 2 - }, - "spirits": [ - { - "type": "earthen", - "count": 8 - }, - { - "type": "aerial", - "count": 4 - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/skillet.json b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/skillet.json index 25beab7ea..3ae2c9d11 100644 --- a/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/skillet.json +++ b/src/main/resources/data/malum/recipe/malum/spirit_crucible/repair/skillet.json @@ -2,7 +2,9 @@ "fabric:load_conditions": [ { "condition": "fabric:all_mods_loaded", - "modid": "farmersdelight" + "values": [ + "farmersdelight" + ] } ], "type": "malum:spirit_repair", @@ -13,7 +15,9 @@ "farmersdelight:skillet" ], "repairMaterial": { - "item": "minecraft:iron_ingot", + "ingredient": { + "item": "minecraft:iron_ingot" + }, "count": 2 }, "spirits": [