public void RecalculateAttributes(IItemStack stack) { ModularItemHelper.RecalculateAttributes(stack, api.World); ItemStack headstack = GetToolheadStack(stack); int tooltier = 0; if (headstack != null) { headstack.ResolveBlockOrItem(api.World); ToolPart part = (ToolPart)headstack.Item; if (part != null) { tooltier = part.TinkerProps.ToolTier; } } if (tooltier != 0) { stack.Attributes.SetInt("tooltier", tooltier); } else { stack.Attributes.RemoveAttribute("tooltier"); } }
public override float GetMiningSpeed(IItemStack itemstack, Block block, IPlayer forPlayer) { ItemStack partstack = ModularItemHelper.GetToolheadStack(itemstack); ToolPart part = null; if (partstack != null) { partstack.ResolveBlockOrItem(api.World); part = (ToolPart)partstack.Item; } if (part != null) { return(part.GetMiningSpeed(itemstack, block, forPlayer)); } return(base.GetMiningSpeed(itemstack, block, forPlayer)); }
private static string BuildMeshId(ClientMain game, ItemStack stack) { string result = stack.Item.Code.ToString().Replace(':', '.'); IModularItem item = stack.Item as IModularItem; if (item != null) { var slots = ModularItemHelper.GetSlots(stack, game); foreach (var slot in slots) { if (slot.Value != null) { result = result + "." + BuildMeshId(game, slot.Value); } } } return(result); }
public bool HasNeededParts(ItemStack stack) { return(ModularItemHelper.HasNeededParts(stack)); }
public int GetToolTier(IItemStack stack) { return(ModularItemHelper.GetToolTier(stack)); }
public ItemStack GetToolheadStack(IItemStack stack) { return(ModularItemHelper.GetToolheadStack(stack)); }
public Dictionary <string, ItemStack> GetSlots(IItemStack stack) { return(ModularItemHelper.GetSlots(stack, api.World)); }
public SlotDefinition[] GetSlotDefinitions() { return(ModularItemHelper.GetSlotDefinitions(this)); }
public bool AddPart(IItemStack stack, string slotName, ItemStack partstack) { return(ModularItemHelper.AddPart(stack, slotName, partstack)); }
public override void DamageItem(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, int amount = 1) { ModularItemHelper.DamageTool(world, byEntity, itemslot, amount); }
public override void OnLoaded(ICoreAPI api) { base.OnLoaded(api); ModularItemHelper.OnLoaded(api, this); }
public ItemStack RemovePart(IItemStack stack, string slot) { return(ModularItemHelper.RemovePart(stack, slot)); }
public virtual void RecalculateAttributes(IItemStack stack) { ModularItemHelper.RecalculateAttributes(stack, api.World); }
public ItemStack RemovePart(IItemStack parent, string slot) { return(ModularItemHelper.RemovePart(parent, slot)); }
public override int GetDurability(IItemStack itemstack) { return(ModularItemHelper.GetDurability(itemstack)); }