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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Blocks namespace TrueCraft.Core.Logic.Blocks
{ {
public class SaplingBlock : BlockProvider public class SaplingBlock : BlockProvider, IBurnableItem
{ {
public enum SaplingType public enum SaplingType
{ {
@ -29,6 +29,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override BoundingBox? BoundingBox { get { return null; } } public override BoundingBox? BoundingBox { get { return null; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(5); } }
public override BoundingBox? InteractiveBoundingBox public override BoundingBox? InteractiveBoundingBox
{ {
get 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; public static readonly byte BlockID = 0x35;
@ -69,6 +69,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override bool Flammable { get { return true; } } public override bool Flammable { get { return true; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect public override SoundEffectClass SoundEffect
{ {
get get

View File

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

View File

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

View File

@ -4,7 +4,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Blocks namespace TrueCraft.Core.Logic.Blocks
{ {
public class WoodenPlanksBlock : BlockProvider, ICraftingRecipe public class WoodenPlanksBlock : BlockProvider, ICraftingRecipe, IBurnableItem, IBurnableItem
{ {
public static readonly byte BlockID = 0x05; public static readonly byte BlockID = 0x05;
@ -20,6 +20,8 @@ namespace TrueCraft.Core.Logic.Blocks
public override bool Flammable { get { return true; } } public override bool Flammable { get { return true; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(15); } }
public override SoundEffectClass SoundEffect public override SoundEffectClass SoundEffect
{ {
get 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; 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 override string DisplayName { get { return "Lava Bucket"; } }
public TimeSpan BurnTime { get { return TimeSpan.FromSeconds(1000); } }
protected override byte? RelevantBlockType protected override byte? RelevantBlockType
{ {
get get

View File

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