diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-10-16 00:24:14 +0200 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-10-16 00:24:14 +0200 |
| commit | 17a01af0f34a918d028063665a507916c80867b8 (patch) | |
| tree | 74f628b0fd5cb795e5f81a4bb58dae0cf6b542a4 /server/data | |
| parent | 76be2b91bd4b3fdf76705bfa8ea4581992bf887a (diff) | |
| download | hurrycurry-17a01af0f34a918d028063665a507916c80867b8.tar hurrycurry-17a01af0f34a918d028063665a507916c80867b8.tar.bz2 hurrycurry-17a01af0f34a918d028063665a507916c80867b8.tar.zst | |
Placable walls in tag
Diffstat (limited to 'server/data')
| -rw-r--r-- | server/data/src/entities.rs | 5 | ||||
| -rw-r--r-- | server/data/src/lib.rs | 9 | ||||
| -rw-r--r-- | server/data/src/registry.rs | 8 |
3 files changed, 19 insertions, 3 deletions
diff --git a/server/data/src/entities.rs b/server/data/src/entities.rs index fdd451a0..6dd0654a 100644 --- a/server/data/src/entities.rs +++ b/server/data/src/entities.rs @@ -73,6 +73,8 @@ pub enum EntityDecl { TagMinigame { #[serde(default = "default_item")] tag_item: ItemIndex, + #[serde(default = "default_tile")] + blocker_tile: TileIndex, }, } @@ -98,3 +100,6 @@ fn default_onoff() -> f32 { fn default_item() -> ItemIndex { ItemIndex(usize::MAX) } +fn default_tile() -> TileIndex { + TileIndex(usize::MAX) +} diff --git a/server/data/src/lib.rs b/server/data/src/lib.rs index 445e59b9..5d30afb7 100644 --- a/server/data/src/lib.rs +++ b/server/data/src/lib.rs @@ -218,8 +218,13 @@ fn build_data( EntityDecl::Customers { unknown_order, .. } => { *unknown_order = reg.register_item("unknown-order".to_owned()) } - EntityDecl::TagMinigame { tag_item } => { - *tag_item = reg.register_item("lettuce".to_owned()) + EntityDecl::TagMinigame { + tag_item, + blocker_tile, + } => { + *tag_item = reg.register_item("lettuce".to_owned()); + *blocker_tile = reg.register_tile("conveyor".to_owned()); + exclusive_tiles.entry(*blocker_tile).or_default(); } _ => (), } diff --git a/server/data/src/registry.rs b/server/data/src/registry.rs index 9d513c90..6c92ecb5 100644 --- a/server/data/src/registry.rs +++ b/server/data/src/registry.rs @@ -85,7 +85,13 @@ pub(crate) fn filter_unused_tiles_and_items(data: &mut Gamedata, serverdata: &mu .. } => used_tiles.insert(*blocker), EntityDecl::Customers { unknown_order, .. } => used_items.insert(*unknown_order), - EntityDecl::TagMinigame { tag_item, .. } => used_items.insert(*tag_item), + EntityDecl::TagMinigame { + tag_item, + blocker_tile, + } => { + used_items.insert(*tag_item); + used_tiles.insert(*blocker_tile) + } _ => false, }; } |