#bevy #query #filter #value #component

bevy_mod_value_filter

A third party crate for bevy that enable value-based filtering

4 releases (stable)

Uses new Rust 2024

1.0.2 Aug 14, 2025
1.0.1 Aug 11, 2025
0.16.1 Aug 11, 2025

#1762 in Game dev

Download history

140 downloads per month

MIT/Apache

11KB
156 lines

[!TIP] bevy_mod_value_filter is a rework of the crate bevy_mod_check_filter that makes it compatible with bevy 0.16.1 and higher.

bevy_mod_value_filter

A query filter to allow Enabled-style marker components without losing the ergonomics of ZST-style marker component filtering!

Example

Without bevy_mod_value_filter:

#[derive(Component)]
struct Poisoned;

#[derive(Component)]
struct Name { name: &'static str }

fn all_poisoned(entities: Query<&Name, With<Poisoned>>) {
    // ...
}

With bevy_mod_value_filter:

#[derive(Component)]
struct Poisoned(pub bool);

impl std::ops::Deref for Poisoned {
    type Target = bool;
 
    fn deref(&self) -> &Self::Target {
        &self.0
    }
}

#[derive(Component)]
struct Name { name: &'static str }

fn all_poisoned(entities: Query<&Name, Check<Poisoned, Is<true>>>) {
    // ...
}

// OR with one of the provided type aliases:
fn find_poisoned(entities: Query<&Name, IsTrue<Poisoned>>) {
    // ...
}

License

All code in this repository is dual-licensed under either:

Dependencies

~13MB
~235K SLoC