diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-0.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-0.vox new file mode 100644 index 0000000000..02a7af7f8c --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:144bb2be7627de61e951085c96038284ae28eed216c6b2c04eb0db596df2f738 +size 1428 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-1.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-1.vox new file mode 100644 index 0000000000..772cfe132a --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c76794542d91c94960373966c2b0232f57801d0a862a117090ba00a7ae934034 +size 1396 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-2.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-2.vox new file mode 100644 index 0000000000..e53115ea2a --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44d27165b605d477f769123ef5d93de7ad357f0b937263ad37ebb8c1480c4324 +size 1444 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-3.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-3.vox new file mode 100644 index 0000000000..6157a2843f --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44745ce1fef2c4cc1834e82abde5ef6ea3af113b3d3a4cf7df223b833ec07207 +size 1264 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-4.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-4.vox new file mode 100644 index 0000000000..d1b9ac74e1 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9439482e006100f8219d27095e1929e15e4cfcd6303b8911a9ce638c30b76966 +size 1404 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-5.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-5.vox new file mode 100644 index 0000000000..3e0c01f98a --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-5.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7261c47bb5683e0a0cb1461dc84c5980e7cc1b25f8063b667fef86657e145a68 +size 1432 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-6.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-6.vox new file mode 100644 index 0000000000..b8e51f934e --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-6.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bfe9db4fc6e624aa477b04dc6c681e390df65d8c488bf0eb61a86e7d8b7430d +size 1428 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_long-7.vox b/assets/voxygen/voxel/sprite/cavern/grass_long-7.vox new file mode 100644 index 0000000000..5d7ffe064c --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_long-7.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eec0a1b111d12f022e973e14afaf2e8f81fd7c6e4676a29cbc2f698f75a13e95 +size 1380 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-0.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-0.vox new file mode 100644 index 0000000000..452bd9f440 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_med-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7496e27724e51a4129955a304cc10a15447845687e817140464da7f69be92386 +size 1244 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-1.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-1.vox new file mode 100644 index 0000000000..6f79383e6a --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_med-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7decc0743714a30208440e9437caaa77de79d730a9d7e060a4625c621ab30feb +size 1248 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-2.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-2.vox new file mode 100644 index 0000000000..2f2f65d819 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_med-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05c12e2e4d82b186c422f0da4617e17dd72f45b48071a3a7567fb186b581d4d2 +size 1288 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_med-3.vox b/assets/voxygen/voxel/sprite/cavern/grass_med-3.vox new file mode 100644 index 0000000000..4e657e7fe8 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_med-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92fbd926d0e40ae777286c85d1cd56547717a0fc74f6d34611394113d063c74b +size 1232 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-0.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-0.vox new file mode 100644 index 0000000000..f89cffa1bb --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_short-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0d4309ef5732adbfc46b47cf7aa29d78e3b7ae70d3184875b5e12fb0f8c043c +size 1132 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-1.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-1.vox new file mode 100644 index 0000000000..d5f92820eb --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_short-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1730532a21a1a804c19ca3fde55fdb6a9c84a8ea9b27f92ed63754aa185512b7 +size 1144 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-2.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-2.vox new file mode 100644 index 0000000000..bf342778c1 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_short-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:681cc88f7c8744cd3983ae3fdf6350ef7791e9b115badb0eaaa1206177929f70 +size 1144 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-3.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-3.vox new file mode 100644 index 0000000000..60f15ad088 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_short-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9e0e7d61c9313aaf14602621fe438c43d8d9f6010adac49e67d59f2efbba17c +size 1140 diff --git a/assets/voxygen/voxel/sprite/cavern/grass_short-4.vox b/assets/voxygen/voxel/sprite/cavern/grass_short-4.vox new file mode 100644 index 0000000000..f384e765f2 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/grass_short-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5ff5c224f0ea876895e22c3c57aabdef2e78b5a97b21b1fc13f4295122c7596 +size 1156 diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-0.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-0.vox new file mode 100644 index 0000000000..7e6587b170 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/lillypad-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9210cb97a553956c72f72e920145e27fdabdb0e6addb0d5717f2c44d47c378b7 +size 1360 diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-1.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-1.vox new file mode 100644 index 0000000000..c3f92c6c9e --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/lillypad-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1190ebbe1fcb9eeaaabf7e474eb2a10761e00e2027feb93392b533472c42666 +size 1512 diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-2.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-2.vox new file mode 100644 index 0000000000..f7dc4f575b --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/lillypad-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e606bb9b66630c56ec5a5d1151b2250983aba5b471fdd347dc3ab87b5dd153f1 +size 1612 diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-3.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-3.vox new file mode 100644 index 0000000000..aaeef7f187 --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/lillypad-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:468d154ec556f0bdaffe275a6b45164e7a53672a58b880cf1e189d6f8f6f4195 +size 1860 diff --git a/assets/voxygen/voxel/sprite/cavern/lillypad-4.vox b/assets/voxygen/voxel/sprite/cavern/lillypad-4.vox new file mode 100644 index 0000000000..0fa4ee525e --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/lillypad-4.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff8851998cc381be2d9dc3265fabc5c0e7e555329e4ebc20b490c7961b1a6fbd +size 1680 diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-0.vox b/assets/voxygen/voxel/sprite/cavern/mycel-0.vox new file mode 100644 index 0000000000..4f3d86f73b --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/mycel-0.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d7180c8469565f8836b1e795c94faecab5fb97c1d3d9b3c1d50fd202bb23d6f +size 1180 diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-1.vox b/assets/voxygen/voxel/sprite/cavern/mycel-1.vox new file mode 100644 index 0000000000..44ff474b6e --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/mycel-1.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10c3aa05a02e9431d2bf25fa473218c4c91ad62252ee3d8383e82a57cbcff1bb +size 1220 diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-2.vox b/assets/voxygen/voxel/sprite/cavern/mycel-2.vox new file mode 100644 index 0000000000..a63c1a67af --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/mycel-2.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0516877cbf4caa6370c2dbf3c957b294c12a93db8e805dd858e43c91d17ee36c +size 1152 diff --git a/assets/voxygen/voxel/sprite/cavern/mycel-3.vox b/assets/voxygen/voxel/sprite/cavern/mycel-3.vox new file mode 100644 index 0000000000..764d35b66e --- /dev/null +++ b/assets/voxygen/voxel/sprite/cavern/mycel-3.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d3ceb2b40579d0b885280d80e8e52179d6696fe99ff4612ee2c9931ec0543bc +size 1256 diff --git a/assets/voxygen/voxel/sprite_manifest.ron b/assets/voxygen/voxel/sprite_manifest.ron index 79f99e2112..7672a1b9a5 100644 --- a/assets/voxygen/voxel/sprite_manifest.ron +++ b/assets/voxygen/voxel/sprite_manifest.ron @@ -3258,6 +3258,7 @@ CookingPot: Some(( ], wind_sway: 0.0, )), +// Ensnaring Vines EnsnaringVines: Some(( variations: [ ( @@ -3310,4 +3311,164 @@ Bones: Some(( ], wind_sway: 0.0, )), +// Short Cavern Grass Blue +CavernGrassBlueShort: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.grass_short-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_short-4", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Medium Cavern Grass Blue +CavernGrassBlueMedium: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.grass_med-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_med-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_med-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_med-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Long Cavern Grass Blue +CavernGrassBlueLong: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.grass_long-0", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-1", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-2", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-3", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-4", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-5", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-6", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.grass_long-7", + offset: (-5.5, -5.5, 0.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Cavern Lillypads Blue +CavernLillypadBlue: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.lillypad-0", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-1", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-2", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-3", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.lillypad-4", + offset: (-5.5, -5.5, -1.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.0, +)), +// Cavern Hanging Mycel Blue +CavernMycelBlue: Some(( + variations: [ + ( + model: "voxygen.voxel.sprite.cavern.mycel-0", + offset: (-0.5, -0.5, -21.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.mycel-1", + offset: (-0.5, -0.5, -31.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.mycel-2", + offset: (-0.5, -0.5, -14.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ( + model: "voxygen.voxel.sprite.cavern.mycel-3", + offset: (-0.5, -0.5, -40.0), + lod_axes: (0.0, 0.0, 0.0), + ), + ], + wind_sway: 0.1, +)), ) diff --git a/common/src/terrain/block.rs b/common/src/terrain/block.rs index 9b91989557..5365566f96 100644 --- a/common/src/terrain/block.rs +++ b/common/src/terrain/block.rs @@ -179,7 +179,7 @@ impl Block { match self.kind() { BlockKind::Lava => Some(24), BlockKind::GlowingRock | BlockKind::GlowingWeakRock => Some(15), - BlockKind::BlockKind::GlowingMushroom => Some(20), + BlockKind::GlowingMushroom => Some(20), _ => match self.get_sprite()? { SpriteKind::StreetLamp | SpriteKind::StreetLampTall => Some(24), SpriteKind::Ember => Some(20), diff --git a/common/src/terrain/sprite.rs b/common/src/terrain/sprite.rs index cf67732a01..0a56b74d98 100644 --- a/common/src/terrain/sprite.rs +++ b/common/src/terrain/sprite.rs @@ -177,6 +177,11 @@ make_case_elim!( WitchWindow = 0x96, SmokeDummy = 0x97, Bones = 0x98, + CavernGrassBlueShort = 0x99, + CavernGrassBlueMedium = 0x9A, + CavernGrassBlueLong = 0x9B, + CavernLillypadBlue = 0x9C, + CavernMycelBlue = 0x9D, } ); diff --git a/voxygen/src/scene/terrain/watcher.rs b/voxygen/src/scene/terrain/watcher.rs index 14acd1b2e6..bcf3a952ff 100644 --- a/voxygen/src/scene/terrain/watcher.rs +++ b/voxygen/src/scene/terrain/watcher.rs @@ -79,6 +79,8 @@ impl BlocksOfInterest { river.push(pos) }, BlockKind::Snow if rng.gen_range(0..16) == 0 => snow.push(pos), + BlockKind::Lava if rng.gen_range(0..5) == 0 => fires.push(pos + Vec3::unit_z()), + BlockKind::Snow if rng.gen_range(0..16) == 0 => snow.push(pos), _ => match block.get_sprite() { Some(SpriteKind::Ember) => { fires.push(pos); @@ -109,66 +111,30 @@ impl BlocksOfInterest { Some(SpriteKind::CraftingBench) => { interactables.push((pos, Interaction::Craft(CraftingTab::All))) }, - BlockKind::Lava if rng.gen_range(0..5) == 0 => fires.push(pos + Vec3::unit_z()), - BlockKind::Snow if rng.gen_range(0..16) == 0 => snow.push(pos), - _ => match block.get_sprite() { - Some(SpriteKind::Ember) => { - fires.push(pos); - smokers.push(pos); - }, - Some(SpriteKind::SmokeDummy) => { - smokers.push(pos); - }, - // Offset positions to account for block height. - // TODO: Is this a good idea? - Some(SpriteKind::StreetLamp) => fire_bowls.push(pos + Vec3::unit_z() * 2), - Some(SpriteKind::FireBowlGround) => fire_bowls.push(pos + Vec3::unit_z()), - Some(SpriteKind::StreetLampTall) => { - fire_bowls.push(pos + Vec3::unit_z() * 3); - }, - Some(SpriteKind::WallSconce) => fire_bowls.push(pos + Vec3::unit_z()), - Some(SpriteKind::Beehive) => beehives.push(pos), - Some(SpriteKind::CrystalHigh) => fireflies.push(pos), - Some(SpriteKind::Reed) => { - reeds.push(pos); - fireflies.push(pos); - if rng.gen_range(0..12) == 0 { - frogs.push(pos); - } - }, - Some(SpriteKind::CaveMushroom) => fireflies.push(pos), - Some(SpriteKind::PinkFlower) => flowers.push(pos), - Some(SpriteKind::PurpleFlower) => flowers.push(pos), - Some(SpriteKind::RedFlower) => flowers.push(pos), - Some(SpriteKind::WhiteFlower) => flowers.push(pos), - Some(SpriteKind::YellowFlower) => flowers.push(pos), - Some(SpriteKind::Sunflower) => flowers.push(pos), - Some(SpriteKind::CraftingBench) => { - interactables.push((pos, Interaction::Craft(CraftingTab::All))) - }, - Some(SpriteKind::Forge) => { - interactables.push((pos, Interaction::Craft(CraftingTab::Dismantle))) - }, - Some(SpriteKind::TanningRack) => interactables - .push((pos, Interaction::Craft(CraftingTab::ProcessedMaterial))), - Some(SpriteKind::SpinningWheel) => { - interactables.push((pos, Interaction::Craft(CraftingTab::All))) - }, - Some(SpriteKind::Loom) => { - interactables.push((pos, Interaction::Craft(CraftingTab::All))) - }, - Some(SpriteKind::Cauldron) => { - fires.push(pos); - interactables.push((pos, Interaction::Craft(CraftingTab::Potion))) - }, - Some(SpriteKind::Anvil) => { - interactables.push((pos, Interaction::Craft(CraftingTab::Weapon))) - }, - Some(SpriteKind::CookingPot) => { - fires.push(pos); - interactables.push((pos, Interaction::Craft(CraftingTab::Food))) - }, - _ => {}, + Some(SpriteKind::SmokeDummy) => { + smokers.push(pos); + }, + Some(SpriteKind::Forge) => { + interactables.push((pos, Interaction::Craft(CraftingTab::Dismantle))) + }, + Some(SpriteKind::TanningRack) => interactables + .push((pos, Interaction::Craft(CraftingTab::ProcessedMaterial))), + Some(SpriteKind::SpinningWheel) => { + interactables.push((pos, Interaction::Craft(CraftingTab::All))) + }, + Some(SpriteKind::Loom) => { + interactables.push((pos, Interaction::Craft(CraftingTab::All))) + }, + Some(SpriteKind::Cauldron) => { + fires.push(pos); + interactables.push((pos, Interaction::Craft(CraftingTab::Potion))) + }, + Some(SpriteKind::Anvil) => { + interactables.push((pos, Interaction::Craft(CraftingTab::Weapon))) + }, + Some(SpriteKind::CookingPot) => { + fires.push(pos); + interactables.push((pos, Interaction::Craft(CraftingTab::Food))) }, _ => {}, },