diff --git a/TrueCraft.API/ToolMaterial.cs b/TrueCraft.API/ToolMaterial.cs
index 9b1aadb..1f27122 100644
--- a/TrueCraft.API/ToolMaterial.cs
+++ b/TrueCraft.API/ToolMaterial.cs
@@ -7,6 +7,7 @@ namespace TrueCraft.API
{
public enum ToolMaterial
{
+ None,
Wood,
Stone,
Iron,
diff --git a/TrueCraft.Core/Logic/Items/AppleItem.cs b/TrueCraft.Core/Logic/Items/AppleItem.cs
index 6ad12d0..5674de4 100644
--- a/TrueCraft.Core/Logic/Items/AppleItem.cs
+++ b/TrueCraft.Core/Logic/Items/AppleItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x104; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override float Restores { get { return 2; } }
public override string DisplayName { get { return "Apple"; } }
diff --git a/TrueCraft.Core/Logic/Items/ArmourItem.cs b/TrueCraft.Core/Logic/Items/ArmourItem.cs
index 4499743..388b0ea 100644
--- a/TrueCraft.Core/Logic/Items/ArmourItem.cs
+++ b/TrueCraft.Core/Logic/Items/ArmourItem.cs
@@ -10,6 +10,10 @@ namespace TrueCraft.Core.Logic.Items
{
public abstract ArmourMaterial Material { get; }
+ public virtual short BaseDurability { get { return 0; } }
+
+ public abstract float BaseArmour { get; }
+
public override sbyte MaximumStack { get { return 1; } }
}
}
diff --git a/TrueCraft.Core/Logic/Items/ArrowItem.cs b/TrueCraft.Core/Logic/Items/ArrowItem.cs
index dd8c6e2..5be8a03 100644
--- a/TrueCraft.Core/Logic/Items/ArrowItem.cs
+++ b/TrueCraft.Core/Logic/Items/ArrowItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x106; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Arrow"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/BoneItem.cs b/TrueCraft.Core/Logic/Items/BoneItem.cs
index 9a0a8d7..b930efa 100644
--- a/TrueCraft.Core/Logic/Items/BoneItem.cs
+++ b/TrueCraft.Core/Logic/Items/BoneItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x160; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Bone"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/BowlItem.cs b/TrueCraft.Core/Logic/Items/BowlItem.cs
index 3df33f2..f3ed4f0 100644
--- a/TrueCraft.Core/Logic/Items/BowlItem.cs
+++ b/TrueCraft.Core/Logic/Items/BowlItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x119; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Bowl"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/BreadItem.cs b/TrueCraft.Core/Logic/Items/BreadItem.cs
index 936048c..38f4ebd 100644
--- a/TrueCraft.Core/Logic/Items/BreadItem.cs
+++ b/TrueCraft.Core/Logic/Items/BreadItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x129; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override float Restores { get { return 2.5f; } }
public override string DisplayName { get { return "Bread"; } }
diff --git a/TrueCraft.Core/Logic/Items/BrickItem.cs b/TrueCraft.Core/Logic/Items/BrickItem.cs
index 99d0a43..25e731d 100644
--- a/TrueCraft.Core/Logic/Items/BrickItem.cs
+++ b/TrueCraft.Core/Logic/Items/BrickItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x150; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Brick"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/BucketItem.cs b/TrueCraft.Core/Logic/Items/BucketItem.cs
index 70d619a..5ef63a4 100644
--- a/TrueCraft.Core/Logic/Items/BucketItem.cs
+++ b/TrueCraft.Core/Logic/Items/BucketItem.cs
@@ -3,24 +3,22 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Items
{
- public class BucketItem : ItemProvider
+ public class BucketItem : ToolItem
{
public static readonly short ItemID = 0x145;
public override short ID { get { return 0x145; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override string DisplayName { get { return "Bucket"; } }
}
- public class LavabucketItem : BucketItem
+ public class LavaBucketItem : BucketItem
{
public static readonly new short ItemID = 0x147;
public override short ID { get { return 0x147; } }
- public override string DisplayName { get { return "Lava bucket"; } }
+ public override string DisplayName { get { return "Lava Bucket"; } }
}
public class MilkItem : BucketItem
diff --git a/TrueCraft.Core/Logic/Items/CakeItem.cs b/TrueCraft.Core/Logic/Items/CakeItem.cs
index 7d46e83..6e9cd88 100644
--- a/TrueCraft.Core/Logic/Items/CakeItem.cs
+++ b/TrueCraft.Core/Logic/Items/CakeItem.cs
@@ -9,8 +9,7 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x162; } }
- public override sbyte MaximumStack { get { return 1; } }
-
+ //This is per "slice"
public override float Restores { get { return 1.5f; } }
public override string DisplayName { get { return "Cake"; } }
diff --git a/TrueCraft.Core/Logic/Items/ChainBootsItem.cs b/TrueCraft.Core/Logic/Items/ChainBootsItem.cs
index bf491bc..7946f9b 100644
--- a/TrueCraft.Core/Logic/Items/ChainBootsItem.cs
+++ b/TrueCraft.Core/Logic/Items/ChainBootsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Chain; } }
+ public override short BaseDurability { get { return 79; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Chain Boots"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/ChainChestplateItem.cs b/TrueCraft.Core/Logic/Items/ChainChestplateItem.cs
index 96700ab..80dab32 100644
--- a/TrueCraft.Core/Logic/Items/ChainChestplateItem.cs
+++ b/TrueCraft.Core/Logic/Items/ChainChestplateItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Chain; } }
+ public override short BaseDurability { get { return 96; } }
+
+ public override float BaseArmour { get { return 4; } }
+
public override string DisplayName { get { return "Chain Chestplate"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/ChainHelmetItem.cs b/TrueCraft.Core/Logic/Items/ChainHelmetItem.cs
index f812e1a..0843581 100644
--- a/TrueCraft.Core/Logic/Items/ChainHelmetItem.cs
+++ b/TrueCraft.Core/Logic/Items/ChainHelmetItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Chain; } }
+ public override short BaseDurability { get { return 67; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Chain Helmet"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/ChainLeggingsItem.cs b/TrueCraft.Core/Logic/Items/ChainLeggingsItem.cs
index eedceb9..73022e4 100644
--- a/TrueCraft.Core/Logic/Items/ChainLeggingsItem.cs
+++ b/TrueCraft.Core/Logic/Items/ChainLeggingsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Chain; } }
+ public override short BaseDurability { get { return 92; } }
+
+ public override float BaseArmour { get { return 3; } }
+
public override string DisplayName { get { return "Chain Leggings"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/ClayItem.cs b/TrueCraft.Core/Logic/Items/ClayItem.cs
index b3ee21b..7381d27 100644
--- a/TrueCraft.Core/Logic/Items/ClayItem.cs
+++ b/TrueCraft.Core/Logic/Items/ClayItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x151; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Clay"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/ClockItem.cs b/TrueCraft.Core/Logic/Items/ClockItem.cs
index 69582f3..bef7b1b 100644
--- a/TrueCraft.Core/Logic/Items/ClockItem.cs
+++ b/TrueCraft.Core/Logic/Items/ClockItem.cs
@@ -3,14 +3,12 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Items
{
- public class ClockItem : ItemProvider
+ public class ClockItem : ToolItem
{
public static readonly short ItemID = 0x15B;
public override short ID { get { return 0x15B; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Clock"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/CoalItem.cs b/TrueCraft.Core/Logic/Items/CoalItem.cs
index 936acce..4b99248 100644
--- a/TrueCraft.Core/Logic/Items/CoalItem.cs
+++ b/TrueCraft.Core/Logic/Items/CoalItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x107; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Coal"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/CompassItem.cs b/TrueCraft.Core/Logic/Items/CompassItem.cs
index f243e75..61e35a1 100644
--- a/TrueCraft.Core/Logic/Items/CompassItem.cs
+++ b/TrueCraft.Core/Logic/Items/CompassItem.cs
@@ -3,14 +3,12 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Items
{
- public class CompassItem : ItemProvider
+ public class CompassItem : ToolItem
{
public static readonly short ItemID = 0x159;
public override short ID { get { return 0x159; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Compass"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/CookedFishItem.cs b/TrueCraft.Core/Logic/Items/CookedFishItem.cs
index 04a0d71..82a468a 100644
--- a/TrueCraft.Core/Logic/Items/CookedFishItem.cs
+++ b/TrueCraft.Core/Logic/Items/CookedFishItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x15E; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override float Restores { get { return 2.5f; } }
public override string DisplayName { get { return "Cooked Fish"; } }
diff --git a/TrueCraft.Core/Logic/Items/CookedPorkchopItem.cs b/TrueCraft.Core/Logic/Items/CookedPorkchopItem.cs
index aa6025b..7816684 100644
--- a/TrueCraft.Core/Logic/Items/CookedPorkchopItem.cs
+++ b/TrueCraft.Core/Logic/Items/CookedPorkchopItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x140; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override float Restores { get { return 4; } }
public override string DisplayName { get { return "Cooked Porkchop"; } }
diff --git a/TrueCraft.Core/Logic/Items/DiamondAxeItem.cs b/TrueCraft.Core/Logic/Items/DiamondAxeItem.cs
index 85290f1..6c2939f 100644
--- a/TrueCraft.Core/Logic/Items/DiamondAxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondAxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class DiamondAxeItem : ToolItem
+ public class DiamondAxeItem : AxeItem
{
public static readonly short ItemID = 0x117;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Diamond; } }
+ public override short BaseDurability { get { return 1562; } }
+
public override string DisplayName { get { return "Diamond Axe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondBootsItem.cs b/TrueCraft.Core/Logic/Items/DiamondBootsItem.cs
index ce06ed3..26dca32 100644
--- a/TrueCraft.Core/Logic/Items/DiamondBootsItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondBootsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Diamond; } }
+ public override short BaseDurability { get { return 320; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Diamond Boots"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondChestplateItem.cs b/TrueCraft.Core/Logic/Items/DiamondChestplateItem.cs
index b033273..79dfcd5 100644
--- a/TrueCraft.Core/Logic/Items/DiamondChestplateItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondChestplateItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Diamond; } }
+ public override short BaseDurability { get { return 384; } }
+
+ public override float BaseArmour { get { return 4; } }
+
public override string DisplayName { get { return "Diamond Chestplate"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondHelmetItem.cs b/TrueCraft.Core/Logic/Items/DiamondHelmetItem.cs
index b9474b4..fce2539 100644
--- a/TrueCraft.Core/Logic/Items/DiamondHelmetItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondHelmetItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Diamond; } }
+ public override short BaseDurability { get { return 272; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Diamond Helmet"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondHoeItem.cs b/TrueCraft.Core/Logic/Items/DiamondHoeItem.cs
index 29d418e..7afa444 100644
--- a/TrueCraft.Core/Logic/Items/DiamondHoeItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondHoeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class DiamondHoeItem : ToolItem
+ public class DiamondHoeItem : HoeItem
{
public static readonly short ItemID = 0x125;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Diamond; } }
+ public override short BaseDurability { get { return 1562; } }
+
public override string DisplayName { get { return "Diamond Hoe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondItem.cs b/TrueCraft.Core/Logic/Items/DiamondItem.cs
index 777f67f..6a8c59b 100644
--- a/TrueCraft.Core/Logic/Items/DiamondItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x108; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Diamond"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondLeggingsItem.cs b/TrueCraft.Core/Logic/Items/DiamondLeggingsItem.cs
index 4021c7c..f4581de 100644
--- a/TrueCraft.Core/Logic/Items/DiamondLeggingsItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondLeggingsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Diamond; } }
+ public override short BaseDurability { get { return 368; } }
+
+ public override float BaseArmour { get { return 3; } }
+
public override string DisplayName { get { return "Diamond Leggings"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondPickaxeItem.cs b/TrueCraft.Core/Logic/Items/DiamondPickaxeItem.cs
index 2d16c66..dd70e5c 100644
--- a/TrueCraft.Core/Logic/Items/DiamondPickaxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondPickaxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class DiamondPickaxeItem : ToolItem
+ public class DiamondPickaxeItem : PickaxeItem
{
public static readonly short ItemID = 0x116;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Diamond; } }
+ public override short BaseDurability { get { return 1562; } }
+
public override string DisplayName { get { return "Diamond Pickaxe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondShovelItem.cs b/TrueCraft.Core/Logic/Items/DiamondShovelItem.cs
index d0f51fd..15056c0 100644
--- a/TrueCraft.Core/Logic/Items/DiamondShovelItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondShovelItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class DiamondShovelItem : ToolItem
+ public class DiamondShovelItem : ShovelItem
{
public static readonly short ItemID = 0x115;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Diamond; } }
+ public override short BaseDurability { get { return 1562; } }
+
public override string DisplayName { get { return "Diamond Shovel"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DiamondSwordItem.cs b/TrueCraft.Core/Logic/Items/DiamondSwordItem.cs
index a9a6568..08f2f95 100644
--- a/TrueCraft.Core/Logic/Items/DiamondSwordItem.cs
+++ b/TrueCraft.Core/Logic/Items/DiamondSwordItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class DiamondSwordItem : ToolItem
+ public class DiamondSwordItem : SwordItem
{
public static readonly short ItemID = 0x114;
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Diamond; } }
+ public override short BaseDurability { get { return 1562; } }
+
+ public override float Damage { get { return 5.5f; } }
+
public override string DisplayName { get { return "Diamond Sword"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DoorItem.cs b/TrueCraft.Core/Logic/Items/DoorItem.cs
new file mode 100644
index 0000000..fc96a73
--- /dev/null
+++ b/TrueCraft.Core/Logic/Items/DoorItem.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TrueCraft.Core.Logic.Items
+{
+ public abstract class DoorItem : ItemProvider
+ {
+ public override sbyte MaximumStack { get { return 1; } }
+ }
+
+ public class IronDoorItem : DoorItem
+ {
+ public static readonly short ItemID = 0x14A;
+
+ public override short ID { get { return 0x14A; } }
+
+ public override string DisplayName { get { return "Iron Door"; } }
+ }
+
+ public class WoodenDoorItem : DoorItem
+ {
+ public static readonly short ItemID = 0x144;
+
+ public override short ID { get { return 0x144; } }
+
+ public override string DisplayName { get { return "Wooden Door"; } }
+ }
+}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/DyeItem.cs b/TrueCraft.Core/Logic/Items/DyeItem.cs
index 2df5c92..7459bc8 100644
--- a/TrueCraft.Core/Logic/Items/DyeItem.cs
+++ b/TrueCraft.Core/Logic/Items/DyeItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x15F; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Dye"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/FeatherItem.cs b/TrueCraft.Core/Logic/Items/FeatherItem.cs
index f3bcfd4..1a60a3f 100644
--- a/TrueCraft.Core/Logic/Items/FeatherItem.cs
+++ b/TrueCraft.Core/Logic/Items/FeatherItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x120; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Feather"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/FishingRodItem.cs b/TrueCraft.Core/Logic/Items/FishingRodItem.cs
index 233e1f6..023dc46 100644
--- a/TrueCraft.Core/Logic/Items/FishingRodItem.cs
+++ b/TrueCraft.Core/Logic/Items/FishingRodItem.cs
@@ -3,7 +3,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Items
{
- public class FishingRodItem : ItemProvider
+ public class FishingRodItem : ToolItem
{
public static readonly short ItemID = 0x15A;
@@ -11,6 +11,8 @@ namespace TrueCraft.Core.Logic.Items
public override sbyte MaximumStack { get { return 1; } }
+ public override short BaseDurability { get { return 65; } }
+
public override string DisplayName { get { return "Fishing Rod"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/FlintItem.cs b/TrueCraft.Core/Logic/Items/FlintItem.cs
index cf6230f..f01217a 100644
--- a/TrueCraft.Core/Logic/Items/FlintItem.cs
+++ b/TrueCraft.Core/Logic/Items/FlintItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x13E; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Flint"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/FlintandSteelItem.cs b/TrueCraft.Core/Logic/Items/FlintandSteelItem.cs
index ae71171..ec5554e 100644
--- a/TrueCraft.Core/Logic/Items/FlintandSteelItem.cs
+++ b/TrueCraft.Core/Logic/Items/FlintandSteelItem.cs
@@ -3,7 +3,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Items
{
- public class FlintandSteelItem : ItemProvider
+ public class FlintAndSteelItem : ToolItem
{
public static readonly short ItemID = 0x103;
@@ -11,6 +11,8 @@ namespace TrueCraft.Core.Logic.Items
public override sbyte MaximumStack { get { return 1; } }
+ public override short BaseDurability { get { return 65; } }
+
public override string DisplayName { get { return "Flint and Steel"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/FoodItem.cs b/TrueCraft.Core/Logic/Items/FoodItem.cs
index 7399f4d..eb0a916 100644
--- a/TrueCraft.Core/Logic/Items/FoodItem.cs
+++ b/TrueCraft.Core/Logic/Items/FoodItem.cs
@@ -11,5 +11,8 @@ namespace TrueCraft.Core.Logic.Items
/// The amount of health this food restores.
///
public abstract float Restores { get; }
+
+ //Most foods aren't stackable
+ public override sbyte MaximumStack { get { return 1; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GlowstoneDustItem.cs b/TrueCraft.Core/Logic/Items/GlowstoneDustItem.cs
index df1e79a..04aadde 100644
--- a/TrueCraft.Core/Logic/Items/GlowstoneDustItem.cs
+++ b/TrueCraft.Core/Logic/Items/GlowstoneDustItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x15C; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Glowstone Dust"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldIngotItem.cs b/TrueCraft.Core/Logic/Items/GoldIngotItem.cs
index 10972d4..9c74db8 100644
--- a/TrueCraft.Core/Logic/Items/GoldIngotItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldIngotItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x10A; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Gold Ingot"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenAppleItem.cs b/TrueCraft.Core/Logic/Items/GoldenAppleItem.cs
index 10b5843..82be115 100644
--- a/TrueCraft.Core/Logic/Items/GoldenAppleItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenAppleItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x142; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override float Restores { get { return 10; } }
public override string DisplayName { get { return "Golden Apple"; } }
diff --git a/TrueCraft.Core/Logic/Items/GoldenAxeItem.cs b/TrueCraft.Core/Logic/Items/GoldenAxeItem.cs
index ed104d6..0f9d19c 100644
--- a/TrueCraft.Core/Logic/Items/GoldenAxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenAxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class GoldenAxeItem : ToolItem
+ public class GoldenAxeItem : AxeItem
{
public static readonly short ItemID = 0x11E;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Gold; } }
+ public override short BaseDurability { get { return 33; } }
+
public override string DisplayName { get { return "Golden Axe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenBootsItem.cs b/TrueCraft.Core/Logic/Items/GoldenBootsItem.cs
index 4092844..f85317f 100644
--- a/TrueCraft.Core/Logic/Items/GoldenBootsItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenBootsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Gold; } }
- public override string DisplayName { get { return "Golden boots"; } }
+ public override short BaseDurability { get { return 80; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
+ public override string DisplayName { get { return "Golden Boots"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenChestplateItem.cs b/TrueCraft.Core/Logic/Items/GoldenChestplateItem.cs
index 9bb5237..9d85f1d 100644
--- a/TrueCraft.Core/Logic/Items/GoldenChestplateItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenChestplateItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Gold; } }
+ public override short BaseDurability { get { return 96; } }
+
+ public override float BaseArmour { get { return 4; } }
+
public override string DisplayName { get { return "Golden Chestplate"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenHelmetItem.cs b/TrueCraft.Core/Logic/Items/GoldenHelmetItem.cs
index 1575e75..77db865 100644
--- a/TrueCraft.Core/Logic/Items/GoldenHelmetItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenHelmetItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Gold; } }
+ public override short BaseDurability { get { return 68; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Golden Helmet"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenHoeItem.cs b/TrueCraft.Core/Logic/Items/GoldenHoeItem.cs
index 3acf7b6..8f450a9 100644
--- a/TrueCraft.Core/Logic/Items/GoldenHoeItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenHoeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class GoldenHoeItem : ToolItem
+ public class GoldenHoeItem : HoeItem
{
public static readonly short ItemID = 0x126;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Gold; } }
+ public override short BaseDurability { get { return 33; } }
+
public override string DisplayName { get { return "Golden Hoe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenLeggingsItem.cs b/TrueCraft.Core/Logic/Items/GoldenLeggingsItem.cs
index a78fa8b..cdeb3bd 100644
--- a/TrueCraft.Core/Logic/Items/GoldenLeggingsItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenLeggingsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Gold; } }
+ public override short BaseDurability { get { return 92; } }
+
+ public override float BaseArmour { get { return 3; } }
+
public override string DisplayName { get { return "Golden Leggings"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenPickaxeItem.cs b/TrueCraft.Core/Logic/Items/GoldenPickaxeItem.cs
index a1dbb90..23261f5 100644
--- a/TrueCraft.Core/Logic/Items/GoldenPickaxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenPickaxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class GoldenPickaxeItem : ToolItem
+ public class GoldenPickaxeItem : PickaxeItem
{
public static readonly short ItemID = 0x11D;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Gold; } }
+ public override short BaseDurability { get { return 33; } }
+
public override string DisplayName { get { return "Golden Pickaxe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenShovelItem.cs b/TrueCraft.Core/Logic/Items/GoldenShovelItem.cs
index ec6f865..53e4580 100644
--- a/TrueCraft.Core/Logic/Items/GoldenShovelItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenShovelItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class GoldenShovelItem : ToolItem
+ public class GoldenShovelItem : ShovelItem
{
public static readonly short ItemID = 0x11C;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Gold; } }
+ public override short BaseDurability { get { return 33; } }
+
public override string DisplayName { get { return "Golden Shovel"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GoldenSwordItem.cs b/TrueCraft.Core/Logic/Items/GoldenSwordItem.cs
index fd2297e..ec40854 100644
--- a/TrueCraft.Core/Logic/Items/GoldenSwordItem.cs
+++ b/TrueCraft.Core/Logic/Items/GoldenSwordItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class GoldenSwordItem : ToolItem
+ public class GoldenSwordItem : SwordItem
{
public static readonly short ItemID = 0x11B;
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Gold; } }
+ public override short BaseDurability { get { return 33; } }
+
+ public override float Damage { get { return 2.5f; } }
+
public override string DisplayName { get { return "Golden Sword"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/GunpowderItem.cs b/TrueCraft.Core/Logic/Items/GunpowderItem.cs
index 7bfbb10..0676f9f 100644
--- a/TrueCraft.Core/Logic/Items/GunpowderItem.cs
+++ b/TrueCraft.Core/Logic/Items/GunpowderItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x121; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Gunpowder"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronAxeItem.cs b/TrueCraft.Core/Logic/Items/IronAxeItem.cs
index 1b9760d..662dbb3 100644
--- a/TrueCraft.Core/Logic/Items/IronAxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronAxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class IronAxeItem : ToolItem
+ public class IronAxeItem : AxeItem
{
public static readonly short ItemID = 0x102;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Iron; } }
+ public override short BaseDurability { get { return 251; } }
+
public override string DisplayName { get { return "Iron Axe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronBootsItem.cs b/TrueCraft.Core/Logic/Items/IronBootsItem.cs
index 64278f5..f2f3012 100644
--- a/TrueCraft.Core/Logic/Items/IronBootsItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronBootsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Iron; } }
+ public override short BaseDurability { get { return 160; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Iron Boots"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronChestplateItem.cs b/TrueCraft.Core/Logic/Items/IronChestplateItem.cs
index 9dc6df9..9fc34c7 100644
--- a/TrueCraft.Core/Logic/Items/IronChestplateItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronChestplateItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Iron; } }
+ public override short BaseDurability { get { return 192; } }
+
+ public override float BaseArmour { get { return 4; } }
+
public override string DisplayName { get { return "Iron Chestplate"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronDoorItem.cs b/TrueCraft.Core/Logic/Items/IronDoorItem.cs
deleted file mode 100644
index 93df811..0000000
--- a/TrueCraft.Core/Logic/Items/IronDoorItem.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-using TrueCraft.API.Logic;
-
-namespace TrueCraft.Core.Logic.Items
-{
- public class IronDoorItem : ItemProvider
- {
- public static readonly short ItemID = 0x14A;
-
- public override short ID { get { return 0x14A; } }
-
- public override sbyte MaximumStack { get { return 1; } }
-
- public override string DisplayName { get { return "Iron Door"; } }
- }
-}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronHelmetItem.cs b/TrueCraft.Core/Logic/Items/IronHelmetItem.cs
index 2bab98f..893d044 100644
--- a/TrueCraft.Core/Logic/Items/IronHelmetItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronHelmetItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Iron; } }
+ public override short BaseDurability { get { return 136; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Iron Helmet"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronHoeItem.cs b/TrueCraft.Core/Logic/Items/IronHoeItem.cs
index 97f98ba..fe2d24f 100644
--- a/TrueCraft.Core/Logic/Items/IronHoeItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronHoeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class IronHoeItem : ToolItem
+ public class IronHoeItem : HoeItem
{
public static readonly short ItemID = 0x124;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Iron; } }
+ public override short BaseDurability { get { return 251; } }
+
public override string DisplayName { get { return "Iron Hoe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronIngotItem.cs b/TrueCraft.Core/Logic/Items/IronIngotItem.cs
index d02f917..ec615e6 100644
--- a/TrueCraft.Core/Logic/Items/IronIngotItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronIngotItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x109; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Iron Ingot"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronLeggingsItem.cs b/TrueCraft.Core/Logic/Items/IronLeggingsItem.cs
index 65de182..8861734 100644
--- a/TrueCraft.Core/Logic/Items/IronLeggingsItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronLeggingsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Iron; } }
+ public override short BaseDurability { get { return 184; } }
+
+ public override float BaseArmour { get { return 3; } }
+
public override string DisplayName { get { return "Iron Leggings"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronPickaxeItem.cs b/TrueCraft.Core/Logic/Items/IronPickaxeItem.cs
index 62d736d..3ac85f6 100644
--- a/TrueCraft.Core/Logic/Items/IronPickaxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronPickaxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class IronPickaxeItem : ToolItem
+ public class IronPickaxeItem : PickaxeItem
{
public static readonly short ItemID = 0x101;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Iron; } }
+ public override short BaseDurability { get { return 251; } }
+
public override string DisplayName { get { return "Iron Pickaxe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronShovelItem.cs b/TrueCraft.Core/Logic/Items/IronShovelItem.cs
index 0765546..abd2d0a 100644
--- a/TrueCraft.Core/Logic/Items/IronShovelItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronShovelItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class IronShovelItem : ToolItem
+ public class IronShovelItem : ShovelItem
{
public static readonly short ItemID = 0x100;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Iron; } }
+ public override short BaseDurability { get { return 251; } }
+
public override string DisplayName { get { return "Iron Shovel"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/IronSwordItem.cs b/TrueCraft.Core/Logic/Items/IronSwordItem.cs
index ddc994d..3356b5d 100644
--- a/TrueCraft.Core/Logic/Items/IronSwordItem.cs
+++ b/TrueCraft.Core/Logic/Items/IronSwordItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class IronSwordItem : ToolItem
+ public class IronSwordItem : SwordItem
{
public static readonly short ItemID = 0x10B;
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Iron; } }
+ public override short BaseDurability { get { return 251; } }
+
+ public override float Damage { get { return 4.5f; } }
+
public override string DisplayName { get { return "Iron Sword"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/LeatherBootsItem.cs b/TrueCraft.Core/Logic/Items/LeatherBootsItem.cs
index 8e52b71..9bf5f8c 100644
--- a/TrueCraft.Core/Logic/Items/LeatherBootsItem.cs
+++ b/TrueCraft.Core/Logic/Items/LeatherBootsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Leather; } }
+ public override short BaseDurability { get { return 40; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Leather Boots"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/LeatherCapItem.cs b/TrueCraft.Core/Logic/Items/LeatherCapItem.cs
index caa4e69..b6f6a79 100644
--- a/TrueCraft.Core/Logic/Items/LeatherCapItem.cs
+++ b/TrueCraft.Core/Logic/Items/LeatherCapItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Leather; } }
+ public override short BaseDurability { get { return 34; } }
+
+ public override float BaseArmour { get { return 1.5f; } }
+
public override string DisplayName { get { return "Leather Cap"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/LeatherItem.cs b/TrueCraft.Core/Logic/Items/LeatherItem.cs
index 717d743..812a77f 100644
--- a/TrueCraft.Core/Logic/Items/LeatherItem.cs
+++ b/TrueCraft.Core/Logic/Items/LeatherItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x14E; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Leather"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/LeatherPantsItem.cs b/TrueCraft.Core/Logic/Items/LeatherPantsItem.cs
index 9fbdc70..0555994 100644
--- a/TrueCraft.Core/Logic/Items/LeatherPantsItem.cs
+++ b/TrueCraft.Core/Logic/Items/LeatherPantsItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Leather; } }
+ public override short BaseDurability { get { return 46; } }
+
+ public override float BaseArmour { get { return 3; } }
+
public override string DisplayName { get { return "Leather Pants"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/LeatherTunicItem.cs b/TrueCraft.Core/Logic/Items/LeatherTunicItem.cs
index d625947..aaba203 100644
--- a/TrueCraft.Core/Logic/Items/LeatherTunicItem.cs
+++ b/TrueCraft.Core/Logic/Items/LeatherTunicItem.cs
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ArmourMaterial Material { get { return ArmourMaterial.Leather; } }
+ public override short BaseDurability { get { return 49; } }
+
+ public override float BaseArmour { get { return 4; } }
+
public override string DisplayName { get { return "Leather Tunic"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/MapItem.cs b/TrueCraft.Core/Logic/Items/MapItem.cs
index 5938b43..7b90748 100644
--- a/TrueCraft.Core/Logic/Items/MapItem.cs
+++ b/TrueCraft.Core/Logic/Items/MapItem.cs
@@ -3,7 +3,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Items
{
- public class MapItem : ItemProvider
+ public class MapItem : ToolItem
{
public static readonly short ItemID = 0x166;
diff --git a/TrueCraft.Core/Logic/Items/MinecartItem.cs b/TrueCraft.Core/Logic/Items/MinecartItem.cs
index 98c19af..3504bdc 100644
--- a/TrueCraft.Core/Logic/Items/MinecartItem.cs
+++ b/TrueCraft.Core/Logic/Items/MinecartItem.cs
@@ -14,7 +14,7 @@ namespace TrueCraft.Core.Logic.Items
public override string DisplayName { get { return "Minecart"; } }
}
- public class MinecartwithChestItem : MinecartItem
+ public class MinecartWithChestItem : MinecartItem
{
public static readonly short ItemID = 0x156;
@@ -23,7 +23,7 @@ namespace TrueCraft.Core.Logic.Items
public override string DisplayName { get { return "Minecart with Chest"; } }
}
- public class MinecartwithFurnaceItem : MinecartItem
+ public class MinecartWithFurnaceItem : MinecartItem
{
public static readonly short ItemID = 0x157;
diff --git a/TrueCraft.Core/Logic/Items/PaintingItem.cs b/TrueCraft.Core/Logic/Items/PaintingItem.cs
index 9eac446..69e9029 100644
--- a/TrueCraft.Core/Logic/Items/PaintingItem.cs
+++ b/TrueCraft.Core/Logic/Items/PaintingItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x141; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Painting"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/PaperItem.cs b/TrueCraft.Core/Logic/Items/PaperItem.cs
index 0017245..6e067ab 100644
--- a/TrueCraft.Core/Logic/Items/PaperItem.cs
+++ b/TrueCraft.Core/Logic/Items/PaperItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x153; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Paper"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/RawFishItem.cs b/TrueCraft.Core/Logic/Items/RawFishItem.cs
index 285c967..f94659b 100644
--- a/TrueCraft.Core/Logic/Items/RawFishItem.cs
+++ b/TrueCraft.Core/Logic/Items/RawFishItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x15D; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override float Restores { get { return 1; } }
public override string DisplayName { get { return "Raw Fish"; } }
diff --git a/TrueCraft.Core/Logic/Items/RawPorkchopItem.cs b/TrueCraft.Core/Logic/Items/RawPorkchopItem.cs
index 0bae822..e805027 100644
--- a/TrueCraft.Core/Logic/Items/RawPorkchopItem.cs
+++ b/TrueCraft.Core/Logic/Items/RawPorkchopItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x13F; } }
- public override sbyte MaximumStack { get { return 1; } }
-
public override float Restores { get { return 1.5f; } }
public override string DisplayName { get { return "Raw Porkchop"; } }
diff --git a/TrueCraft.Core/Logic/Items/RedstoneItem.cs b/TrueCraft.Core/Logic/Items/RedstoneItem.cs
index 65c8802..9031629 100644
--- a/TrueCraft.Core/Logic/Items/RedstoneItem.cs
+++ b/TrueCraft.Core/Logic/Items/RedstoneItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x14B; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Redstone"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/RedstoneRepeaterItem.cs b/TrueCraft.Core/Logic/Items/RedstoneRepeaterItem.cs
index 3a1775f..7c801b2 100644
--- a/TrueCraft.Core/Logic/Items/RedstoneRepeaterItem.cs
+++ b/TrueCraft.Core/Logic/Items/RedstoneRepeaterItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x164; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Redstone Repeater"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/SeedsItem.cs b/TrueCraft.Core/Logic/Items/SeedsItem.cs
index 1692805..40216fc 100644
--- a/TrueCraft.Core/Logic/Items/SeedsItem.cs
+++ b/TrueCraft.Core/Logic/Items/SeedsItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x127; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Seeds"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/ShearsItem.cs b/TrueCraft.Core/Logic/Items/ShearsItem.cs
index f6ade81..97f505f 100644
--- a/TrueCraft.Core/Logic/Items/ShearsItem.cs
+++ b/TrueCraft.Core/Logic/Items/ShearsItem.cs
@@ -3,7 +3,7 @@ using TrueCraft.API.Logic;
namespace TrueCraft.Core.Logic.Items
{
- public class ShearsItem : ItemProvider
+ public class ShearsItem : ToolItem
{
public static readonly short ItemID = 0x167;
@@ -11,6 +11,8 @@ namespace TrueCraft.Core.Logic.Items
public override sbyte MaximumStack { get { return 1; } }
+ public override short BaseDurability { get { return 239; } }
+
public override string DisplayName { get { return "Shears"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/SlimeballItem.cs b/TrueCraft.Core/Logic/Items/SlimeballItem.cs
index c254100..fd96721 100644
--- a/TrueCraft.Core/Logic/Items/SlimeballItem.cs
+++ b/TrueCraft.Core/Logic/Items/SlimeballItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x155; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Slimeball"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/StickItem.cs b/TrueCraft.Core/Logic/Items/StickItem.cs
index c076953..f8759bf 100644
--- a/TrueCraft.Core/Logic/Items/StickItem.cs
+++ b/TrueCraft.Core/Logic/Items/StickItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x118; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Stick"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/StoneAxeItem.cs b/TrueCraft.Core/Logic/Items/StoneAxeItem.cs
index 003047c..79116cf 100644
--- a/TrueCraft.Core/Logic/Items/StoneAxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/StoneAxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class StoneAxeItem : ToolItem
+ public class StoneAxeItem : AxeItem
{
public static readonly short ItemID = 0x113;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Stone; } }
+ public override short BaseDurability { get { return 132; } }
+
public override string DisplayName { get { return "Stone Axe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/StoneHoeItem.cs b/TrueCraft.Core/Logic/Items/StoneHoeItem.cs
index 248f4e8..a691fd4 100644
--- a/TrueCraft.Core/Logic/Items/StoneHoeItem.cs
+++ b/TrueCraft.Core/Logic/Items/StoneHoeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class StoneHoeItem : ToolItem
+ public class StoneHoeItem : HoeItem
{
public static readonly short ItemID = 0x123;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Stone; } }
+ public override short BaseDurability { get { return 132; } }
+
public override string DisplayName { get { return "Stone Hoe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/StonePickaxeItem.cs b/TrueCraft.Core/Logic/Items/StonePickaxeItem.cs
index 088d3ca..6616bf9 100644
--- a/TrueCraft.Core/Logic/Items/StonePickaxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/StonePickaxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class StonePickaxeItem : ToolItem
+ public class StonePickaxeItem : PickaxeItem
{
public static readonly short ItemID = 0x112;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Stone; } }
+ public override short BaseDurability { get { return 132; } }
+
public override string DisplayName { get { return "Stone Pickaxe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/StoneShovelItem.cs b/TrueCraft.Core/Logic/Items/StoneShovelItem.cs
index 96b6014..8cbebf5 100644
--- a/TrueCraft.Core/Logic/Items/StoneShovelItem.cs
+++ b/TrueCraft.Core/Logic/Items/StoneShovelItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class StoneShovelItem : ToolItem
+ public class StoneShovelItem : ShovelItem
{
public static readonly short ItemID = 0x111;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Stone; } }
+ public override short BaseDurability { get { return 132; } }
+
public override string DisplayName { get { return "Stone Shovel"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/StoneSwordItem.cs b/TrueCraft.Core/Logic/Items/StoneSwordItem.cs
index 4f2eb33..56e68de 100644
--- a/TrueCraft.Core/Logic/Items/StoneSwordItem.cs
+++ b/TrueCraft.Core/Logic/Items/StoneSwordItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class StoneSwordItem : ToolItem
+ public class StoneSwordItem : SwordItem
{
public static readonly short ItemID = 0x110;
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Stone; } }
+ public override short BaseDurability { get { return 132; } }
+
+ public override float Damage { get { return 3.5f; } }
+
public override string DisplayName { get { return "Stone Sword"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/StringItem.cs b/TrueCraft.Core/Logic/Items/StringItem.cs
index 0a91f18..3434e78 100644
--- a/TrueCraft.Core/Logic/Items/StringItem.cs
+++ b/TrueCraft.Core/Logic/Items/StringItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x11F; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "String"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/SugarCanesItem.cs b/TrueCraft.Core/Logic/Items/SugarCanesItem.cs
index f01b77b..1d65330 100644
--- a/TrueCraft.Core/Logic/Items/SugarCanesItem.cs
+++ b/TrueCraft.Core/Logic/Items/SugarCanesItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x152; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Sugar Canes"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/SugarItem.cs b/TrueCraft.Core/Logic/Items/SugarItem.cs
index eb86ab2..96a25e7 100644
--- a/TrueCraft.Core/Logic/Items/SugarItem.cs
+++ b/TrueCraft.Core/Logic/Items/SugarItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x161; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Sugar"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/ToolItem.cs b/TrueCraft.Core/Logic/Items/ToolItem.cs
index efd4465..18ce907 100644
--- a/TrueCraft.Core/Logic/Items/ToolItem.cs
+++ b/TrueCraft.Core/Logic/Items/ToolItem.cs
@@ -8,8 +8,34 @@ namespace TrueCraft.Core.Logic
{
public abstract class ToolItem : ItemProvider
{
- public abstract ToolMaterial Material { get; }
+ public virtual ToolMaterial Material { get { return ToolMaterial.None; } }
+
+ public virtual short BaseDurability { get { return 0; } }
public override sbyte MaximumStack { get { return 1; } }
}
+
+ public abstract class AxeItem : ToolItem
+ {
+
+ }
+
+ public abstract class HoeItem : ToolItem
+ {
+
+ }
+
+ public abstract class PickaxeItem : ToolItem
+ {
+
+ }
+
+ public abstract class ShovelItem : ToolItem
+ {
+ }
+
+ public abstract class SwordItem : ToolItem
+ {
+ public abstract float Damage { get; }
+ }
}
diff --git a/TrueCraft.Core/Logic/Items/WheatItem.cs b/TrueCraft.Core/Logic/Items/WheatItem.cs
index bc98e4c..48acffd 100644
--- a/TrueCraft.Core/Logic/Items/WheatItem.cs
+++ b/TrueCraft.Core/Logic/Items/WheatItem.cs
@@ -9,8 +9,6 @@ namespace TrueCraft.Core.Logic.Items
public override short ID { get { return 0x128; } }
- public override sbyte MaximumStack { get { return 64; } }
-
public override string DisplayName { get { return "Wheat"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/WoodenAxeItem.cs b/TrueCraft.Core/Logic/Items/WoodenAxeItem.cs
index 6ba0d92..ecc6aaf 100644
--- a/TrueCraft.Core/Logic/Items/WoodenAxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/WoodenAxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class WoodenAxeItem : ToolItem
+ public class WoodenAxeItem : AxeItem
{
public static readonly short ItemID = 0x10F;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Wood; } }
+ public override short BaseDurability { get { return 60; } }
+
public override string DisplayName { get { return "Wooden Axe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/WoodenDoorItem.cs b/TrueCraft.Core/Logic/Items/WoodenDoorItem.cs
deleted file mode 100644
index 0a7eec5..0000000
--- a/TrueCraft.Core/Logic/Items/WoodenDoorItem.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-using TrueCraft.API.Logic;
-
-namespace TrueCraft.Core.Logic.Items
-{
- public class WoodenDoorItem : ItemProvider
- {
- public static readonly short ItemID = 0x144;
-
- public override short ID { get { return 0x144; } }
-
- public override sbyte MaximumStack { get { return 1; } }
-
- public override string DisplayName { get { return "Wooden Door"; } }
- }
-}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/WoodenHoeItem.cs b/TrueCraft.Core/Logic/Items/WoodenHoeItem.cs
index d0f94c0..6b6e86e 100644
--- a/TrueCraft.Core/Logic/Items/WoodenHoeItem.cs
+++ b/TrueCraft.Core/Logic/Items/WoodenHoeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class WoodenHoeItem : ToolItem
+ public class WoodenHoeItem : HoeItem
{
public static readonly short ItemID = 0x122;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Wood; } }
+ public override short BaseDurability { get { return 60; } }
+
public override string DisplayName { get { return "Wooden Hoe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/WoodenPickaxeItem.cs b/TrueCraft.Core/Logic/Items/WoodenPickaxeItem.cs
index 6503cd8..9a62a39 100644
--- a/TrueCraft.Core/Logic/Items/WoodenPickaxeItem.cs
+++ b/TrueCraft.Core/Logic/Items/WoodenPickaxeItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class WoodenPickaxeItem : ToolItem
+ public class WoodenPickaxeItem : PickaxeItem
{
public static readonly short ItemID = 0x10E;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Wood; } }
+ public override short BaseDurability { get { return 60; } }
+
public override string DisplayName { get { return "Wooden Pickaxe"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/WoodenShovelItem.cs b/TrueCraft.Core/Logic/Items/WoodenShovelItem.cs
index 94af817..6893044 100644
--- a/TrueCraft.Core/Logic/Items/WoodenShovelItem.cs
+++ b/TrueCraft.Core/Logic/Items/WoodenShovelItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class WoodenShovelItem : ToolItem
+ public class WoodenShovelItem : ShovelItem
{
public static readonly short ItemID = 0x10D;
@@ -12,6 +12,8 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Wood; } }
+ public override short BaseDurability { get { return 60; } }
+
public override string DisplayName { get { return "Wooden Shovel"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/Logic/Items/WoodenSwordItem.cs b/TrueCraft.Core/Logic/Items/WoodenSwordItem.cs
index 0ea13b5..22d8ab0 100644
--- a/TrueCraft.Core/Logic/Items/WoodenSwordItem.cs
+++ b/TrueCraft.Core/Logic/Items/WoodenSwordItem.cs
@@ -4,7 +4,7 @@ using TrueCraft.API;
namespace TrueCraft.Core.Logic.Items
{
- public class WoodenSwordItem : ToolItem
+ public class WoodenSwordItem : SwordItem
{
public static readonly short ItemID = 0x10C;
@@ -12,6 +12,10 @@ namespace TrueCraft.Core.Logic.Items
public override ToolMaterial Material { get { return ToolMaterial.Wood; } }
+ public override short BaseDurability { get { return 60; } }
+
+ public override float Damage { get { return 2.5f; } }
+
public override string DisplayName { get { return "Wooden Sword"; } }
}
}
\ No newline at end of file
diff --git a/TrueCraft.Core/TrueCraft.Core.csproj b/TrueCraft.Core/TrueCraft.Core.csproj
index 70958f7..5264de2 100644
--- a/TrueCraft.Core/TrueCraft.Core.csproj
+++ b/TrueCraft.Core/TrueCraft.Core.csproj
@@ -70,11 +70,12 @@
+
-
+
@@ -93,7 +94,6 @@
-
@@ -134,7 +134,6 @@
-