#joke #build #plugins #author #change #game

bvy

Just when you thought Bevy couldn’t get more ergonomic, Bvy shows up to change the game

1 unstable release

Uses new Rust 2021

0.7.0 Jun 4, 2022

MIT/Apache

7KB

Just when you thought Bevy couldn't get more ergonomic, Bvy shows up to change the game. Is this a joke? You decide. Does it work? You can bet your Ass(etServer) it does. Bvy shortens core Bevy ECS and some engine type names to a ... lets just say opinionated ... degree. This is implemented with type aliases, which means this is 100% compatible with bevy types and plugins. The author of this crate does not actually endorse using this crate over the actual bevy crate. Sometimes we just build things because we can.

use bvy::*;

fn main() {
    App::new()
        .add_system(movement)
        .run();
}

fn setup(mut com: Com, ass: Ass) {
    com.spawn_bundle(OrthographicCamera::new_2d())
    com.spawn_bundle(SpriteBundle {
        texture: ass.load("player.png"),
        ..default()
    })
}

fn movement(time: R<Time>, mut transforms: Q<&mut Transform>) {
    for mut t in transforms.iter_mut() {
        t.translation.x += time.delta_seconds() * 10.0;
    }
}

Changes

  • bevy::prelude::* -> bvy::*
  • Query<&Transform> -> Q<&Transform>`
  • Res<Time> -> R<Time>
  • ResMut<Assets<Mesh>> -> Rm<Assets<Mesh>>
  • Commands -> Com
  • AssetServer -> Ass
  • Query<&Transform, With<Player>> -> Q<&Transform, W<Player>>
  • Query<&Transform, Without<Player>> -> Q<&Transform, Wo<Player>>
  • ParamSet<(Query<(&mut Transform, &Player)>, Query<&mut Transform>)> -> Ps<(Q<(&mut Transform, &Player)>, Q<&mut Transform>)>
  • EventWriter<AppExit> -> Ew<AppExit>
  • EventReader<AppExit> -> Er<AppExit>

Dependencies

~11–17MB
~346K SLoC