diff --git a/TrueCraft.Core/Logic/BlockProvider.cs b/TrueCraft.Core/Logic/BlockProvider.cs index 8638d48..7b9429f 100644 --- a/TrueCraft.Core/Logic/BlockProvider.cs +++ b/TrueCraft.Core/Logic/BlockProvider.cs @@ -36,6 +36,20 @@ namespace TrueCraft.Core.Logic /// public virtual byte Luminance { get { return 0; } } + /// + /// Whether or not the block is opaque + /// + public virtual bool Opaque { get { return true; } } + + /// + /// The amount removed from the light level as it passes through this block. + /// 255 - Let no light pass through(this may change) + /// Notes: + /// - This isn't needed for opaque blocks + /// - This is needed since some "partial" transparent blocks remove more than 1 level from light passing through such as Ice. + /// + public virtual byte LightModifier { get { return 1; } } + /// /// The name of the block as it would appear to players. /// diff --git a/TrueCraft.Core/Logic/Blocks/BedBlock.cs b/TrueCraft.Core/Logic/Blocks/BedBlock.cs index a97e585..7ac1390 100644 --- a/TrueCraft.Core/Logic/Blocks/BedBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/BedBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.2; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Bed"; } } diff --git a/TrueCraft.Core/Logic/Blocks/ButtonBlock.cs b/TrueCraft.Core/Logic/Blocks/ButtonBlock.cs index 5db4fbe..71e8577 100644 --- a/TrueCraft.Core/Logic/Blocks/ButtonBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/ButtonBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Button"; } } } diff --git a/TrueCraft.Core/Logic/Blocks/CactusBlock.cs b/TrueCraft.Core/Logic/Blocks/CactusBlock.cs index e321a61..ed9d9c9 100644 --- a/TrueCraft.Core/Logic/Blocks/CactusBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/CactusBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.4; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Cactus"; } } diff --git a/TrueCraft.Core/Logic/Blocks/CakeBlock.cs b/TrueCraft.Core/Logic/Blocks/CakeBlock.cs index 234ce64..2ec9c24 100644 --- a/TrueCraft.Core/Logic/Blocks/CakeBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/CakeBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Cake"; } } diff --git a/TrueCraft.Core/Logic/Blocks/ChestBlock.cs b/TrueCraft.Core/Logic/Blocks/ChestBlock.cs index 5c55c10..2c5f560 100644 --- a/TrueCraft.Core/Logic/Blocks/ChestBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/ChestBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 2.5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Chest"; } } diff --git a/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs b/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs index 26fc3e0..e926975 100644 --- a/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 4; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } + + //TODO: Mark this as a block that diffuses sun light. public override string DisplayName { get { return "Cobweb"; } } diff --git a/TrueCraft.Core/Logic/Blocks/CropsBlock.cs b/TrueCraft.Core/Logic/Blocks/CropsBlock.cs index 40a728e..687ccc9 100644 --- a/TrueCraft.Core/Logic/Blocks/CropsBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/CropsBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Crops"; } } diff --git a/TrueCraft.Core/Logic/Blocks/DeadBushBlock.cs b/TrueCraft.Core/Logic/Blocks/DeadBushBlock.cs index d5c177f..e47cb07 100644 --- a/TrueCraft.Core/Logic/Blocks/DeadBushBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/DeadBushBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Dead Bush"; } } diff --git a/TrueCraft.Core/Logic/Blocks/DetectorRailBlock.cs b/TrueCraft.Core/Logic/Blocks/DetectorRailBlock.cs deleted file mode 100644 index 220f8c3..0000000 --- a/TrueCraft.Core/Logic/Blocks/DetectorRailBlock.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using TrueCraft.API.Logic; - -namespace TrueCraft.Core.Logic.Blocks -{ - public class DetectorRailBlock : BlockProvider - { - public static readonly byte BlockID = 0x1C; - - public override byte ID { get { return 0x1C; } } - - public override double BlastResistance { get { return 3.5; } } - - public override double Hardness { get { return 0.7; } } - - public override byte Luminance { get { return 0; } } - - public override string DisplayName { get { return "Detector Rail"; } } - - public override Tuple GetTextureMap(byte metadata) - { - return new Tuple(3, 12); - } - } -} \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/FarmlandBlock.cs b/TrueCraft.Core/Logic/Blocks/FarmlandBlock.cs index 3a9b1c9..de8c435 100644 --- a/TrueCraft.Core/Logic/Blocks/FarmlandBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/FarmlandBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.6; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 255; } } public override string DisplayName { get { return "Farmland"; } } diff --git a/TrueCraft.Core/Logic/Blocks/FenceBlock.cs b/TrueCraft.Core/Logic/Blocks/FenceBlock.cs index d620f64..cb2de36 100644 --- a/TrueCraft.Core/Logic/Blocks/FenceBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/FenceBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 2; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Fence"; } } diff --git a/TrueCraft.Core/Logic/Blocks/FireBlock.cs b/TrueCraft.Core/Logic/Blocks/FireBlock.cs index a626810..c9d59db 100644 --- a/TrueCraft.Core/Logic/Blocks/FireBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/FireBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 15; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Fire"; } } diff --git a/TrueCraft.Core/Logic/Blocks/FlowerBlock.cs b/TrueCraft.Core/Logic/Blocks/FlowerBlock.cs index 6ea2283..d7927cd 100644 --- a/TrueCraft.Core/Logic/Blocks/FlowerBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/FlowerBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Flower"; } } diff --git a/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs b/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs index 9b1272a..97d6fe8 100644 --- a/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/FurnaceBlock.cs @@ -31,6 +31,8 @@ namespace TrueCraft.Core.Logic.Blocks public override byte Luminance { get { return 13; } } + public override bool Opaque { get { return false; } } + public override string DisplayName { get { return "Furnace (lit)"; } } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/GlassBlock.cs b/TrueCraft.Core/Logic/Blocks/GlassBlock.cs index ae32ce8..add413d 100644 --- a/TrueCraft.Core/Logic/Blocks/GlassBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/GlassBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.3; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Glass"; } } diff --git a/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs b/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs index f1ff65e..d0ff127 100644 --- a/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.3; } } public override byte Luminance { get { return 15; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Glowstone"; } } diff --git a/TrueCraft.Core/Logic/Blocks/GrassBlock.cs b/TrueCraft.Core/Logic/Blocks/GrassBlock.cs index a8762e5..04575c6 100644 --- a/TrueCraft.Core/Logic/Blocks/GrassBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/GrassBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.6; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Grass"; } } diff --git a/TrueCraft.Core/Logic/Blocks/IceBlock.cs b/TrueCraft.Core/Logic/Blocks/IceBlock.cs index d415b4e..6309cf3 100644 --- a/TrueCraft.Core/Logic/Blocks/IceBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/IceBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 3; } } public override string DisplayName { get { return "Ice"; } } diff --git a/TrueCraft.Core/Logic/Blocks/IronDoorBlock.cs b/TrueCraft.Core/Logic/Blocks/IronDoorBlock.cs index 0c4d5ad..419c1b5 100644 --- a/TrueCraft.Core/Logic/Blocks/IronDoorBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/IronDoorBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Iron Door"; } } diff --git a/TrueCraft.Core/Logic/Blocks/JackoLanternBlock.cs b/TrueCraft.Core/Logic/Blocks/JackoLanternBlock.cs index 7ef7a83..f841225 100644 --- a/TrueCraft.Core/Logic/Blocks/JackoLanternBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/JackoLanternBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 1; } } public override byte Luminance { get { return 15; } } + + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 255; } } public override string DisplayName { get { return "Jack 'o' Lantern"; } } diff --git a/TrueCraft.Core/Logic/Blocks/LadderBlock.cs b/TrueCraft.Core/Logic/Blocks/LadderBlock.cs index 6b1b46f..bca580b 100644 --- a/TrueCraft.Core/Logic/Blocks/LadderBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/LadderBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.4; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Ladder"; } } diff --git a/TrueCraft.Core/Logic/Blocks/LavaBlock.cs b/TrueCraft.Core/Logic/Blocks/LavaBlock.cs index 52fb6c6..1cf2b55 100644 --- a/TrueCraft.Core/Logic/Blocks/LavaBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/LavaBlock.cs @@ -15,6 +15,10 @@ namespace TrueCraft.Core.Logic.Blocks public override byte Luminance { get { return 15; } } + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 255; } } + public override string DisplayName { get { return "Lava"; } } } diff --git a/TrueCraft.Core/Logic/Blocks/LeavesBlock.cs b/TrueCraft.Core/Logic/Blocks/LeavesBlock.cs index 141f21e..fc1931b 100644 --- a/TrueCraft.Core/Logic/Blocks/LeavesBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/LeavesBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.2; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } + + //TODO: Mark this as a block that diffuses sun light. public override string DisplayName { get { return "Leaves"; } } diff --git a/TrueCraft.Core/Logic/Blocks/LeverBlock.cs b/TrueCraft.Core/Logic/Blocks/LeverBlock.cs index 419580f..07ed2c5 100644 --- a/TrueCraft.Core/Logic/Blocks/LeverBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/LeverBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Lever"; } } diff --git a/TrueCraft.Core/Logic/Blocks/LockedChestBlock.cs b/TrueCraft.Core/Logic/Blocks/LockedChestBlock.cs index 1b8be0e..bbb4a08 100644 --- a/TrueCraft.Core/Logic/Blocks/LockedChestBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/LockedChestBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Locked Chest"; } } diff --git a/TrueCraft.Core/Logic/Blocks/MonsterSpawnerBlock.cs b/TrueCraft.Core/Logic/Blocks/MonsterSpawnerBlock.cs index 3d7eea2..6f35932 100644 --- a/TrueCraft.Core/Logic/Blocks/MonsterSpawnerBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/MonsterSpawnerBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Monster Spawner"; } } diff --git a/TrueCraft.Core/Logic/Blocks/MushroomBlock.cs b/TrueCraft.Core/Logic/Blocks/MushroomBlock.cs index 5507465..16e8938 100644 --- a/TrueCraft.Core/Logic/Blocks/MushroomBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/MushroomBlock.cs @@ -18,6 +18,8 @@ namespace TrueCraft.Core.Logic.Blocks public override byte ID { get { return 0x27; } } public override byte Luminance { get { return 1; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Brown Mushroom"; } } diff --git a/TrueCraft.Core/Logic/Blocks/PistonBlock.cs b/TrueCraft.Core/Logic/Blocks/PistonBlock.cs index 1abda7a..b23ef5c 100644 --- a/TrueCraft.Core/Logic/Blocks/PistonBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/PistonBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Piston"; } } @@ -35,6 +37,8 @@ namespace TrueCraft.Core.Logic.Blocks public override byte Luminance { get { return 0; } } + public override bool Opaque { get { return false; } } + public override string DisplayName { get { return "Sticky Piston"; } } public override Tuple GetTextureMap(byte metadata) diff --git a/TrueCraft.Core/Logic/Blocks/PortalBlock.cs b/TrueCraft.Core/Logic/Blocks/PortalBlock.cs index 83c137b..f3468f5 100644 --- a/TrueCraft.Core/Logic/Blocks/PortalBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/PortalBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return -1; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Portal"; } } diff --git a/TrueCraft.Core/Logic/Blocks/PoweredRailBlock.cs b/TrueCraft.Core/Logic/Blocks/PoweredRailBlock.cs deleted file mode 100644 index 3893821..0000000 --- a/TrueCraft.Core/Logic/Blocks/PoweredRailBlock.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using TrueCraft.API.Logic; - -namespace TrueCraft.Core.Logic.Blocks -{ - public class PoweredRailBlock : BlockProvider - { - public static readonly byte BlockID = 0x1B; - - public override byte ID { get { return 0x1B; } } - - public override double BlastResistance { get { return 3.5; } } - - public override double Hardness { get { return 0.7; } } - - public override byte Luminance { get { return 0; } } - - public override string DisplayName { get { return "Powered Rail"; } } - - public override Tuple GetTextureMap(byte metadata) - { - return new Tuple(3, 11); - } - } -} \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/PressurePlateBlock.cs b/TrueCraft.Core/Logic/Blocks/PressurePlateBlock.cs index c5930ec..d13d69e 100644 --- a/TrueCraft.Core/Logic/Blocks/PressurePlateBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/PressurePlateBlock.cs @@ -10,6 +10,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.5; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } } public class WoodenPressurePlateBlock : PressurePlateBlock diff --git a/TrueCraft.Core/Logic/Blocks/RailBlock.cs b/TrueCraft.Core/Logic/Blocks/RailBlock.cs index ba2bef3..f205154 100644 --- a/TrueCraft.Core/Logic/Blocks/RailBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RailBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0.7; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Rail"; } } @@ -22,4 +24,32 @@ namespace TrueCraft.Core.Logic.Blocks return new Tuple(0, 8); } } + + public class PoweredRailBlock : RailBlock + { + public static readonly new byte BlockID = 0x1B; + + public override byte ID { get { return 0x1B; } } + + public override string DisplayName { get { return "Powered Rail"; } } + + public override Tuple GetTextureMap(byte metadata) + { + return new Tuple(3, 11); + } + } + + public class DetectorRailBlock : RailBlock + { + public static readonly new byte BlockID = 0x1C; + + public override byte ID { get { return 0x1C; } } + + public override string DisplayName { get { return "Detector Rail"; } } + + public override Tuple GetTextureMap(byte metadata) + { + return new Tuple(3, 12); + } + } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs b/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs index 5bb5811..0e89783 100644 --- a/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Redstone Dust"; } } diff --git a/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs b/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs index 3025b28..2e84873 100644 --- a/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs @@ -30,6 +30,8 @@ namespace TrueCraft.Core.Logic.Blocks public override byte ID { get { return 0x4A; } } public override byte Luminance { get { return 9; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Redstone Ore (glowing)"; } } } diff --git a/TrueCraft.Core/Logic/Blocks/RedstoneRepeaterBlock.cs b/TrueCraft.Core/Logic/Blocks/RedstoneRepeaterBlock.cs index 8ff457c..015b86b 100644 --- a/TrueCraft.Core/Logic/Blocks/RedstoneRepeaterBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RedstoneRepeaterBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Redstone Repeater"; } } diff --git a/TrueCraft.Core/Logic/Blocks/RedstoneTorchBlock.cs b/TrueCraft.Core/Logic/Blocks/RedstoneTorchBlock.cs index 891b9df..7c1fbe6 100644 --- a/TrueCraft.Core/Logic/Blocks/RedstoneTorchBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RedstoneTorchBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 7; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Redstone Torch"; } } diff --git a/TrueCraft.Core/Logic/Blocks/RoseBlock.cs b/TrueCraft.Core/Logic/Blocks/RoseBlock.cs index 87a2b6f..31c8e1f 100644 --- a/TrueCraft.Core/Logic/Blocks/RoseBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RoseBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Rose"; } } diff --git a/TrueCraft.Core/Logic/Blocks/SaplingBlock.cs b/TrueCraft.Core/Logic/Blocks/SaplingBlock.cs index 24e3266..d9598b4 100644 --- a/TrueCraft.Core/Logic/Blocks/SaplingBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/SaplingBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Sapling"; } } diff --git a/TrueCraft.Core/Logic/Blocks/SignBlock.cs b/TrueCraft.Core/Logic/Blocks/SignBlock.cs index 372eb7f..72bb142 100644 --- a/TrueCraft.Core/Logic/Blocks/SignBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/SignBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 1; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Sign"; } } diff --git a/TrueCraft.Core/Logic/Blocks/SnowBlock.cs b/TrueCraft.Core/Logic/Blocks/SnowBlock.cs index 3ced615..6fd8da3 100644 --- a/TrueCraft.Core/Logic/Blocks/SnowBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/SnowBlock.cs @@ -35,6 +35,8 @@ namespace TrueCraft.Core.Logic.Blocks public override byte Luminance { get { return 0; } } + public override bool Opaque { get { return false; } } + public override string DisplayName { get { return "Snow"; } } public override Tuple GetTextureMap(byte metadata) diff --git a/TrueCraft.Core/Logic/Blocks/StoneSlabBlock.cs b/TrueCraft.Core/Logic/Blocks/StoneSlabBlock.cs index 4f57bbf..d639653 100644 --- a/TrueCraft.Core/Logic/Blocks/StoneSlabBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/StoneSlabBlock.cs @@ -14,7 +14,11 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 2; } } public override byte Luminance { get { return 0; } } - + + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 255; } } + public override string DisplayName { get { return "Stone Slab"; } } public override Tuple GetTextureMap(byte metadata) diff --git a/TrueCraft.Core/Logic/Blocks/StoneStairsBlock.cs b/TrueCraft.Core/Logic/Blocks/StoneStairsBlock.cs index 5413e15..e6aa611 100644 --- a/TrueCraft.Core/Logic/Blocks/StoneStairsBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/StoneStairsBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 255; } } public override string DisplayName { get { return "Stone Stairs"; } } } diff --git a/TrueCraft.Core/Logic/Blocks/SugarcaneBlock.cs b/TrueCraft.Core/Logic/Blocks/SugarcaneBlock.cs index a486ded..995f6e2 100644 --- a/TrueCraft.Core/Logic/Blocks/SugarcaneBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/SugarcaneBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Sugar cane"; } } diff --git a/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs b/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs index 92c6b3e..dc0fb97 100644 --- a/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Tall Grass"; } } diff --git a/TrueCraft.Core/Logic/Blocks/TorchBlock.cs b/TrueCraft.Core/Logic/Blocks/TorchBlock.cs index 0550c60..eca22d0 100644 --- a/TrueCraft.Core/Logic/Blocks/TorchBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/TorchBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 13; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Torch"; } } diff --git a/TrueCraft.Core/Logic/Blocks/TrapdoorBlock.cs b/TrueCraft.Core/Logic/Blocks/TrapdoorBlock.cs index b6dd4d9..85a8348 100644 --- a/TrueCraft.Core/Logic/Blocks/TrapdoorBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/TrapdoorBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 3; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Trapdoor"; } } diff --git a/TrueCraft.Core/Logic/Blocks/WaterBlock.cs b/TrueCraft.Core/Logic/Blocks/WaterBlock.cs index 150cebc..28fc2d4 100644 --- a/TrueCraft.Core/Logic/Blocks/WaterBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/WaterBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 100; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 3; } } public override string DisplayName { get { return "Water"; } } } diff --git a/TrueCraft.Core/Logic/Blocks/WoodenDoorBlock.cs b/TrueCraft.Core/Logic/Blocks/WoodenDoorBlock.cs index d1c421d..4adb34b 100644 --- a/TrueCraft.Core/Logic/Blocks/WoodenDoorBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/WoodenDoorBlock.cs @@ -14,6 +14,8 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 3; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } public override string DisplayName { get { return "Wooden Door"; } } diff --git a/TrueCraft.Core/Logic/Blocks/WoodenStairsBlock.cs b/TrueCraft.Core/Logic/Blocks/WoodenStairsBlock.cs index a632d69..83186c7 100644 --- a/TrueCraft.Core/Logic/Blocks/WoodenStairsBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/WoodenStairsBlock.cs @@ -14,6 +14,10 @@ namespace TrueCraft.Core.Logic.Blocks public override double Hardness { get { return 0; } } public override byte Luminance { get { return 0; } } + + public override bool Opaque { get { return false; } } + + public override byte LightModifier { get { return 255; } } public override string DisplayName { get { return "Wooden Stairs"; } } } diff --git a/TrueCraft.Core/TrueCraft.Core.csproj b/TrueCraft.Core/TrueCraft.Core.csproj index dccb590..ebdf719 100644 --- a/TrueCraft.Core/TrueCraft.Core.csproj +++ b/TrueCraft.Core/TrueCraft.Core.csproj @@ -1,4 +1,4 @@ - + Debug @@ -123,7 +123,6 @@ - @@ -155,7 +154,6 @@ - @@ -209,11 +207,5 @@ - - - - - - \ No newline at end of file