|
1 | 1 | package com.klikli_dev.occultism_kubejs;
|
2 | 2 |
|
3 | 3 | import com.klikli_dev.occultism.crafting.recipe.RitualRecipe;
|
| 4 | +import com.klikli_dev.occultism_kubejs.component.EntityToSacrificeComponent; |
| 5 | +import com.klikli_dev.occultism_kubejs.component.EntityToSummonSettingsComponent; |
| 6 | +import com.klikli_dev.occultism_kubejs.component.RitualRequirementSettingsComponent; |
| 7 | +import com.klikli_dev.occultism_kubejs.component.RitualStartSettingsComponent; |
4 | 8 | import dev.latvian.mods.kubejs.recipe.RecipeKey;
|
5 | 9 | import dev.latvian.mods.kubejs.recipe.component.*;
|
6 | 10 | import dev.latvian.mods.kubejs.recipe.schema.RecipeSchema;
|
|
15 | 19 | import java.util.List;
|
16 | 20 |
|
17 | 21 | public interface RitualRecipeSchema {
|
18 |
| - RecipeKey<ItemStack> RESULT = ItemStackComponent.ITEM_STACK.outputKey("result").allowEmpty(); |
19 |
| - RecipeKey<List<Ingredient>> INGREDIENTS = IngredientComponent.INGREDIENT.asList().inputKey("ingredients"); |
20 | 22 | RecipeKey<String> RITUAL_TYPE = StringComponent.ID.inputKey("ritual_type").alt("ritualType").optional("occultism:craft").alwaysWrite();
|
21 |
| - RecipeKey<String> ENTITY_TO_SUMMON = StringComponent.ID.inputKey("entity_to_summon").alt("entityToSummon").alt("summon").defaultOptional(); |
22 |
| - RecipeKey<TagKey<EntityType<?>>> ENTITY_TAG_TO_SUMMON = TagKeyComponent.ENTITY_TYPE.inputKey("entity_tag_to_summon").alt("entityTagToSummon").alt("summonTag").defaultOptional(); |
23 |
| - RecipeKey<String> ENTITY_NBT = StringComponent.ANY.inputKey("entity_nbt").alt("entityNbt").defaultOptional(); |
24 |
| - RecipeKey<Ingredient> ACTIVATION_ITEM = IngredientComponent.INGREDIENT.inputKey("activation_item").alt("activationItem"); |
25 |
| - RecipeKey<String> PENTACLE_ID = StringComponent.ID.inputKey("pentacle_id").alt("pentacleId").alt("pentacle"); |
26 |
| - RecipeKey<TickDuration> DURATION = TimeComponent.TICKS.inputKey("duration").optional(TickDuration.wrap(30)); |
27 |
| - RecipeKey<Integer> SPIRIT_MAX_AGE = NumberComponent.INT.inputKey("spirit_max_age").alt("spiritMaxAge").alt("maxAge").optional(-1); |
28 |
| - RecipeKey<String> SPIRIT_JOB_TYPE = StringComponent.ID.inputKey("spirit_job_type").alt("spiritJobType").alt("jobType").defaultOptional(); |
| 23 | + RecipeKey<RitualRecipe.RitualRequirementSettings> RITUAL_REQUIREMENT_SETTINGS = RitualRequirementSettingsComponent.RITUAL_REQUIREMENT_SETTINGS.inputKey("ritual_requirement_settings").alt("ritualRequirementSettings").alwaysWrite(); |
| 24 | + RecipeKey<RitualRecipe.RitualStartSettings> RITUAL_START_SETTINGS = RitualStartSettingsComponent.RITUAL_START_SETTINGS.inputKey("ritual_start_settings").alt("ritualStartSettings").alwaysWrite(); |
| 25 | + RecipeKey<RitualRecipe.EntityToSummonSettings> ENTITY_TO_SUMMON_SETTINGS = EntityToSummonSettingsComponent.ENTITY_TO_SUMMON_SETTINGS.outputKey("entity_to_summon_settings").alt("entityToSummonSettings") |
| 26 | + .defaultOptional(); |
29 | 27 | RecipeKey<ItemStack> RITUAL_DUMMY = ItemStackComponent.ITEM_STACK.outputKey("ritual_dummy").alt("ritualDummy").alt("dummyItem").alt("dummy")
|
30 | 28 | // apparently there is never any static reference to this item, so let's just hope klikli never changes this lmao
|
31 | 29 | .optional(new ItemStack(BuiltInRegistries.ITEM.get(ResourceLocation.parse("occultism:ritual_dummy/custom_ritual"))))
|
32 | 30 | .alwaysWrite();
|
33 |
| - |
34 |
| - RecipeKey<RitualRecipe.EntityToSacrifice> ENTITY_TO_SACRIFICE = EntityToSacrificeComponent.ENTITY_TO_SACRIFICE |
35 |
| - .inputKey("entity_to_sacrifice").alt("entityToSacrifice").alt("sacrifice") |
36 |
| - .defaultOptional(); |
37 |
| - RecipeKey<Ingredient> ITEM_TO_USE = IngredientComponent.INGREDIENT.inputKey("item_to_use") |
38 |
| - .alt("itemToUse").alt("useItem").optional(Ingredient.EMPTY).allowEmpty(); |
| 31 | + RecipeKey<ItemStack> RESULT = ItemStackComponent.ITEM_STACK.outputKey("result").allowEmpty(); |
39 | 32 | RecipeKey<String> COMMAND = StringComponent.ANY.inputKey("command").defaultOptional();
|
40 | 33 |
|
41 | 34 | RecipeSchema SCHEMA = new RecipeSchema(
|
42 | 35 | // all the required keys first
|
43 |
| - RESULT, INGREDIENTS, ACTIVATION_ITEM, PENTACLE_ID, |
| 36 | + RESULT, |
| 37 | + RITUAL_REQUIREMENT_SETTINGS, RITUAL_START_SETTINGS, |
44 | 38 | // and now all the optionals...
|
45 |
| - DURATION, SPIRIT_MAX_AGE, SPIRIT_JOB_TYPE, RITUAL_DUMMY, RITUAL_TYPE, |
46 |
| - ENTITY_TO_SUMMON, ENTITY_TAG_TO_SUMMON, ENTITY_NBT, ENTITY_TO_SACRIFICE, ITEM_TO_USE, COMMAND |
| 39 | + ENTITY_TO_SUMMON_SETTINGS, RITUAL_DUMMY, RITUAL_TYPE, COMMAND |
47 | 40 | ).uniqueId(RITUAL_DUMMY);
|
48 | 41 |
|
49 | 42 | }
|
0 commit comments