SlashBlade JS

An mod that facilitates developers in editing and creating recipes for Slashblade: Resharped using KubeJS scripts, along with utilizing its events.

17,15k

SlashBlade JS

Slashblade JS

An mod that facilitates developers in editing and creating recipes for Slashblade: Resharped using KubeJS scripts, along with utilizing its events.

What Can It Do?

Here's a ready-to-use example:

```javascript // priority: 0

/* Server Side */

// When Slashblade checks power state: If not powered, consume 10 ProudSoul to enter charged state SlashBladeJSEvents.powerBlade(event => { let state = BladeState.of(event.blade) let proudsoul = state.proudSoulCount if (!event.isPowered() && proudsoul >= 10) { state.setProudSoulCount(proudsoul - 10) event.setPowered(true) } event.user.tell("ProudSoul: " + proudsoul) // Notify player of current ProudSoul value })

// A custom Slashblade recipe ServerEvents.recipes(event => { event.recipes.slashblade.slashblade_shaped_recipe("slashblade:slashblade", [ "ABA", "CSC", "ABC" ], { "S": SlashBladeIngredient.of( SlashBladeRequestDefinition.name("slashblade:fox_black") // Required base blade .killCount(233) // Kill count requirement .proudSoul(114514) // ProudSoul requirement .refineCount(10) // Refinement count requirement .addEnchantment(SBEnchantmentDefinition.of("minecraft:power", 2)) // Enchantment requirement .build() // Don't forget to .build() ), "A": "minecraft:golden_apple", // Other materials (like vanilla recipes) "B": "#forge:bones", "C": "minecraft:cake", }, "slashblade:fox_white"/* Resulting blade ID */) })

// Create your custom blade ServerEvents.highPriorityData(event => { let customBlade = SBSlashBladeDefinition.of("kubejs:test_blade", // Your blade ID SBRenderDefinition.newInstance() // Render properties .effectColor(2039347) // Blade effect color (hex RGB to decimal) .standbyRenderType(SBCarryType.DEFAULT) // Sheathed position .modelName("kubejs:model/named/test_blade.obj") // Path: ./kubejs/assets/kubejs/model/named/test_blade.obj .textureName("kubejs:model/named/test_blade.png") // Path: ./kubejs/assets/kubejs/model/named/test_blade.png .build(), // Don't forget to .build() SBPropertiesDefinition.newInstance() .maxDamage(666) // Max durability .baseAttackModifier(999) // Base attack damage .slashArtsType("slashblade:void_slash") // Set special attack .addSpecialEffect("slashblade:wither_edge") // Add special effect .defaultSwordType([SBSwordType.FIERCEREDGE, SBSwordType.BEWITCHED]) // Set blade types .build(), // Don't forget to .build() [ // Default enchantments SBEnchantmentDefinition.of("minecraft:power", 5), SBEnchantmentDefinition.of("minecraft:unbreaking", 10) ] )

// Register to game event.addJson("kubejs:slashblade/named_blades/test_blade.json", SBSlashBladeDefinition.toJSON(customBlade)) }) ```

License

This mod is open-source under the GPL v3.0 License.

You may include it in your modpacks/servers as long as you comply with the license terms.

ADS