diff --git a/TrueCraft.Core/Logic/Blocks/CoalOreBlock.cs b/TrueCraft.Core/Logic/Blocks/CoalOreBlock.cs index dbcadb6..7df3d36 100644 --- a/TrueCraft.Core/Logic/Blocks/CoalOreBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/CoalOreBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; +using TrueCraft.Core.Logic.Items; namespace TrueCraft.Core.Logic.Blocks { @@ -21,5 +23,10 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(2, 2); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(CoalItem.ItemID, 1, descriptor.Metadata) }; + } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs b/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs index e926975..8b98918 100644 --- a/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/CobwebBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; +using TrueCraft.Core.Logic.Items; namespace TrueCraft.Core.Logic.Blocks { @@ -25,5 +27,10 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(11, 0); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(StringItem.ItemID, 1, descriptor.Metadata) }; + } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/DiamondOreBlock.cs b/TrueCraft.Core/Logic/Blocks/DiamondOreBlock.cs index 6e43c99..8984885 100644 --- a/TrueCraft.Core/Logic/Blocks/DiamondOreBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/DiamondOreBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; +using TrueCraft.Core.Logic.Items; namespace TrueCraft.Core.Logic.Blocks { @@ -21,5 +23,10 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(2, 3); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(DiamondItem.ItemID, 1, descriptor.Metadata) }; + } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs b/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs index d0ff127..572d23a 100644 --- a/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/GlowstoneBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; +using TrueCraft.Core.Logic.Items; namespace TrueCraft.Core.Logic.Blocks { @@ -23,5 +25,10 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(9, 6); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(GlowstoneDustItem.ItemID, (sbyte)new Random().Next(2, 4), descriptor.Metadata) }; + } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/GravelBlock.cs b/TrueCraft.Core/Logic/Blocks/GravelBlock.cs index e3dffb5..84522d2 100644 --- a/TrueCraft.Core/Logic/Blocks/GravelBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/GravelBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; +using TrueCraft.Core.Logic.Items; namespace TrueCraft.Core.Logic.Blocks { @@ -21,5 +23,14 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(3, 1); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + //Gravel has a 10% chance of dropping flint. + if (MathHelper.Random.Next(10) == 0) + return new[] { new ItemStack(FlintItem.ItemID, 1, descriptor.Metadata) }; + else + return new ItemStack[0]; + } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/IceBlock.cs b/TrueCraft.Core/Logic/Blocks/IceBlock.cs index 72ec51a..b88c762 100644 --- a/TrueCraft.Core/Logic/Blocks/IceBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/IceBlock.cs @@ -1,5 +1,8 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; +using TrueCraft.API.World; +using TrueCraft.API.Networking; namespace TrueCraft.Core.Logic.Blocks { @@ -26,7 +29,7 @@ namespace TrueCraft.Core.Logic.Blocks return new Tuple(3, 4); } - public override void BlockMined(BlockDescriptor descriptor, API.BlockFace face, API.World.IWorld world, API.Networking.IRemoteClient user) + public override void BlockMined(BlockDescriptor descriptor, BlockFace face, IWorld world, IRemoteClient user) { world.SetBlockID(descriptor.Coordinates, WaterBlock.BlockID); } diff --git a/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs b/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs index 0e89783..331cb05 100644 --- a/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RedstoneDustBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.Core.Logic.Items; +using TrueCraft.API; namespace TrueCraft.Core.Logic.Blocks { @@ -23,5 +25,10 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(4, 10); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(RedstoneItem.ItemID, 1, descriptor.Metadata) }; + } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs b/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs index 2e84873..3acfdba 100644 --- a/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/RedstoneOreBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; +using TrueCraft.Core.Logic.Items; namespace TrueCraft.Core.Logic.Blocks { @@ -21,6 +23,11 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(3, 3); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(RedstoneItem.ItemID, (sbyte)new Random().Next(4, 5), descriptor.Metadata) }; + } } public class GlowingRedstoneOreBlock : RedstoneOreBlock diff --git a/TrueCraft.Core/Logic/Blocks/StoneBlock.cs b/TrueCraft.Core/Logic/Blocks/StoneBlock.cs index a398c1e..afc672e 100644 --- a/TrueCraft.Core/Logic/Blocks/StoneBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/StoneBlock.cs @@ -1,5 +1,6 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.API; namespace TrueCraft.Core.Logic.Blocks { @@ -21,5 +22,10 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(1, 0); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(CobblestoneBlock.BlockID, 1, descriptor.Metadata) }; + } } } \ No newline at end of file diff --git a/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs b/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs index dc0fb97..900c40f 100644 --- a/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs +++ b/TrueCraft.Core/Logic/Blocks/TallGrassBlock.cs @@ -1,5 +1,7 @@ using System; using TrueCraft.API.Logic; +using TrueCraft.Core.Logic.Items; +using TrueCraft.API; namespace TrueCraft.Core.Logic.Blocks { @@ -23,5 +25,10 @@ namespace TrueCraft.Core.Logic.Blocks { return new Tuple(7, 2); } + + protected override ItemStack[] GetDrop(BlockDescriptor descriptor) + { + return new[] { new ItemStack(SeedsItem.ItemID, (sbyte)new Random().Next(0, 1), descriptor.Metadata) }; + } } } \ No newline at end of file