Skip to content

Commit b49ab94

Browse files
committed
[Merge] Bevy 0.16
3 parents 7310f2a + 4709050 + bdf4f54 commit b49ab94

27 files changed

+175
-130
lines changed

examples/advancement.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use std::collections::HashMap;
22

3-
use valence::advancement::bevy_hierarchy::{BuildChildren, Children, Parent};
43
use valence::advancement::ForceTabUpdate;
54
use valence::prelude::*;
65

@@ -31,7 +30,7 @@ fn main() {
3130
Update,
3231
(
3332
load_clients,
34-
apply_deferred.after(load_clients).before(init_advancements),
33+
ApplyDeferred.after(load_clients).before(init_advancements),
3534
init_clients,
3635
init_advancements,
3736
sneak,
@@ -112,7 +111,7 @@ fn setup(
112111
y_coord: -0.5,
113112
},
114113
))
115-
.set_parent(root_advancement);
114+
.insert(ChildOf(root_advancement));
116115

117116
commands
118117
.spawn((
@@ -133,7 +132,7 @@ fn setup(
133132
y_coord: 0.5,
134133
},
135134
))
136-
.set_parent(root_advancement);
135+
.insert(ChildOf(root_advancement));
137136

138137
let root2_criteria = commands
139138
.spawn((
@@ -176,7 +175,7 @@ fn init_clients(
176175
Added<Client>,
177176
>,
178177
layers: Query<Entity, With<ChunkLayer>>,
179-
) {
178+
) -> Result {
180179
for (
181180
mut layer_id,
182181
mut visible_chunk_layer,
@@ -185,14 +184,15 @@ fn init_clients(
185184
mut game_mode,
186185
) in &mut clients
187186
{
188-
let layer = layers.single();
187+
let layer = layers.single()?;
189188

190189
layer_id.0 = layer;
191190
visible_chunk_layer.0 = layer;
192191
visible_entity_layers.0.insert(layer);
193192
pos.set([0.5, 65.0, 0.5]);
194193
*game_mode = GameMode::Creative;
195194
}
195+
Ok(())
196196
}
197197

198198
fn load_clients(
@@ -220,14 +220,14 @@ fn init_advancements(
220220
),
221221
Added<AdvancementClientUpdate>,
222222
>,
223-
root_advancement_query: Query<Entity, (Without<Parent>, With<Advancement>)>,
223+
root_advancement_query: Query<Entity, (Without<ChildOf>, With<Advancement>)>,
224224
children_query: Query<&Children>,
225225
advancement_check_query: Query<(), With<Advancement>>,
226226
root2_criteria: Query<Entity, With<Root2Criteria>>,
227227
root_criteria: Query<Entity, With<RootCriteria>>,
228-
) {
229-
let root_c = root_criteria.single();
230-
let root2_c = root2_criteria.single();
228+
) -> Result {
229+
let root_c = root_criteria.single()?;
230+
let root2_c = root2_criteria.single()?;
231231
for (mut advancement_client_update, root_criteria, tab_change) in &mut clients {
232232
for root_advancement in root_advancement_query.iter() {
233233
advancement_client_update.send_advancements(
@@ -243,6 +243,7 @@ fn init_advancements(
243243
}
244244
}
245245
}
246+
Ok(())
246247
}
247248

248249
fn sneak(
@@ -251,8 +252,8 @@ fn sneak(
251252
root_criteria: Query<Entity, With<RootCriteria>>,
252253
client_uuid: Query<&UniqueId>,
253254
mut client_save: ResMut<ClientSave>,
254-
) {
255-
let root_criteria = root_criteria.single();
255+
) -> Result {
256+
let root_criteria = root_criteria.single()?;
256257
for sneaking in sneaking.read() {
257258
if sneaking.state == SneakState::Stop {
258259
continue;
@@ -278,6 +279,7 @@ fn sneak(
278279
.unwrap()
279280
.0 = root_criteria_done.0;
280281
}
282+
Ok(())
281283
}
282284

283285
fn tab_change(
@@ -287,9 +289,9 @@ fn tab_change(
287289
root: Query<Entity, With<RootAdvancement>>,
288290
client_uuid: Query<&UniqueId>,
289291
mut client_save: ResMut<ClientSave>,
290-
) {
291-
let root2_criteria = root2_criteria.single();
292-
let root = root.single();
292+
) -> Result {
293+
let root2_criteria = root2_criteria.single()?;
294+
let root = root.single()?;
293295
for tab_change in tab_change.read() {
294296
let Ok((mut advancement_client_update, mut tab_change_count)) =
295297
client.get_mut(tab_change.client)
@@ -314,4 +316,5 @@ fn tab_change(
314316
.unwrap()
315317
.1 = tab_change_count.0;
316318
}
319+
Ok(())
317320
}

examples/anvil_loading.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ fn init_clients(
8888
Added<Client>,
8989
>,
9090
layers: Query<Entity, With<ChunkLayer>>,
91-
) {
91+
) -> Result {
9292
for (
9393
mut layer_id,
9494
mut visible_chunk_layer,
@@ -100,7 +100,7 @@ fn init_clients(
100100
mut fov_modifier,
101101
) in &mut clients
102102
{
103-
let layer = layers.single();
103+
let layer = layers.single()?;
104104

105105
layer_id.0 = layer;
106106
visible_chunk_layer.0 = layer;
@@ -111,13 +111,14 @@ fn init_clients(
111111
flying_speed.0 = 0.1;
112112
fov_modifier.0 = 0.05;
113113
}
114+
Ok(())
114115
}
115116

116117
fn handle_chunk_loads(
117118
mut events: EventReader<ChunkLoadEvent>,
118119
mut layers: Query<&mut ChunkLayer, With<AnvilLevel>>,
119-
) {
120-
let mut layer = layers.single_mut();
120+
) -> Result {
121+
let mut layer = layers.single_mut()?;
121122

122123
for event in events.read() {
123124
match &event.status {
@@ -143,16 +144,21 @@ fn handle_chunk_loads(
143144
}
144145
}
145146
}
147+
Ok(())
146148
}
147149

148150
// Display the number of loaded chunks in the action bar of all clients.
149-
fn display_loaded_chunk_count(mut layers: Query<&mut ChunkLayer>, mut last_count: Local<usize>) {
150-
let mut layer = layers.single_mut();
151+
fn display_loaded_chunk_count(
152+
mut layers: Query<&mut ChunkLayer>,
153+
mut last_count: Local<usize>,
154+
) -> Result {
155+
let mut layer = layers.single_mut()?;
151156

152157
let cnt = layer.chunks().count();
153158

154159
if *last_count != cnt {
155160
*last_count = cnt;
156161
layer.send_action_bar_message("Chunk Count: ".into_text() + cnt.color(Color::LIGHT_PURPLE));
157162
}
163+
Ok(())
158164
}

examples/bench_players.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ fn init_clients(
8282
Added<Client>,
8383
>,
8484
layers: Query<Entity, (With<ChunkLayer>, With<EntityLayer>)>,
85-
) {
85+
) -> Result {
8686
for (
8787
mut layer_id,
8888
mut visible_chunk_layer,
@@ -91,12 +91,13 @@ fn init_clients(
9191
mut game_mode,
9292
) in &mut clients
9393
{
94-
let layer = layers.single();
94+
let layer = layers.single()?;
9595

9696
layer_id.0 = layer;
9797
visible_chunk_layer.0 = layer;
9898
visible_entity_layers.0.insert(layer);
9999
pos.set([0.0, f64::from(SPAWN_Y) + 1.0, 0.0]);
100100
*game_mode = GameMode::Creative;
101101
}
102+
Ok(())
102103
}

examples/biomes.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ fn setup(
6868
commands.spawn(layer);
6969
}
7070

71-
fn set_biomes(mut layers: Query<&mut ChunkLayer>, biomes: Res<BiomeRegistry>) {
72-
let mut layer = layers.single_mut();
71+
fn set_biomes(mut layers: Query<&mut ChunkLayer>, biomes: Res<BiomeRegistry>) -> Result {
72+
let mut layer = layers.single_mut()?;
7373

7474
let mut rng = rand::thread_rng();
7575

@@ -85,6 +85,7 @@ fn set_biomes(mut layers: Query<&mut ChunkLayer>, biomes: Res<BiomeRegistry>) {
8585

8686
layer.set_biome(BiomePos::new(x, SPAWN_Y / 4, z), biome);
8787
}
88+
Ok(())
8889
}
8990

9091
fn init_clients(
@@ -99,7 +100,7 @@ fn init_clients(
99100
Added<Client>,
100101
>,
101102
layers: Query<Entity, (With<ChunkLayer>, With<EntityLayer>)>,
102-
) {
103+
) -> Result {
103104
for (
104105
mut layer_id,
105106
mut visible_chunk_layer,
@@ -108,12 +109,13 @@ fn init_clients(
108109
mut game_mode,
109110
) in &mut clients
110111
{
111-
let layer = layers.single();
112+
let layer = layers.single()?;
112113

113114
layer_id.0 = layer;
114115
visible_chunk_layer.0 = layer;
115116
visible_entity_layers.0.insert(layer);
116117
pos.set([0.0, f64::from(SPAWN_Y) + 1.0, 0.0]);
117118
*game_mode = GameMode::Creative;
118119
}
120+
Ok(())
119121
}

examples/block_entities.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ fn init_clients(
8585
Added<Client>,
8686
>,
8787
layers: Query<Entity, (With<ChunkLayer>, With<EntityLayer>)>,
88-
) {
88+
) -> Result {
8989
for (
9090
mut layer_id,
9191
mut visible_chunk_layer,
@@ -94,23 +94,24 @@ fn init_clients(
9494
mut game_mode,
9595
) in &mut clients
9696
{
97-
let layer = layers.single();
97+
let layer = layers.single()?;
9898

9999
layer_id.0 = layer;
100100
visible_chunk_layer.0 = layer;
101101
visible_entity_layers.0.insert(layer);
102102
pos.set([0.0, f64::from(FLOOR_Y) + 1.0, 0.0]);
103103
*game_mode = GameMode::Creative;
104104
}
105+
Ok(())
105106
}
106107

107108
fn event_handler(
108109
clients: Query<(&Username, &Properties, &UniqueId)>,
109110
mut messages: EventReader<ChatMessageEvent>,
110111
mut block_interacts: EventReader<InteractBlockEvent>,
111112
mut layers: Query<&mut ChunkLayer>,
112-
) {
113-
let mut layer = layers.single_mut();
113+
) -> Result {
114+
let mut layer = layers.single_mut()?;
114115

115116
for ChatMessageEvent {
116117
client, message, ..
@@ -161,4 +162,5 @@ fn event_handler(
161162
};
162163
}
163164
}
165+
Ok(())
164166
}

examples/boss_bar.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ fn init_clients(
8989
Added<Client>,
9090
>,
9191
layers_query: Query<Entity, (With<ChunkLayer>, With<EntityLayer>)>,
92-
) {
93-
let layer = layers_query.single();
92+
) -> Result {
93+
let layer = layers_query.single()?;
9494

9595
for (
9696
mut client,
@@ -134,6 +134,7 @@ fn init_clients(
134134
"Type any number between 0 and 1 to set the health".on_click_suggest_command("health"),
135135
);
136136
}
137+
Ok(())
137138
}
138139

139140
fn listen_messages(
@@ -149,14 +150,14 @@ fn listen_messages(
149150
With<CustomBossBar>,
150151
>,
151152
mut clients_query: Query<&mut VisibleEntityLayers, With<Client>>,
152-
) {
153+
) -> Result {
153154
let (
154155
mut boss_bar_style,
155156
mut boss_bar_flags,
156157
mut boss_bar_health,
157158
mut boss_bar_title,
158159
entity_layer_id,
159-
) = boss_bars_query.single_mut();
160+
) = boss_bars_query.single_mut()?;
160161

161162
for ChatMessageEvent {
162163
client, message, ..
@@ -220,4 +221,5 @@ fn listen_messages(
220221
}
221222
};
222223
}
224+
Ok(())
223225
}

examples/building.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ fn init_clients(
6161
Added<Client>,
6262
>,
6363
layers: Query<Entity, (With<ChunkLayer>, With<EntityLayer>)>,
64-
) {
64+
) -> Result {
6565
for (
6666
mut client,
6767
mut layer_id,
@@ -71,7 +71,7 @@ fn init_clients(
7171
mut game_mode,
7272
) in &mut clients
7373
{
74-
let layer = layers.single();
74+
let layer = layers.single()?;
7575

7676
layer_id.0 = layer;
7777
visible_chunk_layer.0 = layer;
@@ -81,6 +81,7 @@ fn init_clients(
8181

8282
client.send_chat_message("Welcome to Valence! Build something cool.".italic());
8383
}
84+
Ok(())
8485
}
8586

8687
fn toggle_gamemode_on_sneak(
@@ -105,8 +106,8 @@ fn digging(
105106
clients: Query<&GameMode>,
106107
mut layers: Query<&mut ChunkLayer>,
107108
mut events: EventReader<DiggingEvent>,
108-
) {
109-
let mut layer = layers.single_mut();
109+
) -> Result {
110+
let mut layer = layers.single_mut()?;
110111

111112
for event in events.read() {
112113
let Ok(game_mode) = clients.get(event.client) else {
@@ -119,14 +120,15 @@ fn digging(
119120
layer.set_block(event.position, BlockState::AIR);
120121
}
121122
}
123+
Ok(())
122124
}
123125

124126
fn place_blocks(
125127
mut clients: Query<(&mut Inventory, &GameMode, &HeldItem)>,
126128
mut layers: Query<&mut ChunkLayer>,
127129
mut events: EventReader<InteractBlockEvent>,
128-
) {
129-
let mut layer = layers.single_mut();
130+
) -> Result {
131+
let mut layer = layers.single_mut()?;
130132

131133
for event in events.read() {
132134
let Ok((mut inventory, game_mode, held)) = clients.get_mut(event.client) else {
@@ -170,4 +172,5 @@ fn place_blocks(
170172
);
171173
layer.set_block(real_pos, state);
172174
}
175+
Ok(())
173176
}

0 commit comments

Comments
 (0)