using UnityEngine; //You'll probably need this...

namespace Mod
{
    public class Mod
    {
        public static void OnLoad()
        {
            // Optional initialization method - runs when mod is first loaded
        }

        public static void OnUnload()
        {
            // Optional cleanup method - runs when mod is unloaded/game closes
        }

        public static void Main()
        {
            // register item to the mod api
            ModAPI.Register(
                new Modification()
                {
                    OriginalItem = ModAPI.FindSpawnable("Power Hammer"), //item to derive from (better physics than Brick)
                    NameOverride = "SledgeHammer", //new item name
                    DescriptionOverride = "A heavy demolition sledgehammer.", //new item description
                    CategoryOverride = ModAPI.FindCategory("Melee"), //new item category
                    ThumbnailOverride = ModAPI.LoadSprite("sledgeHammerView.png"), //new item thumbnail (relative path)
                    AfterSpawn = (Instance) => //all code in the AfterSpawn delegate will be executed when the item is spawned
                    {
                        Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("sledgeHammer.png"); //get the SpriteRenderer and replace its sprite with a custom one

                        var physical = Instance.GetComponent<PhysicalBehaviour>();
                        if (physical != null)
                        {
                            physical.InitialMass = 8f; //make it heavier for realistic sledgehammer feel
                            physical.TrueInitialMass = 8f; //ensure the mass is actually applied
                        }

                        Instance.FixColliders(); //fix colliders to match new sprite
                    }
                }
            );
        }
    }
}
