function init(hero) {
    hero.setName("Steve");
    hero.setTier(4);

    hero.setHelmet("item.superhero_armor.piece.helmet");
    hero.setChestplate("item.superhero_armor.piece.chestpiece");
    hero.setLeggings("item.superhero_armor.piece.pants");
    hero.setBoots("item.superhero_armor.piece.boots");

    hero.addAttribute("JUMP_HEIGHT", 4, 0);
    hero.addAttribute("BASE_SPEED", 2, 1);
    hero.addAttribute("MAX_HEALTH", 4, 0);
    hero.addAttribute("FALL_RESISTANCE", 1, 1);
    hero.addAttribute("PUNCH_DAMAGE", 4, 0);

    hero.addKeyBindFunc("func_SLOT_CHANGING", slotChange, "Slot Change", 1)

    hero.addKeyBind("SLOT1", "Slot1", 4)
    hero.addKeyBind("SLOT2", "Slot2", 4)
    hero.addKeyBind("SLOT3", "Slot3", 4)

    hero.setHasProperty(hasProperty);

    hero.setKeyBindEnabled(isKeyBindEnabled);

}

function slotChange(player, manager) {
    var dataVar = "shadows:dyn/slot"
        var slot = player.getData(dataVar)

        manager.setData(player, dataVar, slot + 1)

        if (slot == 2) {
            manager.setData(player, dataVar, 0)
        }

        return true;
}

function isKeyBindEnabled(entity, keyBind) {
    switch (keyBind) {
    case "SLOT1":
        return entity.getData("shadows:dyn/slot") == 0
    case "SLOT2":
        return entity.getData("shadows:dyn/slot") == 1

    default:
        return true;
    }
}

function hasProperty(entity, property) {
    return property == "MASK_TOGGLE";
}
