Skip to content

Creating Items Distribution

Konijima edited this page May 12, 2023 · 2 revisions

Create your distribution file in lua/server/<ModID>/distribution.ts

Example

import { KahluaTable } from "PipeWrench"
import { onPostDistributionMerge } from "PipeWrench-Events"

Add items to SuburbsDistributions

const SuburbsDistributions = _G.SuburbsDistributions

table.insert(SuburbsDistributions.all.inventorymale.items, "Baseball")
table.insert(SuburbsDistributions.all.inventorymale.items, 66)

Add items to ProceduralDistributions

const ProceduralDistributions = _G.ProceduralDistributions

table.insert(ProceduralDistributions.list.Antiques.items, "Baseball")
table.insert(ProceduralDistributions.list.Antiques.items, 66)

Remove items from distribution

// Create typing for RemoveItemFromDistribution function
type RemoveItemFromDistributionFunction = (_dist: KahluaTable, _item: string, _chance: number, _dorecursive: boolean) => void
    
// Get global function RemoveItemFromDistribution
const RemoveItemFromDistribution = getGlobal<RemoveItemFromDistributionFunction>("RemoveItemFromDistribution")

// Remove items from distribution
onPostDistributionMerge.addListener(() => {
    RemoveItemFromDistribution(SuburbsDistributions, "Baseball", 66, true)
    RemoveItemFromDistribution(ProceduralDistributions, "Baseball", 66, true)
})

Clone this wiki locally