summaryrefslogtreecommitdiff
path: root/server/src/server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/server.rs')
-rw-r--r--server/src/server.rs76
1 files changed, 11 insertions, 65 deletions
diff --git a/server/src/server.rs b/server/src/server.rs
index 109d5561..47cfdcf4 100644
--- a/server/src/server.rs
+++ b/server/src/server.rs
@@ -18,7 +18,7 @@
use crate::{
data::{DataIndex, Serverdata},
entity::{Entities, EntityContext},
- interaction::{interact, tick_slot, TickEffect},
+ interaction::{interact, tick_slot},
scoreboard::ScoreboardStore,
ConnectionID,
};
@@ -542,43 +542,16 @@ impl Server {
}
for (&pos, tile) in &mut self.game.tiles {
- if let Some(effect) = tick_slot(
+ tick_slot(
dt,
&self.game.data,
Some(tile.kind),
&mut tile.item,
+ ItemLocation::Tile(pos),
&mut self.game.score,
- ) {
- match effect {
- TickEffect::Progress {
- speed,
- position,
- warn,
- } => self.packet_out.push_back(PacketC::SetProgress {
- position,
- speed,
- warn,
- item: ItemLocation::Tile(pos),
- }),
- TickEffect::ClearProgress => {
- self.packet_out.push_back(PacketC::ClearProgress {
- item: ItemLocation::Tile(pos),
- })
- }
- TickEffect::Produce => {
- self.packet_out.push_back(PacketC::SetProgress {
- warn: false,
- item: ItemLocation::Tile(pos),
- position: 1.,
- speed: 0.,
- });
- self.packet_out.push_back(PacketC::SetItem {
- location: ItemLocation::Tile(pos),
- item: tile.item.as_ref().map(|i| i.kind),
- });
- }
- }
- }
+ &mut self.score_changed,
+ &mut self.packet_out,
+ );
}
for (&pid, player) in &mut self.game.players {
@@ -608,43 +581,16 @@ impl Server {
rot: player.movement.rotation,
});
- if let Some(effect) = tick_slot(
+ tick_slot(
dt,
&self.game.data,
None,
&mut player.item,
+ ItemLocation::Player(pid),
&mut self.game.score,
- ) {
- match effect {
- TickEffect::Progress {
- position,
- speed,
- warn,
- } => self.packet_out.push_back(PacketC::SetProgress {
- warn,
- position,
- speed,
- item: ItemLocation::Player(pid),
- }),
- TickEffect::ClearProgress => {
- self.packet_out.push_back(PacketC::ClearProgress {
- item: ItemLocation::Player(pid),
- })
- }
- TickEffect::Produce => {
- self.packet_out.push_back(PacketC::SetProgress {
- warn: false,
- item: ItemLocation::Player(pid),
- position: 1.,
- speed: 0.,
- });
- self.packet_out.push_back(PacketC::SetItem {
- location: ItemLocation::Player(pid),
- item: player.item.as_ref().map(|i| i.kind),
- });
- }
- }
- }
+ &mut self.score_changed,
+ &mut self.packet_out,
+ );
}
let mut players_auto_release = Vec::new();