KubeJS Mystical Agriculture
KubeJS addon which adds support for all Mystical Agriculture recipe types and for creating mob souls and crops. No mystical customization needed
KubeJS Mystical Agriculture
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
```javascript 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 ```javascript 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