-
Notifications
You must be signed in to change notification settings - Fork 24
For mod developers
Sergey edited this page Mar 26, 2025
·
1 revision
- Create processor block entity class
public class MyCustomProcessorBE extends NCProcessorBE {
public MyCustomProcessorBE(BlockPos pPos, BlockState pBlockState) {
super(pPos, pBlockState, "my_custom_processor");
}
@NothingNullByDefault
public static class Recipe extends NcRecipe {
public Recipe(ResourceLocation id,
ItemStackIngredient[] input, ItemStackIngredient[] output,
FluidStackIngredient[] inputFluids, FluidStackIngredient[] outputFluids,
double timeModifier, double powerModifier, double heatModifier, double rarity) {
super(id, input, output, timeModifier, powerModifier, heatModifier, 1);
}
@Override
public String getCodeId() {
return "my_custom_processor";
}
}
}- Create processors registration class
@NCProcessorsRegistry
public class MyCustomProcessors implements IProcessorRegistry {
@Override
public void registerProcessors(HashMap<String, ProcessorPrefab> registry) {
registry.put("my_custom_processor",
ProcessorBuilder
.make("my_custom_processor", 1, 0, 1, 0)
.blockEntity(MyCustomProcessorBE::new)
.recipe(MyCustomProcessorBE.Recipe::new)
.build()
);
}
}- Place processor recipes into resource folder: data/nuclearcraft/recipes/my_custom_processor/
Format:
{
"type": "nuclearcraft:my_custom_processor",
"inputFluids": [
{
"amount": 1000,
"tag": "forge:nitrogen"
}
],
"outputFluids": [
{
"amount": 100,
"tag": "forge:liquid_nitrogen"
}
],
"powerModifier": 1.0,
"radiation": 1.0,
"timeModifier": 1.0
}More examples in NuclearCraft: generated/data/nuclearcraft/recipes
- Add blockstate. Path: assets/nuclearcraft/blockstates/my_custom_processor.json
Example:
{
"variants": {
"facing=east,powered=false": {
"model": "nuclearcraft:block/processor/my_custom_processor",
"y": 90
},
"facing=east,powered=true": {
"model": "nuclearcraft:block/processor/my_custom_processor_powered",
"y": 90
},
"facing=north,powered=false": {
"model": "nuclearcraft:block/processor/my_custom_processor"
},
"facing=north,powered=true": {
"model": "nuclearcraft:block/processor/my_custom_processor_powered"
},
"facing=south,powered=false": {
"model": "nuclearcraft:block/processor/my_custom_processor",
"y": 180
},
"facing=south,powered=true": {
"model": "nuclearcraft:block/processor/my_custom_processor_powered",
"y": 180
},
"facing=west,powered=false": {
"model": "nuclearcraft:block/processor/my_custom_processor",
"y": 270
},
"facing=west,powered=true": {
"model": "nuclearcraft:block/processor/my_custom_processor_powered",
"y": 270
}
}
}- Add block models. Path: assets/nuclearcraft/models/block/processor/
Format:
{
"parent": "minecraft:block/cube",
"textures": {
"down": "nuclearcraft:block/processor/top",
"east": "nuclearcraft:block/processor/side",
"north": "nuclearcraft:block/processor/my_custom_processor",
"particle": "nuclearcraft:block/processor/side",
"south": "nuclearcraft:block/processor/back",
"up": "nuclearcraft:block/processor/bottom",
"west": "nuclearcraft:block/processor/side"
}
}- Add textures for model