RustTip

OnWireClear

OxideCarbonPlayer

Called when wire clear occurs.

object OnWireClear(BasePlayer ply, IOEntity iOEntity, int clearIndex, object l1, bool isInput)
Works — the game method in this build is the one the hook was written for.

Parameters

ply
BasePlayer
iOEntity
IOEntity
clearIndex
int
l1
object
isInput
bool

Return value

objectThe returned value replaces the game result; null lets the game decide.

Example

object — you can affect the game: return a value to change or cancel the action.

private object OnWireClear(BasePlayer ply, IOEntity iOEntity, int clearIndex, object l1, bool isInput)
{
    Puts("OnWireClear");

    // change nothing — the game continues as usual
    return null;

    // to affect the game:
    // return false; // your value instead of the game result
}

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

Injection point

Rust.opj (Oxide)
void WireTool.AttemptClearSlot(BaseNetworkable, BasePlayer, int, bool)

Passes: BasePlayer ply, IOEntity iOEntity, int clearIndex, object l1, bool isInput

WorksReturnBehavior: ExitWhenValidTypeArgumentBehavior: UseArgumentString (a1, l0, a2, l1, a3)Assembly-CSharp.dll

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.