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+Creators
Details
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:
// 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.