RustTip

OnItemCraftCancelled

OxideCarbonItem

Called when an item craft is cancelled.

void OnItemCraftCancelled(ItemCraftTask local1, ItemCrafter itemCrafter)
Работает — метод игры в этой сборке тот же, под который написан хук.

Параметры

local1
ItemCraftTask
itemCrafter
ItemCrafter

Возвращаемое значение

voidВозвращаемое значение игнорируется — хук только уведомляет.

Пример

private void OnItemCraftCancelled(ItemCraftTask local1, ItemCrafter itemCrafter)
{
    Puts("OnItemCraftCancelled");
}

Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.

Место встраивания

Rust.opj (Oxide)
bool ItemCrafter.CancelTask(int)

Передаёт: ItemCraftTask local1, ItemCrafter itemCrafter

РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (l1,this)Assembly-CSharp.dll

Где вызывается (код игры этой ветки)

// …
{
	return false;
}
itemCraftTask.cancelled = true;
if (owner == null)
{
	return true;
}
Interface.CallHook("OnItemCraftCancelled", itemCraftTask, this);
owner.Command("note.craft_done", itemCraftTask.taskUID, 0);
if (itemCraftTask.takenItems != null && itemCraftTask.takenItems.Count > 0)
{
	foreach (Item takenItem in itemCraftTask.takenItems)
	{
		if (takenItem != null && takenItem.amount > 0)
		{
			if (takenItem.IsBlueprint() && takenItem.blueprintTargetDef == itemCraftTask.blueprint.targetItem)
// …

Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.