feat: moved blockclasses into dedicated folder
This commit is contained in:
10
World/Blocks/BlockClasses/AirBlock.cs
Normal file
10
World/Blocks/BlockClasses/AirBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class AirBlock : IBlock
|
||||
{
|
||||
public ushort Id => 0;
|
||||
public string Name => "Air";
|
||||
public bool IsOpaque => false;
|
||||
public bool IsSolid => false;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(0, 0);
|
||||
}
|
||||
10
World/Blocks/BlockClasses/CoalOreBlock.cs
Normal file
10
World/Blocks/BlockClasses/CoalOreBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class CoalOreBlock : IBlock
|
||||
{
|
||||
public ushort Id => 7;
|
||||
public string Name => "Coal Ore";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(0, 0); // placeholder
|
||||
}
|
||||
10
World/Blocks/BlockClasses/DiamondOreBlock.cs
Normal file
10
World/Blocks/BlockClasses/DiamondOreBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class DiamondOreBlock : IBlock
|
||||
{
|
||||
public ushort Id => 10;
|
||||
public string Name => "Diamond Ore";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(0, 0); // placeholder
|
||||
}
|
||||
10
World/Blocks/BlockClasses/DirtBlock.cs
Normal file
10
World/Blocks/BlockClasses/DirtBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class DirtBlock : IBlock
|
||||
{
|
||||
public ushort Id => 2;
|
||||
public string Name => "Dirt";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(0, 0);
|
||||
}
|
||||
10
World/Blocks/BlockClasses/GoldOreBlock.cs
Normal file
10
World/Blocks/BlockClasses/GoldOreBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class GoldOreBlock : IBlock
|
||||
{
|
||||
public ushort Id => 9;
|
||||
public string Name => "Gold Ore";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(0, 0); // placeholder
|
||||
}
|
||||
16
World/Blocks/BlockClasses/GrassBlock.cs
Normal file
16
World/Blocks/BlockClasses/GrassBlock.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class GrassBlock : IBlock
|
||||
{
|
||||
public ushort Id => 3;
|
||||
public string Name => "Grass";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
|
||||
public TileCoord GetTextureTile(BlockFace face) => face switch
|
||||
{
|
||||
BlockFace.Top => new TileCoord(0, 1), // grass top
|
||||
BlockFace.Bottom => new TileCoord(0, 0), // dirt
|
||||
_ => new TileCoord(1, 1) // grass side
|
||||
};
|
||||
}
|
||||
10
World/Blocks/BlockClasses/IronOreBlock.cs
Normal file
10
World/Blocks/BlockClasses/IronOreBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class IronOreBlock : IBlock
|
||||
{
|
||||
public ushort Id => 8;
|
||||
public string Name => "Iron Ore";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(0, 0); // placeholder
|
||||
}
|
||||
10
World/Blocks/BlockClasses/SandBlock.cs
Normal file
10
World/Blocks/BlockClasses/SandBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public class SandBlock : IBlock
|
||||
{
|
||||
public ushort Id => 4;
|
||||
public string Name => "Sand";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(2, 1);
|
||||
}
|
||||
16
World/Blocks/BlockClasses/SnowBlock.cs
Normal file
16
World/Blocks/BlockClasses/SnowBlock.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public class SnowBlock : IBlock
|
||||
{
|
||||
public ushort Id => 5;
|
||||
public string Name => "Snow Block";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
|
||||
public TileCoord GetTextureTile(BlockFace face) => face switch
|
||||
{
|
||||
BlockFace.Top => new TileCoord(2, 0),
|
||||
BlockFace.Bottom => new TileCoord(0, 0),
|
||||
_ => new TileCoord(3, 0)
|
||||
};
|
||||
}
|
||||
10
World/Blocks/BlockClasses/StoneBlock.cs
Normal file
10
World/Blocks/BlockClasses/StoneBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public sealed class StoneBlock : IBlock
|
||||
{
|
||||
public ushort Id => 1;
|
||||
public string Name => "Stone";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => true;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(1, 0);
|
||||
}
|
||||
10
World/Blocks/BlockClasses/WaterBlock.cs
Normal file
10
World/Blocks/BlockClasses/WaterBlock.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace VoxelEngine.World.Blocks;
|
||||
|
||||
public class WaterBlock : IBlock
|
||||
{
|
||||
public ushort Id => 6;
|
||||
public string Name => "Water";
|
||||
public bool IsOpaque => true;
|
||||
public bool IsSolid => false;
|
||||
public TileCoord GetTextureTile(BlockFace face) => new(3, 1);
|
||||
}
|
||||
Reference in New Issue
Block a user