Compatibility
Minecraft: Java Edition
1.20.1
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Links
Creators
Details
KubeJS Mystical Agriculture
the project has 2 goals, substitute mystical customization and add support for all mystical agriculture recipe types.
with this project you can add awakening recipes, enchanter recipes, infusion recipes, seed reprocessor recipes, soul extraction recipes and soulium spawner recipes.
this mod has startup events for crops and mob soul types allowing access to the respective registry, this means you can add crops and mob souls.
Adding Recipes
ServerEvents.recipes(event => {
const {awakening,enchanter,infusion,reprocessor,soul_extraction,soulium_spawner} = event.recipes.mysticalagriculture;
// awakening
awakening(
"minecraft:gold_ingot", // result
"minecraft:iron_ingot", // item in the middle
[
Item.of("minecraft:yellow_dye",40), // may contain count
Item.of("minecraft:yellow_dye",40),
Item.of("minecraft:yellow_dye",40),
Item.of("minecraft:yellow_dye",40)
], // items in essence vessels
[
"#minecraft;flowers",
"#minecraft;flowers",
"#minecraft;flowers",
"#minecraft;flowers",
] // items in pedestal
);
// enchanter
enchanter(
"minecraft:sharpness", //result enchantment which will be produced
[
Item.of("minecraft:flint",3),
Item.of("minecraft:iron_ingot",2)
] // array of 1-2 items may contain count
);
// infusion
infusion(
"minecraft:emerald", // result
"minecraft:diamond", // item in middle
[
Item.of("minecraft:green_dye",4) // count is unwrapped into multiple items
] // items in pedestals
);
// reprocessor
reprocessor(
"minecraft:iron_ingot", // result
"minecraft:compass" // input item
);
// soul extractor
// constructor 1
soul_extraction(
{
type:"mysticalagriculture:blaze",
souls:30
}, // mob souls
"minecraft:magma_cream" // input item
);
// constructor 2
soul_extraction(
"mysticalagriculture:zombie", // mob soul type
0.5, //souls count
"minecraft:diamond" // input item
);
// soulium spawner
soulium_spawner(
[
{
entity:"minecraft:zombie",
weight:100
},
{
entity:"minecraft:iron_golem",
// weight if not defined will be 1
}
], // entities
[
Item.of("minecraft:emerald",4) // may contain count
] // input items
);
});
Adding Crops
in startup_scripts
MysticalAgricultureStartupEvents.crop(event => {
// here you can access the crop registry as event.registry
/* methods
void register(Crop crop);
void registerTier(CropTier tier);
void registerType(CropType type);
List<Crop> getCrops();
Crop getCropById(ResourceLocation id);
Crop getCropByName(String name);
List<CropTier> getTiers();
CropTier getTierById(ResourceLocation id);
List<CropType> getTypes();
CropType getTypeById(ResourceLocation id);
*/
// note that you can't unregister a crop but you can disable them
// to register a crop you need a Crop object
const kubium = new Crop(
"kubejs:kubium", // id of crop
"mysticalagriculture:5", // crop tier id or object
"mysticalagriculture:resource", // crop type id or object
new CropTextures(
"mysticalagriculture:block/flower_ingot",// flower texture
"mysticalagriculture:item/essence_ingot" // essence texture
// you may also set a texture for the seed by passing an extra argument
), // textures
"#forge:ingots/kubium" // ingredient, note that this is a custom object used by mystical agriculture so it must be either a tag or item
);
const red = new Crop(
"kubejs:red",
CropTier.ONE,
CropType.RESOURCE,
CropTextures.DUST_CROP_TEXTURES,
16711680,// color in decimal
"minecraft:red_dye"
);
// after creating crops register them
event.register(kubium);
red.setDisplayName(Text.ofString("RED").red());
event.register(red);
});
Project matrix room:https://matrix.to/#/!JWjgXbzJNbNspnvzKJ:matrix.org?via=matrix.org