From cc6041d9978060afdbb9652548bfdf05050f8db0 Mon Sep 17 00:00:00 2001 From: Adam Kobzan Date: Tue, 17 Oct 2023 05:41:30 +0300 Subject: [PATCH] added water --- assets/blocks.png | Bin 19659 -> 20204 bytes src/block_reg.rs | 30 +++++++++++++++++++++++++++++- src/inventory.rs | 18 +++++++++--------- 3 files changed, 38 insertions(+), 10 deletions(-) diff --git a/assets/blocks.png b/assets/blocks.png index da6442de3184b8254281931b30a5ac90377c1a3b..1323f0575ec4262c6bce4c1dfb4f051fcaee1b4f 100644 GIT binary patch literal 20204 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 diff --git a/src/block_reg.rs b/src/block_reg.rs index 0142fc7..10e0f6f 100644 --- a/src/block_reg.rs +++ b/src/block_reg.rs @@ -14,6 +14,7 @@ pub const WOOD: Block = 6; pub const LEAVES: Block = 7; pub const GLASS: Block = 8; pub const GLOWSTONE: Block = 9; +pub const WATER: Block = 10; pub const VOXEL_DIMS: [f32; 3] = [1.0, 1.0, 1.0]; @@ -31,11 +32,28 @@ pub struct BlockRegistry { leaves_block: Mesh, glass_block: Mesh, glowstone_block: Mesh, + water_block: Mesh, } impl Default for BlockRegistry { fn default() -> Self { BlockRegistry { + water_block: generate_voxel_mesh( + VOXEL_DIMS, + ATLAS_CORDS, + [ + (Top, [11, 0]), + (Bottom, [11, 0]), + (Right, [11, 0]), + (Left, [11, 0]), + (Forward, [11, 0]), + (Back, [11, 0]), + ], + PADDING, + Some(0.75), + 0.8, + ), + grass_block: generate_voxel_mesh( VOXEL_DIMS, ATLAS_CORDS, @@ -49,6 +67,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), dirt_block: generate_voxel_mesh( VOXEL_DIMS, @@ -63,6 +82,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), stone_block: generate_voxel_mesh( VOXEL_DIMS, @@ -77,6 +97,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), bricks_block: generate_voxel_mesh( VOXEL_DIMS, @@ -91,6 +112,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), log_block: generate_voxel_mesh( VOXEL_DIMS, @@ -105,6 +127,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.90), + 1.0, ), wood_block: generate_voxel_mesh( VOXEL_DIMS, @@ -119,6 +142,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), leaves_block: generate_voxel_mesh( VOXEL_DIMS, @@ -133,6 +157,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), glass_block: generate_voxel_mesh( VOXEL_DIMS, @@ -147,6 +172,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), glowstone_block: generate_voxel_mesh( VOXEL_DIMS, @@ -161,6 +187,7 @@ impl Default for BlockRegistry { ], PADDING, Some(0.75), + 1.0, ), } } @@ -187,7 +214,7 @@ impl VoxelRegistry for BlockRegistry { } fn is_covering(&self, voxel: &Self::Voxel, _side: prelude::Face) -> bool { - *voxel != AIR && *voxel != LEAVES && *voxel != GLASS + *voxel != AIR && *voxel != LEAVES && *voxel != GLASS && *voxel != WATER } fn get_mesh(&self, voxel: &Self::Voxel) -> VoxelMesh<&Mesh> { @@ -202,6 +229,7 @@ impl VoxelRegistry for BlockRegistry { LEAVES => VoxelMesh::NormalCube(&self.leaves_block), GLASS => VoxelMesh::NormalCube(&self.glass_block), GLOWSTONE => VoxelMesh::NormalCube(&self.glowstone_block), + WATER => VoxelMesh::NormalCube(&self.water_block), _ => VoxelMesh::Null, } } diff --git a/src/inventory.rs b/src/inventory.rs index d84b2ae..6205872 100644 --- a/src/inventory.rs +++ b/src/inventory.rs @@ -13,7 +13,7 @@ impl Default for Inventory { Inventory { current: 0, items: vec![ - GRASS, DIRT, STONE, BRICKS, LOG, WOOD, LEAVES, GLASS, GLOWSTONE, + GRASS, DIRT, STONE, BRICKS, LOG, WOOD, LEAVES, GLASS, GLOWSTONE, WATER, ], } } @@ -39,35 +39,35 @@ fn input_inventory(mut inv: ResMut, keys: Res>) { inv.current = 2; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key3) { + if keys.just_pressed(KeyCode::Key3) || keys.just_pressed(KeyCode::R) { inv.current = 3; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key4) { + if keys.just_pressed(KeyCode::Key4) || keys.just_pressed(KeyCode::Z) { inv.current = 4; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key5) { + if keys.just_pressed(KeyCode::Key5) || keys.just_pressed(KeyCode::X) { inv.current = 5; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key6) { + if keys.just_pressed(KeyCode::Key6) || keys.just_pressed(KeyCode::C) { inv.current = 6; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key7) { + if keys.just_pressed(KeyCode::Key7) || keys.just_pressed(KeyCode::V) { inv.current = 7; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key8) { + if keys.just_pressed(KeyCode::Key8) || keys.just_pressed(KeyCode::G) { inv.current = 8; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key9) { + if keys.just_pressed(KeyCode::Key9) || keys.just_pressed(KeyCode::T) { inv.current = 9; inv.current = inv.current % inv.items.len(); } - if keys.just_pressed(KeyCode::Key0) { + if keys.just_pressed(KeyCode::Key0) || keys.just_pressed(KeyCode::F) { inv.current = 0; inv.current = inv.current % inv.items.len(); }