Add full list of burnable and smeltable items

This commit is contained in:
Drew DeVault 2015-10-06 07:28:00 -04:00
parent 2510c3d6b5
commit b0624e26b3
20 changed files with 65 additions and 18 deletions

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class BookshelfBlock : BlockProvider, ICraftingRecipe
public class BookshelfBlock : BlockProvider, ICraftingRecipe, IBurnableItem
{
public static readonly byte BlockID = 0x2F;
@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Bookshelf"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -11,7 +11,7 @@ using TrueCraft.Core.Entities;
namespace TrueCraft.Core.Logic.Blocks
{
public class ChestBlock : BlockProvider, ICraftingRecipe
public class ChestBlock : BlockProvider, ICraftingRecipe, IBurnableItem
{
public static readonly byte BlockID = 0x36;
@ -27,6 +27,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Chest"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class CoalOreBlock : BlockProvider
public class CoalOreBlock : BlockProvider, ISmeltableItem
{
public static readonly byte BlockID = 0x10;
@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Coal Ore"; } }
public ItemStack SmeltingOutput { get { return new ItemStack(CoalItem.ItemID); } }
public override Tuple<int, int> GetTextureMap(byte metadata)
{
return new Tuple<int, int>(2, 2);

View File

@ -7,7 +7,7 @@ using TrueCraft.Core.Windows;
namespace TrueCraft.Core.Logic.Blocks
{
public class CraftingTableBlock : BlockProvider, ICraftingRecipe
public class CraftingTableBlock : BlockProvider, ICraftingRecipe, IBurnableItem
{
public static readonly byte BlockID = 0x3A;
@ -21,6 +21,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Crafting Table"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class DiamondOreBlock : BlockProvider
public class DiamondOreBlock : BlockProvider, ISmeltableItem
{
public static readonly byte BlockID = 0x38;
@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Diamond Ore"; } }
public ItemStack SmeltingOutput { get { return new ItemStack(DiamondItem.ItemID); } }
public override ToolMaterial EffectiveToolMaterials
{
get

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class FenceBlock : BlockProvider, ICraftingRecipe
public class FenceBlock : BlockProvider, ICraftingRecipe, IBurnableItem
{
public static readonly byte BlockID = 0x55;
@ -23,6 +23,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Fence"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -51,6 +51,14 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Furnace"; } }
public override ToolType EffectiveTools
{
get
{
return ToolType.Pickaxe;
}
}
protected override ItemStack[] GetDrop(BlockDescriptor descriptor, ItemStack item)
{
return new[] { new ItemStack(BlockID) };

View File

@ -1,10 +1,11 @@
using System;
using TrueCraft.API.Logic;
using TrueCraft.API;
using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class GoldOreBlock : BlockProvider
public class GoldOreBlock : BlockProvider, ISmeltableItem
{
public static readonly byte BlockID = 0x0E;
@ -18,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Gold Ore"; } }
public ItemStack SmeltingOutput { get { return new ItemStack(GoldIngotItem.ItemID); } }
public override Tuple<int, int> GetTextureMap(byte metadata)
{
return new Tuple<int, int>(0, 2);

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class JukeboxBlock : BlockProvider, ICraftingRecipe
public class JukeboxBlock : BlockProvider, ICraftingRecipe, IBurnableItem
{
public static readonly byte BlockID = 0x54;
@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Jukebox"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override Tuple<int, int> GetTextureMap(byte metadata)
{
return new Tuple<int, int>(10, 4);

View File

@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Lapis Lazuli Ore"; } }
//public ItemStack SmeltingOutput { get { return new ItemStack(); } } // TODO: Metadata
public override Tuple<int, int> GetTextureMap(byte metadata)
{
return new Tuple<int, int>(0, 10);

View File

@ -3,7 +3,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Blocks
{
public class LockedChestBlock : BlockProvider
public class LockedChestBlock : BlockProvider, IBurnableItem
{
public static readonly byte BlockID = 0x5F;
@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Locked Chest"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class NoteBlockBlock : BlockProvider, ICraftingRecipe
public class NoteBlockBlock : BlockProvider, ICraftingRecipe, IBurnableItem
{
public static readonly byte BlockID = 0x19;
@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Note Block"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override Tuple<int, int> GetTextureMap(byte metadata)
{
return new Tuple<int, int>(10, 4);

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Items;
namespace TrueCraft.Core.Logic.Blocks
{
public class RedstoneOreBlock : BlockProvider
public class RedstoneOreBlock : BlockProvider, ISmeltableItem
{
public static readonly byte BlockID = 0x49;
@ -19,6 +19,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Redstone Ore"; } }
public ItemStack SmeltingOutput { get { return new ItemStack(RedstoneItem.ItemID); } }
public override Tuple<int, int> GetTextureMap(byte metadata)
{
return new Tuple<int, int>(3, 3);

View File

@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Blocks
{
public class SaplingBlock : BlockProvider
public class SaplingBlock : BlockProvider, IBurnableItem
{
public enum SaplingType
{
@ -29,6 +29,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override BoundingBox? BoundingBox { get { return null; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(5); } }
public override BoundingBox? InteractiveBoundingBox
{
get

View File

@ -57,7 +57,7 @@ namespace TrueCraft.Core.Logic.Blocks
}
}
public class WoodenStairsBlock : StairsBlock, ICraftingRecipe
public class WoodenStairsBlock : StairsBlock, ICraftingRecipe, IBurnableItem
{
public static readonly byte BlockID = 0x35;
@ -69,6 +69,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override bool Flammable { get { return true; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -6,7 +6,7 @@ using TrueCraft.API.Networking;
namespace TrueCraft.Core.Logic.Blocks
{
public class TrapdoorBlock : BlockProvider, ICraftingRecipe
public class TrapdoorBlock : BlockProvider, ICraftingRecipe, IBurnableItem
{
public enum TrapdoorDirection
{
@ -37,6 +37,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override string DisplayName { get { return "Trapdoor"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -3,7 +3,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Blocks
{
public class WoodBlock : BlockProvider
public class WoodBlock : BlockProvider, IBurnableItem
{
public enum WoodType
{
@ -26,6 +26,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override bool Flammable { get { return true; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -4,7 +4,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Blocks
{
public class WoodenPlanksBlock : BlockProvider, ICraftingRecipe
public class WoodenPlanksBlock : BlockProvider, ICraftingRecipe, IBurnableItem, IBurnableItem
{
public static readonly byte BlockID = 0x05;
@ -20,6 +20,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override bool Flammable { get { return true; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect
{
get

View File

@ -68,7 +68,7 @@ namespace TrueCraft.Core.Logic.Items
}
}
public class LavaBucketItem : BucketItem
public class LavaBucketItem : BucketItem, IBurnableItem
{
public static readonly new short ItemID = 0x147;
@ -76,6 +76,8 @@ namespace TrueCraft.Core.Logic.Items
public override string DisplayName { get { return "Lava Bucket"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(1000); } }
protected override byte? RelevantBlockType
{
get

View File

@ -5,7 +5,7 @@ using TrueCraft.Core.Logic.Blocks;
namespace TrueCraft.Core.Logic.Items
{
public class StickItem : ItemProvider, ICraftingRecipe
public class StickItem : ItemProvider, ICraftingRecipe, IBurnableItem
{
public static readonly short ItemID = 0x118;
@ -18,6 +18,8 @@ namespace TrueCraft.Core.Logic.Items
public override string DisplayName { get { return "Stick"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(5); } }
public ItemStack[,] Pattern
{
get