This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2015-09-30 18:29:07 -04:00

335 lines
11 KiB
C#

using System;
using TrueCraft.API.Logic;
using TrueCraft.API;
using TrueCraft.Core.Logic.Blocks;
namespace TrueCraft.Core.Logic.Items
{
public class DyeItem : ItemProvider
{
public enum DyeType
{
InkSac = 0,
RoseRed = 1,
CactusGreen = 2,
CocoaBeans = 3,
LapisLazuli = 4,
PurpleDye = 5,
CyanDye = 6,
LightGrayDye = 7,
GrayDye = 8,
PinkDye = 9,
LimeDye = 10,
DandelionYellow = 11,
LightBlueDye = 12,
MagentaDye = 13,
BoneMeal = 14
}
public static readonly short ItemID = 0x15F;
public override short ID { get { return 0x15F; } }
public override Tuple<int, int> GetIconTexture(byte metadata)
{
// TODO: Support additional textures
return new Tuple<int, int>(14, 4);
}
public override string DisplayName { get { return "Dye"; } }
public class BoneMealRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,] { { new ItemStack(BoneItem.ItemID) } };
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.BoneMeal); } }
public bool SignificantMetadata { get { return false; } }
}
public class LightGrayDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.InkSac),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.BoneMeal),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.BoneMeal),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.LightGrayDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class GrayDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.InkSac),
ItemStack.EmptyStack,
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.BoneMeal),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.GrayDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class RoseRedRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(RoseBlock.BlockID),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.RoseRed); } }
public bool SignificantMetadata { get { return false; } }
}
public class OrangeDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.DandelionYellow),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.RoseRed),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.RoseRed); } }
public bool SignificantMetadata { get { return true; } }
}
public class DandelionYellowRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DandelionBlock.BlockID)
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.DandelionYellow); } }
public bool SignificantMetadata { get { return false; } }
}
public class LimeDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.CactusGreen),
ItemStack.EmptyStack,
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.BoneMeal),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.LimeDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class LightBlueDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.LapisLazuli),
ItemStack.EmptyStack,
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.BoneMeal),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.LightBlueDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class CyanDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.LapisLazuli),
ItemStack.EmptyStack,
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.CactusGreen),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.CyanDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class PurpleDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.LapisLazuli),
ItemStack.EmptyStack,
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.RoseRed),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.PurpleDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class MagentaDyeRecipe1 : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.PurpleDye),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.PinkDye),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.MagentaDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class MagentaDyeRecipe2 : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.LapisLazuli),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.BoneMeal),
new ItemStack(DyeItem.ItemID, 2, (short)DyeItem.DyeType.RoseRed),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.MagentaDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class MagentaDyeRecipe3 : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.LapisLazuli),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.PinkDye),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.RoseRed),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.MagentaDye); } }
public bool SignificantMetadata { get { return true; } }
}
public class PinkDyeRecipe : ICraftingRecipe
{
public ItemStack[,] Pattern
{
get
{
return new[,]
{
{
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.BoneMeal),
new ItemStack(DyeItem.ItemID, 1, (short)DyeItem.DyeType.RoseRed),
}
};
}
}
public ItemStack Output { get { return new ItemStack(ItemID, 1, (short)DyeItem.DyeType.PinkDye); } }
public bool SignificantMetadata { get { return true; } }
}
}
}