RustTip

OnMixingTableFinished

OxideCarbonEntity

Called when a mixing table finishes.

void OnMixingTableFinished(MixingTable mixingTable, BasePlayer mixStartingPlayer, Recipe recipe, int quantity)
Works — the game method in this build is the one the hook was written for.

Parameters

mixingTable
MixingTable
mixStartingPlayer
BasePlayer
recipe
Recipe
quantity
int

Return value

voidThe return value is ignored — the hook only notifies.

Example

private void OnMixingTableFinished(MixingTable mixingTable, BasePlayer mixStartingPlayer, Recipe recipe, int quantity)
{
    Puts("OnMixingTableFinished");
}

Works in both Oxide and Carbon: Carbon loads Oxide plugins as is.

Injection point

Rust.opj (Oxide)
void MixingTable.ProduceItem(Recipe, int)

Passes: MixingTable mixingTable, BasePlayer mixStartingPlayer, Recipe recipe, int quantity

WorksReturnBehavior: ContinueArgumentBehavior: UseArgumentString (this, this.MixStartingPlayer, a0, a1)Assembly-CSharp.dll

Where it is called (this branch's game code)

private void ProduceItem(Recipe recipe, int quantity)
{
	pendingItemId = recipe.ProducedItem.itemid;
	StopMixing();
	ConsumeInventory(recipe, quantity);
	CreateRecipeItems(recipe, quantity);
Interface.CallHook("OnMixingTableFinished", this, this.MixStartingPlayer, recipe, quantity);
}

Sources: Rust.opj from OxideMod/Oxide.Rust (MIT) and hook metadata of the Carbon documentation (MIT). Method code is decompiled from this branch's server.