Skip to content

Commit 2d3d589

Browse files
committed
Datagen + Cactifish Stew
1 parent 41d446e commit 2d3d589

18 files changed

Lines changed: 228 additions & 26 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// 1.21.1 2025-12-10T16:37:30.5875784 Item Models: starcatcher_delight
2+
6f4c1e8f137ba0d042d80ee6be8c781ffd8884e2 assets/starcatcher_delight/models/item/cactifish_stew.json
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// 1.21.1 2025-12-10T16:39:28.9916945 Recipes
2+
51ad7ac1d72c9735ae7c7bf7519711531cd862ea data/farmersdelight/advancement/recipes/cooking/cactifish_stew.json
3+
2e2dbe34bab30c554270f9ea377811928fa76ed2 data/farmersdelight/recipe/cooking/cactifish_stew.json
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "starcatcher_delight:item/cactifish_stew"
5+
}
6+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"parent": "minecraft:recipes/root",
3+
"criteria": {
4+
"has_any_ingredient": {
5+
"conditions": {
6+
"items": [
7+
{
8+
"items": "starcatcher:cactifish"
9+
}
10+
]
11+
},
12+
"trigger": "minecraft:inventory_changed"
13+
},
14+
"has_the_recipe": {
15+
"conditions": {
16+
"recipe": "farmersdelight:cooking/cactifish_stew"
17+
},
18+
"trigger": "minecraft:recipe_unlocked"
19+
}
20+
},
21+
"requirements": [
22+
[
23+
"has_the_recipe",
24+
"has_any_ingredient"
25+
]
26+
],
27+
"rewards": {
28+
"recipes": [
29+
"farmersdelight:cooking/cactifish_stew"
30+
]
31+
}
32+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"type": "farmersdelight:cooking",
3+
"experience": 1.0,
4+
"ingredients": [
5+
{
6+
"item": "starcatcher:cactifish"
7+
},
8+
{
9+
"tag": "c:crops/tomato"
10+
},
11+
{
12+
"tag": "c:crops/cabbage"
13+
},
14+
{
15+
"tag": "c:crops/onion"
16+
}
17+
],
18+
"recipe_book_tab": "meals",
19+
"result": {
20+
"count": 1,
21+
"id": "starcatcher_delight:cactifish_stew"
22+
}
23+
}

src/main/java/com/wdiscute/starcatchers_delight/Config.java renamed to src/main/java/com/wdiscute/starcatcher_delight/Config.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.wdiscute.starcatchers_delight;
1+
package com.wdiscute.starcatcher_delight;
22

33
import net.neoforged.neoforge.common.ModConfigSpec;
44

src/main/java/com/wdiscute/starcatchers_delight/StarcatcherDelight.java renamed to src/main/java/com/wdiscute/starcatcher_delight/StarcatcherDelight.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.wdiscute.starcatchers_delight;
1+
package com.wdiscute.starcatcher_delight;
22

3-
import com.wdiscute.starcatchers_delight.registry.ModCreativeTab;
4-
import com.wdiscute.starcatchers_delight.registry.ModItems;
3+
import com.wdiscute.starcatcher_delight.registry.ModCreativeTab;
4+
import com.wdiscute.starcatcher_delight.registry.ModItems;
55
import org.slf4j.Logger;
66

77
import com.mojang.logging.LogUtils;
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.wdiscute.starcatcher_delight.datagen;
2+
3+
import com.wdiscute.starcatcher_delight.StarcatcherDelight;
4+
import net.minecraft.core.HolderLookup;
5+
import net.minecraft.data.PackOutput;
6+
import net.neoforged.bus.api.SubscribeEvent;
7+
import net.neoforged.fml.common.EventBusSubscriber;
8+
import net.neoforged.neoforge.common.data.ExistingFileHelper;
9+
import net.neoforged.neoforge.data.event.GatherDataEvent;
10+
11+
import java.util.concurrent.CompletableFuture;
12+
13+
@EventBusSubscriber(modid = StarcatcherDelight.MOD_ID)
14+
public class DataGenerator {
15+
16+
@SubscribeEvent
17+
public static void gatherData(GatherDataEvent event) {
18+
PackOutput output = event.getGenerator().getPackOutput();
19+
net.minecraft.data.DataGenerator gen = event.getGenerator();
20+
ExistingFileHelper helper = event.getExistingFileHelper();
21+
CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider();
22+
23+
gen.addProvider(event.includeServer(), new ModItemModelProvider(output, helper));
24+
gen.addProvider(event.includeServer(), new ModRecipeProvider(output, lookupProvider));
25+
}
26+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.wdiscute.starcatcher_delight.datagen;
2+
3+
import com.wdiscute.starcatcher_delight.StarcatcherDelight;
4+
import com.wdiscute.starcatcher_delight.registry.ModItems;
5+
import net.minecraft.data.PackOutput;
6+
import net.neoforged.neoforge.client.model.generators.ItemModelProvider;
7+
import net.neoforged.neoforge.common.data.ExistingFileHelper;
8+
9+
public class ModItemModelProvider extends ItemModelProvider {
10+
public ModItemModelProvider(PackOutput output, ExistingFileHelper existingFileHelper) {
11+
super(output, StarcatcherDelight.MOD_ID, existingFileHelper);
12+
}
13+
14+
@Override
15+
protected void registerModels() {
16+
basicItem(ModItems.CACTIFISH_STEW.get());
17+
}
18+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.wdiscute.starcatcher_delight.datagen;
2+
3+
import com.wdiscute.starcatcher_delight.registry.ModItems;
4+
import net.minecraft.core.HolderLookup;
5+
import net.minecraft.data.PackOutput;
6+
import net.minecraft.data.recipes.RecipeOutput;
7+
import net.minecraft.data.recipes.RecipeProvider;
8+
import net.neoforged.neoforge.common.conditions.IConditionBuilder;
9+
import vectorwing.farmersdelight.client.recipebook.CookingPotRecipeBookTab;
10+
import vectorwing.farmersdelight.common.tag.CommonTags;
11+
import vectorwing.farmersdelight.data.builder.CookingPotRecipeBuilder;
12+
13+
import java.util.concurrent.CompletableFuture;
14+
15+
public class ModRecipeProvider extends RecipeProvider implements IConditionBuilder {
16+
public ModRecipeProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
17+
super(output, registries);
18+
}
19+
20+
public static final int FAST_COOKING = 100; // 5 seconds
21+
public static final int NORMAL_COOKING = 200; // 10 seconds
22+
public static final int SLOW_COOKING = 400; // 20 seconds
23+
24+
public static final float SMALL_EXP = 0.35F;
25+
public static final float MEDIUM_EXP = 1.0F;
26+
public static final float LARGE_EXP = 2.0F;
27+
28+
29+
@Override
30+
protected void buildRecipes(RecipeOutput output) {
31+
cookMeals(output);
32+
}
33+
34+
private static void cookMeals(RecipeOutput output) {
35+
36+
CookingPotRecipeBuilder.cookingPotRecipe(ModItems.CACTIFISH_STEW.get(), 1, NORMAL_COOKING, MEDIUM_EXP)
37+
.addIngredient(com.wdiscute.starcatcher.ModItems.CACTIFISH)
38+
.addIngredient(CommonTags.CROPS_TOMATO)
39+
.addIngredient(CommonTags.CROPS_CABBAGE)
40+
.addIngredient(CommonTags.CROPS_ONION)
41+
.unlockedByAnyIngredient(com.wdiscute.starcatcher.ModItems.CACTIFISH)
42+
.setRecipeBookTab(CookingPotRecipeBookTab.MEALS)
43+
.build(output);
44+
}
45+
}

0 commit comments

Comments
 (0)