6
6
import com .klikli_dev .occultism .crafting .recipe .MinerRecipe ;
7
7
import com .klikli_dev .occultism .crafting .recipe .RitualRecipe ;
8
8
import com .klikli_dev .occultism .crafting .recipe .SpiritFireRecipe ;
9
+ import com .klikli_dev .occultism .integration .BoundBookRecipeMaker ;
9
10
import com .klikli_dev .occultism .integration .emi .recipes .CrushingRecipeCategory ;
10
11
import com .klikli_dev .occultism .integration .emi .recipes .MinerRecipeCategory ;
11
12
import com .klikli_dev .occultism .integration .emi .recipes .RitualRecipeCategory ;
12
13
import com .klikli_dev .occultism .integration .emi .recipes .SpiritFireRecipeCategory ;
13
14
import com .klikli_dev .occultism .integration .emi .render .SpiritRenderable ;
14
- import com .klikli_dev .occultism .registry .*;
15
+ import com .klikli_dev .occultism .registry .OccultismBlocks ;
16
+ import com .klikli_dev .occultism .registry .OccultismEntities ;
17
+ import com .klikli_dev .occultism .registry .OccultismItems ;
18
+ import com .klikli_dev .occultism .registry .OccultismRecipes ;
15
19
import dev .emi .emi .api .EmiEntrypoint ;
16
20
import dev .emi .emi .api .EmiInitRegistry ;
17
21
import dev .emi .emi .api .EmiPlugin ;
18
22
import dev .emi .emi .api .EmiRegistry ;
19
- import dev .emi .emi .api .recipe .EmiRecipe ;
23
+ import dev .emi .emi .api .recipe .EmiCraftingRecipe ;
20
24
import dev .emi .emi .api .recipe .EmiRecipeCategory ;
21
25
import dev .emi .emi .api .render .EmiTexture ;
26
+ import dev .emi .emi .api .stack .EmiIngredient ;
22
27
import dev .emi .emi .api .stack .EmiStack ;
28
+ import net .minecraft .core .RegistryAccess ;
23
29
import net .minecraft .resources .ResourceLocation ;
24
30
import net .minecraft .world .item .ItemStack ;
31
+ import net .minecraft .world .item .crafting .CraftingRecipe ;
25
32
import net .minecraft .world .item .crafting .Ingredient ;
26
33
import net .minecraft .world .item .crafting .RecipeManager ;
27
34
import net .minecraftforge .registries .ForgeRegistries ;
@@ -34,10 +41,10 @@ public class OccultismEmiPlugin implements EmiPlugin {
34
41
public static final EmiStack DIMENSIONAL_MINESHAFT = EmiStack .of (OccultismBlocks .DIMENSIONAL_MINESHAFT .get ());
35
42
public static final EmiStack GOLDEN_SACRIFICIAL_BOWL = EmiStack .of (OccultismBlocks .GOLDEN_SACRIFICIAL_BOWL .get ());
36
43
public static final ResourceLocation EMI_WIDGETS = new ResourceLocation (Occultism .MODID , "textures/gui/emi/widgets.png" );
37
- public static final EmiRecipeCategory SPIRIT_FIRE_CATEGORY = new EmiRecipeCategory (new ResourceLocation (Occultism .MODID , "spirit_fire" ),SPIRIT_FIRE , new EmiTexture (EMI_WIDGETS , 0 , 0 , 16 , 16 ));
44
+ public static final EmiRecipeCategory SPIRIT_FIRE_CATEGORY = new EmiRecipeCategory (new ResourceLocation (Occultism .MODID , "spirit_fire" ), SPIRIT_FIRE , new EmiTexture (EMI_WIDGETS , 0 , 0 , 16 , 16 ));
38
45
public static final EmiRecipeCategory CRUSHING_CATEGORY = new EmiRecipeCategory (new ResourceLocation (Occultism .MODID , "crushing" ), new SpiritRenderable <FoliotEntity >(OccultismEntities .FOLIOT .get ()), new EmiTexture (EMI_WIDGETS , 32 , 0 , 16 , 16 ));
39
46
public static final EmiRecipeCategory MINER_CATEGORY = new EmiRecipeCategory (new ResourceLocation (Occultism .MODID , "miner" ), DIMENSIONAL_MINESHAFT , new EmiTexture (EMI_WIDGETS , 48 , 0 , 16 , 16 ));
40
- public static final EmiRecipeCategory RITUAL_CATEGORY = new EmiRecipeCategory (new ResourceLocation (Occultism .MODID , "ritual" ),GOLDEN_SACRIFICIAL_BOWL , new EmiTexture (EMI_WIDGETS , 64 , 0 , 16 , 16 ));
47
+ public static final EmiRecipeCategory RITUAL_CATEGORY = new EmiRecipeCategory (new ResourceLocation (Occultism .MODID , "ritual" ), GOLDEN_SACRIFICIAL_BOWL , new EmiTexture (EMI_WIDGETS , 64 , 0 , 16 , 16 ));
41
48
42
49
@ Override
43
50
public void initialize (EmiInitRegistry registry ) {
@@ -59,31 +66,36 @@ public void register(EmiRegistry emiRegistry) {
59
66
60
67
emiRegistry .addCategory (RITUAL_CATEGORY );
61
68
emiRegistry .addWorkstation (RITUAL_CATEGORY , GOLDEN_SACRIFICIAL_BOWL );
62
- RecipeManager manager = emiRegistry .getRecipeManager ();
63
- for (SpiritFireRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .SPIRIT_FIRE_TYPE .get ())) {
69
+ RecipeManager manager = emiRegistry .getRecipeManager ();
70
+ for (SpiritFireRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .SPIRIT_FIRE_TYPE .get ())) {
64
71
emiRegistry .addRecipe (new SpiritFireRecipeCategory (recipe ));
65
72
}
66
- for (CrushingRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .CRUSHING_TYPE .get ())){
73
+ for (CrushingRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .CRUSHING_TYPE .get ())) {
67
74
emiRegistry .addRecipe (new CrushingRecipeCategory (recipe ));
68
75
}
69
76
70
- for (MinerRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .MINER_TYPE .get ())){
71
- if (recipe .getIngredients ().get (0 ).values .length == 1 ) {
77
+ for (MinerRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .MINER_TYPE .get ())) {
78
+ if (recipe .getIngredients ().get (0 ).values .length == 1 ) {
72
79
if (recipe .getIngredients ().get (0 ).values [0 ] instanceof Ingredient .TagValue ) {
73
80
var tag = ((Ingredient .TagValue ) recipe .getIngredients ().get (0 ).values [0 ]).tag ;
74
- if (!MinerRecipeCategory .totalWeights .containsKey (tag ))
75
- MinerRecipeCategory .totalWeights .put (tag ,0L );
76
- MinerRecipeCategory .totalWeights .put (tag ,MinerRecipeCategory .totalWeights .get (tag )+ recipe .getWeightedOutput ().getWeight ().asInt ());
81
+ if (!MinerRecipeCategory .totalWeights .containsKey (tag ))
82
+ MinerRecipeCategory .totalWeights .put (tag , 0L );
83
+ MinerRecipeCategory .totalWeights .put (tag , MinerRecipeCategory .totalWeights .get (tag ) + recipe .getWeightedOutput ().getWeight ().asInt ());
77
84
78
85
79
86
}
80
87
}
81
88
}
82
- for (MinerRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .MINER_TYPE .get ())){
89
+ for (MinerRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .MINER_TYPE .get ())) {
83
90
emiRegistry .addRecipe (new MinerRecipeCategory (recipe ));
84
91
}
85
- for (RitualRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .RITUAL_TYPE .get ())){
92
+ for (RitualRecipe recipe : manager .getAllRecipesFor (OccultismRecipes .RITUAL_TYPE .get ())) {
86
93
emiRegistry .addRecipe (new RitualRecipeCategory (recipe ));
87
94
}
95
+
96
+ for (CraftingRecipe recipe : BoundBookRecipeMaker .createRecipes ()) {
97
+ var ingredients = recipe .getIngredients ().stream ().map (EmiIngredient ::of ).toList ();
98
+ emiRegistry .addRecipe (new EmiCraftingRecipe (ingredients , EmiStack .of (recipe .getResultItem (RegistryAccess .EMPTY )), recipe .getId (), true ));
99
+ }
88
100
}
89
101
}
0 commit comments