Skip to content

Commit de85634

Browse files
committed
look at that player count is dynamic wowowowowowowwow
1 parent dbd0f7b commit de85634

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

server/src/network/internal_packets.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ use crate::types::status::StatusUpdate;
44
use bytes::Bytes;
55

66
pub enum NetworkThreadMessage {
7-
UpdateStatus {
8-
update: StatusUpdate
9-
},
7+
UpdateStatus(StatusUpdate),
108

119
SendPackets {
1210
client_id: ClientId,

server/src/network/network.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ async fn run_network_thread(
6666
// we can just discard main thread -> network thread messages with a disconnected client_id
6767
// as the main thread either already has or will be be informed shortly of this issue
6868
match msg {
69-
NetworkThreadMessage::UpdateStatus { update } => status.set(update),
69+
NetworkThreadMessage::UpdateStatus(update) => status.set(update),
7070
NetworkThreadMessage::SendPackets { client_id, buffer } => {
7171
if let Some(client_tx) = clients.get(&client_id) {
7272
if let Err(e) = client_tx.send(ClientHandlerMessage::Send(buffer)) {

server/src/world/world.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use crate::block::metadata::u3;
12
use crate::constants::Particle;
23
use crate::entity::entity::{Entity, EntityId, EntityImpl};
34
use crate::entity::entity_metadata::EntityMetadata;
@@ -7,6 +8,7 @@ use crate::network::internal_packets::{MainThreadMessage, NetworkThreadMessage};
78
use crate::network::packets::packet::ProcessPacket;
89
use crate::network::protocol::play::clientbound::{DestroyEntites, JoinGame, Particles, PlayerData, PlayerListItem, PositionLook};
910
use crate::player::player::{ClientId, GameProfile, Player, PlayerExtension};
11+
use crate::types::status::StatusUpdate;
1012
use crate::world::chunk::chunk_grid::ChunkGrid;
1113
use crate::world::chunk::get_chunk_position;
1214
use enumset::EnumSet;
@@ -287,7 +289,8 @@ impl<E : WorldExtension> World<E> {
287289
match event {
288290
MainThreadMessage::NewPlayer { client_id, profile } => {
289291
println!("new player");
290-
E::on_player_join(self, profile, client_id)
292+
E::on_player_join(self, profile, client_id);
293+
let _ = self.network_tx.send(NetworkThreadMessage::UpdateStatus(StatusUpdate::Players(self.players.len() as u32)));
291294
}
292295
MainThreadMessage::PacketReceived { client_id, packet } => {
293296
if let Some(index) = self.player_map.get(&client_id) {
@@ -297,6 +300,7 @@ impl<E : WorldExtension> World<E> {
297300
}
298301
MainThreadMessage::ClientDisconnected { client_id } => {
299302
self.remove_player(client_id);
303+
let _ = self.network_tx.send(NetworkThreadMessage::UpdateStatus(StatusUpdate::Players(self.players.len() as u32)));
300304
}
301305
}
302306
}

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ async fn main() -> anyhow::Result<()> {
8585
.append(ChatComponent::new(" version ").color(MCColors::Gray))
8686
.append(ChatComponent::new(env!("CARGO_PKG_VERSION")).color(MCColors::Green));
8787

88-
let status = Status::new(1, 0, text, get_assets().icon_data);
88+
let status = Status::new(0, 1, text, get_assets().icon_data);
8989
let (tx, mut rx) = start_network("127.0.0.1:4972", status);
9090

9191
let mut world = initialize_world(tx)?;

0 commit comments

Comments
 (0)