Table of Contents

Class BuildableItemCreator

Namespace
S1API.Items.Buildable
Assembly
S1API.dll

Provides convenient static methods for creating custom buildable items.

public static class BuildableItemCreator
Inheritance
BuildableItemCreator
Inherited Members

Remarks

Use CreateBuilder() for creating items from scratch, or CloneFrom(string) for creating variants of existing buildable items.

Methods

CloneFrom(BuildableItemDefinition)

Creates a new buildable item by cloning from an existing BuildableItemDefinition wrapper.

public static BuildableItemDefinitionBuilder CloneFrom(BuildableItemDefinition source)

Parameters

source BuildableItemDefinition

The buildable item definition to clone from.

Returns

BuildableItemDefinitionBuilder

A builder initialized with the source item's properties, ready for customization.

Examples

var originalRack = ItemManager.GetDefinition("StorageRack-1x0.5") as BuildableItemDefinition;
var metalRack = BuildableItemCreator.CloneFrom(originalRack)
    .WithBasicInfo("metal_rack_small", "Small Metal Storage Rack", "A metal version")
    .WithBuildSound(BuildSoundType.Metal)
    .Build();

CloneFrom(string)

Creates a new buildable item by cloning an existing item's properties. This is useful for creating variants of existing items (e.g., different materials, sizes).

public static BuildableItemDefinitionBuilder CloneFrom(string sourceItemId)

Parameters

sourceItemId string

The ID of the existing buildable item to clone from.

Returns

BuildableItemDefinitionBuilder

A builder initialized with the source item's properties, ready for customization.

Examples

var metalRack = BuildableItemCreator.CloneFrom("StorageRack-1x0.5")
    .WithBasicInfo("metal_rack_small", "Small Metal Storage Rack", "A metal version")
    .WithBuildSound(BuildSoundType.Metal)
    .WithPricing(72f, 0.5f)
    .Build();

CreateBuilder()

Creates a new builder for composing a buildable item definition with full flexibility. Use fluent methods to configure the item, then call Build() to register it.

public static BuildableItemDefinitionBuilder CreateBuilder()

Returns

BuildableItemDefinitionBuilder

A new BuildableItemDefinitionBuilder instance for fluent configuration.

Examples

var item = BuildableItemCreator.CreateBuilder()
    .WithBasicInfo("my_rack", "Custom Storage Rack", "A custom storage rack")
    .WithBuildSound(BuildSoundType.Metal)
    .WithPricing(75f, 0.5f)
    .Build();