Set Effects - A Tool for Creating Custom Armor Sets
Set Effects provides developers with the capability to create fully customizable armor sets in Minecraft. Using the flexible KubeJS scripting system, this mod allows for fine-tuning of bonus effects and characteristics for game sets.
Key Features:
- Item-ID-based bonus system - tracking effect activation based on specific item IDs
- Support for all equipment slots:
- Hands (including main and off-hand)
- Armor (from helmet to boots)
- Curios accessories
For each armor set you can:
- Add potion effects of any level
- Modify character attributes
- Customize tooltip displays in the interface
- Integrate custom functions for various game situations (jumps, attacks, and other actions)
KubeJS Implementation Example:
The core of the workflow involves loading SetEffects content packs and distributing the required functionality between range managers and events.
// Load SetEffects from content packs
const SetEffects = ContentPacks.getShared('server', 'com.whisent.seteffects')
// Range manager allows configuration of effect radius
const SetRangeManager = SetEffects.setRangeManager
// Main interface - event manager for creating and modifying sets
const SetEvents = SetEffects.setEvents
// Create a basic leather armor set
SetEvents.registry(event => {
event.create([
"minecraft:leather_helmet",
"minecraft:leather_chestplate",
"minecraft:leather_leggings",
"minecraft:leather_boots"
], "leather")
.setName('Leather Set')
.addAttribute("minecraft:generic.max_health", uuid, 10, 'addition')
.addPotionEffect('speed', 0, false, false)
.addAttribute("minecraft:generic.attack_speed", UUID.fromString('38663ac4-26e0-ea8c-f65f-edb9e930c57c'), 0.3, 'addition')
.setCounts(4)
.injectFallFunc((event, set) => {
event.setDistance(event.getDistance() - 3)
})
})
/* Modifying already created sets is equally simple:
Access to a specific set, all active ones with equipment
or the corresponding map is possible through standard API methods
**/
SetEvents.modification(event => {})