public override bool SharedCanInteract(ICharacter character, IStaticWorldObject worldObject, bool writeToLog) { if (!base.SharedCanInteract(character, worldObject, writeToLog)) { return(false); } if (LandClaimSystem.SharedIsObjectInsideOwnedOrFreeArea(worldObject, character) || CreativeModeSystem.SharedIsInCreativeMode(character)) { return(true); } // not the land owner if (writeToLog) { Logger.Warning( $"Character cannot interact with {worldObject} - not the land owner.", character); if (IsClient) { WorldObjectOwnersSystem.ClientOnCannotInteractNotOwner(worldObject); } } return(false); }