diff --git a/assets/blocks/cobblestone.png b/assets/blocks/cobblestone.png new file mode 100644 index 0000000..44b1324 Binary files /dev/null and b/assets/blocks/cobblestone.png differ diff --git a/kubi-shared/src/blocks.rs b/kubi-shared/src/blocks.rs index 3e601fc..0f94b33 100644 --- a/kubi-shared/src/blocks.rs +++ b/kubi-shared/src/blocks.rs @@ -9,4 +9,5 @@ pub enum Block { Dirt, Grass, Sand, + Cobblestone, } diff --git a/kubi/src/block_placement.rs b/kubi/src/block_placement.rs index f46ff1b..3eff4be 100644 --- a/kubi/src/block_placement.rs +++ b/kubi/src/block_placement.rs @@ -24,7 +24,7 @@ pub fn block_placement_system( //get coord and block type let (place_position, place_block) = if action_place { let position = (ray.position - ray.direction * 0.5).floor().as_ivec3(); - (position, Block::Dirt) + (position, Block::Cobblestone) } else { (ray.block_position, Block::Air) }; diff --git a/kubi/src/prefabs.rs b/kubi/src/prefabs.rs index 8b90291..4529bce 100644 --- a/kubi/src/prefabs.rs +++ b/kubi/src/prefabs.rs @@ -16,19 +16,20 @@ pub trait AssetPaths { #[derive(Clone, Copy, Debug, EnumIter)] #[repr(u8)] pub enum BlockTexture { - Stone = 0, - Dirt = 1, - GrassTop = 2, - GrassSide = 3, - Sand = 4, - Bedrock = 5, - Wood = 6, - WoodTop = 7, - Leaf = 8, - Torch = 9, - TallGrass = 10, - Snow = 11, - GrassSideSnow = 12, + Stone, + Dirt, + GrassTop, + GrassSide, + Sand, + Bedrock, + Wood, + WoodTop, + Leaf, + Torch, + TallGrass, + Snow, + GrassSideSnow, + Cobblestone, } impl AssetPaths for BlockTexture { fn file_name(self) -> &'static str { @@ -46,6 +47,7 @@ impl AssetPaths for BlockTexture { Self::TallGrass => "tall_grass.png", Self::Snow => "snow.png", Self::GrassSideSnow => "grass_side_snow.png", + Self::Cobblestone => "cobblestone.png", } } } diff --git a/kubi/src/world/block.rs b/kubi/src/world/block.rs index 45c2552..66a0905 100644 --- a/kubi/src/world/block.rs +++ b/kubi/src/world/block.rs @@ -41,6 +41,12 @@ impl BlockDescriptorSource for Block { collision: CollisionType::Solid, raycast_collision: true, }, + Self::Cobblestone => BlockDescriptor { + name: "cobblestone", + render: RenderType::SolidBlock(CubeTexture::all(BlockTexture::Cobblestone)), + collision: CollisionType::Solid, + raycast_collision: true, + } } } }