aboutsummaryrefslogtreecommitdiff
path: root/server/src/data
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/data')
-rw-r--r--server/src/data/mod.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/server/src/data/mod.rs b/server/src/data/mod.rs
index e5cd4552..17ebd5bf 100644
--- a/server/src/data/mod.rs
+++ b/server/src/data/mod.rs
@@ -307,6 +307,7 @@ pub fn build_data(
maps.sort_by_key(|(_, m)| m.players);
let mut tile_placeable_items = BTreeMap::new();
+ let mut tile_interactable_empty = HashSet::new();
for tile_name in map_in.collider.iter().chain(map_in.walkable.iter()) {
let tile = reg.register_tile(tile_name.to_string());
let whitelist = recipes
@@ -314,7 +315,13 @@ pub fn build_data(
.filter(|r| r.tile() == Some(tile))
.flat_map(|e| e.inputs())
.collect();
+ let int_empty = recipes
+ .iter()
+ .any(|r| r.tile() == Some(tile) && r.inputs().is_empty());
tile_placeable_items.insert(tile, whitelist);
+ if int_empty {
+ tile_interactable_empty.insert(tile);
+ }
}
let tile_walkable = map_in
.walkable
@@ -338,6 +345,7 @@ pub fn build_data(
maps,
tile_walkable,
tile_placeable_items,
+ tile_interactable_empty,
recipes,
item_names,
demands,