feat: add initial People Playground mod development kit
This commit is contained in:
45
SledgeHammer/script.cs
Normal file
45
SledgeHammer/script.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user